R Under development (unstable) (2023-12-20 r85711 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") Loading required package: future [13:14:00.106] plan(): Setting new future strategy stack: [13:14:00.107] List of future strategies: [13:14:00.107] 1. sequential: [13:14:00.107] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.107] - tweaked: FALSE [13:14:00.107] - call: future::plan("sequential") [13:14:00.120] plan(): nbrOfWorkers() = 1 > > message("*** future_sapply() ...") *** future_sapply() ... > > xs <- list( + A = c(a = 1, b = 2, c = 3), + B = c(a = 1:2, b = 2:3, c = 3:4), + C = letters[1:3], + D = structure(10 * 5:8, names = LETTERS[1:4]) + ) > > FUNS <- list( + a = identity, + b = as.matrix, + c = function(x, y = 2 * 1:5) outer(rep(x, length.out = 3L), y) + ) > > for (strategy in supportedStrategies()) { + message(sprintf("*** strategy = %s ...", sQuote(strategy))) + plan(strategy) + + for (x in xs) { + FUNS_x <- FUNS + if (!is.numeric(x)) FUNS_x[["c"]] <- NULL + + for (USE.NAMES in list(FALSE, TRUE)) { + for (simplify in list(FALSE, TRUE, "array")) { + for (FUN in FUNS_x) { + y0 <- sapply(x, FUN = FUN, + USE.NAMES = USE.NAMES, simplify = simplify) + y1 <- future_sapply(x, FUN = FUN, + USE.NAMES = USE.NAMES, simplify = simplify) + str(list(y0 = y0, y1 = y1)) + stopifnot(identical(y1, y0)) + if (identical(simplify, FALSE)) { + y2 <- lapply(x, FUN = FUN) + str(list(y0 = y0, y2 = y2)) + stopifnot(identical(unname(y2), unname(y0))) + } + } + } + } + } + + y0 <- sapply(1:3, FUN = "sqrt") + y1 <- future_sapply(1:3, FUN = "sqrt") + stopifnot(identical(y1, y0)) + + ## https://github.com/HenrikBengtsson/future.apply/issues/61 + compute <- function(a, x_vec) a + x_vec + call_compute <- function(..., x_vec = 1:2){ + compute_with_dots <- function(x) compute(..., x_vec = x) + future_sapply(x_vec, FUN = compute_with_dots) + } + y <- call_compute(0L) + print(y) + stopifnot(identical(y, 1:2)) + + plan(sequential) + message(sprintf("*** strategy = %s ... done", sQuote(strategy))) + } ## for (strategy in ...) *** strategy = 'sequential' ... [13:14:00.148] plan(): Setting new future strategy stack: [13:14:00.148] List of future strategies: [13:14:00.148] 1. sequential: [13:14:00.148] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.148] - tweaked: FALSE [13:14:00.148] - call: plan(strategy) [13:14:00.159] plan(): nbrOfWorkers() = 1 [13:14:00.159] future_lapply() ... [13:14:00.162] Number of chunks: 1 [13:14:00.162] getGlobalsAndPackagesXApply() ... [13:14:00.163] - future.globals: TRUE [13:14:00.163] getGlobalsAndPackages() ... [13:14:00.163] Searching for globals... [13:14:00.166] - globals found: [1] 'FUN' [13:14:00.166] Searching for globals ... DONE [13:14:00.167] Resolving globals: FALSE [13:14:00.167] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:00.168] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:00.168] - globals: [1] 'FUN' [13:14:00.168] [13:14:00.169] getGlobalsAndPackages() ... DONE [13:14:00.169] - globals found/used: [n=1] 'FUN' [13:14:00.169] - needed namespaces: [n=0] [13:14:00.169] Finding globals ... DONE [13:14:00.169] - use_args: TRUE [13:14:00.169] - Getting '...' globals ... [13:14:00.170] resolve() on list ... [13:14:00.170] recursive: 0 [13:14:00.171] length: 1 [13:14:00.171] elements: '...' [13:14:00.171] length: 0 (resolved future 1) [13:14:00.171] resolve() on list ... DONE [13:14:00.171] - '...' content: [n=0] [13:14:00.171] List of 1 [13:14:00.171] $ ...: list() [13:14:00.171] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.171] - attr(*, "where")=List of 1 [13:14:00.171] ..$ ...: [13:14:00.171] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.171] - attr(*, "resolved")= logi TRUE [13:14:00.171] - attr(*, "total_size")= num NA [13:14:00.176] - Getting '...' globals ... DONE [13:14:00.176] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.176] List of 2 [13:14:00.176] $ ...future.FUN:function (x) [13:14:00.176] $ ... : list() [13:14:00.176] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.176] - attr(*, "where")=List of 2 [13:14:00.176] ..$ ...future.FUN: [13:14:00.176] ..$ ... : [13:14:00.176] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.176] - attr(*, "resolved")= logi FALSE [13:14:00.176] - attr(*, "total_size")= num 848 [13:14:00.179] Packages to be attached in all futures: [n=0] [13:14:00.179] getGlobalsAndPackagesXApply() ... DONE [13:14:00.180] Number of futures (= number of chunks): 1 [13:14:00.180] Launching 1 futures (chunks) ... [13:14:00.180] Chunk #1 of 1 ... [13:14:00.180] - Finding globals in 'X' for chunk #1 ... [13:14:00.180] getGlobalsAndPackages() ... [13:14:00.181] Searching for globals... [13:14:00.181] [13:14:00.181] Searching for globals ... DONE [13:14:00.181] - globals: [0] [13:14:00.181] getGlobalsAndPackages() ... DONE [13:14:00.181] + additional globals found: [n=0] [13:14:00.182] + additional namespaces needed: [n=0] [13:14:00.182] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.182] - seeds: [13:14:00.182] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.182] getGlobalsAndPackages() ... [13:14:00.182] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.183] Resolving globals: FALSE [13:14:00.183] Tweak future expression to call with '...' arguments ... [13:14:00.183] { [13:14:00.183] do.call(function(...) { [13:14:00.183] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.183] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.183] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.183] on.exit(options(oopts), add = TRUE) [13:14:00.183] } [13:14:00.183] { [13:14:00.183] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.183] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.183] ...future.FUN(...future.X_jj, ...) [13:14:00.183] }) [13:14:00.183] } [13:14:00.183] }, args = future.call.arguments) [13:14:00.183] } [13:14:00.183] Tweak future expression to call with '...' arguments ... DONE [13:14:00.184] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.184] [13:14:00.184] getGlobalsAndPackages() ... DONE [13:14:00.185] run() for 'Future' ... [13:14:00.185] - state: 'created' [13:14:00.185] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.185] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.186] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.186] - Field: 'label' [13:14:00.186] - Field: 'local' [13:14:00.186] - Field: 'owner' [13:14:00.186] - Field: 'envir' [13:14:00.186] - Field: 'packages' [13:14:00.187] - Field: 'gc' [13:14:00.187] - Field: 'conditions' [13:14:00.187] - Field: 'expr' [13:14:00.187] - Field: 'uuid' [13:14:00.187] - Field: 'seed' [13:14:00.187] - Field: 'version' [13:14:00.187] - Field: 'result' [13:14:00.188] - Field: 'asynchronous' [13:14:00.188] - Field: 'calls' [13:14:00.188] - Field: 'globals' [13:14:00.188] - Field: 'stdout' [13:14:00.188] - Field: 'earlySignal' [13:14:00.188] - Field: 'lazy' [13:14:00.188] - Field: 'state' [13:14:00.189] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.189] - Launch lazy future ... [13:14:00.189] Packages needed by the future expression (n = 0): [13:14:00.190] Packages needed by future strategies (n = 0): [13:14:00.190] { [13:14:00.190] { [13:14:00.190] { [13:14:00.190] ...future.startTime <- base::Sys.time() [13:14:00.190] { [13:14:00.190] { [13:14:00.190] { [13:14:00.190] base::local({ [13:14:00.190] has_future <- base::requireNamespace("future", [13:14:00.190] quietly = TRUE) [13:14:00.190] if (has_future) { [13:14:00.190] ns <- base::getNamespace("future") [13:14:00.190] version <- ns[[".package"]][["version"]] [13:14:00.190] if (is.null(version)) [13:14:00.190] version <- utils::packageVersion("future") [13:14:00.190] } [13:14:00.190] else { [13:14:00.190] version <- NULL [13:14:00.190] } [13:14:00.190] if (!has_future || version < "1.8.0") { [13:14:00.190] info <- base::c(r_version = base::gsub("R version ", [13:14:00.190] "", base::R.version$version.string), [13:14:00.190] platform = base::sprintf("%s (%s-bit)", [13:14:00.190] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.190] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.190] "release", "version")], collapse = " "), [13:14:00.190] hostname = base::Sys.info()[["nodename"]]) [13:14:00.190] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.190] info) [13:14:00.190] info <- base::paste(info, collapse = "; ") [13:14:00.190] if (!has_future) { [13:14:00.190] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.190] info) [13:14:00.190] } [13:14:00.190] else { [13:14:00.190] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.190] info, version) [13:14:00.190] } [13:14:00.190] base::stop(msg) [13:14:00.190] } [13:14:00.190] }) [13:14:00.190] } [13:14:00.190] options(future.plan = NULL) [13:14:00.190] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.190] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.190] } [13:14:00.190] ...future.workdir <- getwd() [13:14:00.190] } [13:14:00.190] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.190] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.190] } [13:14:00.190] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.190] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.190] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.190] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.190] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.190] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.190] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.190] base::names(...future.oldOptions)) [13:14:00.190] } [13:14:00.190] if (FALSE) { [13:14:00.190] } [13:14:00.190] else { [13:14:00.190] if (TRUE) { [13:14:00.190] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.190] open = "w") [13:14:00.190] } [13:14:00.190] else { [13:14:00.190] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.190] windows = "NUL", "/dev/null"), open = "w") [13:14:00.190] } [13:14:00.190] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.190] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.190] base::sink(type = "output", split = FALSE) [13:14:00.190] base::close(...future.stdout) [13:14:00.190] }, add = TRUE) [13:14:00.190] } [13:14:00.190] ...future.frame <- base::sys.nframe() [13:14:00.190] ...future.conditions <- base::list() [13:14:00.190] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.190] if (FALSE) { [13:14:00.190] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.190] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.190] } [13:14:00.190] ...future.result <- base::tryCatch({ [13:14:00.190] base::withCallingHandlers({ [13:14:00.190] ...future.value <- base::withVisible(base::local({ [13:14:00.190] do.call(function(...) { [13:14:00.190] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.190] if (!identical(...future.globals.maxSize.org, [13:14:00.190] ...future.globals.maxSize)) { [13:14:00.190] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.190] on.exit(options(oopts), add = TRUE) [13:14:00.190] } [13:14:00.190] { [13:14:00.190] lapply(seq_along(...future.elements_ii), [13:14:00.190] FUN = function(jj) { [13:14:00.190] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.190] ...future.FUN(...future.X_jj, ...) [13:14:00.190] }) [13:14:00.190] } [13:14:00.190] }, args = future.call.arguments) [13:14:00.190] })) [13:14:00.190] future::FutureResult(value = ...future.value$value, [13:14:00.190] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.190] ...future.rng), globalenv = if (FALSE) [13:14:00.190] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.190] ...future.globalenv.names)) [13:14:00.190] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.190] }, condition = base::local({ [13:14:00.190] c <- base::c [13:14:00.190] inherits <- base::inherits [13:14:00.190] invokeRestart <- base::invokeRestart [13:14:00.190] length <- base::length [13:14:00.190] list <- base::list [13:14:00.190] seq.int <- base::seq.int [13:14:00.190] signalCondition <- base::signalCondition [13:14:00.190] sys.calls <- base::sys.calls [13:14:00.190] `[[` <- base::`[[` [13:14:00.190] `+` <- base::`+` [13:14:00.190] `<<-` <- base::`<<-` [13:14:00.190] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.190] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.190] 3L)] [13:14:00.190] } [13:14:00.190] function(cond) { [13:14:00.190] is_error <- inherits(cond, "error") [13:14:00.190] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.190] NULL) [13:14:00.190] if (is_error) { [13:14:00.190] sessionInformation <- function() { [13:14:00.190] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.190] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.190] search = base::search(), system = base::Sys.info()) [13:14:00.190] } [13:14:00.190] ...future.conditions[[length(...future.conditions) + [13:14:00.190] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.190] cond$call), session = sessionInformation(), [13:14:00.190] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.190] signalCondition(cond) [13:14:00.190] } [13:14:00.190] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.190] "immediateCondition"))) { [13:14:00.190] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.190] ...future.conditions[[length(...future.conditions) + [13:14:00.190] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.190] if (TRUE && !signal) { [13:14:00.190] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.190] { [13:14:00.190] inherits <- base::inherits [13:14:00.190] invokeRestart <- base::invokeRestart [13:14:00.190] is.null <- base::is.null [13:14:00.190] muffled <- FALSE [13:14:00.190] if (inherits(cond, "message")) { [13:14:00.190] muffled <- grepl(pattern, "muffleMessage") [13:14:00.190] if (muffled) [13:14:00.190] invokeRestart("muffleMessage") [13:14:00.190] } [13:14:00.190] else if (inherits(cond, "warning")) { [13:14:00.190] muffled <- grepl(pattern, "muffleWarning") [13:14:00.190] if (muffled) [13:14:00.190] invokeRestart("muffleWarning") [13:14:00.190] } [13:14:00.190] else if (inherits(cond, "condition")) { [13:14:00.190] if (!is.null(pattern)) { [13:14:00.190] computeRestarts <- base::computeRestarts [13:14:00.190] grepl <- base::grepl [13:14:00.190] restarts <- computeRestarts(cond) [13:14:00.190] for (restart in restarts) { [13:14:00.190] name <- restart$name [13:14:00.190] if (is.null(name)) [13:14:00.190] next [13:14:00.190] if (!grepl(pattern, name)) [13:14:00.190] next [13:14:00.190] invokeRestart(restart) [13:14:00.190] muffled <- TRUE [13:14:00.190] break [13:14:00.190] } [13:14:00.190] } [13:14:00.190] } [13:14:00.190] invisible(muffled) [13:14:00.190] } [13:14:00.190] muffleCondition(cond, pattern = "^muffle") [13:14:00.190] } [13:14:00.190] } [13:14:00.190] else { [13:14:00.190] if (TRUE) { [13:14:00.190] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.190] { [13:14:00.190] inherits <- base::inherits [13:14:00.190] invokeRestart <- base::invokeRestart [13:14:00.190] is.null <- base::is.null [13:14:00.190] muffled <- FALSE [13:14:00.190] if (inherits(cond, "message")) { [13:14:00.190] muffled <- grepl(pattern, "muffleMessage") [13:14:00.190] if (muffled) [13:14:00.190] invokeRestart("muffleMessage") [13:14:00.190] } [13:14:00.190] else if (inherits(cond, "warning")) { [13:14:00.190] muffled <- grepl(pattern, "muffleWarning") [13:14:00.190] if (muffled) [13:14:00.190] invokeRestart("muffleWarning") [13:14:00.190] } [13:14:00.190] else if (inherits(cond, "condition")) { [13:14:00.190] if (!is.null(pattern)) { [13:14:00.190] computeRestarts <- base::computeRestarts [13:14:00.190] grepl <- base::grepl [13:14:00.190] restarts <- computeRestarts(cond) [13:14:00.190] for (restart in restarts) { [13:14:00.190] name <- restart$name [13:14:00.190] if (is.null(name)) [13:14:00.190] next [13:14:00.190] if (!grepl(pattern, name)) [13:14:00.190] next [13:14:00.190] invokeRestart(restart) [13:14:00.190] muffled <- TRUE [13:14:00.190] break [13:14:00.190] } [13:14:00.190] } [13:14:00.190] } [13:14:00.190] invisible(muffled) [13:14:00.190] } [13:14:00.190] muffleCondition(cond, pattern = "^muffle") [13:14:00.190] } [13:14:00.190] } [13:14:00.190] } [13:14:00.190] })) [13:14:00.190] }, error = function(ex) { [13:14:00.190] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.190] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.190] ...future.rng), started = ...future.startTime, [13:14:00.190] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.190] version = "1.8"), class = "FutureResult") [13:14:00.190] }, finally = { [13:14:00.190] if (!identical(...future.workdir, getwd())) [13:14:00.190] setwd(...future.workdir) [13:14:00.190] { [13:14:00.190] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.190] ...future.oldOptions$nwarnings <- NULL [13:14:00.190] } [13:14:00.190] base::options(...future.oldOptions) [13:14:00.190] if (.Platform$OS.type == "windows") { [13:14:00.190] old_names <- names(...future.oldEnvVars) [13:14:00.190] envs <- base::Sys.getenv() [13:14:00.190] names <- names(envs) [13:14:00.190] common <- intersect(names, old_names) [13:14:00.190] added <- setdiff(names, old_names) [13:14:00.190] removed <- setdiff(old_names, names) [13:14:00.190] changed <- common[...future.oldEnvVars[common] != [13:14:00.190] envs[common]] [13:14:00.190] NAMES <- toupper(changed) [13:14:00.190] args <- list() [13:14:00.190] for (kk in seq_along(NAMES)) { [13:14:00.190] name <- changed[[kk]] [13:14:00.190] NAME <- NAMES[[kk]] [13:14:00.190] if (name != NAME && is.element(NAME, old_names)) [13:14:00.190] next [13:14:00.190] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.190] } [13:14:00.190] NAMES <- toupper(added) [13:14:00.190] for (kk in seq_along(NAMES)) { [13:14:00.190] name <- added[[kk]] [13:14:00.190] NAME <- NAMES[[kk]] [13:14:00.190] if (name != NAME && is.element(NAME, old_names)) [13:14:00.190] next [13:14:00.190] args[[name]] <- "" [13:14:00.190] } [13:14:00.190] NAMES <- toupper(removed) [13:14:00.190] for (kk in seq_along(NAMES)) { [13:14:00.190] name <- removed[[kk]] [13:14:00.190] NAME <- NAMES[[kk]] [13:14:00.190] if (name != NAME && is.element(NAME, old_names)) [13:14:00.190] next [13:14:00.190] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.190] } [13:14:00.190] if (length(args) > 0) [13:14:00.190] base::do.call(base::Sys.setenv, args = args) [13:14:00.190] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.190] } [13:14:00.190] else { [13:14:00.190] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.190] } [13:14:00.190] { [13:14:00.190] if (base::length(...future.futureOptionsAdded) > [13:14:00.190] 0L) { [13:14:00.190] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.190] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.190] base::options(opts) [13:14:00.190] } [13:14:00.190] { [13:14:00.190] { [13:14:00.190] NULL [13:14:00.190] RNGkind("Mersenne-Twister") [13:14:00.190] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.190] inherits = FALSE) [13:14:00.190] } [13:14:00.190] options(future.plan = NULL) [13:14:00.190] if (is.na(NA_character_)) [13:14:00.190] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.190] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.190] future::plan(list(function (..., envir = parent.frame()) [13:14:00.190] { [13:14:00.190] future <- SequentialFuture(..., envir = envir) [13:14:00.190] if (!future$lazy) [13:14:00.190] future <- run(future) [13:14:00.190] invisible(future) [13:14:00.190] }), .cleanup = FALSE, .init = FALSE) [13:14:00.190] } [13:14:00.190] } [13:14:00.190] } [13:14:00.190] }) [13:14:00.190] if (TRUE) { [13:14:00.190] base::sink(type = "output", split = FALSE) [13:14:00.190] if (TRUE) { [13:14:00.190] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.190] } [13:14:00.190] else { [13:14:00.190] ...future.result["stdout"] <- base::list(NULL) [13:14:00.190] } [13:14:00.190] base::close(...future.stdout) [13:14:00.190] ...future.stdout <- NULL [13:14:00.190] } [13:14:00.190] ...future.result$conditions <- ...future.conditions [13:14:00.190] ...future.result$finished <- base::Sys.time() [13:14:00.190] ...future.result [13:14:00.190] } [13:14:00.194] assign_globals() ... [13:14:00.194] List of 5 [13:14:00.194] $ ...future.FUN :function (x) [13:14:00.194] $ future.call.arguments : list() [13:14:00.194] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.194] $ ...future.elements_ii :List of 3 [13:14:00.194] ..$ a: num 1 [13:14:00.194] ..$ b: num 2 [13:14:00.194] ..$ c: num 3 [13:14:00.194] $ ...future.seeds_ii : NULL [13:14:00.194] $ ...future.globals.maxSize: NULL [13:14:00.194] - attr(*, "where")=List of 5 [13:14:00.194] ..$ ...future.FUN : [13:14:00.194] ..$ future.call.arguments : [13:14:00.194] ..$ ...future.elements_ii : [13:14:00.194] ..$ ...future.seeds_ii : [13:14:00.194] ..$ ...future.globals.maxSize: [13:14:00.194] - attr(*, "resolved")= logi FALSE [13:14:00.194] - attr(*, "total_size")= num 848 [13:14:00.194] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.194] - attr(*, "already-done")= logi TRUE [13:14:00.201] - copied '...future.FUN' to environment [13:14:00.201] - copied 'future.call.arguments' to environment [13:14:00.201] - copied '...future.elements_ii' to environment [13:14:00.201] - copied '...future.seeds_ii' to environment [13:14:00.201] - copied '...future.globals.maxSize' to environment [13:14:00.201] assign_globals() ... done [13:14:00.202] plan(): Setting new future strategy stack: [13:14:00.202] List of future strategies: [13:14:00.202] 1. sequential: [13:14:00.202] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.202] - tweaked: FALSE [13:14:00.202] - call: NULL [13:14:00.202] plan(): nbrOfWorkers() = 1 [13:14:00.204] plan(): Setting new future strategy stack: [13:14:00.204] List of future strategies: [13:14:00.204] 1. sequential: [13:14:00.204] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.204] - tweaked: FALSE [13:14:00.204] - call: plan(strategy) [13:14:00.204] plan(): nbrOfWorkers() = 1 [13:14:00.205] SequentialFuture started (and completed) [13:14:00.205] - Launch lazy future ... done [13:14:00.205] run() for 'SequentialFuture' ... done [13:14:00.205] Created future: [13:14:00.206] SequentialFuture: [13:14:00.206] Label: 'future_sapply-1' [13:14:00.206] Expression: [13:14:00.206] { [13:14:00.206] do.call(function(...) { [13:14:00.206] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.206] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.206] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.206] on.exit(options(oopts), add = TRUE) [13:14:00.206] } [13:14:00.206] { [13:14:00.206] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.206] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.206] ...future.FUN(...future.X_jj, ...) [13:14:00.206] }) [13:14:00.206] } [13:14:00.206] }, args = future.call.arguments) [13:14:00.206] } [13:14:00.206] Lazy evaluation: FALSE [13:14:00.206] Asynchronous evaluation: FALSE [13:14:00.206] Local evaluation: TRUE [13:14:00.206] Environment: R_GlobalEnv [13:14:00.206] Capture standard output: TRUE [13:14:00.206] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.206] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.206] Packages: [13:14:00.206] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.206] Resolved: TRUE [13:14:00.206] Value: 168 bytes of class 'list' [13:14:00.206] Early signaling: FALSE [13:14:00.206] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.206] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.207] Chunk #1 of 1 ... DONE [13:14:00.207] Launching 1 futures (chunks) ... DONE [13:14:00.207] Resolving 1 futures (chunks) ... [13:14:00.208] resolve() on list ... [13:14:00.208] recursive: 0 [13:14:00.208] length: 1 [13:14:00.208] [13:14:00.208] resolved() for 'SequentialFuture' ... [13:14:00.208] - state: 'finished' [13:14:00.208] - run: TRUE [13:14:00.209] - result: 'FutureResult' [13:14:00.209] resolved() for 'SequentialFuture' ... done [13:14:00.209] Future #1 [13:14:00.209] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.209] - nx: 1 [13:14:00.209] - relay: TRUE [13:14:00.210] - stdout: TRUE [13:14:00.210] - signal: TRUE [13:14:00.210] - resignal: FALSE [13:14:00.210] - force: TRUE [13:14:00.210] - relayed: [n=1] FALSE [13:14:00.210] - queued futures: [n=1] FALSE [13:14:00.210] - until=1 [13:14:00.210] - relaying element #1 [13:14:00.211] - relayed: [n=1] TRUE [13:14:00.211] - queued futures: [n=1] TRUE [13:14:00.211] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.211] length: 0 (resolved future 1) [13:14:00.211] Relaying remaining futures [13:14:00.211] signalConditionsASAP(NULL, pos=0) ... [13:14:00.212] - nx: 1 [13:14:00.212] - relay: TRUE [13:14:00.212] - stdout: TRUE [13:14:00.212] - signal: TRUE [13:14:00.212] - resignal: FALSE [13:14:00.212] - force: TRUE [13:14:00.212] - relayed: [n=1] TRUE [13:14:00.212] - queued futures: [n=1] TRUE - flush all [13:14:00.213] - relayed: [n=1] TRUE [13:14:00.213] - queued futures: [n=1] TRUE [13:14:00.213] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.213] resolve() on list ... DONE [13:14:00.213] - Number of value chunks collected: 1 [13:14:00.213] Resolving 1 futures (chunks) ... DONE [13:14:00.213] Reducing values from 1 chunks ... [13:14:00.213] - Number of values collected after concatenation: 3 [13:14:00.214] - Number of values expected: 3 [13:14:00.214] Reducing values from 1 chunks ... DONE [13:14:00.214] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y1:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y2:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 [13:14:00.220] future_lapply() ... [13:14:00.220] Number of chunks: 1 [13:14:00.220] getGlobalsAndPackagesXApply() ... [13:14:00.220] - future.globals: TRUE [13:14:00.221] getGlobalsAndPackages() ... [13:14:00.221] Searching for globals... [13:14:00.222] - globals found: [2] 'FUN', 'UseMethod' [13:14:00.222] Searching for globals ... DONE [13:14:00.222] Resolving globals: FALSE [13:14:00.222] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:00.223] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:00.223] - globals: [1] 'FUN' [13:14:00.223] [13:14:00.223] getGlobalsAndPackages() ... DONE [13:14:00.223] - globals found/used: [n=1] 'FUN' [13:14:00.223] - needed namespaces: [n=0] [13:14:00.223] Finding globals ... DONE [13:14:00.223] - use_args: TRUE [13:14:00.224] - Getting '...' globals ... [13:14:00.224] resolve() on list ... [13:14:00.224] recursive: 0 [13:14:00.224] length: 1 [13:14:00.224] elements: '...' [13:14:00.224] length: 0 (resolved future 1) [13:14:00.225] resolve() on list ... DONE [13:14:00.225] - '...' content: [n=0] [13:14:00.225] List of 1 [13:14:00.225] $ ...: list() [13:14:00.225] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.225] - attr(*, "where")=List of 1 [13:14:00.225] ..$ ...: [13:14:00.225] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.225] - attr(*, "resolved")= logi TRUE [13:14:00.225] - attr(*, "total_size")= num NA [13:14:00.227] - Getting '...' globals ... DONE [13:14:00.227] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.227] List of 2 [13:14:00.227] $ ...future.FUN:function (x, ...) [13:14:00.227] $ ... : list() [13:14:00.227] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.227] - attr(*, "where")=List of 2 [13:14:00.227] ..$ ...future.FUN: [13:14:00.227] ..$ ... : [13:14:00.227] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.227] - attr(*, "resolved")= logi FALSE [13:14:00.227] - attr(*, "total_size")= num 1248 [13:14:00.230] Packages to be attached in all futures: [n=0] [13:14:00.230] getGlobalsAndPackagesXApply() ... DONE [13:14:00.230] Number of futures (= number of chunks): 1 [13:14:00.230] Launching 1 futures (chunks) ... [13:14:00.231] Chunk #1 of 1 ... [13:14:00.231] - Finding globals in 'X' for chunk #1 ... [13:14:00.231] getGlobalsAndPackages() ... [13:14:00.231] Searching for globals... [13:14:00.231] [13:14:00.231] Searching for globals ... DONE [13:14:00.231] - globals: [0] [13:14:00.232] getGlobalsAndPackages() ... DONE [13:14:00.232] + additional globals found: [n=0] [13:14:00.232] + additional namespaces needed: [n=0] [13:14:00.232] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.232] - seeds: [13:14:00.232] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.232] getGlobalsAndPackages() ... [13:14:00.232] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.233] Resolving globals: FALSE [13:14:00.233] Tweak future expression to call with '...' arguments ... [13:14:00.233] { [13:14:00.233] do.call(function(...) { [13:14:00.233] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.233] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.233] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.233] on.exit(options(oopts), add = TRUE) [13:14:00.233] } [13:14:00.233] { [13:14:00.233] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.233] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.233] ...future.FUN(...future.X_jj, ...) [13:14:00.233] }) [13:14:00.233] } [13:14:00.233] }, args = future.call.arguments) [13:14:00.233] } [13:14:00.233] Tweak future expression to call with '...' arguments ... DONE [13:14:00.233] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.234] [13:14:00.234] getGlobalsAndPackages() ... DONE [13:14:00.234] run() for 'Future' ... [13:14:00.234] - state: 'created' [13:14:00.234] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.235] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.235] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.235] - Field: 'label' [13:14:00.235] - Field: 'local' [13:14:00.235] - Field: 'owner' [13:14:00.235] - Field: 'envir' [13:14:00.235] - Field: 'packages' [13:14:00.236] - Field: 'gc' [13:14:00.236] - Field: 'conditions' [13:14:00.236] - Field: 'expr' [13:14:00.236] - Field: 'uuid' [13:14:00.236] - Field: 'seed' [13:14:00.236] - Field: 'version' [13:14:00.236] - Field: 'result' [13:14:00.237] - Field: 'asynchronous' [13:14:00.237] - Field: 'calls' [13:14:00.237] - Field: 'globals' [13:14:00.237] - Field: 'stdout' [13:14:00.237] - Field: 'earlySignal' [13:14:00.237] - Field: 'lazy' [13:14:00.237] - Field: 'state' [13:14:00.237] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.238] - Launch lazy future ... [13:14:00.238] Packages needed by the future expression (n = 0): [13:14:00.238] Packages needed by future strategies (n = 0): [13:14:00.238] { [13:14:00.238] { [13:14:00.238] { [13:14:00.238] ...future.startTime <- base::Sys.time() [13:14:00.238] { [13:14:00.238] { [13:14:00.238] { [13:14:00.238] base::local({ [13:14:00.238] has_future <- base::requireNamespace("future", [13:14:00.238] quietly = TRUE) [13:14:00.238] if (has_future) { [13:14:00.238] ns <- base::getNamespace("future") [13:14:00.238] version <- ns[[".package"]][["version"]] [13:14:00.238] if (is.null(version)) [13:14:00.238] version <- utils::packageVersion("future") [13:14:00.238] } [13:14:00.238] else { [13:14:00.238] version <- NULL [13:14:00.238] } [13:14:00.238] if (!has_future || version < "1.8.0") { [13:14:00.238] info <- base::c(r_version = base::gsub("R version ", [13:14:00.238] "", base::R.version$version.string), [13:14:00.238] platform = base::sprintf("%s (%s-bit)", [13:14:00.238] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.238] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.238] "release", "version")], collapse = " "), [13:14:00.238] hostname = base::Sys.info()[["nodename"]]) [13:14:00.238] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.238] info) [13:14:00.238] info <- base::paste(info, collapse = "; ") [13:14:00.238] if (!has_future) { [13:14:00.238] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.238] info) [13:14:00.238] } [13:14:00.238] else { [13:14:00.238] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.238] info, version) [13:14:00.238] } [13:14:00.238] base::stop(msg) [13:14:00.238] } [13:14:00.238] }) [13:14:00.238] } [13:14:00.238] options(future.plan = NULL) [13:14:00.238] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.238] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.238] } [13:14:00.238] ...future.workdir <- getwd() [13:14:00.238] } [13:14:00.238] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.238] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.238] } [13:14:00.238] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.238] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.238] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.238] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.238] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.238] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.238] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.238] base::names(...future.oldOptions)) [13:14:00.238] } [13:14:00.238] if (FALSE) { [13:14:00.238] } [13:14:00.238] else { [13:14:00.238] if (TRUE) { [13:14:00.238] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.238] open = "w") [13:14:00.238] } [13:14:00.238] else { [13:14:00.238] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.238] windows = "NUL", "/dev/null"), open = "w") [13:14:00.238] } [13:14:00.238] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.238] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.238] base::sink(type = "output", split = FALSE) [13:14:00.238] base::close(...future.stdout) [13:14:00.238] }, add = TRUE) [13:14:00.238] } [13:14:00.238] ...future.frame <- base::sys.nframe() [13:14:00.238] ...future.conditions <- base::list() [13:14:00.238] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.238] if (FALSE) { [13:14:00.238] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.238] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.238] } [13:14:00.238] ...future.result <- base::tryCatch({ [13:14:00.238] base::withCallingHandlers({ [13:14:00.238] ...future.value <- base::withVisible(base::local({ [13:14:00.238] do.call(function(...) { [13:14:00.238] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.238] if (!identical(...future.globals.maxSize.org, [13:14:00.238] ...future.globals.maxSize)) { [13:14:00.238] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.238] on.exit(options(oopts), add = TRUE) [13:14:00.238] } [13:14:00.238] { [13:14:00.238] lapply(seq_along(...future.elements_ii), [13:14:00.238] FUN = function(jj) { [13:14:00.238] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.238] ...future.FUN(...future.X_jj, ...) [13:14:00.238] }) [13:14:00.238] } [13:14:00.238] }, args = future.call.arguments) [13:14:00.238] })) [13:14:00.238] future::FutureResult(value = ...future.value$value, [13:14:00.238] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.238] ...future.rng), globalenv = if (FALSE) [13:14:00.238] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.238] ...future.globalenv.names)) [13:14:00.238] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.238] }, condition = base::local({ [13:14:00.238] c <- base::c [13:14:00.238] inherits <- base::inherits [13:14:00.238] invokeRestart <- base::invokeRestart [13:14:00.238] length <- base::length [13:14:00.238] list <- base::list [13:14:00.238] seq.int <- base::seq.int [13:14:00.238] signalCondition <- base::signalCondition [13:14:00.238] sys.calls <- base::sys.calls [13:14:00.238] `[[` <- base::`[[` [13:14:00.238] `+` <- base::`+` [13:14:00.238] `<<-` <- base::`<<-` [13:14:00.238] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.238] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.238] 3L)] [13:14:00.238] } [13:14:00.238] function(cond) { [13:14:00.238] is_error <- inherits(cond, "error") [13:14:00.238] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.238] NULL) [13:14:00.238] if (is_error) { [13:14:00.238] sessionInformation <- function() { [13:14:00.238] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.238] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.238] search = base::search(), system = base::Sys.info()) [13:14:00.238] } [13:14:00.238] ...future.conditions[[length(...future.conditions) + [13:14:00.238] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.238] cond$call), session = sessionInformation(), [13:14:00.238] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.238] signalCondition(cond) [13:14:00.238] } [13:14:00.238] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.238] "immediateCondition"))) { [13:14:00.238] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.238] ...future.conditions[[length(...future.conditions) + [13:14:00.238] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.238] if (TRUE && !signal) { [13:14:00.238] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.238] { [13:14:00.238] inherits <- base::inherits [13:14:00.238] invokeRestart <- base::invokeRestart [13:14:00.238] is.null <- base::is.null [13:14:00.238] muffled <- FALSE [13:14:00.238] if (inherits(cond, "message")) { [13:14:00.238] muffled <- grepl(pattern, "muffleMessage") [13:14:00.238] if (muffled) [13:14:00.238] invokeRestart("muffleMessage") [13:14:00.238] } [13:14:00.238] else if (inherits(cond, "warning")) { [13:14:00.238] muffled <- grepl(pattern, "muffleWarning") [13:14:00.238] if (muffled) [13:14:00.238] invokeRestart("muffleWarning") [13:14:00.238] } [13:14:00.238] else if (inherits(cond, "condition")) { [13:14:00.238] if (!is.null(pattern)) { [13:14:00.238] computeRestarts <- base::computeRestarts [13:14:00.238] grepl <- base::grepl [13:14:00.238] restarts <- computeRestarts(cond) [13:14:00.238] for (restart in restarts) { [13:14:00.238] name <- restart$name [13:14:00.238] if (is.null(name)) [13:14:00.238] next [13:14:00.238] if (!grepl(pattern, name)) [13:14:00.238] next [13:14:00.238] invokeRestart(restart) [13:14:00.238] muffled <- TRUE [13:14:00.238] break [13:14:00.238] } [13:14:00.238] } [13:14:00.238] } [13:14:00.238] invisible(muffled) [13:14:00.238] } [13:14:00.238] muffleCondition(cond, pattern = "^muffle") [13:14:00.238] } [13:14:00.238] } [13:14:00.238] else { [13:14:00.238] if (TRUE) { [13:14:00.238] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.238] { [13:14:00.238] inherits <- base::inherits [13:14:00.238] invokeRestart <- base::invokeRestart [13:14:00.238] is.null <- base::is.null [13:14:00.238] muffled <- FALSE [13:14:00.238] if (inherits(cond, "message")) { [13:14:00.238] muffled <- grepl(pattern, "muffleMessage") [13:14:00.238] if (muffled) [13:14:00.238] invokeRestart("muffleMessage") [13:14:00.238] } [13:14:00.238] else if (inherits(cond, "warning")) { [13:14:00.238] muffled <- grepl(pattern, "muffleWarning") [13:14:00.238] if (muffled) [13:14:00.238] invokeRestart("muffleWarning") [13:14:00.238] } [13:14:00.238] else if (inherits(cond, "condition")) { [13:14:00.238] if (!is.null(pattern)) { [13:14:00.238] computeRestarts <- base::computeRestarts [13:14:00.238] grepl <- base::grepl [13:14:00.238] restarts <- computeRestarts(cond) [13:14:00.238] for (restart in restarts) { [13:14:00.238] name <- restart$name [13:14:00.238] if (is.null(name)) [13:14:00.238] next [13:14:00.238] if (!grepl(pattern, name)) [13:14:00.238] next [13:14:00.238] invokeRestart(restart) [13:14:00.238] muffled <- TRUE [13:14:00.238] break [13:14:00.238] } [13:14:00.238] } [13:14:00.238] } [13:14:00.238] invisible(muffled) [13:14:00.238] } [13:14:00.238] muffleCondition(cond, pattern = "^muffle") [13:14:00.238] } [13:14:00.238] } [13:14:00.238] } [13:14:00.238] })) [13:14:00.238] }, error = function(ex) { [13:14:00.238] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.238] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.238] ...future.rng), started = ...future.startTime, [13:14:00.238] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.238] version = "1.8"), class = "FutureResult") [13:14:00.238] }, finally = { [13:14:00.238] if (!identical(...future.workdir, getwd())) [13:14:00.238] setwd(...future.workdir) [13:14:00.238] { [13:14:00.238] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.238] ...future.oldOptions$nwarnings <- NULL [13:14:00.238] } [13:14:00.238] base::options(...future.oldOptions) [13:14:00.238] if (.Platform$OS.type == "windows") { [13:14:00.238] old_names <- names(...future.oldEnvVars) [13:14:00.238] envs <- base::Sys.getenv() [13:14:00.238] names <- names(envs) [13:14:00.238] common <- intersect(names, old_names) [13:14:00.238] added <- setdiff(names, old_names) [13:14:00.238] removed <- setdiff(old_names, names) [13:14:00.238] changed <- common[...future.oldEnvVars[common] != [13:14:00.238] envs[common]] [13:14:00.238] NAMES <- toupper(changed) [13:14:00.238] args <- list() [13:14:00.238] for (kk in seq_along(NAMES)) { [13:14:00.238] name <- changed[[kk]] [13:14:00.238] NAME <- NAMES[[kk]] [13:14:00.238] if (name != NAME && is.element(NAME, old_names)) [13:14:00.238] next [13:14:00.238] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.238] } [13:14:00.238] NAMES <- toupper(added) [13:14:00.238] for (kk in seq_along(NAMES)) { [13:14:00.238] name <- added[[kk]] [13:14:00.238] NAME <- NAMES[[kk]] [13:14:00.238] if (name != NAME && is.element(NAME, old_names)) [13:14:00.238] next [13:14:00.238] args[[name]] <- "" [13:14:00.238] } [13:14:00.238] NAMES <- toupper(removed) [13:14:00.238] for (kk in seq_along(NAMES)) { [13:14:00.238] name <- removed[[kk]] [13:14:00.238] NAME <- NAMES[[kk]] [13:14:00.238] if (name != NAME && is.element(NAME, old_names)) [13:14:00.238] next [13:14:00.238] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.238] } [13:14:00.238] if (length(args) > 0) [13:14:00.238] base::do.call(base::Sys.setenv, args = args) [13:14:00.238] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.238] } [13:14:00.238] else { [13:14:00.238] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.238] } [13:14:00.238] { [13:14:00.238] if (base::length(...future.futureOptionsAdded) > [13:14:00.238] 0L) { [13:14:00.238] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.238] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.238] base::options(opts) [13:14:00.238] } [13:14:00.238] { [13:14:00.238] { [13:14:00.238] NULL [13:14:00.238] RNGkind("Mersenne-Twister") [13:14:00.238] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.238] inherits = FALSE) [13:14:00.238] } [13:14:00.238] options(future.plan = NULL) [13:14:00.238] if (is.na(NA_character_)) [13:14:00.238] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.238] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.238] future::plan(list(function (..., envir = parent.frame()) [13:14:00.238] { [13:14:00.238] future <- SequentialFuture(..., envir = envir) [13:14:00.238] if (!future$lazy) [13:14:00.238] future <- run(future) [13:14:00.238] invisible(future) [13:14:00.238] }), .cleanup = FALSE, .init = FALSE) [13:14:00.238] } [13:14:00.238] } [13:14:00.238] } [13:14:00.238] }) [13:14:00.238] if (TRUE) { [13:14:00.238] base::sink(type = "output", split = FALSE) [13:14:00.238] if (TRUE) { [13:14:00.238] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.238] } [13:14:00.238] else { [13:14:00.238] ...future.result["stdout"] <- base::list(NULL) [13:14:00.238] } [13:14:00.238] base::close(...future.stdout) [13:14:00.238] ...future.stdout <- NULL [13:14:00.238] } [13:14:00.238] ...future.result$conditions <- ...future.conditions [13:14:00.238] ...future.result$finished <- base::Sys.time() [13:14:00.238] ...future.result [13:14:00.238] } [13:14:00.241] assign_globals() ... [13:14:00.242] List of 5 [13:14:00.242] $ ...future.FUN :function (x, ...) [13:14:00.242] $ future.call.arguments : list() [13:14:00.242] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.242] $ ...future.elements_ii :List of 3 [13:14:00.242] ..$ a: num 1 [13:14:00.242] ..$ b: num 2 [13:14:00.242] ..$ c: num 3 [13:14:00.242] $ ...future.seeds_ii : NULL [13:14:00.242] $ ...future.globals.maxSize: NULL [13:14:00.242] - attr(*, "where")=List of 5 [13:14:00.242] ..$ ...future.FUN : [13:14:00.242] ..$ future.call.arguments : [13:14:00.242] ..$ ...future.elements_ii : [13:14:00.242] ..$ ...future.seeds_ii : [13:14:00.242] ..$ ...future.globals.maxSize: [13:14:00.242] - attr(*, "resolved")= logi FALSE [13:14:00.242] - attr(*, "total_size")= num 1248 [13:14:00.242] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.242] - attr(*, "already-done")= logi TRUE [13:14:00.247] - copied '...future.FUN' to environment [13:14:00.247] - copied 'future.call.arguments' to environment [13:14:00.247] - copied '...future.elements_ii' to environment [13:14:00.247] - copied '...future.seeds_ii' to environment [13:14:00.247] - copied '...future.globals.maxSize' to environment [13:14:00.248] assign_globals() ... done [13:14:00.248] plan(): Setting new future strategy stack: [13:14:00.248] List of future strategies: [13:14:00.248] 1. sequential: [13:14:00.248] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.248] - tweaked: FALSE [13:14:00.248] - call: NULL [13:14:00.248] plan(): nbrOfWorkers() = 1 [13:14:00.249] plan(): Setting new future strategy stack: [13:14:00.249] List of future strategies: [13:14:00.249] 1. sequential: [13:14:00.249] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.249] - tweaked: FALSE [13:14:00.249] - call: plan(strategy) [13:14:00.250] plan(): nbrOfWorkers() = 1 [13:14:00.250] SequentialFuture started (and completed) [13:14:00.250] - Launch lazy future ... done [13:14:00.250] run() for 'SequentialFuture' ... done [13:14:00.250] Created future: [13:14:00.251] SequentialFuture: [13:14:00.251] Label: 'future_sapply-1' [13:14:00.251] Expression: [13:14:00.251] { [13:14:00.251] do.call(function(...) { [13:14:00.251] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.251] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.251] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.251] on.exit(options(oopts), add = TRUE) [13:14:00.251] } [13:14:00.251] { [13:14:00.251] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.251] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.251] ...future.FUN(...future.X_jj, ...) [13:14:00.251] }) [13:14:00.251] } [13:14:00.251] }, args = future.call.arguments) [13:14:00.251] } [13:14:00.251] Lazy evaluation: FALSE [13:14:00.251] Asynchronous evaluation: FALSE [13:14:00.251] Local evaluation: TRUE [13:14:00.251] Environment: R_GlobalEnv [13:14:00.251] Capture standard output: TRUE [13:14:00.251] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.251] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.251] Packages: [13:14:00.251] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.251] Resolved: TRUE [13:14:00.251] Value: 672 bytes of class 'list' [13:14:00.251] Early signaling: FALSE [13:14:00.251] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.251] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.252] Chunk #1 of 1 ... DONE [13:14:00.252] Launching 1 futures (chunks) ... DONE [13:14:00.252] Resolving 1 futures (chunks) ... [13:14:00.252] resolve() on list ... [13:14:00.252] recursive: 0 [13:14:00.252] length: 1 [13:14:00.252] [13:14:00.252] resolved() for 'SequentialFuture' ... [13:14:00.253] - state: 'finished' [13:14:00.253] - run: TRUE [13:14:00.253] - result: 'FutureResult' [13:14:00.253] resolved() for 'SequentialFuture' ... done [13:14:00.253] Future #1 [13:14:00.253] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.253] - nx: 1 [13:14:00.254] - relay: TRUE [13:14:00.254] - stdout: TRUE [13:14:00.254] - signal: TRUE [13:14:00.254] - resignal: FALSE [13:14:00.254] - force: TRUE [13:14:00.254] - relayed: [n=1] FALSE [13:14:00.254] - queued futures: [n=1] FALSE [13:14:00.254] - until=1 [13:14:00.255] - relaying element #1 [13:14:00.255] - relayed: [n=1] TRUE [13:14:00.255] - queued futures: [n=1] TRUE [13:14:00.255] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.255] length: 0 (resolved future 1) [13:14:00.255] Relaying remaining futures [13:14:00.255] signalConditionsASAP(NULL, pos=0) ... [13:14:00.256] - nx: 1 [13:14:00.256] - relay: TRUE [13:14:00.256] - stdout: TRUE [13:14:00.256] - signal: TRUE [13:14:00.256] - resignal: FALSE [13:14:00.256] - force: TRUE [13:14:00.256] - relayed: [n=1] TRUE [13:14:00.256] - queued futures: [n=1] TRUE - flush all [13:14:00.256] - relayed: [n=1] TRUE [13:14:00.257] - queued futures: [n=1] TRUE [13:14:00.257] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.257] resolve() on list ... DONE [13:14:00.257] - Number of value chunks collected: 1 [13:14:00.257] Resolving 1 futures (chunks) ... DONE [13:14:00.257] Reducing values from 1 chunks ... [13:14:00.257] - Number of values collected after concatenation: 3 [13:14:00.257] - Number of values expected: 3 [13:14:00.258] Reducing values from 1 chunks ... DONE [13:14:00.258] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y1:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y2:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 [13:14:00.265] future_lapply() ... [13:14:00.267] Number of chunks: 1 [13:14:00.267] getGlobalsAndPackagesXApply() ... [13:14:00.267] - future.globals: TRUE [13:14:00.267] getGlobalsAndPackages() ... [13:14:00.267] Searching for globals... [13:14:00.269] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:00.269] Searching for globals ... DONE [13:14:00.269] Resolving globals: FALSE [13:14:00.269] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:00.270] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:00.270] - globals: [1] 'FUN' [13:14:00.270] [13:14:00.270] getGlobalsAndPackages() ... DONE [13:14:00.270] - globals found/used: [n=1] 'FUN' [13:14:00.270] - needed namespaces: [n=0] [13:14:00.270] Finding globals ... DONE [13:14:00.271] - use_args: TRUE [13:14:00.271] - Getting '...' globals ... [13:14:00.271] resolve() on list ... [13:14:00.271] recursive: 0 [13:14:00.271] length: 1 [13:14:00.271] elements: '...' [13:14:00.272] length: 0 (resolved future 1) [13:14:00.272] resolve() on list ... DONE [13:14:00.272] - '...' content: [n=0] [13:14:00.272] List of 1 [13:14:00.272] $ ...: list() [13:14:00.272] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.272] - attr(*, "where")=List of 1 [13:14:00.272] ..$ ...: [13:14:00.272] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.272] - attr(*, "resolved")= logi TRUE [13:14:00.272] - attr(*, "total_size")= num NA [13:14:00.274] - Getting '...' globals ... DONE [13:14:00.274] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.274] List of 2 [13:14:00.274] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:00.274] $ ... : list() [13:14:00.274] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.274] - attr(*, "where")=List of 2 [13:14:00.274] ..$ ...future.FUN: [13:14:00.274] ..$ ... : [13:14:00.274] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.274] - attr(*, "resolved")= logi FALSE [13:14:00.274] - attr(*, "total_size")= num 4728 [13:14:00.277] Packages to be attached in all futures: [n=0] [13:14:00.277] getGlobalsAndPackagesXApply() ... DONE [13:14:00.277] Number of futures (= number of chunks): 1 [13:14:00.277] Launching 1 futures (chunks) ... [13:14:00.277] Chunk #1 of 1 ... [13:14:00.278] - Finding globals in 'X' for chunk #1 ... [13:14:00.278] getGlobalsAndPackages() ... [13:14:00.278] Searching for globals... [13:14:00.278] [13:14:00.278] Searching for globals ... DONE [13:14:00.278] - globals: [0] [13:14:00.278] getGlobalsAndPackages() ... DONE [13:14:00.278] + additional globals found: [n=0] [13:14:00.279] + additional namespaces needed: [n=0] [13:14:00.279] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.279] - seeds: [13:14:00.279] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.279] getGlobalsAndPackages() ... [13:14:00.279] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.280] Resolving globals: FALSE [13:14:00.280] Tweak future expression to call with '...' arguments ... [13:14:00.280] { [13:14:00.280] do.call(function(...) { [13:14:00.280] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.280] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.280] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.280] on.exit(options(oopts), add = TRUE) [13:14:00.280] } [13:14:00.280] { [13:14:00.280] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.280] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.280] ...future.FUN(...future.X_jj, ...) [13:14:00.280] }) [13:14:00.280] } [13:14:00.280] }, args = future.call.arguments) [13:14:00.280] } [13:14:00.280] Tweak future expression to call with '...' arguments ... DONE [13:14:00.281] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.281] [13:14:00.281] getGlobalsAndPackages() ... DONE [13:14:00.281] run() for 'Future' ... [13:14:00.281] - state: 'created' [13:14:00.282] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.282] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.282] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.282] - Field: 'label' [13:14:00.282] - Field: 'local' [13:14:00.282] - Field: 'owner' [13:14:00.283] - Field: 'envir' [13:14:00.283] - Field: 'packages' [13:14:00.283] - Field: 'gc' [13:14:00.283] - Field: 'conditions' [13:14:00.283] - Field: 'expr' [13:14:00.283] - Field: 'uuid' [13:14:00.283] - Field: 'seed' [13:14:00.284] - Field: 'version' [13:14:00.284] - Field: 'result' [13:14:00.284] - Field: 'asynchronous' [13:14:00.284] - Field: 'calls' [13:14:00.284] - Field: 'globals' [13:14:00.284] - Field: 'stdout' [13:14:00.284] - Field: 'earlySignal' [13:14:00.284] - Field: 'lazy' [13:14:00.285] - Field: 'state' [13:14:00.285] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.285] - Launch lazy future ... [13:14:00.285] Packages needed by the future expression (n = 0): [13:14:00.285] Packages needed by future strategies (n = 0): [13:14:00.286] { [13:14:00.286] { [13:14:00.286] { [13:14:00.286] ...future.startTime <- base::Sys.time() [13:14:00.286] { [13:14:00.286] { [13:14:00.286] { [13:14:00.286] base::local({ [13:14:00.286] has_future <- base::requireNamespace("future", [13:14:00.286] quietly = TRUE) [13:14:00.286] if (has_future) { [13:14:00.286] ns <- base::getNamespace("future") [13:14:00.286] version <- ns[[".package"]][["version"]] [13:14:00.286] if (is.null(version)) [13:14:00.286] version <- utils::packageVersion("future") [13:14:00.286] } [13:14:00.286] else { [13:14:00.286] version <- NULL [13:14:00.286] } [13:14:00.286] if (!has_future || version < "1.8.0") { [13:14:00.286] info <- base::c(r_version = base::gsub("R version ", [13:14:00.286] "", base::R.version$version.string), [13:14:00.286] platform = base::sprintf("%s (%s-bit)", [13:14:00.286] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.286] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.286] "release", "version")], collapse = " "), [13:14:00.286] hostname = base::Sys.info()[["nodename"]]) [13:14:00.286] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.286] info) [13:14:00.286] info <- base::paste(info, collapse = "; ") [13:14:00.286] if (!has_future) { [13:14:00.286] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.286] info) [13:14:00.286] } [13:14:00.286] else { [13:14:00.286] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.286] info, version) [13:14:00.286] } [13:14:00.286] base::stop(msg) [13:14:00.286] } [13:14:00.286] }) [13:14:00.286] } [13:14:00.286] options(future.plan = NULL) [13:14:00.286] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.286] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.286] } [13:14:00.286] ...future.workdir <- getwd() [13:14:00.286] } [13:14:00.286] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.286] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.286] } [13:14:00.286] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.286] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.286] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.286] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.286] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.286] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.286] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.286] base::names(...future.oldOptions)) [13:14:00.286] } [13:14:00.286] if (FALSE) { [13:14:00.286] } [13:14:00.286] else { [13:14:00.286] if (TRUE) { [13:14:00.286] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.286] open = "w") [13:14:00.286] } [13:14:00.286] else { [13:14:00.286] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.286] windows = "NUL", "/dev/null"), open = "w") [13:14:00.286] } [13:14:00.286] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.286] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.286] base::sink(type = "output", split = FALSE) [13:14:00.286] base::close(...future.stdout) [13:14:00.286] }, add = TRUE) [13:14:00.286] } [13:14:00.286] ...future.frame <- base::sys.nframe() [13:14:00.286] ...future.conditions <- base::list() [13:14:00.286] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.286] if (FALSE) { [13:14:00.286] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.286] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.286] } [13:14:00.286] ...future.result <- base::tryCatch({ [13:14:00.286] base::withCallingHandlers({ [13:14:00.286] ...future.value <- base::withVisible(base::local({ [13:14:00.286] do.call(function(...) { [13:14:00.286] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.286] if (!identical(...future.globals.maxSize.org, [13:14:00.286] ...future.globals.maxSize)) { [13:14:00.286] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.286] on.exit(options(oopts), add = TRUE) [13:14:00.286] } [13:14:00.286] { [13:14:00.286] lapply(seq_along(...future.elements_ii), [13:14:00.286] FUN = function(jj) { [13:14:00.286] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.286] ...future.FUN(...future.X_jj, ...) [13:14:00.286] }) [13:14:00.286] } [13:14:00.286] }, args = future.call.arguments) [13:14:00.286] })) [13:14:00.286] future::FutureResult(value = ...future.value$value, [13:14:00.286] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.286] ...future.rng), globalenv = if (FALSE) [13:14:00.286] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.286] ...future.globalenv.names)) [13:14:00.286] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.286] }, condition = base::local({ [13:14:00.286] c <- base::c [13:14:00.286] inherits <- base::inherits [13:14:00.286] invokeRestart <- base::invokeRestart [13:14:00.286] length <- base::length [13:14:00.286] list <- base::list [13:14:00.286] seq.int <- base::seq.int [13:14:00.286] signalCondition <- base::signalCondition [13:14:00.286] sys.calls <- base::sys.calls [13:14:00.286] `[[` <- base::`[[` [13:14:00.286] `+` <- base::`+` [13:14:00.286] `<<-` <- base::`<<-` [13:14:00.286] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.286] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.286] 3L)] [13:14:00.286] } [13:14:00.286] function(cond) { [13:14:00.286] is_error <- inherits(cond, "error") [13:14:00.286] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.286] NULL) [13:14:00.286] if (is_error) { [13:14:00.286] sessionInformation <- function() { [13:14:00.286] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.286] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.286] search = base::search(), system = base::Sys.info()) [13:14:00.286] } [13:14:00.286] ...future.conditions[[length(...future.conditions) + [13:14:00.286] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.286] cond$call), session = sessionInformation(), [13:14:00.286] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.286] signalCondition(cond) [13:14:00.286] } [13:14:00.286] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.286] "immediateCondition"))) { [13:14:00.286] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.286] ...future.conditions[[length(...future.conditions) + [13:14:00.286] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.286] if (TRUE && !signal) { [13:14:00.286] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.286] { [13:14:00.286] inherits <- base::inherits [13:14:00.286] invokeRestart <- base::invokeRestart [13:14:00.286] is.null <- base::is.null [13:14:00.286] muffled <- FALSE [13:14:00.286] if (inherits(cond, "message")) { [13:14:00.286] muffled <- grepl(pattern, "muffleMessage") [13:14:00.286] if (muffled) [13:14:00.286] invokeRestart("muffleMessage") [13:14:00.286] } [13:14:00.286] else if (inherits(cond, "warning")) { [13:14:00.286] muffled <- grepl(pattern, "muffleWarning") [13:14:00.286] if (muffled) [13:14:00.286] invokeRestart("muffleWarning") [13:14:00.286] } [13:14:00.286] else if (inherits(cond, "condition")) { [13:14:00.286] if (!is.null(pattern)) { [13:14:00.286] computeRestarts <- base::computeRestarts [13:14:00.286] grepl <- base::grepl [13:14:00.286] restarts <- computeRestarts(cond) [13:14:00.286] for (restart in restarts) { [13:14:00.286] name <- restart$name [13:14:00.286] if (is.null(name)) [13:14:00.286] next [13:14:00.286] if (!grepl(pattern, name)) [13:14:00.286] next [13:14:00.286] invokeRestart(restart) [13:14:00.286] muffled <- TRUE [13:14:00.286] break [13:14:00.286] } [13:14:00.286] } [13:14:00.286] } [13:14:00.286] invisible(muffled) [13:14:00.286] } [13:14:00.286] muffleCondition(cond, pattern = "^muffle") [13:14:00.286] } [13:14:00.286] } [13:14:00.286] else { [13:14:00.286] if (TRUE) { [13:14:00.286] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.286] { [13:14:00.286] inherits <- base::inherits [13:14:00.286] invokeRestart <- base::invokeRestart [13:14:00.286] is.null <- base::is.null [13:14:00.286] muffled <- FALSE [13:14:00.286] if (inherits(cond, "message")) { [13:14:00.286] muffled <- grepl(pattern, "muffleMessage") [13:14:00.286] if (muffled) [13:14:00.286] invokeRestart("muffleMessage") [13:14:00.286] } [13:14:00.286] else if (inherits(cond, "warning")) { [13:14:00.286] muffled <- grepl(pattern, "muffleWarning") [13:14:00.286] if (muffled) [13:14:00.286] invokeRestart("muffleWarning") [13:14:00.286] } [13:14:00.286] else if (inherits(cond, "condition")) { [13:14:00.286] if (!is.null(pattern)) { [13:14:00.286] computeRestarts <- base::computeRestarts [13:14:00.286] grepl <- base::grepl [13:14:00.286] restarts <- computeRestarts(cond) [13:14:00.286] for (restart in restarts) { [13:14:00.286] name <- restart$name [13:14:00.286] if (is.null(name)) [13:14:00.286] next [13:14:00.286] if (!grepl(pattern, name)) [13:14:00.286] next [13:14:00.286] invokeRestart(restart) [13:14:00.286] muffled <- TRUE [13:14:00.286] break [13:14:00.286] } [13:14:00.286] } [13:14:00.286] } [13:14:00.286] invisible(muffled) [13:14:00.286] } [13:14:00.286] muffleCondition(cond, pattern = "^muffle") [13:14:00.286] } [13:14:00.286] } [13:14:00.286] } [13:14:00.286] })) [13:14:00.286] }, error = function(ex) { [13:14:00.286] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.286] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.286] ...future.rng), started = ...future.startTime, [13:14:00.286] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.286] version = "1.8"), class = "FutureResult") [13:14:00.286] }, finally = { [13:14:00.286] if (!identical(...future.workdir, getwd())) [13:14:00.286] setwd(...future.workdir) [13:14:00.286] { [13:14:00.286] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.286] ...future.oldOptions$nwarnings <- NULL [13:14:00.286] } [13:14:00.286] base::options(...future.oldOptions) [13:14:00.286] if (.Platform$OS.type == "windows") { [13:14:00.286] old_names <- names(...future.oldEnvVars) [13:14:00.286] envs <- base::Sys.getenv() [13:14:00.286] names <- names(envs) [13:14:00.286] common <- intersect(names, old_names) [13:14:00.286] added <- setdiff(names, old_names) [13:14:00.286] removed <- setdiff(old_names, names) [13:14:00.286] changed <- common[...future.oldEnvVars[common] != [13:14:00.286] envs[common]] [13:14:00.286] NAMES <- toupper(changed) [13:14:00.286] args <- list() [13:14:00.286] for (kk in seq_along(NAMES)) { [13:14:00.286] name <- changed[[kk]] [13:14:00.286] NAME <- NAMES[[kk]] [13:14:00.286] if (name != NAME && is.element(NAME, old_names)) [13:14:00.286] next [13:14:00.286] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.286] } [13:14:00.286] NAMES <- toupper(added) [13:14:00.286] for (kk in seq_along(NAMES)) { [13:14:00.286] name <- added[[kk]] [13:14:00.286] NAME <- NAMES[[kk]] [13:14:00.286] if (name != NAME && is.element(NAME, old_names)) [13:14:00.286] next [13:14:00.286] args[[name]] <- "" [13:14:00.286] } [13:14:00.286] NAMES <- toupper(removed) [13:14:00.286] for (kk in seq_along(NAMES)) { [13:14:00.286] name <- removed[[kk]] [13:14:00.286] NAME <- NAMES[[kk]] [13:14:00.286] if (name != NAME && is.element(NAME, old_names)) [13:14:00.286] next [13:14:00.286] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.286] } [13:14:00.286] if (length(args) > 0) [13:14:00.286] base::do.call(base::Sys.setenv, args = args) [13:14:00.286] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.286] } [13:14:00.286] else { [13:14:00.286] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.286] } [13:14:00.286] { [13:14:00.286] if (base::length(...future.futureOptionsAdded) > [13:14:00.286] 0L) { [13:14:00.286] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.286] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.286] base::options(opts) [13:14:00.286] } [13:14:00.286] { [13:14:00.286] { [13:14:00.286] NULL [13:14:00.286] RNGkind("Mersenne-Twister") [13:14:00.286] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.286] inherits = FALSE) [13:14:00.286] } [13:14:00.286] options(future.plan = NULL) [13:14:00.286] if (is.na(NA_character_)) [13:14:00.286] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.286] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.286] future::plan(list(function (..., envir = parent.frame()) [13:14:00.286] { [13:14:00.286] future <- SequentialFuture(..., envir = envir) [13:14:00.286] if (!future$lazy) [13:14:00.286] future <- run(future) [13:14:00.286] invisible(future) [13:14:00.286] }), .cleanup = FALSE, .init = FALSE) [13:14:00.286] } [13:14:00.286] } [13:14:00.286] } [13:14:00.286] }) [13:14:00.286] if (TRUE) { [13:14:00.286] base::sink(type = "output", split = FALSE) [13:14:00.286] if (TRUE) { [13:14:00.286] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.286] } [13:14:00.286] else { [13:14:00.286] ...future.result["stdout"] <- base::list(NULL) [13:14:00.286] } [13:14:00.286] base::close(...future.stdout) [13:14:00.286] ...future.stdout <- NULL [13:14:00.286] } [13:14:00.286] ...future.result$conditions <- ...future.conditions [13:14:00.286] ...future.result$finished <- base::Sys.time() [13:14:00.286] ...future.result [13:14:00.286] } [13:14:00.288] assign_globals() ... [13:14:00.289] List of 5 [13:14:00.289] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:00.289] $ future.call.arguments : list() [13:14:00.289] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.289] $ ...future.elements_ii :List of 3 [13:14:00.289] ..$ a: num 1 [13:14:00.289] ..$ b: num 2 [13:14:00.289] ..$ c: num 3 [13:14:00.289] $ ...future.seeds_ii : NULL [13:14:00.289] $ ...future.globals.maxSize: NULL [13:14:00.289] - attr(*, "where")=List of 5 [13:14:00.289] ..$ ...future.FUN : [13:14:00.289] ..$ future.call.arguments : [13:14:00.289] ..$ ...future.elements_ii : [13:14:00.289] ..$ ...future.seeds_ii : [13:14:00.289] ..$ ...future.globals.maxSize: [13:14:00.289] - attr(*, "resolved")= logi FALSE [13:14:00.289] - attr(*, "total_size")= num 4728 [13:14:00.289] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.289] - attr(*, "already-done")= logi TRUE [13:14:00.293] - reassign environment for '...future.FUN' [13:14:00.293] - copied '...future.FUN' to environment [13:14:00.293] - copied 'future.call.arguments' to environment [13:14:00.294] - copied '...future.elements_ii' to environment [13:14:00.294] - copied '...future.seeds_ii' to environment [13:14:00.294] - copied '...future.globals.maxSize' to environment [13:14:00.294] assign_globals() ... done [13:14:00.294] plan(): Setting new future strategy stack: [13:14:00.294] List of future strategies: [13:14:00.294] 1. sequential: [13:14:00.294] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.294] - tweaked: FALSE [13:14:00.294] - call: NULL [13:14:00.295] plan(): nbrOfWorkers() = 1 [13:14:00.296] plan(): Setting new future strategy stack: [13:14:00.296] List of future strategies: [13:14:00.296] 1. sequential: [13:14:00.296] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.296] - tweaked: FALSE [13:14:00.296] - call: plan(strategy) [13:14:00.296] plan(): nbrOfWorkers() = 1 [13:14:00.296] SequentialFuture started (and completed) [13:14:00.297] - Launch lazy future ... done [13:14:00.297] run() for 'SequentialFuture' ... done [13:14:00.297] Created future: [13:14:00.297] SequentialFuture: [13:14:00.297] Label: 'future_sapply-1' [13:14:00.297] Expression: [13:14:00.297] { [13:14:00.297] do.call(function(...) { [13:14:00.297] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.297] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.297] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.297] on.exit(options(oopts), add = TRUE) [13:14:00.297] } [13:14:00.297] { [13:14:00.297] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.297] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.297] ...future.FUN(...future.X_jj, ...) [13:14:00.297] }) [13:14:00.297] } [13:14:00.297] }, args = future.call.arguments) [13:14:00.297] } [13:14:00.297] Lazy evaluation: FALSE [13:14:00.297] Asynchronous evaluation: FALSE [13:14:00.297] Local evaluation: TRUE [13:14:00.297] Environment: R_GlobalEnv [13:14:00.297] Capture standard output: TRUE [13:14:00.297] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.297] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.297] Packages: [13:14:00.297] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.297] Resolved: TRUE [13:14:00.297] Value: 1.01 KiB of class 'list' [13:14:00.297] Early signaling: FALSE [13:14:00.297] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.297] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.298] Chunk #1 of 1 ... DONE [13:14:00.298] Launching 1 futures (chunks) ... DONE [13:14:00.298] Resolving 1 futures (chunks) ... [13:14:00.298] resolve() on list ... [13:14:00.299] recursive: 0 [13:14:00.299] length: 1 [13:14:00.299] [13:14:00.299] resolved() for 'SequentialFuture' ... [13:14:00.299] - state: 'finished' [13:14:00.299] - run: TRUE [13:14:00.299] - result: 'FutureResult' [13:14:00.299] resolved() for 'SequentialFuture' ... done [13:14:00.300] Future #1 [13:14:00.300] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.300] - nx: 1 [13:14:00.300] - relay: TRUE [13:14:00.300] - stdout: TRUE [13:14:00.300] - signal: TRUE [13:14:00.300] - resignal: FALSE [13:14:00.300] - force: TRUE [13:14:00.301] - relayed: [n=1] FALSE [13:14:00.301] - queued futures: [n=1] FALSE [13:14:00.301] - until=1 [13:14:00.301] - relaying element #1 [13:14:00.301] - relayed: [n=1] TRUE [13:14:00.301] - queued futures: [n=1] TRUE [13:14:00.301] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.301] length: 0 (resolved future 1) [13:14:00.302] Relaying remaining futures [13:14:00.302] signalConditionsASAP(NULL, pos=0) ... [13:14:00.302] - nx: 1 [13:14:00.302] - relay: TRUE [13:14:00.302] - stdout: TRUE [13:14:00.302] - signal: TRUE [13:14:00.302] - resignal: FALSE [13:14:00.302] - force: TRUE [13:14:00.303] - relayed: [n=1] TRUE [13:14:00.303] - queued futures: [n=1] TRUE - flush all [13:14:00.303] - relayed: [n=1] TRUE [13:14:00.303] - queued futures: [n=1] TRUE [13:14:00.304] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.304] resolve() on list ... DONE [13:14:00.304] - Number of value chunks collected: 1 [13:14:00.304] Resolving 1 futures (chunks) ... DONE [13:14:00.304] Reducing values from 1 chunks ... [13:14:00.304] - Number of values collected after concatenation: 3 [13:14:00.304] - Number of values expected: 3 [13:14:00.304] Reducing values from 1 chunks ... DONE [13:14:00.305] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y1:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y2:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... [13:14:00.310] future_lapply() ... [13:14:00.310] Number of chunks: 1 [13:14:00.310] getGlobalsAndPackagesXApply() ... [13:14:00.310] - future.globals: TRUE [13:14:00.311] getGlobalsAndPackages() ... [13:14:00.311] Searching for globals... [13:14:00.311] - globals found: [1] 'FUN' [13:14:00.312] Searching for globals ... DONE [13:14:00.312] Resolving globals: FALSE [13:14:00.312] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:00.312] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:00.312] - globals: [1] 'FUN' [13:14:00.313] [13:14:00.313] getGlobalsAndPackages() ... DONE [13:14:00.313] - globals found/used: [n=1] 'FUN' [13:14:00.313] - needed namespaces: [n=0] [13:14:00.313] Finding globals ... DONE [13:14:00.313] - use_args: TRUE [13:14:00.313] - Getting '...' globals ... [13:14:00.314] resolve() on list ... [13:14:00.314] recursive: 0 [13:14:00.314] length: 1 [13:14:00.314] elements: '...' [13:14:00.314] length: 0 (resolved future 1) [13:14:00.314] resolve() on list ... DONE [13:14:00.314] - '...' content: [n=0] [13:14:00.314] List of 1 [13:14:00.314] $ ...: list() [13:14:00.314] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.314] - attr(*, "where")=List of 1 [13:14:00.314] ..$ ...: [13:14:00.314] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.314] - attr(*, "resolved")= logi TRUE [13:14:00.314] - attr(*, "total_size")= num NA [13:14:00.316] - Getting '...' globals ... DONE [13:14:00.317] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.317] List of 2 [13:14:00.317] $ ...future.FUN:function (x) [13:14:00.317] $ ... : list() [13:14:00.317] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.317] - attr(*, "where")=List of 2 [13:14:00.317] ..$ ...future.FUN: [13:14:00.317] ..$ ... : [13:14:00.317] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.317] - attr(*, "resolved")= logi FALSE [13:14:00.317] - attr(*, "total_size")= num 848 [13:14:00.319] Packages to be attached in all futures: [n=0] [13:14:00.319] getGlobalsAndPackagesXApply() ... DONE [13:14:00.319] Number of futures (= number of chunks): 1 [13:14:00.320] Launching 1 futures (chunks) ... [13:14:00.320] Chunk #1 of 1 ... [13:14:00.320] - Finding globals in 'X' for chunk #1 ... [13:14:00.320] getGlobalsAndPackages() ... [13:14:00.321] Searching for globals... [13:14:00.321] [13:14:00.321] Searching for globals ... DONE [13:14:00.321] - globals: [0] [13:14:00.321] getGlobalsAndPackages() ... DONE [13:14:00.321] + additional globals found: [n=0] [13:14:00.321] + additional namespaces needed: [n=0] [13:14:00.322] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.322] - seeds: [13:14:00.322] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.322] getGlobalsAndPackages() ... [13:14:00.322] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.322] Resolving globals: FALSE [13:14:00.322] Tweak future expression to call with '...' arguments ... [13:14:00.322] { [13:14:00.322] do.call(function(...) { [13:14:00.322] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.322] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.322] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.322] on.exit(options(oopts), add = TRUE) [13:14:00.322] } [13:14:00.322] { [13:14:00.322] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.322] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.322] ...future.FUN(...future.X_jj, ...) [13:14:00.322] }) [13:14:00.322] } [13:14:00.322] }, args = future.call.arguments) [13:14:00.322] } [13:14:00.323] Tweak future expression to call with '...' arguments ... DONE [13:14:00.323] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.323] [13:14:00.323] getGlobalsAndPackages() ... DONE [13:14:00.324] run() for 'Future' ... [13:14:00.324] - state: 'created' [13:14:00.324] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.324] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.324] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.324] - Field: 'label' [13:14:00.324] - Field: 'local' [13:14:00.325] - Field: 'owner' [13:14:00.325] - Field: 'envir' [13:14:00.325] - Field: 'packages' [13:14:00.325] - Field: 'gc' [13:14:00.325] - Field: 'conditions' [13:14:00.325] - Field: 'expr' [13:14:00.325] - Field: 'uuid' [13:14:00.325] - Field: 'seed' [13:14:00.326] - Field: 'version' [13:14:00.326] - Field: 'result' [13:14:00.326] - Field: 'asynchronous' [13:14:00.326] - Field: 'calls' [13:14:00.326] - Field: 'globals' [13:14:00.326] - Field: 'stdout' [13:14:00.326] - Field: 'earlySignal' [13:14:00.326] - Field: 'lazy' [13:14:00.327] - Field: 'state' [13:14:00.327] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.327] - Launch lazy future ... [13:14:00.327] Packages needed by the future expression (n = 0): [13:14:00.327] Packages needed by future strategies (n = 0): [13:14:00.328] { [13:14:00.328] { [13:14:00.328] { [13:14:00.328] ...future.startTime <- base::Sys.time() [13:14:00.328] { [13:14:00.328] { [13:14:00.328] { [13:14:00.328] base::local({ [13:14:00.328] has_future <- base::requireNamespace("future", [13:14:00.328] quietly = TRUE) [13:14:00.328] if (has_future) { [13:14:00.328] ns <- base::getNamespace("future") [13:14:00.328] version <- ns[[".package"]][["version"]] [13:14:00.328] if (is.null(version)) [13:14:00.328] version <- utils::packageVersion("future") [13:14:00.328] } [13:14:00.328] else { [13:14:00.328] version <- NULL [13:14:00.328] } [13:14:00.328] if (!has_future || version < "1.8.0") { [13:14:00.328] info <- base::c(r_version = base::gsub("R version ", [13:14:00.328] "", base::R.version$version.string), [13:14:00.328] platform = base::sprintf("%s (%s-bit)", [13:14:00.328] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.328] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.328] "release", "version")], collapse = " "), [13:14:00.328] hostname = base::Sys.info()[["nodename"]]) [13:14:00.328] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.328] info) [13:14:00.328] info <- base::paste(info, collapse = "; ") [13:14:00.328] if (!has_future) { [13:14:00.328] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.328] info) [13:14:00.328] } [13:14:00.328] else { [13:14:00.328] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.328] info, version) [13:14:00.328] } [13:14:00.328] base::stop(msg) [13:14:00.328] } [13:14:00.328] }) [13:14:00.328] } [13:14:00.328] options(future.plan = NULL) [13:14:00.328] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.328] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.328] } [13:14:00.328] ...future.workdir <- getwd() [13:14:00.328] } [13:14:00.328] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.328] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.328] } [13:14:00.328] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.328] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.328] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.328] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.328] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.328] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.328] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.328] base::names(...future.oldOptions)) [13:14:00.328] } [13:14:00.328] if (FALSE) { [13:14:00.328] } [13:14:00.328] else { [13:14:00.328] if (TRUE) { [13:14:00.328] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.328] open = "w") [13:14:00.328] } [13:14:00.328] else { [13:14:00.328] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.328] windows = "NUL", "/dev/null"), open = "w") [13:14:00.328] } [13:14:00.328] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.328] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.328] base::sink(type = "output", split = FALSE) [13:14:00.328] base::close(...future.stdout) [13:14:00.328] }, add = TRUE) [13:14:00.328] } [13:14:00.328] ...future.frame <- base::sys.nframe() [13:14:00.328] ...future.conditions <- base::list() [13:14:00.328] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.328] if (FALSE) { [13:14:00.328] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.328] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.328] } [13:14:00.328] ...future.result <- base::tryCatch({ [13:14:00.328] base::withCallingHandlers({ [13:14:00.328] ...future.value <- base::withVisible(base::local({ [13:14:00.328] do.call(function(...) { [13:14:00.328] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.328] if (!identical(...future.globals.maxSize.org, [13:14:00.328] ...future.globals.maxSize)) { [13:14:00.328] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.328] on.exit(options(oopts), add = TRUE) [13:14:00.328] } [13:14:00.328] { [13:14:00.328] lapply(seq_along(...future.elements_ii), [13:14:00.328] FUN = function(jj) { [13:14:00.328] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.328] ...future.FUN(...future.X_jj, ...) [13:14:00.328] }) [13:14:00.328] } [13:14:00.328] }, args = future.call.arguments) [13:14:00.328] })) [13:14:00.328] future::FutureResult(value = ...future.value$value, [13:14:00.328] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.328] ...future.rng), globalenv = if (FALSE) [13:14:00.328] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.328] ...future.globalenv.names)) [13:14:00.328] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.328] }, condition = base::local({ [13:14:00.328] c <- base::c [13:14:00.328] inherits <- base::inherits [13:14:00.328] invokeRestart <- base::invokeRestart [13:14:00.328] length <- base::length [13:14:00.328] list <- base::list [13:14:00.328] seq.int <- base::seq.int [13:14:00.328] signalCondition <- base::signalCondition [13:14:00.328] sys.calls <- base::sys.calls [13:14:00.328] `[[` <- base::`[[` [13:14:00.328] `+` <- base::`+` [13:14:00.328] `<<-` <- base::`<<-` [13:14:00.328] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.328] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.328] 3L)] [13:14:00.328] } [13:14:00.328] function(cond) { [13:14:00.328] is_error <- inherits(cond, "error") [13:14:00.328] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.328] NULL) [13:14:00.328] if (is_error) { [13:14:00.328] sessionInformation <- function() { [13:14:00.328] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.328] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.328] search = base::search(), system = base::Sys.info()) [13:14:00.328] } [13:14:00.328] ...future.conditions[[length(...future.conditions) + [13:14:00.328] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.328] cond$call), session = sessionInformation(), [13:14:00.328] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.328] signalCondition(cond) [13:14:00.328] } [13:14:00.328] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.328] "immediateCondition"))) { [13:14:00.328] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.328] ...future.conditions[[length(...future.conditions) + [13:14:00.328] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.328] if (TRUE && !signal) { [13:14:00.328] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.328] { [13:14:00.328] inherits <- base::inherits [13:14:00.328] invokeRestart <- base::invokeRestart [13:14:00.328] is.null <- base::is.null [13:14:00.328] muffled <- FALSE [13:14:00.328] if (inherits(cond, "message")) { [13:14:00.328] muffled <- grepl(pattern, "muffleMessage") [13:14:00.328] if (muffled) [13:14:00.328] invokeRestart("muffleMessage") [13:14:00.328] } [13:14:00.328] else if (inherits(cond, "warning")) { [13:14:00.328] muffled <- grepl(pattern, "muffleWarning") [13:14:00.328] if (muffled) [13:14:00.328] invokeRestart("muffleWarning") [13:14:00.328] } [13:14:00.328] else if (inherits(cond, "condition")) { [13:14:00.328] if (!is.null(pattern)) { [13:14:00.328] computeRestarts <- base::computeRestarts [13:14:00.328] grepl <- base::grepl [13:14:00.328] restarts <- computeRestarts(cond) [13:14:00.328] for (restart in restarts) { [13:14:00.328] name <- restart$name [13:14:00.328] if (is.null(name)) [13:14:00.328] next [13:14:00.328] if (!grepl(pattern, name)) [13:14:00.328] next [13:14:00.328] invokeRestart(restart) [13:14:00.328] muffled <- TRUE [13:14:00.328] break [13:14:00.328] } [13:14:00.328] } [13:14:00.328] } [13:14:00.328] invisible(muffled) [13:14:00.328] } [13:14:00.328] muffleCondition(cond, pattern = "^muffle") [13:14:00.328] } [13:14:00.328] } [13:14:00.328] else { [13:14:00.328] if (TRUE) { [13:14:00.328] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.328] { [13:14:00.328] inherits <- base::inherits [13:14:00.328] invokeRestart <- base::invokeRestart [13:14:00.328] is.null <- base::is.null [13:14:00.328] muffled <- FALSE [13:14:00.328] if (inherits(cond, "message")) { [13:14:00.328] muffled <- grepl(pattern, "muffleMessage") [13:14:00.328] if (muffled) [13:14:00.328] invokeRestart("muffleMessage") [13:14:00.328] } [13:14:00.328] else if (inherits(cond, "warning")) { [13:14:00.328] muffled <- grepl(pattern, "muffleWarning") [13:14:00.328] if (muffled) [13:14:00.328] invokeRestart("muffleWarning") [13:14:00.328] } [13:14:00.328] else if (inherits(cond, "condition")) { [13:14:00.328] if (!is.null(pattern)) { [13:14:00.328] computeRestarts <- base::computeRestarts [13:14:00.328] grepl <- base::grepl [13:14:00.328] restarts <- computeRestarts(cond) [13:14:00.328] for (restart in restarts) { [13:14:00.328] name <- restart$name [13:14:00.328] if (is.null(name)) [13:14:00.328] next [13:14:00.328] if (!grepl(pattern, name)) [13:14:00.328] next [13:14:00.328] invokeRestart(restart) [13:14:00.328] muffled <- TRUE [13:14:00.328] break [13:14:00.328] } [13:14:00.328] } [13:14:00.328] } [13:14:00.328] invisible(muffled) [13:14:00.328] } [13:14:00.328] muffleCondition(cond, pattern = "^muffle") [13:14:00.328] } [13:14:00.328] } [13:14:00.328] } [13:14:00.328] })) [13:14:00.328] }, error = function(ex) { [13:14:00.328] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.328] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.328] ...future.rng), started = ...future.startTime, [13:14:00.328] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.328] version = "1.8"), class = "FutureResult") [13:14:00.328] }, finally = { [13:14:00.328] if (!identical(...future.workdir, getwd())) [13:14:00.328] setwd(...future.workdir) [13:14:00.328] { [13:14:00.328] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.328] ...future.oldOptions$nwarnings <- NULL [13:14:00.328] } [13:14:00.328] base::options(...future.oldOptions) [13:14:00.328] if (.Platform$OS.type == "windows") { [13:14:00.328] old_names <- names(...future.oldEnvVars) [13:14:00.328] envs <- base::Sys.getenv() [13:14:00.328] names <- names(envs) [13:14:00.328] common <- intersect(names, old_names) [13:14:00.328] added <- setdiff(names, old_names) [13:14:00.328] removed <- setdiff(old_names, names) [13:14:00.328] changed <- common[...future.oldEnvVars[common] != [13:14:00.328] envs[common]] [13:14:00.328] NAMES <- toupper(changed) [13:14:00.328] args <- list() [13:14:00.328] for (kk in seq_along(NAMES)) { [13:14:00.328] name <- changed[[kk]] [13:14:00.328] NAME <- NAMES[[kk]] [13:14:00.328] if (name != NAME && is.element(NAME, old_names)) [13:14:00.328] next [13:14:00.328] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.328] } [13:14:00.328] NAMES <- toupper(added) [13:14:00.328] for (kk in seq_along(NAMES)) { [13:14:00.328] name <- added[[kk]] [13:14:00.328] NAME <- NAMES[[kk]] [13:14:00.328] if (name != NAME && is.element(NAME, old_names)) [13:14:00.328] next [13:14:00.328] args[[name]] <- "" [13:14:00.328] } [13:14:00.328] NAMES <- toupper(removed) [13:14:00.328] for (kk in seq_along(NAMES)) { [13:14:00.328] name <- removed[[kk]] [13:14:00.328] NAME <- NAMES[[kk]] [13:14:00.328] if (name != NAME && is.element(NAME, old_names)) [13:14:00.328] next [13:14:00.328] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.328] } [13:14:00.328] if (length(args) > 0) [13:14:00.328] base::do.call(base::Sys.setenv, args = args) [13:14:00.328] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.328] } [13:14:00.328] else { [13:14:00.328] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.328] } [13:14:00.328] { [13:14:00.328] if (base::length(...future.futureOptionsAdded) > [13:14:00.328] 0L) { [13:14:00.328] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.328] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.328] base::options(opts) [13:14:00.328] } [13:14:00.328] { [13:14:00.328] { [13:14:00.328] NULL [13:14:00.328] RNGkind("Mersenne-Twister") [13:14:00.328] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.328] inherits = FALSE) [13:14:00.328] } [13:14:00.328] options(future.plan = NULL) [13:14:00.328] if (is.na(NA_character_)) [13:14:00.328] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.328] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.328] future::plan(list(function (..., envir = parent.frame()) [13:14:00.328] { [13:14:00.328] future <- SequentialFuture(..., envir = envir) [13:14:00.328] if (!future$lazy) [13:14:00.328] future <- run(future) [13:14:00.328] invisible(future) [13:14:00.328] }), .cleanup = FALSE, .init = FALSE) [13:14:00.328] } [13:14:00.328] } [13:14:00.328] } [13:14:00.328] }) [13:14:00.328] if (TRUE) { [13:14:00.328] base::sink(type = "output", split = FALSE) [13:14:00.328] if (TRUE) { [13:14:00.328] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.328] } [13:14:00.328] else { [13:14:00.328] ...future.result["stdout"] <- base::list(NULL) [13:14:00.328] } [13:14:00.328] base::close(...future.stdout) [13:14:00.328] ...future.stdout <- NULL [13:14:00.328] } [13:14:00.328] ...future.result$conditions <- ...future.conditions [13:14:00.328] ...future.result$finished <- base::Sys.time() [13:14:00.328] ...future.result [13:14:00.328] } [13:14:00.330] assign_globals() ... [13:14:00.330] List of 5 [13:14:00.330] $ ...future.FUN :function (x) [13:14:00.330] $ future.call.arguments : list() [13:14:00.330] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.330] $ ...future.elements_ii :List of 3 [13:14:00.330] ..$ a: num 1 [13:14:00.330] ..$ b: num 2 [13:14:00.330] ..$ c: num 3 [13:14:00.330] $ ...future.seeds_ii : NULL [13:14:00.330] $ ...future.globals.maxSize: NULL [13:14:00.330] - attr(*, "where")=List of 5 [13:14:00.330] ..$ ...future.FUN : [13:14:00.330] ..$ future.call.arguments : [13:14:00.330] ..$ ...future.elements_ii : [13:14:00.330] ..$ ...future.seeds_ii : [13:14:00.330] ..$ ...future.globals.maxSize: [13:14:00.330] - attr(*, "resolved")= logi FALSE [13:14:00.330] - attr(*, "total_size")= num 848 [13:14:00.330] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.330] - attr(*, "already-done")= logi TRUE [13:14:00.335] - copied '...future.FUN' to environment [13:14:00.335] - copied 'future.call.arguments' to environment [13:14:00.335] - copied '...future.elements_ii' to environment [13:14:00.335] - copied '...future.seeds_ii' to environment [13:14:00.335] - copied '...future.globals.maxSize' to environment [13:14:00.336] assign_globals() ... done [13:14:00.336] plan(): Setting new future strategy stack: [13:14:00.336] List of future strategies: [13:14:00.336] 1. sequential: [13:14:00.336] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.336] - tweaked: FALSE [13:14:00.336] - call: NULL [13:14:00.336] plan(): nbrOfWorkers() = 1 [13:14:00.337] plan(): Setting new future strategy stack: [13:14:00.337] List of future strategies: [13:14:00.337] 1. sequential: [13:14:00.337] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.337] - tweaked: FALSE [13:14:00.337] - call: plan(strategy) [13:14:00.338] plan(): nbrOfWorkers() = 1 [13:14:00.338] SequentialFuture started (and completed) [13:14:00.338] - Launch lazy future ... done [13:14:00.338] run() for 'SequentialFuture' ... done [13:14:00.338] Created future: [13:14:00.338] SequentialFuture: [13:14:00.338] Label: 'future_sapply-1' [13:14:00.338] Expression: [13:14:00.338] { [13:14:00.338] do.call(function(...) { [13:14:00.338] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.338] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.338] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.338] on.exit(options(oopts), add = TRUE) [13:14:00.338] } [13:14:00.338] { [13:14:00.338] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.338] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.338] ...future.FUN(...future.X_jj, ...) [13:14:00.338] }) [13:14:00.338] } [13:14:00.338] }, args = future.call.arguments) [13:14:00.338] } [13:14:00.338] Lazy evaluation: FALSE [13:14:00.338] Asynchronous evaluation: FALSE [13:14:00.338] Local evaluation: TRUE [13:14:00.338] Environment: R_GlobalEnv [13:14:00.338] Capture standard output: TRUE [13:14:00.338] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.338] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.338] Packages: [13:14:00.338] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.338] Resolved: TRUE [13:14:00.338] Value: 168 bytes of class 'list' [13:14:00.338] Early signaling: FALSE [13:14:00.338] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.338] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.339] Chunk #1 of 1 ... DONE [13:14:00.340] Launching 1 futures (chunks) ... DONE [13:14:00.340] Resolving 1 futures (chunks) ... [13:14:00.340] resolve() on list ... [13:14:00.340] recursive: 0 [13:14:00.340] length: 1 [13:14:00.340] [13:14:00.340] resolved() for 'SequentialFuture' ... [13:14:00.340] - state: 'finished' [13:14:00.341] - run: TRUE [13:14:00.341] - result: 'FutureResult' [13:14:00.341] resolved() for 'SequentialFuture' ... done [13:14:00.341] Future #1 [13:14:00.341] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.341] - nx: 1 [13:14:00.341] - relay: TRUE [13:14:00.341] - stdout: TRUE [13:14:00.342] - signal: TRUE [13:14:00.342] - resignal: FALSE [13:14:00.342] - force: TRUE [13:14:00.343] - relayed: [n=1] FALSE [13:14:00.343] - queued futures: [n=1] FALSE [13:14:00.343] - until=1 [13:14:00.343] - relaying element #1 [13:14:00.343] - relayed: [n=1] TRUE [13:14:00.343] - queued futures: [n=1] TRUE [13:14:00.343] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.343] length: 0 (resolved future 1) [13:14:00.344] Relaying remaining futures [13:14:00.344] signalConditionsASAP(NULL, pos=0) ... [13:14:00.344] - nx: 1 [13:14:00.344] - relay: TRUE [13:14:00.344] - stdout: TRUE [13:14:00.344] - signal: TRUE [13:14:00.344] - resignal: FALSE [13:14:00.344] - force: TRUE [13:14:00.344] - relayed: [n=1] TRUE [13:14:00.345] - queued futures: [n=1] TRUE - flush all [13:14:00.345] - relayed: [n=1] TRUE [13:14:00.345] - queued futures: [n=1] TRUE [13:14:00.345] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.345] resolve() on list ... DONE [13:14:00.345] - Number of value chunks collected: 1 [13:14:00.345] Resolving 1 futures (chunks) ... DONE [13:14:00.345] Reducing values from 1 chunks ... [13:14:00.346] - Number of values collected after concatenation: 3 [13:14:00.346] - Number of values expected: 3 [13:14:00.346] Reducing values from 1 chunks ... DONE [13:14:00.346] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.347] future_lapply() ... [13:14:00.348] Number of chunks: 1 [13:14:00.348] getGlobalsAndPackagesXApply() ... [13:14:00.348] - future.globals: TRUE [13:14:00.348] getGlobalsAndPackages() ... [13:14:00.348] Searching for globals... [13:14:00.349] - globals found: [2] 'FUN', 'UseMethod' [13:14:00.349] Searching for globals ... DONE [13:14:00.349] Resolving globals: FALSE [13:14:00.350] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:00.350] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:00.350] - globals: [1] 'FUN' [13:14:00.350] [13:14:00.350] getGlobalsAndPackages() ... DONE [13:14:00.350] - globals found/used: [n=1] 'FUN' [13:14:00.351] - needed namespaces: [n=0] [13:14:00.351] Finding globals ... DONE [13:14:00.351] - use_args: TRUE [13:14:00.351] - Getting '...' globals ... [13:14:00.351] resolve() on list ... [13:14:00.351] recursive: 0 [13:14:00.351] length: 1 [13:14:00.351] elements: '...' [13:14:00.352] length: 0 (resolved future 1) [13:14:00.352] resolve() on list ... DONE [13:14:00.352] - '...' content: [n=0] [13:14:00.352] List of 1 [13:14:00.352] $ ...: list() [13:14:00.352] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.352] - attr(*, "where")=List of 1 [13:14:00.352] ..$ ...: [13:14:00.352] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.352] - attr(*, "resolved")= logi TRUE [13:14:00.352] - attr(*, "total_size")= num NA [13:14:00.354] - Getting '...' globals ... DONE [13:14:00.354] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.354] List of 2 [13:14:00.354] $ ...future.FUN:function (x, ...) [13:14:00.354] $ ... : list() [13:14:00.354] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.354] - attr(*, "where")=List of 2 [13:14:00.354] ..$ ...future.FUN: [13:14:00.354] ..$ ... : [13:14:00.354] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.354] - attr(*, "resolved")= logi FALSE [13:14:00.354] - attr(*, "total_size")= num 1248 [13:14:00.356] Packages to be attached in all futures: [n=0] [13:14:00.357] getGlobalsAndPackagesXApply() ... DONE [13:14:00.357] Number of futures (= number of chunks): 1 [13:14:00.357] Launching 1 futures (chunks) ... [13:14:00.357] Chunk #1 of 1 ... [13:14:00.357] - Finding globals in 'X' for chunk #1 ... [13:14:00.357] getGlobalsAndPackages() ... [13:14:00.357] Searching for globals... [13:14:00.358] [13:14:00.358] Searching for globals ... DONE [13:14:00.358] - globals: [0] [13:14:00.358] getGlobalsAndPackages() ... DONE [13:14:00.358] + additional globals found: [n=0] [13:14:00.358] + additional namespaces needed: [n=0] [13:14:00.358] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.358] - seeds: [13:14:00.359] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.359] getGlobalsAndPackages() ... [13:14:00.359] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.359] Resolving globals: FALSE [13:14:00.359] Tweak future expression to call with '...' arguments ... [13:14:00.359] { [13:14:00.359] do.call(function(...) { [13:14:00.359] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.359] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.359] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.359] on.exit(options(oopts), add = TRUE) [13:14:00.359] } [13:14:00.359] { [13:14:00.359] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.359] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.359] ...future.FUN(...future.X_jj, ...) [13:14:00.359] }) [13:14:00.359] } [13:14:00.359] }, args = future.call.arguments) [13:14:00.359] } [13:14:00.359] Tweak future expression to call with '...' arguments ... DONE [13:14:00.360] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.360] [13:14:00.361] getGlobalsAndPackages() ... DONE [13:14:00.361] run() for 'Future' ... [13:14:00.361] - state: 'created' [13:14:00.361] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.361] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.361] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.362] - Field: 'label' [13:14:00.362] - Field: 'local' [13:14:00.362] - Field: 'owner' [13:14:00.362] - Field: 'envir' [13:14:00.362] - Field: 'packages' [13:14:00.362] - Field: 'gc' [13:14:00.362] - Field: 'conditions' [13:14:00.362] - Field: 'expr' [13:14:00.363] - Field: 'uuid' [13:14:00.363] - Field: 'seed' [13:14:00.363] - Field: 'version' [13:14:00.363] - Field: 'result' [13:14:00.363] - Field: 'asynchronous' [13:14:00.363] - Field: 'calls' [13:14:00.363] - Field: 'globals' [13:14:00.363] - Field: 'stdout' [13:14:00.364] - Field: 'earlySignal' [13:14:00.364] - Field: 'lazy' [13:14:00.364] - Field: 'state' [13:14:00.364] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.364] - Launch lazy future ... [13:14:00.364] Packages needed by the future expression (n = 0): [13:14:00.364] Packages needed by future strategies (n = 0): [13:14:00.365] { [13:14:00.365] { [13:14:00.365] { [13:14:00.365] ...future.startTime <- base::Sys.time() [13:14:00.365] { [13:14:00.365] { [13:14:00.365] { [13:14:00.365] base::local({ [13:14:00.365] has_future <- base::requireNamespace("future", [13:14:00.365] quietly = TRUE) [13:14:00.365] if (has_future) { [13:14:00.365] ns <- base::getNamespace("future") [13:14:00.365] version <- ns[[".package"]][["version"]] [13:14:00.365] if (is.null(version)) [13:14:00.365] version <- utils::packageVersion("future") [13:14:00.365] } [13:14:00.365] else { [13:14:00.365] version <- NULL [13:14:00.365] } [13:14:00.365] if (!has_future || version < "1.8.0") { [13:14:00.365] info <- base::c(r_version = base::gsub("R version ", [13:14:00.365] "", base::R.version$version.string), [13:14:00.365] platform = base::sprintf("%s (%s-bit)", [13:14:00.365] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.365] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.365] "release", "version")], collapse = " "), [13:14:00.365] hostname = base::Sys.info()[["nodename"]]) [13:14:00.365] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.365] info) [13:14:00.365] info <- base::paste(info, collapse = "; ") [13:14:00.365] if (!has_future) { [13:14:00.365] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.365] info) [13:14:00.365] } [13:14:00.365] else { [13:14:00.365] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.365] info, version) [13:14:00.365] } [13:14:00.365] base::stop(msg) [13:14:00.365] } [13:14:00.365] }) [13:14:00.365] } [13:14:00.365] options(future.plan = NULL) [13:14:00.365] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.365] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.365] } [13:14:00.365] ...future.workdir <- getwd() [13:14:00.365] } [13:14:00.365] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.365] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.365] } [13:14:00.365] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.365] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.365] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.365] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.365] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.365] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.365] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.365] base::names(...future.oldOptions)) [13:14:00.365] } [13:14:00.365] if (FALSE) { [13:14:00.365] } [13:14:00.365] else { [13:14:00.365] if (TRUE) { [13:14:00.365] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.365] open = "w") [13:14:00.365] } [13:14:00.365] else { [13:14:00.365] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.365] windows = "NUL", "/dev/null"), open = "w") [13:14:00.365] } [13:14:00.365] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.365] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.365] base::sink(type = "output", split = FALSE) [13:14:00.365] base::close(...future.stdout) [13:14:00.365] }, add = TRUE) [13:14:00.365] } [13:14:00.365] ...future.frame <- base::sys.nframe() [13:14:00.365] ...future.conditions <- base::list() [13:14:00.365] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.365] if (FALSE) { [13:14:00.365] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.365] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.365] } [13:14:00.365] ...future.result <- base::tryCatch({ [13:14:00.365] base::withCallingHandlers({ [13:14:00.365] ...future.value <- base::withVisible(base::local({ [13:14:00.365] do.call(function(...) { [13:14:00.365] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.365] if (!identical(...future.globals.maxSize.org, [13:14:00.365] ...future.globals.maxSize)) { [13:14:00.365] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.365] on.exit(options(oopts), add = TRUE) [13:14:00.365] } [13:14:00.365] { [13:14:00.365] lapply(seq_along(...future.elements_ii), [13:14:00.365] FUN = function(jj) { [13:14:00.365] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.365] ...future.FUN(...future.X_jj, ...) [13:14:00.365] }) [13:14:00.365] } [13:14:00.365] }, args = future.call.arguments) [13:14:00.365] })) [13:14:00.365] future::FutureResult(value = ...future.value$value, [13:14:00.365] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.365] ...future.rng), globalenv = if (FALSE) [13:14:00.365] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.365] ...future.globalenv.names)) [13:14:00.365] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.365] }, condition = base::local({ [13:14:00.365] c <- base::c [13:14:00.365] inherits <- base::inherits [13:14:00.365] invokeRestart <- base::invokeRestart [13:14:00.365] length <- base::length [13:14:00.365] list <- base::list [13:14:00.365] seq.int <- base::seq.int [13:14:00.365] signalCondition <- base::signalCondition [13:14:00.365] sys.calls <- base::sys.calls [13:14:00.365] `[[` <- base::`[[` [13:14:00.365] `+` <- base::`+` [13:14:00.365] `<<-` <- base::`<<-` [13:14:00.365] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.365] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.365] 3L)] [13:14:00.365] } [13:14:00.365] function(cond) { [13:14:00.365] is_error <- inherits(cond, "error") [13:14:00.365] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.365] NULL) [13:14:00.365] if (is_error) { [13:14:00.365] sessionInformation <- function() { [13:14:00.365] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.365] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.365] search = base::search(), system = base::Sys.info()) [13:14:00.365] } [13:14:00.365] ...future.conditions[[length(...future.conditions) + [13:14:00.365] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.365] cond$call), session = sessionInformation(), [13:14:00.365] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.365] signalCondition(cond) [13:14:00.365] } [13:14:00.365] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.365] "immediateCondition"))) { [13:14:00.365] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.365] ...future.conditions[[length(...future.conditions) + [13:14:00.365] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.365] if (TRUE && !signal) { [13:14:00.365] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.365] { [13:14:00.365] inherits <- base::inherits [13:14:00.365] invokeRestart <- base::invokeRestart [13:14:00.365] is.null <- base::is.null [13:14:00.365] muffled <- FALSE [13:14:00.365] if (inherits(cond, "message")) { [13:14:00.365] muffled <- grepl(pattern, "muffleMessage") [13:14:00.365] if (muffled) [13:14:00.365] invokeRestart("muffleMessage") [13:14:00.365] } [13:14:00.365] else if (inherits(cond, "warning")) { [13:14:00.365] muffled <- grepl(pattern, "muffleWarning") [13:14:00.365] if (muffled) [13:14:00.365] invokeRestart("muffleWarning") [13:14:00.365] } [13:14:00.365] else if (inherits(cond, "condition")) { [13:14:00.365] if (!is.null(pattern)) { [13:14:00.365] computeRestarts <- base::computeRestarts [13:14:00.365] grepl <- base::grepl [13:14:00.365] restarts <- computeRestarts(cond) [13:14:00.365] for (restart in restarts) { [13:14:00.365] name <- restart$name [13:14:00.365] if (is.null(name)) [13:14:00.365] next [13:14:00.365] if (!grepl(pattern, name)) [13:14:00.365] next [13:14:00.365] invokeRestart(restart) [13:14:00.365] muffled <- TRUE [13:14:00.365] break [13:14:00.365] } [13:14:00.365] } [13:14:00.365] } [13:14:00.365] invisible(muffled) [13:14:00.365] } [13:14:00.365] muffleCondition(cond, pattern = "^muffle") [13:14:00.365] } [13:14:00.365] } [13:14:00.365] else { [13:14:00.365] if (TRUE) { [13:14:00.365] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.365] { [13:14:00.365] inherits <- base::inherits [13:14:00.365] invokeRestart <- base::invokeRestart [13:14:00.365] is.null <- base::is.null [13:14:00.365] muffled <- FALSE [13:14:00.365] if (inherits(cond, "message")) { [13:14:00.365] muffled <- grepl(pattern, "muffleMessage") [13:14:00.365] if (muffled) [13:14:00.365] invokeRestart("muffleMessage") [13:14:00.365] } [13:14:00.365] else if (inherits(cond, "warning")) { [13:14:00.365] muffled <- grepl(pattern, "muffleWarning") [13:14:00.365] if (muffled) [13:14:00.365] invokeRestart("muffleWarning") [13:14:00.365] } [13:14:00.365] else if (inherits(cond, "condition")) { [13:14:00.365] if (!is.null(pattern)) { [13:14:00.365] computeRestarts <- base::computeRestarts [13:14:00.365] grepl <- base::grepl [13:14:00.365] restarts <- computeRestarts(cond) [13:14:00.365] for (restart in restarts) { [13:14:00.365] name <- restart$name [13:14:00.365] if (is.null(name)) [13:14:00.365] next [13:14:00.365] if (!grepl(pattern, name)) [13:14:00.365] next [13:14:00.365] invokeRestart(restart) [13:14:00.365] muffled <- TRUE [13:14:00.365] break [13:14:00.365] } [13:14:00.365] } [13:14:00.365] } [13:14:00.365] invisible(muffled) [13:14:00.365] } [13:14:00.365] muffleCondition(cond, pattern = "^muffle") [13:14:00.365] } [13:14:00.365] } [13:14:00.365] } [13:14:00.365] })) [13:14:00.365] }, error = function(ex) { [13:14:00.365] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.365] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.365] ...future.rng), started = ...future.startTime, [13:14:00.365] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.365] version = "1.8"), class = "FutureResult") [13:14:00.365] }, finally = { [13:14:00.365] if (!identical(...future.workdir, getwd())) [13:14:00.365] setwd(...future.workdir) [13:14:00.365] { [13:14:00.365] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.365] ...future.oldOptions$nwarnings <- NULL [13:14:00.365] } [13:14:00.365] base::options(...future.oldOptions) [13:14:00.365] if (.Platform$OS.type == "windows") { [13:14:00.365] old_names <- names(...future.oldEnvVars) [13:14:00.365] envs <- base::Sys.getenv() [13:14:00.365] names <- names(envs) [13:14:00.365] common <- intersect(names, old_names) [13:14:00.365] added <- setdiff(names, old_names) [13:14:00.365] removed <- setdiff(old_names, names) [13:14:00.365] changed <- common[...future.oldEnvVars[common] != [13:14:00.365] envs[common]] [13:14:00.365] NAMES <- toupper(changed) [13:14:00.365] args <- list() [13:14:00.365] for (kk in seq_along(NAMES)) { [13:14:00.365] name <- changed[[kk]] [13:14:00.365] NAME <- NAMES[[kk]] [13:14:00.365] if (name != NAME && is.element(NAME, old_names)) [13:14:00.365] next [13:14:00.365] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.365] } [13:14:00.365] NAMES <- toupper(added) [13:14:00.365] for (kk in seq_along(NAMES)) { [13:14:00.365] name <- added[[kk]] [13:14:00.365] NAME <- NAMES[[kk]] [13:14:00.365] if (name != NAME && is.element(NAME, old_names)) [13:14:00.365] next [13:14:00.365] args[[name]] <- "" [13:14:00.365] } [13:14:00.365] NAMES <- toupper(removed) [13:14:00.365] for (kk in seq_along(NAMES)) { [13:14:00.365] name <- removed[[kk]] [13:14:00.365] NAME <- NAMES[[kk]] [13:14:00.365] if (name != NAME && is.element(NAME, old_names)) [13:14:00.365] next [13:14:00.365] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.365] } [13:14:00.365] if (length(args) > 0) [13:14:00.365] base::do.call(base::Sys.setenv, args = args) [13:14:00.365] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.365] } [13:14:00.365] else { [13:14:00.365] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.365] } [13:14:00.365] { [13:14:00.365] if (base::length(...future.futureOptionsAdded) > [13:14:00.365] 0L) { [13:14:00.365] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.365] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.365] base::options(opts) [13:14:00.365] } [13:14:00.365] { [13:14:00.365] { [13:14:00.365] NULL [13:14:00.365] RNGkind("Mersenne-Twister") [13:14:00.365] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.365] inherits = FALSE) [13:14:00.365] } [13:14:00.365] options(future.plan = NULL) [13:14:00.365] if (is.na(NA_character_)) [13:14:00.365] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.365] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.365] future::plan(list(function (..., envir = parent.frame()) [13:14:00.365] { [13:14:00.365] future <- SequentialFuture(..., envir = envir) [13:14:00.365] if (!future$lazy) [13:14:00.365] future <- run(future) [13:14:00.365] invisible(future) [13:14:00.365] }), .cleanup = FALSE, .init = FALSE) [13:14:00.365] } [13:14:00.365] } [13:14:00.365] } [13:14:00.365] }) [13:14:00.365] if (TRUE) { [13:14:00.365] base::sink(type = "output", split = FALSE) [13:14:00.365] if (TRUE) { [13:14:00.365] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.365] } [13:14:00.365] else { [13:14:00.365] ...future.result["stdout"] <- base::list(NULL) [13:14:00.365] } [13:14:00.365] base::close(...future.stdout) [13:14:00.365] ...future.stdout <- NULL [13:14:00.365] } [13:14:00.365] ...future.result$conditions <- ...future.conditions [13:14:00.365] ...future.result$finished <- base::Sys.time() [13:14:00.365] ...future.result [13:14:00.365] } [13:14:00.368] assign_globals() ... [13:14:00.368] List of 5 [13:14:00.368] $ ...future.FUN :function (x, ...) [13:14:00.368] $ future.call.arguments : list() [13:14:00.368] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.368] $ ...future.elements_ii :List of 3 [13:14:00.368] ..$ a: num 1 [13:14:00.368] ..$ b: num 2 [13:14:00.368] ..$ c: num 3 [13:14:00.368] $ ...future.seeds_ii : NULL [13:14:00.368] $ ...future.globals.maxSize: NULL [13:14:00.368] - attr(*, "where")=List of 5 [13:14:00.368] ..$ ...future.FUN : [13:14:00.368] ..$ future.call.arguments : [13:14:00.368] ..$ ...future.elements_ii : [13:14:00.368] ..$ ...future.seeds_ii : [13:14:00.368] ..$ ...future.globals.maxSize: [13:14:00.368] - attr(*, "resolved")= logi FALSE [13:14:00.368] - attr(*, "total_size")= num 1248 [13:14:00.368] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.368] - attr(*, "already-done")= logi TRUE [13:14:00.372] - copied '...future.FUN' to environment [13:14:00.372] - copied 'future.call.arguments' to environment [13:14:00.372] - copied '...future.elements_ii' to environment [13:14:00.372] - copied '...future.seeds_ii' to environment [13:14:00.372] - copied '...future.globals.maxSize' to environment [13:14:00.373] assign_globals() ... done [13:14:00.373] plan(): Setting new future strategy stack: [13:14:00.373] List of future strategies: [13:14:00.373] 1. sequential: [13:14:00.373] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.373] - tweaked: FALSE [13:14:00.373] - call: NULL [13:14:00.373] plan(): nbrOfWorkers() = 1 [13:14:00.374] plan(): Setting new future strategy stack: [13:14:00.374] List of future strategies: [13:14:00.374] 1. sequential: [13:14:00.374] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.374] - tweaked: FALSE [13:14:00.374] - call: plan(strategy) [13:14:00.375] plan(): nbrOfWorkers() = 1 [13:14:00.375] SequentialFuture started (and completed) [13:14:00.375] - Launch lazy future ... done [13:14:00.375] run() for 'SequentialFuture' ... done [13:14:00.375] Created future: [13:14:00.375] SequentialFuture: [13:14:00.375] Label: 'future_sapply-1' [13:14:00.375] Expression: [13:14:00.375] { [13:14:00.375] do.call(function(...) { [13:14:00.375] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.375] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.375] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.375] on.exit(options(oopts), add = TRUE) [13:14:00.375] } [13:14:00.375] { [13:14:00.375] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.375] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.375] ...future.FUN(...future.X_jj, ...) [13:14:00.375] }) [13:14:00.375] } [13:14:00.375] }, args = future.call.arguments) [13:14:00.375] } [13:14:00.375] Lazy evaluation: FALSE [13:14:00.375] Asynchronous evaluation: FALSE [13:14:00.375] Local evaluation: TRUE [13:14:00.375] Environment: R_GlobalEnv [13:14:00.375] Capture standard output: TRUE [13:14:00.375] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.375] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.375] Packages: [13:14:00.375] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.375] Resolved: TRUE [13:14:00.375] Value: 672 bytes of class 'list' [13:14:00.375] Early signaling: FALSE [13:14:00.375] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.375] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.376] Chunk #1 of 1 ... DONE [13:14:00.376] Launching 1 futures (chunks) ... DONE [13:14:00.377] Resolving 1 futures (chunks) ... [13:14:00.377] resolve() on list ... [13:14:00.377] recursive: 0 [13:14:00.377] length: 1 [13:14:00.377] [13:14:00.377] resolved() for 'SequentialFuture' ... [13:14:00.377] - state: 'finished' [13:14:00.377] - run: TRUE [13:14:00.378] - result: 'FutureResult' [13:14:00.378] resolved() for 'SequentialFuture' ... done [13:14:00.378] Future #1 [13:14:00.378] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.378] - nx: 1 [13:14:00.378] - relay: TRUE [13:14:00.378] - stdout: TRUE [13:14:00.378] - signal: TRUE [13:14:00.378] - resignal: FALSE [13:14:00.379] - force: TRUE [13:14:00.379] - relayed: [n=1] FALSE [13:14:00.379] - queued futures: [n=1] FALSE [13:14:00.379] - until=1 [13:14:00.379] - relaying element #1 [13:14:00.379] - relayed: [n=1] TRUE [13:14:00.379] - queued futures: [n=1] TRUE [13:14:00.379] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.380] length: 0 (resolved future 1) [13:14:00.380] Relaying remaining futures [13:14:00.380] signalConditionsASAP(NULL, pos=0) ... [13:14:00.380] - nx: 1 [13:14:00.380] - relay: TRUE [13:14:00.380] - stdout: TRUE [13:14:00.380] - signal: TRUE [13:14:00.380] - resignal: FALSE [13:14:00.380] - force: TRUE [13:14:00.381] - relayed: [n=1] TRUE [13:14:00.381] - queued futures: [n=1] TRUE - flush all [13:14:00.381] - relayed: [n=1] TRUE [13:14:00.381] - queued futures: [n=1] TRUE [13:14:00.382] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.382] resolve() on list ... DONE [13:14:00.382] - Number of value chunks collected: 1 [13:14:00.382] Resolving 1 futures (chunks) ... DONE [13:14:00.382] Reducing values from 1 chunks ... [13:14:00.382] - Number of values collected after concatenation: 3 [13:14:00.382] - Number of values expected: 3 [13:14:00.382] Reducing values from 1 chunks ... DONE [13:14:00.383] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.384] future_lapply() ... [13:14:00.385] Number of chunks: 1 [13:14:00.385] getGlobalsAndPackagesXApply() ... [13:14:00.385] - future.globals: TRUE [13:14:00.385] getGlobalsAndPackages() ... [13:14:00.385] Searching for globals... [13:14:00.386] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:00.386] Searching for globals ... DONE [13:14:00.387] Resolving globals: FALSE [13:14:00.387] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:00.387] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:00.387] - globals: [1] 'FUN' [13:14:00.387] [13:14:00.388] getGlobalsAndPackages() ... DONE [13:14:00.388] - globals found/used: [n=1] 'FUN' [13:14:00.388] - needed namespaces: [n=0] [13:14:00.388] Finding globals ... DONE [13:14:00.388] - use_args: TRUE [13:14:00.388] - Getting '...' globals ... [13:14:00.388] resolve() on list ... [13:14:00.389] recursive: 0 [13:14:00.389] length: 1 [13:14:00.389] elements: '...' [13:14:00.389] length: 0 (resolved future 1) [13:14:00.389] resolve() on list ... DONE [13:14:00.389] - '...' content: [n=0] [13:14:00.389] List of 1 [13:14:00.389] $ ...: list() [13:14:00.389] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.389] - attr(*, "where")=List of 1 [13:14:00.389] ..$ ...: [13:14:00.389] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.389] - attr(*, "resolved")= logi TRUE [13:14:00.389] - attr(*, "total_size")= num NA [13:14:00.391] - Getting '...' globals ... DONE [13:14:00.391] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.392] List of 2 [13:14:00.392] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:00.392] $ ... : list() [13:14:00.392] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.392] - attr(*, "where")=List of 2 [13:14:00.392] ..$ ...future.FUN: [13:14:00.392] ..$ ... : [13:14:00.392] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.392] - attr(*, "resolved")= logi FALSE [13:14:00.392] - attr(*, "total_size")= num 4728 [13:14:00.394] Packages to be attached in all futures: [n=0] [13:14:00.394] getGlobalsAndPackagesXApply() ... DONE [13:14:00.394] Number of futures (= number of chunks): 1 [13:14:00.394] Launching 1 futures (chunks) ... [13:14:00.394] Chunk #1 of 1 ... [13:14:00.394] - Finding globals in 'X' for chunk #1 ... [13:14:00.395] getGlobalsAndPackages() ... [13:14:00.395] Searching for globals... [13:14:00.395] [13:14:00.395] Searching for globals ... DONE [13:14:00.395] - globals: [0] [13:14:00.395] getGlobalsAndPackages() ... DONE [13:14:00.395] + additional globals found: [n=0] [13:14:00.395] + additional namespaces needed: [n=0] [13:14:00.396] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.396] - seeds: [13:14:00.396] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.396] getGlobalsAndPackages() ... [13:14:00.396] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.396] Resolving globals: FALSE [13:14:00.396] Tweak future expression to call with '...' arguments ... [13:14:00.396] { [13:14:00.396] do.call(function(...) { [13:14:00.396] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.396] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.396] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.396] on.exit(options(oopts), add = TRUE) [13:14:00.396] } [13:14:00.396] { [13:14:00.396] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.396] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.396] ...future.FUN(...future.X_jj, ...) [13:14:00.396] }) [13:14:00.396] } [13:14:00.396] }, args = future.call.arguments) [13:14:00.396] } [13:14:00.397] Tweak future expression to call with '...' arguments ... DONE [13:14:00.397] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.397] [13:14:00.397] getGlobalsAndPackages() ... DONE [13:14:00.397] run() for 'Future' ... [13:14:00.398] - state: 'created' [13:14:00.398] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.398] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.398] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.399] - Field: 'label' [13:14:00.399] - Field: 'local' [13:14:00.399] - Field: 'owner' [13:14:00.399] - Field: 'envir' [13:14:00.399] - Field: 'packages' [13:14:00.399] - Field: 'gc' [13:14:00.400] - Field: 'conditions' [13:14:00.400] - Field: 'expr' [13:14:00.400] - Field: 'uuid' [13:14:00.400] - Field: 'seed' [13:14:00.400] - Field: 'version' [13:14:00.400] - Field: 'result' [13:14:00.400] - Field: 'asynchronous' [13:14:00.400] - Field: 'calls' [13:14:00.401] - Field: 'globals' [13:14:00.401] - Field: 'stdout' [13:14:00.401] - Field: 'earlySignal' [13:14:00.401] - Field: 'lazy' [13:14:00.401] - Field: 'state' [13:14:00.401] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.401] - Launch lazy future ... [13:14:00.401] Packages needed by the future expression (n = 0): [13:14:00.402] Packages needed by future strategies (n = 0): [13:14:00.402] { [13:14:00.402] { [13:14:00.402] { [13:14:00.402] ...future.startTime <- base::Sys.time() [13:14:00.402] { [13:14:00.402] { [13:14:00.402] { [13:14:00.402] base::local({ [13:14:00.402] has_future <- base::requireNamespace("future", [13:14:00.402] quietly = TRUE) [13:14:00.402] if (has_future) { [13:14:00.402] ns <- base::getNamespace("future") [13:14:00.402] version <- ns[[".package"]][["version"]] [13:14:00.402] if (is.null(version)) [13:14:00.402] version <- utils::packageVersion("future") [13:14:00.402] } [13:14:00.402] else { [13:14:00.402] version <- NULL [13:14:00.402] } [13:14:00.402] if (!has_future || version < "1.8.0") { [13:14:00.402] info <- base::c(r_version = base::gsub("R version ", [13:14:00.402] "", base::R.version$version.string), [13:14:00.402] platform = base::sprintf("%s (%s-bit)", [13:14:00.402] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.402] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.402] "release", "version")], collapse = " "), [13:14:00.402] hostname = base::Sys.info()[["nodename"]]) [13:14:00.402] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.402] info) [13:14:00.402] info <- base::paste(info, collapse = "; ") [13:14:00.402] if (!has_future) { [13:14:00.402] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.402] info) [13:14:00.402] } [13:14:00.402] else { [13:14:00.402] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.402] info, version) [13:14:00.402] } [13:14:00.402] base::stop(msg) [13:14:00.402] } [13:14:00.402] }) [13:14:00.402] } [13:14:00.402] options(future.plan = NULL) [13:14:00.402] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.402] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.402] } [13:14:00.402] ...future.workdir <- getwd() [13:14:00.402] } [13:14:00.402] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.402] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.402] } [13:14:00.402] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.402] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.402] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.402] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.402] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.402] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.402] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.402] base::names(...future.oldOptions)) [13:14:00.402] } [13:14:00.402] if (FALSE) { [13:14:00.402] } [13:14:00.402] else { [13:14:00.402] if (TRUE) { [13:14:00.402] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.402] open = "w") [13:14:00.402] } [13:14:00.402] else { [13:14:00.402] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.402] windows = "NUL", "/dev/null"), open = "w") [13:14:00.402] } [13:14:00.402] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.402] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.402] base::sink(type = "output", split = FALSE) [13:14:00.402] base::close(...future.stdout) [13:14:00.402] }, add = TRUE) [13:14:00.402] } [13:14:00.402] ...future.frame <- base::sys.nframe() [13:14:00.402] ...future.conditions <- base::list() [13:14:00.402] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.402] if (FALSE) { [13:14:00.402] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.402] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.402] } [13:14:00.402] ...future.result <- base::tryCatch({ [13:14:00.402] base::withCallingHandlers({ [13:14:00.402] ...future.value <- base::withVisible(base::local({ [13:14:00.402] do.call(function(...) { [13:14:00.402] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.402] if (!identical(...future.globals.maxSize.org, [13:14:00.402] ...future.globals.maxSize)) { [13:14:00.402] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.402] on.exit(options(oopts), add = TRUE) [13:14:00.402] } [13:14:00.402] { [13:14:00.402] lapply(seq_along(...future.elements_ii), [13:14:00.402] FUN = function(jj) { [13:14:00.402] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.402] ...future.FUN(...future.X_jj, ...) [13:14:00.402] }) [13:14:00.402] } [13:14:00.402] }, args = future.call.arguments) [13:14:00.402] })) [13:14:00.402] future::FutureResult(value = ...future.value$value, [13:14:00.402] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.402] ...future.rng), globalenv = if (FALSE) [13:14:00.402] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.402] ...future.globalenv.names)) [13:14:00.402] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.402] }, condition = base::local({ [13:14:00.402] c <- base::c [13:14:00.402] inherits <- base::inherits [13:14:00.402] invokeRestart <- base::invokeRestart [13:14:00.402] length <- base::length [13:14:00.402] list <- base::list [13:14:00.402] seq.int <- base::seq.int [13:14:00.402] signalCondition <- base::signalCondition [13:14:00.402] sys.calls <- base::sys.calls [13:14:00.402] `[[` <- base::`[[` [13:14:00.402] `+` <- base::`+` [13:14:00.402] `<<-` <- base::`<<-` [13:14:00.402] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.402] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.402] 3L)] [13:14:00.402] } [13:14:00.402] function(cond) { [13:14:00.402] is_error <- inherits(cond, "error") [13:14:00.402] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.402] NULL) [13:14:00.402] if (is_error) { [13:14:00.402] sessionInformation <- function() { [13:14:00.402] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.402] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.402] search = base::search(), system = base::Sys.info()) [13:14:00.402] } [13:14:00.402] ...future.conditions[[length(...future.conditions) + [13:14:00.402] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.402] cond$call), session = sessionInformation(), [13:14:00.402] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.402] signalCondition(cond) [13:14:00.402] } [13:14:00.402] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.402] "immediateCondition"))) { [13:14:00.402] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.402] ...future.conditions[[length(...future.conditions) + [13:14:00.402] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.402] if (TRUE && !signal) { [13:14:00.402] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.402] { [13:14:00.402] inherits <- base::inherits [13:14:00.402] invokeRestart <- base::invokeRestart [13:14:00.402] is.null <- base::is.null [13:14:00.402] muffled <- FALSE [13:14:00.402] if (inherits(cond, "message")) { [13:14:00.402] muffled <- grepl(pattern, "muffleMessage") [13:14:00.402] if (muffled) [13:14:00.402] invokeRestart("muffleMessage") [13:14:00.402] } [13:14:00.402] else if (inherits(cond, "warning")) { [13:14:00.402] muffled <- grepl(pattern, "muffleWarning") [13:14:00.402] if (muffled) [13:14:00.402] invokeRestart("muffleWarning") [13:14:00.402] } [13:14:00.402] else if (inherits(cond, "condition")) { [13:14:00.402] if (!is.null(pattern)) { [13:14:00.402] computeRestarts <- base::computeRestarts [13:14:00.402] grepl <- base::grepl [13:14:00.402] restarts <- computeRestarts(cond) [13:14:00.402] for (restart in restarts) { [13:14:00.402] name <- restart$name [13:14:00.402] if (is.null(name)) [13:14:00.402] next [13:14:00.402] if (!grepl(pattern, name)) [13:14:00.402] next [13:14:00.402] invokeRestart(restart) [13:14:00.402] muffled <- TRUE [13:14:00.402] break [13:14:00.402] } [13:14:00.402] } [13:14:00.402] } [13:14:00.402] invisible(muffled) [13:14:00.402] } [13:14:00.402] muffleCondition(cond, pattern = "^muffle") [13:14:00.402] } [13:14:00.402] } [13:14:00.402] else { [13:14:00.402] if (TRUE) { [13:14:00.402] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.402] { [13:14:00.402] inherits <- base::inherits [13:14:00.402] invokeRestart <- base::invokeRestart [13:14:00.402] is.null <- base::is.null [13:14:00.402] muffled <- FALSE [13:14:00.402] if (inherits(cond, "message")) { [13:14:00.402] muffled <- grepl(pattern, "muffleMessage") [13:14:00.402] if (muffled) [13:14:00.402] invokeRestart("muffleMessage") [13:14:00.402] } [13:14:00.402] else if (inherits(cond, "warning")) { [13:14:00.402] muffled <- grepl(pattern, "muffleWarning") [13:14:00.402] if (muffled) [13:14:00.402] invokeRestart("muffleWarning") [13:14:00.402] } [13:14:00.402] else if (inherits(cond, "condition")) { [13:14:00.402] if (!is.null(pattern)) { [13:14:00.402] computeRestarts <- base::computeRestarts [13:14:00.402] grepl <- base::grepl [13:14:00.402] restarts <- computeRestarts(cond) [13:14:00.402] for (restart in restarts) { [13:14:00.402] name <- restart$name [13:14:00.402] if (is.null(name)) [13:14:00.402] next [13:14:00.402] if (!grepl(pattern, name)) [13:14:00.402] next [13:14:00.402] invokeRestart(restart) [13:14:00.402] muffled <- TRUE [13:14:00.402] break [13:14:00.402] } [13:14:00.402] } [13:14:00.402] } [13:14:00.402] invisible(muffled) [13:14:00.402] } [13:14:00.402] muffleCondition(cond, pattern = "^muffle") [13:14:00.402] } [13:14:00.402] } [13:14:00.402] } [13:14:00.402] })) [13:14:00.402] }, error = function(ex) { [13:14:00.402] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.402] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.402] ...future.rng), started = ...future.startTime, [13:14:00.402] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.402] version = "1.8"), class = "FutureResult") [13:14:00.402] }, finally = { [13:14:00.402] if (!identical(...future.workdir, getwd())) [13:14:00.402] setwd(...future.workdir) [13:14:00.402] { [13:14:00.402] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.402] ...future.oldOptions$nwarnings <- NULL [13:14:00.402] } [13:14:00.402] base::options(...future.oldOptions) [13:14:00.402] if (.Platform$OS.type == "windows") { [13:14:00.402] old_names <- names(...future.oldEnvVars) [13:14:00.402] envs <- base::Sys.getenv() [13:14:00.402] names <- names(envs) [13:14:00.402] common <- intersect(names, old_names) [13:14:00.402] added <- setdiff(names, old_names) [13:14:00.402] removed <- setdiff(old_names, names) [13:14:00.402] changed <- common[...future.oldEnvVars[common] != [13:14:00.402] envs[common]] [13:14:00.402] NAMES <- toupper(changed) [13:14:00.402] args <- list() [13:14:00.402] for (kk in seq_along(NAMES)) { [13:14:00.402] name <- changed[[kk]] [13:14:00.402] NAME <- NAMES[[kk]] [13:14:00.402] if (name != NAME && is.element(NAME, old_names)) [13:14:00.402] next [13:14:00.402] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.402] } [13:14:00.402] NAMES <- toupper(added) [13:14:00.402] for (kk in seq_along(NAMES)) { [13:14:00.402] name <- added[[kk]] [13:14:00.402] NAME <- NAMES[[kk]] [13:14:00.402] if (name != NAME && is.element(NAME, old_names)) [13:14:00.402] next [13:14:00.402] args[[name]] <- "" [13:14:00.402] } [13:14:00.402] NAMES <- toupper(removed) [13:14:00.402] for (kk in seq_along(NAMES)) { [13:14:00.402] name <- removed[[kk]] [13:14:00.402] NAME <- NAMES[[kk]] [13:14:00.402] if (name != NAME && is.element(NAME, old_names)) [13:14:00.402] next [13:14:00.402] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.402] } [13:14:00.402] if (length(args) > 0) [13:14:00.402] base::do.call(base::Sys.setenv, args = args) [13:14:00.402] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.402] } [13:14:00.402] else { [13:14:00.402] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.402] } [13:14:00.402] { [13:14:00.402] if (base::length(...future.futureOptionsAdded) > [13:14:00.402] 0L) { [13:14:00.402] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.402] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.402] base::options(opts) [13:14:00.402] } [13:14:00.402] { [13:14:00.402] { [13:14:00.402] NULL [13:14:00.402] RNGkind("Mersenne-Twister") [13:14:00.402] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.402] inherits = FALSE) [13:14:00.402] } [13:14:00.402] options(future.plan = NULL) [13:14:00.402] if (is.na(NA_character_)) [13:14:00.402] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.402] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.402] future::plan(list(function (..., envir = parent.frame()) [13:14:00.402] { [13:14:00.402] future <- SequentialFuture(..., envir = envir) [13:14:00.402] if (!future$lazy) [13:14:00.402] future <- run(future) [13:14:00.402] invisible(future) [13:14:00.402] }), .cleanup = FALSE, .init = FALSE) [13:14:00.402] } [13:14:00.402] } [13:14:00.402] } [13:14:00.402] }) [13:14:00.402] if (TRUE) { [13:14:00.402] base::sink(type = "output", split = FALSE) [13:14:00.402] if (TRUE) { [13:14:00.402] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.402] } [13:14:00.402] else { [13:14:00.402] ...future.result["stdout"] <- base::list(NULL) [13:14:00.402] } [13:14:00.402] base::close(...future.stdout) [13:14:00.402] ...future.stdout <- NULL [13:14:00.402] } [13:14:00.402] ...future.result$conditions <- ...future.conditions [13:14:00.402] ...future.result$finished <- base::Sys.time() [13:14:00.402] ...future.result [13:14:00.402] } [13:14:00.405] assign_globals() ... [13:14:00.405] List of 5 [13:14:00.405] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:00.405] $ future.call.arguments : list() [13:14:00.405] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.405] $ ...future.elements_ii :List of 3 [13:14:00.405] ..$ a: num 1 [13:14:00.405] ..$ b: num 2 [13:14:00.405] ..$ c: num 3 [13:14:00.405] $ ...future.seeds_ii : NULL [13:14:00.405] $ ...future.globals.maxSize: NULL [13:14:00.405] - attr(*, "where")=List of 5 [13:14:00.405] ..$ ...future.FUN : [13:14:00.405] ..$ future.call.arguments : [13:14:00.405] ..$ ...future.elements_ii : [13:14:00.405] ..$ ...future.seeds_ii : [13:14:00.405] ..$ ...future.globals.maxSize: [13:14:00.405] - attr(*, "resolved")= logi FALSE [13:14:00.405] - attr(*, "total_size")= num 4728 [13:14:00.405] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.405] - attr(*, "already-done")= logi TRUE [13:14:00.409] - reassign environment for '...future.FUN' [13:14:00.409] - copied '...future.FUN' to environment [13:14:00.409] - copied 'future.call.arguments' to environment [13:14:00.409] - copied '...future.elements_ii' to environment [13:14:00.410] - copied '...future.seeds_ii' to environment [13:14:00.410] - copied '...future.globals.maxSize' to environment [13:14:00.410] assign_globals() ... done [13:14:00.410] plan(): Setting new future strategy stack: [13:14:00.410] List of future strategies: [13:14:00.410] 1. sequential: [13:14:00.410] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.410] - tweaked: FALSE [13:14:00.410] - call: NULL [13:14:00.411] plan(): nbrOfWorkers() = 1 [13:14:00.411] plan(): Setting new future strategy stack: [13:14:00.411] List of future strategies: [13:14:00.411] 1. sequential: [13:14:00.411] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.411] - tweaked: FALSE [13:14:00.411] - call: plan(strategy) [13:14:00.412] plan(): nbrOfWorkers() = 1 [13:14:00.412] SequentialFuture started (and completed) [13:14:00.412] - Launch lazy future ... done [13:14:00.412] run() for 'SequentialFuture' ... done [13:14:00.412] Created future: [13:14:00.413] SequentialFuture: [13:14:00.413] Label: 'future_sapply-1' [13:14:00.413] Expression: [13:14:00.413] { [13:14:00.413] do.call(function(...) { [13:14:00.413] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.413] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.413] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.413] on.exit(options(oopts), add = TRUE) [13:14:00.413] } [13:14:00.413] { [13:14:00.413] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.413] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.413] ...future.FUN(...future.X_jj, ...) [13:14:00.413] }) [13:14:00.413] } [13:14:00.413] }, args = future.call.arguments) [13:14:00.413] } [13:14:00.413] Lazy evaluation: FALSE [13:14:00.413] Asynchronous evaluation: FALSE [13:14:00.413] Local evaluation: TRUE [13:14:00.413] Environment: R_GlobalEnv [13:14:00.413] Capture standard output: TRUE [13:14:00.413] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.413] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.413] Packages: [13:14:00.413] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.413] Resolved: TRUE [13:14:00.413] Value: 1.01 KiB of class 'list' [13:14:00.413] Early signaling: FALSE [13:14:00.413] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.413] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.414] Chunk #1 of 1 ... DONE [13:14:00.414] Launching 1 futures (chunks) ... DONE [13:14:00.414] Resolving 1 futures (chunks) ... [13:14:00.414] resolve() on list ... [13:14:00.414] recursive: 0 [13:14:00.414] length: 1 [13:14:00.414] [13:14:00.414] resolved() for 'SequentialFuture' ... [13:14:00.414] - state: 'finished' [13:14:00.415] - run: TRUE [13:14:00.415] - result: 'FutureResult' [13:14:00.415] resolved() for 'SequentialFuture' ... done [13:14:00.415] Future #1 [13:14:00.415] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.415] - nx: 1 [13:14:00.415] - relay: TRUE [13:14:00.415] - stdout: TRUE [13:14:00.416] - signal: TRUE [13:14:00.416] - resignal: FALSE [13:14:00.416] - force: TRUE [13:14:00.416] - relayed: [n=1] FALSE [13:14:00.416] - queued futures: [n=1] FALSE [13:14:00.416] - until=1 [13:14:00.416] - relaying element #1 [13:14:00.416] - relayed: [n=1] TRUE [13:14:00.416] - queued futures: [n=1] TRUE [13:14:00.417] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.417] length: 0 (resolved future 1) [13:14:00.417] Relaying remaining futures [13:14:00.417] signalConditionsASAP(NULL, pos=0) ... [13:14:00.417] - nx: 1 [13:14:00.417] - relay: TRUE [13:14:00.417] - stdout: TRUE [13:14:00.417] - signal: TRUE [13:14:00.417] - resignal: FALSE [13:14:00.418] - force: TRUE [13:14:00.418] - relayed: [n=1] TRUE [13:14:00.418] - queued futures: [n=1] TRUE - flush all [13:14:00.418] - relayed: [n=1] TRUE [13:14:00.418] - queued futures: [n=1] TRUE [13:14:00.418] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.418] resolve() on list ... DONE [13:14:00.418] - Number of value chunks collected: 1 [13:14:00.419] Resolving 1 futures (chunks) ... DONE [13:14:00.419] Reducing values from 1 chunks ... [13:14:00.419] - Number of values collected after concatenation: 3 [13:14:00.419] - Number of values expected: 3 [13:14:00.420] Reducing values from 1 chunks ... DONE [13:14:00.420] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:00.422] future_lapply() ... [13:14:00.422] Number of chunks: 1 [13:14:00.422] getGlobalsAndPackagesXApply() ... [13:14:00.422] - future.globals: TRUE [13:14:00.423] getGlobalsAndPackages() ... [13:14:00.423] Searching for globals... [13:14:00.423] - globals found: [1] 'FUN' [13:14:00.424] Searching for globals ... DONE [13:14:00.424] Resolving globals: FALSE [13:14:00.424] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:00.424] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:00.424] - globals: [1] 'FUN' [13:14:00.425] [13:14:00.425] getGlobalsAndPackages() ... DONE [13:14:00.425] - globals found/used: [n=1] 'FUN' [13:14:00.425] - needed namespaces: [n=0] [13:14:00.425] Finding globals ... DONE [13:14:00.425] - use_args: TRUE [13:14:00.425] - Getting '...' globals ... [13:14:00.425] resolve() on list ... [13:14:00.426] recursive: 0 [13:14:00.426] length: 1 [13:14:00.426] elements: '...' [13:14:00.426] length: 0 (resolved future 1) [13:14:00.426] resolve() on list ... DONE [13:14:00.426] - '...' content: [n=0] [13:14:00.426] List of 1 [13:14:00.426] $ ...: list() [13:14:00.426] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.426] - attr(*, "where")=List of 1 [13:14:00.426] ..$ ...: [13:14:00.426] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.426] - attr(*, "resolved")= logi TRUE [13:14:00.426] - attr(*, "total_size")= num NA [13:14:00.428] - Getting '...' globals ... DONE [13:14:00.428] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.429] List of 2 [13:14:00.429] $ ...future.FUN:function (x) [13:14:00.429] $ ... : list() [13:14:00.429] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.429] - attr(*, "where")=List of 2 [13:14:00.429] ..$ ...future.FUN: [13:14:00.429] ..$ ... : [13:14:00.429] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.429] - attr(*, "resolved")= logi FALSE [13:14:00.429] - attr(*, "total_size")= num 848 [13:14:00.431] Packages to be attached in all futures: [n=0] [13:14:00.431] getGlobalsAndPackagesXApply() ... DONE [13:14:00.431] Number of futures (= number of chunks): 1 [13:14:00.431] Launching 1 futures (chunks) ... [13:14:00.431] Chunk #1 of 1 ... [13:14:00.431] - Finding globals in 'X' for chunk #1 ... [13:14:00.432] getGlobalsAndPackages() ... [13:14:00.432] Searching for globals... [13:14:00.432] [13:14:00.432] Searching for globals ... DONE [13:14:00.432] - globals: [0] [13:14:00.432] getGlobalsAndPackages() ... DONE [13:14:00.432] + additional globals found: [n=0] [13:14:00.432] + additional namespaces needed: [n=0] [13:14:00.433] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.433] - seeds: [13:14:00.433] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.433] getGlobalsAndPackages() ... [13:14:00.433] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.433] Resolving globals: FALSE [13:14:00.433] Tweak future expression to call with '...' arguments ... [13:14:00.433] { [13:14:00.433] do.call(function(...) { [13:14:00.433] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.433] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.433] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.433] on.exit(options(oopts), add = TRUE) [13:14:00.433] } [13:14:00.433] { [13:14:00.433] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.433] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.433] ...future.FUN(...future.X_jj, ...) [13:14:00.433] }) [13:14:00.433] } [13:14:00.433] }, args = future.call.arguments) [13:14:00.433] } [13:14:00.434] Tweak future expression to call with '...' arguments ... DONE [13:14:00.434] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.434] [13:14:00.434] getGlobalsAndPackages() ... DONE [13:14:00.435] run() for 'Future' ... [13:14:00.435] - state: 'created' [13:14:00.435] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.435] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.435] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.435] - Field: 'label' [13:14:00.435] - Field: 'local' [13:14:00.436] - Field: 'owner' [13:14:00.436] - Field: 'envir' [13:14:00.436] - Field: 'packages' [13:14:00.436] - Field: 'gc' [13:14:00.436] - Field: 'conditions' [13:14:00.437] - Field: 'expr' [13:14:00.437] - Field: 'uuid' [13:14:00.437] - Field: 'seed' [13:14:00.437] - Field: 'version' [13:14:00.437] - Field: 'result' [13:14:00.437] - Field: 'asynchronous' [13:14:00.437] - Field: 'calls' [13:14:00.438] - Field: 'globals' [13:14:00.438] - Field: 'stdout' [13:14:00.438] - Field: 'earlySignal' [13:14:00.438] - Field: 'lazy' [13:14:00.438] - Field: 'state' [13:14:00.438] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.438] - Launch lazy future ... [13:14:00.438] Packages needed by the future expression (n = 0): [13:14:00.439] Packages needed by future strategies (n = 0): [13:14:00.439] { [13:14:00.439] { [13:14:00.439] { [13:14:00.439] ...future.startTime <- base::Sys.time() [13:14:00.439] { [13:14:00.439] { [13:14:00.439] { [13:14:00.439] base::local({ [13:14:00.439] has_future <- base::requireNamespace("future", [13:14:00.439] quietly = TRUE) [13:14:00.439] if (has_future) { [13:14:00.439] ns <- base::getNamespace("future") [13:14:00.439] version <- ns[[".package"]][["version"]] [13:14:00.439] if (is.null(version)) [13:14:00.439] version <- utils::packageVersion("future") [13:14:00.439] } [13:14:00.439] else { [13:14:00.439] version <- NULL [13:14:00.439] } [13:14:00.439] if (!has_future || version < "1.8.0") { [13:14:00.439] info <- base::c(r_version = base::gsub("R version ", [13:14:00.439] "", base::R.version$version.string), [13:14:00.439] platform = base::sprintf("%s (%s-bit)", [13:14:00.439] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.439] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.439] "release", "version")], collapse = " "), [13:14:00.439] hostname = base::Sys.info()[["nodename"]]) [13:14:00.439] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.439] info) [13:14:00.439] info <- base::paste(info, collapse = "; ") [13:14:00.439] if (!has_future) { [13:14:00.439] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.439] info) [13:14:00.439] } [13:14:00.439] else { [13:14:00.439] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.439] info, version) [13:14:00.439] } [13:14:00.439] base::stop(msg) [13:14:00.439] } [13:14:00.439] }) [13:14:00.439] } [13:14:00.439] options(future.plan = NULL) [13:14:00.439] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.439] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.439] } [13:14:00.439] ...future.workdir <- getwd() [13:14:00.439] } [13:14:00.439] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.439] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.439] } [13:14:00.439] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.439] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.439] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.439] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.439] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.439] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.439] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.439] base::names(...future.oldOptions)) [13:14:00.439] } [13:14:00.439] if (FALSE) { [13:14:00.439] } [13:14:00.439] else { [13:14:00.439] if (TRUE) { [13:14:00.439] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.439] open = "w") [13:14:00.439] } [13:14:00.439] else { [13:14:00.439] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.439] windows = "NUL", "/dev/null"), open = "w") [13:14:00.439] } [13:14:00.439] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.439] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.439] base::sink(type = "output", split = FALSE) [13:14:00.439] base::close(...future.stdout) [13:14:00.439] }, add = TRUE) [13:14:00.439] } [13:14:00.439] ...future.frame <- base::sys.nframe() [13:14:00.439] ...future.conditions <- base::list() [13:14:00.439] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.439] if (FALSE) { [13:14:00.439] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.439] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.439] } [13:14:00.439] ...future.result <- base::tryCatch({ [13:14:00.439] base::withCallingHandlers({ [13:14:00.439] ...future.value <- base::withVisible(base::local({ [13:14:00.439] do.call(function(...) { [13:14:00.439] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.439] if (!identical(...future.globals.maxSize.org, [13:14:00.439] ...future.globals.maxSize)) { [13:14:00.439] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.439] on.exit(options(oopts), add = TRUE) [13:14:00.439] } [13:14:00.439] { [13:14:00.439] lapply(seq_along(...future.elements_ii), [13:14:00.439] FUN = function(jj) { [13:14:00.439] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.439] ...future.FUN(...future.X_jj, ...) [13:14:00.439] }) [13:14:00.439] } [13:14:00.439] }, args = future.call.arguments) [13:14:00.439] })) [13:14:00.439] future::FutureResult(value = ...future.value$value, [13:14:00.439] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.439] ...future.rng), globalenv = if (FALSE) [13:14:00.439] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.439] ...future.globalenv.names)) [13:14:00.439] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.439] }, condition = base::local({ [13:14:00.439] c <- base::c [13:14:00.439] inherits <- base::inherits [13:14:00.439] invokeRestart <- base::invokeRestart [13:14:00.439] length <- base::length [13:14:00.439] list <- base::list [13:14:00.439] seq.int <- base::seq.int [13:14:00.439] signalCondition <- base::signalCondition [13:14:00.439] sys.calls <- base::sys.calls [13:14:00.439] `[[` <- base::`[[` [13:14:00.439] `+` <- base::`+` [13:14:00.439] `<<-` <- base::`<<-` [13:14:00.439] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.439] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.439] 3L)] [13:14:00.439] } [13:14:00.439] function(cond) { [13:14:00.439] is_error <- inherits(cond, "error") [13:14:00.439] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.439] NULL) [13:14:00.439] if (is_error) { [13:14:00.439] sessionInformation <- function() { [13:14:00.439] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.439] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.439] search = base::search(), system = base::Sys.info()) [13:14:00.439] } [13:14:00.439] ...future.conditions[[length(...future.conditions) + [13:14:00.439] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.439] cond$call), session = sessionInformation(), [13:14:00.439] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.439] signalCondition(cond) [13:14:00.439] } [13:14:00.439] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.439] "immediateCondition"))) { [13:14:00.439] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.439] ...future.conditions[[length(...future.conditions) + [13:14:00.439] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.439] if (TRUE && !signal) { [13:14:00.439] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.439] { [13:14:00.439] inherits <- base::inherits [13:14:00.439] invokeRestart <- base::invokeRestart [13:14:00.439] is.null <- base::is.null [13:14:00.439] muffled <- FALSE [13:14:00.439] if (inherits(cond, "message")) { [13:14:00.439] muffled <- grepl(pattern, "muffleMessage") [13:14:00.439] if (muffled) [13:14:00.439] invokeRestart("muffleMessage") [13:14:00.439] } [13:14:00.439] else if (inherits(cond, "warning")) { [13:14:00.439] muffled <- grepl(pattern, "muffleWarning") [13:14:00.439] if (muffled) [13:14:00.439] invokeRestart("muffleWarning") [13:14:00.439] } [13:14:00.439] else if (inherits(cond, "condition")) { [13:14:00.439] if (!is.null(pattern)) { [13:14:00.439] computeRestarts <- base::computeRestarts [13:14:00.439] grepl <- base::grepl [13:14:00.439] restarts <- computeRestarts(cond) [13:14:00.439] for (restart in restarts) { [13:14:00.439] name <- restart$name [13:14:00.439] if (is.null(name)) [13:14:00.439] next [13:14:00.439] if (!grepl(pattern, name)) [13:14:00.439] next [13:14:00.439] invokeRestart(restart) [13:14:00.439] muffled <- TRUE [13:14:00.439] break [13:14:00.439] } [13:14:00.439] } [13:14:00.439] } [13:14:00.439] invisible(muffled) [13:14:00.439] } [13:14:00.439] muffleCondition(cond, pattern = "^muffle") [13:14:00.439] } [13:14:00.439] } [13:14:00.439] else { [13:14:00.439] if (TRUE) { [13:14:00.439] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.439] { [13:14:00.439] inherits <- base::inherits [13:14:00.439] invokeRestart <- base::invokeRestart [13:14:00.439] is.null <- base::is.null [13:14:00.439] muffled <- FALSE [13:14:00.439] if (inherits(cond, "message")) { [13:14:00.439] muffled <- grepl(pattern, "muffleMessage") [13:14:00.439] if (muffled) [13:14:00.439] invokeRestart("muffleMessage") [13:14:00.439] } [13:14:00.439] else if (inherits(cond, "warning")) { [13:14:00.439] muffled <- grepl(pattern, "muffleWarning") [13:14:00.439] if (muffled) [13:14:00.439] invokeRestart("muffleWarning") [13:14:00.439] } [13:14:00.439] else if (inherits(cond, "condition")) { [13:14:00.439] if (!is.null(pattern)) { [13:14:00.439] computeRestarts <- base::computeRestarts [13:14:00.439] grepl <- base::grepl [13:14:00.439] restarts <- computeRestarts(cond) [13:14:00.439] for (restart in restarts) { [13:14:00.439] name <- restart$name [13:14:00.439] if (is.null(name)) [13:14:00.439] next [13:14:00.439] if (!grepl(pattern, name)) [13:14:00.439] next [13:14:00.439] invokeRestart(restart) [13:14:00.439] muffled <- TRUE [13:14:00.439] break [13:14:00.439] } [13:14:00.439] } [13:14:00.439] } [13:14:00.439] invisible(muffled) [13:14:00.439] } [13:14:00.439] muffleCondition(cond, pattern = "^muffle") [13:14:00.439] } [13:14:00.439] } [13:14:00.439] } [13:14:00.439] })) [13:14:00.439] }, error = function(ex) { [13:14:00.439] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.439] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.439] ...future.rng), started = ...future.startTime, [13:14:00.439] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.439] version = "1.8"), class = "FutureResult") [13:14:00.439] }, finally = { [13:14:00.439] if (!identical(...future.workdir, getwd())) [13:14:00.439] setwd(...future.workdir) [13:14:00.439] { [13:14:00.439] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.439] ...future.oldOptions$nwarnings <- NULL [13:14:00.439] } [13:14:00.439] base::options(...future.oldOptions) [13:14:00.439] if (.Platform$OS.type == "windows") { [13:14:00.439] old_names <- names(...future.oldEnvVars) [13:14:00.439] envs <- base::Sys.getenv() [13:14:00.439] names <- names(envs) [13:14:00.439] common <- intersect(names, old_names) [13:14:00.439] added <- setdiff(names, old_names) [13:14:00.439] removed <- setdiff(old_names, names) [13:14:00.439] changed <- common[...future.oldEnvVars[common] != [13:14:00.439] envs[common]] [13:14:00.439] NAMES <- toupper(changed) [13:14:00.439] args <- list() [13:14:00.439] for (kk in seq_along(NAMES)) { [13:14:00.439] name <- changed[[kk]] [13:14:00.439] NAME <- NAMES[[kk]] [13:14:00.439] if (name != NAME && is.element(NAME, old_names)) [13:14:00.439] next [13:14:00.439] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.439] } [13:14:00.439] NAMES <- toupper(added) [13:14:00.439] for (kk in seq_along(NAMES)) { [13:14:00.439] name <- added[[kk]] [13:14:00.439] NAME <- NAMES[[kk]] [13:14:00.439] if (name != NAME && is.element(NAME, old_names)) [13:14:00.439] next [13:14:00.439] args[[name]] <- "" [13:14:00.439] } [13:14:00.439] NAMES <- toupper(removed) [13:14:00.439] for (kk in seq_along(NAMES)) { [13:14:00.439] name <- removed[[kk]] [13:14:00.439] NAME <- NAMES[[kk]] [13:14:00.439] if (name != NAME && is.element(NAME, old_names)) [13:14:00.439] next [13:14:00.439] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.439] } [13:14:00.439] if (length(args) > 0) [13:14:00.439] base::do.call(base::Sys.setenv, args = args) [13:14:00.439] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.439] } [13:14:00.439] else { [13:14:00.439] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.439] } [13:14:00.439] { [13:14:00.439] if (base::length(...future.futureOptionsAdded) > [13:14:00.439] 0L) { [13:14:00.439] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.439] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.439] base::options(opts) [13:14:00.439] } [13:14:00.439] { [13:14:00.439] { [13:14:00.439] NULL [13:14:00.439] RNGkind("Mersenne-Twister") [13:14:00.439] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.439] inherits = FALSE) [13:14:00.439] } [13:14:00.439] options(future.plan = NULL) [13:14:00.439] if (is.na(NA_character_)) [13:14:00.439] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.439] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.439] future::plan(list(function (..., envir = parent.frame()) [13:14:00.439] { [13:14:00.439] future <- SequentialFuture(..., envir = envir) [13:14:00.439] if (!future$lazy) [13:14:00.439] future <- run(future) [13:14:00.439] invisible(future) [13:14:00.439] }), .cleanup = FALSE, .init = FALSE) [13:14:00.439] } [13:14:00.439] } [13:14:00.439] } [13:14:00.439] }) [13:14:00.439] if (TRUE) { [13:14:00.439] base::sink(type = "output", split = FALSE) [13:14:00.439] if (TRUE) { [13:14:00.439] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.439] } [13:14:00.439] else { [13:14:00.439] ...future.result["stdout"] <- base::list(NULL) [13:14:00.439] } [13:14:00.439] base::close(...future.stdout) [13:14:00.439] ...future.stdout <- NULL [13:14:00.439] } [13:14:00.439] ...future.result$conditions <- ...future.conditions [13:14:00.439] ...future.result$finished <- base::Sys.time() [13:14:00.439] ...future.result [13:14:00.439] } [13:14:00.442] assign_globals() ... [13:14:00.442] List of 5 [13:14:00.442] $ ...future.FUN :function (x) [13:14:00.442] $ future.call.arguments : list() [13:14:00.442] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.442] $ ...future.elements_ii :List of 3 [13:14:00.442] ..$ a: num 1 [13:14:00.442] ..$ b: num 2 [13:14:00.442] ..$ c: num 3 [13:14:00.442] $ ...future.seeds_ii : NULL [13:14:00.442] $ ...future.globals.maxSize: NULL [13:14:00.442] - attr(*, "where")=List of 5 [13:14:00.442] ..$ ...future.FUN : [13:14:00.442] ..$ future.call.arguments : [13:14:00.442] ..$ ...future.elements_ii : [13:14:00.442] ..$ ...future.seeds_ii : [13:14:00.442] ..$ ...future.globals.maxSize: [13:14:00.442] - attr(*, "resolved")= logi FALSE [13:14:00.442] - attr(*, "total_size")= num 848 [13:14:00.442] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.442] - attr(*, "already-done")= logi TRUE [13:14:00.446] - copied '...future.FUN' to environment [13:14:00.446] - copied 'future.call.arguments' to environment [13:14:00.446] - copied '...future.elements_ii' to environment [13:14:00.447] - copied '...future.seeds_ii' to environment [13:14:00.447] - copied '...future.globals.maxSize' to environment [13:14:00.447] assign_globals() ... done [13:14:00.447] plan(): Setting new future strategy stack: [13:14:00.447] List of future strategies: [13:14:00.447] 1. sequential: [13:14:00.447] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.447] - tweaked: FALSE [13:14:00.447] - call: NULL [13:14:00.448] plan(): nbrOfWorkers() = 1 [13:14:00.448] plan(): Setting new future strategy stack: [13:14:00.449] List of future strategies: [13:14:00.449] 1. sequential: [13:14:00.449] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.449] - tweaked: FALSE [13:14:00.449] - call: plan(strategy) [13:14:00.449] plan(): nbrOfWorkers() = 1 [13:14:00.449] SequentialFuture started (and completed) [13:14:00.449] - Launch lazy future ... done [13:14:00.449] run() for 'SequentialFuture' ... done [13:14:00.450] Created future: [13:14:00.450] SequentialFuture: [13:14:00.450] Label: 'future_sapply-1' [13:14:00.450] Expression: [13:14:00.450] { [13:14:00.450] do.call(function(...) { [13:14:00.450] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.450] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.450] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.450] on.exit(options(oopts), add = TRUE) [13:14:00.450] } [13:14:00.450] { [13:14:00.450] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.450] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.450] ...future.FUN(...future.X_jj, ...) [13:14:00.450] }) [13:14:00.450] } [13:14:00.450] }, args = future.call.arguments) [13:14:00.450] } [13:14:00.450] Lazy evaluation: FALSE [13:14:00.450] Asynchronous evaluation: FALSE [13:14:00.450] Local evaluation: TRUE [13:14:00.450] Environment: R_GlobalEnv [13:14:00.450] Capture standard output: TRUE [13:14:00.450] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.450] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.450] Packages: [13:14:00.450] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.450] Resolved: TRUE [13:14:00.450] Value: 168 bytes of class 'list' [13:14:00.450] Early signaling: FALSE [13:14:00.450] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.450] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.451] Chunk #1 of 1 ... DONE [13:14:00.451] Launching 1 futures (chunks) ... DONE [13:14:00.451] Resolving 1 futures (chunks) ... [13:14:00.451] resolve() on list ... [13:14:00.451] recursive: 0 [13:14:00.451] length: 1 [13:14:00.451] [13:14:00.451] resolved() for 'SequentialFuture' ... [13:14:00.451] - state: 'finished' [13:14:00.452] - run: TRUE [13:14:00.452] - result: 'FutureResult' [13:14:00.452] resolved() for 'SequentialFuture' ... done [13:14:00.452] Future #1 [13:14:00.452] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.452] - nx: 1 [13:14:00.452] - relay: TRUE [13:14:00.452] - stdout: TRUE [13:14:00.453] - signal: TRUE [13:14:00.453] - resignal: FALSE [13:14:00.453] - force: TRUE [13:14:00.453] - relayed: [n=1] FALSE [13:14:00.453] - queued futures: [n=1] FALSE [13:14:00.453] - until=1 [13:14:00.453] - relaying element #1 [13:14:00.453] - relayed: [n=1] TRUE [13:14:00.453] - queued futures: [n=1] TRUE [13:14:00.454] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.454] length: 0 (resolved future 1) [13:14:00.454] Relaying remaining futures [13:14:00.454] signalConditionsASAP(NULL, pos=0) ... [13:14:00.454] - nx: 1 [13:14:00.454] - relay: TRUE [13:14:00.454] - stdout: TRUE [13:14:00.454] - signal: TRUE [13:14:00.454] - resignal: FALSE [13:14:00.455] - force: TRUE [13:14:00.455] - relayed: [n=1] TRUE [13:14:00.455] - queued futures: [n=1] TRUE - flush all [13:14:00.455] - relayed: [n=1] TRUE [13:14:00.455] - queued futures: [n=1] TRUE [13:14:00.455] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.455] resolve() on list ... DONE [13:14:00.455] - Number of value chunks collected: 1 [13:14:00.456] Resolving 1 futures (chunks) ... DONE [13:14:00.456] Reducing values from 1 chunks ... [13:14:00.456] - Number of values collected after concatenation: 3 [13:14:00.456] - Number of values expected: 3 [13:14:00.456] Reducing values from 1 chunks ... DONE [13:14:00.456] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.458] future_lapply() ... [13:14:00.458] Number of chunks: 1 [13:14:00.459] getGlobalsAndPackagesXApply() ... [13:14:00.459] - future.globals: TRUE [13:14:00.459] getGlobalsAndPackages() ... [13:14:00.459] Searching for globals... [13:14:00.460] - globals found: [2] 'FUN', 'UseMethod' [13:14:00.460] Searching for globals ... DONE [13:14:00.460] Resolving globals: FALSE [13:14:00.460] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:00.461] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:00.461] - globals: [1] 'FUN' [13:14:00.461] [13:14:00.461] getGlobalsAndPackages() ... DONE [13:14:00.461] - globals found/used: [n=1] 'FUN' [13:14:00.461] - needed namespaces: [n=0] [13:14:00.461] Finding globals ... DONE [13:14:00.462] - use_args: TRUE [13:14:00.462] - Getting '...' globals ... [13:14:00.462] resolve() on list ... [13:14:00.462] recursive: 0 [13:14:00.462] length: 1 [13:14:00.462] elements: '...' [13:14:00.462] length: 0 (resolved future 1) [13:14:00.462] resolve() on list ... DONE [13:14:00.463] - '...' content: [n=0] [13:14:00.463] List of 1 [13:14:00.463] $ ...: list() [13:14:00.463] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.463] - attr(*, "where")=List of 1 [13:14:00.463] ..$ ...: [13:14:00.463] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.463] - attr(*, "resolved")= logi TRUE [13:14:00.463] - attr(*, "total_size")= num NA [13:14:00.465] - Getting '...' globals ... DONE [13:14:00.465] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.465] List of 2 [13:14:00.465] $ ...future.FUN:function (x, ...) [13:14:00.465] $ ... : list() [13:14:00.465] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.465] - attr(*, "where")=List of 2 [13:14:00.465] ..$ ...future.FUN: [13:14:00.465] ..$ ... : [13:14:00.465] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.465] - attr(*, "resolved")= logi FALSE [13:14:00.465] - attr(*, "total_size")= num 1248 [13:14:00.467] Packages to be attached in all futures: [n=0] [13:14:00.467] getGlobalsAndPackagesXApply() ... DONE [13:14:00.468] Number of futures (= number of chunks): 1 [13:14:00.468] Launching 1 futures (chunks) ... [13:14:00.468] Chunk #1 of 1 ... [13:14:00.468] - Finding globals in 'X' for chunk #1 ... [13:14:00.468] getGlobalsAndPackages() ... [13:14:00.468] Searching for globals... [13:14:00.468] [13:14:00.468] Searching for globals ... DONE [13:14:00.469] - globals: [0] [13:14:00.469] getGlobalsAndPackages() ... DONE [13:14:00.469] + additional globals found: [n=0] [13:14:00.469] + additional namespaces needed: [n=0] [13:14:00.469] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.469] - seeds: [13:14:00.469] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.469] getGlobalsAndPackages() ... [13:14:00.469] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.470] Resolving globals: FALSE [13:14:00.470] Tweak future expression to call with '...' arguments ... [13:14:00.470] { [13:14:00.470] do.call(function(...) { [13:14:00.470] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.470] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.470] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.470] on.exit(options(oopts), add = TRUE) [13:14:00.470] } [13:14:00.470] { [13:14:00.470] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.470] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.470] ...future.FUN(...future.X_jj, ...) [13:14:00.470] }) [13:14:00.470] } [13:14:00.470] }, args = future.call.arguments) [13:14:00.470] } [13:14:00.470] Tweak future expression to call with '...' arguments ... DONE [13:14:00.470] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.471] [13:14:00.471] getGlobalsAndPackages() ... DONE [13:14:00.471] run() for 'Future' ... [13:14:00.471] - state: 'created' [13:14:00.471] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.471] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.472] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.472] - Field: 'label' [13:14:00.472] - Field: 'local' [13:14:00.472] - Field: 'owner' [13:14:00.472] - Field: 'envir' [13:14:00.472] - Field: 'packages' [13:14:00.472] - Field: 'gc' [13:14:00.472] - Field: 'conditions' [13:14:00.473] - Field: 'expr' [13:14:00.473] - Field: 'uuid' [13:14:00.473] - Field: 'seed' [13:14:00.473] - Field: 'version' [13:14:00.473] - Field: 'result' [13:14:00.473] - Field: 'asynchronous' [13:14:00.473] - Field: 'calls' [13:14:00.473] - Field: 'globals' [13:14:00.474] - Field: 'stdout' [13:14:00.474] - Field: 'earlySignal' [13:14:00.474] - Field: 'lazy' [13:14:00.474] - Field: 'state' [13:14:00.475] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.475] - Launch lazy future ... [13:14:00.475] Packages needed by the future expression (n = 0): [13:14:00.475] Packages needed by future strategies (n = 0): [13:14:00.475] { [13:14:00.475] { [13:14:00.475] { [13:14:00.475] ...future.startTime <- base::Sys.time() [13:14:00.475] { [13:14:00.475] { [13:14:00.475] { [13:14:00.475] base::local({ [13:14:00.475] has_future <- base::requireNamespace("future", [13:14:00.475] quietly = TRUE) [13:14:00.475] if (has_future) { [13:14:00.475] ns <- base::getNamespace("future") [13:14:00.475] version <- ns[[".package"]][["version"]] [13:14:00.475] if (is.null(version)) [13:14:00.475] version <- utils::packageVersion("future") [13:14:00.475] } [13:14:00.475] else { [13:14:00.475] version <- NULL [13:14:00.475] } [13:14:00.475] if (!has_future || version < "1.8.0") { [13:14:00.475] info <- base::c(r_version = base::gsub("R version ", [13:14:00.475] "", base::R.version$version.string), [13:14:00.475] platform = base::sprintf("%s (%s-bit)", [13:14:00.475] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.475] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.475] "release", "version")], collapse = " "), [13:14:00.475] hostname = base::Sys.info()[["nodename"]]) [13:14:00.475] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.475] info) [13:14:00.475] info <- base::paste(info, collapse = "; ") [13:14:00.475] if (!has_future) { [13:14:00.475] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.475] info) [13:14:00.475] } [13:14:00.475] else { [13:14:00.475] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.475] info, version) [13:14:00.475] } [13:14:00.475] base::stop(msg) [13:14:00.475] } [13:14:00.475] }) [13:14:00.475] } [13:14:00.475] options(future.plan = NULL) [13:14:00.475] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.475] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.475] } [13:14:00.475] ...future.workdir <- getwd() [13:14:00.475] } [13:14:00.475] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.475] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.475] } [13:14:00.475] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.475] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.475] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.475] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.475] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.475] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.475] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.475] base::names(...future.oldOptions)) [13:14:00.475] } [13:14:00.475] if (FALSE) { [13:14:00.475] } [13:14:00.475] else { [13:14:00.475] if (TRUE) { [13:14:00.475] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.475] open = "w") [13:14:00.475] } [13:14:00.475] else { [13:14:00.475] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.475] windows = "NUL", "/dev/null"), open = "w") [13:14:00.475] } [13:14:00.475] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.475] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.475] base::sink(type = "output", split = FALSE) [13:14:00.475] base::close(...future.stdout) [13:14:00.475] }, add = TRUE) [13:14:00.475] } [13:14:00.475] ...future.frame <- base::sys.nframe() [13:14:00.475] ...future.conditions <- base::list() [13:14:00.475] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.475] if (FALSE) { [13:14:00.475] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.475] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.475] } [13:14:00.475] ...future.result <- base::tryCatch({ [13:14:00.475] base::withCallingHandlers({ [13:14:00.475] ...future.value <- base::withVisible(base::local({ [13:14:00.475] do.call(function(...) { [13:14:00.475] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.475] if (!identical(...future.globals.maxSize.org, [13:14:00.475] ...future.globals.maxSize)) { [13:14:00.475] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.475] on.exit(options(oopts), add = TRUE) [13:14:00.475] } [13:14:00.475] { [13:14:00.475] lapply(seq_along(...future.elements_ii), [13:14:00.475] FUN = function(jj) { [13:14:00.475] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.475] ...future.FUN(...future.X_jj, ...) [13:14:00.475] }) [13:14:00.475] } [13:14:00.475] }, args = future.call.arguments) [13:14:00.475] })) [13:14:00.475] future::FutureResult(value = ...future.value$value, [13:14:00.475] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.475] ...future.rng), globalenv = if (FALSE) [13:14:00.475] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.475] ...future.globalenv.names)) [13:14:00.475] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.475] }, condition = base::local({ [13:14:00.475] c <- base::c [13:14:00.475] inherits <- base::inherits [13:14:00.475] invokeRestart <- base::invokeRestart [13:14:00.475] length <- base::length [13:14:00.475] list <- base::list [13:14:00.475] seq.int <- base::seq.int [13:14:00.475] signalCondition <- base::signalCondition [13:14:00.475] sys.calls <- base::sys.calls [13:14:00.475] `[[` <- base::`[[` [13:14:00.475] `+` <- base::`+` [13:14:00.475] `<<-` <- base::`<<-` [13:14:00.475] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.475] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.475] 3L)] [13:14:00.475] } [13:14:00.475] function(cond) { [13:14:00.475] is_error <- inherits(cond, "error") [13:14:00.475] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.475] NULL) [13:14:00.475] if (is_error) { [13:14:00.475] sessionInformation <- function() { [13:14:00.475] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.475] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.475] search = base::search(), system = base::Sys.info()) [13:14:00.475] } [13:14:00.475] ...future.conditions[[length(...future.conditions) + [13:14:00.475] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.475] cond$call), session = sessionInformation(), [13:14:00.475] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.475] signalCondition(cond) [13:14:00.475] } [13:14:00.475] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.475] "immediateCondition"))) { [13:14:00.475] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.475] ...future.conditions[[length(...future.conditions) + [13:14:00.475] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.475] if (TRUE && !signal) { [13:14:00.475] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.475] { [13:14:00.475] inherits <- base::inherits [13:14:00.475] invokeRestart <- base::invokeRestart [13:14:00.475] is.null <- base::is.null [13:14:00.475] muffled <- FALSE [13:14:00.475] if (inherits(cond, "message")) { [13:14:00.475] muffled <- grepl(pattern, "muffleMessage") [13:14:00.475] if (muffled) [13:14:00.475] invokeRestart("muffleMessage") [13:14:00.475] } [13:14:00.475] else if (inherits(cond, "warning")) { [13:14:00.475] muffled <- grepl(pattern, "muffleWarning") [13:14:00.475] if (muffled) [13:14:00.475] invokeRestart("muffleWarning") [13:14:00.475] } [13:14:00.475] else if (inherits(cond, "condition")) { [13:14:00.475] if (!is.null(pattern)) { [13:14:00.475] computeRestarts <- base::computeRestarts [13:14:00.475] grepl <- base::grepl [13:14:00.475] restarts <- computeRestarts(cond) [13:14:00.475] for (restart in restarts) { [13:14:00.475] name <- restart$name [13:14:00.475] if (is.null(name)) [13:14:00.475] next [13:14:00.475] if (!grepl(pattern, name)) [13:14:00.475] next [13:14:00.475] invokeRestart(restart) [13:14:00.475] muffled <- TRUE [13:14:00.475] break [13:14:00.475] } [13:14:00.475] } [13:14:00.475] } [13:14:00.475] invisible(muffled) [13:14:00.475] } [13:14:00.475] muffleCondition(cond, pattern = "^muffle") [13:14:00.475] } [13:14:00.475] } [13:14:00.475] else { [13:14:00.475] if (TRUE) { [13:14:00.475] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.475] { [13:14:00.475] inherits <- base::inherits [13:14:00.475] invokeRestart <- base::invokeRestart [13:14:00.475] is.null <- base::is.null [13:14:00.475] muffled <- FALSE [13:14:00.475] if (inherits(cond, "message")) { [13:14:00.475] muffled <- grepl(pattern, "muffleMessage") [13:14:00.475] if (muffled) [13:14:00.475] invokeRestart("muffleMessage") [13:14:00.475] } [13:14:00.475] else if (inherits(cond, "warning")) { [13:14:00.475] muffled <- grepl(pattern, "muffleWarning") [13:14:00.475] if (muffled) [13:14:00.475] invokeRestart("muffleWarning") [13:14:00.475] } [13:14:00.475] else if (inherits(cond, "condition")) { [13:14:00.475] if (!is.null(pattern)) { [13:14:00.475] computeRestarts <- base::computeRestarts [13:14:00.475] grepl <- base::grepl [13:14:00.475] restarts <- computeRestarts(cond) [13:14:00.475] for (restart in restarts) { [13:14:00.475] name <- restart$name [13:14:00.475] if (is.null(name)) [13:14:00.475] next [13:14:00.475] if (!grepl(pattern, name)) [13:14:00.475] next [13:14:00.475] invokeRestart(restart) [13:14:00.475] muffled <- TRUE [13:14:00.475] break [13:14:00.475] } [13:14:00.475] } [13:14:00.475] } [13:14:00.475] invisible(muffled) [13:14:00.475] } [13:14:00.475] muffleCondition(cond, pattern = "^muffle") [13:14:00.475] } [13:14:00.475] } [13:14:00.475] } [13:14:00.475] })) [13:14:00.475] }, error = function(ex) { [13:14:00.475] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.475] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.475] ...future.rng), started = ...future.startTime, [13:14:00.475] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.475] version = "1.8"), class = "FutureResult") [13:14:00.475] }, finally = { [13:14:00.475] if (!identical(...future.workdir, getwd())) [13:14:00.475] setwd(...future.workdir) [13:14:00.475] { [13:14:00.475] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.475] ...future.oldOptions$nwarnings <- NULL [13:14:00.475] } [13:14:00.475] base::options(...future.oldOptions) [13:14:00.475] if (.Platform$OS.type == "windows") { [13:14:00.475] old_names <- names(...future.oldEnvVars) [13:14:00.475] envs <- base::Sys.getenv() [13:14:00.475] names <- names(envs) [13:14:00.475] common <- intersect(names, old_names) [13:14:00.475] added <- setdiff(names, old_names) [13:14:00.475] removed <- setdiff(old_names, names) [13:14:00.475] changed <- common[...future.oldEnvVars[common] != [13:14:00.475] envs[common]] [13:14:00.475] NAMES <- toupper(changed) [13:14:00.475] args <- list() [13:14:00.475] for (kk in seq_along(NAMES)) { [13:14:00.475] name <- changed[[kk]] [13:14:00.475] NAME <- NAMES[[kk]] [13:14:00.475] if (name != NAME && is.element(NAME, old_names)) [13:14:00.475] next [13:14:00.475] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.475] } [13:14:00.475] NAMES <- toupper(added) [13:14:00.475] for (kk in seq_along(NAMES)) { [13:14:00.475] name <- added[[kk]] [13:14:00.475] NAME <- NAMES[[kk]] [13:14:00.475] if (name != NAME && is.element(NAME, old_names)) [13:14:00.475] next [13:14:00.475] args[[name]] <- "" [13:14:00.475] } [13:14:00.475] NAMES <- toupper(removed) [13:14:00.475] for (kk in seq_along(NAMES)) { [13:14:00.475] name <- removed[[kk]] [13:14:00.475] NAME <- NAMES[[kk]] [13:14:00.475] if (name != NAME && is.element(NAME, old_names)) [13:14:00.475] next [13:14:00.475] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.475] } [13:14:00.475] if (length(args) > 0) [13:14:00.475] base::do.call(base::Sys.setenv, args = args) [13:14:00.475] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.475] } [13:14:00.475] else { [13:14:00.475] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.475] } [13:14:00.475] { [13:14:00.475] if (base::length(...future.futureOptionsAdded) > [13:14:00.475] 0L) { [13:14:00.475] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.475] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.475] base::options(opts) [13:14:00.475] } [13:14:00.475] { [13:14:00.475] { [13:14:00.475] NULL [13:14:00.475] RNGkind("Mersenne-Twister") [13:14:00.475] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.475] inherits = FALSE) [13:14:00.475] } [13:14:00.475] options(future.plan = NULL) [13:14:00.475] if (is.na(NA_character_)) [13:14:00.475] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.475] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.475] future::plan(list(function (..., envir = parent.frame()) [13:14:00.475] { [13:14:00.475] future <- SequentialFuture(..., envir = envir) [13:14:00.475] if (!future$lazy) [13:14:00.475] future <- run(future) [13:14:00.475] invisible(future) [13:14:00.475] }), .cleanup = FALSE, .init = FALSE) [13:14:00.475] } [13:14:00.475] } [13:14:00.475] } [13:14:00.475] }) [13:14:00.475] if (TRUE) { [13:14:00.475] base::sink(type = "output", split = FALSE) [13:14:00.475] if (TRUE) { [13:14:00.475] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.475] } [13:14:00.475] else { [13:14:00.475] ...future.result["stdout"] <- base::list(NULL) [13:14:00.475] } [13:14:00.475] base::close(...future.stdout) [13:14:00.475] ...future.stdout <- NULL [13:14:00.475] } [13:14:00.475] ...future.result$conditions <- ...future.conditions [13:14:00.475] ...future.result$finished <- base::Sys.time() [13:14:00.475] ...future.result [13:14:00.475] } [13:14:00.478] assign_globals() ... [13:14:00.478] List of 5 [13:14:00.478] $ ...future.FUN :function (x, ...) [13:14:00.478] $ future.call.arguments : list() [13:14:00.478] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.478] $ ...future.elements_ii :List of 3 [13:14:00.478] ..$ a: num 1 [13:14:00.478] ..$ b: num 2 [13:14:00.478] ..$ c: num 3 [13:14:00.478] $ ...future.seeds_ii : NULL [13:14:00.478] $ ...future.globals.maxSize: NULL [13:14:00.478] - attr(*, "where")=List of 5 [13:14:00.478] ..$ ...future.FUN : [13:14:00.478] ..$ future.call.arguments : [13:14:00.478] ..$ ...future.elements_ii : [13:14:00.478] ..$ ...future.seeds_ii : [13:14:00.478] ..$ ...future.globals.maxSize: [13:14:00.478] - attr(*, "resolved")= logi FALSE [13:14:00.478] - attr(*, "total_size")= num 1248 [13:14:00.478] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.478] - attr(*, "already-done")= logi TRUE [13:14:00.482] - copied '...future.FUN' to environment [13:14:00.483] - copied 'future.call.arguments' to environment [13:14:00.483] - copied '...future.elements_ii' to environment [13:14:00.483] - copied '...future.seeds_ii' to environment [13:14:00.483] - copied '...future.globals.maxSize' to environment [13:14:00.483] assign_globals() ... done [13:14:00.483] plan(): Setting new future strategy stack: [13:14:00.483] List of future strategies: [13:14:00.483] 1. sequential: [13:14:00.483] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.483] - tweaked: FALSE [13:14:00.483] - call: NULL [13:14:00.484] plan(): nbrOfWorkers() = 1 [13:14:00.485] plan(): Setting new future strategy stack: [13:14:00.485] List of future strategies: [13:14:00.485] 1. sequential: [13:14:00.485] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.485] - tweaked: FALSE [13:14:00.485] - call: plan(strategy) [13:14:00.485] plan(): nbrOfWorkers() = 1 [13:14:00.485] SequentialFuture started (and completed) [13:14:00.485] - Launch lazy future ... done [13:14:00.486] run() for 'SequentialFuture' ... done [13:14:00.486] Created future: [13:14:00.486] SequentialFuture: [13:14:00.486] Label: 'future_sapply-1' [13:14:00.486] Expression: [13:14:00.486] { [13:14:00.486] do.call(function(...) { [13:14:00.486] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.486] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.486] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.486] on.exit(options(oopts), add = TRUE) [13:14:00.486] } [13:14:00.486] { [13:14:00.486] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.486] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.486] ...future.FUN(...future.X_jj, ...) [13:14:00.486] }) [13:14:00.486] } [13:14:00.486] }, args = future.call.arguments) [13:14:00.486] } [13:14:00.486] Lazy evaluation: FALSE [13:14:00.486] Asynchronous evaluation: FALSE [13:14:00.486] Local evaluation: TRUE [13:14:00.486] Environment: R_GlobalEnv [13:14:00.486] Capture standard output: TRUE [13:14:00.486] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.486] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.486] Packages: [13:14:00.486] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.486] Resolved: TRUE [13:14:00.486] Value: 672 bytes of class 'list' [13:14:00.486] Early signaling: FALSE [13:14:00.486] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.486] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.487] Chunk #1 of 1 ... DONE [13:14:00.487] Launching 1 futures (chunks) ... DONE [13:14:00.487] Resolving 1 futures (chunks) ... [13:14:00.487] resolve() on list ... [13:14:00.487] recursive: 0 [13:14:00.487] length: 1 [13:14:00.487] [13:14:00.487] resolved() for 'SequentialFuture' ... [13:14:00.488] - state: 'finished' [13:14:00.488] - run: TRUE [13:14:00.488] - result: 'FutureResult' [13:14:00.488] resolved() for 'SequentialFuture' ... done [13:14:00.488] Future #1 [13:14:00.488] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.488] - nx: 1 [13:14:00.488] - relay: TRUE [13:14:00.489] - stdout: TRUE [13:14:00.489] - signal: TRUE [13:14:00.489] - resignal: FALSE [13:14:00.489] - force: TRUE [13:14:00.489] - relayed: [n=1] FALSE [13:14:00.489] - queued futures: [n=1] FALSE [13:14:00.489] - until=1 [13:14:00.489] - relaying element #1 [13:14:00.490] - relayed: [n=1] TRUE [13:14:00.490] - queued futures: [n=1] TRUE [13:14:00.490] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.490] length: 0 (resolved future 1) [13:14:00.490] Relaying remaining futures [13:14:00.490] signalConditionsASAP(NULL, pos=0) ... [13:14:00.490] - nx: 1 [13:14:00.490] - relay: TRUE [13:14:00.490] - stdout: TRUE [13:14:00.491] - signal: TRUE [13:14:00.491] - resignal: FALSE [13:14:00.491] - force: TRUE [13:14:00.491] - relayed: [n=1] TRUE [13:14:00.491] - queued futures: [n=1] TRUE - flush all [13:14:00.491] - relayed: [n=1] TRUE [13:14:00.491] - queued futures: [n=1] TRUE [13:14:00.491] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.491] resolve() on list ... DONE [13:14:00.492] - Number of value chunks collected: 1 [13:14:00.492] Resolving 1 futures (chunks) ... DONE [13:14:00.492] Reducing values from 1 chunks ... [13:14:00.492] - Number of values collected after concatenation: 3 [13:14:00.492] - Number of values expected: 3 [13:14:00.492] Reducing values from 1 chunks ... DONE [13:14:00.492] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.494] future_lapply() ... [13:14:00.495] Number of chunks: 1 [13:14:00.495] getGlobalsAndPackagesXApply() ... [13:14:00.495] - future.globals: TRUE [13:14:00.495] getGlobalsAndPackages() ... [13:14:00.495] Searching for globals... [13:14:00.497] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:00.497] Searching for globals ... DONE [13:14:00.497] Resolving globals: FALSE [13:14:00.497] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:00.497] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:00.498] - globals: [1] 'FUN' [13:14:00.498] [13:14:00.498] getGlobalsAndPackages() ... DONE [13:14:00.498] - globals found/used: [n=1] 'FUN' [13:14:00.498] - needed namespaces: [n=0] [13:14:00.498] Finding globals ... DONE [13:14:00.498] - use_args: TRUE [13:14:00.498] - Getting '...' globals ... [13:14:00.499] resolve() on list ... [13:14:00.499] recursive: 0 [13:14:00.499] length: 1 [13:14:00.499] elements: '...' [13:14:00.499] length: 0 (resolved future 1) [13:14:00.499] resolve() on list ... DONE [13:14:00.499] - '...' content: [n=0] [13:14:00.500] List of 1 [13:14:00.500] $ ...: list() [13:14:00.500] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.500] - attr(*, "where")=List of 1 [13:14:00.500] ..$ ...: [13:14:00.500] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.500] - attr(*, "resolved")= logi TRUE [13:14:00.500] - attr(*, "total_size")= num NA [13:14:00.502] - Getting '...' globals ... DONE [13:14:00.502] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.502] List of 2 [13:14:00.502] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:00.502] $ ... : list() [13:14:00.502] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.502] - attr(*, "where")=List of 2 [13:14:00.502] ..$ ...future.FUN: [13:14:00.502] ..$ ... : [13:14:00.502] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.502] - attr(*, "resolved")= logi FALSE [13:14:00.502] - attr(*, "total_size")= num 4728 [13:14:00.504] Packages to be attached in all futures: [n=0] [13:14:00.504] getGlobalsAndPackagesXApply() ... DONE [13:14:00.504] Number of futures (= number of chunks): 1 [13:14:00.504] Launching 1 futures (chunks) ... [13:14:00.505] Chunk #1 of 1 ... [13:14:00.505] - Finding globals in 'X' for chunk #1 ... [13:14:00.505] getGlobalsAndPackages() ... [13:14:00.505] Searching for globals... [13:14:00.505] [13:14:00.505] Searching for globals ... DONE [13:14:00.505] - globals: [0] [13:14:00.505] getGlobalsAndPackages() ... DONE [13:14:00.506] + additional globals found: [n=0] [13:14:00.506] + additional namespaces needed: [n=0] [13:14:00.506] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.506] - seeds: [13:14:00.506] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.506] getGlobalsAndPackages() ... [13:14:00.506] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.506] Resolving globals: FALSE [13:14:00.507] Tweak future expression to call with '...' arguments ... [13:14:00.507] { [13:14:00.507] do.call(function(...) { [13:14:00.507] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.507] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.507] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.507] on.exit(options(oopts), add = TRUE) [13:14:00.507] } [13:14:00.507] { [13:14:00.507] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.507] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.507] ...future.FUN(...future.X_jj, ...) [13:14:00.507] }) [13:14:00.507] } [13:14:00.507] }, args = future.call.arguments) [13:14:00.507] } [13:14:00.507] Tweak future expression to call with '...' arguments ... DONE [13:14:00.507] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.507] [13:14:00.508] getGlobalsAndPackages() ... DONE [13:14:00.508] run() for 'Future' ... [13:14:00.508] - state: 'created' [13:14:00.508] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.508] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.508] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.509] - Field: 'label' [13:14:00.509] - Field: 'local' [13:14:00.509] - Field: 'owner' [13:14:00.509] - Field: 'envir' [13:14:00.509] - Field: 'packages' [13:14:00.509] - Field: 'gc' [13:14:00.509] - Field: 'conditions' [13:14:00.509] - Field: 'expr' [13:14:00.510] - Field: 'uuid' [13:14:00.510] - Field: 'seed' [13:14:00.510] - Field: 'version' [13:14:00.510] - Field: 'result' [13:14:00.510] - Field: 'asynchronous' [13:14:00.510] - Field: 'calls' [13:14:00.510] - Field: 'globals' [13:14:00.510] - Field: 'stdout' [13:14:00.511] - Field: 'earlySignal' [13:14:00.511] - Field: 'lazy' [13:14:00.530] - Field: 'state' [13:14:00.530] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.531] - Launch lazy future ... [13:14:00.531] Packages needed by the future expression (n = 0): [13:14:00.531] Packages needed by future strategies (n = 0): [13:14:00.531] { [13:14:00.531] { [13:14:00.531] { [13:14:00.531] ...future.startTime <- base::Sys.time() [13:14:00.531] { [13:14:00.531] { [13:14:00.531] { [13:14:00.531] base::local({ [13:14:00.531] has_future <- base::requireNamespace("future", [13:14:00.531] quietly = TRUE) [13:14:00.531] if (has_future) { [13:14:00.531] ns <- base::getNamespace("future") [13:14:00.531] version <- ns[[".package"]][["version"]] [13:14:00.531] if (is.null(version)) [13:14:00.531] version <- utils::packageVersion("future") [13:14:00.531] } [13:14:00.531] else { [13:14:00.531] version <- NULL [13:14:00.531] } [13:14:00.531] if (!has_future || version < "1.8.0") { [13:14:00.531] info <- base::c(r_version = base::gsub("R version ", [13:14:00.531] "", base::R.version$version.string), [13:14:00.531] platform = base::sprintf("%s (%s-bit)", [13:14:00.531] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.531] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.531] "release", "version")], collapse = " "), [13:14:00.531] hostname = base::Sys.info()[["nodename"]]) [13:14:00.531] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.531] info) [13:14:00.531] info <- base::paste(info, collapse = "; ") [13:14:00.531] if (!has_future) { [13:14:00.531] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.531] info) [13:14:00.531] } [13:14:00.531] else { [13:14:00.531] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.531] info, version) [13:14:00.531] } [13:14:00.531] base::stop(msg) [13:14:00.531] } [13:14:00.531] }) [13:14:00.531] } [13:14:00.531] options(future.plan = NULL) [13:14:00.531] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.531] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.531] } [13:14:00.531] ...future.workdir <- getwd() [13:14:00.531] } [13:14:00.531] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.531] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.531] } [13:14:00.531] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.531] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.531] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.531] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.531] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.531] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.531] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.531] base::names(...future.oldOptions)) [13:14:00.531] } [13:14:00.531] if (FALSE) { [13:14:00.531] } [13:14:00.531] else { [13:14:00.531] if (TRUE) { [13:14:00.531] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.531] open = "w") [13:14:00.531] } [13:14:00.531] else { [13:14:00.531] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.531] windows = "NUL", "/dev/null"), open = "w") [13:14:00.531] } [13:14:00.531] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.531] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.531] base::sink(type = "output", split = FALSE) [13:14:00.531] base::close(...future.stdout) [13:14:00.531] }, add = TRUE) [13:14:00.531] } [13:14:00.531] ...future.frame <- base::sys.nframe() [13:14:00.531] ...future.conditions <- base::list() [13:14:00.531] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.531] if (FALSE) { [13:14:00.531] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.531] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.531] } [13:14:00.531] ...future.result <- base::tryCatch({ [13:14:00.531] base::withCallingHandlers({ [13:14:00.531] ...future.value <- base::withVisible(base::local({ [13:14:00.531] do.call(function(...) { [13:14:00.531] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.531] if (!identical(...future.globals.maxSize.org, [13:14:00.531] ...future.globals.maxSize)) { [13:14:00.531] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.531] on.exit(options(oopts), add = TRUE) [13:14:00.531] } [13:14:00.531] { [13:14:00.531] lapply(seq_along(...future.elements_ii), [13:14:00.531] FUN = function(jj) { [13:14:00.531] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.531] ...future.FUN(...future.X_jj, ...) [13:14:00.531] }) [13:14:00.531] } [13:14:00.531] }, args = future.call.arguments) [13:14:00.531] })) [13:14:00.531] future::FutureResult(value = ...future.value$value, [13:14:00.531] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.531] ...future.rng), globalenv = if (FALSE) [13:14:00.531] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.531] ...future.globalenv.names)) [13:14:00.531] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.531] }, condition = base::local({ [13:14:00.531] c <- base::c [13:14:00.531] inherits <- base::inherits [13:14:00.531] invokeRestart <- base::invokeRestart [13:14:00.531] length <- base::length [13:14:00.531] list <- base::list [13:14:00.531] seq.int <- base::seq.int [13:14:00.531] signalCondition <- base::signalCondition [13:14:00.531] sys.calls <- base::sys.calls [13:14:00.531] `[[` <- base::`[[` [13:14:00.531] `+` <- base::`+` [13:14:00.531] `<<-` <- base::`<<-` [13:14:00.531] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.531] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.531] 3L)] [13:14:00.531] } [13:14:00.531] function(cond) { [13:14:00.531] is_error <- inherits(cond, "error") [13:14:00.531] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.531] NULL) [13:14:00.531] if (is_error) { [13:14:00.531] sessionInformation <- function() { [13:14:00.531] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.531] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.531] search = base::search(), system = base::Sys.info()) [13:14:00.531] } [13:14:00.531] ...future.conditions[[length(...future.conditions) + [13:14:00.531] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.531] cond$call), session = sessionInformation(), [13:14:00.531] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.531] signalCondition(cond) [13:14:00.531] } [13:14:00.531] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.531] "immediateCondition"))) { [13:14:00.531] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.531] ...future.conditions[[length(...future.conditions) + [13:14:00.531] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.531] if (TRUE && !signal) { [13:14:00.531] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.531] { [13:14:00.531] inherits <- base::inherits [13:14:00.531] invokeRestart <- base::invokeRestart [13:14:00.531] is.null <- base::is.null [13:14:00.531] muffled <- FALSE [13:14:00.531] if (inherits(cond, "message")) { [13:14:00.531] muffled <- grepl(pattern, "muffleMessage") [13:14:00.531] if (muffled) [13:14:00.531] invokeRestart("muffleMessage") [13:14:00.531] } [13:14:00.531] else if (inherits(cond, "warning")) { [13:14:00.531] muffled <- grepl(pattern, "muffleWarning") [13:14:00.531] if (muffled) [13:14:00.531] invokeRestart("muffleWarning") [13:14:00.531] } [13:14:00.531] else if (inherits(cond, "condition")) { [13:14:00.531] if (!is.null(pattern)) { [13:14:00.531] computeRestarts <- base::computeRestarts [13:14:00.531] grepl <- base::grepl [13:14:00.531] restarts <- computeRestarts(cond) [13:14:00.531] for (restart in restarts) { [13:14:00.531] name <- restart$name [13:14:00.531] if (is.null(name)) [13:14:00.531] next [13:14:00.531] if (!grepl(pattern, name)) [13:14:00.531] next [13:14:00.531] invokeRestart(restart) [13:14:00.531] muffled <- TRUE [13:14:00.531] break [13:14:00.531] } [13:14:00.531] } [13:14:00.531] } [13:14:00.531] invisible(muffled) [13:14:00.531] } [13:14:00.531] muffleCondition(cond, pattern = "^muffle") [13:14:00.531] } [13:14:00.531] } [13:14:00.531] else { [13:14:00.531] if (TRUE) { [13:14:00.531] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.531] { [13:14:00.531] inherits <- base::inherits [13:14:00.531] invokeRestart <- base::invokeRestart [13:14:00.531] is.null <- base::is.null [13:14:00.531] muffled <- FALSE [13:14:00.531] if (inherits(cond, "message")) { [13:14:00.531] muffled <- grepl(pattern, "muffleMessage") [13:14:00.531] if (muffled) [13:14:00.531] invokeRestart("muffleMessage") [13:14:00.531] } [13:14:00.531] else if (inherits(cond, "warning")) { [13:14:00.531] muffled <- grepl(pattern, "muffleWarning") [13:14:00.531] if (muffled) [13:14:00.531] invokeRestart("muffleWarning") [13:14:00.531] } [13:14:00.531] else if (inherits(cond, "condition")) { [13:14:00.531] if (!is.null(pattern)) { [13:14:00.531] computeRestarts <- base::computeRestarts [13:14:00.531] grepl <- base::grepl [13:14:00.531] restarts <- computeRestarts(cond) [13:14:00.531] for (restart in restarts) { [13:14:00.531] name <- restart$name [13:14:00.531] if (is.null(name)) [13:14:00.531] next [13:14:00.531] if (!grepl(pattern, name)) [13:14:00.531] next [13:14:00.531] invokeRestart(restart) [13:14:00.531] muffled <- TRUE [13:14:00.531] break [13:14:00.531] } [13:14:00.531] } [13:14:00.531] } [13:14:00.531] invisible(muffled) [13:14:00.531] } [13:14:00.531] muffleCondition(cond, pattern = "^muffle") [13:14:00.531] } [13:14:00.531] } [13:14:00.531] } [13:14:00.531] })) [13:14:00.531] }, error = function(ex) { [13:14:00.531] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.531] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.531] ...future.rng), started = ...future.startTime, [13:14:00.531] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.531] version = "1.8"), class = "FutureResult") [13:14:00.531] }, finally = { [13:14:00.531] if (!identical(...future.workdir, getwd())) [13:14:00.531] setwd(...future.workdir) [13:14:00.531] { [13:14:00.531] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.531] ...future.oldOptions$nwarnings <- NULL [13:14:00.531] } [13:14:00.531] base::options(...future.oldOptions) [13:14:00.531] if (.Platform$OS.type == "windows") { [13:14:00.531] old_names <- names(...future.oldEnvVars) [13:14:00.531] envs <- base::Sys.getenv() [13:14:00.531] names <- names(envs) [13:14:00.531] common <- intersect(names, old_names) [13:14:00.531] added <- setdiff(names, old_names) [13:14:00.531] removed <- setdiff(old_names, names) [13:14:00.531] changed <- common[...future.oldEnvVars[common] != [13:14:00.531] envs[common]] [13:14:00.531] NAMES <- toupper(changed) [13:14:00.531] args <- list() [13:14:00.531] for (kk in seq_along(NAMES)) { [13:14:00.531] name <- changed[[kk]] [13:14:00.531] NAME <- NAMES[[kk]] [13:14:00.531] if (name != NAME && is.element(NAME, old_names)) [13:14:00.531] next [13:14:00.531] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.531] } [13:14:00.531] NAMES <- toupper(added) [13:14:00.531] for (kk in seq_along(NAMES)) { [13:14:00.531] name <- added[[kk]] [13:14:00.531] NAME <- NAMES[[kk]] [13:14:00.531] if (name != NAME && is.element(NAME, old_names)) [13:14:00.531] next [13:14:00.531] args[[name]] <- "" [13:14:00.531] } [13:14:00.531] NAMES <- toupper(removed) [13:14:00.531] for (kk in seq_along(NAMES)) { [13:14:00.531] name <- removed[[kk]] [13:14:00.531] NAME <- NAMES[[kk]] [13:14:00.531] if (name != NAME && is.element(NAME, old_names)) [13:14:00.531] next [13:14:00.531] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.531] } [13:14:00.531] if (length(args) > 0) [13:14:00.531] base::do.call(base::Sys.setenv, args = args) [13:14:00.531] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.531] } [13:14:00.531] else { [13:14:00.531] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.531] } [13:14:00.531] { [13:14:00.531] if (base::length(...future.futureOptionsAdded) > [13:14:00.531] 0L) { [13:14:00.531] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.531] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.531] base::options(opts) [13:14:00.531] } [13:14:00.531] { [13:14:00.531] { [13:14:00.531] NULL [13:14:00.531] RNGkind("Mersenne-Twister") [13:14:00.531] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.531] inherits = FALSE) [13:14:00.531] } [13:14:00.531] options(future.plan = NULL) [13:14:00.531] if (is.na(NA_character_)) [13:14:00.531] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.531] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.531] future::plan(list(function (..., envir = parent.frame()) [13:14:00.531] { [13:14:00.531] future <- SequentialFuture(..., envir = envir) [13:14:00.531] if (!future$lazy) [13:14:00.531] future <- run(future) [13:14:00.531] invisible(future) [13:14:00.531] }), .cleanup = FALSE, .init = FALSE) [13:14:00.531] } [13:14:00.531] } [13:14:00.531] } [13:14:00.531] }) [13:14:00.531] if (TRUE) { [13:14:00.531] base::sink(type = "output", split = FALSE) [13:14:00.531] if (TRUE) { [13:14:00.531] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.531] } [13:14:00.531] else { [13:14:00.531] ...future.result["stdout"] <- base::list(NULL) [13:14:00.531] } [13:14:00.531] base::close(...future.stdout) [13:14:00.531] ...future.stdout <- NULL [13:14:00.531] } [13:14:00.531] ...future.result$conditions <- ...future.conditions [13:14:00.531] ...future.result$finished <- base::Sys.time() [13:14:00.531] ...future.result [13:14:00.531] } [13:14:00.534] assign_globals() ... [13:14:00.534] List of 5 [13:14:00.534] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:00.534] $ future.call.arguments : list() [13:14:00.534] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.534] $ ...future.elements_ii :List of 3 [13:14:00.534] ..$ a: num 1 [13:14:00.534] ..$ b: num 2 [13:14:00.534] ..$ c: num 3 [13:14:00.534] $ ...future.seeds_ii : NULL [13:14:00.534] $ ...future.globals.maxSize: NULL [13:14:00.534] - attr(*, "where")=List of 5 [13:14:00.534] ..$ ...future.FUN : [13:14:00.534] ..$ future.call.arguments : [13:14:00.534] ..$ ...future.elements_ii : [13:14:00.534] ..$ ...future.seeds_ii : [13:14:00.534] ..$ ...future.globals.maxSize: [13:14:00.534] - attr(*, "resolved")= logi FALSE [13:14:00.534] - attr(*, "total_size")= num 4728 [13:14:00.534] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.534] - attr(*, "already-done")= logi TRUE [13:14:00.539] - reassign environment for '...future.FUN' [13:14:00.539] - copied '...future.FUN' to environment [13:14:00.539] - copied 'future.call.arguments' to environment [13:14:00.539] - copied '...future.elements_ii' to environment [13:14:00.540] - copied '...future.seeds_ii' to environment [13:14:00.540] - copied '...future.globals.maxSize' to environment [13:14:00.540] assign_globals() ... done [13:14:00.540] plan(): Setting new future strategy stack: [13:14:00.540] List of future strategies: [13:14:00.540] 1. sequential: [13:14:00.540] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.540] - tweaked: FALSE [13:14:00.540] - call: NULL [13:14:00.541] plan(): nbrOfWorkers() = 1 [13:14:00.541] plan(): Setting new future strategy stack: [13:14:00.542] List of future strategies: [13:14:00.542] 1. sequential: [13:14:00.542] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.542] - tweaked: FALSE [13:14:00.542] - call: plan(strategy) [13:14:00.542] plan(): nbrOfWorkers() = 1 [13:14:00.542] SequentialFuture started (and completed) [13:14:00.542] - Launch lazy future ... done [13:14:00.542] run() for 'SequentialFuture' ... done [13:14:00.543] Created future: [13:14:00.543] SequentialFuture: [13:14:00.543] Label: 'future_sapply-1' [13:14:00.543] Expression: [13:14:00.543] { [13:14:00.543] do.call(function(...) { [13:14:00.543] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.543] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.543] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.543] on.exit(options(oopts), add = TRUE) [13:14:00.543] } [13:14:00.543] { [13:14:00.543] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.543] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.543] ...future.FUN(...future.X_jj, ...) [13:14:00.543] }) [13:14:00.543] } [13:14:00.543] }, args = future.call.arguments) [13:14:00.543] } [13:14:00.543] Lazy evaluation: FALSE [13:14:00.543] Asynchronous evaluation: FALSE [13:14:00.543] Local evaluation: TRUE [13:14:00.543] Environment: R_GlobalEnv [13:14:00.543] Capture standard output: TRUE [13:14:00.543] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.543] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.543] Packages: [13:14:00.543] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.543] Resolved: TRUE [13:14:00.543] Value: 1.01 KiB of class 'list' [13:14:00.543] Early signaling: FALSE [13:14:00.543] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.543] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.544] Chunk #1 of 1 ... DONE [13:14:00.544] Launching 1 futures (chunks) ... DONE [13:14:00.544] Resolving 1 futures (chunks) ... [13:14:00.544] resolve() on list ... [13:14:00.544] recursive: 0 [13:14:00.545] length: 1 [13:14:00.545] [13:14:00.545] resolved() for 'SequentialFuture' ... [13:14:00.545] - state: 'finished' [13:14:00.545] - run: TRUE [13:14:00.545] - result: 'FutureResult' [13:14:00.545] resolved() for 'SequentialFuture' ... done [13:14:00.545] Future #1 [13:14:00.546] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.546] - nx: 1 [13:14:00.546] - relay: TRUE [13:14:00.546] - stdout: TRUE [13:14:00.546] - signal: TRUE [13:14:00.546] - resignal: FALSE [13:14:00.546] - force: TRUE [13:14:00.546] - relayed: [n=1] FALSE [13:14:00.547] - queued futures: [n=1] FALSE [13:14:00.547] - until=1 [13:14:00.547] - relaying element #1 [13:14:00.547] - relayed: [n=1] TRUE [13:14:00.547] - queued futures: [n=1] TRUE [13:14:00.547] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.547] length: 0 (resolved future 1) [13:14:00.547] Relaying remaining futures [13:14:00.548] signalConditionsASAP(NULL, pos=0) ... [13:14:00.548] - nx: 1 [13:14:00.548] - relay: TRUE [13:14:00.548] - stdout: TRUE [13:14:00.548] - signal: TRUE [13:14:00.548] - resignal: FALSE [13:14:00.548] - force: TRUE [13:14:00.548] - relayed: [n=1] TRUE [13:14:00.548] - queued futures: [n=1] TRUE - flush all [13:14:00.549] - relayed: [n=1] TRUE [13:14:00.549] - queued futures: [n=1] TRUE [13:14:00.549] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.549] resolve() on list ... DONE [13:14:00.549] - Number of value chunks collected: 1 [13:14:00.549] Resolving 1 futures (chunks) ... DONE [13:14:00.549] Reducing values from 1 chunks ... [13:14:00.549] - Number of values collected after concatenation: 3 [13:14:00.550] - Number of values expected: 3 [13:14:00.550] Reducing values from 1 chunks ... DONE [13:14:00.550] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:00.552] future_lapply() ... [13:14:00.553] Number of chunks: 1 [13:14:00.553] getGlobalsAndPackagesXApply() ... [13:14:00.553] - future.globals: TRUE [13:14:00.554] getGlobalsAndPackages() ... [13:14:00.554] Searching for globals... [13:14:00.555] - globals found: [1] 'FUN' [13:14:00.555] Searching for globals ... DONE [13:14:00.555] Resolving globals: FALSE [13:14:00.555] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:00.555] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:00.556] - globals: [1] 'FUN' [13:14:00.556] [13:14:00.556] getGlobalsAndPackages() ... DONE [13:14:00.556] - globals found/used: [n=1] 'FUN' [13:14:00.556] - needed namespaces: [n=0] [13:14:00.556] Finding globals ... DONE [13:14:00.556] - use_args: TRUE [13:14:00.556] - Getting '...' globals ... [13:14:00.557] resolve() on list ... [13:14:00.557] recursive: 0 [13:14:00.557] length: 1 [13:14:00.557] elements: '...' [13:14:00.557] length: 0 (resolved future 1) [13:14:00.557] resolve() on list ... DONE [13:14:00.557] - '...' content: [n=0] [13:14:00.558] List of 1 [13:14:00.558] $ ...: list() [13:14:00.558] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.558] - attr(*, "where")=List of 1 [13:14:00.558] ..$ ...: [13:14:00.558] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.558] - attr(*, "resolved")= logi TRUE [13:14:00.558] - attr(*, "total_size")= num NA [13:14:00.560] - Getting '...' globals ... DONE [13:14:00.560] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.560] List of 2 [13:14:00.560] $ ...future.FUN:function (x) [13:14:00.560] $ ... : list() [13:14:00.560] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.560] - attr(*, "where")=List of 2 [13:14:00.560] ..$ ...future.FUN: [13:14:00.560] ..$ ... : [13:14:00.560] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.560] - attr(*, "resolved")= logi FALSE [13:14:00.560] - attr(*, "total_size")= num 848 [13:14:00.562] Packages to be attached in all futures: [n=0] [13:14:00.562] getGlobalsAndPackagesXApply() ... DONE [13:14:00.562] Number of futures (= number of chunks): 1 [13:14:00.563] Launching 1 futures (chunks) ... [13:14:00.563] Chunk #1 of 1 ... [13:14:00.563] - Finding globals in 'X' for chunk #1 ... [13:14:00.563] getGlobalsAndPackages() ... [13:14:00.563] Searching for globals... [13:14:00.563] [13:14:00.563] Searching for globals ... DONE [13:14:00.564] - globals: [0] [13:14:00.564] getGlobalsAndPackages() ... DONE [13:14:00.564] + additional globals found: [n=0] [13:14:00.564] + additional namespaces needed: [n=0] [13:14:00.564] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.564] - seeds: [13:14:00.564] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.564] getGlobalsAndPackages() ... [13:14:00.564] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.565] Resolving globals: FALSE [13:14:00.565] Tweak future expression to call with '...' arguments ... [13:14:00.565] { [13:14:00.565] do.call(function(...) { [13:14:00.565] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.565] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.565] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.565] on.exit(options(oopts), add = TRUE) [13:14:00.565] } [13:14:00.565] { [13:14:00.565] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.565] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.565] ...future.FUN(...future.X_jj, ...) [13:14:00.565] }) [13:14:00.565] } [13:14:00.565] }, args = future.call.arguments) [13:14:00.565] } [13:14:00.565] Tweak future expression to call with '...' arguments ... DONE [13:14:00.565] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.566] [13:14:00.566] getGlobalsAndPackages() ... DONE [13:14:00.566] run() for 'Future' ... [13:14:00.566] - state: 'created' [13:14:00.566] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.566] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.567] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.567] - Field: 'label' [13:14:00.567] - Field: 'local' [13:14:00.567] - Field: 'owner' [13:14:00.567] - Field: 'envir' [13:14:00.567] - Field: 'packages' [13:14:00.567] - Field: 'gc' [13:14:00.567] - Field: 'conditions' [13:14:00.568] - Field: 'expr' [13:14:00.568] - Field: 'uuid' [13:14:00.568] - Field: 'seed' [13:14:00.568] - Field: 'version' [13:14:00.568] - Field: 'result' [13:14:00.568] - Field: 'asynchronous' [13:14:00.568] - Field: 'calls' [13:14:00.568] - Field: 'globals' [13:14:00.569] - Field: 'stdout' [13:14:00.569] - Field: 'earlySignal' [13:14:00.569] - Field: 'lazy' [13:14:00.569] - Field: 'state' [13:14:00.569] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.569] - Launch lazy future ... [13:14:00.569] Packages needed by the future expression (n = 0): [13:14:00.569] Packages needed by future strategies (n = 0): [13:14:00.570] { [13:14:00.570] { [13:14:00.570] { [13:14:00.570] ...future.startTime <- base::Sys.time() [13:14:00.570] { [13:14:00.570] { [13:14:00.570] { [13:14:00.570] base::local({ [13:14:00.570] has_future <- base::requireNamespace("future", [13:14:00.570] quietly = TRUE) [13:14:00.570] if (has_future) { [13:14:00.570] ns <- base::getNamespace("future") [13:14:00.570] version <- ns[[".package"]][["version"]] [13:14:00.570] if (is.null(version)) [13:14:00.570] version <- utils::packageVersion("future") [13:14:00.570] } [13:14:00.570] else { [13:14:00.570] version <- NULL [13:14:00.570] } [13:14:00.570] if (!has_future || version < "1.8.0") { [13:14:00.570] info <- base::c(r_version = base::gsub("R version ", [13:14:00.570] "", base::R.version$version.string), [13:14:00.570] platform = base::sprintf("%s (%s-bit)", [13:14:00.570] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.570] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.570] "release", "version")], collapse = " "), [13:14:00.570] hostname = base::Sys.info()[["nodename"]]) [13:14:00.570] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.570] info) [13:14:00.570] info <- base::paste(info, collapse = "; ") [13:14:00.570] if (!has_future) { [13:14:00.570] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.570] info) [13:14:00.570] } [13:14:00.570] else { [13:14:00.570] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.570] info, version) [13:14:00.570] } [13:14:00.570] base::stop(msg) [13:14:00.570] } [13:14:00.570] }) [13:14:00.570] } [13:14:00.570] options(future.plan = NULL) [13:14:00.570] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.570] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.570] } [13:14:00.570] ...future.workdir <- getwd() [13:14:00.570] } [13:14:00.570] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.570] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.570] } [13:14:00.570] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.570] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.570] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.570] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.570] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.570] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.570] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.570] base::names(...future.oldOptions)) [13:14:00.570] } [13:14:00.570] if (FALSE) { [13:14:00.570] } [13:14:00.570] else { [13:14:00.570] if (TRUE) { [13:14:00.570] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.570] open = "w") [13:14:00.570] } [13:14:00.570] else { [13:14:00.570] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.570] windows = "NUL", "/dev/null"), open = "w") [13:14:00.570] } [13:14:00.570] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.570] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.570] base::sink(type = "output", split = FALSE) [13:14:00.570] base::close(...future.stdout) [13:14:00.570] }, add = TRUE) [13:14:00.570] } [13:14:00.570] ...future.frame <- base::sys.nframe() [13:14:00.570] ...future.conditions <- base::list() [13:14:00.570] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.570] if (FALSE) { [13:14:00.570] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.570] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.570] } [13:14:00.570] ...future.result <- base::tryCatch({ [13:14:00.570] base::withCallingHandlers({ [13:14:00.570] ...future.value <- base::withVisible(base::local({ [13:14:00.570] do.call(function(...) { [13:14:00.570] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.570] if (!identical(...future.globals.maxSize.org, [13:14:00.570] ...future.globals.maxSize)) { [13:14:00.570] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.570] on.exit(options(oopts), add = TRUE) [13:14:00.570] } [13:14:00.570] { [13:14:00.570] lapply(seq_along(...future.elements_ii), [13:14:00.570] FUN = function(jj) { [13:14:00.570] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.570] ...future.FUN(...future.X_jj, ...) [13:14:00.570] }) [13:14:00.570] } [13:14:00.570] }, args = future.call.arguments) [13:14:00.570] })) [13:14:00.570] future::FutureResult(value = ...future.value$value, [13:14:00.570] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.570] ...future.rng), globalenv = if (FALSE) [13:14:00.570] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.570] ...future.globalenv.names)) [13:14:00.570] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.570] }, condition = base::local({ [13:14:00.570] c <- base::c [13:14:00.570] inherits <- base::inherits [13:14:00.570] invokeRestart <- base::invokeRestart [13:14:00.570] length <- base::length [13:14:00.570] list <- base::list [13:14:00.570] seq.int <- base::seq.int [13:14:00.570] signalCondition <- base::signalCondition [13:14:00.570] sys.calls <- base::sys.calls [13:14:00.570] `[[` <- base::`[[` [13:14:00.570] `+` <- base::`+` [13:14:00.570] `<<-` <- base::`<<-` [13:14:00.570] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.570] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.570] 3L)] [13:14:00.570] } [13:14:00.570] function(cond) { [13:14:00.570] is_error <- inherits(cond, "error") [13:14:00.570] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.570] NULL) [13:14:00.570] if (is_error) { [13:14:00.570] sessionInformation <- function() { [13:14:00.570] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.570] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.570] search = base::search(), system = base::Sys.info()) [13:14:00.570] } [13:14:00.570] ...future.conditions[[length(...future.conditions) + [13:14:00.570] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.570] cond$call), session = sessionInformation(), [13:14:00.570] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.570] signalCondition(cond) [13:14:00.570] } [13:14:00.570] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.570] "immediateCondition"))) { [13:14:00.570] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.570] ...future.conditions[[length(...future.conditions) + [13:14:00.570] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.570] if (TRUE && !signal) { [13:14:00.570] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.570] { [13:14:00.570] inherits <- base::inherits [13:14:00.570] invokeRestart <- base::invokeRestart [13:14:00.570] is.null <- base::is.null [13:14:00.570] muffled <- FALSE [13:14:00.570] if (inherits(cond, "message")) { [13:14:00.570] muffled <- grepl(pattern, "muffleMessage") [13:14:00.570] if (muffled) [13:14:00.570] invokeRestart("muffleMessage") [13:14:00.570] } [13:14:00.570] else if (inherits(cond, "warning")) { [13:14:00.570] muffled <- grepl(pattern, "muffleWarning") [13:14:00.570] if (muffled) [13:14:00.570] invokeRestart("muffleWarning") [13:14:00.570] } [13:14:00.570] else if (inherits(cond, "condition")) { [13:14:00.570] if (!is.null(pattern)) { [13:14:00.570] computeRestarts <- base::computeRestarts [13:14:00.570] grepl <- base::grepl [13:14:00.570] restarts <- computeRestarts(cond) [13:14:00.570] for (restart in restarts) { [13:14:00.570] name <- restart$name [13:14:00.570] if (is.null(name)) [13:14:00.570] next [13:14:00.570] if (!grepl(pattern, name)) [13:14:00.570] next [13:14:00.570] invokeRestart(restart) [13:14:00.570] muffled <- TRUE [13:14:00.570] break [13:14:00.570] } [13:14:00.570] } [13:14:00.570] } [13:14:00.570] invisible(muffled) [13:14:00.570] } [13:14:00.570] muffleCondition(cond, pattern = "^muffle") [13:14:00.570] } [13:14:00.570] } [13:14:00.570] else { [13:14:00.570] if (TRUE) { [13:14:00.570] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.570] { [13:14:00.570] inherits <- base::inherits [13:14:00.570] invokeRestart <- base::invokeRestart [13:14:00.570] is.null <- base::is.null [13:14:00.570] muffled <- FALSE [13:14:00.570] if (inherits(cond, "message")) { [13:14:00.570] muffled <- grepl(pattern, "muffleMessage") [13:14:00.570] if (muffled) [13:14:00.570] invokeRestart("muffleMessage") [13:14:00.570] } [13:14:00.570] else if (inherits(cond, "warning")) { [13:14:00.570] muffled <- grepl(pattern, "muffleWarning") [13:14:00.570] if (muffled) [13:14:00.570] invokeRestart("muffleWarning") [13:14:00.570] } [13:14:00.570] else if (inherits(cond, "condition")) { [13:14:00.570] if (!is.null(pattern)) { [13:14:00.570] computeRestarts <- base::computeRestarts [13:14:00.570] grepl <- base::grepl [13:14:00.570] restarts <- computeRestarts(cond) [13:14:00.570] for (restart in restarts) { [13:14:00.570] name <- restart$name [13:14:00.570] if (is.null(name)) [13:14:00.570] next [13:14:00.570] if (!grepl(pattern, name)) [13:14:00.570] next [13:14:00.570] invokeRestart(restart) [13:14:00.570] muffled <- TRUE [13:14:00.570] break [13:14:00.570] } [13:14:00.570] } [13:14:00.570] } [13:14:00.570] invisible(muffled) [13:14:00.570] } [13:14:00.570] muffleCondition(cond, pattern = "^muffle") [13:14:00.570] } [13:14:00.570] } [13:14:00.570] } [13:14:00.570] })) [13:14:00.570] }, error = function(ex) { [13:14:00.570] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.570] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.570] ...future.rng), started = ...future.startTime, [13:14:00.570] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.570] version = "1.8"), class = "FutureResult") [13:14:00.570] }, finally = { [13:14:00.570] if (!identical(...future.workdir, getwd())) [13:14:00.570] setwd(...future.workdir) [13:14:00.570] { [13:14:00.570] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.570] ...future.oldOptions$nwarnings <- NULL [13:14:00.570] } [13:14:00.570] base::options(...future.oldOptions) [13:14:00.570] if (.Platform$OS.type == "windows") { [13:14:00.570] old_names <- names(...future.oldEnvVars) [13:14:00.570] envs <- base::Sys.getenv() [13:14:00.570] names <- names(envs) [13:14:00.570] common <- intersect(names, old_names) [13:14:00.570] added <- setdiff(names, old_names) [13:14:00.570] removed <- setdiff(old_names, names) [13:14:00.570] changed <- common[...future.oldEnvVars[common] != [13:14:00.570] envs[common]] [13:14:00.570] NAMES <- toupper(changed) [13:14:00.570] args <- list() [13:14:00.570] for (kk in seq_along(NAMES)) { [13:14:00.570] name <- changed[[kk]] [13:14:00.570] NAME <- NAMES[[kk]] [13:14:00.570] if (name != NAME && is.element(NAME, old_names)) [13:14:00.570] next [13:14:00.570] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.570] } [13:14:00.570] NAMES <- toupper(added) [13:14:00.570] for (kk in seq_along(NAMES)) { [13:14:00.570] name <- added[[kk]] [13:14:00.570] NAME <- NAMES[[kk]] [13:14:00.570] if (name != NAME && is.element(NAME, old_names)) [13:14:00.570] next [13:14:00.570] args[[name]] <- "" [13:14:00.570] } [13:14:00.570] NAMES <- toupper(removed) [13:14:00.570] for (kk in seq_along(NAMES)) { [13:14:00.570] name <- removed[[kk]] [13:14:00.570] NAME <- NAMES[[kk]] [13:14:00.570] if (name != NAME && is.element(NAME, old_names)) [13:14:00.570] next [13:14:00.570] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.570] } [13:14:00.570] if (length(args) > 0) [13:14:00.570] base::do.call(base::Sys.setenv, args = args) [13:14:00.570] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.570] } [13:14:00.570] else { [13:14:00.570] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.570] } [13:14:00.570] { [13:14:00.570] if (base::length(...future.futureOptionsAdded) > [13:14:00.570] 0L) { [13:14:00.570] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.570] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.570] base::options(opts) [13:14:00.570] } [13:14:00.570] { [13:14:00.570] { [13:14:00.570] NULL [13:14:00.570] RNGkind("Mersenne-Twister") [13:14:00.570] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.570] inherits = FALSE) [13:14:00.570] } [13:14:00.570] options(future.plan = NULL) [13:14:00.570] if (is.na(NA_character_)) [13:14:00.570] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.570] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.570] future::plan(list(function (..., envir = parent.frame()) [13:14:00.570] { [13:14:00.570] future <- SequentialFuture(..., envir = envir) [13:14:00.570] if (!future$lazy) [13:14:00.570] future <- run(future) [13:14:00.570] invisible(future) [13:14:00.570] }), .cleanup = FALSE, .init = FALSE) [13:14:00.570] } [13:14:00.570] } [13:14:00.570] } [13:14:00.570] }) [13:14:00.570] if (TRUE) { [13:14:00.570] base::sink(type = "output", split = FALSE) [13:14:00.570] if (TRUE) { [13:14:00.570] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.570] } [13:14:00.570] else { [13:14:00.570] ...future.result["stdout"] <- base::list(NULL) [13:14:00.570] } [13:14:00.570] base::close(...future.stdout) [13:14:00.570] ...future.stdout <- NULL [13:14:00.570] } [13:14:00.570] ...future.result$conditions <- ...future.conditions [13:14:00.570] ...future.result$finished <- base::Sys.time() [13:14:00.570] ...future.result [13:14:00.570] } [13:14:00.573] assign_globals() ... [13:14:00.573] List of 5 [13:14:00.573] $ ...future.FUN :function (x) [13:14:00.573] $ future.call.arguments : list() [13:14:00.573] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.573] $ ...future.elements_ii :List of 3 [13:14:00.573] ..$ a: num 1 [13:14:00.573] ..$ b: num 2 [13:14:00.573] ..$ c: num 3 [13:14:00.573] $ ...future.seeds_ii : NULL [13:14:00.573] $ ...future.globals.maxSize: NULL [13:14:00.573] - attr(*, "where")=List of 5 [13:14:00.573] ..$ ...future.FUN : [13:14:00.573] ..$ future.call.arguments : [13:14:00.573] ..$ ...future.elements_ii : [13:14:00.573] ..$ ...future.seeds_ii : [13:14:00.573] ..$ ...future.globals.maxSize: [13:14:00.573] - attr(*, "resolved")= logi FALSE [13:14:00.573] - attr(*, "total_size")= num 848 [13:14:00.573] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.573] - attr(*, "already-done")= logi TRUE [13:14:00.578] - copied '...future.FUN' to environment [13:14:00.578] - copied 'future.call.arguments' to environment [13:14:00.578] - copied '...future.elements_ii' to environment [13:14:00.578] - copied '...future.seeds_ii' to environment [13:14:00.578] - copied '...future.globals.maxSize' to environment [13:14:00.578] assign_globals() ... done [13:14:00.578] plan(): Setting new future strategy stack: [13:14:00.579] List of future strategies: [13:14:00.579] 1. sequential: [13:14:00.579] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.579] - tweaked: FALSE [13:14:00.579] - call: NULL [13:14:00.579] plan(): nbrOfWorkers() = 1 [13:14:00.580] plan(): Setting new future strategy stack: [13:14:00.580] List of future strategies: [13:14:00.580] 1. sequential: [13:14:00.580] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.580] - tweaked: FALSE [13:14:00.580] - call: plan(strategy) [13:14:00.580] plan(): nbrOfWorkers() = 1 [13:14:00.580] SequentialFuture started (and completed) [13:14:00.581] - Launch lazy future ... done [13:14:00.581] run() for 'SequentialFuture' ... done [13:14:00.581] Created future: [13:14:00.581] SequentialFuture: [13:14:00.581] Label: 'future_sapply-1' [13:14:00.581] Expression: [13:14:00.581] { [13:14:00.581] do.call(function(...) { [13:14:00.581] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.581] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.581] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.581] on.exit(options(oopts), add = TRUE) [13:14:00.581] } [13:14:00.581] { [13:14:00.581] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.581] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.581] ...future.FUN(...future.X_jj, ...) [13:14:00.581] }) [13:14:00.581] } [13:14:00.581] }, args = future.call.arguments) [13:14:00.581] } [13:14:00.581] Lazy evaluation: FALSE [13:14:00.581] Asynchronous evaluation: FALSE [13:14:00.581] Local evaluation: TRUE [13:14:00.581] Environment: R_GlobalEnv [13:14:00.581] Capture standard output: TRUE [13:14:00.581] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.581] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.581] Packages: [13:14:00.581] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.581] Resolved: TRUE [13:14:00.581] Value: 168 bytes of class 'list' [13:14:00.581] Early signaling: FALSE [13:14:00.581] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.581] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.582] Chunk #1 of 1 ... DONE [13:14:00.582] Launching 1 futures (chunks) ... DONE [13:14:00.582] Resolving 1 futures (chunks) ... [13:14:00.582] resolve() on list ... [13:14:00.582] recursive: 0 [13:14:00.582] length: 1 [13:14:00.583] [13:14:00.583] resolved() for 'SequentialFuture' ... [13:14:00.583] - state: 'finished' [13:14:00.583] - run: TRUE [13:14:00.583] - result: 'FutureResult' [13:14:00.583] resolved() for 'SequentialFuture' ... done [13:14:00.583] Future #1 [13:14:00.583] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.584] - nx: 1 [13:14:00.584] - relay: TRUE [13:14:00.584] - stdout: TRUE [13:14:00.584] - signal: TRUE [13:14:00.584] - resignal: FALSE [13:14:00.584] - force: TRUE [13:14:00.584] - relayed: [n=1] FALSE [13:14:00.584] - queued futures: [n=1] FALSE [13:14:00.584] - until=1 [13:14:00.585] - relaying element #1 [13:14:00.585] - relayed: [n=1] TRUE [13:14:00.585] - queued futures: [n=1] TRUE [13:14:00.585] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.585] length: 0 (resolved future 1) [13:14:00.585] Relaying remaining futures [13:14:00.585] signalConditionsASAP(NULL, pos=0) ... [13:14:00.585] - nx: 1 [13:14:00.586] - relay: TRUE [13:14:00.586] - stdout: TRUE [13:14:00.586] - signal: TRUE [13:14:00.586] - resignal: FALSE [13:14:00.586] - force: TRUE [13:14:00.586] - relayed: [n=1] TRUE [13:14:00.586] - queued futures: [n=1] TRUE - flush all [13:14:00.586] - relayed: [n=1] TRUE [13:14:00.587] - queued futures: [n=1] TRUE [13:14:00.587] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.587] resolve() on list ... DONE [13:14:00.587] - Number of value chunks collected: 1 [13:14:00.587] Resolving 1 futures (chunks) ... DONE [13:14:00.587] Reducing values from 1 chunks ... [13:14:00.587] - Number of values collected after concatenation: 3 [13:14:00.587] - Number of values expected: 3 [13:14:00.587] Reducing values from 1 chunks ... DONE [13:14:00.588] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y1:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y2:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 [13:14:00.592] future_lapply() ... [13:14:00.592] Number of chunks: 1 [13:14:00.593] getGlobalsAndPackagesXApply() ... [13:14:00.593] - future.globals: TRUE [13:14:00.593] getGlobalsAndPackages() ... [13:14:00.593] Searching for globals... [13:14:00.594] - globals found: [2] 'FUN', 'UseMethod' [13:14:00.594] Searching for globals ... DONE [13:14:00.594] Resolving globals: FALSE [13:14:00.595] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:00.595] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:00.595] - globals: [1] 'FUN' [13:14:00.595] [13:14:00.595] getGlobalsAndPackages() ... DONE [13:14:00.596] - globals found/used: [n=1] 'FUN' [13:14:00.596] - needed namespaces: [n=0] [13:14:00.596] Finding globals ... DONE [13:14:00.596] - use_args: TRUE [13:14:00.596] - Getting '...' globals ... [13:14:00.596] resolve() on list ... [13:14:00.596] recursive: 0 [13:14:00.596] length: 1 [13:14:00.597] elements: '...' [13:14:00.597] length: 0 (resolved future 1) [13:14:00.597] resolve() on list ... DONE [13:14:00.597] - '...' content: [n=0] [13:14:00.597] List of 1 [13:14:00.597] $ ...: list() [13:14:00.597] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.597] - attr(*, "where")=List of 1 [13:14:00.597] ..$ ...: [13:14:00.597] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.597] - attr(*, "resolved")= logi TRUE [13:14:00.597] - attr(*, "total_size")= num NA [13:14:00.599] - Getting '...' globals ... DONE [13:14:00.599] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.599] List of 2 [13:14:00.599] $ ...future.FUN:function (x, ...) [13:14:00.599] $ ... : list() [13:14:00.599] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.599] - attr(*, "where")=List of 2 [13:14:00.599] ..$ ...future.FUN: [13:14:00.599] ..$ ... : [13:14:00.599] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.599] - attr(*, "resolved")= logi FALSE [13:14:00.599] - attr(*, "total_size")= num 1248 [13:14:00.602] Packages to be attached in all futures: [n=0] [13:14:00.602] getGlobalsAndPackagesXApply() ... DONE [13:14:00.602] Number of futures (= number of chunks): 1 [13:14:00.602] Launching 1 futures (chunks) ... [13:14:00.602] Chunk #1 of 1 ... [13:14:00.602] - Finding globals in 'X' for chunk #1 ... [13:14:00.602] getGlobalsAndPackages() ... [13:14:00.602] Searching for globals... [13:14:00.603] [13:14:00.603] Searching for globals ... DONE [13:14:00.603] - globals: [0] [13:14:00.603] getGlobalsAndPackages() ... DONE [13:14:00.603] + additional globals found: [n=0] [13:14:00.603] + additional namespaces needed: [n=0] [13:14:00.603] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.603] - seeds: [13:14:00.604] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.604] getGlobalsAndPackages() ... [13:14:00.604] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.604] Resolving globals: FALSE [13:14:00.604] Tweak future expression to call with '...' arguments ... [13:14:00.604] { [13:14:00.604] do.call(function(...) { [13:14:00.604] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.604] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.604] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.604] on.exit(options(oopts), add = TRUE) [13:14:00.604] } [13:14:00.604] { [13:14:00.604] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.604] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.604] ...future.FUN(...future.X_jj, ...) [13:14:00.604] }) [13:14:00.604] } [13:14:00.604] }, args = future.call.arguments) [13:14:00.604] } [13:14:00.604] Tweak future expression to call with '...' arguments ... DONE [13:14:00.605] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.605] [13:14:00.605] getGlobalsAndPackages() ... DONE [13:14:00.605] run() for 'Future' ... [13:14:00.605] - state: 'created' [13:14:00.606] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.606] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.606] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.606] - Field: 'label' [13:14:00.606] - Field: 'local' [13:14:00.606] - Field: 'owner' [13:14:00.606] - Field: 'envir' [13:14:00.607] - Field: 'packages' [13:14:00.607] - Field: 'gc' [13:14:00.607] - Field: 'conditions' [13:14:00.607] - Field: 'expr' [13:14:00.607] - Field: 'uuid' [13:14:00.607] - Field: 'seed' [13:14:00.607] - Field: 'version' [13:14:00.607] - Field: 'result' [13:14:00.608] - Field: 'asynchronous' [13:14:00.608] - Field: 'calls' [13:14:00.608] - Field: 'globals' [13:14:00.608] - Field: 'stdout' [13:14:00.608] - Field: 'earlySignal' [13:14:00.608] - Field: 'lazy' [13:14:00.608] - Field: 'state' [13:14:00.608] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.608] - Launch lazy future ... [13:14:00.609] Packages needed by the future expression (n = 0): [13:14:00.609] Packages needed by future strategies (n = 0): [13:14:00.609] { [13:14:00.609] { [13:14:00.609] { [13:14:00.609] ...future.startTime <- base::Sys.time() [13:14:00.609] { [13:14:00.609] { [13:14:00.609] { [13:14:00.609] base::local({ [13:14:00.609] has_future <- base::requireNamespace("future", [13:14:00.609] quietly = TRUE) [13:14:00.609] if (has_future) { [13:14:00.609] ns <- base::getNamespace("future") [13:14:00.609] version <- ns[[".package"]][["version"]] [13:14:00.609] if (is.null(version)) [13:14:00.609] version <- utils::packageVersion("future") [13:14:00.609] } [13:14:00.609] else { [13:14:00.609] version <- NULL [13:14:00.609] } [13:14:00.609] if (!has_future || version < "1.8.0") { [13:14:00.609] info <- base::c(r_version = base::gsub("R version ", [13:14:00.609] "", base::R.version$version.string), [13:14:00.609] platform = base::sprintf("%s (%s-bit)", [13:14:00.609] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.609] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.609] "release", "version")], collapse = " "), [13:14:00.609] hostname = base::Sys.info()[["nodename"]]) [13:14:00.609] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.609] info) [13:14:00.609] info <- base::paste(info, collapse = "; ") [13:14:00.609] if (!has_future) { [13:14:00.609] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.609] info) [13:14:00.609] } [13:14:00.609] else { [13:14:00.609] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.609] info, version) [13:14:00.609] } [13:14:00.609] base::stop(msg) [13:14:00.609] } [13:14:00.609] }) [13:14:00.609] } [13:14:00.609] options(future.plan = NULL) [13:14:00.609] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.609] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.609] } [13:14:00.609] ...future.workdir <- getwd() [13:14:00.609] } [13:14:00.609] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.609] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.609] } [13:14:00.609] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.609] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.609] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.609] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.609] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.609] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.609] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.609] base::names(...future.oldOptions)) [13:14:00.609] } [13:14:00.609] if (FALSE) { [13:14:00.609] } [13:14:00.609] else { [13:14:00.609] if (TRUE) { [13:14:00.609] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.609] open = "w") [13:14:00.609] } [13:14:00.609] else { [13:14:00.609] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.609] windows = "NUL", "/dev/null"), open = "w") [13:14:00.609] } [13:14:00.609] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.609] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.609] base::sink(type = "output", split = FALSE) [13:14:00.609] base::close(...future.stdout) [13:14:00.609] }, add = TRUE) [13:14:00.609] } [13:14:00.609] ...future.frame <- base::sys.nframe() [13:14:00.609] ...future.conditions <- base::list() [13:14:00.609] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.609] if (FALSE) { [13:14:00.609] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.609] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.609] } [13:14:00.609] ...future.result <- base::tryCatch({ [13:14:00.609] base::withCallingHandlers({ [13:14:00.609] ...future.value <- base::withVisible(base::local({ [13:14:00.609] do.call(function(...) { [13:14:00.609] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.609] if (!identical(...future.globals.maxSize.org, [13:14:00.609] ...future.globals.maxSize)) { [13:14:00.609] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.609] on.exit(options(oopts), add = TRUE) [13:14:00.609] } [13:14:00.609] { [13:14:00.609] lapply(seq_along(...future.elements_ii), [13:14:00.609] FUN = function(jj) { [13:14:00.609] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.609] ...future.FUN(...future.X_jj, ...) [13:14:00.609] }) [13:14:00.609] } [13:14:00.609] }, args = future.call.arguments) [13:14:00.609] })) [13:14:00.609] future::FutureResult(value = ...future.value$value, [13:14:00.609] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.609] ...future.rng), globalenv = if (FALSE) [13:14:00.609] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.609] ...future.globalenv.names)) [13:14:00.609] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.609] }, condition = base::local({ [13:14:00.609] c <- base::c [13:14:00.609] inherits <- base::inherits [13:14:00.609] invokeRestart <- base::invokeRestart [13:14:00.609] length <- base::length [13:14:00.609] list <- base::list [13:14:00.609] seq.int <- base::seq.int [13:14:00.609] signalCondition <- base::signalCondition [13:14:00.609] sys.calls <- base::sys.calls [13:14:00.609] `[[` <- base::`[[` [13:14:00.609] `+` <- base::`+` [13:14:00.609] `<<-` <- base::`<<-` [13:14:00.609] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.609] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.609] 3L)] [13:14:00.609] } [13:14:00.609] function(cond) { [13:14:00.609] is_error <- inherits(cond, "error") [13:14:00.609] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.609] NULL) [13:14:00.609] if (is_error) { [13:14:00.609] sessionInformation <- function() { [13:14:00.609] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.609] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.609] search = base::search(), system = base::Sys.info()) [13:14:00.609] } [13:14:00.609] ...future.conditions[[length(...future.conditions) + [13:14:00.609] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.609] cond$call), session = sessionInformation(), [13:14:00.609] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.609] signalCondition(cond) [13:14:00.609] } [13:14:00.609] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.609] "immediateCondition"))) { [13:14:00.609] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.609] ...future.conditions[[length(...future.conditions) + [13:14:00.609] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.609] if (TRUE && !signal) { [13:14:00.609] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.609] { [13:14:00.609] inherits <- base::inherits [13:14:00.609] invokeRestart <- base::invokeRestart [13:14:00.609] is.null <- base::is.null [13:14:00.609] muffled <- FALSE [13:14:00.609] if (inherits(cond, "message")) { [13:14:00.609] muffled <- grepl(pattern, "muffleMessage") [13:14:00.609] if (muffled) [13:14:00.609] invokeRestart("muffleMessage") [13:14:00.609] } [13:14:00.609] else if (inherits(cond, "warning")) { [13:14:00.609] muffled <- grepl(pattern, "muffleWarning") [13:14:00.609] if (muffled) [13:14:00.609] invokeRestart("muffleWarning") [13:14:00.609] } [13:14:00.609] else if (inherits(cond, "condition")) { [13:14:00.609] if (!is.null(pattern)) { [13:14:00.609] computeRestarts <- base::computeRestarts [13:14:00.609] grepl <- base::grepl [13:14:00.609] restarts <- computeRestarts(cond) [13:14:00.609] for (restart in restarts) { [13:14:00.609] name <- restart$name [13:14:00.609] if (is.null(name)) [13:14:00.609] next [13:14:00.609] if (!grepl(pattern, name)) [13:14:00.609] next [13:14:00.609] invokeRestart(restart) [13:14:00.609] muffled <- TRUE [13:14:00.609] break [13:14:00.609] } [13:14:00.609] } [13:14:00.609] } [13:14:00.609] invisible(muffled) [13:14:00.609] } [13:14:00.609] muffleCondition(cond, pattern = "^muffle") [13:14:00.609] } [13:14:00.609] } [13:14:00.609] else { [13:14:00.609] if (TRUE) { [13:14:00.609] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.609] { [13:14:00.609] inherits <- base::inherits [13:14:00.609] invokeRestart <- base::invokeRestart [13:14:00.609] is.null <- base::is.null [13:14:00.609] muffled <- FALSE [13:14:00.609] if (inherits(cond, "message")) { [13:14:00.609] muffled <- grepl(pattern, "muffleMessage") [13:14:00.609] if (muffled) [13:14:00.609] invokeRestart("muffleMessage") [13:14:00.609] } [13:14:00.609] else if (inherits(cond, "warning")) { [13:14:00.609] muffled <- grepl(pattern, "muffleWarning") [13:14:00.609] if (muffled) [13:14:00.609] invokeRestart("muffleWarning") [13:14:00.609] } [13:14:00.609] else if (inherits(cond, "condition")) { [13:14:00.609] if (!is.null(pattern)) { [13:14:00.609] computeRestarts <- base::computeRestarts [13:14:00.609] grepl <- base::grepl [13:14:00.609] restarts <- computeRestarts(cond) [13:14:00.609] for (restart in restarts) { [13:14:00.609] name <- restart$name [13:14:00.609] if (is.null(name)) [13:14:00.609] next [13:14:00.609] if (!grepl(pattern, name)) [13:14:00.609] next [13:14:00.609] invokeRestart(restart) [13:14:00.609] muffled <- TRUE [13:14:00.609] break [13:14:00.609] } [13:14:00.609] } [13:14:00.609] } [13:14:00.609] invisible(muffled) [13:14:00.609] } [13:14:00.609] muffleCondition(cond, pattern = "^muffle") [13:14:00.609] } [13:14:00.609] } [13:14:00.609] } [13:14:00.609] })) [13:14:00.609] }, error = function(ex) { [13:14:00.609] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.609] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.609] ...future.rng), started = ...future.startTime, [13:14:00.609] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.609] version = "1.8"), class = "FutureResult") [13:14:00.609] }, finally = { [13:14:00.609] if (!identical(...future.workdir, getwd())) [13:14:00.609] setwd(...future.workdir) [13:14:00.609] { [13:14:00.609] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.609] ...future.oldOptions$nwarnings <- NULL [13:14:00.609] } [13:14:00.609] base::options(...future.oldOptions) [13:14:00.609] if (.Platform$OS.type == "windows") { [13:14:00.609] old_names <- names(...future.oldEnvVars) [13:14:00.609] envs <- base::Sys.getenv() [13:14:00.609] names <- names(envs) [13:14:00.609] common <- intersect(names, old_names) [13:14:00.609] added <- setdiff(names, old_names) [13:14:00.609] removed <- setdiff(old_names, names) [13:14:00.609] changed <- common[...future.oldEnvVars[common] != [13:14:00.609] envs[common]] [13:14:00.609] NAMES <- toupper(changed) [13:14:00.609] args <- list() [13:14:00.609] for (kk in seq_along(NAMES)) { [13:14:00.609] name <- changed[[kk]] [13:14:00.609] NAME <- NAMES[[kk]] [13:14:00.609] if (name != NAME && is.element(NAME, old_names)) [13:14:00.609] next [13:14:00.609] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.609] } [13:14:00.609] NAMES <- toupper(added) [13:14:00.609] for (kk in seq_along(NAMES)) { [13:14:00.609] name <- added[[kk]] [13:14:00.609] NAME <- NAMES[[kk]] [13:14:00.609] if (name != NAME && is.element(NAME, old_names)) [13:14:00.609] next [13:14:00.609] args[[name]] <- "" [13:14:00.609] } [13:14:00.609] NAMES <- toupper(removed) [13:14:00.609] for (kk in seq_along(NAMES)) { [13:14:00.609] name <- removed[[kk]] [13:14:00.609] NAME <- NAMES[[kk]] [13:14:00.609] if (name != NAME && is.element(NAME, old_names)) [13:14:00.609] next [13:14:00.609] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.609] } [13:14:00.609] if (length(args) > 0) [13:14:00.609] base::do.call(base::Sys.setenv, args = args) [13:14:00.609] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.609] } [13:14:00.609] else { [13:14:00.609] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.609] } [13:14:00.609] { [13:14:00.609] if (base::length(...future.futureOptionsAdded) > [13:14:00.609] 0L) { [13:14:00.609] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.609] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.609] base::options(opts) [13:14:00.609] } [13:14:00.609] { [13:14:00.609] { [13:14:00.609] NULL [13:14:00.609] RNGkind("Mersenne-Twister") [13:14:00.609] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.609] inherits = FALSE) [13:14:00.609] } [13:14:00.609] options(future.plan = NULL) [13:14:00.609] if (is.na(NA_character_)) [13:14:00.609] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.609] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.609] future::plan(list(function (..., envir = parent.frame()) [13:14:00.609] { [13:14:00.609] future <- SequentialFuture(..., envir = envir) [13:14:00.609] if (!future$lazy) [13:14:00.609] future <- run(future) [13:14:00.609] invisible(future) [13:14:00.609] }), .cleanup = FALSE, .init = FALSE) [13:14:00.609] } [13:14:00.609] } [13:14:00.609] } [13:14:00.609] }) [13:14:00.609] if (TRUE) { [13:14:00.609] base::sink(type = "output", split = FALSE) [13:14:00.609] if (TRUE) { [13:14:00.609] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.609] } [13:14:00.609] else { [13:14:00.609] ...future.result["stdout"] <- base::list(NULL) [13:14:00.609] } [13:14:00.609] base::close(...future.stdout) [13:14:00.609] ...future.stdout <- NULL [13:14:00.609] } [13:14:00.609] ...future.result$conditions <- ...future.conditions [13:14:00.609] ...future.result$finished <- base::Sys.time() [13:14:00.609] ...future.result [13:14:00.609] } [13:14:00.612] assign_globals() ... [13:14:00.612] List of 5 [13:14:00.612] $ ...future.FUN :function (x, ...) [13:14:00.612] $ future.call.arguments : list() [13:14:00.612] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.612] $ ...future.elements_ii :List of 3 [13:14:00.612] ..$ a: num 1 [13:14:00.612] ..$ b: num 2 [13:14:00.612] ..$ c: num 3 [13:14:00.612] $ ...future.seeds_ii : NULL [13:14:00.612] $ ...future.globals.maxSize: NULL [13:14:00.612] - attr(*, "where")=List of 5 [13:14:00.612] ..$ ...future.FUN : [13:14:00.612] ..$ future.call.arguments : [13:14:00.612] ..$ ...future.elements_ii : [13:14:00.612] ..$ ...future.seeds_ii : [13:14:00.612] ..$ ...future.globals.maxSize: [13:14:00.612] - attr(*, "resolved")= logi FALSE [13:14:00.612] - attr(*, "total_size")= num 1248 [13:14:00.612] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.612] - attr(*, "already-done")= logi TRUE [13:14:00.617] - copied '...future.FUN' to environment [13:14:00.617] - copied 'future.call.arguments' to environment [13:14:00.617] - copied '...future.elements_ii' to environment [13:14:00.617] - copied '...future.seeds_ii' to environment [13:14:00.618] - copied '...future.globals.maxSize' to environment [13:14:00.618] assign_globals() ... done [13:14:00.618] plan(): Setting new future strategy stack: [13:14:00.618] List of future strategies: [13:14:00.618] 1. sequential: [13:14:00.618] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.618] - tweaked: FALSE [13:14:00.618] - call: NULL [13:14:00.618] plan(): nbrOfWorkers() = 1 [13:14:00.619] plan(): Setting new future strategy stack: [13:14:00.619] List of future strategies: [13:14:00.619] 1. sequential: [13:14:00.619] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.619] - tweaked: FALSE [13:14:00.619] - call: plan(strategy) [13:14:00.620] plan(): nbrOfWorkers() = 1 [13:14:00.620] SequentialFuture started (and completed) [13:14:00.620] - Launch lazy future ... done [13:14:00.620] run() for 'SequentialFuture' ... done [13:14:00.620] Created future: [13:14:00.621] SequentialFuture: [13:14:00.621] Label: 'future_sapply-1' [13:14:00.621] Expression: [13:14:00.621] { [13:14:00.621] do.call(function(...) { [13:14:00.621] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.621] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.621] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.621] on.exit(options(oopts), add = TRUE) [13:14:00.621] } [13:14:00.621] { [13:14:00.621] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.621] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.621] ...future.FUN(...future.X_jj, ...) [13:14:00.621] }) [13:14:00.621] } [13:14:00.621] }, args = future.call.arguments) [13:14:00.621] } [13:14:00.621] Lazy evaluation: FALSE [13:14:00.621] Asynchronous evaluation: FALSE [13:14:00.621] Local evaluation: TRUE [13:14:00.621] Environment: R_GlobalEnv [13:14:00.621] Capture standard output: TRUE [13:14:00.621] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.621] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.621] Packages: [13:14:00.621] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.621] Resolved: TRUE [13:14:00.621] Value: 672 bytes of class 'list' [13:14:00.621] Early signaling: FALSE [13:14:00.621] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.621] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.621] Chunk #1 of 1 ... DONE [13:14:00.622] Launching 1 futures (chunks) ... DONE [13:14:00.622] Resolving 1 futures (chunks) ... [13:14:00.622] resolve() on list ... [13:14:00.622] recursive: 0 [13:14:00.622] length: 1 [13:14:00.622] [13:14:00.622] resolved() for 'SequentialFuture' ... [13:14:00.622] - state: 'finished' [13:14:00.622] - run: TRUE [13:14:00.623] - result: 'FutureResult' [13:14:00.623] resolved() for 'SequentialFuture' ... done [13:14:00.623] Future #1 [13:14:00.623] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.623] - nx: 1 [13:14:00.623] - relay: TRUE [13:14:00.623] - stdout: TRUE [13:14:00.623] - signal: TRUE [13:14:00.623] - resignal: FALSE [13:14:00.624] - force: TRUE [13:14:00.624] - relayed: [n=1] FALSE [13:14:00.624] - queued futures: [n=1] FALSE [13:14:00.624] - until=1 [13:14:00.624] - relaying element #1 [13:14:00.624] - relayed: [n=1] TRUE [13:14:00.624] - queued futures: [n=1] TRUE [13:14:00.624] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.625] length: 0 (resolved future 1) [13:14:00.625] Relaying remaining futures [13:14:00.625] signalConditionsASAP(NULL, pos=0) ... [13:14:00.625] - nx: 1 [13:14:00.625] - relay: TRUE [13:14:00.625] - stdout: TRUE [13:14:00.625] - signal: TRUE [13:14:00.625] - resignal: FALSE [13:14:00.625] - force: TRUE [13:14:00.625] - relayed: [n=1] TRUE [13:14:00.626] - queued futures: [n=1] TRUE - flush all [13:14:00.626] - relayed: [n=1] TRUE [13:14:00.626] - queued futures: [n=1] TRUE [13:14:00.626] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.626] resolve() on list ... DONE [13:14:00.626] - Number of value chunks collected: 1 [13:14:00.626] Resolving 1 futures (chunks) ... DONE [13:14:00.626] Reducing values from 1 chunks ... [13:14:00.627] - Number of values collected after concatenation: 3 [13:14:00.627] - Number of values expected: 3 [13:14:00.627] Reducing values from 1 chunks ... DONE [13:14:00.627] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y1:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y2:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 [13:14:00.632] future_lapply() ... [13:14:00.632] Number of chunks: 1 [13:14:00.632] getGlobalsAndPackagesXApply() ... [13:14:00.633] - future.globals: TRUE [13:14:00.633] getGlobalsAndPackages() ... [13:14:00.633] Searching for globals... [13:14:00.634] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:00.635] Searching for globals ... DONE [13:14:00.635] Resolving globals: FALSE [13:14:00.635] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:00.635] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:00.636] - globals: [1] 'FUN' [13:14:00.636] [13:14:00.636] getGlobalsAndPackages() ... DONE [13:14:00.636] - globals found/used: [n=1] 'FUN' [13:14:00.636] - needed namespaces: [n=0] [13:14:00.636] Finding globals ... DONE [13:14:00.636] - use_args: TRUE [13:14:00.636] - Getting '...' globals ... [13:14:00.637] resolve() on list ... [13:14:00.637] recursive: 0 [13:14:00.637] length: 1 [13:14:00.637] elements: '...' [13:14:00.637] length: 0 (resolved future 1) [13:14:00.637] resolve() on list ... DONE [13:14:00.637] - '...' content: [n=0] [13:14:00.637] List of 1 [13:14:00.637] $ ...: list() [13:14:00.637] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.637] - attr(*, "where")=List of 1 [13:14:00.637] ..$ ...: [13:14:00.637] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.637] - attr(*, "resolved")= logi TRUE [13:14:00.637] - attr(*, "total_size")= num NA [13:14:00.639] - Getting '...' globals ... DONE [13:14:00.640] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.640] List of 2 [13:14:00.640] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:00.640] $ ... : list() [13:14:00.640] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.640] - attr(*, "where")=List of 2 [13:14:00.640] ..$ ...future.FUN: [13:14:00.640] ..$ ... : [13:14:00.640] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.640] - attr(*, "resolved")= logi FALSE [13:14:00.640] - attr(*, "total_size")= num 4728 [13:14:00.642] Packages to be attached in all futures: [n=0] [13:14:00.642] getGlobalsAndPackagesXApply() ... DONE [13:14:00.642] Number of futures (= number of chunks): 1 [13:14:00.642] Launching 1 futures (chunks) ... [13:14:00.642] Chunk #1 of 1 ... [13:14:00.643] - Finding globals in 'X' for chunk #1 ... [13:14:00.643] getGlobalsAndPackages() ... [13:14:00.643] Searching for globals... [13:14:00.643] [13:14:00.643] Searching for globals ... DONE [13:14:00.643] - globals: [0] [13:14:00.643] getGlobalsAndPackages() ... DONE [13:14:00.644] + additional globals found: [n=0] [13:14:00.644] + additional namespaces needed: [n=0] [13:14:00.644] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.644] - seeds: [13:14:00.644] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.644] getGlobalsAndPackages() ... [13:14:00.644] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.644] Resolving globals: FALSE [13:14:00.644] Tweak future expression to call with '...' arguments ... [13:14:00.645] { [13:14:00.645] do.call(function(...) { [13:14:00.645] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.645] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.645] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.645] on.exit(options(oopts), add = TRUE) [13:14:00.645] } [13:14:00.645] { [13:14:00.645] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.645] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.645] ...future.FUN(...future.X_jj, ...) [13:14:00.645] }) [13:14:00.645] } [13:14:00.645] }, args = future.call.arguments) [13:14:00.645] } [13:14:00.645] Tweak future expression to call with '...' arguments ... DONE [13:14:00.645] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.645] [13:14:00.645] getGlobalsAndPackages() ... DONE [13:14:00.646] run() for 'Future' ... [13:14:00.646] - state: 'created' [13:14:00.646] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.646] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.646] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.646] - Field: 'label' [13:14:00.647] - Field: 'local' [13:14:00.647] - Field: 'owner' [13:14:00.647] - Field: 'envir' [13:14:00.647] - Field: 'packages' [13:14:00.647] - Field: 'gc' [13:14:00.647] - Field: 'conditions' [13:14:00.647] - Field: 'expr' [13:14:00.647] - Field: 'uuid' [13:14:00.648] - Field: 'seed' [13:14:00.648] - Field: 'version' [13:14:00.648] - Field: 'result' [13:14:00.648] - Field: 'asynchronous' [13:14:00.648] - Field: 'calls' [13:14:00.648] - Field: 'globals' [13:14:00.648] - Field: 'stdout' [13:14:00.648] - Field: 'earlySignal' [13:14:00.648] - Field: 'lazy' [13:14:00.649] - Field: 'state' [13:14:00.649] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.649] - Launch lazy future ... [13:14:00.649] Packages needed by the future expression (n = 0): [13:14:00.649] Packages needed by future strategies (n = 0): [13:14:00.650] { [13:14:00.650] { [13:14:00.650] { [13:14:00.650] ...future.startTime <- base::Sys.time() [13:14:00.650] { [13:14:00.650] { [13:14:00.650] { [13:14:00.650] base::local({ [13:14:00.650] has_future <- base::requireNamespace("future", [13:14:00.650] quietly = TRUE) [13:14:00.650] if (has_future) { [13:14:00.650] ns <- base::getNamespace("future") [13:14:00.650] version <- ns[[".package"]][["version"]] [13:14:00.650] if (is.null(version)) [13:14:00.650] version <- utils::packageVersion("future") [13:14:00.650] } [13:14:00.650] else { [13:14:00.650] version <- NULL [13:14:00.650] } [13:14:00.650] if (!has_future || version < "1.8.0") { [13:14:00.650] info <- base::c(r_version = base::gsub("R version ", [13:14:00.650] "", base::R.version$version.string), [13:14:00.650] platform = base::sprintf("%s (%s-bit)", [13:14:00.650] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.650] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.650] "release", "version")], collapse = " "), [13:14:00.650] hostname = base::Sys.info()[["nodename"]]) [13:14:00.650] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.650] info) [13:14:00.650] info <- base::paste(info, collapse = "; ") [13:14:00.650] if (!has_future) { [13:14:00.650] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.650] info) [13:14:00.650] } [13:14:00.650] else { [13:14:00.650] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.650] info, version) [13:14:00.650] } [13:14:00.650] base::stop(msg) [13:14:00.650] } [13:14:00.650] }) [13:14:00.650] } [13:14:00.650] options(future.plan = NULL) [13:14:00.650] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.650] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.650] } [13:14:00.650] ...future.workdir <- getwd() [13:14:00.650] } [13:14:00.650] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.650] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.650] } [13:14:00.650] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.650] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.650] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.650] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.650] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.650] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.650] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.650] base::names(...future.oldOptions)) [13:14:00.650] } [13:14:00.650] if (FALSE) { [13:14:00.650] } [13:14:00.650] else { [13:14:00.650] if (TRUE) { [13:14:00.650] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.650] open = "w") [13:14:00.650] } [13:14:00.650] else { [13:14:00.650] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.650] windows = "NUL", "/dev/null"), open = "w") [13:14:00.650] } [13:14:00.650] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.650] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.650] base::sink(type = "output", split = FALSE) [13:14:00.650] base::close(...future.stdout) [13:14:00.650] }, add = TRUE) [13:14:00.650] } [13:14:00.650] ...future.frame <- base::sys.nframe() [13:14:00.650] ...future.conditions <- base::list() [13:14:00.650] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.650] if (FALSE) { [13:14:00.650] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.650] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.650] } [13:14:00.650] ...future.result <- base::tryCatch({ [13:14:00.650] base::withCallingHandlers({ [13:14:00.650] ...future.value <- base::withVisible(base::local({ [13:14:00.650] do.call(function(...) { [13:14:00.650] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.650] if (!identical(...future.globals.maxSize.org, [13:14:00.650] ...future.globals.maxSize)) { [13:14:00.650] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.650] on.exit(options(oopts), add = TRUE) [13:14:00.650] } [13:14:00.650] { [13:14:00.650] lapply(seq_along(...future.elements_ii), [13:14:00.650] FUN = function(jj) { [13:14:00.650] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.650] ...future.FUN(...future.X_jj, ...) [13:14:00.650] }) [13:14:00.650] } [13:14:00.650] }, args = future.call.arguments) [13:14:00.650] })) [13:14:00.650] future::FutureResult(value = ...future.value$value, [13:14:00.650] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.650] ...future.rng), globalenv = if (FALSE) [13:14:00.650] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.650] ...future.globalenv.names)) [13:14:00.650] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.650] }, condition = base::local({ [13:14:00.650] c <- base::c [13:14:00.650] inherits <- base::inherits [13:14:00.650] invokeRestart <- base::invokeRestart [13:14:00.650] length <- base::length [13:14:00.650] list <- base::list [13:14:00.650] seq.int <- base::seq.int [13:14:00.650] signalCondition <- base::signalCondition [13:14:00.650] sys.calls <- base::sys.calls [13:14:00.650] `[[` <- base::`[[` [13:14:00.650] `+` <- base::`+` [13:14:00.650] `<<-` <- base::`<<-` [13:14:00.650] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.650] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.650] 3L)] [13:14:00.650] } [13:14:00.650] function(cond) { [13:14:00.650] is_error <- inherits(cond, "error") [13:14:00.650] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.650] NULL) [13:14:00.650] if (is_error) { [13:14:00.650] sessionInformation <- function() { [13:14:00.650] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.650] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.650] search = base::search(), system = base::Sys.info()) [13:14:00.650] } [13:14:00.650] ...future.conditions[[length(...future.conditions) + [13:14:00.650] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.650] cond$call), session = sessionInformation(), [13:14:00.650] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.650] signalCondition(cond) [13:14:00.650] } [13:14:00.650] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.650] "immediateCondition"))) { [13:14:00.650] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.650] ...future.conditions[[length(...future.conditions) + [13:14:00.650] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.650] if (TRUE && !signal) { [13:14:00.650] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.650] { [13:14:00.650] inherits <- base::inherits [13:14:00.650] invokeRestart <- base::invokeRestart [13:14:00.650] is.null <- base::is.null [13:14:00.650] muffled <- FALSE [13:14:00.650] if (inherits(cond, "message")) { [13:14:00.650] muffled <- grepl(pattern, "muffleMessage") [13:14:00.650] if (muffled) [13:14:00.650] invokeRestart("muffleMessage") [13:14:00.650] } [13:14:00.650] else if (inherits(cond, "warning")) { [13:14:00.650] muffled <- grepl(pattern, "muffleWarning") [13:14:00.650] if (muffled) [13:14:00.650] invokeRestart("muffleWarning") [13:14:00.650] } [13:14:00.650] else if (inherits(cond, "condition")) { [13:14:00.650] if (!is.null(pattern)) { [13:14:00.650] computeRestarts <- base::computeRestarts [13:14:00.650] grepl <- base::grepl [13:14:00.650] restarts <- computeRestarts(cond) [13:14:00.650] for (restart in restarts) { [13:14:00.650] name <- restart$name [13:14:00.650] if (is.null(name)) [13:14:00.650] next [13:14:00.650] if (!grepl(pattern, name)) [13:14:00.650] next [13:14:00.650] invokeRestart(restart) [13:14:00.650] muffled <- TRUE [13:14:00.650] break [13:14:00.650] } [13:14:00.650] } [13:14:00.650] } [13:14:00.650] invisible(muffled) [13:14:00.650] } [13:14:00.650] muffleCondition(cond, pattern = "^muffle") [13:14:00.650] } [13:14:00.650] } [13:14:00.650] else { [13:14:00.650] if (TRUE) { [13:14:00.650] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.650] { [13:14:00.650] inherits <- base::inherits [13:14:00.650] invokeRestart <- base::invokeRestart [13:14:00.650] is.null <- base::is.null [13:14:00.650] muffled <- FALSE [13:14:00.650] if (inherits(cond, "message")) { [13:14:00.650] muffled <- grepl(pattern, "muffleMessage") [13:14:00.650] if (muffled) [13:14:00.650] invokeRestart("muffleMessage") [13:14:00.650] } [13:14:00.650] else if (inherits(cond, "warning")) { [13:14:00.650] muffled <- grepl(pattern, "muffleWarning") [13:14:00.650] if (muffled) [13:14:00.650] invokeRestart("muffleWarning") [13:14:00.650] } [13:14:00.650] else if (inherits(cond, "condition")) { [13:14:00.650] if (!is.null(pattern)) { [13:14:00.650] computeRestarts <- base::computeRestarts [13:14:00.650] grepl <- base::grepl [13:14:00.650] restarts <- computeRestarts(cond) [13:14:00.650] for (restart in restarts) { [13:14:00.650] name <- restart$name [13:14:00.650] if (is.null(name)) [13:14:00.650] next [13:14:00.650] if (!grepl(pattern, name)) [13:14:00.650] next [13:14:00.650] invokeRestart(restart) [13:14:00.650] muffled <- TRUE [13:14:00.650] break [13:14:00.650] } [13:14:00.650] } [13:14:00.650] } [13:14:00.650] invisible(muffled) [13:14:00.650] } [13:14:00.650] muffleCondition(cond, pattern = "^muffle") [13:14:00.650] } [13:14:00.650] } [13:14:00.650] } [13:14:00.650] })) [13:14:00.650] }, error = function(ex) { [13:14:00.650] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.650] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.650] ...future.rng), started = ...future.startTime, [13:14:00.650] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.650] version = "1.8"), class = "FutureResult") [13:14:00.650] }, finally = { [13:14:00.650] if (!identical(...future.workdir, getwd())) [13:14:00.650] setwd(...future.workdir) [13:14:00.650] { [13:14:00.650] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.650] ...future.oldOptions$nwarnings <- NULL [13:14:00.650] } [13:14:00.650] base::options(...future.oldOptions) [13:14:00.650] if (.Platform$OS.type == "windows") { [13:14:00.650] old_names <- names(...future.oldEnvVars) [13:14:00.650] envs <- base::Sys.getenv() [13:14:00.650] names <- names(envs) [13:14:00.650] common <- intersect(names, old_names) [13:14:00.650] added <- setdiff(names, old_names) [13:14:00.650] removed <- setdiff(old_names, names) [13:14:00.650] changed <- common[...future.oldEnvVars[common] != [13:14:00.650] envs[common]] [13:14:00.650] NAMES <- toupper(changed) [13:14:00.650] args <- list() [13:14:00.650] for (kk in seq_along(NAMES)) { [13:14:00.650] name <- changed[[kk]] [13:14:00.650] NAME <- NAMES[[kk]] [13:14:00.650] if (name != NAME && is.element(NAME, old_names)) [13:14:00.650] next [13:14:00.650] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.650] } [13:14:00.650] NAMES <- toupper(added) [13:14:00.650] for (kk in seq_along(NAMES)) { [13:14:00.650] name <- added[[kk]] [13:14:00.650] NAME <- NAMES[[kk]] [13:14:00.650] if (name != NAME && is.element(NAME, old_names)) [13:14:00.650] next [13:14:00.650] args[[name]] <- "" [13:14:00.650] } [13:14:00.650] NAMES <- toupper(removed) [13:14:00.650] for (kk in seq_along(NAMES)) { [13:14:00.650] name <- removed[[kk]] [13:14:00.650] NAME <- NAMES[[kk]] [13:14:00.650] if (name != NAME && is.element(NAME, old_names)) [13:14:00.650] next [13:14:00.650] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.650] } [13:14:00.650] if (length(args) > 0) [13:14:00.650] base::do.call(base::Sys.setenv, args = args) [13:14:00.650] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.650] } [13:14:00.650] else { [13:14:00.650] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.650] } [13:14:00.650] { [13:14:00.650] if (base::length(...future.futureOptionsAdded) > [13:14:00.650] 0L) { [13:14:00.650] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.650] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.650] base::options(opts) [13:14:00.650] } [13:14:00.650] { [13:14:00.650] { [13:14:00.650] NULL [13:14:00.650] RNGkind("Mersenne-Twister") [13:14:00.650] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.650] inherits = FALSE) [13:14:00.650] } [13:14:00.650] options(future.plan = NULL) [13:14:00.650] if (is.na(NA_character_)) [13:14:00.650] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.650] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.650] future::plan(list(function (..., envir = parent.frame()) [13:14:00.650] { [13:14:00.650] future <- SequentialFuture(..., envir = envir) [13:14:00.650] if (!future$lazy) [13:14:00.650] future <- run(future) [13:14:00.650] invisible(future) [13:14:00.650] }), .cleanup = FALSE, .init = FALSE) [13:14:00.650] } [13:14:00.650] } [13:14:00.650] } [13:14:00.650] }) [13:14:00.650] if (TRUE) { [13:14:00.650] base::sink(type = "output", split = FALSE) [13:14:00.650] if (TRUE) { [13:14:00.650] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.650] } [13:14:00.650] else { [13:14:00.650] ...future.result["stdout"] <- base::list(NULL) [13:14:00.650] } [13:14:00.650] base::close(...future.stdout) [13:14:00.650] ...future.stdout <- NULL [13:14:00.650] } [13:14:00.650] ...future.result$conditions <- ...future.conditions [13:14:00.650] ...future.result$finished <- base::Sys.time() [13:14:00.650] ...future.result [13:14:00.650] } [13:14:00.652] assign_globals() ... [13:14:00.652] List of 5 [13:14:00.652] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:00.652] $ future.call.arguments : list() [13:14:00.652] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.652] $ ...future.elements_ii :List of 3 [13:14:00.652] ..$ a: num 1 [13:14:00.652] ..$ b: num 2 [13:14:00.652] ..$ c: num 3 [13:14:00.652] $ ...future.seeds_ii : NULL [13:14:00.652] $ ...future.globals.maxSize: NULL [13:14:00.652] - attr(*, "where")=List of 5 [13:14:00.652] ..$ ...future.FUN : [13:14:00.652] ..$ future.call.arguments : [13:14:00.652] ..$ ...future.elements_ii : [13:14:00.652] ..$ ...future.seeds_ii : [13:14:00.652] ..$ ...future.globals.maxSize: [13:14:00.652] - attr(*, "resolved")= logi FALSE [13:14:00.652] - attr(*, "total_size")= num 4728 [13:14:00.652] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.652] - attr(*, "already-done")= logi TRUE [13:14:00.657] - reassign environment for '...future.FUN' [13:14:00.657] - copied '...future.FUN' to environment [13:14:00.658] - copied 'future.call.arguments' to environment [13:14:00.658] - copied '...future.elements_ii' to environment [13:14:00.658] - copied '...future.seeds_ii' to environment [13:14:00.658] - copied '...future.globals.maxSize' to environment [13:14:00.658] assign_globals() ... done [13:14:00.658] plan(): Setting new future strategy stack: [13:14:00.658] List of future strategies: [13:14:00.658] 1. sequential: [13:14:00.658] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.658] - tweaked: FALSE [13:14:00.658] - call: NULL [13:14:00.659] plan(): nbrOfWorkers() = 1 [13:14:00.660] plan(): Setting new future strategy stack: [13:14:00.660] List of future strategies: [13:14:00.660] 1. sequential: [13:14:00.660] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.660] - tweaked: FALSE [13:14:00.660] - call: plan(strategy) [13:14:00.660] plan(): nbrOfWorkers() = 1 [13:14:00.660] SequentialFuture started (and completed) [13:14:00.660] - Launch lazy future ... done [13:14:00.661] run() for 'SequentialFuture' ... done [13:14:00.661] Created future: [13:14:00.661] SequentialFuture: [13:14:00.661] Label: 'future_sapply-1' [13:14:00.661] Expression: [13:14:00.661] { [13:14:00.661] do.call(function(...) { [13:14:00.661] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.661] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.661] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.661] on.exit(options(oopts), add = TRUE) [13:14:00.661] } [13:14:00.661] { [13:14:00.661] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.661] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.661] ...future.FUN(...future.X_jj, ...) [13:14:00.661] }) [13:14:00.661] } [13:14:00.661] }, args = future.call.arguments) [13:14:00.661] } [13:14:00.661] Lazy evaluation: FALSE [13:14:00.661] Asynchronous evaluation: FALSE [13:14:00.661] Local evaluation: TRUE [13:14:00.661] Environment: R_GlobalEnv [13:14:00.661] Capture standard output: TRUE [13:14:00.661] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.661] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.661] Packages: [13:14:00.661] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.661] Resolved: TRUE [13:14:00.661] Value: 1.01 KiB of class 'list' [13:14:00.661] Early signaling: FALSE [13:14:00.661] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.661] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.662] Chunk #1 of 1 ... DONE [13:14:00.662] Launching 1 futures (chunks) ... DONE [13:14:00.662] Resolving 1 futures (chunks) ... [13:14:00.662] resolve() on list ... [13:14:00.662] recursive: 0 [13:14:00.662] length: 1 [13:14:00.662] [13:14:00.662] resolved() for 'SequentialFuture' ... [13:14:00.663] - state: 'finished' [13:14:00.663] - run: TRUE [13:14:00.663] - result: 'FutureResult' [13:14:00.663] resolved() for 'SequentialFuture' ... done [13:14:00.663] Future #1 [13:14:00.663] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.663] - nx: 1 [13:14:00.663] - relay: TRUE [13:14:00.664] - stdout: TRUE [13:14:00.664] - signal: TRUE [13:14:00.664] - resignal: FALSE [13:14:00.664] - force: TRUE [13:14:00.664] - relayed: [n=1] FALSE [13:14:00.664] - queued futures: [n=1] FALSE [13:14:00.664] - until=1 [13:14:00.664] - relaying element #1 [13:14:00.664] - relayed: [n=1] TRUE [13:14:00.665] - queued futures: [n=1] TRUE [13:14:00.665] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.665] length: 0 (resolved future 1) [13:14:00.665] Relaying remaining futures [13:14:00.665] signalConditionsASAP(NULL, pos=0) ... [13:14:00.665] - nx: 1 [13:14:00.665] - relay: TRUE [13:14:00.665] - stdout: TRUE [13:14:00.665] - signal: TRUE [13:14:00.666] - resignal: FALSE [13:14:00.666] - force: TRUE [13:14:00.666] - relayed: [n=1] TRUE [13:14:00.666] - queued futures: [n=1] TRUE - flush all [13:14:00.666] - relayed: [n=1] TRUE [13:14:00.666] - queued futures: [n=1] TRUE [13:14:00.666] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.666] resolve() on list ... DONE [13:14:00.667] - Number of value chunks collected: 1 [13:14:00.667] Resolving 1 futures (chunks) ... DONE [13:14:00.667] Reducing values from 1 chunks ... [13:14:00.667] - Number of values collected after concatenation: 3 [13:14:00.667] - Number of values expected: 3 [13:14:00.667] Reducing values from 1 chunks ... DONE [13:14:00.667] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y1:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y2:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... [13:14:00.672] future_lapply() ... [13:14:00.673] Number of chunks: 1 [13:14:00.673] getGlobalsAndPackagesXApply() ... [13:14:00.673] - future.globals: TRUE [13:14:00.673] getGlobalsAndPackages() ... [13:14:00.673] Searching for globals... [13:14:00.674] - globals found: [1] 'FUN' [13:14:00.675] Searching for globals ... DONE [13:14:00.675] Resolving globals: FALSE [13:14:00.675] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:00.675] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:00.675] - globals: [1] 'FUN' [13:14:00.676] [13:14:00.676] getGlobalsAndPackages() ... DONE [13:14:00.676] - globals found/used: [n=1] 'FUN' [13:14:00.676] - needed namespaces: [n=0] [13:14:00.676] Finding globals ... DONE [13:14:00.676] - use_args: TRUE [13:14:00.676] - Getting '...' globals ... [13:14:00.676] resolve() on list ... [13:14:00.677] recursive: 0 [13:14:00.677] length: 1 [13:14:00.677] elements: '...' [13:14:00.677] length: 0 (resolved future 1) [13:14:00.677] resolve() on list ... DONE [13:14:00.677] - '...' content: [n=0] [13:14:00.677] List of 1 [13:14:00.677] $ ...: list() [13:14:00.677] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.677] - attr(*, "where")=List of 1 [13:14:00.677] ..$ ...: [13:14:00.677] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.677] - attr(*, "resolved")= logi TRUE [13:14:00.677] - attr(*, "total_size")= num NA [13:14:00.679] - Getting '...' globals ... DONE [13:14:00.679] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.680] List of 2 [13:14:00.680] $ ...future.FUN:function (x) [13:14:00.680] $ ... : list() [13:14:00.680] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.680] - attr(*, "where")=List of 2 [13:14:00.680] ..$ ...future.FUN: [13:14:00.680] ..$ ... : [13:14:00.680] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.680] - attr(*, "resolved")= logi FALSE [13:14:00.680] - attr(*, "total_size")= num 848 [13:14:00.682] Packages to be attached in all futures: [n=0] [13:14:00.682] getGlobalsAndPackagesXApply() ... DONE [13:14:00.682] Number of futures (= number of chunks): 1 [13:14:00.682] Launching 1 futures (chunks) ... [13:14:00.682] Chunk #1 of 1 ... [13:14:00.683] - Finding globals in 'X' for chunk #1 ... [13:14:00.683] getGlobalsAndPackages() ... [13:14:00.683] Searching for globals... [13:14:00.683] [13:14:00.683] Searching for globals ... DONE [13:14:00.683] - globals: [0] [13:14:00.683] getGlobalsAndPackages() ... DONE [13:14:00.683] + additional globals found: [n=0] [13:14:00.684] + additional namespaces needed: [n=0] [13:14:00.684] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.684] - seeds: [13:14:00.684] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.684] getGlobalsAndPackages() ... [13:14:00.684] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.684] Resolving globals: FALSE [13:14:00.684] Tweak future expression to call with '...' arguments ... [13:14:00.684] { [13:14:00.684] do.call(function(...) { [13:14:00.684] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.684] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.684] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.684] on.exit(options(oopts), add = TRUE) [13:14:00.684] } [13:14:00.684] { [13:14:00.684] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.684] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.684] ...future.FUN(...future.X_jj, ...) [13:14:00.684] }) [13:14:00.684] } [13:14:00.684] }, args = future.call.arguments) [13:14:00.684] } [13:14:00.685] Tweak future expression to call with '...' arguments ... DONE [13:14:00.685] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.685] [13:14:00.685] getGlobalsAndPackages() ... DONE [13:14:00.686] run() for 'Future' ... [13:14:00.686] - state: 'created' [13:14:00.686] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.686] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.686] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.686] - Field: 'label' [13:14:00.687] - Field: 'local' [13:14:00.687] - Field: 'owner' [13:14:00.687] - Field: 'envir' [13:14:00.687] - Field: 'packages' [13:14:00.687] - Field: 'gc' [13:14:00.687] - Field: 'conditions' [13:14:00.687] - Field: 'expr' [13:14:00.687] - Field: 'uuid' [13:14:00.688] - Field: 'seed' [13:14:00.688] - Field: 'version' [13:14:00.688] - Field: 'result' [13:14:00.688] - Field: 'asynchronous' [13:14:00.688] - Field: 'calls' [13:14:00.688] - Field: 'globals' [13:14:00.688] - Field: 'stdout' [13:14:00.688] - Field: 'earlySignal' [13:14:00.688] - Field: 'lazy' [13:14:00.689] - Field: 'state' [13:14:00.689] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.689] - Launch lazy future ... [13:14:00.689] Packages needed by the future expression (n = 0): [13:14:00.689] Packages needed by future strategies (n = 0): [13:14:00.690] { [13:14:00.690] { [13:14:00.690] { [13:14:00.690] ...future.startTime <- base::Sys.time() [13:14:00.690] { [13:14:00.690] { [13:14:00.690] { [13:14:00.690] base::local({ [13:14:00.690] has_future <- base::requireNamespace("future", [13:14:00.690] quietly = TRUE) [13:14:00.690] if (has_future) { [13:14:00.690] ns <- base::getNamespace("future") [13:14:00.690] version <- ns[[".package"]][["version"]] [13:14:00.690] if (is.null(version)) [13:14:00.690] version <- utils::packageVersion("future") [13:14:00.690] } [13:14:00.690] else { [13:14:00.690] version <- NULL [13:14:00.690] } [13:14:00.690] if (!has_future || version < "1.8.0") { [13:14:00.690] info <- base::c(r_version = base::gsub("R version ", [13:14:00.690] "", base::R.version$version.string), [13:14:00.690] platform = base::sprintf("%s (%s-bit)", [13:14:00.690] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.690] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.690] "release", "version")], collapse = " "), [13:14:00.690] hostname = base::Sys.info()[["nodename"]]) [13:14:00.690] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.690] info) [13:14:00.690] info <- base::paste(info, collapse = "; ") [13:14:00.690] if (!has_future) { [13:14:00.690] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.690] info) [13:14:00.690] } [13:14:00.690] else { [13:14:00.690] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.690] info, version) [13:14:00.690] } [13:14:00.690] base::stop(msg) [13:14:00.690] } [13:14:00.690] }) [13:14:00.690] } [13:14:00.690] options(future.plan = NULL) [13:14:00.690] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.690] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.690] } [13:14:00.690] ...future.workdir <- getwd() [13:14:00.690] } [13:14:00.690] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.690] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.690] } [13:14:00.690] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.690] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.690] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.690] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.690] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.690] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.690] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.690] base::names(...future.oldOptions)) [13:14:00.690] } [13:14:00.690] if (FALSE) { [13:14:00.690] } [13:14:00.690] else { [13:14:00.690] if (TRUE) { [13:14:00.690] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.690] open = "w") [13:14:00.690] } [13:14:00.690] else { [13:14:00.690] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.690] windows = "NUL", "/dev/null"), open = "w") [13:14:00.690] } [13:14:00.690] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.690] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.690] base::sink(type = "output", split = FALSE) [13:14:00.690] base::close(...future.stdout) [13:14:00.690] }, add = TRUE) [13:14:00.690] } [13:14:00.690] ...future.frame <- base::sys.nframe() [13:14:00.690] ...future.conditions <- base::list() [13:14:00.690] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.690] if (FALSE) { [13:14:00.690] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.690] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.690] } [13:14:00.690] ...future.result <- base::tryCatch({ [13:14:00.690] base::withCallingHandlers({ [13:14:00.690] ...future.value <- base::withVisible(base::local({ [13:14:00.690] do.call(function(...) { [13:14:00.690] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.690] if (!identical(...future.globals.maxSize.org, [13:14:00.690] ...future.globals.maxSize)) { [13:14:00.690] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.690] on.exit(options(oopts), add = TRUE) [13:14:00.690] } [13:14:00.690] { [13:14:00.690] lapply(seq_along(...future.elements_ii), [13:14:00.690] FUN = function(jj) { [13:14:00.690] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.690] ...future.FUN(...future.X_jj, ...) [13:14:00.690] }) [13:14:00.690] } [13:14:00.690] }, args = future.call.arguments) [13:14:00.690] })) [13:14:00.690] future::FutureResult(value = ...future.value$value, [13:14:00.690] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.690] ...future.rng), globalenv = if (FALSE) [13:14:00.690] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.690] ...future.globalenv.names)) [13:14:00.690] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.690] }, condition = base::local({ [13:14:00.690] c <- base::c [13:14:00.690] inherits <- base::inherits [13:14:00.690] invokeRestart <- base::invokeRestart [13:14:00.690] length <- base::length [13:14:00.690] list <- base::list [13:14:00.690] seq.int <- base::seq.int [13:14:00.690] signalCondition <- base::signalCondition [13:14:00.690] sys.calls <- base::sys.calls [13:14:00.690] `[[` <- base::`[[` [13:14:00.690] `+` <- base::`+` [13:14:00.690] `<<-` <- base::`<<-` [13:14:00.690] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.690] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.690] 3L)] [13:14:00.690] } [13:14:00.690] function(cond) { [13:14:00.690] is_error <- inherits(cond, "error") [13:14:00.690] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.690] NULL) [13:14:00.690] if (is_error) { [13:14:00.690] sessionInformation <- function() { [13:14:00.690] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.690] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.690] search = base::search(), system = base::Sys.info()) [13:14:00.690] } [13:14:00.690] ...future.conditions[[length(...future.conditions) + [13:14:00.690] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.690] cond$call), session = sessionInformation(), [13:14:00.690] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.690] signalCondition(cond) [13:14:00.690] } [13:14:00.690] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.690] "immediateCondition"))) { [13:14:00.690] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.690] ...future.conditions[[length(...future.conditions) + [13:14:00.690] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.690] if (TRUE && !signal) { [13:14:00.690] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.690] { [13:14:00.690] inherits <- base::inherits [13:14:00.690] invokeRestart <- base::invokeRestart [13:14:00.690] is.null <- base::is.null [13:14:00.690] muffled <- FALSE [13:14:00.690] if (inherits(cond, "message")) { [13:14:00.690] muffled <- grepl(pattern, "muffleMessage") [13:14:00.690] if (muffled) [13:14:00.690] invokeRestart("muffleMessage") [13:14:00.690] } [13:14:00.690] else if (inherits(cond, "warning")) { [13:14:00.690] muffled <- grepl(pattern, "muffleWarning") [13:14:00.690] if (muffled) [13:14:00.690] invokeRestart("muffleWarning") [13:14:00.690] } [13:14:00.690] else if (inherits(cond, "condition")) { [13:14:00.690] if (!is.null(pattern)) { [13:14:00.690] computeRestarts <- base::computeRestarts [13:14:00.690] grepl <- base::grepl [13:14:00.690] restarts <- computeRestarts(cond) [13:14:00.690] for (restart in restarts) { [13:14:00.690] name <- restart$name [13:14:00.690] if (is.null(name)) [13:14:00.690] next [13:14:00.690] if (!grepl(pattern, name)) [13:14:00.690] next [13:14:00.690] invokeRestart(restart) [13:14:00.690] muffled <- TRUE [13:14:00.690] break [13:14:00.690] } [13:14:00.690] } [13:14:00.690] } [13:14:00.690] invisible(muffled) [13:14:00.690] } [13:14:00.690] muffleCondition(cond, pattern = "^muffle") [13:14:00.690] } [13:14:00.690] } [13:14:00.690] else { [13:14:00.690] if (TRUE) { [13:14:00.690] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.690] { [13:14:00.690] inherits <- base::inherits [13:14:00.690] invokeRestart <- base::invokeRestart [13:14:00.690] is.null <- base::is.null [13:14:00.690] muffled <- FALSE [13:14:00.690] if (inherits(cond, "message")) { [13:14:00.690] muffled <- grepl(pattern, "muffleMessage") [13:14:00.690] if (muffled) [13:14:00.690] invokeRestart("muffleMessage") [13:14:00.690] } [13:14:00.690] else if (inherits(cond, "warning")) { [13:14:00.690] muffled <- grepl(pattern, "muffleWarning") [13:14:00.690] if (muffled) [13:14:00.690] invokeRestart("muffleWarning") [13:14:00.690] } [13:14:00.690] else if (inherits(cond, "condition")) { [13:14:00.690] if (!is.null(pattern)) { [13:14:00.690] computeRestarts <- base::computeRestarts [13:14:00.690] grepl <- base::grepl [13:14:00.690] restarts <- computeRestarts(cond) [13:14:00.690] for (restart in restarts) { [13:14:00.690] name <- restart$name [13:14:00.690] if (is.null(name)) [13:14:00.690] next [13:14:00.690] if (!grepl(pattern, name)) [13:14:00.690] next [13:14:00.690] invokeRestart(restart) [13:14:00.690] muffled <- TRUE [13:14:00.690] break [13:14:00.690] } [13:14:00.690] } [13:14:00.690] } [13:14:00.690] invisible(muffled) [13:14:00.690] } [13:14:00.690] muffleCondition(cond, pattern = "^muffle") [13:14:00.690] } [13:14:00.690] } [13:14:00.690] } [13:14:00.690] })) [13:14:00.690] }, error = function(ex) { [13:14:00.690] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.690] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.690] ...future.rng), started = ...future.startTime, [13:14:00.690] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.690] version = "1.8"), class = "FutureResult") [13:14:00.690] }, finally = { [13:14:00.690] if (!identical(...future.workdir, getwd())) [13:14:00.690] setwd(...future.workdir) [13:14:00.690] { [13:14:00.690] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.690] ...future.oldOptions$nwarnings <- NULL [13:14:00.690] } [13:14:00.690] base::options(...future.oldOptions) [13:14:00.690] if (.Platform$OS.type == "windows") { [13:14:00.690] old_names <- names(...future.oldEnvVars) [13:14:00.690] envs <- base::Sys.getenv() [13:14:00.690] names <- names(envs) [13:14:00.690] common <- intersect(names, old_names) [13:14:00.690] added <- setdiff(names, old_names) [13:14:00.690] removed <- setdiff(old_names, names) [13:14:00.690] changed <- common[...future.oldEnvVars[common] != [13:14:00.690] envs[common]] [13:14:00.690] NAMES <- toupper(changed) [13:14:00.690] args <- list() [13:14:00.690] for (kk in seq_along(NAMES)) { [13:14:00.690] name <- changed[[kk]] [13:14:00.690] NAME <- NAMES[[kk]] [13:14:00.690] if (name != NAME && is.element(NAME, old_names)) [13:14:00.690] next [13:14:00.690] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.690] } [13:14:00.690] NAMES <- toupper(added) [13:14:00.690] for (kk in seq_along(NAMES)) { [13:14:00.690] name <- added[[kk]] [13:14:00.690] NAME <- NAMES[[kk]] [13:14:00.690] if (name != NAME && is.element(NAME, old_names)) [13:14:00.690] next [13:14:00.690] args[[name]] <- "" [13:14:00.690] } [13:14:00.690] NAMES <- toupper(removed) [13:14:00.690] for (kk in seq_along(NAMES)) { [13:14:00.690] name <- removed[[kk]] [13:14:00.690] NAME <- NAMES[[kk]] [13:14:00.690] if (name != NAME && is.element(NAME, old_names)) [13:14:00.690] next [13:14:00.690] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.690] } [13:14:00.690] if (length(args) > 0) [13:14:00.690] base::do.call(base::Sys.setenv, args = args) [13:14:00.690] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.690] } [13:14:00.690] else { [13:14:00.690] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.690] } [13:14:00.690] { [13:14:00.690] if (base::length(...future.futureOptionsAdded) > [13:14:00.690] 0L) { [13:14:00.690] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.690] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.690] base::options(opts) [13:14:00.690] } [13:14:00.690] { [13:14:00.690] { [13:14:00.690] NULL [13:14:00.690] RNGkind("Mersenne-Twister") [13:14:00.690] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.690] inherits = FALSE) [13:14:00.690] } [13:14:00.690] options(future.plan = NULL) [13:14:00.690] if (is.na(NA_character_)) [13:14:00.690] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.690] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.690] future::plan(list(function (..., envir = parent.frame()) [13:14:00.690] { [13:14:00.690] future <- SequentialFuture(..., envir = envir) [13:14:00.690] if (!future$lazy) [13:14:00.690] future <- run(future) [13:14:00.690] invisible(future) [13:14:00.690] }), .cleanup = FALSE, .init = FALSE) [13:14:00.690] } [13:14:00.690] } [13:14:00.690] } [13:14:00.690] }) [13:14:00.690] if (TRUE) { [13:14:00.690] base::sink(type = "output", split = FALSE) [13:14:00.690] if (TRUE) { [13:14:00.690] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.690] } [13:14:00.690] else { [13:14:00.690] ...future.result["stdout"] <- base::list(NULL) [13:14:00.690] } [13:14:00.690] base::close(...future.stdout) [13:14:00.690] ...future.stdout <- NULL [13:14:00.690] } [13:14:00.690] ...future.result$conditions <- ...future.conditions [13:14:00.690] ...future.result$finished <- base::Sys.time() [13:14:00.690] ...future.result [13:14:00.690] } [13:14:00.692] assign_globals() ... [13:14:00.692] List of 5 [13:14:00.692] $ ...future.FUN :function (x) [13:14:00.692] $ future.call.arguments : list() [13:14:00.692] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.692] $ ...future.elements_ii :List of 3 [13:14:00.692] ..$ a: num 1 [13:14:00.692] ..$ b: num 2 [13:14:00.692] ..$ c: num 3 [13:14:00.692] $ ...future.seeds_ii : NULL [13:14:00.692] $ ...future.globals.maxSize: NULL [13:14:00.692] - attr(*, "where")=List of 5 [13:14:00.692] ..$ ...future.FUN : [13:14:00.692] ..$ future.call.arguments : [13:14:00.692] ..$ ...future.elements_ii : [13:14:00.692] ..$ ...future.seeds_ii : [13:14:00.692] ..$ ...future.globals.maxSize: [13:14:00.692] - attr(*, "resolved")= logi FALSE [13:14:00.692] - attr(*, "total_size")= num 848 [13:14:00.692] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.692] - attr(*, "already-done")= logi TRUE [13:14:00.697] - copied '...future.FUN' to environment [13:14:00.697] - copied 'future.call.arguments' to environment [13:14:00.698] - copied '...future.elements_ii' to environment [13:14:00.698] - copied '...future.seeds_ii' to environment [13:14:00.698] - copied '...future.globals.maxSize' to environment [13:14:00.698] assign_globals() ... done [13:14:00.698] plan(): Setting new future strategy stack: [13:14:00.698] List of future strategies: [13:14:00.698] 1. sequential: [13:14:00.698] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.698] - tweaked: FALSE [13:14:00.698] - call: NULL [13:14:00.699] plan(): nbrOfWorkers() = 1 [13:14:00.700] plan(): Setting new future strategy stack: [13:14:00.700] List of future strategies: [13:14:00.700] 1. sequential: [13:14:00.700] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.700] - tweaked: FALSE [13:14:00.700] - call: plan(strategy) [13:14:00.700] plan(): nbrOfWorkers() = 1 [13:14:00.700] SequentialFuture started (and completed) [13:14:00.700] - Launch lazy future ... done [13:14:00.701] run() for 'SequentialFuture' ... done [13:14:00.701] Created future: [13:14:00.701] SequentialFuture: [13:14:00.701] Label: 'future_sapply-1' [13:14:00.701] Expression: [13:14:00.701] { [13:14:00.701] do.call(function(...) { [13:14:00.701] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.701] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.701] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.701] on.exit(options(oopts), add = TRUE) [13:14:00.701] } [13:14:00.701] { [13:14:00.701] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.701] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.701] ...future.FUN(...future.X_jj, ...) [13:14:00.701] }) [13:14:00.701] } [13:14:00.701] }, args = future.call.arguments) [13:14:00.701] } [13:14:00.701] Lazy evaluation: FALSE [13:14:00.701] Asynchronous evaluation: FALSE [13:14:00.701] Local evaluation: TRUE [13:14:00.701] Environment: R_GlobalEnv [13:14:00.701] Capture standard output: TRUE [13:14:00.701] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.701] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.701] Packages: [13:14:00.701] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.701] Resolved: TRUE [13:14:00.701] Value: 168 bytes of class 'list' [13:14:00.701] Early signaling: FALSE [13:14:00.701] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.701] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.702] Chunk #1 of 1 ... DONE [13:14:00.702] Launching 1 futures (chunks) ... DONE [13:14:00.702] Resolving 1 futures (chunks) ... [13:14:00.702] resolve() on list ... [13:14:00.702] recursive: 0 [13:14:00.702] length: 1 [13:14:00.702] [13:14:00.702] resolved() for 'SequentialFuture' ... [13:14:00.703] - state: 'finished' [13:14:00.703] - run: TRUE [13:14:00.703] - result: 'FutureResult' [13:14:00.703] resolved() for 'SequentialFuture' ... done [13:14:00.703] Future #1 [13:14:00.703] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.703] - nx: 1 [13:14:00.703] - relay: TRUE [13:14:00.704] - stdout: TRUE [13:14:00.704] - signal: TRUE [13:14:00.704] - resignal: FALSE [13:14:00.704] - force: TRUE [13:14:00.704] - relayed: [n=1] FALSE [13:14:00.704] - queued futures: [n=1] FALSE [13:14:00.704] - until=1 [13:14:00.704] - relaying element #1 [13:14:00.704] - relayed: [n=1] TRUE [13:14:00.705] - queued futures: [n=1] TRUE [13:14:00.705] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.705] length: 0 (resolved future 1) [13:14:00.705] Relaying remaining futures [13:14:00.705] signalConditionsASAP(NULL, pos=0) ... [13:14:00.705] - nx: 1 [13:14:00.705] - relay: TRUE [13:14:00.705] - stdout: TRUE [13:14:00.705] - signal: TRUE [13:14:00.706] - resignal: FALSE [13:14:00.706] - force: TRUE [13:14:00.706] - relayed: [n=1] TRUE [13:14:00.706] - queued futures: [n=1] TRUE - flush all [13:14:00.706] - relayed: [n=1] TRUE [13:14:00.706] - queued futures: [n=1] TRUE [13:14:00.706] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.706] resolve() on list ... DONE [13:14:00.707] - Number of value chunks collected: 1 [13:14:00.707] Resolving 1 futures (chunks) ... DONE [13:14:00.707] Reducing values from 1 chunks ... [13:14:00.707] - Number of values collected after concatenation: 3 [13:14:00.707] - Number of values expected: 3 [13:14:00.707] Reducing values from 1 chunks ... DONE [13:14:00.707] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.709] future_lapply() ... [13:14:00.709] Number of chunks: 1 [13:14:00.709] getGlobalsAndPackagesXApply() ... [13:14:00.709] - future.globals: TRUE [13:14:00.709] getGlobalsAndPackages() ... [13:14:00.709] Searching for globals... [13:14:00.710] - globals found: [2] 'FUN', 'UseMethod' [13:14:00.710] Searching for globals ... DONE [13:14:00.710] Resolving globals: FALSE [13:14:00.711] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:00.711] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:00.711] - globals: [1] 'FUN' [13:14:00.711] [13:14:00.711] getGlobalsAndPackages() ... DONE [13:14:00.712] - globals found/used: [n=1] 'FUN' [13:14:00.712] - needed namespaces: [n=0] [13:14:00.712] Finding globals ... DONE [13:14:00.712] - use_args: TRUE [13:14:00.712] - Getting '...' globals ... [13:14:00.712] resolve() on list ... [13:14:00.712] recursive: 0 [13:14:00.712] length: 1 [13:14:00.713] elements: '...' [13:14:00.713] length: 0 (resolved future 1) [13:14:00.713] resolve() on list ... DONE [13:14:00.713] - '...' content: [n=0] [13:14:00.713] List of 1 [13:14:00.713] $ ...: list() [13:14:00.713] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.713] - attr(*, "where")=List of 1 [13:14:00.713] ..$ ...: [13:14:00.713] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.713] - attr(*, "resolved")= logi TRUE [13:14:00.713] - attr(*, "total_size")= num NA [13:14:00.716] - Getting '...' globals ... DONE [13:14:00.716] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.716] List of 2 [13:14:00.716] $ ...future.FUN:function (x, ...) [13:14:00.716] $ ... : list() [13:14:00.716] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.716] - attr(*, "where")=List of 2 [13:14:00.716] ..$ ...future.FUN: [13:14:00.716] ..$ ... : [13:14:00.716] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.716] - attr(*, "resolved")= logi FALSE [13:14:00.716] - attr(*, "total_size")= num 1248 [13:14:00.719] Packages to be attached in all futures: [n=0] [13:14:00.719] getGlobalsAndPackagesXApply() ... DONE [13:14:00.719] Number of futures (= number of chunks): 1 [13:14:00.719] Launching 1 futures (chunks) ... [13:14:00.719] Chunk #1 of 1 ... [13:14:00.719] - Finding globals in 'X' for chunk #1 ... [13:14:00.720] getGlobalsAndPackages() ... [13:14:00.720] Searching for globals... [13:14:00.720] [13:14:00.720] Searching for globals ... DONE [13:14:00.720] - globals: [0] [13:14:00.721] getGlobalsAndPackages() ... DONE [13:14:00.721] + additional globals found: [n=0] [13:14:00.721] + additional namespaces needed: [n=0] [13:14:00.721] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.721] - seeds: [13:14:00.721] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.722] getGlobalsAndPackages() ... [13:14:00.722] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.722] Resolving globals: FALSE [13:14:00.722] Tweak future expression to call with '...' arguments ... [13:14:00.722] { [13:14:00.722] do.call(function(...) { [13:14:00.722] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.722] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.722] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.722] on.exit(options(oopts), add = TRUE) [13:14:00.722] } [13:14:00.722] { [13:14:00.722] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.722] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.722] ...future.FUN(...future.X_jj, ...) [13:14:00.722] }) [13:14:00.722] } [13:14:00.722] }, args = future.call.arguments) [13:14:00.722] } [13:14:00.723] Tweak future expression to call with '...' arguments ... DONE [13:14:00.723] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.723] [13:14:00.723] getGlobalsAndPackages() ... DONE [13:14:00.724] run() for 'Future' ... [13:14:00.724] - state: 'created' [13:14:00.724] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.725] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.725] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.725] - Field: 'label' [13:14:00.725] - Field: 'local' [13:14:00.725] - Field: 'owner' [13:14:00.725] - Field: 'envir' [13:14:00.726] - Field: 'packages' [13:14:00.726] - Field: 'gc' [13:14:00.726] - Field: 'conditions' [13:14:00.726] - Field: 'expr' [13:14:00.726] - Field: 'uuid' [13:14:00.726] - Field: 'seed' [13:14:00.727] - Field: 'version' [13:14:00.727] - Field: 'result' [13:14:00.727] - Field: 'asynchronous' [13:14:00.727] - Field: 'calls' [13:14:00.727] - Field: 'globals' [13:14:00.727] - Field: 'stdout' [13:14:00.728] - Field: 'earlySignal' [13:14:00.728] - Field: 'lazy' [13:14:00.728] - Field: 'state' [13:14:00.728] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.728] - Launch lazy future ... [13:14:00.729] Packages needed by the future expression (n = 0): [13:14:00.729] Packages needed by future strategies (n = 0): [13:14:00.729] { [13:14:00.729] { [13:14:00.729] { [13:14:00.729] ...future.startTime <- base::Sys.time() [13:14:00.729] { [13:14:00.729] { [13:14:00.729] { [13:14:00.729] base::local({ [13:14:00.729] has_future <- base::requireNamespace("future", [13:14:00.729] quietly = TRUE) [13:14:00.729] if (has_future) { [13:14:00.729] ns <- base::getNamespace("future") [13:14:00.729] version <- ns[[".package"]][["version"]] [13:14:00.729] if (is.null(version)) [13:14:00.729] version <- utils::packageVersion("future") [13:14:00.729] } [13:14:00.729] else { [13:14:00.729] version <- NULL [13:14:00.729] } [13:14:00.729] if (!has_future || version < "1.8.0") { [13:14:00.729] info <- base::c(r_version = base::gsub("R version ", [13:14:00.729] "", base::R.version$version.string), [13:14:00.729] platform = base::sprintf("%s (%s-bit)", [13:14:00.729] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.729] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.729] "release", "version")], collapse = " "), [13:14:00.729] hostname = base::Sys.info()[["nodename"]]) [13:14:00.729] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.729] info) [13:14:00.729] info <- base::paste(info, collapse = "; ") [13:14:00.729] if (!has_future) { [13:14:00.729] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.729] info) [13:14:00.729] } [13:14:00.729] else { [13:14:00.729] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.729] info, version) [13:14:00.729] } [13:14:00.729] base::stop(msg) [13:14:00.729] } [13:14:00.729] }) [13:14:00.729] } [13:14:00.729] options(future.plan = NULL) [13:14:00.729] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.729] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.729] } [13:14:00.729] ...future.workdir <- getwd() [13:14:00.729] } [13:14:00.729] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.729] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.729] } [13:14:00.729] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.729] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.729] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.729] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.729] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.729] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.729] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.729] base::names(...future.oldOptions)) [13:14:00.729] } [13:14:00.729] if (FALSE) { [13:14:00.729] } [13:14:00.729] else { [13:14:00.729] if (TRUE) { [13:14:00.729] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.729] open = "w") [13:14:00.729] } [13:14:00.729] else { [13:14:00.729] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.729] windows = "NUL", "/dev/null"), open = "w") [13:14:00.729] } [13:14:00.729] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.729] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.729] base::sink(type = "output", split = FALSE) [13:14:00.729] base::close(...future.stdout) [13:14:00.729] }, add = TRUE) [13:14:00.729] } [13:14:00.729] ...future.frame <- base::sys.nframe() [13:14:00.729] ...future.conditions <- base::list() [13:14:00.729] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.729] if (FALSE) { [13:14:00.729] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.729] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.729] } [13:14:00.729] ...future.result <- base::tryCatch({ [13:14:00.729] base::withCallingHandlers({ [13:14:00.729] ...future.value <- base::withVisible(base::local({ [13:14:00.729] do.call(function(...) { [13:14:00.729] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.729] if (!identical(...future.globals.maxSize.org, [13:14:00.729] ...future.globals.maxSize)) { [13:14:00.729] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.729] on.exit(options(oopts), add = TRUE) [13:14:00.729] } [13:14:00.729] { [13:14:00.729] lapply(seq_along(...future.elements_ii), [13:14:00.729] FUN = function(jj) { [13:14:00.729] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.729] ...future.FUN(...future.X_jj, ...) [13:14:00.729] }) [13:14:00.729] } [13:14:00.729] }, args = future.call.arguments) [13:14:00.729] })) [13:14:00.729] future::FutureResult(value = ...future.value$value, [13:14:00.729] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.729] ...future.rng), globalenv = if (FALSE) [13:14:00.729] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.729] ...future.globalenv.names)) [13:14:00.729] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.729] }, condition = base::local({ [13:14:00.729] c <- base::c [13:14:00.729] inherits <- base::inherits [13:14:00.729] invokeRestart <- base::invokeRestart [13:14:00.729] length <- base::length [13:14:00.729] list <- base::list [13:14:00.729] seq.int <- base::seq.int [13:14:00.729] signalCondition <- base::signalCondition [13:14:00.729] sys.calls <- base::sys.calls [13:14:00.729] `[[` <- base::`[[` [13:14:00.729] `+` <- base::`+` [13:14:00.729] `<<-` <- base::`<<-` [13:14:00.729] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.729] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.729] 3L)] [13:14:00.729] } [13:14:00.729] function(cond) { [13:14:00.729] is_error <- inherits(cond, "error") [13:14:00.729] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.729] NULL) [13:14:00.729] if (is_error) { [13:14:00.729] sessionInformation <- function() { [13:14:00.729] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.729] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.729] search = base::search(), system = base::Sys.info()) [13:14:00.729] } [13:14:00.729] ...future.conditions[[length(...future.conditions) + [13:14:00.729] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.729] cond$call), session = sessionInformation(), [13:14:00.729] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.729] signalCondition(cond) [13:14:00.729] } [13:14:00.729] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.729] "immediateCondition"))) { [13:14:00.729] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.729] ...future.conditions[[length(...future.conditions) + [13:14:00.729] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.729] if (TRUE && !signal) { [13:14:00.729] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.729] { [13:14:00.729] inherits <- base::inherits [13:14:00.729] invokeRestart <- base::invokeRestart [13:14:00.729] is.null <- base::is.null [13:14:00.729] muffled <- FALSE [13:14:00.729] if (inherits(cond, "message")) { [13:14:00.729] muffled <- grepl(pattern, "muffleMessage") [13:14:00.729] if (muffled) [13:14:00.729] invokeRestart("muffleMessage") [13:14:00.729] } [13:14:00.729] else if (inherits(cond, "warning")) { [13:14:00.729] muffled <- grepl(pattern, "muffleWarning") [13:14:00.729] if (muffled) [13:14:00.729] invokeRestart("muffleWarning") [13:14:00.729] } [13:14:00.729] else if (inherits(cond, "condition")) { [13:14:00.729] if (!is.null(pattern)) { [13:14:00.729] computeRestarts <- base::computeRestarts [13:14:00.729] grepl <- base::grepl [13:14:00.729] restarts <- computeRestarts(cond) [13:14:00.729] for (restart in restarts) { [13:14:00.729] name <- restart$name [13:14:00.729] if (is.null(name)) [13:14:00.729] next [13:14:00.729] if (!grepl(pattern, name)) [13:14:00.729] next [13:14:00.729] invokeRestart(restart) [13:14:00.729] muffled <- TRUE [13:14:00.729] break [13:14:00.729] } [13:14:00.729] } [13:14:00.729] } [13:14:00.729] invisible(muffled) [13:14:00.729] } [13:14:00.729] muffleCondition(cond, pattern = "^muffle") [13:14:00.729] } [13:14:00.729] } [13:14:00.729] else { [13:14:00.729] if (TRUE) { [13:14:00.729] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.729] { [13:14:00.729] inherits <- base::inherits [13:14:00.729] invokeRestart <- base::invokeRestart [13:14:00.729] is.null <- base::is.null [13:14:00.729] muffled <- FALSE [13:14:00.729] if (inherits(cond, "message")) { [13:14:00.729] muffled <- grepl(pattern, "muffleMessage") [13:14:00.729] if (muffled) [13:14:00.729] invokeRestart("muffleMessage") [13:14:00.729] } [13:14:00.729] else if (inherits(cond, "warning")) { [13:14:00.729] muffled <- grepl(pattern, "muffleWarning") [13:14:00.729] if (muffled) [13:14:00.729] invokeRestart("muffleWarning") [13:14:00.729] } [13:14:00.729] else if (inherits(cond, "condition")) { [13:14:00.729] if (!is.null(pattern)) { [13:14:00.729] computeRestarts <- base::computeRestarts [13:14:00.729] grepl <- base::grepl [13:14:00.729] restarts <- computeRestarts(cond) [13:14:00.729] for (restart in restarts) { [13:14:00.729] name <- restart$name [13:14:00.729] if (is.null(name)) [13:14:00.729] next [13:14:00.729] if (!grepl(pattern, name)) [13:14:00.729] next [13:14:00.729] invokeRestart(restart) [13:14:00.729] muffled <- TRUE [13:14:00.729] break [13:14:00.729] } [13:14:00.729] } [13:14:00.729] } [13:14:00.729] invisible(muffled) [13:14:00.729] } [13:14:00.729] muffleCondition(cond, pattern = "^muffle") [13:14:00.729] } [13:14:00.729] } [13:14:00.729] } [13:14:00.729] })) [13:14:00.729] }, error = function(ex) { [13:14:00.729] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.729] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.729] ...future.rng), started = ...future.startTime, [13:14:00.729] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.729] version = "1.8"), class = "FutureResult") [13:14:00.729] }, finally = { [13:14:00.729] if (!identical(...future.workdir, getwd())) [13:14:00.729] setwd(...future.workdir) [13:14:00.729] { [13:14:00.729] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.729] ...future.oldOptions$nwarnings <- NULL [13:14:00.729] } [13:14:00.729] base::options(...future.oldOptions) [13:14:00.729] if (.Platform$OS.type == "windows") { [13:14:00.729] old_names <- names(...future.oldEnvVars) [13:14:00.729] envs <- base::Sys.getenv() [13:14:00.729] names <- names(envs) [13:14:00.729] common <- intersect(names, old_names) [13:14:00.729] added <- setdiff(names, old_names) [13:14:00.729] removed <- setdiff(old_names, names) [13:14:00.729] changed <- common[...future.oldEnvVars[common] != [13:14:00.729] envs[common]] [13:14:00.729] NAMES <- toupper(changed) [13:14:00.729] args <- list() [13:14:00.729] for (kk in seq_along(NAMES)) { [13:14:00.729] name <- changed[[kk]] [13:14:00.729] NAME <- NAMES[[kk]] [13:14:00.729] if (name != NAME && is.element(NAME, old_names)) [13:14:00.729] next [13:14:00.729] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.729] } [13:14:00.729] NAMES <- toupper(added) [13:14:00.729] for (kk in seq_along(NAMES)) { [13:14:00.729] name <- added[[kk]] [13:14:00.729] NAME <- NAMES[[kk]] [13:14:00.729] if (name != NAME && is.element(NAME, old_names)) [13:14:00.729] next [13:14:00.729] args[[name]] <- "" [13:14:00.729] } [13:14:00.729] NAMES <- toupper(removed) [13:14:00.729] for (kk in seq_along(NAMES)) { [13:14:00.729] name <- removed[[kk]] [13:14:00.729] NAME <- NAMES[[kk]] [13:14:00.729] if (name != NAME && is.element(NAME, old_names)) [13:14:00.729] next [13:14:00.729] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.729] } [13:14:00.729] if (length(args) > 0) [13:14:00.729] base::do.call(base::Sys.setenv, args = args) [13:14:00.729] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.729] } [13:14:00.729] else { [13:14:00.729] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.729] } [13:14:00.729] { [13:14:00.729] if (base::length(...future.futureOptionsAdded) > [13:14:00.729] 0L) { [13:14:00.729] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.729] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.729] base::options(opts) [13:14:00.729] } [13:14:00.729] { [13:14:00.729] { [13:14:00.729] NULL [13:14:00.729] RNGkind("Mersenne-Twister") [13:14:00.729] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.729] inherits = FALSE) [13:14:00.729] } [13:14:00.729] options(future.plan = NULL) [13:14:00.729] if (is.na(NA_character_)) [13:14:00.729] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.729] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.729] future::plan(list(function (..., envir = parent.frame()) [13:14:00.729] { [13:14:00.729] future <- SequentialFuture(..., envir = envir) [13:14:00.729] if (!future$lazy) [13:14:00.729] future <- run(future) [13:14:00.729] invisible(future) [13:14:00.729] }), .cleanup = FALSE, .init = FALSE) [13:14:00.729] } [13:14:00.729] } [13:14:00.729] } [13:14:00.729] }) [13:14:00.729] if (TRUE) { [13:14:00.729] base::sink(type = "output", split = FALSE) [13:14:00.729] if (TRUE) { [13:14:00.729] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.729] } [13:14:00.729] else { [13:14:00.729] ...future.result["stdout"] <- base::list(NULL) [13:14:00.729] } [13:14:00.729] base::close(...future.stdout) [13:14:00.729] ...future.stdout <- NULL [13:14:00.729] } [13:14:00.729] ...future.result$conditions <- ...future.conditions [13:14:00.729] ...future.result$finished <- base::Sys.time() [13:14:00.729] ...future.result [13:14:00.729] } [13:14:00.733] assign_globals() ... [13:14:00.733] List of 5 [13:14:00.733] $ ...future.FUN :function (x, ...) [13:14:00.733] $ future.call.arguments : list() [13:14:00.733] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.733] $ ...future.elements_ii :List of 3 [13:14:00.733] ..$ a: num 1 [13:14:00.733] ..$ b: num 2 [13:14:00.733] ..$ c: num 3 [13:14:00.733] $ ...future.seeds_ii : NULL [13:14:00.733] $ ...future.globals.maxSize: NULL [13:14:00.733] - attr(*, "where")=List of 5 [13:14:00.733] ..$ ...future.FUN : [13:14:00.733] ..$ future.call.arguments : [13:14:00.733] ..$ ...future.elements_ii : [13:14:00.733] ..$ ...future.seeds_ii : [13:14:00.733] ..$ ...future.globals.maxSize: [13:14:00.733] - attr(*, "resolved")= logi FALSE [13:14:00.733] - attr(*, "total_size")= num 1248 [13:14:00.733] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.733] - attr(*, "already-done")= logi TRUE [13:14:00.739] - copied '...future.FUN' to environment [13:14:00.740] - copied 'future.call.arguments' to environment [13:14:00.740] - copied '...future.elements_ii' to environment [13:14:00.741] - copied '...future.seeds_ii' to environment [13:14:00.741] - copied '...future.globals.maxSize' to environment [13:14:00.741] assign_globals() ... done [13:14:00.741] plan(): Setting new future strategy stack: [13:14:00.741] List of future strategies: [13:14:00.741] 1. sequential: [13:14:00.741] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.741] - tweaked: FALSE [13:14:00.741] - call: NULL [13:14:00.742] plan(): nbrOfWorkers() = 1 [13:14:00.743] plan(): Setting new future strategy stack: [13:14:00.743] List of future strategies: [13:14:00.743] 1. sequential: [13:14:00.743] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.743] - tweaked: FALSE [13:14:00.743] - call: plan(strategy) [13:14:00.744] plan(): nbrOfWorkers() = 1 [13:14:00.744] SequentialFuture started (and completed) [13:14:00.744] - Launch lazy future ... done [13:14:00.745] run() for 'SequentialFuture' ... done [13:14:00.745] Created future: [13:14:00.745] SequentialFuture: [13:14:00.745] Label: 'future_sapply-1' [13:14:00.745] Expression: [13:14:00.745] { [13:14:00.745] do.call(function(...) { [13:14:00.745] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.745] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.745] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.745] on.exit(options(oopts), add = TRUE) [13:14:00.745] } [13:14:00.745] { [13:14:00.745] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.745] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.745] ...future.FUN(...future.X_jj, ...) [13:14:00.745] }) [13:14:00.745] } [13:14:00.745] }, args = future.call.arguments) [13:14:00.745] } [13:14:00.745] Lazy evaluation: FALSE [13:14:00.745] Asynchronous evaluation: FALSE [13:14:00.745] Local evaluation: TRUE [13:14:00.745] Environment: R_GlobalEnv [13:14:00.745] Capture standard output: TRUE [13:14:00.745] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.745] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.745] Packages: [13:14:00.745] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.745] Resolved: TRUE [13:14:00.745] Value: 672 bytes of class 'list' [13:14:00.745] Early signaling: FALSE [13:14:00.745] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.745] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.746] Chunk #1 of 1 ... DONE [13:14:00.746] Launching 1 futures (chunks) ... DONE [13:14:00.746] Resolving 1 futures (chunks) ... [13:14:00.747] resolve() on list ... [13:14:00.747] recursive: 0 [13:14:00.747] length: 1 [13:14:00.747] [13:14:00.747] resolved() for 'SequentialFuture' ... [13:14:00.747] - state: 'finished' [13:14:00.748] - run: TRUE [13:14:00.748] - result: 'FutureResult' [13:14:00.748] resolved() for 'SequentialFuture' ... done [13:14:00.748] Future #1 [13:14:00.748] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.749] - nx: 1 [13:14:00.749] - relay: TRUE [13:14:00.749] - stdout: TRUE [13:14:00.749] - signal: TRUE [13:14:00.749] - resignal: FALSE [13:14:00.749] - force: TRUE [13:14:00.749] - relayed: [n=1] FALSE [13:14:00.750] - queued futures: [n=1] FALSE [13:14:00.750] - until=1 [13:14:00.750] - relaying element #1 [13:14:00.750] - relayed: [n=1] TRUE [13:14:00.750] - queued futures: [n=1] TRUE [13:14:00.750] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.751] length: 0 (resolved future 1) [13:14:00.751] Relaying remaining futures [13:14:00.751] signalConditionsASAP(NULL, pos=0) ... [13:14:00.751] - nx: 1 [13:14:00.751] - relay: TRUE [13:14:00.751] - stdout: TRUE [13:14:00.752] - signal: TRUE [13:14:00.752] - resignal: FALSE [13:14:00.752] - force: TRUE [13:14:00.752] - relayed: [n=1] TRUE [13:14:00.752] - queued futures: [n=1] TRUE - flush all [13:14:00.752] - relayed: [n=1] TRUE [13:14:00.753] - queued futures: [n=1] TRUE [13:14:00.753] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.753] resolve() on list ... DONE [13:14:00.753] - Number of value chunks collected: 1 [13:14:00.753] Resolving 1 futures (chunks) ... DONE [13:14:00.753] Reducing values from 1 chunks ... [13:14:00.754] - Number of values collected after concatenation: 3 [13:14:00.754] - Number of values expected: 3 [13:14:00.754] Reducing values from 1 chunks ... DONE [13:14:00.754] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.756] future_lapply() ... [13:14:00.757] Number of chunks: 1 [13:14:00.757] getGlobalsAndPackagesXApply() ... [13:14:00.757] - future.globals: TRUE [13:14:00.757] getGlobalsAndPackages() ... [13:14:00.758] Searching for globals... [13:14:00.759] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:00.759] Searching for globals ... DONE [13:14:00.760] Resolving globals: FALSE [13:14:00.760] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:00.761] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:00.761] - globals: [1] 'FUN' [13:14:00.761] [13:14:00.761] getGlobalsAndPackages() ... DONE [13:14:00.762] - globals found/used: [n=1] 'FUN' [13:14:00.762] - needed namespaces: [n=0] [13:14:00.762] Finding globals ... DONE [13:14:00.762] - use_args: TRUE [13:14:00.762] - Getting '...' globals ... [13:14:00.763] resolve() on list ... [13:14:00.763] recursive: 0 [13:14:00.763] length: 1 [13:14:00.763] elements: '...' [13:14:00.764] length: 0 (resolved future 1) [13:14:00.764] resolve() on list ... DONE [13:14:00.764] - '...' content: [n=0] [13:14:00.764] List of 1 [13:14:00.764] $ ...: list() [13:14:00.764] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.764] - attr(*, "where")=List of 1 [13:14:00.764] ..$ ...: [13:14:00.764] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.764] - attr(*, "resolved")= logi TRUE [13:14:00.764] - attr(*, "total_size")= num NA [13:14:00.767] - Getting '...' globals ... DONE [13:14:00.768] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.768] List of 2 [13:14:00.768] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:00.768] $ ... : list() [13:14:00.768] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.768] - attr(*, "where")=List of 2 [13:14:00.768] ..$ ...future.FUN: [13:14:00.768] ..$ ... : [13:14:00.768] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.768] - attr(*, "resolved")= logi FALSE [13:14:00.768] - attr(*, "total_size")= num 4728 [13:14:00.771] Packages to be attached in all futures: [n=0] [13:14:00.771] getGlobalsAndPackagesXApply() ... DONE [13:14:00.772] Number of futures (= number of chunks): 1 [13:14:00.772] Launching 1 futures (chunks) ... [13:14:00.772] Chunk #1 of 1 ... [13:14:00.772] - Finding globals in 'X' for chunk #1 ... [13:14:00.772] getGlobalsAndPackages() ... [13:14:00.773] Searching for globals... [13:14:00.773] [13:14:00.773] Searching for globals ... DONE [13:14:00.773] - globals: [0] [13:14:00.773] getGlobalsAndPackages() ... DONE [13:14:00.773] + additional globals found: [n=0] [13:14:00.774] + additional namespaces needed: [n=0] [13:14:00.774] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.774] - seeds: [13:14:00.774] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.774] getGlobalsAndPackages() ... [13:14:00.774] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.775] Resolving globals: FALSE [13:14:00.775] Tweak future expression to call with '...' arguments ... [13:14:00.775] { [13:14:00.775] do.call(function(...) { [13:14:00.775] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.775] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.775] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.775] on.exit(options(oopts), add = TRUE) [13:14:00.775] } [13:14:00.775] { [13:14:00.775] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.775] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.775] ...future.FUN(...future.X_jj, ...) [13:14:00.775] }) [13:14:00.775] } [13:14:00.775] }, args = future.call.arguments) [13:14:00.775] } [13:14:00.775] Tweak future expression to call with '...' arguments ... DONE [13:14:00.776] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.776] [13:14:00.776] getGlobalsAndPackages() ... DONE [13:14:00.777] run() for 'Future' ... [13:14:00.777] - state: 'created' [13:14:00.777] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.777] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.777] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.778] - Field: 'label' [13:14:00.778] - Field: 'local' [13:14:00.778] - Field: 'owner' [13:14:00.778] - Field: 'envir' [13:14:00.778] - Field: 'packages' [13:14:00.778] - Field: 'gc' [13:14:00.779] - Field: 'conditions' [13:14:00.779] - Field: 'expr' [13:14:00.779] - Field: 'uuid' [13:14:00.779] - Field: 'seed' [13:14:00.779] - Field: 'version' [13:14:00.779] - Field: 'result' [13:14:00.780] - Field: 'asynchronous' [13:14:00.780] - Field: 'calls' [13:14:00.780] - Field: 'globals' [13:14:00.780] - Field: 'stdout' [13:14:00.780] - Field: 'earlySignal' [13:14:00.781] - Field: 'lazy' [13:14:00.781] - Field: 'state' [13:14:00.781] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.781] - Launch lazy future ... [13:14:00.781] Packages needed by the future expression (n = 0): [13:14:00.782] Packages needed by future strategies (n = 0): [13:14:00.782] { [13:14:00.782] { [13:14:00.782] { [13:14:00.782] ...future.startTime <- base::Sys.time() [13:14:00.782] { [13:14:00.782] { [13:14:00.782] { [13:14:00.782] base::local({ [13:14:00.782] has_future <- base::requireNamespace("future", [13:14:00.782] quietly = TRUE) [13:14:00.782] if (has_future) { [13:14:00.782] ns <- base::getNamespace("future") [13:14:00.782] version <- ns[[".package"]][["version"]] [13:14:00.782] if (is.null(version)) [13:14:00.782] version <- utils::packageVersion("future") [13:14:00.782] } [13:14:00.782] else { [13:14:00.782] version <- NULL [13:14:00.782] } [13:14:00.782] if (!has_future || version < "1.8.0") { [13:14:00.782] info <- base::c(r_version = base::gsub("R version ", [13:14:00.782] "", base::R.version$version.string), [13:14:00.782] platform = base::sprintf("%s (%s-bit)", [13:14:00.782] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.782] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.782] "release", "version")], collapse = " "), [13:14:00.782] hostname = base::Sys.info()[["nodename"]]) [13:14:00.782] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.782] info) [13:14:00.782] info <- base::paste(info, collapse = "; ") [13:14:00.782] if (!has_future) { [13:14:00.782] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.782] info) [13:14:00.782] } [13:14:00.782] else { [13:14:00.782] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.782] info, version) [13:14:00.782] } [13:14:00.782] base::stop(msg) [13:14:00.782] } [13:14:00.782] }) [13:14:00.782] } [13:14:00.782] options(future.plan = NULL) [13:14:00.782] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.782] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.782] } [13:14:00.782] ...future.workdir <- getwd() [13:14:00.782] } [13:14:00.782] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.782] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.782] } [13:14:00.782] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.782] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.782] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.782] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.782] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.782] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.782] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.782] base::names(...future.oldOptions)) [13:14:00.782] } [13:14:00.782] if (FALSE) { [13:14:00.782] } [13:14:00.782] else { [13:14:00.782] if (TRUE) { [13:14:00.782] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.782] open = "w") [13:14:00.782] } [13:14:00.782] else { [13:14:00.782] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.782] windows = "NUL", "/dev/null"), open = "w") [13:14:00.782] } [13:14:00.782] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.782] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.782] base::sink(type = "output", split = FALSE) [13:14:00.782] base::close(...future.stdout) [13:14:00.782] }, add = TRUE) [13:14:00.782] } [13:14:00.782] ...future.frame <- base::sys.nframe() [13:14:00.782] ...future.conditions <- base::list() [13:14:00.782] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.782] if (FALSE) { [13:14:00.782] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.782] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.782] } [13:14:00.782] ...future.result <- base::tryCatch({ [13:14:00.782] base::withCallingHandlers({ [13:14:00.782] ...future.value <- base::withVisible(base::local({ [13:14:00.782] do.call(function(...) { [13:14:00.782] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.782] if (!identical(...future.globals.maxSize.org, [13:14:00.782] ...future.globals.maxSize)) { [13:14:00.782] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.782] on.exit(options(oopts), add = TRUE) [13:14:00.782] } [13:14:00.782] { [13:14:00.782] lapply(seq_along(...future.elements_ii), [13:14:00.782] FUN = function(jj) { [13:14:00.782] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.782] ...future.FUN(...future.X_jj, ...) [13:14:00.782] }) [13:14:00.782] } [13:14:00.782] }, args = future.call.arguments) [13:14:00.782] })) [13:14:00.782] future::FutureResult(value = ...future.value$value, [13:14:00.782] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.782] ...future.rng), globalenv = if (FALSE) [13:14:00.782] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.782] ...future.globalenv.names)) [13:14:00.782] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.782] }, condition = base::local({ [13:14:00.782] c <- base::c [13:14:00.782] inherits <- base::inherits [13:14:00.782] invokeRestart <- base::invokeRestart [13:14:00.782] length <- base::length [13:14:00.782] list <- base::list [13:14:00.782] seq.int <- base::seq.int [13:14:00.782] signalCondition <- base::signalCondition [13:14:00.782] sys.calls <- base::sys.calls [13:14:00.782] `[[` <- base::`[[` [13:14:00.782] `+` <- base::`+` [13:14:00.782] `<<-` <- base::`<<-` [13:14:00.782] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.782] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.782] 3L)] [13:14:00.782] } [13:14:00.782] function(cond) { [13:14:00.782] is_error <- inherits(cond, "error") [13:14:00.782] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.782] NULL) [13:14:00.782] if (is_error) { [13:14:00.782] sessionInformation <- function() { [13:14:00.782] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.782] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.782] search = base::search(), system = base::Sys.info()) [13:14:00.782] } [13:14:00.782] ...future.conditions[[length(...future.conditions) + [13:14:00.782] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.782] cond$call), session = sessionInformation(), [13:14:00.782] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.782] signalCondition(cond) [13:14:00.782] } [13:14:00.782] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.782] "immediateCondition"))) { [13:14:00.782] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.782] ...future.conditions[[length(...future.conditions) + [13:14:00.782] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.782] if (TRUE && !signal) { [13:14:00.782] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.782] { [13:14:00.782] inherits <- base::inherits [13:14:00.782] invokeRestart <- base::invokeRestart [13:14:00.782] is.null <- base::is.null [13:14:00.782] muffled <- FALSE [13:14:00.782] if (inherits(cond, "message")) { [13:14:00.782] muffled <- grepl(pattern, "muffleMessage") [13:14:00.782] if (muffled) [13:14:00.782] invokeRestart("muffleMessage") [13:14:00.782] } [13:14:00.782] else if (inherits(cond, "warning")) { [13:14:00.782] muffled <- grepl(pattern, "muffleWarning") [13:14:00.782] if (muffled) [13:14:00.782] invokeRestart("muffleWarning") [13:14:00.782] } [13:14:00.782] else if (inherits(cond, "condition")) { [13:14:00.782] if (!is.null(pattern)) { [13:14:00.782] computeRestarts <- base::computeRestarts [13:14:00.782] grepl <- base::grepl [13:14:00.782] restarts <- computeRestarts(cond) [13:14:00.782] for (restart in restarts) { [13:14:00.782] name <- restart$name [13:14:00.782] if (is.null(name)) [13:14:00.782] next [13:14:00.782] if (!grepl(pattern, name)) [13:14:00.782] next [13:14:00.782] invokeRestart(restart) [13:14:00.782] muffled <- TRUE [13:14:00.782] break [13:14:00.782] } [13:14:00.782] } [13:14:00.782] } [13:14:00.782] invisible(muffled) [13:14:00.782] } [13:14:00.782] muffleCondition(cond, pattern = "^muffle") [13:14:00.782] } [13:14:00.782] } [13:14:00.782] else { [13:14:00.782] if (TRUE) { [13:14:00.782] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.782] { [13:14:00.782] inherits <- base::inherits [13:14:00.782] invokeRestart <- base::invokeRestart [13:14:00.782] is.null <- base::is.null [13:14:00.782] muffled <- FALSE [13:14:00.782] if (inherits(cond, "message")) { [13:14:00.782] muffled <- grepl(pattern, "muffleMessage") [13:14:00.782] if (muffled) [13:14:00.782] invokeRestart("muffleMessage") [13:14:00.782] } [13:14:00.782] else if (inherits(cond, "warning")) { [13:14:00.782] muffled <- grepl(pattern, "muffleWarning") [13:14:00.782] if (muffled) [13:14:00.782] invokeRestart("muffleWarning") [13:14:00.782] } [13:14:00.782] else if (inherits(cond, "condition")) { [13:14:00.782] if (!is.null(pattern)) { [13:14:00.782] computeRestarts <- base::computeRestarts [13:14:00.782] grepl <- base::grepl [13:14:00.782] restarts <- computeRestarts(cond) [13:14:00.782] for (restart in restarts) { [13:14:00.782] name <- restart$name [13:14:00.782] if (is.null(name)) [13:14:00.782] next [13:14:00.782] if (!grepl(pattern, name)) [13:14:00.782] next [13:14:00.782] invokeRestart(restart) [13:14:00.782] muffled <- TRUE [13:14:00.782] break [13:14:00.782] } [13:14:00.782] } [13:14:00.782] } [13:14:00.782] invisible(muffled) [13:14:00.782] } [13:14:00.782] muffleCondition(cond, pattern = "^muffle") [13:14:00.782] } [13:14:00.782] } [13:14:00.782] } [13:14:00.782] })) [13:14:00.782] }, error = function(ex) { [13:14:00.782] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.782] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.782] ...future.rng), started = ...future.startTime, [13:14:00.782] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.782] version = "1.8"), class = "FutureResult") [13:14:00.782] }, finally = { [13:14:00.782] if (!identical(...future.workdir, getwd())) [13:14:00.782] setwd(...future.workdir) [13:14:00.782] { [13:14:00.782] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.782] ...future.oldOptions$nwarnings <- NULL [13:14:00.782] } [13:14:00.782] base::options(...future.oldOptions) [13:14:00.782] if (.Platform$OS.type == "windows") { [13:14:00.782] old_names <- names(...future.oldEnvVars) [13:14:00.782] envs <- base::Sys.getenv() [13:14:00.782] names <- names(envs) [13:14:00.782] common <- intersect(names, old_names) [13:14:00.782] added <- setdiff(names, old_names) [13:14:00.782] removed <- setdiff(old_names, names) [13:14:00.782] changed <- common[...future.oldEnvVars[common] != [13:14:00.782] envs[common]] [13:14:00.782] NAMES <- toupper(changed) [13:14:00.782] args <- list() [13:14:00.782] for (kk in seq_along(NAMES)) { [13:14:00.782] name <- changed[[kk]] [13:14:00.782] NAME <- NAMES[[kk]] [13:14:00.782] if (name != NAME && is.element(NAME, old_names)) [13:14:00.782] next [13:14:00.782] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.782] } [13:14:00.782] NAMES <- toupper(added) [13:14:00.782] for (kk in seq_along(NAMES)) { [13:14:00.782] name <- added[[kk]] [13:14:00.782] NAME <- NAMES[[kk]] [13:14:00.782] if (name != NAME && is.element(NAME, old_names)) [13:14:00.782] next [13:14:00.782] args[[name]] <- "" [13:14:00.782] } [13:14:00.782] NAMES <- toupper(removed) [13:14:00.782] for (kk in seq_along(NAMES)) { [13:14:00.782] name <- removed[[kk]] [13:14:00.782] NAME <- NAMES[[kk]] [13:14:00.782] if (name != NAME && is.element(NAME, old_names)) [13:14:00.782] next [13:14:00.782] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.782] } [13:14:00.782] if (length(args) > 0) [13:14:00.782] base::do.call(base::Sys.setenv, args = args) [13:14:00.782] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.782] } [13:14:00.782] else { [13:14:00.782] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.782] } [13:14:00.782] { [13:14:00.782] if (base::length(...future.futureOptionsAdded) > [13:14:00.782] 0L) { [13:14:00.782] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.782] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.782] base::options(opts) [13:14:00.782] } [13:14:00.782] { [13:14:00.782] { [13:14:00.782] NULL [13:14:00.782] RNGkind("Mersenne-Twister") [13:14:00.782] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.782] inherits = FALSE) [13:14:00.782] } [13:14:00.782] options(future.plan = NULL) [13:14:00.782] if (is.na(NA_character_)) [13:14:00.782] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.782] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.782] future::plan(list(function (..., envir = parent.frame()) [13:14:00.782] { [13:14:00.782] future <- SequentialFuture(..., envir = envir) [13:14:00.782] if (!future$lazy) [13:14:00.782] future <- run(future) [13:14:00.782] invisible(future) [13:14:00.782] }), .cleanup = FALSE, .init = FALSE) [13:14:00.782] } [13:14:00.782] } [13:14:00.782] } [13:14:00.782] }) [13:14:00.782] if (TRUE) { [13:14:00.782] base::sink(type = "output", split = FALSE) [13:14:00.782] if (TRUE) { [13:14:00.782] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.782] } [13:14:00.782] else { [13:14:00.782] ...future.result["stdout"] <- base::list(NULL) [13:14:00.782] } [13:14:00.782] base::close(...future.stdout) [13:14:00.782] ...future.stdout <- NULL [13:14:00.782] } [13:14:00.782] ...future.result$conditions <- ...future.conditions [13:14:00.782] ...future.result$finished <- base::Sys.time() [13:14:00.782] ...future.result [13:14:00.782] } [13:14:00.786] assign_globals() ... [13:14:00.786] List of 5 [13:14:00.786] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:00.786] $ future.call.arguments : list() [13:14:00.786] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.786] $ ...future.elements_ii :List of 3 [13:14:00.786] ..$ a: num 1 [13:14:00.786] ..$ b: num 2 [13:14:00.786] ..$ c: num 3 [13:14:00.786] $ ...future.seeds_ii : NULL [13:14:00.786] $ ...future.globals.maxSize: NULL [13:14:00.786] - attr(*, "where")=List of 5 [13:14:00.786] ..$ ...future.FUN : [13:14:00.786] ..$ future.call.arguments : [13:14:00.786] ..$ ...future.elements_ii : [13:14:00.786] ..$ ...future.seeds_ii : [13:14:00.786] ..$ ...future.globals.maxSize: [13:14:00.786] - attr(*, "resolved")= logi FALSE [13:14:00.786] - attr(*, "total_size")= num 4728 [13:14:00.786] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.786] - attr(*, "already-done")= logi TRUE [13:14:00.792] - reassign environment for '...future.FUN' [13:14:00.792] - copied '...future.FUN' to environment [13:14:00.792] - copied 'future.call.arguments' to environment [13:14:00.793] - copied '...future.elements_ii' to environment [13:14:00.793] - copied '...future.seeds_ii' to environment [13:14:00.793] - copied '...future.globals.maxSize' to environment [13:14:00.793] assign_globals() ... done [13:14:00.793] plan(): Setting new future strategy stack: [13:14:00.794] List of future strategies: [13:14:00.794] 1. sequential: [13:14:00.794] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.794] - tweaked: FALSE [13:14:00.794] - call: NULL [13:14:00.794] plan(): nbrOfWorkers() = 1 [13:14:00.796] plan(): Setting new future strategy stack: [13:14:00.796] List of future strategies: [13:14:00.796] 1. sequential: [13:14:00.796] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.796] - tweaked: FALSE [13:14:00.796] - call: plan(strategy) [13:14:00.797] plan(): nbrOfWorkers() = 1 [13:14:00.797] SequentialFuture started (and completed) [13:14:00.797] - Launch lazy future ... done [13:14:00.797] run() for 'SequentialFuture' ... done [13:14:00.798] Created future: [13:14:00.798] SequentialFuture: [13:14:00.798] Label: 'future_sapply-1' [13:14:00.798] Expression: [13:14:00.798] { [13:14:00.798] do.call(function(...) { [13:14:00.798] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.798] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.798] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.798] on.exit(options(oopts), add = TRUE) [13:14:00.798] } [13:14:00.798] { [13:14:00.798] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.798] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.798] ...future.FUN(...future.X_jj, ...) [13:14:00.798] }) [13:14:00.798] } [13:14:00.798] }, args = future.call.arguments) [13:14:00.798] } [13:14:00.798] Lazy evaluation: FALSE [13:14:00.798] Asynchronous evaluation: FALSE [13:14:00.798] Local evaluation: TRUE [13:14:00.798] Environment: R_GlobalEnv [13:14:00.798] Capture standard output: TRUE [13:14:00.798] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.798] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.798] Packages: [13:14:00.798] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.798] Resolved: TRUE [13:14:00.798] Value: 1.01 KiB of class 'list' [13:14:00.798] Early signaling: FALSE [13:14:00.798] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.798] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.799] Chunk #1 of 1 ... DONE [13:14:00.799] Launching 1 futures (chunks) ... DONE [13:14:00.799] Resolving 1 futures (chunks) ... [13:14:00.800] resolve() on list ... [13:14:00.800] recursive: 0 [13:14:00.800] length: 1 [13:14:00.800] [13:14:00.800] resolved() for 'SequentialFuture' ... [13:14:00.800] - state: 'finished' [13:14:00.801] - run: TRUE [13:14:00.801] - result: 'FutureResult' [13:14:00.801] resolved() for 'SequentialFuture' ... done [13:14:00.801] Future #1 [13:14:00.801] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.801] - nx: 1 [13:14:00.802] - relay: TRUE [13:14:00.802] - stdout: TRUE [13:14:00.802] - signal: TRUE [13:14:00.802] - resignal: FALSE [13:14:00.802] - force: TRUE [13:14:00.802] - relayed: [n=1] FALSE [13:14:00.803] - queued futures: [n=1] FALSE [13:14:00.803] - until=1 [13:14:00.803] - relaying element #1 [13:14:00.803] - relayed: [n=1] TRUE [13:14:00.803] - queued futures: [n=1] TRUE [13:14:00.803] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.804] length: 0 (resolved future 1) [13:14:00.804] Relaying remaining futures [13:14:00.804] signalConditionsASAP(NULL, pos=0) ... [13:14:00.804] - nx: 1 [13:14:00.804] - relay: TRUE [13:14:00.804] - stdout: TRUE [13:14:00.805] - signal: TRUE [13:14:00.805] - resignal: FALSE [13:14:00.805] - force: TRUE [13:14:00.805] - relayed: [n=1] TRUE [13:14:00.805] - queued futures: [n=1] TRUE - flush all [13:14:00.805] - relayed: [n=1] TRUE [13:14:00.806] - queued futures: [n=1] TRUE [13:14:00.806] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.806] resolve() on list ... DONE [13:14:00.806] - Number of value chunks collected: 1 [13:14:00.806] Resolving 1 futures (chunks) ... DONE [13:14:00.806] Reducing values from 1 chunks ... [13:14:00.807] - Number of values collected after concatenation: 3 [13:14:00.807] - Number of values expected: 3 [13:14:00.807] Reducing values from 1 chunks ... DONE [13:14:00.807] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:00.810] future_lapply() ... [13:14:00.811] Number of chunks: 1 [13:14:00.811] getGlobalsAndPackagesXApply() ... [13:14:00.811] - future.globals: TRUE [13:14:00.811] getGlobalsAndPackages() ... [13:14:00.811] Searching for globals... [13:14:00.812] - globals found: [1] 'FUN' [13:14:00.813] Searching for globals ... DONE [13:14:00.813] Resolving globals: FALSE [13:14:00.813] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:00.814] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:00.814] - globals: [1] 'FUN' [13:14:00.814] [13:14:00.814] getGlobalsAndPackages() ... DONE [13:14:00.814] - globals found/used: [n=1] 'FUN' [13:14:00.814] - needed namespaces: [n=0] [13:14:00.815] Finding globals ... DONE [13:14:00.815] - use_args: TRUE [13:14:00.815] - Getting '...' globals ... [13:14:00.815] resolve() on list ... [13:14:00.815] recursive: 0 [13:14:00.816] length: 1 [13:14:00.816] elements: '...' [13:14:00.816] length: 0 (resolved future 1) [13:14:00.816] resolve() on list ... DONE [13:14:00.816] - '...' content: [n=0] [13:14:00.817] List of 1 [13:14:00.817] $ ...: list() [13:14:00.817] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.817] - attr(*, "where")=List of 1 [13:14:00.817] ..$ ...: [13:14:00.817] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.817] - attr(*, "resolved")= logi TRUE [13:14:00.817] - attr(*, "total_size")= num NA [13:14:00.819] - Getting '...' globals ... DONE [13:14:00.820] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.820] List of 2 [13:14:00.820] $ ...future.FUN:function (x) [13:14:00.820] $ ... : list() [13:14:00.820] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.820] - attr(*, "where")=List of 2 [13:14:00.820] ..$ ...future.FUN: [13:14:00.820] ..$ ... : [13:14:00.820] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.820] - attr(*, "resolved")= logi FALSE [13:14:00.820] - attr(*, "total_size")= num 848 [13:14:00.824] Packages to be attached in all futures: [n=0] [13:14:00.824] getGlobalsAndPackagesXApply() ... DONE [13:14:00.824] Number of futures (= number of chunks): 1 [13:14:00.824] Launching 1 futures (chunks) ... [13:14:00.825] Chunk #1 of 1 ... [13:14:00.825] - Finding globals in 'X' for chunk #1 ... [13:14:00.825] getGlobalsAndPackages() ... [13:14:00.825] Searching for globals... [13:14:00.825] [13:14:00.826] Searching for globals ... DONE [13:14:00.826] - globals: [0] [13:14:00.826] getGlobalsAndPackages() ... DONE [13:14:00.826] + additional globals found: [n=0] [13:14:00.826] + additional namespaces needed: [n=0] [13:14:00.826] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.827] - seeds: [13:14:00.827] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.827] getGlobalsAndPackages() ... [13:14:00.827] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.827] Resolving globals: FALSE [13:14:00.827] Tweak future expression to call with '...' arguments ... [13:14:00.828] { [13:14:00.828] do.call(function(...) { [13:14:00.828] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.828] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.828] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.828] on.exit(options(oopts), add = TRUE) [13:14:00.828] } [13:14:00.828] { [13:14:00.828] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.828] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.828] ...future.FUN(...future.X_jj, ...) [13:14:00.828] }) [13:14:00.828] } [13:14:00.828] }, args = future.call.arguments) [13:14:00.828] } [13:14:00.828] Tweak future expression to call with '...' arguments ... DONE [13:14:00.828] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.829] [13:14:00.829] getGlobalsAndPackages() ... DONE [13:14:00.829] run() for 'Future' ... [13:14:00.829] - state: 'created' [13:14:00.830] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.830] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.830] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.830] - Field: 'label' [13:14:00.830] - Field: 'local' [13:14:00.831] - Field: 'owner' [13:14:00.831] - Field: 'envir' [13:14:00.831] - Field: 'packages' [13:14:00.831] - Field: 'gc' [13:14:00.831] - Field: 'conditions' [13:14:00.831] - Field: 'expr' [13:14:00.832] - Field: 'uuid' [13:14:00.832] - Field: 'seed' [13:14:00.832] - Field: 'version' [13:14:00.832] - Field: 'result' [13:14:00.832] - Field: 'asynchronous' [13:14:00.832] - Field: 'calls' [13:14:00.833] - Field: 'globals' [13:14:00.833] - Field: 'stdout' [13:14:00.833] - Field: 'earlySignal' [13:14:00.833] - Field: 'lazy' [13:14:00.833] - Field: 'state' [13:14:00.833] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.834] - Launch lazy future ... [13:14:00.834] Packages needed by the future expression (n = 0): [13:14:00.834] Packages needed by future strategies (n = 0): [13:14:00.835] { [13:14:00.835] { [13:14:00.835] { [13:14:00.835] ...future.startTime <- base::Sys.time() [13:14:00.835] { [13:14:00.835] { [13:14:00.835] { [13:14:00.835] base::local({ [13:14:00.835] has_future <- base::requireNamespace("future", [13:14:00.835] quietly = TRUE) [13:14:00.835] if (has_future) { [13:14:00.835] ns <- base::getNamespace("future") [13:14:00.835] version <- ns[[".package"]][["version"]] [13:14:00.835] if (is.null(version)) [13:14:00.835] version <- utils::packageVersion("future") [13:14:00.835] } [13:14:00.835] else { [13:14:00.835] version <- NULL [13:14:00.835] } [13:14:00.835] if (!has_future || version < "1.8.0") { [13:14:00.835] info <- base::c(r_version = base::gsub("R version ", [13:14:00.835] "", base::R.version$version.string), [13:14:00.835] platform = base::sprintf("%s (%s-bit)", [13:14:00.835] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.835] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.835] "release", "version")], collapse = " "), [13:14:00.835] hostname = base::Sys.info()[["nodename"]]) [13:14:00.835] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.835] info) [13:14:00.835] info <- base::paste(info, collapse = "; ") [13:14:00.835] if (!has_future) { [13:14:00.835] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.835] info) [13:14:00.835] } [13:14:00.835] else { [13:14:00.835] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.835] info, version) [13:14:00.835] } [13:14:00.835] base::stop(msg) [13:14:00.835] } [13:14:00.835] }) [13:14:00.835] } [13:14:00.835] options(future.plan = NULL) [13:14:00.835] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.835] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.835] } [13:14:00.835] ...future.workdir <- getwd() [13:14:00.835] } [13:14:00.835] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.835] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.835] } [13:14:00.835] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.835] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.835] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.835] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.835] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.835] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.835] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.835] base::names(...future.oldOptions)) [13:14:00.835] } [13:14:00.835] if (FALSE) { [13:14:00.835] } [13:14:00.835] else { [13:14:00.835] if (TRUE) { [13:14:00.835] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.835] open = "w") [13:14:00.835] } [13:14:00.835] else { [13:14:00.835] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.835] windows = "NUL", "/dev/null"), open = "w") [13:14:00.835] } [13:14:00.835] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.835] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.835] base::sink(type = "output", split = FALSE) [13:14:00.835] base::close(...future.stdout) [13:14:00.835] }, add = TRUE) [13:14:00.835] } [13:14:00.835] ...future.frame <- base::sys.nframe() [13:14:00.835] ...future.conditions <- base::list() [13:14:00.835] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.835] if (FALSE) { [13:14:00.835] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.835] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.835] } [13:14:00.835] ...future.result <- base::tryCatch({ [13:14:00.835] base::withCallingHandlers({ [13:14:00.835] ...future.value <- base::withVisible(base::local({ [13:14:00.835] do.call(function(...) { [13:14:00.835] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.835] if (!identical(...future.globals.maxSize.org, [13:14:00.835] ...future.globals.maxSize)) { [13:14:00.835] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.835] on.exit(options(oopts), add = TRUE) [13:14:00.835] } [13:14:00.835] { [13:14:00.835] lapply(seq_along(...future.elements_ii), [13:14:00.835] FUN = function(jj) { [13:14:00.835] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.835] ...future.FUN(...future.X_jj, ...) [13:14:00.835] }) [13:14:00.835] } [13:14:00.835] }, args = future.call.arguments) [13:14:00.835] })) [13:14:00.835] future::FutureResult(value = ...future.value$value, [13:14:00.835] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.835] ...future.rng), globalenv = if (FALSE) [13:14:00.835] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.835] ...future.globalenv.names)) [13:14:00.835] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.835] }, condition = base::local({ [13:14:00.835] c <- base::c [13:14:00.835] inherits <- base::inherits [13:14:00.835] invokeRestart <- base::invokeRestart [13:14:00.835] length <- base::length [13:14:00.835] list <- base::list [13:14:00.835] seq.int <- base::seq.int [13:14:00.835] signalCondition <- base::signalCondition [13:14:00.835] sys.calls <- base::sys.calls [13:14:00.835] `[[` <- base::`[[` [13:14:00.835] `+` <- base::`+` [13:14:00.835] `<<-` <- base::`<<-` [13:14:00.835] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.835] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.835] 3L)] [13:14:00.835] } [13:14:00.835] function(cond) { [13:14:00.835] is_error <- inherits(cond, "error") [13:14:00.835] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.835] NULL) [13:14:00.835] if (is_error) { [13:14:00.835] sessionInformation <- function() { [13:14:00.835] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.835] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.835] search = base::search(), system = base::Sys.info()) [13:14:00.835] } [13:14:00.835] ...future.conditions[[length(...future.conditions) + [13:14:00.835] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.835] cond$call), session = sessionInformation(), [13:14:00.835] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.835] signalCondition(cond) [13:14:00.835] } [13:14:00.835] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.835] "immediateCondition"))) { [13:14:00.835] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.835] ...future.conditions[[length(...future.conditions) + [13:14:00.835] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.835] if (TRUE && !signal) { [13:14:00.835] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.835] { [13:14:00.835] inherits <- base::inherits [13:14:00.835] invokeRestart <- base::invokeRestart [13:14:00.835] is.null <- base::is.null [13:14:00.835] muffled <- FALSE [13:14:00.835] if (inherits(cond, "message")) { [13:14:00.835] muffled <- grepl(pattern, "muffleMessage") [13:14:00.835] if (muffled) [13:14:00.835] invokeRestart("muffleMessage") [13:14:00.835] } [13:14:00.835] else if (inherits(cond, "warning")) { [13:14:00.835] muffled <- grepl(pattern, "muffleWarning") [13:14:00.835] if (muffled) [13:14:00.835] invokeRestart("muffleWarning") [13:14:00.835] } [13:14:00.835] else if (inherits(cond, "condition")) { [13:14:00.835] if (!is.null(pattern)) { [13:14:00.835] computeRestarts <- base::computeRestarts [13:14:00.835] grepl <- base::grepl [13:14:00.835] restarts <- computeRestarts(cond) [13:14:00.835] for (restart in restarts) { [13:14:00.835] name <- restart$name [13:14:00.835] if (is.null(name)) [13:14:00.835] next [13:14:00.835] if (!grepl(pattern, name)) [13:14:00.835] next [13:14:00.835] invokeRestart(restart) [13:14:00.835] muffled <- TRUE [13:14:00.835] break [13:14:00.835] } [13:14:00.835] } [13:14:00.835] } [13:14:00.835] invisible(muffled) [13:14:00.835] } [13:14:00.835] muffleCondition(cond, pattern = "^muffle") [13:14:00.835] } [13:14:00.835] } [13:14:00.835] else { [13:14:00.835] if (TRUE) { [13:14:00.835] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.835] { [13:14:00.835] inherits <- base::inherits [13:14:00.835] invokeRestart <- base::invokeRestart [13:14:00.835] is.null <- base::is.null [13:14:00.835] muffled <- FALSE [13:14:00.835] if (inherits(cond, "message")) { [13:14:00.835] muffled <- grepl(pattern, "muffleMessage") [13:14:00.835] if (muffled) [13:14:00.835] invokeRestart("muffleMessage") [13:14:00.835] } [13:14:00.835] else if (inherits(cond, "warning")) { [13:14:00.835] muffled <- grepl(pattern, "muffleWarning") [13:14:00.835] if (muffled) [13:14:00.835] invokeRestart("muffleWarning") [13:14:00.835] } [13:14:00.835] else if (inherits(cond, "condition")) { [13:14:00.835] if (!is.null(pattern)) { [13:14:00.835] computeRestarts <- base::computeRestarts [13:14:00.835] grepl <- base::grepl [13:14:00.835] restarts <- computeRestarts(cond) [13:14:00.835] for (restart in restarts) { [13:14:00.835] name <- restart$name [13:14:00.835] if (is.null(name)) [13:14:00.835] next [13:14:00.835] if (!grepl(pattern, name)) [13:14:00.835] next [13:14:00.835] invokeRestart(restart) [13:14:00.835] muffled <- TRUE [13:14:00.835] break [13:14:00.835] } [13:14:00.835] } [13:14:00.835] } [13:14:00.835] invisible(muffled) [13:14:00.835] } [13:14:00.835] muffleCondition(cond, pattern = "^muffle") [13:14:00.835] } [13:14:00.835] } [13:14:00.835] } [13:14:00.835] })) [13:14:00.835] }, error = function(ex) { [13:14:00.835] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.835] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.835] ...future.rng), started = ...future.startTime, [13:14:00.835] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.835] version = "1.8"), class = "FutureResult") [13:14:00.835] }, finally = { [13:14:00.835] if (!identical(...future.workdir, getwd())) [13:14:00.835] setwd(...future.workdir) [13:14:00.835] { [13:14:00.835] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.835] ...future.oldOptions$nwarnings <- NULL [13:14:00.835] } [13:14:00.835] base::options(...future.oldOptions) [13:14:00.835] if (.Platform$OS.type == "windows") { [13:14:00.835] old_names <- names(...future.oldEnvVars) [13:14:00.835] envs <- base::Sys.getenv() [13:14:00.835] names <- names(envs) [13:14:00.835] common <- intersect(names, old_names) [13:14:00.835] added <- setdiff(names, old_names) [13:14:00.835] removed <- setdiff(old_names, names) [13:14:00.835] changed <- common[...future.oldEnvVars[common] != [13:14:00.835] envs[common]] [13:14:00.835] NAMES <- toupper(changed) [13:14:00.835] args <- list() [13:14:00.835] for (kk in seq_along(NAMES)) { [13:14:00.835] name <- changed[[kk]] [13:14:00.835] NAME <- NAMES[[kk]] [13:14:00.835] if (name != NAME && is.element(NAME, old_names)) [13:14:00.835] next [13:14:00.835] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.835] } [13:14:00.835] NAMES <- toupper(added) [13:14:00.835] for (kk in seq_along(NAMES)) { [13:14:00.835] name <- added[[kk]] [13:14:00.835] NAME <- NAMES[[kk]] [13:14:00.835] if (name != NAME && is.element(NAME, old_names)) [13:14:00.835] next [13:14:00.835] args[[name]] <- "" [13:14:00.835] } [13:14:00.835] NAMES <- toupper(removed) [13:14:00.835] for (kk in seq_along(NAMES)) { [13:14:00.835] name <- removed[[kk]] [13:14:00.835] NAME <- NAMES[[kk]] [13:14:00.835] if (name != NAME && is.element(NAME, old_names)) [13:14:00.835] next [13:14:00.835] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.835] } [13:14:00.835] if (length(args) > 0) [13:14:00.835] base::do.call(base::Sys.setenv, args = args) [13:14:00.835] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.835] } [13:14:00.835] else { [13:14:00.835] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.835] } [13:14:00.835] { [13:14:00.835] if (base::length(...future.futureOptionsAdded) > [13:14:00.835] 0L) { [13:14:00.835] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.835] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.835] base::options(opts) [13:14:00.835] } [13:14:00.835] { [13:14:00.835] { [13:14:00.835] NULL [13:14:00.835] RNGkind("Mersenne-Twister") [13:14:00.835] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.835] inherits = FALSE) [13:14:00.835] } [13:14:00.835] options(future.plan = NULL) [13:14:00.835] if (is.na(NA_character_)) [13:14:00.835] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.835] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.835] future::plan(list(function (..., envir = parent.frame()) [13:14:00.835] { [13:14:00.835] future <- SequentialFuture(..., envir = envir) [13:14:00.835] if (!future$lazy) [13:14:00.835] future <- run(future) [13:14:00.835] invisible(future) [13:14:00.835] }), .cleanup = FALSE, .init = FALSE) [13:14:00.835] } [13:14:00.835] } [13:14:00.835] } [13:14:00.835] }) [13:14:00.835] if (TRUE) { [13:14:00.835] base::sink(type = "output", split = FALSE) [13:14:00.835] if (TRUE) { [13:14:00.835] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.835] } [13:14:00.835] else { [13:14:00.835] ...future.result["stdout"] <- base::list(NULL) [13:14:00.835] } [13:14:00.835] base::close(...future.stdout) [13:14:00.835] ...future.stdout <- NULL [13:14:00.835] } [13:14:00.835] ...future.result$conditions <- ...future.conditions [13:14:00.835] ...future.result$finished <- base::Sys.time() [13:14:00.835] ...future.result [13:14:00.835] } [13:14:00.838] assign_globals() ... [13:14:00.839] List of 5 [13:14:00.839] $ ...future.FUN :function (x) [13:14:00.839] $ future.call.arguments : list() [13:14:00.839] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.839] $ ...future.elements_ii :List of 3 [13:14:00.839] ..$ a: num 1 [13:14:00.839] ..$ b: num 2 [13:14:00.839] ..$ c: num 3 [13:14:00.839] $ ...future.seeds_ii : NULL [13:14:00.839] $ ...future.globals.maxSize: NULL [13:14:00.839] - attr(*, "where")=List of 5 [13:14:00.839] ..$ ...future.FUN : [13:14:00.839] ..$ future.call.arguments : [13:14:00.839] ..$ ...future.elements_ii : [13:14:00.839] ..$ ...future.seeds_ii : [13:14:00.839] ..$ ...future.globals.maxSize: [13:14:00.839] - attr(*, "resolved")= logi FALSE [13:14:00.839] - attr(*, "total_size")= num 848 [13:14:00.839] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.839] - attr(*, "already-done")= logi TRUE [13:14:00.845] - copied '...future.FUN' to environment [13:14:00.845] - copied 'future.call.arguments' to environment [13:14:00.845] - copied '...future.elements_ii' to environment [13:14:00.845] - copied '...future.seeds_ii' to environment [13:14:00.846] - copied '...future.globals.maxSize' to environment [13:14:00.846] assign_globals() ... done [13:14:00.846] plan(): Setting new future strategy stack: [13:14:00.846] List of future strategies: [13:14:00.846] 1. sequential: [13:14:00.846] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.846] - tweaked: FALSE [13:14:00.846] - call: NULL [13:14:00.847] plan(): nbrOfWorkers() = 1 [13:14:00.848] plan(): Setting new future strategy stack: [13:14:00.848] List of future strategies: [13:14:00.848] 1. sequential: [13:14:00.848] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.848] - tweaked: FALSE [13:14:00.848] - call: plan(strategy) [13:14:00.849] plan(): nbrOfWorkers() = 1 [13:14:00.849] SequentialFuture started (and completed) [13:14:00.849] - Launch lazy future ... done [13:14:00.849] run() for 'SequentialFuture' ... done [13:14:00.849] Created future: [13:14:00.850] SequentialFuture: [13:14:00.850] Label: 'future_sapply-1' [13:14:00.850] Expression: [13:14:00.850] { [13:14:00.850] do.call(function(...) { [13:14:00.850] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.850] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.850] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.850] on.exit(options(oopts), add = TRUE) [13:14:00.850] } [13:14:00.850] { [13:14:00.850] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.850] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.850] ...future.FUN(...future.X_jj, ...) [13:14:00.850] }) [13:14:00.850] } [13:14:00.850] }, args = future.call.arguments) [13:14:00.850] } [13:14:00.850] Lazy evaluation: FALSE [13:14:00.850] Asynchronous evaluation: FALSE [13:14:00.850] Local evaluation: TRUE [13:14:00.850] Environment: R_GlobalEnv [13:14:00.850] Capture standard output: TRUE [13:14:00.850] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.850] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.850] Packages: [13:14:00.850] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.850] Resolved: TRUE [13:14:00.850] Value: 168 bytes of class 'list' [13:14:00.850] Early signaling: FALSE [13:14:00.850] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.850] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.852] Chunk #1 of 1 ... DONE [13:14:00.852] Launching 1 futures (chunks) ... DONE [13:14:00.852] Resolving 1 futures (chunks) ... [13:14:00.852] resolve() on list ... [13:14:00.852] recursive: 0 [13:14:00.853] length: 1 [13:14:00.853] [13:14:00.853] resolved() for 'SequentialFuture' ... [13:14:00.853] - state: 'finished' [13:14:00.853] - run: TRUE [13:14:00.853] - result: 'FutureResult' [13:14:00.854] resolved() for 'SequentialFuture' ... done [13:14:00.854] Future #1 [13:14:00.854] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.854] - nx: 1 [13:14:00.854] - relay: TRUE [13:14:00.854] - stdout: TRUE [13:14:00.855] - signal: TRUE [13:14:00.855] - resignal: FALSE [13:14:00.855] - force: TRUE [13:14:00.855] - relayed: [n=1] FALSE [13:14:00.855] - queued futures: [n=1] FALSE [13:14:00.855] - until=1 [13:14:00.856] - relaying element #1 [13:14:00.856] - relayed: [n=1] TRUE [13:14:00.856] - queued futures: [n=1] TRUE [13:14:00.856] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.856] length: 0 (resolved future 1) [13:14:00.856] Relaying remaining futures [13:14:00.857] signalConditionsASAP(NULL, pos=0) ... [13:14:00.857] - nx: 1 [13:14:00.857] - relay: TRUE [13:14:00.857] - stdout: TRUE [13:14:00.857] - signal: TRUE [13:14:00.857] - resignal: FALSE [13:14:00.857] - force: TRUE [13:14:00.858] - relayed: [n=1] TRUE [13:14:00.858] - queued futures: [n=1] TRUE - flush all [13:14:00.858] - relayed: [n=1] TRUE [13:14:00.858] - queued futures: [n=1] TRUE [13:14:00.858] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.858] resolve() on list ... DONE [13:14:00.859] - Number of value chunks collected: 1 [13:14:00.859] Resolving 1 futures (chunks) ... DONE [13:14:00.859] Reducing values from 1 chunks ... [13:14:00.859] - Number of values collected after concatenation: 3 [13:14:00.859] - Number of values expected: 3 [13:14:00.859] Reducing values from 1 chunks ... DONE [13:14:00.860] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.862] future_lapply() ... [13:14:00.862] Number of chunks: 1 [13:14:00.862] getGlobalsAndPackagesXApply() ... [13:14:00.863] - future.globals: TRUE [13:14:00.863] getGlobalsAndPackages() ... [13:14:00.863] Searching for globals... [13:14:00.864] - globals found: [2] 'FUN', 'UseMethod' [13:14:00.864] Searching for globals ... DONE [13:14:00.865] Resolving globals: FALSE [13:14:00.865] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:00.866] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:00.866] - globals: [1] 'FUN' [13:14:00.866] [13:14:00.866] getGlobalsAndPackages() ... DONE [13:14:00.866] - globals found/used: [n=1] 'FUN' [13:14:00.866] - needed namespaces: [n=0] [13:14:00.866] Finding globals ... DONE [13:14:00.867] - use_args: TRUE [13:14:00.867] - Getting '...' globals ... [13:14:00.867] resolve() on list ... [13:14:00.867] recursive: 0 [13:14:00.867] length: 1 [13:14:00.868] elements: '...' [13:14:00.868] length: 0 (resolved future 1) [13:14:00.868] resolve() on list ... DONE [13:14:00.868] - '...' content: [n=0] [13:14:00.868] List of 1 [13:14:00.868] $ ...: list() [13:14:00.868] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.868] - attr(*, "where")=List of 1 [13:14:00.868] ..$ ...: [13:14:00.868] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.868] - attr(*, "resolved")= logi TRUE [13:14:00.868] - attr(*, "total_size")= num NA [13:14:00.872] - Getting '...' globals ... DONE [13:14:00.873] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.873] List of 2 [13:14:00.873] $ ...future.FUN:function (x, ...) [13:14:00.873] $ ... : list() [13:14:00.873] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.873] - attr(*, "where")=List of 2 [13:14:00.873] ..$ ...future.FUN: [13:14:00.873] ..$ ... : [13:14:00.873] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.873] - attr(*, "resolved")= logi FALSE [13:14:00.873] - attr(*, "total_size")= num 1248 [13:14:00.879] Packages to be attached in all futures: [n=0] [13:14:00.880] getGlobalsAndPackagesXApply() ... DONE [13:14:00.885] Number of futures (= number of chunks): 1 [13:14:00.885] Launching 1 futures (chunks) ... [13:14:00.885] Chunk #1 of 1 ... [13:14:00.886] - Finding globals in 'X' for chunk #1 ... [13:14:00.886] getGlobalsAndPackages() ... [13:14:00.886] Searching for globals... [13:14:00.887] [13:14:00.887] Searching for globals ... DONE [13:14:00.887] - globals: [0] [13:14:00.888] getGlobalsAndPackages() ... DONE [13:14:00.888] + additional globals found: [n=0] [13:14:00.888] + additional namespaces needed: [n=0] [13:14:00.889] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.889] - seeds: [13:14:00.889] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.889] getGlobalsAndPackages() ... [13:14:00.890] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.890] Resolving globals: FALSE [13:14:00.890] Tweak future expression to call with '...' arguments ... [13:14:00.890] { [13:14:00.890] do.call(function(...) { [13:14:00.890] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.890] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.890] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.890] on.exit(options(oopts), add = TRUE) [13:14:00.890] } [13:14:00.890] { [13:14:00.890] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.890] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.890] ...future.FUN(...future.X_jj, ...) [13:14:00.890] }) [13:14:00.890] } [13:14:00.890] }, args = future.call.arguments) [13:14:00.890] } [13:14:00.891] Tweak future expression to call with '...' arguments ... DONE [13:14:00.892] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.892] [13:14:00.892] getGlobalsAndPackages() ... DONE [13:14:00.893] run() for 'Future' ... [13:14:00.893] - state: 'created' [13:14:00.893] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.894] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.894] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.894] - Field: 'label' [13:14:00.894] - Field: 'local' [13:14:00.895] - Field: 'owner' [13:14:00.895] - Field: 'envir' [13:14:00.895] - Field: 'packages' [13:14:00.895] - Field: 'gc' [13:14:00.896] - Field: 'conditions' [13:14:00.896] - Field: 'expr' [13:14:00.896] - Field: 'uuid' [13:14:00.896] - Field: 'seed' [13:14:00.896] - Field: 'version' [13:14:00.897] - Field: 'result' [13:14:00.897] - Field: 'asynchronous' [13:14:00.897] - Field: 'calls' [13:14:00.897] - Field: 'globals' [13:14:00.898] - Field: 'stdout' [13:14:00.898] - Field: 'earlySignal' [13:14:00.898] - Field: 'lazy' [13:14:00.898] - Field: 'state' [13:14:00.898] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.899] - Launch lazy future ... [13:14:00.899] Packages needed by the future expression (n = 0): [13:14:00.899] Packages needed by future strategies (n = 0): [13:14:00.900] { [13:14:00.900] { [13:14:00.900] { [13:14:00.900] ...future.startTime <- base::Sys.time() [13:14:00.900] { [13:14:00.900] { [13:14:00.900] { [13:14:00.900] base::local({ [13:14:00.900] has_future <- base::requireNamespace("future", [13:14:00.900] quietly = TRUE) [13:14:00.900] if (has_future) { [13:14:00.900] ns <- base::getNamespace("future") [13:14:00.900] version <- ns[[".package"]][["version"]] [13:14:00.900] if (is.null(version)) [13:14:00.900] version <- utils::packageVersion("future") [13:14:00.900] } [13:14:00.900] else { [13:14:00.900] version <- NULL [13:14:00.900] } [13:14:00.900] if (!has_future || version < "1.8.0") { [13:14:00.900] info <- base::c(r_version = base::gsub("R version ", [13:14:00.900] "", base::R.version$version.string), [13:14:00.900] platform = base::sprintf("%s (%s-bit)", [13:14:00.900] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.900] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.900] "release", "version")], collapse = " "), [13:14:00.900] hostname = base::Sys.info()[["nodename"]]) [13:14:00.900] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.900] info) [13:14:00.900] info <- base::paste(info, collapse = "; ") [13:14:00.900] if (!has_future) { [13:14:00.900] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.900] info) [13:14:00.900] } [13:14:00.900] else { [13:14:00.900] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.900] info, version) [13:14:00.900] } [13:14:00.900] base::stop(msg) [13:14:00.900] } [13:14:00.900] }) [13:14:00.900] } [13:14:00.900] options(future.plan = NULL) [13:14:00.900] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.900] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.900] } [13:14:00.900] ...future.workdir <- getwd() [13:14:00.900] } [13:14:00.900] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.900] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.900] } [13:14:00.900] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.900] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.900] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.900] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.900] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.900] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.900] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.900] base::names(...future.oldOptions)) [13:14:00.900] } [13:14:00.900] if (FALSE) { [13:14:00.900] } [13:14:00.900] else { [13:14:00.900] if (TRUE) { [13:14:00.900] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.900] open = "w") [13:14:00.900] } [13:14:00.900] else { [13:14:00.900] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.900] windows = "NUL", "/dev/null"), open = "w") [13:14:00.900] } [13:14:00.900] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.900] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.900] base::sink(type = "output", split = FALSE) [13:14:00.900] base::close(...future.stdout) [13:14:00.900] }, add = TRUE) [13:14:00.900] } [13:14:00.900] ...future.frame <- base::sys.nframe() [13:14:00.900] ...future.conditions <- base::list() [13:14:00.900] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.900] if (FALSE) { [13:14:00.900] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.900] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.900] } [13:14:00.900] ...future.result <- base::tryCatch({ [13:14:00.900] base::withCallingHandlers({ [13:14:00.900] ...future.value <- base::withVisible(base::local({ [13:14:00.900] do.call(function(...) { [13:14:00.900] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.900] if (!identical(...future.globals.maxSize.org, [13:14:00.900] ...future.globals.maxSize)) { [13:14:00.900] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.900] on.exit(options(oopts), add = TRUE) [13:14:00.900] } [13:14:00.900] { [13:14:00.900] lapply(seq_along(...future.elements_ii), [13:14:00.900] FUN = function(jj) { [13:14:00.900] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.900] ...future.FUN(...future.X_jj, ...) [13:14:00.900] }) [13:14:00.900] } [13:14:00.900] }, args = future.call.arguments) [13:14:00.900] })) [13:14:00.900] future::FutureResult(value = ...future.value$value, [13:14:00.900] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.900] ...future.rng), globalenv = if (FALSE) [13:14:00.900] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.900] ...future.globalenv.names)) [13:14:00.900] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.900] }, condition = base::local({ [13:14:00.900] c <- base::c [13:14:00.900] inherits <- base::inherits [13:14:00.900] invokeRestart <- base::invokeRestart [13:14:00.900] length <- base::length [13:14:00.900] list <- base::list [13:14:00.900] seq.int <- base::seq.int [13:14:00.900] signalCondition <- base::signalCondition [13:14:00.900] sys.calls <- base::sys.calls [13:14:00.900] `[[` <- base::`[[` [13:14:00.900] `+` <- base::`+` [13:14:00.900] `<<-` <- base::`<<-` [13:14:00.900] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.900] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.900] 3L)] [13:14:00.900] } [13:14:00.900] function(cond) { [13:14:00.900] is_error <- inherits(cond, "error") [13:14:00.900] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.900] NULL) [13:14:00.900] if (is_error) { [13:14:00.900] sessionInformation <- function() { [13:14:00.900] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.900] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.900] search = base::search(), system = base::Sys.info()) [13:14:00.900] } [13:14:00.900] ...future.conditions[[length(...future.conditions) + [13:14:00.900] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.900] cond$call), session = sessionInformation(), [13:14:00.900] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.900] signalCondition(cond) [13:14:00.900] } [13:14:00.900] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.900] "immediateCondition"))) { [13:14:00.900] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.900] ...future.conditions[[length(...future.conditions) + [13:14:00.900] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.900] if (TRUE && !signal) { [13:14:00.900] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.900] { [13:14:00.900] inherits <- base::inherits [13:14:00.900] invokeRestart <- base::invokeRestart [13:14:00.900] is.null <- base::is.null [13:14:00.900] muffled <- FALSE [13:14:00.900] if (inherits(cond, "message")) { [13:14:00.900] muffled <- grepl(pattern, "muffleMessage") [13:14:00.900] if (muffled) [13:14:00.900] invokeRestart("muffleMessage") [13:14:00.900] } [13:14:00.900] else if (inherits(cond, "warning")) { [13:14:00.900] muffled <- grepl(pattern, "muffleWarning") [13:14:00.900] if (muffled) [13:14:00.900] invokeRestart("muffleWarning") [13:14:00.900] } [13:14:00.900] else if (inherits(cond, "condition")) { [13:14:00.900] if (!is.null(pattern)) { [13:14:00.900] computeRestarts <- base::computeRestarts [13:14:00.900] grepl <- base::grepl [13:14:00.900] restarts <- computeRestarts(cond) [13:14:00.900] for (restart in restarts) { [13:14:00.900] name <- restart$name [13:14:00.900] if (is.null(name)) [13:14:00.900] next [13:14:00.900] if (!grepl(pattern, name)) [13:14:00.900] next [13:14:00.900] invokeRestart(restart) [13:14:00.900] muffled <- TRUE [13:14:00.900] break [13:14:00.900] } [13:14:00.900] } [13:14:00.900] } [13:14:00.900] invisible(muffled) [13:14:00.900] } [13:14:00.900] muffleCondition(cond, pattern = "^muffle") [13:14:00.900] } [13:14:00.900] } [13:14:00.900] else { [13:14:00.900] if (TRUE) { [13:14:00.900] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.900] { [13:14:00.900] inherits <- base::inherits [13:14:00.900] invokeRestart <- base::invokeRestart [13:14:00.900] is.null <- base::is.null [13:14:00.900] muffled <- FALSE [13:14:00.900] if (inherits(cond, "message")) { [13:14:00.900] muffled <- grepl(pattern, "muffleMessage") [13:14:00.900] if (muffled) [13:14:00.900] invokeRestart("muffleMessage") [13:14:00.900] } [13:14:00.900] else if (inherits(cond, "warning")) { [13:14:00.900] muffled <- grepl(pattern, "muffleWarning") [13:14:00.900] if (muffled) [13:14:00.900] invokeRestart("muffleWarning") [13:14:00.900] } [13:14:00.900] else if (inherits(cond, "condition")) { [13:14:00.900] if (!is.null(pattern)) { [13:14:00.900] computeRestarts <- base::computeRestarts [13:14:00.900] grepl <- base::grepl [13:14:00.900] restarts <- computeRestarts(cond) [13:14:00.900] for (restart in restarts) { [13:14:00.900] name <- restart$name [13:14:00.900] if (is.null(name)) [13:14:00.900] next [13:14:00.900] if (!grepl(pattern, name)) [13:14:00.900] next [13:14:00.900] invokeRestart(restart) [13:14:00.900] muffled <- TRUE [13:14:00.900] break [13:14:00.900] } [13:14:00.900] } [13:14:00.900] } [13:14:00.900] invisible(muffled) [13:14:00.900] } [13:14:00.900] muffleCondition(cond, pattern = "^muffle") [13:14:00.900] } [13:14:00.900] } [13:14:00.900] } [13:14:00.900] })) [13:14:00.900] }, error = function(ex) { [13:14:00.900] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.900] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.900] ...future.rng), started = ...future.startTime, [13:14:00.900] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.900] version = "1.8"), class = "FutureResult") [13:14:00.900] }, finally = { [13:14:00.900] if (!identical(...future.workdir, getwd())) [13:14:00.900] setwd(...future.workdir) [13:14:00.900] { [13:14:00.900] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.900] ...future.oldOptions$nwarnings <- NULL [13:14:00.900] } [13:14:00.900] base::options(...future.oldOptions) [13:14:00.900] if (.Platform$OS.type == "windows") { [13:14:00.900] old_names <- names(...future.oldEnvVars) [13:14:00.900] envs <- base::Sys.getenv() [13:14:00.900] names <- names(envs) [13:14:00.900] common <- intersect(names, old_names) [13:14:00.900] added <- setdiff(names, old_names) [13:14:00.900] removed <- setdiff(old_names, names) [13:14:00.900] changed <- common[...future.oldEnvVars[common] != [13:14:00.900] envs[common]] [13:14:00.900] NAMES <- toupper(changed) [13:14:00.900] args <- list() [13:14:00.900] for (kk in seq_along(NAMES)) { [13:14:00.900] name <- changed[[kk]] [13:14:00.900] NAME <- NAMES[[kk]] [13:14:00.900] if (name != NAME && is.element(NAME, old_names)) [13:14:00.900] next [13:14:00.900] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.900] } [13:14:00.900] NAMES <- toupper(added) [13:14:00.900] for (kk in seq_along(NAMES)) { [13:14:00.900] name <- added[[kk]] [13:14:00.900] NAME <- NAMES[[kk]] [13:14:00.900] if (name != NAME && is.element(NAME, old_names)) [13:14:00.900] next [13:14:00.900] args[[name]] <- "" [13:14:00.900] } [13:14:00.900] NAMES <- toupper(removed) [13:14:00.900] for (kk in seq_along(NAMES)) { [13:14:00.900] name <- removed[[kk]] [13:14:00.900] NAME <- NAMES[[kk]] [13:14:00.900] if (name != NAME && is.element(NAME, old_names)) [13:14:00.900] next [13:14:00.900] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.900] } [13:14:00.900] if (length(args) > 0) [13:14:00.900] base::do.call(base::Sys.setenv, args = args) [13:14:00.900] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.900] } [13:14:00.900] else { [13:14:00.900] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.900] } [13:14:00.900] { [13:14:00.900] if (base::length(...future.futureOptionsAdded) > [13:14:00.900] 0L) { [13:14:00.900] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.900] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.900] base::options(opts) [13:14:00.900] } [13:14:00.900] { [13:14:00.900] { [13:14:00.900] NULL [13:14:00.900] RNGkind("Mersenne-Twister") [13:14:00.900] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.900] inherits = FALSE) [13:14:00.900] } [13:14:00.900] options(future.plan = NULL) [13:14:00.900] if (is.na(NA_character_)) [13:14:00.900] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.900] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.900] future::plan(list(function (..., envir = parent.frame()) [13:14:00.900] { [13:14:00.900] future <- SequentialFuture(..., envir = envir) [13:14:00.900] if (!future$lazy) [13:14:00.900] future <- run(future) [13:14:00.900] invisible(future) [13:14:00.900] }), .cleanup = FALSE, .init = FALSE) [13:14:00.900] } [13:14:00.900] } [13:14:00.900] } [13:14:00.900] }) [13:14:00.900] if (TRUE) { [13:14:00.900] base::sink(type = "output", split = FALSE) [13:14:00.900] if (TRUE) { [13:14:00.900] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.900] } [13:14:00.900] else { [13:14:00.900] ...future.result["stdout"] <- base::list(NULL) [13:14:00.900] } [13:14:00.900] base::close(...future.stdout) [13:14:00.900] ...future.stdout <- NULL [13:14:00.900] } [13:14:00.900] ...future.result$conditions <- ...future.conditions [13:14:00.900] ...future.result$finished <- base::Sys.time() [13:14:00.900] ...future.result [13:14:00.900] } [13:14:00.905] assign_globals() ... [13:14:00.905] List of 5 [13:14:00.905] $ ...future.FUN :function (x, ...) [13:14:00.905] $ future.call.arguments : list() [13:14:00.905] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.905] $ ...future.elements_ii :List of 3 [13:14:00.905] ..$ a: num 1 [13:14:00.905] ..$ b: num 2 [13:14:00.905] ..$ c: num 3 [13:14:00.905] $ ...future.seeds_ii : NULL [13:14:00.905] $ ...future.globals.maxSize: NULL [13:14:00.905] - attr(*, "where")=List of 5 [13:14:00.905] ..$ ...future.FUN : [13:14:00.905] ..$ future.call.arguments : [13:14:00.905] ..$ ...future.elements_ii : [13:14:00.905] ..$ ...future.seeds_ii : [13:14:00.905] ..$ ...future.globals.maxSize: [13:14:00.905] - attr(*, "resolved")= logi FALSE [13:14:00.905] - attr(*, "total_size")= num 1248 [13:14:00.905] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.905] - attr(*, "already-done")= logi TRUE [13:14:00.914] - copied '...future.FUN' to environment [13:14:00.914] - copied 'future.call.arguments' to environment [13:14:00.914] - copied '...future.elements_ii' to environment [13:14:00.914] - copied '...future.seeds_ii' to environment [13:14:00.914] - copied '...future.globals.maxSize' to environment [13:14:00.915] assign_globals() ... done [13:14:00.915] plan(): Setting new future strategy stack: [13:14:00.915] List of future strategies: [13:14:00.915] 1. sequential: [13:14:00.915] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.915] - tweaked: FALSE [13:14:00.915] - call: NULL [13:14:00.916] plan(): nbrOfWorkers() = 1 [13:14:00.918] plan(): Setting new future strategy stack: [13:14:00.918] List of future strategies: [13:14:00.918] 1. sequential: [13:14:00.918] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.918] - tweaked: FALSE [13:14:00.918] - call: plan(strategy) [13:14:00.919] plan(): nbrOfWorkers() = 1 [13:14:00.919] SequentialFuture started (and completed) [13:14:00.919] - Launch lazy future ... done [13:14:00.919] run() for 'SequentialFuture' ... done [13:14:00.920] Created future: [13:14:00.920] SequentialFuture: [13:14:00.920] Label: 'future_sapply-1' [13:14:00.920] Expression: [13:14:00.920] { [13:14:00.920] do.call(function(...) { [13:14:00.920] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.920] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.920] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.920] on.exit(options(oopts), add = TRUE) [13:14:00.920] } [13:14:00.920] { [13:14:00.920] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.920] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.920] ...future.FUN(...future.X_jj, ...) [13:14:00.920] }) [13:14:00.920] } [13:14:00.920] }, args = future.call.arguments) [13:14:00.920] } [13:14:00.920] Lazy evaluation: FALSE [13:14:00.920] Asynchronous evaluation: FALSE [13:14:00.920] Local evaluation: TRUE [13:14:00.920] Environment: R_GlobalEnv [13:14:00.920] Capture standard output: TRUE [13:14:00.920] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.920] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.920] Packages: [13:14:00.920] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.920] Resolved: TRUE [13:14:00.920] Value: 672 bytes of class 'list' [13:14:00.920] Early signaling: FALSE [13:14:00.920] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.920] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.921] Chunk #1 of 1 ... DONE [13:14:00.922] Launching 1 futures (chunks) ... DONE [13:14:00.922] Resolving 1 futures (chunks) ... [13:14:00.922] resolve() on list ... [13:14:00.922] recursive: 0 [13:14:00.922] length: 1 [13:14:00.922] [13:14:00.923] resolved() for 'SequentialFuture' ... [13:14:00.923] - state: 'finished' [13:14:00.923] - run: TRUE [13:14:00.923] - result: 'FutureResult' [13:14:00.923] resolved() for 'SequentialFuture' ... done [13:14:00.926] Future #1 [13:14:00.926] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.926] - nx: 1 [13:14:00.926] - relay: TRUE [13:14:00.926] - stdout: TRUE [13:14:00.927] - signal: TRUE [13:14:00.927] - resignal: FALSE [13:14:00.927] - force: TRUE [13:14:00.927] - relayed: [n=1] FALSE [13:14:00.927] - queued futures: [n=1] FALSE [13:14:00.927] - until=1 [13:14:00.928] - relaying element #1 [13:14:00.928] - relayed: [n=1] TRUE [13:14:00.928] - queued futures: [n=1] TRUE [13:14:00.928] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.928] length: 0 (resolved future 1) [13:14:00.929] Relaying remaining futures [13:14:00.929] signalConditionsASAP(NULL, pos=0) ... [13:14:00.929] - nx: 1 [13:14:00.929] - relay: TRUE [13:14:00.929] - stdout: TRUE [13:14:00.929] - signal: TRUE [13:14:00.930] - resignal: FALSE [13:14:00.930] - force: TRUE [13:14:00.930] - relayed: [n=1] TRUE [13:14:00.930] - queued futures: [n=1] TRUE - flush all [13:14:00.930] - relayed: [n=1] TRUE [13:14:00.931] - queued futures: [n=1] TRUE [13:14:00.931] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.931] resolve() on list ... DONE [13:14:00.931] - Number of value chunks collected: 1 [13:14:00.931] Resolving 1 futures (chunks) ... DONE [13:14:00.931] Reducing values from 1 chunks ... [13:14:00.932] - Number of values collected after concatenation: 3 [13:14:00.932] - Number of values expected: 3 [13:14:00.932] Reducing values from 1 chunks ... DONE [13:14:00.932] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:00.934] future_lapply() ... [13:14:00.936] Number of chunks: 1 [13:14:00.936] getGlobalsAndPackagesXApply() ... [13:14:00.936] - future.globals: TRUE [13:14:00.936] getGlobalsAndPackages() ... [13:14:00.936] Searching for globals... [13:14:00.938] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:00.938] Searching for globals ... DONE [13:14:00.939] Resolving globals: FALSE [13:14:00.939] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:00.940] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:00.940] - globals: [1] 'FUN' [13:14:00.940] [13:14:00.940] getGlobalsAndPackages() ... DONE [13:14:00.940] - globals found/used: [n=1] 'FUN' [13:14:00.940] - needed namespaces: [n=0] [13:14:00.941] Finding globals ... DONE [13:14:00.941] - use_args: TRUE [13:14:00.941] - Getting '...' globals ... [13:14:00.941] resolve() on list ... [13:14:00.942] recursive: 0 [13:14:00.942] length: 1 [13:14:00.942] elements: '...' [13:14:00.942] length: 0 (resolved future 1) [13:14:00.942] resolve() on list ... DONE [13:14:00.942] - '...' content: [n=0] [13:14:00.943] List of 1 [13:14:00.943] $ ...: list() [13:14:00.943] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.943] - attr(*, "where")=List of 1 [13:14:00.943] ..$ ...: [13:14:00.943] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.943] - attr(*, "resolved")= logi TRUE [13:14:00.943] - attr(*, "total_size")= num NA [13:14:00.946] - Getting '...' globals ... DONE [13:14:00.946] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:00.946] List of 2 [13:14:00.946] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:00.946] $ ... : list() [13:14:00.946] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.946] - attr(*, "where")=List of 2 [13:14:00.946] ..$ ...future.FUN: [13:14:00.946] ..$ ... : [13:14:00.946] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.946] - attr(*, "resolved")= logi FALSE [13:14:00.946] - attr(*, "total_size")= num 4728 [13:14:00.949] Packages to be attached in all futures: [n=0] [13:14:00.950] getGlobalsAndPackagesXApply() ... DONE [13:14:00.950] Number of futures (= number of chunks): 1 [13:14:00.950] Launching 1 futures (chunks) ... [13:14:00.950] Chunk #1 of 1 ... [13:14:00.950] - Finding globals in 'X' for chunk #1 ... [13:14:00.951] getGlobalsAndPackages() ... [13:14:00.951] Searching for globals... [13:14:00.952] [13:14:00.952] Searching for globals ... DONE [13:14:00.952] - globals: [0] [13:14:00.953] getGlobalsAndPackages() ... DONE [13:14:00.953] + additional globals found: [n=0] [13:14:00.953] + additional namespaces needed: [n=0] [13:14:00.953] - Finding globals in 'X' for chunk #1 ... DONE [13:14:00.953] - seeds: [13:14:00.953] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.954] getGlobalsAndPackages() ... [13:14:00.954] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.954] Resolving globals: FALSE [13:14:00.954] Tweak future expression to call with '...' arguments ... [13:14:00.954] { [13:14:00.954] do.call(function(...) { [13:14:00.954] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.954] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.954] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.954] on.exit(options(oopts), add = TRUE) [13:14:00.954] } [13:14:00.954] { [13:14:00.954] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.954] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.954] ...future.FUN(...future.X_jj, ...) [13:14:00.954] }) [13:14:00.954] } [13:14:00.954] }, args = future.call.arguments) [13:14:00.954] } [13:14:00.955] Tweak future expression to call with '...' arguments ... DONE [13:14:00.955] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:00.955] [13:14:00.956] getGlobalsAndPackages() ... DONE [13:14:00.956] run() for 'Future' ... [13:14:00.956] - state: 'created' [13:14:00.956] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:00.957] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.957] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:00.957] - Field: 'label' [13:14:00.957] - Field: 'local' [13:14:00.957] - Field: 'owner' [13:14:00.958] - Field: 'envir' [13:14:00.958] - Field: 'packages' [13:14:00.958] - Field: 'gc' [13:14:00.958] - Field: 'conditions' [13:14:00.958] - Field: 'expr' [13:14:00.958] - Field: 'uuid' [13:14:00.959] - Field: 'seed' [13:14:00.959] - Field: 'version' [13:14:00.959] - Field: 'result' [13:14:00.959] - Field: 'asynchronous' [13:14:00.959] - Field: 'calls' [13:14:00.960] - Field: 'globals' [13:14:00.960] - Field: 'stdout' [13:14:00.960] - Field: 'earlySignal' [13:14:00.960] - Field: 'lazy' [13:14:00.960] - Field: 'state' [13:14:00.960] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:00.961] - Launch lazy future ... [13:14:00.961] Packages needed by the future expression (n = 0): [13:14:00.961] Packages needed by future strategies (n = 0): [13:14:00.962] { [13:14:00.962] { [13:14:00.962] { [13:14:00.962] ...future.startTime <- base::Sys.time() [13:14:00.962] { [13:14:00.962] { [13:14:00.962] { [13:14:00.962] base::local({ [13:14:00.962] has_future <- base::requireNamespace("future", [13:14:00.962] quietly = TRUE) [13:14:00.962] if (has_future) { [13:14:00.962] ns <- base::getNamespace("future") [13:14:00.962] version <- ns[[".package"]][["version"]] [13:14:00.962] if (is.null(version)) [13:14:00.962] version <- utils::packageVersion("future") [13:14:00.962] } [13:14:00.962] else { [13:14:00.962] version <- NULL [13:14:00.962] } [13:14:00.962] if (!has_future || version < "1.8.0") { [13:14:00.962] info <- base::c(r_version = base::gsub("R version ", [13:14:00.962] "", base::R.version$version.string), [13:14:00.962] platform = base::sprintf("%s (%s-bit)", [13:14:00.962] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:00.962] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:00.962] "release", "version")], collapse = " "), [13:14:00.962] hostname = base::Sys.info()[["nodename"]]) [13:14:00.962] info <- base::sprintf("%s: %s", base::names(info), [13:14:00.962] info) [13:14:00.962] info <- base::paste(info, collapse = "; ") [13:14:00.962] if (!has_future) { [13:14:00.962] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:00.962] info) [13:14:00.962] } [13:14:00.962] else { [13:14:00.962] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:00.962] info, version) [13:14:00.962] } [13:14:00.962] base::stop(msg) [13:14:00.962] } [13:14:00.962] }) [13:14:00.962] } [13:14:00.962] options(future.plan = NULL) [13:14:00.962] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.962] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:00.962] } [13:14:00.962] ...future.workdir <- getwd() [13:14:00.962] } [13:14:00.962] ...future.oldOptions <- base::as.list(base::.Options) [13:14:00.962] ...future.oldEnvVars <- base::Sys.getenv() [13:14:00.962] } [13:14:00.962] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:00.962] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:00.962] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:00.962] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:00.962] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:00.962] future.stdout.windows.reencode = NULL, width = 80L) [13:14:00.962] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:00.962] base::names(...future.oldOptions)) [13:14:00.962] } [13:14:00.962] if (FALSE) { [13:14:00.962] } [13:14:00.962] else { [13:14:00.962] if (TRUE) { [13:14:00.962] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:00.962] open = "w") [13:14:00.962] } [13:14:00.962] else { [13:14:00.962] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:00.962] windows = "NUL", "/dev/null"), open = "w") [13:14:00.962] } [13:14:00.962] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:00.962] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:00.962] base::sink(type = "output", split = FALSE) [13:14:00.962] base::close(...future.stdout) [13:14:00.962] }, add = TRUE) [13:14:00.962] } [13:14:00.962] ...future.frame <- base::sys.nframe() [13:14:00.962] ...future.conditions <- base::list() [13:14:00.962] ...future.rng <- base::globalenv()$.Random.seed [13:14:00.962] if (FALSE) { [13:14:00.962] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:00.962] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:00.962] } [13:14:00.962] ...future.result <- base::tryCatch({ [13:14:00.962] base::withCallingHandlers({ [13:14:00.962] ...future.value <- base::withVisible(base::local({ [13:14:00.962] do.call(function(...) { [13:14:00.962] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.962] if (!identical(...future.globals.maxSize.org, [13:14:00.962] ...future.globals.maxSize)) { [13:14:00.962] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.962] on.exit(options(oopts), add = TRUE) [13:14:00.962] } [13:14:00.962] { [13:14:00.962] lapply(seq_along(...future.elements_ii), [13:14:00.962] FUN = function(jj) { [13:14:00.962] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.962] ...future.FUN(...future.X_jj, ...) [13:14:00.962] }) [13:14:00.962] } [13:14:00.962] }, args = future.call.arguments) [13:14:00.962] })) [13:14:00.962] future::FutureResult(value = ...future.value$value, [13:14:00.962] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.962] ...future.rng), globalenv = if (FALSE) [13:14:00.962] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:00.962] ...future.globalenv.names)) [13:14:00.962] else NULL, started = ...future.startTime, version = "1.8") [13:14:00.962] }, condition = base::local({ [13:14:00.962] c <- base::c [13:14:00.962] inherits <- base::inherits [13:14:00.962] invokeRestart <- base::invokeRestart [13:14:00.962] length <- base::length [13:14:00.962] list <- base::list [13:14:00.962] seq.int <- base::seq.int [13:14:00.962] signalCondition <- base::signalCondition [13:14:00.962] sys.calls <- base::sys.calls [13:14:00.962] `[[` <- base::`[[` [13:14:00.962] `+` <- base::`+` [13:14:00.962] `<<-` <- base::`<<-` [13:14:00.962] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:00.962] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:00.962] 3L)] [13:14:00.962] } [13:14:00.962] function(cond) { [13:14:00.962] is_error <- inherits(cond, "error") [13:14:00.962] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:00.962] NULL) [13:14:00.962] if (is_error) { [13:14:00.962] sessionInformation <- function() { [13:14:00.962] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:00.962] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:00.962] search = base::search(), system = base::Sys.info()) [13:14:00.962] } [13:14:00.962] ...future.conditions[[length(...future.conditions) + [13:14:00.962] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:00.962] cond$call), session = sessionInformation(), [13:14:00.962] timestamp = base::Sys.time(), signaled = 0L) [13:14:00.962] signalCondition(cond) [13:14:00.962] } [13:14:00.962] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:00.962] "immediateCondition"))) { [13:14:00.962] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:00.962] ...future.conditions[[length(...future.conditions) + [13:14:00.962] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:00.962] if (TRUE && !signal) { [13:14:00.962] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.962] { [13:14:00.962] inherits <- base::inherits [13:14:00.962] invokeRestart <- base::invokeRestart [13:14:00.962] is.null <- base::is.null [13:14:00.962] muffled <- FALSE [13:14:00.962] if (inherits(cond, "message")) { [13:14:00.962] muffled <- grepl(pattern, "muffleMessage") [13:14:00.962] if (muffled) [13:14:00.962] invokeRestart("muffleMessage") [13:14:00.962] } [13:14:00.962] else if (inherits(cond, "warning")) { [13:14:00.962] muffled <- grepl(pattern, "muffleWarning") [13:14:00.962] if (muffled) [13:14:00.962] invokeRestart("muffleWarning") [13:14:00.962] } [13:14:00.962] else if (inherits(cond, "condition")) { [13:14:00.962] if (!is.null(pattern)) { [13:14:00.962] computeRestarts <- base::computeRestarts [13:14:00.962] grepl <- base::grepl [13:14:00.962] restarts <- computeRestarts(cond) [13:14:00.962] for (restart in restarts) { [13:14:00.962] name <- restart$name [13:14:00.962] if (is.null(name)) [13:14:00.962] next [13:14:00.962] if (!grepl(pattern, name)) [13:14:00.962] next [13:14:00.962] invokeRestart(restart) [13:14:00.962] muffled <- TRUE [13:14:00.962] break [13:14:00.962] } [13:14:00.962] } [13:14:00.962] } [13:14:00.962] invisible(muffled) [13:14:00.962] } [13:14:00.962] muffleCondition(cond, pattern = "^muffle") [13:14:00.962] } [13:14:00.962] } [13:14:00.962] else { [13:14:00.962] if (TRUE) { [13:14:00.962] muffleCondition <- function (cond, pattern = "^muffle") [13:14:00.962] { [13:14:00.962] inherits <- base::inherits [13:14:00.962] invokeRestart <- base::invokeRestart [13:14:00.962] is.null <- base::is.null [13:14:00.962] muffled <- FALSE [13:14:00.962] if (inherits(cond, "message")) { [13:14:00.962] muffled <- grepl(pattern, "muffleMessage") [13:14:00.962] if (muffled) [13:14:00.962] invokeRestart("muffleMessage") [13:14:00.962] } [13:14:00.962] else if (inherits(cond, "warning")) { [13:14:00.962] muffled <- grepl(pattern, "muffleWarning") [13:14:00.962] if (muffled) [13:14:00.962] invokeRestart("muffleWarning") [13:14:00.962] } [13:14:00.962] else if (inherits(cond, "condition")) { [13:14:00.962] if (!is.null(pattern)) { [13:14:00.962] computeRestarts <- base::computeRestarts [13:14:00.962] grepl <- base::grepl [13:14:00.962] restarts <- computeRestarts(cond) [13:14:00.962] for (restart in restarts) { [13:14:00.962] name <- restart$name [13:14:00.962] if (is.null(name)) [13:14:00.962] next [13:14:00.962] if (!grepl(pattern, name)) [13:14:00.962] next [13:14:00.962] invokeRestart(restart) [13:14:00.962] muffled <- TRUE [13:14:00.962] break [13:14:00.962] } [13:14:00.962] } [13:14:00.962] } [13:14:00.962] invisible(muffled) [13:14:00.962] } [13:14:00.962] muffleCondition(cond, pattern = "^muffle") [13:14:00.962] } [13:14:00.962] } [13:14:00.962] } [13:14:00.962] })) [13:14:00.962] }, error = function(ex) { [13:14:00.962] base::structure(base::list(value = NULL, visible = NULL, [13:14:00.962] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:00.962] ...future.rng), started = ...future.startTime, [13:14:00.962] finished = Sys.time(), session_uuid = NA_character_, [13:14:00.962] version = "1.8"), class = "FutureResult") [13:14:00.962] }, finally = { [13:14:00.962] if (!identical(...future.workdir, getwd())) [13:14:00.962] setwd(...future.workdir) [13:14:00.962] { [13:14:00.962] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:00.962] ...future.oldOptions$nwarnings <- NULL [13:14:00.962] } [13:14:00.962] base::options(...future.oldOptions) [13:14:00.962] if (.Platform$OS.type == "windows") { [13:14:00.962] old_names <- names(...future.oldEnvVars) [13:14:00.962] envs <- base::Sys.getenv() [13:14:00.962] names <- names(envs) [13:14:00.962] common <- intersect(names, old_names) [13:14:00.962] added <- setdiff(names, old_names) [13:14:00.962] removed <- setdiff(old_names, names) [13:14:00.962] changed <- common[...future.oldEnvVars[common] != [13:14:00.962] envs[common]] [13:14:00.962] NAMES <- toupper(changed) [13:14:00.962] args <- list() [13:14:00.962] for (kk in seq_along(NAMES)) { [13:14:00.962] name <- changed[[kk]] [13:14:00.962] NAME <- NAMES[[kk]] [13:14:00.962] if (name != NAME && is.element(NAME, old_names)) [13:14:00.962] next [13:14:00.962] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.962] } [13:14:00.962] NAMES <- toupper(added) [13:14:00.962] for (kk in seq_along(NAMES)) { [13:14:00.962] name <- added[[kk]] [13:14:00.962] NAME <- NAMES[[kk]] [13:14:00.962] if (name != NAME && is.element(NAME, old_names)) [13:14:00.962] next [13:14:00.962] args[[name]] <- "" [13:14:00.962] } [13:14:00.962] NAMES <- toupper(removed) [13:14:00.962] for (kk in seq_along(NAMES)) { [13:14:00.962] name <- removed[[kk]] [13:14:00.962] NAME <- NAMES[[kk]] [13:14:00.962] if (name != NAME && is.element(NAME, old_names)) [13:14:00.962] next [13:14:00.962] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:00.962] } [13:14:00.962] if (length(args) > 0) [13:14:00.962] base::do.call(base::Sys.setenv, args = args) [13:14:00.962] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:00.962] } [13:14:00.962] else { [13:14:00.962] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:00.962] } [13:14:00.962] { [13:14:00.962] if (base::length(...future.futureOptionsAdded) > [13:14:00.962] 0L) { [13:14:00.962] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:00.962] base::names(opts) <- ...future.futureOptionsAdded [13:14:00.962] base::options(opts) [13:14:00.962] } [13:14:00.962] { [13:14:00.962] { [13:14:00.962] NULL [13:14:00.962] RNGkind("Mersenne-Twister") [13:14:00.962] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:00.962] inherits = FALSE) [13:14:00.962] } [13:14:00.962] options(future.plan = NULL) [13:14:00.962] if (is.na(NA_character_)) [13:14:00.962] Sys.unsetenv("R_FUTURE_PLAN") [13:14:00.962] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:00.962] future::plan(list(function (..., envir = parent.frame()) [13:14:00.962] { [13:14:00.962] future <- SequentialFuture(..., envir = envir) [13:14:00.962] if (!future$lazy) [13:14:00.962] future <- run(future) [13:14:00.962] invisible(future) [13:14:00.962] }), .cleanup = FALSE, .init = FALSE) [13:14:00.962] } [13:14:00.962] } [13:14:00.962] } [13:14:00.962] }) [13:14:00.962] if (TRUE) { [13:14:00.962] base::sink(type = "output", split = FALSE) [13:14:00.962] if (TRUE) { [13:14:00.962] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:00.962] } [13:14:00.962] else { [13:14:00.962] ...future.result["stdout"] <- base::list(NULL) [13:14:00.962] } [13:14:00.962] base::close(...future.stdout) [13:14:00.962] ...future.stdout <- NULL [13:14:00.962] } [13:14:00.962] ...future.result$conditions <- ...future.conditions [13:14:00.962] ...future.result$finished <- base::Sys.time() [13:14:00.962] ...future.result [13:14:00.962] } [13:14:00.966] assign_globals() ... [13:14:00.966] List of 5 [13:14:00.966] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:00.966] $ future.call.arguments : list() [13:14:00.966] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.966] $ ...future.elements_ii :List of 3 [13:14:00.966] ..$ a: num 1 [13:14:00.966] ..$ b: num 2 [13:14:00.966] ..$ c: num 3 [13:14:00.966] $ ...future.seeds_ii : NULL [13:14:00.966] $ ...future.globals.maxSize: NULL [13:14:00.966] - attr(*, "where")=List of 5 [13:14:00.966] ..$ ...future.FUN : [13:14:00.966] ..$ future.call.arguments : [13:14:00.966] ..$ ...future.elements_ii : [13:14:00.966] ..$ ...future.seeds_ii : [13:14:00.966] ..$ ...future.globals.maxSize: [13:14:00.966] - attr(*, "resolved")= logi FALSE [13:14:00.966] - attr(*, "total_size")= num 4728 [13:14:00.966] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.966] - attr(*, "already-done")= logi TRUE [13:14:00.972] - reassign environment for '...future.FUN' [13:14:00.972] - copied '...future.FUN' to environment [13:14:00.972] - copied 'future.call.arguments' to environment [13:14:00.973] - copied '...future.elements_ii' to environment [13:14:00.973] - copied '...future.seeds_ii' to environment [13:14:00.973] - copied '...future.globals.maxSize' to environment [13:14:00.973] assign_globals() ... done [13:14:00.973] plan(): Setting new future strategy stack: [13:14:00.974] List of future strategies: [13:14:00.974] 1. sequential: [13:14:00.974] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.974] - tweaked: FALSE [13:14:00.974] - call: NULL [13:14:00.974] plan(): nbrOfWorkers() = 1 [13:14:00.975] plan(): Setting new future strategy stack: [13:14:00.976] List of future strategies: [13:14:00.976] 1. sequential: [13:14:00.976] - args: function (..., envir = parent.frame(), workers = "") [13:14:00.976] - tweaked: FALSE [13:14:00.976] - call: plan(strategy) [13:14:00.976] plan(): nbrOfWorkers() = 1 [13:14:00.977] SequentialFuture started (and completed) [13:14:00.977] - Launch lazy future ... done [13:14:00.977] run() for 'SequentialFuture' ... done [13:14:00.977] Created future: [13:14:00.977] SequentialFuture: [13:14:00.977] Label: 'future_sapply-1' [13:14:00.977] Expression: [13:14:00.977] { [13:14:00.977] do.call(function(...) { [13:14:00.977] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:00.977] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:00.977] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:00.977] on.exit(options(oopts), add = TRUE) [13:14:00.977] } [13:14:00.977] { [13:14:00.977] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:00.977] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:00.977] ...future.FUN(...future.X_jj, ...) [13:14:00.977] }) [13:14:00.977] } [13:14:00.977] }, args = future.call.arguments) [13:14:00.977] } [13:14:00.977] Lazy evaluation: FALSE [13:14:00.977] Asynchronous evaluation: FALSE [13:14:00.977] Local evaluation: TRUE [13:14:00.977] Environment: R_GlobalEnv [13:14:00.977] Capture standard output: TRUE [13:14:00.977] Capture condition classes: 'condition' (excluding 'nothing') [13:14:00.977] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:00.977] Packages: [13:14:00.977] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:00.977] Resolved: TRUE [13:14:00.977] Value: 1.01 KiB of class 'list' [13:14:00.977] Early signaling: FALSE [13:14:00.977] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:00.977] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:00.979] Chunk #1 of 1 ... DONE [13:14:00.979] Launching 1 futures (chunks) ... DONE [13:14:00.979] Resolving 1 futures (chunks) ... [13:14:00.979] resolve() on list ... [13:14:00.979] recursive: 0 [13:14:00.979] length: 1 [13:14:00.980] [13:14:00.980] resolved() for 'SequentialFuture' ... [13:14:00.980] - state: 'finished' [13:14:00.980] - run: TRUE [13:14:00.980] - result: 'FutureResult' [13:14:00.980] resolved() for 'SequentialFuture' ... done [13:14:00.981] Future #1 [13:14:00.981] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:00.982] - nx: 1 [13:14:00.982] - relay: TRUE [13:14:00.983] - stdout: TRUE [13:14:00.983] - signal: TRUE [13:14:00.983] - resignal: FALSE [13:14:00.983] - force: TRUE [13:14:00.983] - relayed: [n=1] FALSE [13:14:00.983] - queued futures: [n=1] FALSE [13:14:00.984] - until=1 [13:14:00.984] - relaying element #1 [13:14:00.984] - relayed: [n=1] TRUE [13:14:00.984] - queued futures: [n=1] TRUE [13:14:00.984] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:00.985] length: 0 (resolved future 1) [13:14:00.985] Relaying remaining futures [13:14:00.985] signalConditionsASAP(NULL, pos=0) ... [13:14:00.985] - nx: 1 [13:14:00.985] - relay: TRUE [13:14:00.985] - stdout: TRUE [13:14:00.985] - signal: TRUE [13:14:00.986] - resignal: FALSE [13:14:00.986] - force: TRUE [13:14:00.986] - relayed: [n=1] TRUE [13:14:00.986] - queued futures: [n=1] TRUE - flush all [13:14:00.986] - relayed: [n=1] TRUE [13:14:00.986] - queued futures: [n=1] TRUE [13:14:00.987] signalConditionsASAP(NULL, pos=0) ... done [13:14:00.987] resolve() on list ... DONE [13:14:00.987] - Number of value chunks collected: 1 [13:14:00.987] Resolving 1 futures (chunks) ... DONE [13:14:00.987] Reducing values from 1 chunks ... [13:14:00.987] - Number of values collected after concatenation: 3 [13:14:00.988] - Number of values expected: 3 [13:14:00.988] Reducing values from 1 chunks ... DONE [13:14:00.988] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:00.991] future_lapply() ... [13:14:00.992] Number of chunks: 1 [13:14:00.992] getGlobalsAndPackagesXApply() ... [13:14:00.992] - future.globals: TRUE [13:14:00.993] getGlobalsAndPackages() ... [13:14:00.993] Searching for globals... [13:14:00.994] - globals found: [1] 'FUN' [13:14:00.994] Searching for globals ... DONE [13:14:00.994] Resolving globals: FALSE [13:14:00.995] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:00.995] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:00.995] - globals: [1] 'FUN' [13:14:00.996] [13:14:00.996] getGlobalsAndPackages() ... DONE [13:14:00.996] - globals found/used: [n=1] 'FUN' [13:14:00.996] - needed namespaces: [n=0] [13:14:00.996] Finding globals ... DONE [13:14:00.996] - use_args: TRUE [13:14:00.997] - Getting '...' globals ... [13:14:00.997] resolve() on list ... [13:14:00.997] recursive: 0 [13:14:00.997] length: 1 [13:14:00.997] elements: '...' [13:14:00.998] length: 0 (resolved future 1) [13:14:00.998] resolve() on list ... DONE [13:14:00.998] - '...' content: [n=0] [13:14:00.998] List of 1 [13:14:00.998] $ ...: list() [13:14:00.998] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:00.998] - attr(*, "where")=List of 1 [13:14:00.998] ..$ ...: [13:14:00.998] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:00.998] - attr(*, "resolved")= logi TRUE [13:14:00.998] - attr(*, "total_size")= num NA [13:14:01.001] - Getting '...' globals ... DONE [13:14:01.001] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.002] List of 2 [13:14:01.002] $ ...future.FUN:function (x) [13:14:01.002] $ ... : list() [13:14:01.002] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.002] - attr(*, "where")=List of 2 [13:14:01.002] ..$ ...future.FUN: [13:14:01.002] ..$ ... : [13:14:01.002] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.002] - attr(*, "resolved")= logi FALSE [13:14:01.002] - attr(*, "total_size")= num 848 [13:14:01.005] Packages to be attached in all futures: [n=0] [13:14:01.005] getGlobalsAndPackagesXApply() ... DONE [13:14:01.005] Number of futures (= number of chunks): 1 [13:14:01.005] Launching 1 futures (chunks) ... [13:14:01.006] Chunk #1 of 1 ... [13:14:01.007] - Finding globals in 'X' for chunk #1 ... [13:14:01.007] getGlobalsAndPackages() ... [13:14:01.007] Searching for globals... [13:14:01.007] [13:14:01.007] Searching for globals ... DONE [13:14:01.008] - globals: [0] [13:14:01.008] getGlobalsAndPackages() ... DONE [13:14:01.008] + additional globals found: [n=0] [13:14:01.008] + additional namespaces needed: [n=0] [13:14:01.008] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.008] - seeds: [13:14:01.009] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.009] getGlobalsAndPackages() ... [13:14:01.009] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.009] Resolving globals: FALSE [13:14:01.009] Tweak future expression to call with '...' arguments ... [13:14:01.009] { [13:14:01.009] do.call(function(...) { [13:14:01.009] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.009] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.009] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.009] on.exit(options(oopts), add = TRUE) [13:14:01.009] } [13:14:01.009] { [13:14:01.009] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.009] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.009] ...future.FUN(...future.X_jj, ...) [13:14:01.009] }) [13:14:01.009] } [13:14:01.009] }, args = future.call.arguments) [13:14:01.009] } [13:14:01.010] Tweak future expression to call with '...' arguments ... DONE [13:14:01.010] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.011] [13:14:01.011] getGlobalsAndPackages() ... DONE [13:14:01.011] run() for 'Future' ... [13:14:01.011] - state: 'created' [13:14:01.012] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.012] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.012] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.012] - Field: 'label' [13:14:01.012] - Field: 'local' [13:14:01.013] - Field: 'owner' [13:14:01.013] - Field: 'envir' [13:14:01.013] - Field: 'packages' [13:14:01.013] - Field: 'gc' [13:14:01.013] - Field: 'conditions' [13:14:01.013] - Field: 'expr' [13:14:01.014] - Field: 'uuid' [13:14:01.014] - Field: 'seed' [13:14:01.014] - Field: 'version' [13:14:01.014] - Field: 'result' [13:14:01.014] - Field: 'asynchronous' [13:14:01.015] - Field: 'calls' [13:14:01.015] - Field: 'globals' [13:14:01.015] - Field: 'stdout' [13:14:01.015] - Field: 'earlySignal' [13:14:01.015] - Field: 'lazy' [13:14:01.015] - Field: 'state' [13:14:01.016] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.016] - Launch lazy future ... [13:14:01.016] Packages needed by the future expression (n = 0): [13:14:01.016] Packages needed by future strategies (n = 0): [13:14:01.017] { [13:14:01.017] { [13:14:01.017] { [13:14:01.017] ...future.startTime <- base::Sys.time() [13:14:01.017] { [13:14:01.017] { [13:14:01.017] { [13:14:01.017] base::local({ [13:14:01.017] has_future <- base::requireNamespace("future", [13:14:01.017] quietly = TRUE) [13:14:01.017] if (has_future) { [13:14:01.017] ns <- base::getNamespace("future") [13:14:01.017] version <- ns[[".package"]][["version"]] [13:14:01.017] if (is.null(version)) [13:14:01.017] version <- utils::packageVersion("future") [13:14:01.017] } [13:14:01.017] else { [13:14:01.017] version <- NULL [13:14:01.017] } [13:14:01.017] if (!has_future || version < "1.8.0") { [13:14:01.017] info <- base::c(r_version = base::gsub("R version ", [13:14:01.017] "", base::R.version$version.string), [13:14:01.017] platform = base::sprintf("%s (%s-bit)", [13:14:01.017] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.017] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.017] "release", "version")], collapse = " "), [13:14:01.017] hostname = base::Sys.info()[["nodename"]]) [13:14:01.017] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.017] info) [13:14:01.017] info <- base::paste(info, collapse = "; ") [13:14:01.017] if (!has_future) { [13:14:01.017] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.017] info) [13:14:01.017] } [13:14:01.017] else { [13:14:01.017] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.017] info, version) [13:14:01.017] } [13:14:01.017] base::stop(msg) [13:14:01.017] } [13:14:01.017] }) [13:14:01.017] } [13:14:01.017] options(future.plan = NULL) [13:14:01.017] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.017] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.017] } [13:14:01.017] ...future.workdir <- getwd() [13:14:01.017] } [13:14:01.017] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.017] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.017] } [13:14:01.017] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.017] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.017] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.017] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.017] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.017] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.017] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.017] base::names(...future.oldOptions)) [13:14:01.017] } [13:14:01.017] if (FALSE) { [13:14:01.017] } [13:14:01.017] else { [13:14:01.017] if (TRUE) { [13:14:01.017] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.017] open = "w") [13:14:01.017] } [13:14:01.017] else { [13:14:01.017] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.017] windows = "NUL", "/dev/null"), open = "w") [13:14:01.017] } [13:14:01.017] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.017] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.017] base::sink(type = "output", split = FALSE) [13:14:01.017] base::close(...future.stdout) [13:14:01.017] }, add = TRUE) [13:14:01.017] } [13:14:01.017] ...future.frame <- base::sys.nframe() [13:14:01.017] ...future.conditions <- base::list() [13:14:01.017] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.017] if (FALSE) { [13:14:01.017] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.017] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.017] } [13:14:01.017] ...future.result <- base::tryCatch({ [13:14:01.017] base::withCallingHandlers({ [13:14:01.017] ...future.value <- base::withVisible(base::local({ [13:14:01.017] do.call(function(...) { [13:14:01.017] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.017] if (!identical(...future.globals.maxSize.org, [13:14:01.017] ...future.globals.maxSize)) { [13:14:01.017] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.017] on.exit(options(oopts), add = TRUE) [13:14:01.017] } [13:14:01.017] { [13:14:01.017] lapply(seq_along(...future.elements_ii), [13:14:01.017] FUN = function(jj) { [13:14:01.017] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.017] ...future.FUN(...future.X_jj, ...) [13:14:01.017] }) [13:14:01.017] } [13:14:01.017] }, args = future.call.arguments) [13:14:01.017] })) [13:14:01.017] future::FutureResult(value = ...future.value$value, [13:14:01.017] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.017] ...future.rng), globalenv = if (FALSE) [13:14:01.017] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.017] ...future.globalenv.names)) [13:14:01.017] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.017] }, condition = base::local({ [13:14:01.017] c <- base::c [13:14:01.017] inherits <- base::inherits [13:14:01.017] invokeRestart <- base::invokeRestart [13:14:01.017] length <- base::length [13:14:01.017] list <- base::list [13:14:01.017] seq.int <- base::seq.int [13:14:01.017] signalCondition <- base::signalCondition [13:14:01.017] sys.calls <- base::sys.calls [13:14:01.017] `[[` <- base::`[[` [13:14:01.017] `+` <- base::`+` [13:14:01.017] `<<-` <- base::`<<-` [13:14:01.017] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.017] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.017] 3L)] [13:14:01.017] } [13:14:01.017] function(cond) { [13:14:01.017] is_error <- inherits(cond, "error") [13:14:01.017] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.017] NULL) [13:14:01.017] if (is_error) { [13:14:01.017] sessionInformation <- function() { [13:14:01.017] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.017] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.017] search = base::search(), system = base::Sys.info()) [13:14:01.017] } [13:14:01.017] ...future.conditions[[length(...future.conditions) + [13:14:01.017] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.017] cond$call), session = sessionInformation(), [13:14:01.017] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.017] signalCondition(cond) [13:14:01.017] } [13:14:01.017] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.017] "immediateCondition"))) { [13:14:01.017] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.017] ...future.conditions[[length(...future.conditions) + [13:14:01.017] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.017] if (TRUE && !signal) { [13:14:01.017] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.017] { [13:14:01.017] inherits <- base::inherits [13:14:01.017] invokeRestart <- base::invokeRestart [13:14:01.017] is.null <- base::is.null [13:14:01.017] muffled <- FALSE [13:14:01.017] if (inherits(cond, "message")) { [13:14:01.017] muffled <- grepl(pattern, "muffleMessage") [13:14:01.017] if (muffled) [13:14:01.017] invokeRestart("muffleMessage") [13:14:01.017] } [13:14:01.017] else if (inherits(cond, "warning")) { [13:14:01.017] muffled <- grepl(pattern, "muffleWarning") [13:14:01.017] if (muffled) [13:14:01.017] invokeRestart("muffleWarning") [13:14:01.017] } [13:14:01.017] else if (inherits(cond, "condition")) { [13:14:01.017] if (!is.null(pattern)) { [13:14:01.017] computeRestarts <- base::computeRestarts [13:14:01.017] grepl <- base::grepl [13:14:01.017] restarts <- computeRestarts(cond) [13:14:01.017] for (restart in restarts) { [13:14:01.017] name <- restart$name [13:14:01.017] if (is.null(name)) [13:14:01.017] next [13:14:01.017] if (!grepl(pattern, name)) [13:14:01.017] next [13:14:01.017] invokeRestart(restart) [13:14:01.017] muffled <- TRUE [13:14:01.017] break [13:14:01.017] } [13:14:01.017] } [13:14:01.017] } [13:14:01.017] invisible(muffled) [13:14:01.017] } [13:14:01.017] muffleCondition(cond, pattern = "^muffle") [13:14:01.017] } [13:14:01.017] } [13:14:01.017] else { [13:14:01.017] if (TRUE) { [13:14:01.017] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.017] { [13:14:01.017] inherits <- base::inherits [13:14:01.017] invokeRestart <- base::invokeRestart [13:14:01.017] is.null <- base::is.null [13:14:01.017] muffled <- FALSE [13:14:01.017] if (inherits(cond, "message")) { [13:14:01.017] muffled <- grepl(pattern, "muffleMessage") [13:14:01.017] if (muffled) [13:14:01.017] invokeRestart("muffleMessage") [13:14:01.017] } [13:14:01.017] else if (inherits(cond, "warning")) { [13:14:01.017] muffled <- grepl(pattern, "muffleWarning") [13:14:01.017] if (muffled) [13:14:01.017] invokeRestart("muffleWarning") [13:14:01.017] } [13:14:01.017] else if (inherits(cond, "condition")) { [13:14:01.017] if (!is.null(pattern)) { [13:14:01.017] computeRestarts <- base::computeRestarts [13:14:01.017] grepl <- base::grepl [13:14:01.017] restarts <- computeRestarts(cond) [13:14:01.017] for (restart in restarts) { [13:14:01.017] name <- restart$name [13:14:01.017] if (is.null(name)) [13:14:01.017] next [13:14:01.017] if (!grepl(pattern, name)) [13:14:01.017] next [13:14:01.017] invokeRestart(restart) [13:14:01.017] muffled <- TRUE [13:14:01.017] break [13:14:01.017] } [13:14:01.017] } [13:14:01.017] } [13:14:01.017] invisible(muffled) [13:14:01.017] } [13:14:01.017] muffleCondition(cond, pattern = "^muffle") [13:14:01.017] } [13:14:01.017] } [13:14:01.017] } [13:14:01.017] })) [13:14:01.017] }, error = function(ex) { [13:14:01.017] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.017] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.017] ...future.rng), started = ...future.startTime, [13:14:01.017] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.017] version = "1.8"), class = "FutureResult") [13:14:01.017] }, finally = { [13:14:01.017] if (!identical(...future.workdir, getwd())) [13:14:01.017] setwd(...future.workdir) [13:14:01.017] { [13:14:01.017] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.017] ...future.oldOptions$nwarnings <- NULL [13:14:01.017] } [13:14:01.017] base::options(...future.oldOptions) [13:14:01.017] if (.Platform$OS.type == "windows") { [13:14:01.017] old_names <- names(...future.oldEnvVars) [13:14:01.017] envs <- base::Sys.getenv() [13:14:01.017] names <- names(envs) [13:14:01.017] common <- intersect(names, old_names) [13:14:01.017] added <- setdiff(names, old_names) [13:14:01.017] removed <- setdiff(old_names, names) [13:14:01.017] changed <- common[...future.oldEnvVars[common] != [13:14:01.017] envs[common]] [13:14:01.017] NAMES <- toupper(changed) [13:14:01.017] args <- list() [13:14:01.017] for (kk in seq_along(NAMES)) { [13:14:01.017] name <- changed[[kk]] [13:14:01.017] NAME <- NAMES[[kk]] [13:14:01.017] if (name != NAME && is.element(NAME, old_names)) [13:14:01.017] next [13:14:01.017] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.017] } [13:14:01.017] NAMES <- toupper(added) [13:14:01.017] for (kk in seq_along(NAMES)) { [13:14:01.017] name <- added[[kk]] [13:14:01.017] NAME <- NAMES[[kk]] [13:14:01.017] if (name != NAME && is.element(NAME, old_names)) [13:14:01.017] next [13:14:01.017] args[[name]] <- "" [13:14:01.017] } [13:14:01.017] NAMES <- toupper(removed) [13:14:01.017] for (kk in seq_along(NAMES)) { [13:14:01.017] name <- removed[[kk]] [13:14:01.017] NAME <- NAMES[[kk]] [13:14:01.017] if (name != NAME && is.element(NAME, old_names)) [13:14:01.017] next [13:14:01.017] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.017] } [13:14:01.017] if (length(args) > 0) [13:14:01.017] base::do.call(base::Sys.setenv, args = args) [13:14:01.017] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.017] } [13:14:01.017] else { [13:14:01.017] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.017] } [13:14:01.017] { [13:14:01.017] if (base::length(...future.futureOptionsAdded) > [13:14:01.017] 0L) { [13:14:01.017] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.017] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.017] base::options(opts) [13:14:01.017] } [13:14:01.017] { [13:14:01.017] { [13:14:01.017] NULL [13:14:01.017] RNGkind("Mersenne-Twister") [13:14:01.017] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.017] inherits = FALSE) [13:14:01.017] } [13:14:01.017] options(future.plan = NULL) [13:14:01.017] if (is.na(NA_character_)) [13:14:01.017] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.017] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.017] future::plan(list(function (..., envir = parent.frame()) [13:14:01.017] { [13:14:01.017] future <- SequentialFuture(..., envir = envir) [13:14:01.017] if (!future$lazy) [13:14:01.017] future <- run(future) [13:14:01.017] invisible(future) [13:14:01.017] }), .cleanup = FALSE, .init = FALSE) [13:14:01.017] } [13:14:01.017] } [13:14:01.017] } [13:14:01.017] }) [13:14:01.017] if (TRUE) { [13:14:01.017] base::sink(type = "output", split = FALSE) [13:14:01.017] if (TRUE) { [13:14:01.017] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.017] } [13:14:01.017] else { [13:14:01.017] ...future.result["stdout"] <- base::list(NULL) [13:14:01.017] } [13:14:01.017] base::close(...future.stdout) [13:14:01.017] ...future.stdout <- NULL [13:14:01.017] } [13:14:01.017] ...future.result$conditions <- ...future.conditions [13:14:01.017] ...future.result$finished <- base::Sys.time() [13:14:01.017] ...future.result [13:14:01.017] } [13:14:01.021] assign_globals() ... [13:14:01.021] List of 5 [13:14:01.021] $ ...future.FUN :function (x) [13:14:01.021] $ future.call.arguments : list() [13:14:01.021] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.021] $ ...future.elements_ii :List of 6 [13:14:01.021] ..$ a1: int 1 [13:14:01.021] ..$ a2: int 2 [13:14:01.021] ..$ b1: int 2 [13:14:01.021] ..$ b2: int 3 [13:14:01.021] ..$ c1: int 3 [13:14:01.021] ..$ c2: int 4 [13:14:01.021] $ ...future.seeds_ii : NULL [13:14:01.021] $ ...future.globals.maxSize: NULL [13:14:01.021] - attr(*, "where")=List of 5 [13:14:01.021] ..$ ...future.FUN : [13:14:01.021] ..$ future.call.arguments : [13:14:01.021] ..$ ...future.elements_ii : [13:14:01.021] ..$ ...future.seeds_ii : [13:14:01.021] ..$ ...future.globals.maxSize: [13:14:01.021] - attr(*, "resolved")= logi FALSE [13:14:01.021] - attr(*, "total_size")= num 848 [13:14:01.021] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.021] - attr(*, "already-done")= logi TRUE [13:14:01.028] - copied '...future.FUN' to environment [13:14:01.028] - copied 'future.call.arguments' to environment [13:14:01.029] - copied '...future.elements_ii' to environment [13:14:01.029] - copied '...future.seeds_ii' to environment [13:14:01.029] - copied '...future.globals.maxSize' to environment [13:14:01.029] assign_globals() ... done [13:14:01.029] plan(): Setting new future strategy stack: [13:14:01.030] List of future strategies: [13:14:01.030] 1. sequential: [13:14:01.030] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.030] - tweaked: FALSE [13:14:01.030] - call: NULL [13:14:01.030] plan(): nbrOfWorkers() = 1 [13:14:01.031] plan(): Setting new future strategy stack: [13:14:01.032] List of future strategies: [13:14:01.032] 1. sequential: [13:14:01.032] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.032] - tweaked: FALSE [13:14:01.032] - call: plan(strategy) [13:14:01.032] plan(): nbrOfWorkers() = 1 [13:14:01.032] SequentialFuture started (and completed) [13:14:01.033] - Launch lazy future ... done [13:14:01.033] run() for 'SequentialFuture' ... done [13:14:01.033] Created future: [13:14:01.033] SequentialFuture: [13:14:01.033] Label: 'future_sapply-1' [13:14:01.033] Expression: [13:14:01.033] { [13:14:01.033] do.call(function(...) { [13:14:01.033] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.033] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.033] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.033] on.exit(options(oopts), add = TRUE) [13:14:01.033] } [13:14:01.033] { [13:14:01.033] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.033] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.033] ...future.FUN(...future.X_jj, ...) [13:14:01.033] }) [13:14:01.033] } [13:14:01.033] }, args = future.call.arguments) [13:14:01.033] } [13:14:01.033] Lazy evaluation: FALSE [13:14:01.033] Asynchronous evaluation: FALSE [13:14:01.033] Local evaluation: TRUE [13:14:01.033] Environment: R_GlobalEnv [13:14:01.033] Capture standard output: TRUE [13:14:01.033] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.033] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.033] Packages: [13:14:01.033] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.033] Resolved: TRUE [13:14:01.033] Value: 336 bytes of class 'list' [13:14:01.033] Early signaling: FALSE [13:14:01.033] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.033] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.035] Chunk #1 of 1 ... DONE [13:14:01.036] Launching 1 futures (chunks) ... DONE [13:14:01.036] Resolving 1 futures (chunks) ... [13:14:01.036] resolve() on list ... [13:14:01.036] recursive: 0 [13:14:01.036] length: 1 [13:14:01.036] [13:14:01.037] resolved() for 'SequentialFuture' ... [13:14:01.037] - state: 'finished' [13:14:01.037] - run: TRUE [13:14:01.037] - result: 'FutureResult' [13:14:01.037] resolved() for 'SequentialFuture' ... done [13:14:01.038] Future #1 [13:14:01.038] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.038] - nx: 1 [13:14:01.038] - relay: TRUE [13:14:01.038] - stdout: TRUE [13:14:01.038] - signal: TRUE [13:14:01.039] - resignal: FALSE [13:14:01.039] - force: TRUE [13:14:01.039] - relayed: [n=1] FALSE [13:14:01.039] - queued futures: [n=1] FALSE [13:14:01.039] - until=1 [13:14:01.039] - relaying element #1 [13:14:01.040] - relayed: [n=1] TRUE [13:14:01.040] - queued futures: [n=1] TRUE [13:14:01.040] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.040] length: 0 (resolved future 1) [13:14:01.040] Relaying remaining futures [13:14:01.040] signalConditionsASAP(NULL, pos=0) ... [13:14:01.041] - nx: 1 [13:14:01.041] - relay: TRUE [13:14:01.041] - stdout: TRUE [13:14:01.041] - signal: TRUE [13:14:01.041] - resignal: FALSE [13:14:01.041] - force: TRUE [13:14:01.041] - relayed: [n=1] TRUE [13:14:01.042] - queued futures: [n=1] TRUE - flush all [13:14:01.042] - relayed: [n=1] TRUE [13:14:01.042] - queued futures: [n=1] TRUE [13:14:01.042] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.042] resolve() on list ... DONE [13:14:01.043] - Number of value chunks collected: 1 [13:14:01.043] Resolving 1 futures (chunks) ... DONE [13:14:01.043] Reducing values from 1 chunks ... [13:14:01.043] - Number of values collected after concatenation: 6 [13:14:01.043] - Number of values expected: 6 [13:14:01.043] Reducing values from 1 chunks ... DONE [13:14:01.044] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y1:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y2:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 [13:14:01.054] future_lapply() ... [13:14:01.055] Number of chunks: 1 [13:14:01.055] getGlobalsAndPackagesXApply() ... [13:14:01.055] - future.globals: TRUE [13:14:01.055] getGlobalsAndPackages() ... [13:14:01.055] Searching for globals... [13:14:01.057] - globals found: [2] 'FUN', 'UseMethod' [13:14:01.057] Searching for globals ... DONE [13:14:01.057] Resolving globals: FALSE [13:14:01.057] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:01.060] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:01.060] - globals: [1] 'FUN' [13:14:01.060] [13:14:01.061] getGlobalsAndPackages() ... DONE [13:14:01.061] - globals found/used: [n=1] 'FUN' [13:14:01.061] - needed namespaces: [n=0] [13:14:01.061] Finding globals ... DONE [13:14:01.061] - use_args: TRUE [13:14:01.061] - Getting '...' globals ... [13:14:01.062] resolve() on list ... [13:14:01.062] recursive: 0 [13:14:01.062] length: 1 [13:14:01.062] elements: '...' [13:14:01.063] length: 0 (resolved future 1) [13:14:01.063] resolve() on list ... DONE [13:14:01.063] - '...' content: [n=0] [13:14:01.063] List of 1 [13:14:01.063] $ ...: list() [13:14:01.063] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.063] - attr(*, "where")=List of 1 [13:14:01.063] ..$ ...: [13:14:01.063] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.063] - attr(*, "resolved")= logi TRUE [13:14:01.063] - attr(*, "total_size")= num NA [13:14:01.066] - Getting '...' globals ... DONE [13:14:01.066] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.067] List of 2 [13:14:01.067] $ ...future.FUN:function (x, ...) [13:14:01.067] $ ... : list() [13:14:01.067] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.067] - attr(*, "where")=List of 2 [13:14:01.067] ..$ ...future.FUN: [13:14:01.067] ..$ ... : [13:14:01.067] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.067] - attr(*, "resolved")= logi FALSE [13:14:01.067] - attr(*, "total_size")= num 1248 [13:14:01.070] Packages to be attached in all futures: [n=0] [13:14:01.070] getGlobalsAndPackagesXApply() ... DONE [13:14:01.070] Number of futures (= number of chunks): 1 [13:14:01.070] Launching 1 futures (chunks) ... [13:14:01.071] Chunk #1 of 1 ... [13:14:01.071] - Finding globals in 'X' for chunk #1 ... [13:14:01.071] getGlobalsAndPackages() ... [13:14:01.071] Searching for globals... [13:14:01.071] [13:14:01.072] Searching for globals ... DONE [13:14:01.072] - globals: [0] [13:14:01.072] getGlobalsAndPackages() ... DONE [13:14:01.072] + additional globals found: [n=0] [13:14:01.072] + additional namespaces needed: [n=0] [13:14:01.072] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.073] - seeds: [13:14:01.073] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.073] getGlobalsAndPackages() ... [13:14:01.073] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.073] Resolving globals: FALSE [13:14:01.073] Tweak future expression to call with '...' arguments ... [13:14:01.074] { [13:14:01.074] do.call(function(...) { [13:14:01.074] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.074] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.074] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.074] on.exit(options(oopts), add = TRUE) [13:14:01.074] } [13:14:01.074] { [13:14:01.074] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.074] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.074] ...future.FUN(...future.X_jj, ...) [13:14:01.074] }) [13:14:01.074] } [13:14:01.074] }, args = future.call.arguments) [13:14:01.074] } [13:14:01.074] Tweak future expression to call with '...' arguments ... DONE [13:14:01.074] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.075] [13:14:01.075] getGlobalsAndPackages() ... DONE [13:14:01.076] run() for 'Future' ... [13:14:01.076] - state: 'created' [13:14:01.076] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.077] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.077] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.078] - Field: 'label' [13:14:01.078] - Field: 'local' [13:14:01.078] - Field: 'owner' [13:14:01.078] - Field: 'envir' [13:14:01.079] - Field: 'packages' [13:14:01.079] - Field: 'gc' [13:14:01.079] - Field: 'conditions' [13:14:01.079] - Field: 'expr' [13:14:01.079] - Field: 'uuid' [13:14:01.080] - Field: 'seed' [13:14:01.080] - Field: 'version' [13:14:01.080] - Field: 'result' [13:14:01.080] - Field: 'asynchronous' [13:14:01.081] - Field: 'calls' [13:14:01.081] - Field: 'globals' [13:14:01.081] - Field: 'stdout' [13:14:01.081] - Field: 'earlySignal' [13:14:01.081] - Field: 'lazy' [13:14:01.082] - Field: 'state' [13:14:01.082] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.082] - Launch lazy future ... [13:14:01.083] Packages needed by the future expression (n = 0): [13:14:01.083] Packages needed by future strategies (n = 0): [13:14:01.084] { [13:14:01.084] { [13:14:01.084] { [13:14:01.084] ...future.startTime <- base::Sys.time() [13:14:01.084] { [13:14:01.084] { [13:14:01.084] { [13:14:01.084] base::local({ [13:14:01.084] has_future <- base::requireNamespace("future", [13:14:01.084] quietly = TRUE) [13:14:01.084] if (has_future) { [13:14:01.084] ns <- base::getNamespace("future") [13:14:01.084] version <- ns[[".package"]][["version"]] [13:14:01.084] if (is.null(version)) [13:14:01.084] version <- utils::packageVersion("future") [13:14:01.084] } [13:14:01.084] else { [13:14:01.084] version <- NULL [13:14:01.084] } [13:14:01.084] if (!has_future || version < "1.8.0") { [13:14:01.084] info <- base::c(r_version = base::gsub("R version ", [13:14:01.084] "", base::R.version$version.string), [13:14:01.084] platform = base::sprintf("%s (%s-bit)", [13:14:01.084] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.084] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.084] "release", "version")], collapse = " "), [13:14:01.084] hostname = base::Sys.info()[["nodename"]]) [13:14:01.084] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.084] info) [13:14:01.084] info <- base::paste(info, collapse = "; ") [13:14:01.084] if (!has_future) { [13:14:01.084] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.084] info) [13:14:01.084] } [13:14:01.084] else { [13:14:01.084] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.084] info, version) [13:14:01.084] } [13:14:01.084] base::stop(msg) [13:14:01.084] } [13:14:01.084] }) [13:14:01.084] } [13:14:01.084] options(future.plan = NULL) [13:14:01.084] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.084] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.084] } [13:14:01.084] ...future.workdir <- getwd() [13:14:01.084] } [13:14:01.084] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.084] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.084] } [13:14:01.084] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.084] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.084] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.084] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.084] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.084] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.084] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.084] base::names(...future.oldOptions)) [13:14:01.084] } [13:14:01.084] if (FALSE) { [13:14:01.084] } [13:14:01.084] else { [13:14:01.084] if (TRUE) { [13:14:01.084] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.084] open = "w") [13:14:01.084] } [13:14:01.084] else { [13:14:01.084] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.084] windows = "NUL", "/dev/null"), open = "w") [13:14:01.084] } [13:14:01.084] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.084] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.084] base::sink(type = "output", split = FALSE) [13:14:01.084] base::close(...future.stdout) [13:14:01.084] }, add = TRUE) [13:14:01.084] } [13:14:01.084] ...future.frame <- base::sys.nframe() [13:14:01.084] ...future.conditions <- base::list() [13:14:01.084] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.084] if (FALSE) { [13:14:01.084] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.084] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.084] } [13:14:01.084] ...future.result <- base::tryCatch({ [13:14:01.084] base::withCallingHandlers({ [13:14:01.084] ...future.value <- base::withVisible(base::local({ [13:14:01.084] do.call(function(...) { [13:14:01.084] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.084] if (!identical(...future.globals.maxSize.org, [13:14:01.084] ...future.globals.maxSize)) { [13:14:01.084] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.084] on.exit(options(oopts), add = TRUE) [13:14:01.084] } [13:14:01.084] { [13:14:01.084] lapply(seq_along(...future.elements_ii), [13:14:01.084] FUN = function(jj) { [13:14:01.084] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.084] ...future.FUN(...future.X_jj, ...) [13:14:01.084] }) [13:14:01.084] } [13:14:01.084] }, args = future.call.arguments) [13:14:01.084] })) [13:14:01.084] future::FutureResult(value = ...future.value$value, [13:14:01.084] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.084] ...future.rng), globalenv = if (FALSE) [13:14:01.084] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.084] ...future.globalenv.names)) [13:14:01.084] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.084] }, condition = base::local({ [13:14:01.084] c <- base::c [13:14:01.084] inherits <- base::inherits [13:14:01.084] invokeRestart <- base::invokeRestart [13:14:01.084] length <- base::length [13:14:01.084] list <- base::list [13:14:01.084] seq.int <- base::seq.int [13:14:01.084] signalCondition <- base::signalCondition [13:14:01.084] sys.calls <- base::sys.calls [13:14:01.084] `[[` <- base::`[[` [13:14:01.084] `+` <- base::`+` [13:14:01.084] `<<-` <- base::`<<-` [13:14:01.084] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.084] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.084] 3L)] [13:14:01.084] } [13:14:01.084] function(cond) { [13:14:01.084] is_error <- inherits(cond, "error") [13:14:01.084] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.084] NULL) [13:14:01.084] if (is_error) { [13:14:01.084] sessionInformation <- function() { [13:14:01.084] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.084] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.084] search = base::search(), system = base::Sys.info()) [13:14:01.084] } [13:14:01.084] ...future.conditions[[length(...future.conditions) + [13:14:01.084] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.084] cond$call), session = sessionInformation(), [13:14:01.084] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.084] signalCondition(cond) [13:14:01.084] } [13:14:01.084] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.084] "immediateCondition"))) { [13:14:01.084] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.084] ...future.conditions[[length(...future.conditions) + [13:14:01.084] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.084] if (TRUE && !signal) { [13:14:01.084] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.084] { [13:14:01.084] inherits <- base::inherits [13:14:01.084] invokeRestart <- base::invokeRestart [13:14:01.084] is.null <- base::is.null [13:14:01.084] muffled <- FALSE [13:14:01.084] if (inherits(cond, "message")) { [13:14:01.084] muffled <- grepl(pattern, "muffleMessage") [13:14:01.084] if (muffled) [13:14:01.084] invokeRestart("muffleMessage") [13:14:01.084] } [13:14:01.084] else if (inherits(cond, "warning")) { [13:14:01.084] muffled <- grepl(pattern, "muffleWarning") [13:14:01.084] if (muffled) [13:14:01.084] invokeRestart("muffleWarning") [13:14:01.084] } [13:14:01.084] else if (inherits(cond, "condition")) { [13:14:01.084] if (!is.null(pattern)) { [13:14:01.084] computeRestarts <- base::computeRestarts [13:14:01.084] grepl <- base::grepl [13:14:01.084] restarts <- computeRestarts(cond) [13:14:01.084] for (restart in restarts) { [13:14:01.084] name <- restart$name [13:14:01.084] if (is.null(name)) [13:14:01.084] next [13:14:01.084] if (!grepl(pattern, name)) [13:14:01.084] next [13:14:01.084] invokeRestart(restart) [13:14:01.084] muffled <- TRUE [13:14:01.084] break [13:14:01.084] } [13:14:01.084] } [13:14:01.084] } [13:14:01.084] invisible(muffled) [13:14:01.084] } [13:14:01.084] muffleCondition(cond, pattern = "^muffle") [13:14:01.084] } [13:14:01.084] } [13:14:01.084] else { [13:14:01.084] if (TRUE) { [13:14:01.084] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.084] { [13:14:01.084] inherits <- base::inherits [13:14:01.084] invokeRestart <- base::invokeRestart [13:14:01.084] is.null <- base::is.null [13:14:01.084] muffled <- FALSE [13:14:01.084] if (inherits(cond, "message")) { [13:14:01.084] muffled <- grepl(pattern, "muffleMessage") [13:14:01.084] if (muffled) [13:14:01.084] invokeRestart("muffleMessage") [13:14:01.084] } [13:14:01.084] else if (inherits(cond, "warning")) { [13:14:01.084] muffled <- grepl(pattern, "muffleWarning") [13:14:01.084] if (muffled) [13:14:01.084] invokeRestart("muffleWarning") [13:14:01.084] } [13:14:01.084] else if (inherits(cond, "condition")) { [13:14:01.084] if (!is.null(pattern)) { [13:14:01.084] computeRestarts <- base::computeRestarts [13:14:01.084] grepl <- base::grepl [13:14:01.084] restarts <- computeRestarts(cond) [13:14:01.084] for (restart in restarts) { [13:14:01.084] name <- restart$name [13:14:01.084] if (is.null(name)) [13:14:01.084] next [13:14:01.084] if (!grepl(pattern, name)) [13:14:01.084] next [13:14:01.084] invokeRestart(restart) [13:14:01.084] muffled <- TRUE [13:14:01.084] break [13:14:01.084] } [13:14:01.084] } [13:14:01.084] } [13:14:01.084] invisible(muffled) [13:14:01.084] } [13:14:01.084] muffleCondition(cond, pattern = "^muffle") [13:14:01.084] } [13:14:01.084] } [13:14:01.084] } [13:14:01.084] })) [13:14:01.084] }, error = function(ex) { [13:14:01.084] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.084] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.084] ...future.rng), started = ...future.startTime, [13:14:01.084] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.084] version = "1.8"), class = "FutureResult") [13:14:01.084] }, finally = { [13:14:01.084] if (!identical(...future.workdir, getwd())) [13:14:01.084] setwd(...future.workdir) [13:14:01.084] { [13:14:01.084] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.084] ...future.oldOptions$nwarnings <- NULL [13:14:01.084] } [13:14:01.084] base::options(...future.oldOptions) [13:14:01.084] if (.Platform$OS.type == "windows") { [13:14:01.084] old_names <- names(...future.oldEnvVars) [13:14:01.084] envs <- base::Sys.getenv() [13:14:01.084] names <- names(envs) [13:14:01.084] common <- intersect(names, old_names) [13:14:01.084] added <- setdiff(names, old_names) [13:14:01.084] removed <- setdiff(old_names, names) [13:14:01.084] changed <- common[...future.oldEnvVars[common] != [13:14:01.084] envs[common]] [13:14:01.084] NAMES <- toupper(changed) [13:14:01.084] args <- list() [13:14:01.084] for (kk in seq_along(NAMES)) { [13:14:01.084] name <- changed[[kk]] [13:14:01.084] NAME <- NAMES[[kk]] [13:14:01.084] if (name != NAME && is.element(NAME, old_names)) [13:14:01.084] next [13:14:01.084] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.084] } [13:14:01.084] NAMES <- toupper(added) [13:14:01.084] for (kk in seq_along(NAMES)) { [13:14:01.084] name <- added[[kk]] [13:14:01.084] NAME <- NAMES[[kk]] [13:14:01.084] if (name != NAME && is.element(NAME, old_names)) [13:14:01.084] next [13:14:01.084] args[[name]] <- "" [13:14:01.084] } [13:14:01.084] NAMES <- toupper(removed) [13:14:01.084] for (kk in seq_along(NAMES)) { [13:14:01.084] name <- removed[[kk]] [13:14:01.084] NAME <- NAMES[[kk]] [13:14:01.084] if (name != NAME && is.element(NAME, old_names)) [13:14:01.084] next [13:14:01.084] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.084] } [13:14:01.084] if (length(args) > 0) [13:14:01.084] base::do.call(base::Sys.setenv, args = args) [13:14:01.084] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.084] } [13:14:01.084] else { [13:14:01.084] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.084] } [13:14:01.084] { [13:14:01.084] if (base::length(...future.futureOptionsAdded) > [13:14:01.084] 0L) { [13:14:01.084] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.084] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.084] base::options(opts) [13:14:01.084] } [13:14:01.084] { [13:14:01.084] { [13:14:01.084] NULL [13:14:01.084] RNGkind("Mersenne-Twister") [13:14:01.084] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.084] inherits = FALSE) [13:14:01.084] } [13:14:01.084] options(future.plan = NULL) [13:14:01.084] if (is.na(NA_character_)) [13:14:01.084] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.084] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.084] future::plan(list(function (..., envir = parent.frame()) [13:14:01.084] { [13:14:01.084] future <- SequentialFuture(..., envir = envir) [13:14:01.084] if (!future$lazy) [13:14:01.084] future <- run(future) [13:14:01.084] invisible(future) [13:14:01.084] }), .cleanup = FALSE, .init = FALSE) [13:14:01.084] } [13:14:01.084] } [13:14:01.084] } [13:14:01.084] }) [13:14:01.084] if (TRUE) { [13:14:01.084] base::sink(type = "output", split = FALSE) [13:14:01.084] if (TRUE) { [13:14:01.084] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.084] } [13:14:01.084] else { [13:14:01.084] ...future.result["stdout"] <- base::list(NULL) [13:14:01.084] } [13:14:01.084] base::close(...future.stdout) [13:14:01.084] ...future.stdout <- NULL [13:14:01.084] } [13:14:01.084] ...future.result$conditions <- ...future.conditions [13:14:01.084] ...future.result$finished <- base::Sys.time() [13:14:01.084] ...future.result [13:14:01.084] } [13:14:01.089] assign_globals() ... [13:14:01.089] List of 5 [13:14:01.089] $ ...future.FUN :function (x, ...) [13:14:01.089] $ future.call.arguments : list() [13:14:01.089] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.089] $ ...future.elements_ii :List of 6 [13:14:01.089] ..$ a1: int 1 [13:14:01.089] ..$ a2: int 2 [13:14:01.089] ..$ b1: int 2 [13:14:01.089] ..$ b2: int 3 [13:14:01.089] ..$ c1: int 3 [13:14:01.089] ..$ c2: int 4 [13:14:01.089] $ ...future.seeds_ii : NULL [13:14:01.089] $ ...future.globals.maxSize: NULL [13:14:01.089] - attr(*, "where")=List of 5 [13:14:01.089] ..$ ...future.FUN : [13:14:01.089] ..$ future.call.arguments : [13:14:01.089] ..$ ...future.elements_ii : [13:14:01.089] ..$ ...future.seeds_ii : [13:14:01.089] ..$ ...future.globals.maxSize: [13:14:01.089] - attr(*, "resolved")= logi FALSE [13:14:01.089] - attr(*, "total_size")= num 1248 [13:14:01.089] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.089] - attr(*, "already-done")= logi TRUE [13:14:01.107] - copied '...future.FUN' to environment [13:14:01.108] - copied 'future.call.arguments' to environment [13:14:01.108] - copied '...future.elements_ii' to environment [13:14:01.108] - copied '...future.seeds_ii' to environment [13:14:01.108] - copied '...future.globals.maxSize' to environment [13:14:01.109] assign_globals() ... done [13:14:01.109] plan(): Setting new future strategy stack: [13:14:01.110] List of future strategies: [13:14:01.110] 1. sequential: [13:14:01.110] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.110] - tweaked: FALSE [13:14:01.110] - call: NULL [13:14:01.111] plan(): nbrOfWorkers() = 1 [13:14:01.113] plan(): Setting new future strategy stack: [13:14:01.113] List of future strategies: [13:14:01.113] 1. sequential: [13:14:01.113] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.113] - tweaked: FALSE [13:14:01.113] - call: plan(strategy) [13:14:01.114] plan(): nbrOfWorkers() = 1 [13:14:01.114] SequentialFuture started (and completed) [13:14:01.115] - Launch lazy future ... done [13:14:01.115] run() for 'SequentialFuture' ... done [13:14:01.115] Created future: [13:14:01.115] SequentialFuture: [13:14:01.115] Label: 'future_sapply-1' [13:14:01.115] Expression: [13:14:01.115] { [13:14:01.115] do.call(function(...) { [13:14:01.115] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.115] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.115] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.115] on.exit(options(oopts), add = TRUE) [13:14:01.115] } [13:14:01.115] { [13:14:01.115] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.115] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.115] ...future.FUN(...future.X_jj, ...) [13:14:01.115] }) [13:14:01.115] } [13:14:01.115] }, args = future.call.arguments) [13:14:01.115] } [13:14:01.115] Lazy evaluation: FALSE [13:14:01.115] Asynchronous evaluation: FALSE [13:14:01.115] Local evaluation: TRUE [13:14:01.115] Environment: R_GlobalEnv [13:14:01.115] Capture standard output: TRUE [13:14:01.115] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.115] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.115] Packages: [13:14:01.115] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.115] Resolved: TRUE [13:14:01.115] Value: 1.31 KiB of class 'list' [13:14:01.115] Early signaling: FALSE [13:14:01.115] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.115] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.118] Chunk #1 of 1 ... DONE [13:14:01.118] Launching 1 futures (chunks) ... DONE [13:14:01.118] Resolving 1 futures (chunks) ... [13:14:01.118] resolve() on list ... [13:14:01.118] recursive: 0 [13:14:01.119] length: 1 [13:14:01.119] [13:14:01.119] resolved() for 'SequentialFuture' ... [13:14:01.120] - state: 'finished' [13:14:01.120] - run: TRUE [13:14:01.120] - result: 'FutureResult' [13:14:01.120] resolved() for 'SequentialFuture' ... done [13:14:01.121] Future #1 [13:14:01.121] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.121] - nx: 1 [13:14:01.121] - relay: TRUE [13:14:01.122] - stdout: TRUE [13:14:01.122] - signal: TRUE [13:14:01.122] - resignal: FALSE [13:14:01.123] - force: TRUE [13:14:01.123] - relayed: [n=1] FALSE [13:14:01.123] - queued futures: [n=1] FALSE [13:14:01.123] - until=1 [13:14:01.123] - relaying element #1 [13:14:01.124] - relayed: [n=1] TRUE [13:14:01.124] - queued futures: [n=1] TRUE [13:14:01.125] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.125] length: 0 (resolved future 1) [13:14:01.125] Relaying remaining futures [13:14:01.125] signalConditionsASAP(NULL, pos=0) ... [13:14:01.126] - nx: 1 [13:14:01.126] - relay: TRUE [13:14:01.126] - stdout: TRUE [13:14:01.126] - signal: TRUE [13:14:01.126] - resignal: FALSE [13:14:01.127] - force: TRUE [13:14:01.127] - relayed: [n=1] TRUE [13:14:01.127] - queued futures: [n=1] TRUE - flush all [13:14:01.128] - relayed: [n=1] TRUE [13:14:01.128] - queued futures: [n=1] TRUE [13:14:01.128] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.128] resolve() on list ... DONE [13:14:01.129] - Number of value chunks collected: 1 [13:14:01.129] Resolving 1 futures (chunks) ... DONE [13:14:01.129] Reducing values from 1 chunks ... [13:14:01.129] - Number of values collected after concatenation: 6 [13:14:01.129] - Number of values expected: 6 [13:14:01.129] Reducing values from 1 chunks ... DONE [13:14:01.130] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y1:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y2:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 [13:14:01.143] future_lapply() ... [13:14:01.145] Number of chunks: 1 [13:14:01.145] getGlobalsAndPackagesXApply() ... [13:14:01.145] - future.globals: TRUE [13:14:01.145] getGlobalsAndPackages() ... [13:14:01.145] Searching for globals... [13:14:01.147] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:01.148] Searching for globals ... DONE [13:14:01.148] Resolving globals: FALSE [13:14:01.148] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:01.149] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:01.149] - globals: [1] 'FUN' [13:14:01.149] [13:14:01.149] getGlobalsAndPackages() ... DONE [13:14:01.150] - globals found/used: [n=1] 'FUN' [13:14:01.150] - needed namespaces: [n=0] [13:14:01.150] Finding globals ... DONE [13:14:01.150] - use_args: TRUE [13:14:01.150] - Getting '...' globals ... [13:14:01.151] resolve() on list ... [13:14:01.151] recursive: 0 [13:14:01.151] length: 1 [13:14:01.151] elements: '...' [13:14:01.151] length: 0 (resolved future 1) [13:14:01.151] resolve() on list ... DONE [13:14:01.152] - '...' content: [n=0] [13:14:01.152] List of 1 [13:14:01.152] $ ...: list() [13:14:01.152] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.152] - attr(*, "where")=List of 1 [13:14:01.152] ..$ ...: [13:14:01.152] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.152] - attr(*, "resolved")= logi TRUE [13:14:01.152] - attr(*, "total_size")= num NA [13:14:01.155] - Getting '...' globals ... DONE [13:14:01.155] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.155] List of 2 [13:14:01.155] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:01.155] $ ... : list() [13:14:01.155] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.155] - attr(*, "where")=List of 2 [13:14:01.155] ..$ ...future.FUN: [13:14:01.155] ..$ ... : [13:14:01.155] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.155] - attr(*, "resolved")= logi FALSE [13:14:01.155] - attr(*, "total_size")= num 4728 [13:14:01.159] Packages to be attached in all futures: [n=0] [13:14:01.159] getGlobalsAndPackagesXApply() ... DONE [13:14:01.159] Number of futures (= number of chunks): 1 [13:14:01.159] Launching 1 futures (chunks) ... [13:14:01.160] Chunk #1 of 1 ... [13:14:01.160] - Finding globals in 'X' for chunk #1 ... [13:14:01.160] getGlobalsAndPackages() ... [13:14:01.160] Searching for globals... [13:14:01.160] [13:14:01.161] Searching for globals ... DONE [13:14:01.161] - globals: [0] [13:14:01.161] getGlobalsAndPackages() ... DONE [13:14:01.161] + additional globals found: [n=0] [13:14:01.161] + additional namespaces needed: [n=0] [13:14:01.161] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.162] - seeds: [13:14:01.162] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.162] getGlobalsAndPackages() ... [13:14:01.162] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.162] Resolving globals: FALSE [13:14:01.162] Tweak future expression to call with '...' arguments ... [13:14:01.163] { [13:14:01.163] do.call(function(...) { [13:14:01.163] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.163] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.163] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.163] on.exit(options(oopts), add = TRUE) [13:14:01.163] } [13:14:01.163] { [13:14:01.163] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.163] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.163] ...future.FUN(...future.X_jj, ...) [13:14:01.163] }) [13:14:01.163] } [13:14:01.163] }, args = future.call.arguments) [13:14:01.163] } [13:14:01.163] Tweak future expression to call with '...' arguments ... DONE [13:14:01.164] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.164] [13:14:01.164] getGlobalsAndPackages() ... DONE [13:14:01.164] run() for 'Future' ... [13:14:01.164] - state: 'created' [13:14:01.165] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.166] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.166] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.166] - Field: 'label' [13:14:01.166] - Field: 'local' [13:14:01.167] - Field: 'owner' [13:14:01.167] - Field: 'envir' [13:14:01.167] - Field: 'packages' [13:14:01.167] - Field: 'gc' [13:14:01.167] - Field: 'conditions' [13:14:01.168] - Field: 'expr' [13:14:01.168] - Field: 'uuid' [13:14:01.168] - Field: 'seed' [13:14:01.168] - Field: 'version' [13:14:01.168] - Field: 'result' [13:14:01.168] - Field: 'asynchronous' [13:14:01.169] - Field: 'calls' [13:14:01.169] - Field: 'globals' [13:14:01.169] - Field: 'stdout' [13:14:01.169] - Field: 'earlySignal' [13:14:01.169] - Field: 'lazy' [13:14:01.170] - Field: 'state' [13:14:01.170] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.170] - Launch lazy future ... [13:14:01.170] Packages needed by the future expression (n = 0): [13:14:01.170] Packages needed by future strategies (n = 0): [13:14:01.171] { [13:14:01.171] { [13:14:01.171] { [13:14:01.171] ...future.startTime <- base::Sys.time() [13:14:01.171] { [13:14:01.171] { [13:14:01.171] { [13:14:01.171] base::local({ [13:14:01.171] has_future <- base::requireNamespace("future", [13:14:01.171] quietly = TRUE) [13:14:01.171] if (has_future) { [13:14:01.171] ns <- base::getNamespace("future") [13:14:01.171] version <- ns[[".package"]][["version"]] [13:14:01.171] if (is.null(version)) [13:14:01.171] version <- utils::packageVersion("future") [13:14:01.171] } [13:14:01.171] else { [13:14:01.171] version <- NULL [13:14:01.171] } [13:14:01.171] if (!has_future || version < "1.8.0") { [13:14:01.171] info <- base::c(r_version = base::gsub("R version ", [13:14:01.171] "", base::R.version$version.string), [13:14:01.171] platform = base::sprintf("%s (%s-bit)", [13:14:01.171] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.171] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.171] "release", "version")], collapse = " "), [13:14:01.171] hostname = base::Sys.info()[["nodename"]]) [13:14:01.171] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.171] info) [13:14:01.171] info <- base::paste(info, collapse = "; ") [13:14:01.171] if (!has_future) { [13:14:01.171] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.171] info) [13:14:01.171] } [13:14:01.171] else { [13:14:01.171] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.171] info, version) [13:14:01.171] } [13:14:01.171] base::stop(msg) [13:14:01.171] } [13:14:01.171] }) [13:14:01.171] } [13:14:01.171] options(future.plan = NULL) [13:14:01.171] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.171] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.171] } [13:14:01.171] ...future.workdir <- getwd() [13:14:01.171] } [13:14:01.171] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.171] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.171] } [13:14:01.171] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.171] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.171] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.171] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.171] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.171] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.171] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.171] base::names(...future.oldOptions)) [13:14:01.171] } [13:14:01.171] if (FALSE) { [13:14:01.171] } [13:14:01.171] else { [13:14:01.171] if (TRUE) { [13:14:01.171] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.171] open = "w") [13:14:01.171] } [13:14:01.171] else { [13:14:01.171] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.171] windows = "NUL", "/dev/null"), open = "w") [13:14:01.171] } [13:14:01.171] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.171] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.171] base::sink(type = "output", split = FALSE) [13:14:01.171] base::close(...future.stdout) [13:14:01.171] }, add = TRUE) [13:14:01.171] } [13:14:01.171] ...future.frame <- base::sys.nframe() [13:14:01.171] ...future.conditions <- base::list() [13:14:01.171] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.171] if (FALSE) { [13:14:01.171] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.171] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.171] } [13:14:01.171] ...future.result <- base::tryCatch({ [13:14:01.171] base::withCallingHandlers({ [13:14:01.171] ...future.value <- base::withVisible(base::local({ [13:14:01.171] do.call(function(...) { [13:14:01.171] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.171] if (!identical(...future.globals.maxSize.org, [13:14:01.171] ...future.globals.maxSize)) { [13:14:01.171] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.171] on.exit(options(oopts), add = TRUE) [13:14:01.171] } [13:14:01.171] { [13:14:01.171] lapply(seq_along(...future.elements_ii), [13:14:01.171] FUN = function(jj) { [13:14:01.171] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.171] ...future.FUN(...future.X_jj, ...) [13:14:01.171] }) [13:14:01.171] } [13:14:01.171] }, args = future.call.arguments) [13:14:01.171] })) [13:14:01.171] future::FutureResult(value = ...future.value$value, [13:14:01.171] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.171] ...future.rng), globalenv = if (FALSE) [13:14:01.171] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.171] ...future.globalenv.names)) [13:14:01.171] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.171] }, condition = base::local({ [13:14:01.171] c <- base::c [13:14:01.171] inherits <- base::inherits [13:14:01.171] invokeRestart <- base::invokeRestart [13:14:01.171] length <- base::length [13:14:01.171] list <- base::list [13:14:01.171] seq.int <- base::seq.int [13:14:01.171] signalCondition <- base::signalCondition [13:14:01.171] sys.calls <- base::sys.calls [13:14:01.171] `[[` <- base::`[[` [13:14:01.171] `+` <- base::`+` [13:14:01.171] `<<-` <- base::`<<-` [13:14:01.171] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.171] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.171] 3L)] [13:14:01.171] } [13:14:01.171] function(cond) { [13:14:01.171] is_error <- inherits(cond, "error") [13:14:01.171] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.171] NULL) [13:14:01.171] if (is_error) { [13:14:01.171] sessionInformation <- function() { [13:14:01.171] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.171] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.171] search = base::search(), system = base::Sys.info()) [13:14:01.171] } [13:14:01.171] ...future.conditions[[length(...future.conditions) + [13:14:01.171] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.171] cond$call), session = sessionInformation(), [13:14:01.171] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.171] signalCondition(cond) [13:14:01.171] } [13:14:01.171] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.171] "immediateCondition"))) { [13:14:01.171] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.171] ...future.conditions[[length(...future.conditions) + [13:14:01.171] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.171] if (TRUE && !signal) { [13:14:01.171] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.171] { [13:14:01.171] inherits <- base::inherits [13:14:01.171] invokeRestart <- base::invokeRestart [13:14:01.171] is.null <- base::is.null [13:14:01.171] muffled <- FALSE [13:14:01.171] if (inherits(cond, "message")) { [13:14:01.171] muffled <- grepl(pattern, "muffleMessage") [13:14:01.171] if (muffled) [13:14:01.171] invokeRestart("muffleMessage") [13:14:01.171] } [13:14:01.171] else if (inherits(cond, "warning")) { [13:14:01.171] muffled <- grepl(pattern, "muffleWarning") [13:14:01.171] if (muffled) [13:14:01.171] invokeRestart("muffleWarning") [13:14:01.171] } [13:14:01.171] else if (inherits(cond, "condition")) { [13:14:01.171] if (!is.null(pattern)) { [13:14:01.171] computeRestarts <- base::computeRestarts [13:14:01.171] grepl <- base::grepl [13:14:01.171] restarts <- computeRestarts(cond) [13:14:01.171] for (restart in restarts) { [13:14:01.171] name <- restart$name [13:14:01.171] if (is.null(name)) [13:14:01.171] next [13:14:01.171] if (!grepl(pattern, name)) [13:14:01.171] next [13:14:01.171] invokeRestart(restart) [13:14:01.171] muffled <- TRUE [13:14:01.171] break [13:14:01.171] } [13:14:01.171] } [13:14:01.171] } [13:14:01.171] invisible(muffled) [13:14:01.171] } [13:14:01.171] muffleCondition(cond, pattern = "^muffle") [13:14:01.171] } [13:14:01.171] } [13:14:01.171] else { [13:14:01.171] if (TRUE) { [13:14:01.171] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.171] { [13:14:01.171] inherits <- base::inherits [13:14:01.171] invokeRestart <- base::invokeRestart [13:14:01.171] is.null <- base::is.null [13:14:01.171] muffled <- FALSE [13:14:01.171] if (inherits(cond, "message")) { [13:14:01.171] muffled <- grepl(pattern, "muffleMessage") [13:14:01.171] if (muffled) [13:14:01.171] invokeRestart("muffleMessage") [13:14:01.171] } [13:14:01.171] else if (inherits(cond, "warning")) { [13:14:01.171] muffled <- grepl(pattern, "muffleWarning") [13:14:01.171] if (muffled) [13:14:01.171] invokeRestart("muffleWarning") [13:14:01.171] } [13:14:01.171] else if (inherits(cond, "condition")) { [13:14:01.171] if (!is.null(pattern)) { [13:14:01.171] computeRestarts <- base::computeRestarts [13:14:01.171] grepl <- base::grepl [13:14:01.171] restarts <- computeRestarts(cond) [13:14:01.171] for (restart in restarts) { [13:14:01.171] name <- restart$name [13:14:01.171] if (is.null(name)) [13:14:01.171] next [13:14:01.171] if (!grepl(pattern, name)) [13:14:01.171] next [13:14:01.171] invokeRestart(restart) [13:14:01.171] muffled <- TRUE [13:14:01.171] break [13:14:01.171] } [13:14:01.171] } [13:14:01.171] } [13:14:01.171] invisible(muffled) [13:14:01.171] } [13:14:01.171] muffleCondition(cond, pattern = "^muffle") [13:14:01.171] } [13:14:01.171] } [13:14:01.171] } [13:14:01.171] })) [13:14:01.171] }, error = function(ex) { [13:14:01.171] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.171] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.171] ...future.rng), started = ...future.startTime, [13:14:01.171] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.171] version = "1.8"), class = "FutureResult") [13:14:01.171] }, finally = { [13:14:01.171] if (!identical(...future.workdir, getwd())) [13:14:01.171] setwd(...future.workdir) [13:14:01.171] { [13:14:01.171] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.171] ...future.oldOptions$nwarnings <- NULL [13:14:01.171] } [13:14:01.171] base::options(...future.oldOptions) [13:14:01.171] if (.Platform$OS.type == "windows") { [13:14:01.171] old_names <- names(...future.oldEnvVars) [13:14:01.171] envs <- base::Sys.getenv() [13:14:01.171] names <- names(envs) [13:14:01.171] common <- intersect(names, old_names) [13:14:01.171] added <- setdiff(names, old_names) [13:14:01.171] removed <- setdiff(old_names, names) [13:14:01.171] changed <- common[...future.oldEnvVars[common] != [13:14:01.171] envs[common]] [13:14:01.171] NAMES <- toupper(changed) [13:14:01.171] args <- list() [13:14:01.171] for (kk in seq_along(NAMES)) { [13:14:01.171] name <- changed[[kk]] [13:14:01.171] NAME <- NAMES[[kk]] [13:14:01.171] if (name != NAME && is.element(NAME, old_names)) [13:14:01.171] next [13:14:01.171] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.171] } [13:14:01.171] NAMES <- toupper(added) [13:14:01.171] for (kk in seq_along(NAMES)) { [13:14:01.171] name <- added[[kk]] [13:14:01.171] NAME <- NAMES[[kk]] [13:14:01.171] if (name != NAME && is.element(NAME, old_names)) [13:14:01.171] next [13:14:01.171] args[[name]] <- "" [13:14:01.171] } [13:14:01.171] NAMES <- toupper(removed) [13:14:01.171] for (kk in seq_along(NAMES)) { [13:14:01.171] name <- removed[[kk]] [13:14:01.171] NAME <- NAMES[[kk]] [13:14:01.171] if (name != NAME && is.element(NAME, old_names)) [13:14:01.171] next [13:14:01.171] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.171] } [13:14:01.171] if (length(args) > 0) [13:14:01.171] base::do.call(base::Sys.setenv, args = args) [13:14:01.171] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.171] } [13:14:01.171] else { [13:14:01.171] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.171] } [13:14:01.171] { [13:14:01.171] if (base::length(...future.futureOptionsAdded) > [13:14:01.171] 0L) { [13:14:01.171] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.171] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.171] base::options(opts) [13:14:01.171] } [13:14:01.171] { [13:14:01.171] { [13:14:01.171] NULL [13:14:01.171] RNGkind("Mersenne-Twister") [13:14:01.171] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.171] inherits = FALSE) [13:14:01.171] } [13:14:01.171] options(future.plan = NULL) [13:14:01.171] if (is.na(NA_character_)) [13:14:01.171] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.171] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.171] future::plan(list(function (..., envir = parent.frame()) [13:14:01.171] { [13:14:01.171] future <- SequentialFuture(..., envir = envir) [13:14:01.171] if (!future$lazy) [13:14:01.171] future <- run(future) [13:14:01.171] invisible(future) [13:14:01.171] }), .cleanup = FALSE, .init = FALSE) [13:14:01.171] } [13:14:01.171] } [13:14:01.171] } [13:14:01.171] }) [13:14:01.171] if (TRUE) { [13:14:01.171] base::sink(type = "output", split = FALSE) [13:14:01.171] if (TRUE) { [13:14:01.171] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.171] } [13:14:01.171] else { [13:14:01.171] ...future.result["stdout"] <- base::list(NULL) [13:14:01.171] } [13:14:01.171] base::close(...future.stdout) [13:14:01.171] ...future.stdout <- NULL [13:14:01.171] } [13:14:01.171] ...future.result$conditions <- ...future.conditions [13:14:01.171] ...future.result$finished <- base::Sys.time() [13:14:01.171] ...future.result [13:14:01.171] } [13:14:01.175] assign_globals() ... [13:14:01.175] List of 5 [13:14:01.175] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:01.175] $ future.call.arguments : list() [13:14:01.175] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.175] $ ...future.elements_ii :List of 6 [13:14:01.175] ..$ a1: int 1 [13:14:01.175] ..$ a2: int 2 [13:14:01.175] ..$ b1: int 2 [13:14:01.175] ..$ b2: int 3 [13:14:01.175] ..$ c1: int 3 [13:14:01.175] ..$ c2: int 4 [13:14:01.175] $ ...future.seeds_ii : NULL [13:14:01.175] $ ...future.globals.maxSize: NULL [13:14:01.175] - attr(*, "where")=List of 5 [13:14:01.175] ..$ ...future.FUN : [13:14:01.175] ..$ future.call.arguments : [13:14:01.175] ..$ ...future.elements_ii : [13:14:01.175] ..$ ...future.seeds_ii : [13:14:01.175] ..$ ...future.globals.maxSize: [13:14:01.175] - attr(*, "resolved")= logi FALSE [13:14:01.175] - attr(*, "total_size")= num 4728 [13:14:01.175] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.175] - attr(*, "already-done")= logi TRUE [13:14:01.183] - reassign environment for '...future.FUN' [13:14:01.183] - copied '...future.FUN' to environment [13:14:01.183] - copied 'future.call.arguments' to environment [13:14:01.183] - copied '...future.elements_ii' to environment [13:14:01.183] - copied '...future.seeds_ii' to environment [13:14:01.183] - copied '...future.globals.maxSize' to environment [13:14:01.184] assign_globals() ... done [13:14:01.184] plan(): Setting new future strategy stack: [13:14:01.184] List of future strategies: [13:14:01.184] 1. sequential: [13:14:01.184] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.184] - tweaked: FALSE [13:14:01.184] - call: NULL [13:14:01.185] plan(): nbrOfWorkers() = 1 [13:14:01.186] plan(): Setting new future strategy stack: [13:14:01.186] List of future strategies: [13:14:01.186] 1. sequential: [13:14:01.186] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.186] - tweaked: FALSE [13:14:01.186] - call: plan(strategy) [13:14:01.187] plan(): nbrOfWorkers() = 1 [13:14:01.187] SequentialFuture started (and completed) [13:14:01.187] - Launch lazy future ... done [13:14:01.187] run() for 'SequentialFuture' ... done [13:14:01.188] Created future: [13:14:01.188] SequentialFuture: [13:14:01.188] Label: 'future_sapply-1' [13:14:01.188] Expression: [13:14:01.188] { [13:14:01.188] do.call(function(...) { [13:14:01.188] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.188] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.188] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.188] on.exit(options(oopts), add = TRUE) [13:14:01.188] } [13:14:01.188] { [13:14:01.188] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.188] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.188] ...future.FUN(...future.X_jj, ...) [13:14:01.188] }) [13:14:01.188] } [13:14:01.188] }, args = future.call.arguments) [13:14:01.188] } [13:14:01.188] Lazy evaluation: FALSE [13:14:01.188] Asynchronous evaluation: FALSE [13:14:01.188] Local evaluation: TRUE [13:14:01.188] Environment: R_GlobalEnv [13:14:01.188] Capture standard output: TRUE [13:14:01.188] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.188] Globals: 5 objects totaling 4.95 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.188] Packages: [13:14:01.188] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.188] Resolved: TRUE [13:14:01.188] Value: 2.02 KiB of class 'list' [13:14:01.188] Early signaling: FALSE [13:14:01.188] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.188] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.189] Chunk #1 of 1 ... DONE [13:14:01.189] Launching 1 futures (chunks) ... DONE [13:14:01.189] Resolving 1 futures (chunks) ... [13:14:01.190] resolve() on list ... [13:14:01.190] recursive: 0 [13:14:01.190] length: 1 [13:14:01.190] [13:14:01.190] resolved() for 'SequentialFuture' ... [13:14:01.190] - state: 'finished' [13:14:01.191] - run: TRUE [13:14:01.191] - result: 'FutureResult' [13:14:01.191] resolved() for 'SequentialFuture' ... done [13:14:01.191] Future #1 [13:14:01.191] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.192] - nx: 1 [13:14:01.192] - relay: TRUE [13:14:01.192] - stdout: TRUE [13:14:01.192] - signal: TRUE [13:14:01.192] - resignal: FALSE [13:14:01.192] - force: TRUE [13:14:01.192] - relayed: [n=1] FALSE [13:14:01.193] - queued futures: [n=1] FALSE [13:14:01.193] - until=1 [13:14:01.193] - relaying element #1 [13:14:01.193] - relayed: [n=1] TRUE [13:14:01.193] - queued futures: [n=1] TRUE [13:14:01.194] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.194] length: 0 (resolved future 1) [13:14:01.194] Relaying remaining futures [13:14:01.194] signalConditionsASAP(NULL, pos=0) ... [13:14:01.194] - nx: 1 [13:14:01.194] - relay: TRUE [13:14:01.194] - stdout: TRUE [13:14:01.195] - signal: TRUE [13:14:01.195] - resignal: FALSE [13:14:01.195] - force: TRUE [13:14:01.195] - relayed: [n=1] TRUE [13:14:01.195] - queued futures: [n=1] TRUE - flush all [13:14:01.196] - relayed: [n=1] TRUE [13:14:01.196] - queued futures: [n=1] TRUE [13:14:01.196] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.196] resolve() on list ... DONE [13:14:01.197] - Number of value chunks collected: 1 [13:14:01.197] Resolving 1 futures (chunks) ... DONE [13:14:01.197] Reducing values from 1 chunks ... [13:14:01.198] - Number of values collected after concatenation: 6 [13:14:01.198] - Number of values expected: 6 [13:14:01.198] Reducing values from 1 chunks ... DONE [13:14:01.198] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y1:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y2:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... [13:14:01.211] future_lapply() ... [13:14:01.212] Number of chunks: 1 [13:14:01.212] getGlobalsAndPackagesXApply() ... [13:14:01.212] - future.globals: TRUE [13:14:01.212] getGlobalsAndPackages() ... [13:14:01.212] Searching for globals... [13:14:01.213] - globals found: [1] 'FUN' [13:14:01.214] Searching for globals ... DONE [13:14:01.214] Resolving globals: FALSE [13:14:01.214] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:01.215] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:01.215] - globals: [1] 'FUN' [13:14:01.215] [13:14:01.215] getGlobalsAndPackages() ... DONE [13:14:01.215] - globals found/used: [n=1] 'FUN' [13:14:01.215] - needed namespaces: [n=0] [13:14:01.216] Finding globals ... DONE [13:14:01.216] - use_args: TRUE [13:14:01.216] - Getting '...' globals ... [13:14:01.216] resolve() on list ... [13:14:01.216] recursive: 0 [13:14:01.217] length: 1 [13:14:01.217] elements: '...' [13:14:01.217] length: 0 (resolved future 1) [13:14:01.217] resolve() on list ... DONE [13:14:01.217] - '...' content: [n=0] [13:14:01.218] List of 1 [13:14:01.218] $ ...: list() [13:14:01.218] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.218] - attr(*, "where")=List of 1 [13:14:01.218] ..$ ...: [13:14:01.218] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.218] - attr(*, "resolved")= logi TRUE [13:14:01.218] - attr(*, "total_size")= num NA [13:14:01.221] - Getting '...' globals ... DONE [13:14:01.222] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.222] List of 2 [13:14:01.222] $ ...future.FUN:function (x) [13:14:01.222] $ ... : list() [13:14:01.222] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.222] - attr(*, "where")=List of 2 [13:14:01.222] ..$ ...future.FUN: [13:14:01.222] ..$ ... : [13:14:01.222] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.222] - attr(*, "resolved")= logi FALSE [13:14:01.222] - attr(*, "total_size")= num 848 [13:14:01.225] Packages to be attached in all futures: [n=0] [13:14:01.225] getGlobalsAndPackagesXApply() ... DONE [13:14:01.226] Number of futures (= number of chunks): 1 [13:14:01.226] Launching 1 futures (chunks) ... [13:14:01.226] Chunk #1 of 1 ... [13:14:01.226] - Finding globals in 'X' for chunk #1 ... [13:14:01.226] getGlobalsAndPackages() ... [13:14:01.227] Searching for globals... [13:14:01.227] [13:14:01.227] Searching for globals ... DONE [13:14:01.227] - globals: [0] [13:14:01.227] getGlobalsAndPackages() ... DONE [13:14:01.227] + additional globals found: [n=0] [13:14:01.228] + additional namespaces needed: [n=0] [13:14:01.228] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.228] - seeds: [13:14:01.228] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.228] getGlobalsAndPackages() ... [13:14:01.228] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.229] Resolving globals: FALSE [13:14:01.229] Tweak future expression to call with '...' arguments ... [13:14:01.229] { [13:14:01.229] do.call(function(...) { [13:14:01.229] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.229] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.229] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.229] on.exit(options(oopts), add = TRUE) [13:14:01.229] } [13:14:01.229] { [13:14:01.229] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.229] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.229] ...future.FUN(...future.X_jj, ...) [13:14:01.229] }) [13:14:01.229] } [13:14:01.229] }, args = future.call.arguments) [13:14:01.229] } [13:14:01.229] Tweak future expression to call with '...' arguments ... DONE [13:14:01.230] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.230] [13:14:01.230] getGlobalsAndPackages() ... DONE [13:14:01.231] run() for 'Future' ... [13:14:01.231] - state: 'created' [13:14:01.231] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.231] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.232] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.232] - Field: 'label' [13:14:01.232] - Field: 'local' [13:14:01.232] - Field: 'owner' [13:14:01.232] - Field: 'envir' [13:14:01.233] - Field: 'packages' [13:14:01.233] - Field: 'gc' [13:14:01.233] - Field: 'conditions' [13:14:01.233] - Field: 'expr' [13:14:01.233] - Field: 'uuid' [13:14:01.233] - Field: 'seed' [13:14:01.234] - Field: 'version' [13:14:01.234] - Field: 'result' [13:14:01.234] - Field: 'asynchronous' [13:14:01.234] - Field: 'calls' [13:14:01.234] - Field: 'globals' [13:14:01.234] - Field: 'stdout' [13:14:01.235] - Field: 'earlySignal' [13:14:01.235] - Field: 'lazy' [13:14:01.235] - Field: 'state' [13:14:01.235] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.235] - Launch lazy future ... [13:14:01.236] Packages needed by the future expression (n = 0): [13:14:01.236] Packages needed by future strategies (n = 0): [13:14:01.236] { [13:14:01.236] { [13:14:01.236] { [13:14:01.236] ...future.startTime <- base::Sys.time() [13:14:01.236] { [13:14:01.236] { [13:14:01.236] { [13:14:01.236] base::local({ [13:14:01.236] has_future <- base::requireNamespace("future", [13:14:01.236] quietly = TRUE) [13:14:01.236] if (has_future) { [13:14:01.236] ns <- base::getNamespace("future") [13:14:01.236] version <- ns[[".package"]][["version"]] [13:14:01.236] if (is.null(version)) [13:14:01.236] version <- utils::packageVersion("future") [13:14:01.236] } [13:14:01.236] else { [13:14:01.236] version <- NULL [13:14:01.236] } [13:14:01.236] if (!has_future || version < "1.8.0") { [13:14:01.236] info <- base::c(r_version = base::gsub("R version ", [13:14:01.236] "", base::R.version$version.string), [13:14:01.236] platform = base::sprintf("%s (%s-bit)", [13:14:01.236] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.236] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.236] "release", "version")], collapse = " "), [13:14:01.236] hostname = base::Sys.info()[["nodename"]]) [13:14:01.236] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.236] info) [13:14:01.236] info <- base::paste(info, collapse = "; ") [13:14:01.236] if (!has_future) { [13:14:01.236] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.236] info) [13:14:01.236] } [13:14:01.236] else { [13:14:01.236] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.236] info, version) [13:14:01.236] } [13:14:01.236] base::stop(msg) [13:14:01.236] } [13:14:01.236] }) [13:14:01.236] } [13:14:01.236] options(future.plan = NULL) [13:14:01.236] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.236] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.236] } [13:14:01.236] ...future.workdir <- getwd() [13:14:01.236] } [13:14:01.236] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.236] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.236] } [13:14:01.236] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.236] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.236] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.236] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.236] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.236] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.236] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.236] base::names(...future.oldOptions)) [13:14:01.236] } [13:14:01.236] if (FALSE) { [13:14:01.236] } [13:14:01.236] else { [13:14:01.236] if (TRUE) { [13:14:01.236] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.236] open = "w") [13:14:01.236] } [13:14:01.236] else { [13:14:01.236] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.236] windows = "NUL", "/dev/null"), open = "w") [13:14:01.236] } [13:14:01.236] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.236] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.236] base::sink(type = "output", split = FALSE) [13:14:01.236] base::close(...future.stdout) [13:14:01.236] }, add = TRUE) [13:14:01.236] } [13:14:01.236] ...future.frame <- base::sys.nframe() [13:14:01.236] ...future.conditions <- base::list() [13:14:01.236] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.236] if (FALSE) { [13:14:01.236] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.236] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.236] } [13:14:01.236] ...future.result <- base::tryCatch({ [13:14:01.236] base::withCallingHandlers({ [13:14:01.236] ...future.value <- base::withVisible(base::local({ [13:14:01.236] do.call(function(...) { [13:14:01.236] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.236] if (!identical(...future.globals.maxSize.org, [13:14:01.236] ...future.globals.maxSize)) { [13:14:01.236] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.236] on.exit(options(oopts), add = TRUE) [13:14:01.236] } [13:14:01.236] { [13:14:01.236] lapply(seq_along(...future.elements_ii), [13:14:01.236] FUN = function(jj) { [13:14:01.236] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.236] ...future.FUN(...future.X_jj, ...) [13:14:01.236] }) [13:14:01.236] } [13:14:01.236] }, args = future.call.arguments) [13:14:01.236] })) [13:14:01.236] future::FutureResult(value = ...future.value$value, [13:14:01.236] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.236] ...future.rng), globalenv = if (FALSE) [13:14:01.236] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.236] ...future.globalenv.names)) [13:14:01.236] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.236] }, condition = base::local({ [13:14:01.236] c <- base::c [13:14:01.236] inherits <- base::inherits [13:14:01.236] invokeRestart <- base::invokeRestart [13:14:01.236] length <- base::length [13:14:01.236] list <- base::list [13:14:01.236] seq.int <- base::seq.int [13:14:01.236] signalCondition <- base::signalCondition [13:14:01.236] sys.calls <- base::sys.calls [13:14:01.236] `[[` <- base::`[[` [13:14:01.236] `+` <- base::`+` [13:14:01.236] `<<-` <- base::`<<-` [13:14:01.236] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.236] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.236] 3L)] [13:14:01.236] } [13:14:01.236] function(cond) { [13:14:01.236] is_error <- inherits(cond, "error") [13:14:01.236] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.236] NULL) [13:14:01.236] if (is_error) { [13:14:01.236] sessionInformation <- function() { [13:14:01.236] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.236] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.236] search = base::search(), system = base::Sys.info()) [13:14:01.236] } [13:14:01.236] ...future.conditions[[length(...future.conditions) + [13:14:01.236] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.236] cond$call), session = sessionInformation(), [13:14:01.236] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.236] signalCondition(cond) [13:14:01.236] } [13:14:01.236] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.236] "immediateCondition"))) { [13:14:01.236] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.236] ...future.conditions[[length(...future.conditions) + [13:14:01.236] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.236] if (TRUE && !signal) { [13:14:01.236] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.236] { [13:14:01.236] inherits <- base::inherits [13:14:01.236] invokeRestart <- base::invokeRestart [13:14:01.236] is.null <- base::is.null [13:14:01.236] muffled <- FALSE [13:14:01.236] if (inherits(cond, "message")) { [13:14:01.236] muffled <- grepl(pattern, "muffleMessage") [13:14:01.236] if (muffled) [13:14:01.236] invokeRestart("muffleMessage") [13:14:01.236] } [13:14:01.236] else if (inherits(cond, "warning")) { [13:14:01.236] muffled <- grepl(pattern, "muffleWarning") [13:14:01.236] if (muffled) [13:14:01.236] invokeRestart("muffleWarning") [13:14:01.236] } [13:14:01.236] else if (inherits(cond, "condition")) { [13:14:01.236] if (!is.null(pattern)) { [13:14:01.236] computeRestarts <- base::computeRestarts [13:14:01.236] grepl <- base::grepl [13:14:01.236] restarts <- computeRestarts(cond) [13:14:01.236] for (restart in restarts) { [13:14:01.236] name <- restart$name [13:14:01.236] if (is.null(name)) [13:14:01.236] next [13:14:01.236] if (!grepl(pattern, name)) [13:14:01.236] next [13:14:01.236] invokeRestart(restart) [13:14:01.236] muffled <- TRUE [13:14:01.236] break [13:14:01.236] } [13:14:01.236] } [13:14:01.236] } [13:14:01.236] invisible(muffled) [13:14:01.236] } [13:14:01.236] muffleCondition(cond, pattern = "^muffle") [13:14:01.236] } [13:14:01.236] } [13:14:01.236] else { [13:14:01.236] if (TRUE) { [13:14:01.236] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.236] { [13:14:01.236] inherits <- base::inherits [13:14:01.236] invokeRestart <- base::invokeRestart [13:14:01.236] is.null <- base::is.null [13:14:01.236] muffled <- FALSE [13:14:01.236] if (inherits(cond, "message")) { [13:14:01.236] muffled <- grepl(pattern, "muffleMessage") [13:14:01.236] if (muffled) [13:14:01.236] invokeRestart("muffleMessage") [13:14:01.236] } [13:14:01.236] else if (inherits(cond, "warning")) { [13:14:01.236] muffled <- grepl(pattern, "muffleWarning") [13:14:01.236] if (muffled) [13:14:01.236] invokeRestart("muffleWarning") [13:14:01.236] } [13:14:01.236] else if (inherits(cond, "condition")) { [13:14:01.236] if (!is.null(pattern)) { [13:14:01.236] computeRestarts <- base::computeRestarts [13:14:01.236] grepl <- base::grepl [13:14:01.236] restarts <- computeRestarts(cond) [13:14:01.236] for (restart in restarts) { [13:14:01.236] name <- restart$name [13:14:01.236] if (is.null(name)) [13:14:01.236] next [13:14:01.236] if (!grepl(pattern, name)) [13:14:01.236] next [13:14:01.236] invokeRestart(restart) [13:14:01.236] muffled <- TRUE [13:14:01.236] break [13:14:01.236] } [13:14:01.236] } [13:14:01.236] } [13:14:01.236] invisible(muffled) [13:14:01.236] } [13:14:01.236] muffleCondition(cond, pattern = "^muffle") [13:14:01.236] } [13:14:01.236] } [13:14:01.236] } [13:14:01.236] })) [13:14:01.236] }, error = function(ex) { [13:14:01.236] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.236] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.236] ...future.rng), started = ...future.startTime, [13:14:01.236] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.236] version = "1.8"), class = "FutureResult") [13:14:01.236] }, finally = { [13:14:01.236] if (!identical(...future.workdir, getwd())) [13:14:01.236] setwd(...future.workdir) [13:14:01.236] { [13:14:01.236] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.236] ...future.oldOptions$nwarnings <- NULL [13:14:01.236] } [13:14:01.236] base::options(...future.oldOptions) [13:14:01.236] if (.Platform$OS.type == "windows") { [13:14:01.236] old_names <- names(...future.oldEnvVars) [13:14:01.236] envs <- base::Sys.getenv() [13:14:01.236] names <- names(envs) [13:14:01.236] common <- intersect(names, old_names) [13:14:01.236] added <- setdiff(names, old_names) [13:14:01.236] removed <- setdiff(old_names, names) [13:14:01.236] changed <- common[...future.oldEnvVars[common] != [13:14:01.236] envs[common]] [13:14:01.236] NAMES <- toupper(changed) [13:14:01.236] args <- list() [13:14:01.236] for (kk in seq_along(NAMES)) { [13:14:01.236] name <- changed[[kk]] [13:14:01.236] NAME <- NAMES[[kk]] [13:14:01.236] if (name != NAME && is.element(NAME, old_names)) [13:14:01.236] next [13:14:01.236] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.236] } [13:14:01.236] NAMES <- toupper(added) [13:14:01.236] for (kk in seq_along(NAMES)) { [13:14:01.236] name <- added[[kk]] [13:14:01.236] NAME <- NAMES[[kk]] [13:14:01.236] if (name != NAME && is.element(NAME, old_names)) [13:14:01.236] next [13:14:01.236] args[[name]] <- "" [13:14:01.236] } [13:14:01.236] NAMES <- toupper(removed) [13:14:01.236] for (kk in seq_along(NAMES)) { [13:14:01.236] name <- removed[[kk]] [13:14:01.236] NAME <- NAMES[[kk]] [13:14:01.236] if (name != NAME && is.element(NAME, old_names)) [13:14:01.236] next [13:14:01.236] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.236] } [13:14:01.236] if (length(args) > 0) [13:14:01.236] base::do.call(base::Sys.setenv, args = args) [13:14:01.236] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.236] } [13:14:01.236] else { [13:14:01.236] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.236] } [13:14:01.236] { [13:14:01.236] if (base::length(...future.futureOptionsAdded) > [13:14:01.236] 0L) { [13:14:01.236] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.236] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.236] base::options(opts) [13:14:01.236] } [13:14:01.236] { [13:14:01.236] { [13:14:01.236] NULL [13:14:01.236] RNGkind("Mersenne-Twister") [13:14:01.236] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.236] inherits = FALSE) [13:14:01.236] } [13:14:01.236] options(future.plan = NULL) [13:14:01.236] if (is.na(NA_character_)) [13:14:01.236] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.236] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.236] future::plan(list(function (..., envir = parent.frame()) [13:14:01.236] { [13:14:01.236] future <- SequentialFuture(..., envir = envir) [13:14:01.236] if (!future$lazy) [13:14:01.236] future <- run(future) [13:14:01.236] invisible(future) [13:14:01.236] }), .cleanup = FALSE, .init = FALSE) [13:14:01.236] } [13:14:01.236] } [13:14:01.236] } [13:14:01.236] }) [13:14:01.236] if (TRUE) { [13:14:01.236] base::sink(type = "output", split = FALSE) [13:14:01.236] if (TRUE) { [13:14:01.236] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.236] } [13:14:01.236] else { [13:14:01.236] ...future.result["stdout"] <- base::list(NULL) [13:14:01.236] } [13:14:01.236] base::close(...future.stdout) [13:14:01.236] ...future.stdout <- NULL [13:14:01.236] } [13:14:01.236] ...future.result$conditions <- ...future.conditions [13:14:01.236] ...future.result$finished <- base::Sys.time() [13:14:01.236] ...future.result [13:14:01.236] } [13:14:01.240] assign_globals() ... [13:14:01.240] List of 5 [13:14:01.240] $ ...future.FUN :function (x) [13:14:01.240] $ future.call.arguments : list() [13:14:01.240] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.240] $ ...future.elements_ii :List of 6 [13:14:01.240] ..$ a1: int 1 [13:14:01.240] ..$ a2: int 2 [13:14:01.240] ..$ b1: int 2 [13:14:01.240] ..$ b2: int 3 [13:14:01.240] ..$ c1: int 3 [13:14:01.240] ..$ c2: int 4 [13:14:01.240] $ ...future.seeds_ii : NULL [13:14:01.240] $ ...future.globals.maxSize: NULL [13:14:01.240] - attr(*, "where")=List of 5 [13:14:01.240] ..$ ...future.FUN : [13:14:01.240] ..$ future.call.arguments : [13:14:01.240] ..$ ...future.elements_ii : [13:14:01.240] ..$ ...future.seeds_ii : [13:14:01.240] ..$ ...future.globals.maxSize: [13:14:01.240] - attr(*, "resolved")= logi FALSE [13:14:01.240] - attr(*, "total_size")= num 848 [13:14:01.240] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.240] - attr(*, "already-done")= logi TRUE [13:14:01.248] - copied '...future.FUN' to environment [13:14:01.248] - copied 'future.call.arguments' to environment [13:14:01.248] - copied '...future.elements_ii' to environment [13:14:01.248] - copied '...future.seeds_ii' to environment [13:14:01.248] - copied '...future.globals.maxSize' to environment [13:14:01.250] assign_globals() ... done [13:14:01.250] plan(): Setting new future strategy stack: [13:14:01.250] List of future strategies: [13:14:01.250] 1. sequential: [13:14:01.250] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.250] - tweaked: FALSE [13:14:01.250] - call: NULL [13:14:01.251] plan(): nbrOfWorkers() = 1 [13:14:01.252] plan(): Setting new future strategy stack: [13:14:01.252] List of future strategies: [13:14:01.252] 1. sequential: [13:14:01.252] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.252] - tweaked: FALSE [13:14:01.252] - call: plan(strategy) [13:14:01.253] plan(): nbrOfWorkers() = 1 [13:14:01.253] SequentialFuture started (and completed) [13:14:01.253] - Launch lazy future ... done [13:14:01.253] run() for 'SequentialFuture' ... done [13:14:01.254] Created future: [13:14:01.254] SequentialFuture: [13:14:01.254] Label: 'future_sapply-1' [13:14:01.254] Expression: [13:14:01.254] { [13:14:01.254] do.call(function(...) { [13:14:01.254] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.254] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.254] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.254] on.exit(options(oopts), add = TRUE) [13:14:01.254] } [13:14:01.254] { [13:14:01.254] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.254] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.254] ...future.FUN(...future.X_jj, ...) [13:14:01.254] }) [13:14:01.254] } [13:14:01.254] }, args = future.call.arguments) [13:14:01.254] } [13:14:01.254] Lazy evaluation: FALSE [13:14:01.254] Asynchronous evaluation: FALSE [13:14:01.254] Local evaluation: TRUE [13:14:01.254] Environment: R_GlobalEnv [13:14:01.254] Capture standard output: TRUE [13:14:01.254] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.254] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.254] Packages: [13:14:01.254] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.254] Resolved: TRUE [13:14:01.254] Value: 336 bytes of class 'list' [13:14:01.254] Early signaling: FALSE [13:14:01.254] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.254] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.255] Chunk #1 of 1 ... DONE [13:14:01.255] Launching 1 futures (chunks) ... DONE [13:14:01.255] Resolving 1 futures (chunks) ... [13:14:01.256] resolve() on list ... [13:14:01.256] recursive: 0 [13:14:01.256] length: 1 [13:14:01.256] [13:14:01.256] resolved() for 'SequentialFuture' ... [13:14:01.256] - state: 'finished' [13:14:01.257] - run: TRUE [13:14:01.257] - result: 'FutureResult' [13:14:01.257] resolved() for 'SequentialFuture' ... done [13:14:01.257] Future #1 [13:14:01.257] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.258] - nx: 1 [13:14:01.258] - relay: TRUE [13:14:01.258] - stdout: TRUE [13:14:01.258] - signal: TRUE [13:14:01.258] - resignal: FALSE [13:14:01.258] - force: TRUE [13:14:01.258] - relayed: [n=1] FALSE [13:14:01.259] - queued futures: [n=1] FALSE [13:14:01.259] - until=1 [13:14:01.259] - relaying element #1 [13:14:01.259] - relayed: [n=1] TRUE [13:14:01.259] - queued futures: [n=1] TRUE [13:14:01.259] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.260] length: 0 (resolved future 1) [13:14:01.260] Relaying remaining futures [13:14:01.260] signalConditionsASAP(NULL, pos=0) ... [13:14:01.260] - nx: 1 [13:14:01.260] - relay: TRUE [13:14:01.260] - stdout: TRUE [13:14:01.261] - signal: TRUE [13:14:01.261] - resignal: FALSE [13:14:01.261] - force: TRUE [13:14:01.261] - relayed: [n=1] TRUE [13:14:01.261] - queued futures: [n=1] TRUE - flush all [13:14:01.261] - relayed: [n=1] TRUE [13:14:01.262] - queued futures: [n=1] TRUE [13:14:01.262] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.262] resolve() on list ... DONE [13:14:01.262] - Number of value chunks collected: 1 [13:14:01.262] Resolving 1 futures (chunks) ... DONE [13:14:01.263] Reducing values from 1 chunks ... [13:14:01.263] - Number of values collected after concatenation: 6 [13:14:01.263] - Number of values expected: 6 [13:14:01.263] Reducing values from 1 chunks ... DONE [13:14:01.263] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.265] future_lapply() ... [13:14:01.266] Number of chunks: 1 [13:14:01.266] getGlobalsAndPackagesXApply() ... [13:14:01.266] - future.globals: TRUE [13:14:01.266] getGlobalsAndPackages() ... [13:14:01.266] Searching for globals... [13:14:01.268] - globals found: [2] 'FUN', 'UseMethod' [13:14:01.268] Searching for globals ... DONE [13:14:01.268] Resolving globals: FALSE [13:14:01.268] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:01.269] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:01.269] - globals: [1] 'FUN' [13:14:01.269] [13:14:01.269] getGlobalsAndPackages() ... DONE [13:14:01.270] - globals found/used: [n=1] 'FUN' [13:14:01.270] - needed namespaces: [n=0] [13:14:01.270] Finding globals ... DONE [13:14:01.270] - use_args: TRUE [13:14:01.270] - Getting '...' globals ... [13:14:01.271] resolve() on list ... [13:14:01.271] recursive: 0 [13:14:01.271] length: 1 [13:14:01.271] elements: '...' [13:14:01.271] length: 0 (resolved future 1) [13:14:01.271] resolve() on list ... DONE [13:14:01.272] - '...' content: [n=0] [13:14:01.272] List of 1 [13:14:01.272] $ ...: list() [13:14:01.272] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.272] - attr(*, "where")=List of 1 [13:14:01.272] ..$ ...: [13:14:01.272] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.272] - attr(*, "resolved")= logi TRUE [13:14:01.272] - attr(*, "total_size")= num NA [13:14:01.275] - Getting '...' globals ... DONE [13:14:01.275] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.275] List of 2 [13:14:01.275] $ ...future.FUN:function (x, ...) [13:14:01.275] $ ... : list() [13:14:01.275] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.275] - attr(*, "where")=List of 2 [13:14:01.275] ..$ ...future.FUN: [13:14:01.275] ..$ ... : [13:14:01.275] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.275] - attr(*, "resolved")= logi FALSE [13:14:01.275] - attr(*, "total_size")= num 1248 [13:14:01.279] Packages to be attached in all futures: [n=0] [13:14:01.280] getGlobalsAndPackagesXApply() ... DONE [13:14:01.280] Number of futures (= number of chunks): 1 [13:14:01.280] Launching 1 futures (chunks) ... [13:14:01.280] Chunk #1 of 1 ... [13:14:01.280] - Finding globals in 'X' for chunk #1 ... [13:14:01.281] getGlobalsAndPackages() ... [13:14:01.281] Searching for globals... [13:14:01.281] [13:14:01.281] Searching for globals ... DONE [13:14:01.281] - globals: [0] [13:14:01.282] getGlobalsAndPackages() ... DONE [13:14:01.282] + additional globals found: [n=0] [13:14:01.282] + additional namespaces needed: [n=0] [13:14:01.282] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.282] - seeds: [13:14:01.282] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.283] getGlobalsAndPackages() ... [13:14:01.283] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.283] Resolving globals: FALSE [13:14:01.283] Tweak future expression to call with '...' arguments ... [13:14:01.283] { [13:14:01.283] do.call(function(...) { [13:14:01.283] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.283] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.283] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.283] on.exit(options(oopts), add = TRUE) [13:14:01.283] } [13:14:01.283] { [13:14:01.283] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.283] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.283] ...future.FUN(...future.X_jj, ...) [13:14:01.283] }) [13:14:01.283] } [13:14:01.283] }, args = future.call.arguments) [13:14:01.283] } [13:14:01.284] Tweak future expression to call with '...' arguments ... DONE [13:14:01.284] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.284] [13:14:01.285] getGlobalsAndPackages() ... DONE [13:14:01.285] run() for 'Future' ... [13:14:01.285] - state: 'created' [13:14:01.285] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.286] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.286] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.286] - Field: 'label' [13:14:01.286] - Field: 'local' [13:14:01.286] - Field: 'owner' [13:14:01.287] - Field: 'envir' [13:14:01.287] - Field: 'packages' [13:14:01.287] - Field: 'gc' [13:14:01.287] - Field: 'conditions' [13:14:01.287] - Field: 'expr' [13:14:01.287] - Field: 'uuid' [13:14:01.288] - Field: 'seed' [13:14:01.288] - Field: 'version' [13:14:01.288] - Field: 'result' [13:14:01.288] - Field: 'asynchronous' [13:14:01.288] - Field: 'calls' [13:14:01.288] - Field: 'globals' [13:14:01.289] - Field: 'stdout' [13:14:01.289] - Field: 'earlySignal' [13:14:01.289] - Field: 'lazy' [13:14:01.289] - Field: 'state' [13:14:01.289] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.289] - Launch lazy future ... [13:14:01.290] Packages needed by the future expression (n = 0): [13:14:01.290] Packages needed by future strategies (n = 0): [13:14:01.290] { [13:14:01.290] { [13:14:01.290] { [13:14:01.290] ...future.startTime <- base::Sys.time() [13:14:01.290] { [13:14:01.290] { [13:14:01.290] { [13:14:01.290] base::local({ [13:14:01.290] has_future <- base::requireNamespace("future", [13:14:01.290] quietly = TRUE) [13:14:01.290] if (has_future) { [13:14:01.290] ns <- base::getNamespace("future") [13:14:01.290] version <- ns[[".package"]][["version"]] [13:14:01.290] if (is.null(version)) [13:14:01.290] version <- utils::packageVersion("future") [13:14:01.290] } [13:14:01.290] else { [13:14:01.290] version <- NULL [13:14:01.290] } [13:14:01.290] if (!has_future || version < "1.8.0") { [13:14:01.290] info <- base::c(r_version = base::gsub("R version ", [13:14:01.290] "", base::R.version$version.string), [13:14:01.290] platform = base::sprintf("%s (%s-bit)", [13:14:01.290] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.290] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.290] "release", "version")], collapse = " "), [13:14:01.290] hostname = base::Sys.info()[["nodename"]]) [13:14:01.290] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.290] info) [13:14:01.290] info <- base::paste(info, collapse = "; ") [13:14:01.290] if (!has_future) { [13:14:01.290] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.290] info) [13:14:01.290] } [13:14:01.290] else { [13:14:01.290] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.290] info, version) [13:14:01.290] } [13:14:01.290] base::stop(msg) [13:14:01.290] } [13:14:01.290] }) [13:14:01.290] } [13:14:01.290] options(future.plan = NULL) [13:14:01.290] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.290] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.290] } [13:14:01.290] ...future.workdir <- getwd() [13:14:01.290] } [13:14:01.290] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.290] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.290] } [13:14:01.290] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.290] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.290] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.290] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.290] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.290] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.290] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.290] base::names(...future.oldOptions)) [13:14:01.290] } [13:14:01.290] if (FALSE) { [13:14:01.290] } [13:14:01.290] else { [13:14:01.290] if (TRUE) { [13:14:01.290] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.290] open = "w") [13:14:01.290] } [13:14:01.290] else { [13:14:01.290] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.290] windows = "NUL", "/dev/null"), open = "w") [13:14:01.290] } [13:14:01.290] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.290] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.290] base::sink(type = "output", split = FALSE) [13:14:01.290] base::close(...future.stdout) [13:14:01.290] }, add = TRUE) [13:14:01.290] } [13:14:01.290] ...future.frame <- base::sys.nframe() [13:14:01.290] ...future.conditions <- base::list() [13:14:01.290] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.290] if (FALSE) { [13:14:01.290] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.290] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.290] } [13:14:01.290] ...future.result <- base::tryCatch({ [13:14:01.290] base::withCallingHandlers({ [13:14:01.290] ...future.value <- base::withVisible(base::local({ [13:14:01.290] do.call(function(...) { [13:14:01.290] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.290] if (!identical(...future.globals.maxSize.org, [13:14:01.290] ...future.globals.maxSize)) { [13:14:01.290] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.290] on.exit(options(oopts), add = TRUE) [13:14:01.290] } [13:14:01.290] { [13:14:01.290] lapply(seq_along(...future.elements_ii), [13:14:01.290] FUN = function(jj) { [13:14:01.290] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.290] ...future.FUN(...future.X_jj, ...) [13:14:01.290] }) [13:14:01.290] } [13:14:01.290] }, args = future.call.arguments) [13:14:01.290] })) [13:14:01.290] future::FutureResult(value = ...future.value$value, [13:14:01.290] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.290] ...future.rng), globalenv = if (FALSE) [13:14:01.290] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.290] ...future.globalenv.names)) [13:14:01.290] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.290] }, condition = base::local({ [13:14:01.290] c <- base::c [13:14:01.290] inherits <- base::inherits [13:14:01.290] invokeRestart <- base::invokeRestart [13:14:01.290] length <- base::length [13:14:01.290] list <- base::list [13:14:01.290] seq.int <- base::seq.int [13:14:01.290] signalCondition <- base::signalCondition [13:14:01.290] sys.calls <- base::sys.calls [13:14:01.290] `[[` <- base::`[[` [13:14:01.290] `+` <- base::`+` [13:14:01.290] `<<-` <- base::`<<-` [13:14:01.290] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.290] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.290] 3L)] [13:14:01.290] } [13:14:01.290] function(cond) { [13:14:01.290] is_error <- inherits(cond, "error") [13:14:01.290] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.290] NULL) [13:14:01.290] if (is_error) { [13:14:01.290] sessionInformation <- function() { [13:14:01.290] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.290] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.290] search = base::search(), system = base::Sys.info()) [13:14:01.290] } [13:14:01.290] ...future.conditions[[length(...future.conditions) + [13:14:01.290] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.290] cond$call), session = sessionInformation(), [13:14:01.290] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.290] signalCondition(cond) [13:14:01.290] } [13:14:01.290] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.290] "immediateCondition"))) { [13:14:01.290] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.290] ...future.conditions[[length(...future.conditions) + [13:14:01.290] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.290] if (TRUE && !signal) { [13:14:01.290] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.290] { [13:14:01.290] inherits <- base::inherits [13:14:01.290] invokeRestart <- base::invokeRestart [13:14:01.290] is.null <- base::is.null [13:14:01.290] muffled <- FALSE [13:14:01.290] if (inherits(cond, "message")) { [13:14:01.290] muffled <- grepl(pattern, "muffleMessage") [13:14:01.290] if (muffled) [13:14:01.290] invokeRestart("muffleMessage") [13:14:01.290] } [13:14:01.290] else if (inherits(cond, "warning")) { [13:14:01.290] muffled <- grepl(pattern, "muffleWarning") [13:14:01.290] if (muffled) [13:14:01.290] invokeRestart("muffleWarning") [13:14:01.290] } [13:14:01.290] else if (inherits(cond, "condition")) { [13:14:01.290] if (!is.null(pattern)) { [13:14:01.290] computeRestarts <- base::computeRestarts [13:14:01.290] grepl <- base::grepl [13:14:01.290] restarts <- computeRestarts(cond) [13:14:01.290] for (restart in restarts) { [13:14:01.290] name <- restart$name [13:14:01.290] if (is.null(name)) [13:14:01.290] next [13:14:01.290] if (!grepl(pattern, name)) [13:14:01.290] next [13:14:01.290] invokeRestart(restart) [13:14:01.290] muffled <- TRUE [13:14:01.290] break [13:14:01.290] } [13:14:01.290] } [13:14:01.290] } [13:14:01.290] invisible(muffled) [13:14:01.290] } [13:14:01.290] muffleCondition(cond, pattern = "^muffle") [13:14:01.290] } [13:14:01.290] } [13:14:01.290] else { [13:14:01.290] if (TRUE) { [13:14:01.290] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.290] { [13:14:01.290] inherits <- base::inherits [13:14:01.290] invokeRestart <- base::invokeRestart [13:14:01.290] is.null <- base::is.null [13:14:01.290] muffled <- FALSE [13:14:01.290] if (inherits(cond, "message")) { [13:14:01.290] muffled <- grepl(pattern, "muffleMessage") [13:14:01.290] if (muffled) [13:14:01.290] invokeRestart("muffleMessage") [13:14:01.290] } [13:14:01.290] else if (inherits(cond, "warning")) { [13:14:01.290] muffled <- grepl(pattern, "muffleWarning") [13:14:01.290] if (muffled) [13:14:01.290] invokeRestart("muffleWarning") [13:14:01.290] } [13:14:01.290] else if (inherits(cond, "condition")) { [13:14:01.290] if (!is.null(pattern)) { [13:14:01.290] computeRestarts <- base::computeRestarts [13:14:01.290] grepl <- base::grepl [13:14:01.290] restarts <- computeRestarts(cond) [13:14:01.290] for (restart in restarts) { [13:14:01.290] name <- restart$name [13:14:01.290] if (is.null(name)) [13:14:01.290] next [13:14:01.290] if (!grepl(pattern, name)) [13:14:01.290] next [13:14:01.290] invokeRestart(restart) [13:14:01.290] muffled <- TRUE [13:14:01.290] break [13:14:01.290] } [13:14:01.290] } [13:14:01.290] } [13:14:01.290] invisible(muffled) [13:14:01.290] } [13:14:01.290] muffleCondition(cond, pattern = "^muffle") [13:14:01.290] } [13:14:01.290] } [13:14:01.290] } [13:14:01.290] })) [13:14:01.290] }, error = function(ex) { [13:14:01.290] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.290] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.290] ...future.rng), started = ...future.startTime, [13:14:01.290] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.290] version = "1.8"), class = "FutureResult") [13:14:01.290] }, finally = { [13:14:01.290] if (!identical(...future.workdir, getwd())) [13:14:01.290] setwd(...future.workdir) [13:14:01.290] { [13:14:01.290] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.290] ...future.oldOptions$nwarnings <- NULL [13:14:01.290] } [13:14:01.290] base::options(...future.oldOptions) [13:14:01.290] if (.Platform$OS.type == "windows") { [13:14:01.290] old_names <- names(...future.oldEnvVars) [13:14:01.290] envs <- base::Sys.getenv() [13:14:01.290] names <- names(envs) [13:14:01.290] common <- intersect(names, old_names) [13:14:01.290] added <- setdiff(names, old_names) [13:14:01.290] removed <- setdiff(old_names, names) [13:14:01.290] changed <- common[...future.oldEnvVars[common] != [13:14:01.290] envs[common]] [13:14:01.290] NAMES <- toupper(changed) [13:14:01.290] args <- list() [13:14:01.290] for (kk in seq_along(NAMES)) { [13:14:01.290] name <- changed[[kk]] [13:14:01.290] NAME <- NAMES[[kk]] [13:14:01.290] if (name != NAME && is.element(NAME, old_names)) [13:14:01.290] next [13:14:01.290] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.290] } [13:14:01.290] NAMES <- toupper(added) [13:14:01.290] for (kk in seq_along(NAMES)) { [13:14:01.290] name <- added[[kk]] [13:14:01.290] NAME <- NAMES[[kk]] [13:14:01.290] if (name != NAME && is.element(NAME, old_names)) [13:14:01.290] next [13:14:01.290] args[[name]] <- "" [13:14:01.290] } [13:14:01.290] NAMES <- toupper(removed) [13:14:01.290] for (kk in seq_along(NAMES)) { [13:14:01.290] name <- removed[[kk]] [13:14:01.290] NAME <- NAMES[[kk]] [13:14:01.290] if (name != NAME && is.element(NAME, old_names)) [13:14:01.290] next [13:14:01.290] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.290] } [13:14:01.290] if (length(args) > 0) [13:14:01.290] base::do.call(base::Sys.setenv, args = args) [13:14:01.290] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.290] } [13:14:01.290] else { [13:14:01.290] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.290] } [13:14:01.290] { [13:14:01.290] if (base::length(...future.futureOptionsAdded) > [13:14:01.290] 0L) { [13:14:01.290] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.290] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.290] base::options(opts) [13:14:01.290] } [13:14:01.290] { [13:14:01.290] { [13:14:01.290] NULL [13:14:01.290] RNGkind("Mersenne-Twister") [13:14:01.290] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.290] inherits = FALSE) [13:14:01.290] } [13:14:01.290] options(future.plan = NULL) [13:14:01.290] if (is.na(NA_character_)) [13:14:01.290] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.290] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.290] future::plan(list(function (..., envir = parent.frame()) [13:14:01.290] { [13:14:01.290] future <- SequentialFuture(..., envir = envir) [13:14:01.290] if (!future$lazy) [13:14:01.290] future <- run(future) [13:14:01.290] invisible(future) [13:14:01.290] }), .cleanup = FALSE, .init = FALSE) [13:14:01.290] } [13:14:01.290] } [13:14:01.290] } [13:14:01.290] }) [13:14:01.290] if (TRUE) { [13:14:01.290] base::sink(type = "output", split = FALSE) [13:14:01.290] if (TRUE) { [13:14:01.290] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.290] } [13:14:01.290] else { [13:14:01.290] ...future.result["stdout"] <- base::list(NULL) [13:14:01.290] } [13:14:01.290] base::close(...future.stdout) [13:14:01.290] ...future.stdout <- NULL [13:14:01.290] } [13:14:01.290] ...future.result$conditions <- ...future.conditions [13:14:01.290] ...future.result$finished <- base::Sys.time() [13:14:01.290] ...future.result [13:14:01.290] } [13:14:01.294] assign_globals() ... [13:14:01.295] List of 5 [13:14:01.295] $ ...future.FUN :function (x, ...) [13:14:01.295] $ future.call.arguments : list() [13:14:01.295] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.295] $ ...future.elements_ii :List of 6 [13:14:01.295] ..$ a1: int 1 [13:14:01.295] ..$ a2: int 2 [13:14:01.295] ..$ b1: int 2 [13:14:01.295] ..$ b2: int 3 [13:14:01.295] ..$ c1: int 3 [13:14:01.295] ..$ c2: int 4 [13:14:01.295] $ ...future.seeds_ii : NULL [13:14:01.295] $ ...future.globals.maxSize: NULL [13:14:01.295] - attr(*, "where")=List of 5 [13:14:01.295] ..$ ...future.FUN : [13:14:01.295] ..$ future.call.arguments : [13:14:01.295] ..$ ...future.elements_ii : [13:14:01.295] ..$ ...future.seeds_ii : [13:14:01.295] ..$ ...future.globals.maxSize: [13:14:01.295] - attr(*, "resolved")= logi FALSE [13:14:01.295] - attr(*, "total_size")= num 1248 [13:14:01.295] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.295] - attr(*, "already-done")= logi TRUE [13:14:01.302] - copied '...future.FUN' to environment [13:14:01.302] - copied 'future.call.arguments' to environment [13:14:01.302] - copied '...future.elements_ii' to environment [13:14:01.303] - copied '...future.seeds_ii' to environment [13:14:01.303] - copied '...future.globals.maxSize' to environment [13:14:01.303] assign_globals() ... done [13:14:01.303] plan(): Setting new future strategy stack: [13:14:01.303] List of future strategies: [13:14:01.303] 1. sequential: [13:14:01.303] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.303] - tweaked: FALSE [13:14:01.303] - call: NULL [13:14:01.304] plan(): nbrOfWorkers() = 1 [13:14:01.306] plan(): Setting new future strategy stack: [13:14:01.306] List of future strategies: [13:14:01.306] 1. sequential: [13:14:01.306] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.306] - tweaked: FALSE [13:14:01.306] - call: plan(strategy) [13:14:01.307] plan(): nbrOfWorkers() = 1 [13:14:01.307] SequentialFuture started (and completed) [13:14:01.307] - Launch lazy future ... done [13:14:01.308] run() for 'SequentialFuture' ... done [13:14:01.308] Created future: [13:14:01.308] SequentialFuture: [13:14:01.308] Label: 'future_sapply-1' [13:14:01.308] Expression: [13:14:01.308] { [13:14:01.308] do.call(function(...) { [13:14:01.308] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.308] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.308] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.308] on.exit(options(oopts), add = TRUE) [13:14:01.308] } [13:14:01.308] { [13:14:01.308] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.308] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.308] ...future.FUN(...future.X_jj, ...) [13:14:01.308] }) [13:14:01.308] } [13:14:01.308] }, args = future.call.arguments) [13:14:01.308] } [13:14:01.308] Lazy evaluation: FALSE [13:14:01.308] Asynchronous evaluation: FALSE [13:14:01.308] Local evaluation: TRUE [13:14:01.308] Environment: R_GlobalEnv [13:14:01.308] Capture standard output: TRUE [13:14:01.308] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.308] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.308] Packages: [13:14:01.308] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.308] Resolved: TRUE [13:14:01.308] Value: 1.31 KiB of class 'list' [13:14:01.308] Early signaling: FALSE [13:14:01.308] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.308] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.309] Chunk #1 of 1 ... DONE [13:14:01.310] Launching 1 futures (chunks) ... DONE [13:14:01.310] Resolving 1 futures (chunks) ... [13:14:01.310] resolve() on list ... [13:14:01.310] recursive: 0 [13:14:01.310] length: 1 [13:14:01.310] [13:14:01.311] resolved() for 'SequentialFuture' ... [13:14:01.311] - state: 'finished' [13:14:01.311] - run: TRUE [13:14:01.311] - result: 'FutureResult' [13:14:01.311] resolved() for 'SequentialFuture' ... done [13:14:01.311] Future #1 [13:14:01.312] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.312] - nx: 1 [13:14:01.312] - relay: TRUE [13:14:01.312] - stdout: TRUE [13:14:01.312] - signal: TRUE [13:14:01.312] - resignal: FALSE [13:14:01.313] - force: TRUE [13:14:01.313] - relayed: [n=1] FALSE [13:14:01.313] - queued futures: [n=1] FALSE [13:14:01.313] - until=1 [13:14:01.313] - relaying element #1 [13:14:01.314] - relayed: [n=1] TRUE [13:14:01.314] - queued futures: [n=1] TRUE [13:14:01.314] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.314] length: 0 (resolved future 1) [13:14:01.314] Relaying remaining futures [13:14:01.314] signalConditionsASAP(NULL, pos=0) ... [13:14:01.314] - nx: 1 [13:14:01.315] - relay: TRUE [13:14:01.315] - stdout: TRUE [13:14:01.315] - signal: TRUE [13:14:01.315] - resignal: FALSE [13:14:01.315] - force: TRUE [13:14:01.315] - relayed: [n=1] TRUE [13:14:01.316] - queued futures: [n=1] TRUE - flush all [13:14:01.316] - relayed: [n=1] TRUE [13:14:01.316] - queued futures: [n=1] TRUE [13:14:01.316] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.316] resolve() on list ... DONE [13:14:01.316] - Number of value chunks collected: 1 [13:14:01.317] Resolving 1 futures (chunks) ... DONE [13:14:01.317] Reducing values from 1 chunks ... [13:14:01.317] - Number of values collected after concatenation: 6 [13:14:01.317] - Number of values expected: 6 [13:14:01.317] Reducing values from 1 chunks ... DONE [13:14:01.317] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.319] future_lapply() ... [13:14:01.320] Number of chunks: 1 [13:14:01.321] getGlobalsAndPackagesXApply() ... [13:14:01.321] - future.globals: TRUE [13:14:01.321] getGlobalsAndPackages() ... [13:14:01.321] Searching for globals... [13:14:01.323] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:01.323] Searching for globals ... DONE [13:14:01.323] Resolving globals: FALSE [13:14:01.324] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:01.324] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:01.324] - globals: [1] 'FUN' [13:14:01.325] [13:14:01.325] getGlobalsAndPackages() ... DONE [13:14:01.325] - globals found/used: [n=1] 'FUN' [13:14:01.325] - needed namespaces: [n=0] [13:14:01.325] Finding globals ... DONE [13:14:01.325] - use_args: TRUE [13:14:01.326] - Getting '...' globals ... [13:14:01.326] resolve() on list ... [13:14:01.326] recursive: 0 [13:14:01.326] length: 1 [13:14:01.326] elements: '...' [13:14:01.327] length: 0 (resolved future 1) [13:14:01.327] resolve() on list ... DONE [13:14:01.327] - '...' content: [n=0] [13:14:01.327] List of 1 [13:14:01.327] $ ...: list() [13:14:01.327] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.327] - attr(*, "where")=List of 1 [13:14:01.327] ..$ ...: [13:14:01.327] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.327] - attr(*, "resolved")= logi TRUE [13:14:01.327] - attr(*, "total_size")= num NA [13:14:01.330] - Getting '...' globals ... DONE [13:14:01.330] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.331] List of 2 [13:14:01.331] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:01.331] $ ... : list() [13:14:01.331] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.331] - attr(*, "where")=List of 2 [13:14:01.331] ..$ ...future.FUN: [13:14:01.331] ..$ ... : [13:14:01.331] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.331] - attr(*, "resolved")= logi FALSE [13:14:01.331] - attr(*, "total_size")= num 4728 [13:14:01.335] Packages to be attached in all futures: [n=0] [13:14:01.335] getGlobalsAndPackagesXApply() ... DONE [13:14:01.335] Number of futures (= number of chunks): 1 [13:14:01.336] Launching 1 futures (chunks) ... [13:14:01.336] Chunk #1 of 1 ... [13:14:01.336] - Finding globals in 'X' for chunk #1 ... [13:14:01.336] getGlobalsAndPackages() ... [13:14:01.336] Searching for globals... [13:14:01.337] [13:14:01.337] Searching for globals ... DONE [13:14:01.337] - globals: [0] [13:14:01.337] getGlobalsAndPackages() ... DONE [13:14:01.337] + additional globals found: [n=0] [13:14:01.337] + additional namespaces needed: [n=0] [13:14:01.338] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.338] - seeds: [13:14:01.338] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.338] getGlobalsAndPackages() ... [13:14:01.338] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.338] Resolving globals: FALSE [13:14:01.339] Tweak future expression to call with '...' arguments ... [13:14:01.339] { [13:14:01.339] do.call(function(...) { [13:14:01.339] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.339] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.339] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.339] on.exit(options(oopts), add = TRUE) [13:14:01.339] } [13:14:01.339] { [13:14:01.339] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.339] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.339] ...future.FUN(...future.X_jj, ...) [13:14:01.339] }) [13:14:01.339] } [13:14:01.339] }, args = future.call.arguments) [13:14:01.339] } [13:14:01.339] Tweak future expression to call with '...' arguments ... DONE [13:14:01.340] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.340] [13:14:01.340] getGlobalsAndPackages() ... DONE [13:14:01.340] run() for 'Future' ... [13:14:01.341] - state: 'created' [13:14:01.341] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.341] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.341] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.342] - Field: 'label' [13:14:01.342] - Field: 'local' [13:14:01.342] - Field: 'owner' [13:14:01.342] - Field: 'envir' [13:14:01.342] - Field: 'packages' [13:14:01.343] - Field: 'gc' [13:14:01.343] - Field: 'conditions' [13:14:01.343] - Field: 'expr' [13:14:01.343] - Field: 'uuid' [13:14:01.343] - Field: 'seed' [13:14:01.343] - Field: 'version' [13:14:01.344] - Field: 'result' [13:14:01.344] - Field: 'asynchronous' [13:14:01.344] - Field: 'calls' [13:14:01.344] - Field: 'globals' [13:14:01.344] - Field: 'stdout' [13:14:01.344] - Field: 'earlySignal' [13:14:01.345] - Field: 'lazy' [13:14:01.345] - Field: 'state' [13:14:01.345] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.345] - Launch lazy future ... [13:14:01.345] Packages needed by the future expression (n = 0): [13:14:01.346] Packages needed by future strategies (n = 0): [13:14:01.346] { [13:14:01.346] { [13:14:01.346] { [13:14:01.346] ...future.startTime <- base::Sys.time() [13:14:01.346] { [13:14:01.346] { [13:14:01.346] { [13:14:01.346] base::local({ [13:14:01.346] has_future <- base::requireNamespace("future", [13:14:01.346] quietly = TRUE) [13:14:01.346] if (has_future) { [13:14:01.346] ns <- base::getNamespace("future") [13:14:01.346] version <- ns[[".package"]][["version"]] [13:14:01.346] if (is.null(version)) [13:14:01.346] version <- utils::packageVersion("future") [13:14:01.346] } [13:14:01.346] else { [13:14:01.346] version <- NULL [13:14:01.346] } [13:14:01.346] if (!has_future || version < "1.8.0") { [13:14:01.346] info <- base::c(r_version = base::gsub("R version ", [13:14:01.346] "", base::R.version$version.string), [13:14:01.346] platform = base::sprintf("%s (%s-bit)", [13:14:01.346] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.346] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.346] "release", "version")], collapse = " "), [13:14:01.346] hostname = base::Sys.info()[["nodename"]]) [13:14:01.346] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.346] info) [13:14:01.346] info <- base::paste(info, collapse = "; ") [13:14:01.346] if (!has_future) { [13:14:01.346] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.346] info) [13:14:01.346] } [13:14:01.346] else { [13:14:01.346] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.346] info, version) [13:14:01.346] } [13:14:01.346] base::stop(msg) [13:14:01.346] } [13:14:01.346] }) [13:14:01.346] } [13:14:01.346] options(future.plan = NULL) [13:14:01.346] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.346] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.346] } [13:14:01.346] ...future.workdir <- getwd() [13:14:01.346] } [13:14:01.346] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.346] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.346] } [13:14:01.346] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.346] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.346] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.346] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.346] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.346] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.346] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.346] base::names(...future.oldOptions)) [13:14:01.346] } [13:14:01.346] if (FALSE) { [13:14:01.346] } [13:14:01.346] else { [13:14:01.346] if (TRUE) { [13:14:01.346] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.346] open = "w") [13:14:01.346] } [13:14:01.346] else { [13:14:01.346] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.346] windows = "NUL", "/dev/null"), open = "w") [13:14:01.346] } [13:14:01.346] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.346] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.346] base::sink(type = "output", split = FALSE) [13:14:01.346] base::close(...future.stdout) [13:14:01.346] }, add = TRUE) [13:14:01.346] } [13:14:01.346] ...future.frame <- base::sys.nframe() [13:14:01.346] ...future.conditions <- base::list() [13:14:01.346] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.346] if (FALSE) { [13:14:01.346] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.346] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.346] } [13:14:01.346] ...future.result <- base::tryCatch({ [13:14:01.346] base::withCallingHandlers({ [13:14:01.346] ...future.value <- base::withVisible(base::local({ [13:14:01.346] do.call(function(...) { [13:14:01.346] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.346] if (!identical(...future.globals.maxSize.org, [13:14:01.346] ...future.globals.maxSize)) { [13:14:01.346] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.346] on.exit(options(oopts), add = TRUE) [13:14:01.346] } [13:14:01.346] { [13:14:01.346] lapply(seq_along(...future.elements_ii), [13:14:01.346] FUN = function(jj) { [13:14:01.346] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.346] ...future.FUN(...future.X_jj, ...) [13:14:01.346] }) [13:14:01.346] } [13:14:01.346] }, args = future.call.arguments) [13:14:01.346] })) [13:14:01.346] future::FutureResult(value = ...future.value$value, [13:14:01.346] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.346] ...future.rng), globalenv = if (FALSE) [13:14:01.346] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.346] ...future.globalenv.names)) [13:14:01.346] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.346] }, condition = base::local({ [13:14:01.346] c <- base::c [13:14:01.346] inherits <- base::inherits [13:14:01.346] invokeRestart <- base::invokeRestart [13:14:01.346] length <- base::length [13:14:01.346] list <- base::list [13:14:01.346] seq.int <- base::seq.int [13:14:01.346] signalCondition <- base::signalCondition [13:14:01.346] sys.calls <- base::sys.calls [13:14:01.346] `[[` <- base::`[[` [13:14:01.346] `+` <- base::`+` [13:14:01.346] `<<-` <- base::`<<-` [13:14:01.346] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.346] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.346] 3L)] [13:14:01.346] } [13:14:01.346] function(cond) { [13:14:01.346] is_error <- inherits(cond, "error") [13:14:01.346] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.346] NULL) [13:14:01.346] if (is_error) { [13:14:01.346] sessionInformation <- function() { [13:14:01.346] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.346] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.346] search = base::search(), system = base::Sys.info()) [13:14:01.346] } [13:14:01.346] ...future.conditions[[length(...future.conditions) + [13:14:01.346] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.346] cond$call), session = sessionInformation(), [13:14:01.346] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.346] signalCondition(cond) [13:14:01.346] } [13:14:01.346] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.346] "immediateCondition"))) { [13:14:01.346] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.346] ...future.conditions[[length(...future.conditions) + [13:14:01.346] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.346] if (TRUE && !signal) { [13:14:01.346] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.346] { [13:14:01.346] inherits <- base::inherits [13:14:01.346] invokeRestart <- base::invokeRestart [13:14:01.346] is.null <- base::is.null [13:14:01.346] muffled <- FALSE [13:14:01.346] if (inherits(cond, "message")) { [13:14:01.346] muffled <- grepl(pattern, "muffleMessage") [13:14:01.346] if (muffled) [13:14:01.346] invokeRestart("muffleMessage") [13:14:01.346] } [13:14:01.346] else if (inherits(cond, "warning")) { [13:14:01.346] muffled <- grepl(pattern, "muffleWarning") [13:14:01.346] if (muffled) [13:14:01.346] invokeRestart("muffleWarning") [13:14:01.346] } [13:14:01.346] else if (inherits(cond, "condition")) { [13:14:01.346] if (!is.null(pattern)) { [13:14:01.346] computeRestarts <- base::computeRestarts [13:14:01.346] grepl <- base::grepl [13:14:01.346] restarts <- computeRestarts(cond) [13:14:01.346] for (restart in restarts) { [13:14:01.346] name <- restart$name [13:14:01.346] if (is.null(name)) [13:14:01.346] next [13:14:01.346] if (!grepl(pattern, name)) [13:14:01.346] next [13:14:01.346] invokeRestart(restart) [13:14:01.346] muffled <- TRUE [13:14:01.346] break [13:14:01.346] } [13:14:01.346] } [13:14:01.346] } [13:14:01.346] invisible(muffled) [13:14:01.346] } [13:14:01.346] muffleCondition(cond, pattern = "^muffle") [13:14:01.346] } [13:14:01.346] } [13:14:01.346] else { [13:14:01.346] if (TRUE) { [13:14:01.346] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.346] { [13:14:01.346] inherits <- base::inherits [13:14:01.346] invokeRestart <- base::invokeRestart [13:14:01.346] is.null <- base::is.null [13:14:01.346] muffled <- FALSE [13:14:01.346] if (inherits(cond, "message")) { [13:14:01.346] muffled <- grepl(pattern, "muffleMessage") [13:14:01.346] if (muffled) [13:14:01.346] invokeRestart("muffleMessage") [13:14:01.346] } [13:14:01.346] else if (inherits(cond, "warning")) { [13:14:01.346] muffled <- grepl(pattern, "muffleWarning") [13:14:01.346] if (muffled) [13:14:01.346] invokeRestart("muffleWarning") [13:14:01.346] } [13:14:01.346] else if (inherits(cond, "condition")) { [13:14:01.346] if (!is.null(pattern)) { [13:14:01.346] computeRestarts <- base::computeRestarts [13:14:01.346] grepl <- base::grepl [13:14:01.346] restarts <- computeRestarts(cond) [13:14:01.346] for (restart in restarts) { [13:14:01.346] name <- restart$name [13:14:01.346] if (is.null(name)) [13:14:01.346] next [13:14:01.346] if (!grepl(pattern, name)) [13:14:01.346] next [13:14:01.346] invokeRestart(restart) [13:14:01.346] muffled <- TRUE [13:14:01.346] break [13:14:01.346] } [13:14:01.346] } [13:14:01.346] } [13:14:01.346] invisible(muffled) [13:14:01.346] } [13:14:01.346] muffleCondition(cond, pattern = "^muffle") [13:14:01.346] } [13:14:01.346] } [13:14:01.346] } [13:14:01.346] })) [13:14:01.346] }, error = function(ex) { [13:14:01.346] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.346] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.346] ...future.rng), started = ...future.startTime, [13:14:01.346] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.346] version = "1.8"), class = "FutureResult") [13:14:01.346] }, finally = { [13:14:01.346] if (!identical(...future.workdir, getwd())) [13:14:01.346] setwd(...future.workdir) [13:14:01.346] { [13:14:01.346] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.346] ...future.oldOptions$nwarnings <- NULL [13:14:01.346] } [13:14:01.346] base::options(...future.oldOptions) [13:14:01.346] if (.Platform$OS.type == "windows") { [13:14:01.346] old_names <- names(...future.oldEnvVars) [13:14:01.346] envs <- base::Sys.getenv() [13:14:01.346] names <- names(envs) [13:14:01.346] common <- intersect(names, old_names) [13:14:01.346] added <- setdiff(names, old_names) [13:14:01.346] removed <- setdiff(old_names, names) [13:14:01.346] changed <- common[...future.oldEnvVars[common] != [13:14:01.346] envs[common]] [13:14:01.346] NAMES <- toupper(changed) [13:14:01.346] args <- list() [13:14:01.346] for (kk in seq_along(NAMES)) { [13:14:01.346] name <- changed[[kk]] [13:14:01.346] NAME <- NAMES[[kk]] [13:14:01.346] if (name != NAME && is.element(NAME, old_names)) [13:14:01.346] next [13:14:01.346] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.346] } [13:14:01.346] NAMES <- toupper(added) [13:14:01.346] for (kk in seq_along(NAMES)) { [13:14:01.346] name <- added[[kk]] [13:14:01.346] NAME <- NAMES[[kk]] [13:14:01.346] if (name != NAME && is.element(NAME, old_names)) [13:14:01.346] next [13:14:01.346] args[[name]] <- "" [13:14:01.346] } [13:14:01.346] NAMES <- toupper(removed) [13:14:01.346] for (kk in seq_along(NAMES)) { [13:14:01.346] name <- removed[[kk]] [13:14:01.346] NAME <- NAMES[[kk]] [13:14:01.346] if (name != NAME && is.element(NAME, old_names)) [13:14:01.346] next [13:14:01.346] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.346] } [13:14:01.346] if (length(args) > 0) [13:14:01.346] base::do.call(base::Sys.setenv, args = args) [13:14:01.346] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.346] } [13:14:01.346] else { [13:14:01.346] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.346] } [13:14:01.346] { [13:14:01.346] if (base::length(...future.futureOptionsAdded) > [13:14:01.346] 0L) { [13:14:01.346] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.346] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.346] base::options(opts) [13:14:01.346] } [13:14:01.346] { [13:14:01.346] { [13:14:01.346] NULL [13:14:01.346] RNGkind("Mersenne-Twister") [13:14:01.346] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.346] inherits = FALSE) [13:14:01.346] } [13:14:01.346] options(future.plan = NULL) [13:14:01.346] if (is.na(NA_character_)) [13:14:01.346] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.346] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.346] future::plan(list(function (..., envir = parent.frame()) [13:14:01.346] { [13:14:01.346] future <- SequentialFuture(..., envir = envir) [13:14:01.346] if (!future$lazy) [13:14:01.346] future <- run(future) [13:14:01.346] invisible(future) [13:14:01.346] }), .cleanup = FALSE, .init = FALSE) [13:14:01.346] } [13:14:01.346] } [13:14:01.346] } [13:14:01.346] }) [13:14:01.346] if (TRUE) { [13:14:01.346] base::sink(type = "output", split = FALSE) [13:14:01.346] if (TRUE) { [13:14:01.346] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.346] } [13:14:01.346] else { [13:14:01.346] ...future.result["stdout"] <- base::list(NULL) [13:14:01.346] } [13:14:01.346] base::close(...future.stdout) [13:14:01.346] ...future.stdout <- NULL [13:14:01.346] } [13:14:01.346] ...future.result$conditions <- ...future.conditions [13:14:01.346] ...future.result$finished <- base::Sys.time() [13:14:01.346] ...future.result [13:14:01.346] } [13:14:01.350] assign_globals() ... [13:14:01.350] List of 5 [13:14:01.350] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:01.350] $ future.call.arguments : list() [13:14:01.350] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.350] $ ...future.elements_ii :List of 6 [13:14:01.350] ..$ a1: int 1 [13:14:01.350] ..$ a2: int 2 [13:14:01.350] ..$ b1: int 2 [13:14:01.350] ..$ b2: int 3 [13:14:01.350] ..$ c1: int 3 [13:14:01.350] ..$ c2: int 4 [13:14:01.350] $ ...future.seeds_ii : NULL [13:14:01.350] $ ...future.globals.maxSize: NULL [13:14:01.350] - attr(*, "where")=List of 5 [13:14:01.350] ..$ ...future.FUN : [13:14:01.350] ..$ future.call.arguments : [13:14:01.350] ..$ ...future.elements_ii : [13:14:01.350] ..$ ...future.seeds_ii : [13:14:01.350] ..$ ...future.globals.maxSize: [13:14:01.350] - attr(*, "resolved")= logi FALSE [13:14:01.350] - attr(*, "total_size")= num 4728 [13:14:01.350] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.350] - attr(*, "already-done")= logi TRUE [13:14:01.358] - reassign environment for '...future.FUN' [13:14:01.358] - copied '...future.FUN' to environment [13:14:01.358] - copied 'future.call.arguments' to environment [13:14:01.358] - copied '...future.elements_ii' to environment [13:14:01.358] - copied '...future.seeds_ii' to environment [13:14:01.359] - copied '...future.globals.maxSize' to environment [13:14:01.359] assign_globals() ... done [13:14:01.359] plan(): Setting new future strategy stack: [13:14:01.359] List of future strategies: [13:14:01.359] 1. sequential: [13:14:01.359] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.359] - tweaked: FALSE [13:14:01.359] - call: NULL [13:14:01.360] plan(): nbrOfWorkers() = 1 [13:14:01.362] plan(): Setting new future strategy stack: [13:14:01.362] List of future strategies: [13:14:01.362] 1. sequential: [13:14:01.362] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.362] - tweaked: FALSE [13:14:01.362] - call: plan(strategy) [13:14:01.363] plan(): nbrOfWorkers() = 1 [13:14:01.363] SequentialFuture started (and completed) [13:14:01.363] - Launch lazy future ... done [13:14:01.364] run() for 'SequentialFuture' ... done [13:14:01.364] Created future: [13:14:01.364] SequentialFuture: [13:14:01.364] Label: 'future_sapply-1' [13:14:01.364] Expression: [13:14:01.364] { [13:14:01.364] do.call(function(...) { [13:14:01.364] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.364] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.364] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.364] on.exit(options(oopts), add = TRUE) [13:14:01.364] } [13:14:01.364] { [13:14:01.364] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.364] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.364] ...future.FUN(...future.X_jj, ...) [13:14:01.364] }) [13:14:01.364] } [13:14:01.364] }, args = future.call.arguments) [13:14:01.364] } [13:14:01.364] Lazy evaluation: FALSE [13:14:01.364] Asynchronous evaluation: FALSE [13:14:01.364] Local evaluation: TRUE [13:14:01.364] Environment: R_GlobalEnv [13:14:01.364] Capture standard output: TRUE [13:14:01.364] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.364] Globals: 5 objects totaling 4.95 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.364] Packages: [13:14:01.364] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.364] Resolved: TRUE [13:14:01.364] Value: 2.02 KiB of class 'list' [13:14:01.364] Early signaling: FALSE [13:14:01.364] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.364] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.365] Chunk #1 of 1 ... DONE [13:14:01.366] Launching 1 futures (chunks) ... DONE [13:14:01.366] Resolving 1 futures (chunks) ... [13:14:01.366] resolve() on list ... [13:14:01.366] recursive: 0 [13:14:01.366] length: 1 [13:14:01.366] [13:14:01.367] resolved() for 'SequentialFuture' ... [13:14:01.367] - state: 'finished' [13:14:01.367] - run: TRUE [13:14:01.367] - result: 'FutureResult' [13:14:01.367] resolved() for 'SequentialFuture' ... done [13:14:01.367] Future #1 [13:14:01.368] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.368] - nx: 1 [13:14:01.368] - relay: TRUE [13:14:01.368] - stdout: TRUE [13:14:01.368] - signal: TRUE [13:14:01.368] - resignal: FALSE [13:14:01.369] - force: TRUE [13:14:01.369] - relayed: [n=1] FALSE [13:14:01.369] - queued futures: [n=1] FALSE [13:14:01.369] - until=1 [13:14:01.369] - relaying element #1 [13:14:01.370] - relayed: [n=1] TRUE [13:14:01.370] - queued futures: [n=1] TRUE [13:14:01.370] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.370] length: 0 (resolved future 1) [13:14:01.370] Relaying remaining futures [13:14:01.370] signalConditionsASAP(NULL, pos=0) ... [13:14:01.370] - nx: 1 [13:14:01.371] - relay: TRUE [13:14:01.371] - stdout: TRUE [13:14:01.371] - signal: TRUE [13:14:01.371] - resignal: FALSE [13:14:01.371] - force: TRUE [13:14:01.371] - relayed: [n=1] TRUE [13:14:01.372] - queued futures: [n=1] TRUE - flush all [13:14:01.372] - relayed: [n=1] TRUE [13:14:01.372] - queued futures: [n=1] TRUE [13:14:01.372] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.372] resolve() on list ... DONE [13:14:01.373] - Number of value chunks collected: 1 [13:14:01.373] Resolving 1 futures (chunks) ... DONE [13:14:01.373] Reducing values from 1 chunks ... [13:14:01.373] - Number of values collected after concatenation: 6 [13:14:01.373] - Number of values expected: 6 [13:14:01.373] Reducing values from 1 chunks ... DONE [13:14:01.374] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.377] future_lapply() ... [13:14:01.377] Number of chunks: 1 [13:14:01.377] getGlobalsAndPackagesXApply() ... [13:14:01.378] - future.globals: TRUE [13:14:01.378] getGlobalsAndPackages() ... [13:14:01.378] Searching for globals... [13:14:01.379] - globals found: [1] 'FUN' [13:14:01.379] Searching for globals ... DONE [13:14:01.379] Resolving globals: FALSE [13:14:01.380] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:01.380] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:01.380] - globals: [1] 'FUN' [13:14:01.381] [13:14:01.381] getGlobalsAndPackages() ... DONE [13:14:01.381] - globals found/used: [n=1] 'FUN' [13:14:01.381] - needed namespaces: [n=0] [13:14:01.381] Finding globals ... DONE [13:14:01.381] - use_args: TRUE [13:14:01.382] - Getting '...' globals ... [13:14:01.382] resolve() on list ... [13:14:01.382] recursive: 0 [13:14:01.382] length: 1 [13:14:01.383] elements: '...' [13:14:01.383] length: 0 (resolved future 1) [13:14:01.383] resolve() on list ... DONE [13:14:01.383] - '...' content: [n=0] [13:14:01.383] List of 1 [13:14:01.383] $ ...: list() [13:14:01.383] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.383] - attr(*, "where")=List of 1 [13:14:01.383] ..$ ...: [13:14:01.383] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.383] - attr(*, "resolved")= logi TRUE [13:14:01.383] - attr(*, "total_size")= num NA [13:14:01.386] - Getting '...' globals ... DONE [13:14:01.386] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.387] List of 2 [13:14:01.387] $ ...future.FUN:function (x) [13:14:01.387] $ ... : list() [13:14:01.387] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.387] - attr(*, "where")=List of 2 [13:14:01.387] ..$ ...future.FUN: [13:14:01.387] ..$ ... : [13:14:01.387] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.387] - attr(*, "resolved")= logi FALSE [13:14:01.387] - attr(*, "total_size")= num 848 [13:14:01.391] Packages to be attached in all futures: [n=0] [13:14:01.391] getGlobalsAndPackagesXApply() ... DONE [13:14:01.391] Number of futures (= number of chunks): 1 [13:14:01.392] Launching 1 futures (chunks) ... [13:14:01.392] Chunk #1 of 1 ... [13:14:01.392] - Finding globals in 'X' for chunk #1 ... [13:14:01.392] getGlobalsAndPackages() ... [13:14:01.392] Searching for globals... [13:14:01.393] [13:14:01.393] Searching for globals ... DONE [13:14:01.393] - globals: [0] [13:14:01.393] getGlobalsAndPackages() ... DONE [13:14:01.393] + additional globals found: [n=0] [13:14:01.393] + additional namespaces needed: [n=0] [13:14:01.394] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.394] - seeds: [13:14:01.394] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.394] getGlobalsAndPackages() ... [13:14:01.394] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.394] Resolving globals: FALSE [13:14:01.395] Tweak future expression to call with '...' arguments ... [13:14:01.395] { [13:14:01.395] do.call(function(...) { [13:14:01.395] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.395] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.395] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.395] on.exit(options(oopts), add = TRUE) [13:14:01.395] } [13:14:01.395] { [13:14:01.395] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.395] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.395] ...future.FUN(...future.X_jj, ...) [13:14:01.395] }) [13:14:01.395] } [13:14:01.395] }, args = future.call.arguments) [13:14:01.395] } [13:14:01.395] Tweak future expression to call with '...' arguments ... DONE [13:14:01.396] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.396] [13:14:01.396] getGlobalsAndPackages() ... DONE [13:14:01.396] run() for 'Future' ... [13:14:01.397] - state: 'created' [13:14:01.397] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.397] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.397] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.397] - Field: 'label' [13:14:01.398] - Field: 'local' [13:14:01.398] - Field: 'owner' [13:14:01.398] - Field: 'envir' [13:14:01.398] - Field: 'packages' [13:14:01.398] - Field: 'gc' [13:14:01.399] - Field: 'conditions' [13:14:01.399] - Field: 'expr' [13:14:01.399] - Field: 'uuid' [13:14:01.399] - Field: 'seed' [13:14:01.399] - Field: 'version' [13:14:01.399] - Field: 'result' [13:14:01.400] - Field: 'asynchronous' [13:14:01.400] - Field: 'calls' [13:14:01.400] - Field: 'globals' [13:14:01.400] - Field: 'stdout' [13:14:01.400] - Field: 'earlySignal' [13:14:01.400] - Field: 'lazy' [13:14:01.401] - Field: 'state' [13:14:01.401] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.401] - Launch lazy future ... [13:14:01.401] Packages needed by the future expression (n = 0): [13:14:01.401] Packages needed by future strategies (n = 0): [13:14:01.402] { [13:14:01.402] { [13:14:01.402] { [13:14:01.402] ...future.startTime <- base::Sys.time() [13:14:01.402] { [13:14:01.402] { [13:14:01.402] { [13:14:01.402] base::local({ [13:14:01.402] has_future <- base::requireNamespace("future", [13:14:01.402] quietly = TRUE) [13:14:01.402] if (has_future) { [13:14:01.402] ns <- base::getNamespace("future") [13:14:01.402] version <- ns[[".package"]][["version"]] [13:14:01.402] if (is.null(version)) [13:14:01.402] version <- utils::packageVersion("future") [13:14:01.402] } [13:14:01.402] else { [13:14:01.402] version <- NULL [13:14:01.402] } [13:14:01.402] if (!has_future || version < "1.8.0") { [13:14:01.402] info <- base::c(r_version = base::gsub("R version ", [13:14:01.402] "", base::R.version$version.string), [13:14:01.402] platform = base::sprintf("%s (%s-bit)", [13:14:01.402] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.402] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.402] "release", "version")], collapse = " "), [13:14:01.402] hostname = base::Sys.info()[["nodename"]]) [13:14:01.402] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.402] info) [13:14:01.402] info <- base::paste(info, collapse = "; ") [13:14:01.402] if (!has_future) { [13:14:01.402] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.402] info) [13:14:01.402] } [13:14:01.402] else { [13:14:01.402] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.402] info, version) [13:14:01.402] } [13:14:01.402] base::stop(msg) [13:14:01.402] } [13:14:01.402] }) [13:14:01.402] } [13:14:01.402] options(future.plan = NULL) [13:14:01.402] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.402] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.402] } [13:14:01.402] ...future.workdir <- getwd() [13:14:01.402] } [13:14:01.402] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.402] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.402] } [13:14:01.402] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.402] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.402] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.402] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.402] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.402] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.402] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.402] base::names(...future.oldOptions)) [13:14:01.402] } [13:14:01.402] if (FALSE) { [13:14:01.402] } [13:14:01.402] else { [13:14:01.402] if (TRUE) { [13:14:01.402] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.402] open = "w") [13:14:01.402] } [13:14:01.402] else { [13:14:01.402] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.402] windows = "NUL", "/dev/null"), open = "w") [13:14:01.402] } [13:14:01.402] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.402] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.402] base::sink(type = "output", split = FALSE) [13:14:01.402] base::close(...future.stdout) [13:14:01.402] }, add = TRUE) [13:14:01.402] } [13:14:01.402] ...future.frame <- base::sys.nframe() [13:14:01.402] ...future.conditions <- base::list() [13:14:01.402] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.402] if (FALSE) { [13:14:01.402] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.402] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.402] } [13:14:01.402] ...future.result <- base::tryCatch({ [13:14:01.402] base::withCallingHandlers({ [13:14:01.402] ...future.value <- base::withVisible(base::local({ [13:14:01.402] do.call(function(...) { [13:14:01.402] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.402] if (!identical(...future.globals.maxSize.org, [13:14:01.402] ...future.globals.maxSize)) { [13:14:01.402] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.402] on.exit(options(oopts), add = TRUE) [13:14:01.402] } [13:14:01.402] { [13:14:01.402] lapply(seq_along(...future.elements_ii), [13:14:01.402] FUN = function(jj) { [13:14:01.402] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.402] ...future.FUN(...future.X_jj, ...) [13:14:01.402] }) [13:14:01.402] } [13:14:01.402] }, args = future.call.arguments) [13:14:01.402] })) [13:14:01.402] future::FutureResult(value = ...future.value$value, [13:14:01.402] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.402] ...future.rng), globalenv = if (FALSE) [13:14:01.402] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.402] ...future.globalenv.names)) [13:14:01.402] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.402] }, condition = base::local({ [13:14:01.402] c <- base::c [13:14:01.402] inherits <- base::inherits [13:14:01.402] invokeRestart <- base::invokeRestart [13:14:01.402] length <- base::length [13:14:01.402] list <- base::list [13:14:01.402] seq.int <- base::seq.int [13:14:01.402] signalCondition <- base::signalCondition [13:14:01.402] sys.calls <- base::sys.calls [13:14:01.402] `[[` <- base::`[[` [13:14:01.402] `+` <- base::`+` [13:14:01.402] `<<-` <- base::`<<-` [13:14:01.402] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.402] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.402] 3L)] [13:14:01.402] } [13:14:01.402] function(cond) { [13:14:01.402] is_error <- inherits(cond, "error") [13:14:01.402] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.402] NULL) [13:14:01.402] if (is_error) { [13:14:01.402] sessionInformation <- function() { [13:14:01.402] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.402] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.402] search = base::search(), system = base::Sys.info()) [13:14:01.402] } [13:14:01.402] ...future.conditions[[length(...future.conditions) + [13:14:01.402] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.402] cond$call), session = sessionInformation(), [13:14:01.402] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.402] signalCondition(cond) [13:14:01.402] } [13:14:01.402] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.402] "immediateCondition"))) { [13:14:01.402] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.402] ...future.conditions[[length(...future.conditions) + [13:14:01.402] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.402] if (TRUE && !signal) { [13:14:01.402] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.402] { [13:14:01.402] inherits <- base::inherits [13:14:01.402] invokeRestart <- base::invokeRestart [13:14:01.402] is.null <- base::is.null [13:14:01.402] muffled <- FALSE [13:14:01.402] if (inherits(cond, "message")) { [13:14:01.402] muffled <- grepl(pattern, "muffleMessage") [13:14:01.402] if (muffled) [13:14:01.402] invokeRestart("muffleMessage") [13:14:01.402] } [13:14:01.402] else if (inherits(cond, "warning")) { [13:14:01.402] muffled <- grepl(pattern, "muffleWarning") [13:14:01.402] if (muffled) [13:14:01.402] invokeRestart("muffleWarning") [13:14:01.402] } [13:14:01.402] else if (inherits(cond, "condition")) { [13:14:01.402] if (!is.null(pattern)) { [13:14:01.402] computeRestarts <- base::computeRestarts [13:14:01.402] grepl <- base::grepl [13:14:01.402] restarts <- computeRestarts(cond) [13:14:01.402] for (restart in restarts) { [13:14:01.402] name <- restart$name [13:14:01.402] if (is.null(name)) [13:14:01.402] next [13:14:01.402] if (!grepl(pattern, name)) [13:14:01.402] next [13:14:01.402] invokeRestart(restart) [13:14:01.402] muffled <- TRUE [13:14:01.402] break [13:14:01.402] } [13:14:01.402] } [13:14:01.402] } [13:14:01.402] invisible(muffled) [13:14:01.402] } [13:14:01.402] muffleCondition(cond, pattern = "^muffle") [13:14:01.402] } [13:14:01.402] } [13:14:01.402] else { [13:14:01.402] if (TRUE) { [13:14:01.402] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.402] { [13:14:01.402] inherits <- base::inherits [13:14:01.402] invokeRestart <- base::invokeRestart [13:14:01.402] is.null <- base::is.null [13:14:01.402] muffled <- FALSE [13:14:01.402] if (inherits(cond, "message")) { [13:14:01.402] muffled <- grepl(pattern, "muffleMessage") [13:14:01.402] if (muffled) [13:14:01.402] invokeRestart("muffleMessage") [13:14:01.402] } [13:14:01.402] else if (inherits(cond, "warning")) { [13:14:01.402] muffled <- grepl(pattern, "muffleWarning") [13:14:01.402] if (muffled) [13:14:01.402] invokeRestart("muffleWarning") [13:14:01.402] } [13:14:01.402] else if (inherits(cond, "condition")) { [13:14:01.402] if (!is.null(pattern)) { [13:14:01.402] computeRestarts <- base::computeRestarts [13:14:01.402] grepl <- base::grepl [13:14:01.402] restarts <- computeRestarts(cond) [13:14:01.402] for (restart in restarts) { [13:14:01.402] name <- restart$name [13:14:01.402] if (is.null(name)) [13:14:01.402] next [13:14:01.402] if (!grepl(pattern, name)) [13:14:01.402] next [13:14:01.402] invokeRestart(restart) [13:14:01.402] muffled <- TRUE [13:14:01.402] break [13:14:01.402] } [13:14:01.402] } [13:14:01.402] } [13:14:01.402] invisible(muffled) [13:14:01.402] } [13:14:01.402] muffleCondition(cond, pattern = "^muffle") [13:14:01.402] } [13:14:01.402] } [13:14:01.402] } [13:14:01.402] })) [13:14:01.402] }, error = function(ex) { [13:14:01.402] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.402] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.402] ...future.rng), started = ...future.startTime, [13:14:01.402] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.402] version = "1.8"), class = "FutureResult") [13:14:01.402] }, finally = { [13:14:01.402] if (!identical(...future.workdir, getwd())) [13:14:01.402] setwd(...future.workdir) [13:14:01.402] { [13:14:01.402] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.402] ...future.oldOptions$nwarnings <- NULL [13:14:01.402] } [13:14:01.402] base::options(...future.oldOptions) [13:14:01.402] if (.Platform$OS.type == "windows") { [13:14:01.402] old_names <- names(...future.oldEnvVars) [13:14:01.402] envs <- base::Sys.getenv() [13:14:01.402] names <- names(envs) [13:14:01.402] common <- intersect(names, old_names) [13:14:01.402] added <- setdiff(names, old_names) [13:14:01.402] removed <- setdiff(old_names, names) [13:14:01.402] changed <- common[...future.oldEnvVars[common] != [13:14:01.402] envs[common]] [13:14:01.402] NAMES <- toupper(changed) [13:14:01.402] args <- list() [13:14:01.402] for (kk in seq_along(NAMES)) { [13:14:01.402] name <- changed[[kk]] [13:14:01.402] NAME <- NAMES[[kk]] [13:14:01.402] if (name != NAME && is.element(NAME, old_names)) [13:14:01.402] next [13:14:01.402] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.402] } [13:14:01.402] NAMES <- toupper(added) [13:14:01.402] for (kk in seq_along(NAMES)) { [13:14:01.402] name <- added[[kk]] [13:14:01.402] NAME <- NAMES[[kk]] [13:14:01.402] if (name != NAME && is.element(NAME, old_names)) [13:14:01.402] next [13:14:01.402] args[[name]] <- "" [13:14:01.402] } [13:14:01.402] NAMES <- toupper(removed) [13:14:01.402] for (kk in seq_along(NAMES)) { [13:14:01.402] name <- removed[[kk]] [13:14:01.402] NAME <- NAMES[[kk]] [13:14:01.402] if (name != NAME && is.element(NAME, old_names)) [13:14:01.402] next [13:14:01.402] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.402] } [13:14:01.402] if (length(args) > 0) [13:14:01.402] base::do.call(base::Sys.setenv, args = args) [13:14:01.402] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.402] } [13:14:01.402] else { [13:14:01.402] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.402] } [13:14:01.402] { [13:14:01.402] if (base::length(...future.futureOptionsAdded) > [13:14:01.402] 0L) { [13:14:01.402] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.402] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.402] base::options(opts) [13:14:01.402] } [13:14:01.402] { [13:14:01.402] { [13:14:01.402] NULL [13:14:01.402] RNGkind("Mersenne-Twister") [13:14:01.402] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.402] inherits = FALSE) [13:14:01.402] } [13:14:01.402] options(future.plan = NULL) [13:14:01.402] if (is.na(NA_character_)) [13:14:01.402] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.402] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.402] future::plan(list(function (..., envir = parent.frame()) [13:14:01.402] { [13:14:01.402] future <- SequentialFuture(..., envir = envir) [13:14:01.402] if (!future$lazy) [13:14:01.402] future <- run(future) [13:14:01.402] invisible(future) [13:14:01.402] }), .cleanup = FALSE, .init = FALSE) [13:14:01.402] } [13:14:01.402] } [13:14:01.402] } [13:14:01.402] }) [13:14:01.402] if (TRUE) { [13:14:01.402] base::sink(type = "output", split = FALSE) [13:14:01.402] if (TRUE) { [13:14:01.402] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.402] } [13:14:01.402] else { [13:14:01.402] ...future.result["stdout"] <- base::list(NULL) [13:14:01.402] } [13:14:01.402] base::close(...future.stdout) [13:14:01.402] ...future.stdout <- NULL [13:14:01.402] } [13:14:01.402] ...future.result$conditions <- ...future.conditions [13:14:01.402] ...future.result$finished <- base::Sys.time() [13:14:01.402] ...future.result [13:14:01.402] } [13:14:01.406] assign_globals() ... [13:14:01.406] List of 5 [13:14:01.406] $ ...future.FUN :function (x) [13:14:01.406] $ future.call.arguments : list() [13:14:01.406] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.406] $ ...future.elements_ii :List of 6 [13:14:01.406] ..$ a1: int 1 [13:14:01.406] ..$ a2: int 2 [13:14:01.406] ..$ b1: int 2 [13:14:01.406] ..$ b2: int 3 [13:14:01.406] ..$ c1: int 3 [13:14:01.406] ..$ c2: int 4 [13:14:01.406] $ ...future.seeds_ii : NULL [13:14:01.406] $ ...future.globals.maxSize: NULL [13:14:01.406] - attr(*, "where")=List of 5 [13:14:01.406] ..$ ...future.FUN : [13:14:01.406] ..$ future.call.arguments : [13:14:01.406] ..$ ...future.elements_ii : [13:14:01.406] ..$ ...future.seeds_ii : [13:14:01.406] ..$ ...future.globals.maxSize: [13:14:01.406] - attr(*, "resolved")= logi FALSE [13:14:01.406] - attr(*, "total_size")= num 848 [13:14:01.406] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.406] - attr(*, "already-done")= logi TRUE [13:14:01.413] - copied '...future.FUN' to environment [13:14:01.414] - copied 'future.call.arguments' to environment [13:14:01.414] - copied '...future.elements_ii' to environment [13:14:01.414] - copied '...future.seeds_ii' to environment [13:14:01.414] - copied '...future.globals.maxSize' to environment [13:14:01.414] assign_globals() ... done [13:14:01.416] plan(): Setting new future strategy stack: [13:14:01.416] List of future strategies: [13:14:01.416] 1. sequential: [13:14:01.416] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.416] - tweaked: FALSE [13:14:01.416] - call: NULL [13:14:01.416] plan(): nbrOfWorkers() = 1 [13:14:01.418] plan(): Setting new future strategy stack: [13:14:01.418] List of future strategies: [13:14:01.418] 1. sequential: [13:14:01.418] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.418] - tweaked: FALSE [13:14:01.418] - call: plan(strategy) [13:14:01.418] plan(): nbrOfWorkers() = 1 [13:14:01.419] SequentialFuture started (and completed) [13:14:01.419] - Launch lazy future ... done [13:14:01.419] run() for 'SequentialFuture' ... done [13:14:01.419] Created future: [13:14:01.419] SequentialFuture: [13:14:01.419] Label: 'future_sapply-1' [13:14:01.419] Expression: [13:14:01.419] { [13:14:01.419] do.call(function(...) { [13:14:01.419] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.419] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.419] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.419] on.exit(options(oopts), add = TRUE) [13:14:01.419] } [13:14:01.419] { [13:14:01.419] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.419] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.419] ...future.FUN(...future.X_jj, ...) [13:14:01.419] }) [13:14:01.419] } [13:14:01.419] }, args = future.call.arguments) [13:14:01.419] } [13:14:01.419] Lazy evaluation: FALSE [13:14:01.419] Asynchronous evaluation: FALSE [13:14:01.419] Local evaluation: TRUE [13:14:01.419] Environment: R_GlobalEnv [13:14:01.419] Capture standard output: TRUE [13:14:01.419] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.419] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.419] Packages: [13:14:01.419] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.419] Resolved: TRUE [13:14:01.419] Value: 336 bytes of class 'list' [13:14:01.419] Early signaling: FALSE [13:14:01.419] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.419] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.421] Chunk #1 of 1 ... DONE [13:14:01.421] Launching 1 futures (chunks) ... DONE [13:14:01.421] Resolving 1 futures (chunks) ... [13:14:01.421] resolve() on list ... [13:14:01.421] recursive: 0 [13:14:01.422] length: 1 [13:14:01.422] [13:14:01.422] resolved() for 'SequentialFuture' ... [13:14:01.422] - state: 'finished' [13:14:01.422] - run: TRUE [13:14:01.422] - result: 'FutureResult' [13:14:01.423] resolved() for 'SequentialFuture' ... done [13:14:01.423] Future #1 [13:14:01.423] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.423] - nx: 1 [13:14:01.423] - relay: TRUE [13:14:01.424] - stdout: TRUE [13:14:01.424] - signal: TRUE [13:14:01.424] - resignal: FALSE [13:14:01.424] - force: TRUE [13:14:01.424] - relayed: [n=1] FALSE [13:14:01.424] - queued futures: [n=1] FALSE [13:14:01.424] - until=1 [13:14:01.425] - relaying element #1 [13:14:01.425] - relayed: [n=1] TRUE [13:14:01.425] - queued futures: [n=1] TRUE [13:14:01.425] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.425] length: 0 (resolved future 1) [13:14:01.426] Relaying remaining futures [13:14:01.426] signalConditionsASAP(NULL, pos=0) ... [13:14:01.426] - nx: 1 [13:14:01.426] - relay: TRUE [13:14:01.426] - stdout: TRUE [13:14:01.426] - signal: TRUE [13:14:01.426] - resignal: FALSE [13:14:01.427] - force: TRUE [13:14:01.427] - relayed: [n=1] TRUE [13:14:01.427] - queued futures: [n=1] TRUE - flush all [13:14:01.427] - relayed: [n=1] TRUE [13:14:01.427] - queued futures: [n=1] TRUE [13:14:01.427] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.428] resolve() on list ... DONE [13:14:01.428] - Number of value chunks collected: 1 [13:14:01.428] Resolving 1 futures (chunks) ... DONE [13:14:01.428] Reducing values from 1 chunks ... [13:14:01.428] - Number of values collected after concatenation: 6 [13:14:01.428] - Number of values expected: 6 [13:14:01.429] Reducing values from 1 chunks ... DONE [13:14:01.429] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.431] future_lapply() ... [13:14:01.431] Number of chunks: 1 [13:14:01.432] getGlobalsAndPackagesXApply() ... [13:14:01.432] - future.globals: TRUE [13:14:01.432] getGlobalsAndPackages() ... [13:14:01.432] Searching for globals... [13:14:01.433] - globals found: [2] 'FUN', 'UseMethod' [13:14:01.433] Searching for globals ... DONE [13:14:01.434] Resolving globals: FALSE [13:14:01.434] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:01.434] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:01.435] - globals: [1] 'FUN' [13:14:01.435] [13:14:01.435] getGlobalsAndPackages() ... DONE [13:14:01.435] - globals found/used: [n=1] 'FUN' [13:14:01.435] - needed namespaces: [n=0] [13:14:01.435] Finding globals ... DONE [13:14:01.436] - use_args: TRUE [13:14:01.436] - Getting '...' globals ... [13:14:01.436] resolve() on list ... [13:14:01.436] recursive: 0 [13:14:01.436] length: 1 [13:14:01.437] elements: '...' [13:14:01.437] length: 0 (resolved future 1) [13:14:01.437] resolve() on list ... DONE [13:14:01.437] - '...' content: [n=0] [13:14:01.437] List of 1 [13:14:01.437] $ ...: list() [13:14:01.437] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.437] - attr(*, "where")=List of 1 [13:14:01.437] ..$ ...: [13:14:01.437] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.437] - attr(*, "resolved")= logi TRUE [13:14:01.437] - attr(*, "total_size")= num NA [13:14:01.440] - Getting '...' globals ... DONE [13:14:01.441] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.441] List of 2 [13:14:01.441] $ ...future.FUN:function (x, ...) [13:14:01.441] $ ... : list() [13:14:01.441] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.441] - attr(*, "where")=List of 2 [13:14:01.441] ..$ ...future.FUN: [13:14:01.441] ..$ ... : [13:14:01.441] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.441] - attr(*, "resolved")= logi FALSE [13:14:01.441] - attr(*, "total_size")= num 1248 [13:14:01.445] Packages to be attached in all futures: [n=0] [13:14:01.445] getGlobalsAndPackagesXApply() ... DONE [13:14:01.445] Number of futures (= number of chunks): 1 [13:14:01.446] Launching 1 futures (chunks) ... [13:14:01.446] Chunk #1 of 1 ... [13:14:01.446] - Finding globals in 'X' for chunk #1 ... [13:14:01.446] getGlobalsAndPackages() ... [13:14:01.446] Searching for globals... [13:14:01.447] [13:14:01.447] Searching for globals ... DONE [13:14:01.447] - globals: [0] [13:14:01.447] getGlobalsAndPackages() ... DONE [13:14:01.447] + additional globals found: [n=0] [13:14:01.447] + additional namespaces needed: [n=0] [13:14:01.448] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.448] - seeds: [13:14:01.448] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.448] getGlobalsAndPackages() ... [13:14:01.448] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.448] Resolving globals: FALSE [13:14:01.449] Tweak future expression to call with '...' arguments ... [13:14:01.449] { [13:14:01.449] do.call(function(...) { [13:14:01.449] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.449] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.449] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.449] on.exit(options(oopts), add = TRUE) [13:14:01.449] } [13:14:01.449] { [13:14:01.449] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.449] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.449] ...future.FUN(...future.X_jj, ...) [13:14:01.449] }) [13:14:01.449] } [13:14:01.449] }, args = future.call.arguments) [13:14:01.449] } [13:14:01.449] Tweak future expression to call with '...' arguments ... DONE [13:14:01.450] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.450] [13:14:01.450] getGlobalsAndPackages() ... DONE [13:14:01.450] run() for 'Future' ... [13:14:01.451] - state: 'created' [13:14:01.451] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.451] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.451] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.452] - Field: 'label' [13:14:01.452] - Field: 'local' [13:14:01.452] - Field: 'owner' [13:14:01.452] - Field: 'envir' [13:14:01.452] - Field: 'packages' [13:14:01.452] - Field: 'gc' [13:14:01.453] - Field: 'conditions' [13:14:01.453] - Field: 'expr' [13:14:01.453] - Field: 'uuid' [13:14:01.453] - Field: 'seed' [13:14:01.453] - Field: 'version' [13:14:01.453] - Field: 'result' [13:14:01.454] - Field: 'asynchronous' [13:14:01.454] - Field: 'calls' [13:14:01.454] - Field: 'globals' [13:14:01.454] - Field: 'stdout' [13:14:01.454] - Field: 'earlySignal' [13:14:01.454] - Field: 'lazy' [13:14:01.455] - Field: 'state' [13:14:01.455] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.455] - Launch lazy future ... [13:14:01.455] Packages needed by the future expression (n = 0): [13:14:01.455] Packages needed by future strategies (n = 0): [13:14:01.456] { [13:14:01.456] { [13:14:01.456] { [13:14:01.456] ...future.startTime <- base::Sys.time() [13:14:01.456] { [13:14:01.456] { [13:14:01.456] { [13:14:01.456] base::local({ [13:14:01.456] has_future <- base::requireNamespace("future", [13:14:01.456] quietly = TRUE) [13:14:01.456] if (has_future) { [13:14:01.456] ns <- base::getNamespace("future") [13:14:01.456] version <- ns[[".package"]][["version"]] [13:14:01.456] if (is.null(version)) [13:14:01.456] version <- utils::packageVersion("future") [13:14:01.456] } [13:14:01.456] else { [13:14:01.456] version <- NULL [13:14:01.456] } [13:14:01.456] if (!has_future || version < "1.8.0") { [13:14:01.456] info <- base::c(r_version = base::gsub("R version ", [13:14:01.456] "", base::R.version$version.string), [13:14:01.456] platform = base::sprintf("%s (%s-bit)", [13:14:01.456] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.456] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.456] "release", "version")], collapse = " "), [13:14:01.456] hostname = base::Sys.info()[["nodename"]]) [13:14:01.456] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.456] info) [13:14:01.456] info <- base::paste(info, collapse = "; ") [13:14:01.456] if (!has_future) { [13:14:01.456] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.456] info) [13:14:01.456] } [13:14:01.456] else { [13:14:01.456] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.456] info, version) [13:14:01.456] } [13:14:01.456] base::stop(msg) [13:14:01.456] } [13:14:01.456] }) [13:14:01.456] } [13:14:01.456] options(future.plan = NULL) [13:14:01.456] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.456] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.456] } [13:14:01.456] ...future.workdir <- getwd() [13:14:01.456] } [13:14:01.456] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.456] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.456] } [13:14:01.456] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.456] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.456] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.456] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.456] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.456] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.456] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.456] base::names(...future.oldOptions)) [13:14:01.456] } [13:14:01.456] if (FALSE) { [13:14:01.456] } [13:14:01.456] else { [13:14:01.456] if (TRUE) { [13:14:01.456] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.456] open = "w") [13:14:01.456] } [13:14:01.456] else { [13:14:01.456] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.456] windows = "NUL", "/dev/null"), open = "w") [13:14:01.456] } [13:14:01.456] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.456] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.456] base::sink(type = "output", split = FALSE) [13:14:01.456] base::close(...future.stdout) [13:14:01.456] }, add = TRUE) [13:14:01.456] } [13:14:01.456] ...future.frame <- base::sys.nframe() [13:14:01.456] ...future.conditions <- base::list() [13:14:01.456] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.456] if (FALSE) { [13:14:01.456] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.456] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.456] } [13:14:01.456] ...future.result <- base::tryCatch({ [13:14:01.456] base::withCallingHandlers({ [13:14:01.456] ...future.value <- base::withVisible(base::local({ [13:14:01.456] do.call(function(...) { [13:14:01.456] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.456] if (!identical(...future.globals.maxSize.org, [13:14:01.456] ...future.globals.maxSize)) { [13:14:01.456] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.456] on.exit(options(oopts), add = TRUE) [13:14:01.456] } [13:14:01.456] { [13:14:01.456] lapply(seq_along(...future.elements_ii), [13:14:01.456] FUN = function(jj) { [13:14:01.456] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.456] ...future.FUN(...future.X_jj, ...) [13:14:01.456] }) [13:14:01.456] } [13:14:01.456] }, args = future.call.arguments) [13:14:01.456] })) [13:14:01.456] future::FutureResult(value = ...future.value$value, [13:14:01.456] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.456] ...future.rng), globalenv = if (FALSE) [13:14:01.456] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.456] ...future.globalenv.names)) [13:14:01.456] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.456] }, condition = base::local({ [13:14:01.456] c <- base::c [13:14:01.456] inherits <- base::inherits [13:14:01.456] invokeRestart <- base::invokeRestart [13:14:01.456] length <- base::length [13:14:01.456] list <- base::list [13:14:01.456] seq.int <- base::seq.int [13:14:01.456] signalCondition <- base::signalCondition [13:14:01.456] sys.calls <- base::sys.calls [13:14:01.456] `[[` <- base::`[[` [13:14:01.456] `+` <- base::`+` [13:14:01.456] `<<-` <- base::`<<-` [13:14:01.456] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.456] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.456] 3L)] [13:14:01.456] } [13:14:01.456] function(cond) { [13:14:01.456] is_error <- inherits(cond, "error") [13:14:01.456] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.456] NULL) [13:14:01.456] if (is_error) { [13:14:01.456] sessionInformation <- function() { [13:14:01.456] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.456] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.456] search = base::search(), system = base::Sys.info()) [13:14:01.456] } [13:14:01.456] ...future.conditions[[length(...future.conditions) + [13:14:01.456] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.456] cond$call), session = sessionInformation(), [13:14:01.456] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.456] signalCondition(cond) [13:14:01.456] } [13:14:01.456] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.456] "immediateCondition"))) { [13:14:01.456] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.456] ...future.conditions[[length(...future.conditions) + [13:14:01.456] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.456] if (TRUE && !signal) { [13:14:01.456] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.456] { [13:14:01.456] inherits <- base::inherits [13:14:01.456] invokeRestart <- base::invokeRestart [13:14:01.456] is.null <- base::is.null [13:14:01.456] muffled <- FALSE [13:14:01.456] if (inherits(cond, "message")) { [13:14:01.456] muffled <- grepl(pattern, "muffleMessage") [13:14:01.456] if (muffled) [13:14:01.456] invokeRestart("muffleMessage") [13:14:01.456] } [13:14:01.456] else if (inherits(cond, "warning")) { [13:14:01.456] muffled <- grepl(pattern, "muffleWarning") [13:14:01.456] if (muffled) [13:14:01.456] invokeRestart("muffleWarning") [13:14:01.456] } [13:14:01.456] else if (inherits(cond, "condition")) { [13:14:01.456] if (!is.null(pattern)) { [13:14:01.456] computeRestarts <- base::computeRestarts [13:14:01.456] grepl <- base::grepl [13:14:01.456] restarts <- computeRestarts(cond) [13:14:01.456] for (restart in restarts) { [13:14:01.456] name <- restart$name [13:14:01.456] if (is.null(name)) [13:14:01.456] next [13:14:01.456] if (!grepl(pattern, name)) [13:14:01.456] next [13:14:01.456] invokeRestart(restart) [13:14:01.456] muffled <- TRUE [13:14:01.456] break [13:14:01.456] } [13:14:01.456] } [13:14:01.456] } [13:14:01.456] invisible(muffled) [13:14:01.456] } [13:14:01.456] muffleCondition(cond, pattern = "^muffle") [13:14:01.456] } [13:14:01.456] } [13:14:01.456] else { [13:14:01.456] if (TRUE) { [13:14:01.456] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.456] { [13:14:01.456] inherits <- base::inherits [13:14:01.456] invokeRestart <- base::invokeRestart [13:14:01.456] is.null <- base::is.null [13:14:01.456] muffled <- FALSE [13:14:01.456] if (inherits(cond, "message")) { [13:14:01.456] muffled <- grepl(pattern, "muffleMessage") [13:14:01.456] if (muffled) [13:14:01.456] invokeRestart("muffleMessage") [13:14:01.456] } [13:14:01.456] else if (inherits(cond, "warning")) { [13:14:01.456] muffled <- grepl(pattern, "muffleWarning") [13:14:01.456] if (muffled) [13:14:01.456] invokeRestart("muffleWarning") [13:14:01.456] } [13:14:01.456] else if (inherits(cond, "condition")) { [13:14:01.456] if (!is.null(pattern)) { [13:14:01.456] computeRestarts <- base::computeRestarts [13:14:01.456] grepl <- base::grepl [13:14:01.456] restarts <- computeRestarts(cond) [13:14:01.456] for (restart in restarts) { [13:14:01.456] name <- restart$name [13:14:01.456] if (is.null(name)) [13:14:01.456] next [13:14:01.456] if (!grepl(pattern, name)) [13:14:01.456] next [13:14:01.456] invokeRestart(restart) [13:14:01.456] muffled <- TRUE [13:14:01.456] break [13:14:01.456] } [13:14:01.456] } [13:14:01.456] } [13:14:01.456] invisible(muffled) [13:14:01.456] } [13:14:01.456] muffleCondition(cond, pattern = "^muffle") [13:14:01.456] } [13:14:01.456] } [13:14:01.456] } [13:14:01.456] })) [13:14:01.456] }, error = function(ex) { [13:14:01.456] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.456] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.456] ...future.rng), started = ...future.startTime, [13:14:01.456] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.456] version = "1.8"), class = "FutureResult") [13:14:01.456] }, finally = { [13:14:01.456] if (!identical(...future.workdir, getwd())) [13:14:01.456] setwd(...future.workdir) [13:14:01.456] { [13:14:01.456] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.456] ...future.oldOptions$nwarnings <- NULL [13:14:01.456] } [13:14:01.456] base::options(...future.oldOptions) [13:14:01.456] if (.Platform$OS.type == "windows") { [13:14:01.456] old_names <- names(...future.oldEnvVars) [13:14:01.456] envs <- base::Sys.getenv() [13:14:01.456] names <- names(envs) [13:14:01.456] common <- intersect(names, old_names) [13:14:01.456] added <- setdiff(names, old_names) [13:14:01.456] removed <- setdiff(old_names, names) [13:14:01.456] changed <- common[...future.oldEnvVars[common] != [13:14:01.456] envs[common]] [13:14:01.456] NAMES <- toupper(changed) [13:14:01.456] args <- list() [13:14:01.456] for (kk in seq_along(NAMES)) { [13:14:01.456] name <- changed[[kk]] [13:14:01.456] NAME <- NAMES[[kk]] [13:14:01.456] if (name != NAME && is.element(NAME, old_names)) [13:14:01.456] next [13:14:01.456] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.456] } [13:14:01.456] NAMES <- toupper(added) [13:14:01.456] for (kk in seq_along(NAMES)) { [13:14:01.456] name <- added[[kk]] [13:14:01.456] NAME <- NAMES[[kk]] [13:14:01.456] if (name != NAME && is.element(NAME, old_names)) [13:14:01.456] next [13:14:01.456] args[[name]] <- "" [13:14:01.456] } [13:14:01.456] NAMES <- toupper(removed) [13:14:01.456] for (kk in seq_along(NAMES)) { [13:14:01.456] name <- removed[[kk]] [13:14:01.456] NAME <- NAMES[[kk]] [13:14:01.456] if (name != NAME && is.element(NAME, old_names)) [13:14:01.456] next [13:14:01.456] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.456] } [13:14:01.456] if (length(args) > 0) [13:14:01.456] base::do.call(base::Sys.setenv, args = args) [13:14:01.456] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.456] } [13:14:01.456] else { [13:14:01.456] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.456] } [13:14:01.456] { [13:14:01.456] if (base::length(...future.futureOptionsAdded) > [13:14:01.456] 0L) { [13:14:01.456] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.456] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.456] base::options(opts) [13:14:01.456] } [13:14:01.456] { [13:14:01.456] { [13:14:01.456] NULL [13:14:01.456] RNGkind("Mersenne-Twister") [13:14:01.456] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.456] inherits = FALSE) [13:14:01.456] } [13:14:01.456] options(future.plan = NULL) [13:14:01.456] if (is.na(NA_character_)) [13:14:01.456] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.456] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.456] future::plan(list(function (..., envir = parent.frame()) [13:14:01.456] { [13:14:01.456] future <- SequentialFuture(..., envir = envir) [13:14:01.456] if (!future$lazy) [13:14:01.456] future <- run(future) [13:14:01.456] invisible(future) [13:14:01.456] }), .cleanup = FALSE, .init = FALSE) [13:14:01.456] } [13:14:01.456] } [13:14:01.456] } [13:14:01.456] }) [13:14:01.456] if (TRUE) { [13:14:01.456] base::sink(type = "output", split = FALSE) [13:14:01.456] if (TRUE) { [13:14:01.456] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.456] } [13:14:01.456] else { [13:14:01.456] ...future.result["stdout"] <- base::list(NULL) [13:14:01.456] } [13:14:01.456] base::close(...future.stdout) [13:14:01.456] ...future.stdout <- NULL [13:14:01.456] } [13:14:01.456] ...future.result$conditions <- ...future.conditions [13:14:01.456] ...future.result$finished <- base::Sys.time() [13:14:01.456] ...future.result [13:14:01.456] } [13:14:01.460] assign_globals() ... [13:14:01.460] List of 5 [13:14:01.460] $ ...future.FUN :function (x, ...) [13:14:01.460] $ future.call.arguments : list() [13:14:01.460] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.460] $ ...future.elements_ii :List of 6 [13:14:01.460] ..$ a1: int 1 [13:14:01.460] ..$ a2: int 2 [13:14:01.460] ..$ b1: int 2 [13:14:01.460] ..$ b2: int 3 [13:14:01.460] ..$ c1: int 3 [13:14:01.460] ..$ c2: int 4 [13:14:01.460] $ ...future.seeds_ii : NULL [13:14:01.460] $ ...future.globals.maxSize: NULL [13:14:01.460] - attr(*, "where")=List of 5 [13:14:01.460] ..$ ...future.FUN : [13:14:01.460] ..$ future.call.arguments : [13:14:01.460] ..$ ...future.elements_ii : [13:14:01.460] ..$ ...future.seeds_ii : [13:14:01.460] ..$ ...future.globals.maxSize: [13:14:01.460] - attr(*, "resolved")= logi FALSE [13:14:01.460] - attr(*, "total_size")= num 1248 [13:14:01.460] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.460] - attr(*, "already-done")= logi TRUE [13:14:01.468] - copied '...future.FUN' to environment [13:14:01.468] - copied 'future.call.arguments' to environment [13:14:01.468] - copied '...future.elements_ii' to environment [13:14:01.469] - copied '...future.seeds_ii' to environment [13:14:01.469] - copied '...future.globals.maxSize' to environment [13:14:01.469] assign_globals() ... done [13:14:01.470] plan(): Setting new future strategy stack: [13:14:01.470] List of future strategies: [13:14:01.470] 1. sequential: [13:14:01.470] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.470] - tweaked: FALSE [13:14:01.470] - call: NULL [13:14:01.471] plan(): nbrOfWorkers() = 1 [13:14:01.472] plan(): Setting new future strategy stack: [13:14:01.472] List of future strategies: [13:14:01.472] 1. sequential: [13:14:01.472] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.472] - tweaked: FALSE [13:14:01.472] - call: plan(strategy) [13:14:01.473] plan(): nbrOfWorkers() = 1 [13:14:01.473] SequentialFuture started (and completed) [13:14:01.473] - Launch lazy future ... done [13:14:01.473] run() for 'SequentialFuture' ... done [13:14:01.474] Created future: [13:14:01.474] SequentialFuture: [13:14:01.474] Label: 'future_sapply-1' [13:14:01.474] Expression: [13:14:01.474] { [13:14:01.474] do.call(function(...) { [13:14:01.474] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.474] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.474] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.474] on.exit(options(oopts), add = TRUE) [13:14:01.474] } [13:14:01.474] { [13:14:01.474] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.474] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.474] ...future.FUN(...future.X_jj, ...) [13:14:01.474] }) [13:14:01.474] } [13:14:01.474] }, args = future.call.arguments) [13:14:01.474] } [13:14:01.474] Lazy evaluation: FALSE [13:14:01.474] Asynchronous evaluation: FALSE [13:14:01.474] Local evaluation: TRUE [13:14:01.474] Environment: R_GlobalEnv [13:14:01.474] Capture standard output: TRUE [13:14:01.474] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.474] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.474] Packages: [13:14:01.474] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.474] Resolved: TRUE [13:14:01.474] Value: 1.31 KiB of class 'list' [13:14:01.474] Early signaling: FALSE [13:14:01.474] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.474] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.475] Chunk #1 of 1 ... DONE [13:14:01.475] Launching 1 futures (chunks) ... DONE [13:14:01.475] Resolving 1 futures (chunks) ... [13:14:01.476] resolve() on list ... [13:14:01.476] recursive: 0 [13:14:01.476] length: 1 [13:14:01.476] [13:14:01.476] resolved() for 'SequentialFuture' ... [13:14:01.476] - state: 'finished' [13:14:01.477] - run: TRUE [13:14:01.477] - result: 'FutureResult' [13:14:01.477] resolved() for 'SequentialFuture' ... done [13:14:01.477] Future #1 [13:14:01.477] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.478] - nx: 1 [13:14:01.478] - relay: TRUE [13:14:01.478] - stdout: TRUE [13:14:01.478] - signal: TRUE [13:14:01.478] - resignal: FALSE [13:14:01.478] - force: TRUE [13:14:01.478] - relayed: [n=1] FALSE [13:14:01.479] - queued futures: [n=1] FALSE [13:14:01.479] - until=1 [13:14:01.479] - relaying element #1 [13:14:01.479] - relayed: [n=1] TRUE [13:14:01.479] - queued futures: [n=1] TRUE [13:14:01.480] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.480] length: 0 (resolved future 1) [13:14:01.480] Relaying remaining futures [13:14:01.480] signalConditionsASAP(NULL, pos=0) ... [13:14:01.480] - nx: 1 [13:14:01.480] - relay: TRUE [13:14:01.480] - stdout: TRUE [13:14:01.481] - signal: TRUE [13:14:01.481] - resignal: FALSE [13:14:01.481] - force: TRUE [13:14:01.481] - relayed: [n=1] TRUE [13:14:01.481] - queued futures: [n=1] TRUE - flush all [13:14:01.481] - relayed: [n=1] TRUE [13:14:01.482] - queued futures: [n=1] TRUE [13:14:01.482] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.482] resolve() on list ... DONE [13:14:01.482] - Number of value chunks collected: 1 [13:14:01.482] Resolving 1 futures (chunks) ... DONE [13:14:01.482] Reducing values from 1 chunks ... [13:14:01.483] - Number of values collected after concatenation: 6 [13:14:01.483] - Number of values expected: 6 [13:14:01.483] Reducing values from 1 chunks ... DONE [13:14:01.483] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.485] future_lapply() ... [13:14:01.486] Number of chunks: 1 [13:14:01.486] getGlobalsAndPackagesXApply() ... [13:14:01.487] - future.globals: TRUE [13:14:01.487] getGlobalsAndPackages() ... [13:14:01.487] Searching for globals... [13:14:01.489] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:01.489] Searching for globals ... DONE [13:14:01.489] Resolving globals: FALSE [13:14:01.489] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:01.490] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:01.490] - globals: [1] 'FUN' [13:14:01.490] [13:14:01.490] getGlobalsAndPackages() ... DONE [13:14:01.491] - globals found/used: [n=1] 'FUN' [13:14:01.491] - needed namespaces: [n=0] [13:14:01.491] Finding globals ... DONE [13:14:01.491] - use_args: TRUE [13:14:01.491] - Getting '...' globals ... [13:14:01.492] resolve() on list ... [13:14:01.492] recursive: 0 [13:14:01.492] length: 1 [13:14:01.492] elements: '...' [13:14:01.492] length: 0 (resolved future 1) [13:14:01.492] resolve() on list ... DONE [13:14:01.493] - '...' content: [n=0] [13:14:01.493] List of 1 [13:14:01.493] $ ...: list() [13:14:01.493] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.493] - attr(*, "where")=List of 1 [13:14:01.493] ..$ ...: [13:14:01.493] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.493] - attr(*, "resolved")= logi TRUE [13:14:01.493] - attr(*, "total_size")= num NA [13:14:01.497] - Getting '...' globals ... DONE [13:14:01.497] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.497] List of 2 [13:14:01.497] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:01.497] $ ... : list() [13:14:01.497] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.497] - attr(*, "where")=List of 2 [13:14:01.497] ..$ ...future.FUN: [13:14:01.497] ..$ ... : [13:14:01.497] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.497] - attr(*, "resolved")= logi FALSE [13:14:01.497] - attr(*, "total_size")= num 4728 [13:14:01.501] Packages to be attached in all futures: [n=0] [13:14:01.501] getGlobalsAndPackagesXApply() ... DONE [13:14:01.501] Number of futures (= number of chunks): 1 [13:14:01.501] Launching 1 futures (chunks) ... [13:14:01.502] Chunk #1 of 1 ... [13:14:01.502] - Finding globals in 'X' for chunk #1 ... [13:14:01.502] getGlobalsAndPackages() ... [13:14:01.502] Searching for globals... [13:14:01.502] [13:14:01.503] Searching for globals ... DONE [13:14:01.503] - globals: [0] [13:14:01.503] getGlobalsAndPackages() ... DONE [13:14:01.503] + additional globals found: [n=0] [13:14:01.503] + additional namespaces needed: [n=0] [13:14:01.503] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.503] - seeds: [13:14:01.504] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.504] getGlobalsAndPackages() ... [13:14:01.504] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.504] Resolving globals: FALSE [13:14:01.504] Tweak future expression to call with '...' arguments ... [13:14:01.505] { [13:14:01.505] do.call(function(...) { [13:14:01.505] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.505] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.505] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.505] on.exit(options(oopts), add = TRUE) [13:14:01.505] } [13:14:01.505] { [13:14:01.505] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.505] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.505] ...future.FUN(...future.X_jj, ...) [13:14:01.505] }) [13:14:01.505] } [13:14:01.505] }, args = future.call.arguments) [13:14:01.505] } [13:14:01.505] Tweak future expression to call with '...' arguments ... DONE [13:14:01.505] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.506] [13:14:01.506] getGlobalsAndPackages() ... DONE [13:14:01.506] run() for 'Future' ... [13:14:01.506] - state: 'created' [13:14:01.507] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.507] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.507] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.507] - Field: 'label' [13:14:01.507] - Field: 'local' [13:14:01.508] - Field: 'owner' [13:14:01.508] - Field: 'envir' [13:14:01.508] - Field: 'packages' [13:14:01.508] - Field: 'gc' [13:14:01.508] - Field: 'conditions' [13:14:01.509] - Field: 'expr' [13:14:01.509] - Field: 'uuid' [13:14:01.509] - Field: 'seed' [13:14:01.509] - Field: 'version' [13:14:01.509] - Field: 'result' [13:14:01.509] - Field: 'asynchronous' [13:14:01.510] - Field: 'calls' [13:14:01.510] - Field: 'globals' [13:14:01.510] - Field: 'stdout' [13:14:01.510] - Field: 'earlySignal' [13:14:01.510] - Field: 'lazy' [13:14:01.510] - Field: 'state' [13:14:01.511] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.511] - Launch lazy future ... [13:14:01.511] Packages needed by the future expression (n = 0): [13:14:01.511] Packages needed by future strategies (n = 0): [13:14:01.512] { [13:14:01.512] { [13:14:01.512] { [13:14:01.512] ...future.startTime <- base::Sys.time() [13:14:01.512] { [13:14:01.512] { [13:14:01.512] { [13:14:01.512] base::local({ [13:14:01.512] has_future <- base::requireNamespace("future", [13:14:01.512] quietly = TRUE) [13:14:01.512] if (has_future) { [13:14:01.512] ns <- base::getNamespace("future") [13:14:01.512] version <- ns[[".package"]][["version"]] [13:14:01.512] if (is.null(version)) [13:14:01.512] version <- utils::packageVersion("future") [13:14:01.512] } [13:14:01.512] else { [13:14:01.512] version <- NULL [13:14:01.512] } [13:14:01.512] if (!has_future || version < "1.8.0") { [13:14:01.512] info <- base::c(r_version = base::gsub("R version ", [13:14:01.512] "", base::R.version$version.string), [13:14:01.512] platform = base::sprintf("%s (%s-bit)", [13:14:01.512] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.512] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.512] "release", "version")], collapse = " "), [13:14:01.512] hostname = base::Sys.info()[["nodename"]]) [13:14:01.512] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.512] info) [13:14:01.512] info <- base::paste(info, collapse = "; ") [13:14:01.512] if (!has_future) { [13:14:01.512] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.512] info) [13:14:01.512] } [13:14:01.512] else { [13:14:01.512] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.512] info, version) [13:14:01.512] } [13:14:01.512] base::stop(msg) [13:14:01.512] } [13:14:01.512] }) [13:14:01.512] } [13:14:01.512] options(future.plan = NULL) [13:14:01.512] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.512] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.512] } [13:14:01.512] ...future.workdir <- getwd() [13:14:01.512] } [13:14:01.512] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.512] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.512] } [13:14:01.512] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.512] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.512] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.512] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.512] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.512] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.512] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.512] base::names(...future.oldOptions)) [13:14:01.512] } [13:14:01.512] if (FALSE) { [13:14:01.512] } [13:14:01.512] else { [13:14:01.512] if (TRUE) { [13:14:01.512] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.512] open = "w") [13:14:01.512] } [13:14:01.512] else { [13:14:01.512] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.512] windows = "NUL", "/dev/null"), open = "w") [13:14:01.512] } [13:14:01.512] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.512] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.512] base::sink(type = "output", split = FALSE) [13:14:01.512] base::close(...future.stdout) [13:14:01.512] }, add = TRUE) [13:14:01.512] } [13:14:01.512] ...future.frame <- base::sys.nframe() [13:14:01.512] ...future.conditions <- base::list() [13:14:01.512] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.512] if (FALSE) { [13:14:01.512] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.512] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.512] } [13:14:01.512] ...future.result <- base::tryCatch({ [13:14:01.512] base::withCallingHandlers({ [13:14:01.512] ...future.value <- base::withVisible(base::local({ [13:14:01.512] do.call(function(...) { [13:14:01.512] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.512] if (!identical(...future.globals.maxSize.org, [13:14:01.512] ...future.globals.maxSize)) { [13:14:01.512] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.512] on.exit(options(oopts), add = TRUE) [13:14:01.512] } [13:14:01.512] { [13:14:01.512] lapply(seq_along(...future.elements_ii), [13:14:01.512] FUN = function(jj) { [13:14:01.512] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.512] ...future.FUN(...future.X_jj, ...) [13:14:01.512] }) [13:14:01.512] } [13:14:01.512] }, args = future.call.arguments) [13:14:01.512] })) [13:14:01.512] future::FutureResult(value = ...future.value$value, [13:14:01.512] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.512] ...future.rng), globalenv = if (FALSE) [13:14:01.512] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.512] ...future.globalenv.names)) [13:14:01.512] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.512] }, condition = base::local({ [13:14:01.512] c <- base::c [13:14:01.512] inherits <- base::inherits [13:14:01.512] invokeRestart <- base::invokeRestart [13:14:01.512] length <- base::length [13:14:01.512] list <- base::list [13:14:01.512] seq.int <- base::seq.int [13:14:01.512] signalCondition <- base::signalCondition [13:14:01.512] sys.calls <- base::sys.calls [13:14:01.512] `[[` <- base::`[[` [13:14:01.512] `+` <- base::`+` [13:14:01.512] `<<-` <- base::`<<-` [13:14:01.512] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.512] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.512] 3L)] [13:14:01.512] } [13:14:01.512] function(cond) { [13:14:01.512] is_error <- inherits(cond, "error") [13:14:01.512] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.512] NULL) [13:14:01.512] if (is_error) { [13:14:01.512] sessionInformation <- function() { [13:14:01.512] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.512] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.512] search = base::search(), system = base::Sys.info()) [13:14:01.512] } [13:14:01.512] ...future.conditions[[length(...future.conditions) + [13:14:01.512] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.512] cond$call), session = sessionInformation(), [13:14:01.512] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.512] signalCondition(cond) [13:14:01.512] } [13:14:01.512] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.512] "immediateCondition"))) { [13:14:01.512] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.512] ...future.conditions[[length(...future.conditions) + [13:14:01.512] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.512] if (TRUE && !signal) { [13:14:01.512] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.512] { [13:14:01.512] inherits <- base::inherits [13:14:01.512] invokeRestart <- base::invokeRestart [13:14:01.512] is.null <- base::is.null [13:14:01.512] muffled <- FALSE [13:14:01.512] if (inherits(cond, "message")) { [13:14:01.512] muffled <- grepl(pattern, "muffleMessage") [13:14:01.512] if (muffled) [13:14:01.512] invokeRestart("muffleMessage") [13:14:01.512] } [13:14:01.512] else if (inherits(cond, "warning")) { [13:14:01.512] muffled <- grepl(pattern, "muffleWarning") [13:14:01.512] if (muffled) [13:14:01.512] invokeRestart("muffleWarning") [13:14:01.512] } [13:14:01.512] else if (inherits(cond, "condition")) { [13:14:01.512] if (!is.null(pattern)) { [13:14:01.512] computeRestarts <- base::computeRestarts [13:14:01.512] grepl <- base::grepl [13:14:01.512] restarts <- computeRestarts(cond) [13:14:01.512] for (restart in restarts) { [13:14:01.512] name <- restart$name [13:14:01.512] if (is.null(name)) [13:14:01.512] next [13:14:01.512] if (!grepl(pattern, name)) [13:14:01.512] next [13:14:01.512] invokeRestart(restart) [13:14:01.512] muffled <- TRUE [13:14:01.512] break [13:14:01.512] } [13:14:01.512] } [13:14:01.512] } [13:14:01.512] invisible(muffled) [13:14:01.512] } [13:14:01.512] muffleCondition(cond, pattern = "^muffle") [13:14:01.512] } [13:14:01.512] } [13:14:01.512] else { [13:14:01.512] if (TRUE) { [13:14:01.512] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.512] { [13:14:01.512] inherits <- base::inherits [13:14:01.512] invokeRestart <- base::invokeRestart [13:14:01.512] is.null <- base::is.null [13:14:01.512] muffled <- FALSE [13:14:01.512] if (inherits(cond, "message")) { [13:14:01.512] muffled <- grepl(pattern, "muffleMessage") [13:14:01.512] if (muffled) [13:14:01.512] invokeRestart("muffleMessage") [13:14:01.512] } [13:14:01.512] else if (inherits(cond, "warning")) { [13:14:01.512] muffled <- grepl(pattern, "muffleWarning") [13:14:01.512] if (muffled) [13:14:01.512] invokeRestart("muffleWarning") [13:14:01.512] } [13:14:01.512] else if (inherits(cond, "condition")) { [13:14:01.512] if (!is.null(pattern)) { [13:14:01.512] computeRestarts <- base::computeRestarts [13:14:01.512] grepl <- base::grepl [13:14:01.512] restarts <- computeRestarts(cond) [13:14:01.512] for (restart in restarts) { [13:14:01.512] name <- restart$name [13:14:01.512] if (is.null(name)) [13:14:01.512] next [13:14:01.512] if (!grepl(pattern, name)) [13:14:01.512] next [13:14:01.512] invokeRestart(restart) [13:14:01.512] muffled <- TRUE [13:14:01.512] break [13:14:01.512] } [13:14:01.512] } [13:14:01.512] } [13:14:01.512] invisible(muffled) [13:14:01.512] } [13:14:01.512] muffleCondition(cond, pattern = "^muffle") [13:14:01.512] } [13:14:01.512] } [13:14:01.512] } [13:14:01.512] })) [13:14:01.512] }, error = function(ex) { [13:14:01.512] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.512] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.512] ...future.rng), started = ...future.startTime, [13:14:01.512] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.512] version = "1.8"), class = "FutureResult") [13:14:01.512] }, finally = { [13:14:01.512] if (!identical(...future.workdir, getwd())) [13:14:01.512] setwd(...future.workdir) [13:14:01.512] { [13:14:01.512] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.512] ...future.oldOptions$nwarnings <- NULL [13:14:01.512] } [13:14:01.512] base::options(...future.oldOptions) [13:14:01.512] if (.Platform$OS.type == "windows") { [13:14:01.512] old_names <- names(...future.oldEnvVars) [13:14:01.512] envs <- base::Sys.getenv() [13:14:01.512] names <- names(envs) [13:14:01.512] common <- intersect(names, old_names) [13:14:01.512] added <- setdiff(names, old_names) [13:14:01.512] removed <- setdiff(old_names, names) [13:14:01.512] changed <- common[...future.oldEnvVars[common] != [13:14:01.512] envs[common]] [13:14:01.512] NAMES <- toupper(changed) [13:14:01.512] args <- list() [13:14:01.512] for (kk in seq_along(NAMES)) { [13:14:01.512] name <- changed[[kk]] [13:14:01.512] NAME <- NAMES[[kk]] [13:14:01.512] if (name != NAME && is.element(NAME, old_names)) [13:14:01.512] next [13:14:01.512] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.512] } [13:14:01.512] NAMES <- toupper(added) [13:14:01.512] for (kk in seq_along(NAMES)) { [13:14:01.512] name <- added[[kk]] [13:14:01.512] NAME <- NAMES[[kk]] [13:14:01.512] if (name != NAME && is.element(NAME, old_names)) [13:14:01.512] next [13:14:01.512] args[[name]] <- "" [13:14:01.512] } [13:14:01.512] NAMES <- toupper(removed) [13:14:01.512] for (kk in seq_along(NAMES)) { [13:14:01.512] name <- removed[[kk]] [13:14:01.512] NAME <- NAMES[[kk]] [13:14:01.512] if (name != NAME && is.element(NAME, old_names)) [13:14:01.512] next [13:14:01.512] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.512] } [13:14:01.512] if (length(args) > 0) [13:14:01.512] base::do.call(base::Sys.setenv, args = args) [13:14:01.512] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.512] } [13:14:01.512] else { [13:14:01.512] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.512] } [13:14:01.512] { [13:14:01.512] if (base::length(...future.futureOptionsAdded) > [13:14:01.512] 0L) { [13:14:01.512] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.512] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.512] base::options(opts) [13:14:01.512] } [13:14:01.512] { [13:14:01.512] { [13:14:01.512] NULL [13:14:01.512] RNGkind("Mersenne-Twister") [13:14:01.512] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.512] inherits = FALSE) [13:14:01.512] } [13:14:01.512] options(future.plan = NULL) [13:14:01.512] if (is.na(NA_character_)) [13:14:01.512] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.512] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.512] future::plan(list(function (..., envir = parent.frame()) [13:14:01.512] { [13:14:01.512] future <- SequentialFuture(..., envir = envir) [13:14:01.512] if (!future$lazy) [13:14:01.512] future <- run(future) [13:14:01.512] invisible(future) [13:14:01.512] }), .cleanup = FALSE, .init = FALSE) [13:14:01.512] } [13:14:01.512] } [13:14:01.512] } [13:14:01.512] }) [13:14:01.512] if (TRUE) { [13:14:01.512] base::sink(type = "output", split = FALSE) [13:14:01.512] if (TRUE) { [13:14:01.512] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.512] } [13:14:01.512] else { [13:14:01.512] ...future.result["stdout"] <- base::list(NULL) [13:14:01.512] } [13:14:01.512] base::close(...future.stdout) [13:14:01.512] ...future.stdout <- NULL [13:14:01.512] } [13:14:01.512] ...future.result$conditions <- ...future.conditions [13:14:01.512] ...future.result$finished <- base::Sys.time() [13:14:01.512] ...future.result [13:14:01.512] } [13:14:01.516] assign_globals() ... [13:14:01.516] List of 5 [13:14:01.516] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:01.516] $ future.call.arguments : list() [13:14:01.516] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.516] $ ...future.elements_ii :List of 6 [13:14:01.516] ..$ a1: int 1 [13:14:01.516] ..$ a2: int 2 [13:14:01.516] ..$ b1: int 2 [13:14:01.516] ..$ b2: int 3 [13:14:01.516] ..$ c1: int 3 [13:14:01.516] ..$ c2: int 4 [13:14:01.516] $ ...future.seeds_ii : NULL [13:14:01.516] $ ...future.globals.maxSize: NULL [13:14:01.516] - attr(*, "where")=List of 5 [13:14:01.516] ..$ ...future.FUN : [13:14:01.516] ..$ future.call.arguments : [13:14:01.516] ..$ ...future.elements_ii : [13:14:01.516] ..$ ...future.seeds_ii : [13:14:01.516] ..$ ...future.globals.maxSize: [13:14:01.516] - attr(*, "resolved")= logi FALSE [13:14:01.516] - attr(*, "total_size")= num 4728 [13:14:01.516] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.516] - attr(*, "already-done")= logi TRUE [13:14:01.524] - reassign environment for '...future.FUN' [13:14:01.525] - copied '...future.FUN' to environment [13:14:01.525] - copied 'future.call.arguments' to environment [13:14:01.525] - copied '...future.elements_ii' to environment [13:14:01.525] - copied '...future.seeds_ii' to environment [13:14:01.525] - copied '...future.globals.maxSize' to environment [13:14:01.525] assign_globals() ... done [13:14:01.526] plan(): Setting new future strategy stack: [13:14:01.526] List of future strategies: [13:14:01.526] 1. sequential: [13:14:01.526] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.526] - tweaked: FALSE [13:14:01.526] - call: NULL [13:14:01.527] plan(): nbrOfWorkers() = 1 [13:14:01.528] plan(): Setting new future strategy stack: [13:14:01.528] List of future strategies: [13:14:01.528] 1. sequential: [13:14:01.528] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.528] - tweaked: FALSE [13:14:01.528] - call: plan(strategy) [13:14:01.529] plan(): nbrOfWorkers() = 1 [13:14:01.529] SequentialFuture started (and completed) [13:14:01.529] - Launch lazy future ... done [13:14:01.529] run() for 'SequentialFuture' ... done [13:14:01.529] Created future: [13:14:01.530] SequentialFuture: [13:14:01.530] Label: 'future_sapply-1' [13:14:01.530] Expression: [13:14:01.530] { [13:14:01.530] do.call(function(...) { [13:14:01.530] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.530] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.530] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.530] on.exit(options(oopts), add = TRUE) [13:14:01.530] } [13:14:01.530] { [13:14:01.530] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.530] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.530] ...future.FUN(...future.X_jj, ...) [13:14:01.530] }) [13:14:01.530] } [13:14:01.530] }, args = future.call.arguments) [13:14:01.530] } [13:14:01.530] Lazy evaluation: FALSE [13:14:01.530] Asynchronous evaluation: FALSE [13:14:01.530] Local evaluation: TRUE [13:14:01.530] Environment: R_GlobalEnv [13:14:01.530] Capture standard output: TRUE [13:14:01.530] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.530] Globals: 5 objects totaling 4.95 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.530] Packages: [13:14:01.530] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.530] Resolved: TRUE [13:14:01.530] Value: 2.02 KiB of class 'list' [13:14:01.530] Early signaling: FALSE [13:14:01.530] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.530] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.531] Chunk #1 of 1 ... DONE [13:14:01.531] Launching 1 futures (chunks) ... DONE [13:14:01.531] Resolving 1 futures (chunks) ... [13:14:01.531] resolve() on list ... [13:14:01.532] recursive: 0 [13:14:01.532] length: 1 [13:14:01.532] [13:14:01.532] resolved() for 'SequentialFuture' ... [13:14:01.532] - state: 'finished' [13:14:01.532] - run: TRUE [13:14:01.533] - result: 'FutureResult' [13:14:01.533] resolved() for 'SequentialFuture' ... done [13:14:01.533] Future #1 [13:14:01.533] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.533] - nx: 1 [13:14:01.533] - relay: TRUE [13:14:01.534] - stdout: TRUE [13:14:01.534] - signal: TRUE [13:14:01.534] - resignal: FALSE [13:14:01.534] - force: TRUE [13:14:01.534] - relayed: [n=1] FALSE [13:14:01.534] - queued futures: [n=1] FALSE [13:14:01.535] - until=1 [13:14:01.535] - relaying element #1 [13:14:01.535] - relayed: [n=1] TRUE [13:14:01.535] - queued futures: [n=1] TRUE [13:14:01.535] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.535] length: 0 (resolved future 1) [13:14:01.536] Relaying remaining futures [13:14:01.536] signalConditionsASAP(NULL, pos=0) ... [13:14:01.536] - nx: 1 [13:14:01.536] - relay: TRUE [13:14:01.536] - stdout: TRUE [13:14:01.536] - signal: TRUE [13:14:01.537] - resignal: FALSE [13:14:01.537] - force: TRUE [13:14:01.537] - relayed: [n=1] TRUE [13:14:01.537] - queued futures: [n=1] TRUE - flush all [13:14:01.537] - relayed: [n=1] TRUE [13:14:01.537] - queued futures: [n=1] TRUE [13:14:01.538] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.538] resolve() on list ... DONE [13:14:01.538] - Number of value chunks collected: 1 [13:14:01.538] Resolving 1 futures (chunks) ... DONE [13:14:01.538] Reducing values from 1 chunks ... [13:14:01.538] - Number of values collected after concatenation: 6 [13:14:01.539] - Number of values expected: 6 [13:14:01.539] Reducing values from 1 chunks ... DONE [13:14:01.539] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.542] future_lapply() ... [13:14:01.543] Number of chunks: 1 [13:14:01.543] getGlobalsAndPackagesXApply() ... [13:14:01.543] - future.globals: TRUE [13:14:01.544] getGlobalsAndPackages() ... [13:14:01.544] Searching for globals... [13:14:01.545] - globals found: [1] 'FUN' [13:14:01.545] Searching for globals ... DONE [13:14:01.545] Resolving globals: FALSE [13:14:01.546] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:01.546] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:01.546] - globals: [1] 'FUN' [13:14:01.546] [13:14:01.547] getGlobalsAndPackages() ... DONE [13:14:01.547] - globals found/used: [n=1] 'FUN' [13:14:01.547] - needed namespaces: [n=0] [13:14:01.547] Finding globals ... DONE [13:14:01.547] - use_args: TRUE [13:14:01.548] - Getting '...' globals ... [13:14:01.549] resolve() on list ... [13:14:01.549] recursive: 0 [13:14:01.549] length: 1 [13:14:01.549] elements: '...' [13:14:01.549] length: 0 (resolved future 1) [13:14:01.550] resolve() on list ... DONE [13:14:01.550] - '...' content: [n=0] [13:14:01.550] List of 1 [13:14:01.550] $ ...: list() [13:14:01.550] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.550] - attr(*, "where")=List of 1 [13:14:01.550] ..$ ...: [13:14:01.550] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.550] - attr(*, "resolved")= logi TRUE [13:14:01.550] - attr(*, "total_size")= num NA [13:14:01.553] - Getting '...' globals ... DONE [13:14:01.553] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.553] List of 2 [13:14:01.553] $ ...future.FUN:function (x) [13:14:01.553] $ ... : list() [13:14:01.553] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.553] - attr(*, "where")=List of 2 [13:14:01.553] ..$ ...future.FUN: [13:14:01.553] ..$ ... : [13:14:01.553] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.553] - attr(*, "resolved")= logi FALSE [13:14:01.553] - attr(*, "total_size")= num 848 [13:14:01.557] Packages to be attached in all futures: [n=0] [13:14:01.557] getGlobalsAndPackagesXApply() ... DONE [13:14:01.557] Number of futures (= number of chunks): 1 [13:14:01.557] Launching 1 futures (chunks) ... [13:14:01.557] Chunk #1 of 1 ... [13:14:01.558] - Finding globals in 'X' for chunk #1 ... [13:14:01.558] getGlobalsAndPackages() ... [13:14:01.558] Searching for globals... [13:14:01.558] [13:14:01.558] Searching for globals ... DONE [13:14:01.559] - globals: [0] [13:14:01.559] getGlobalsAndPackages() ... DONE [13:14:01.559] + additional globals found: [n=0] [13:14:01.559] + additional namespaces needed: [n=0] [13:14:01.559] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.559] - seeds: [13:14:01.560] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.560] getGlobalsAndPackages() ... [13:14:01.560] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.560] Resolving globals: FALSE [13:14:01.560] Tweak future expression to call with '...' arguments ... [13:14:01.560] { [13:14:01.560] do.call(function(...) { [13:14:01.560] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.560] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.560] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.560] on.exit(options(oopts), add = TRUE) [13:14:01.560] } [13:14:01.560] { [13:14:01.560] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.560] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.560] ...future.FUN(...future.X_jj, ...) [13:14:01.560] }) [13:14:01.560] } [13:14:01.560] }, args = future.call.arguments) [13:14:01.560] } [13:14:01.561] Tweak future expression to call with '...' arguments ... DONE [13:14:01.561] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.562] [13:14:01.562] getGlobalsAndPackages() ... DONE [13:14:01.562] run() for 'Future' ... [13:14:01.562] - state: 'created' [13:14:01.562] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.563] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.563] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.563] - Field: 'label' [13:14:01.563] - Field: 'local' [13:14:01.564] - Field: 'owner' [13:14:01.564] - Field: 'envir' [13:14:01.564] - Field: 'packages' [13:14:01.564] - Field: 'gc' [13:14:01.564] - Field: 'conditions' [13:14:01.564] - Field: 'expr' [13:14:01.565] - Field: 'uuid' [13:14:01.565] - Field: 'seed' [13:14:01.565] - Field: 'version' [13:14:01.565] - Field: 'result' [13:14:01.565] - Field: 'asynchronous' [13:14:01.565] - Field: 'calls' [13:14:01.566] - Field: 'globals' [13:14:01.566] - Field: 'stdout' [13:14:01.566] - Field: 'earlySignal' [13:14:01.566] - Field: 'lazy' [13:14:01.566] - Field: 'state' [13:14:01.567] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.567] - Launch lazy future ... [13:14:01.567] Packages needed by the future expression (n = 0): [13:14:01.567] Packages needed by future strategies (n = 0): [13:14:01.568] { [13:14:01.568] { [13:14:01.568] { [13:14:01.568] ...future.startTime <- base::Sys.time() [13:14:01.568] { [13:14:01.568] { [13:14:01.568] { [13:14:01.568] base::local({ [13:14:01.568] has_future <- base::requireNamespace("future", [13:14:01.568] quietly = TRUE) [13:14:01.568] if (has_future) { [13:14:01.568] ns <- base::getNamespace("future") [13:14:01.568] version <- ns[[".package"]][["version"]] [13:14:01.568] if (is.null(version)) [13:14:01.568] version <- utils::packageVersion("future") [13:14:01.568] } [13:14:01.568] else { [13:14:01.568] version <- NULL [13:14:01.568] } [13:14:01.568] if (!has_future || version < "1.8.0") { [13:14:01.568] info <- base::c(r_version = base::gsub("R version ", [13:14:01.568] "", base::R.version$version.string), [13:14:01.568] platform = base::sprintf("%s (%s-bit)", [13:14:01.568] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.568] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.568] "release", "version")], collapse = " "), [13:14:01.568] hostname = base::Sys.info()[["nodename"]]) [13:14:01.568] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.568] info) [13:14:01.568] info <- base::paste(info, collapse = "; ") [13:14:01.568] if (!has_future) { [13:14:01.568] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.568] info) [13:14:01.568] } [13:14:01.568] else { [13:14:01.568] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.568] info, version) [13:14:01.568] } [13:14:01.568] base::stop(msg) [13:14:01.568] } [13:14:01.568] }) [13:14:01.568] } [13:14:01.568] options(future.plan = NULL) [13:14:01.568] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.568] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.568] } [13:14:01.568] ...future.workdir <- getwd() [13:14:01.568] } [13:14:01.568] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.568] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.568] } [13:14:01.568] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.568] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.568] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.568] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.568] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.568] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.568] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.568] base::names(...future.oldOptions)) [13:14:01.568] } [13:14:01.568] if (FALSE) { [13:14:01.568] } [13:14:01.568] else { [13:14:01.568] if (TRUE) { [13:14:01.568] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.568] open = "w") [13:14:01.568] } [13:14:01.568] else { [13:14:01.568] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.568] windows = "NUL", "/dev/null"), open = "w") [13:14:01.568] } [13:14:01.568] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.568] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.568] base::sink(type = "output", split = FALSE) [13:14:01.568] base::close(...future.stdout) [13:14:01.568] }, add = TRUE) [13:14:01.568] } [13:14:01.568] ...future.frame <- base::sys.nframe() [13:14:01.568] ...future.conditions <- base::list() [13:14:01.568] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.568] if (FALSE) { [13:14:01.568] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.568] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.568] } [13:14:01.568] ...future.result <- base::tryCatch({ [13:14:01.568] base::withCallingHandlers({ [13:14:01.568] ...future.value <- base::withVisible(base::local({ [13:14:01.568] do.call(function(...) { [13:14:01.568] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.568] if (!identical(...future.globals.maxSize.org, [13:14:01.568] ...future.globals.maxSize)) { [13:14:01.568] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.568] on.exit(options(oopts), add = TRUE) [13:14:01.568] } [13:14:01.568] { [13:14:01.568] lapply(seq_along(...future.elements_ii), [13:14:01.568] FUN = function(jj) { [13:14:01.568] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.568] ...future.FUN(...future.X_jj, ...) [13:14:01.568] }) [13:14:01.568] } [13:14:01.568] }, args = future.call.arguments) [13:14:01.568] })) [13:14:01.568] future::FutureResult(value = ...future.value$value, [13:14:01.568] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.568] ...future.rng), globalenv = if (FALSE) [13:14:01.568] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.568] ...future.globalenv.names)) [13:14:01.568] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.568] }, condition = base::local({ [13:14:01.568] c <- base::c [13:14:01.568] inherits <- base::inherits [13:14:01.568] invokeRestart <- base::invokeRestart [13:14:01.568] length <- base::length [13:14:01.568] list <- base::list [13:14:01.568] seq.int <- base::seq.int [13:14:01.568] signalCondition <- base::signalCondition [13:14:01.568] sys.calls <- base::sys.calls [13:14:01.568] `[[` <- base::`[[` [13:14:01.568] `+` <- base::`+` [13:14:01.568] `<<-` <- base::`<<-` [13:14:01.568] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.568] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.568] 3L)] [13:14:01.568] } [13:14:01.568] function(cond) { [13:14:01.568] is_error <- inherits(cond, "error") [13:14:01.568] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.568] NULL) [13:14:01.568] if (is_error) { [13:14:01.568] sessionInformation <- function() { [13:14:01.568] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.568] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.568] search = base::search(), system = base::Sys.info()) [13:14:01.568] } [13:14:01.568] ...future.conditions[[length(...future.conditions) + [13:14:01.568] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.568] cond$call), session = sessionInformation(), [13:14:01.568] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.568] signalCondition(cond) [13:14:01.568] } [13:14:01.568] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.568] "immediateCondition"))) { [13:14:01.568] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.568] ...future.conditions[[length(...future.conditions) + [13:14:01.568] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.568] if (TRUE && !signal) { [13:14:01.568] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.568] { [13:14:01.568] inherits <- base::inherits [13:14:01.568] invokeRestart <- base::invokeRestart [13:14:01.568] is.null <- base::is.null [13:14:01.568] muffled <- FALSE [13:14:01.568] if (inherits(cond, "message")) { [13:14:01.568] muffled <- grepl(pattern, "muffleMessage") [13:14:01.568] if (muffled) [13:14:01.568] invokeRestart("muffleMessage") [13:14:01.568] } [13:14:01.568] else if (inherits(cond, "warning")) { [13:14:01.568] muffled <- grepl(pattern, "muffleWarning") [13:14:01.568] if (muffled) [13:14:01.568] invokeRestart("muffleWarning") [13:14:01.568] } [13:14:01.568] else if (inherits(cond, "condition")) { [13:14:01.568] if (!is.null(pattern)) { [13:14:01.568] computeRestarts <- base::computeRestarts [13:14:01.568] grepl <- base::grepl [13:14:01.568] restarts <- computeRestarts(cond) [13:14:01.568] for (restart in restarts) { [13:14:01.568] name <- restart$name [13:14:01.568] if (is.null(name)) [13:14:01.568] next [13:14:01.568] if (!grepl(pattern, name)) [13:14:01.568] next [13:14:01.568] invokeRestart(restart) [13:14:01.568] muffled <- TRUE [13:14:01.568] break [13:14:01.568] } [13:14:01.568] } [13:14:01.568] } [13:14:01.568] invisible(muffled) [13:14:01.568] } [13:14:01.568] muffleCondition(cond, pattern = "^muffle") [13:14:01.568] } [13:14:01.568] } [13:14:01.568] else { [13:14:01.568] if (TRUE) { [13:14:01.568] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.568] { [13:14:01.568] inherits <- base::inherits [13:14:01.568] invokeRestart <- base::invokeRestart [13:14:01.568] is.null <- base::is.null [13:14:01.568] muffled <- FALSE [13:14:01.568] if (inherits(cond, "message")) { [13:14:01.568] muffled <- grepl(pattern, "muffleMessage") [13:14:01.568] if (muffled) [13:14:01.568] invokeRestart("muffleMessage") [13:14:01.568] } [13:14:01.568] else if (inherits(cond, "warning")) { [13:14:01.568] muffled <- grepl(pattern, "muffleWarning") [13:14:01.568] if (muffled) [13:14:01.568] invokeRestart("muffleWarning") [13:14:01.568] } [13:14:01.568] else if (inherits(cond, "condition")) { [13:14:01.568] if (!is.null(pattern)) { [13:14:01.568] computeRestarts <- base::computeRestarts [13:14:01.568] grepl <- base::grepl [13:14:01.568] restarts <- computeRestarts(cond) [13:14:01.568] for (restart in restarts) { [13:14:01.568] name <- restart$name [13:14:01.568] if (is.null(name)) [13:14:01.568] next [13:14:01.568] if (!grepl(pattern, name)) [13:14:01.568] next [13:14:01.568] invokeRestart(restart) [13:14:01.568] muffled <- TRUE [13:14:01.568] break [13:14:01.568] } [13:14:01.568] } [13:14:01.568] } [13:14:01.568] invisible(muffled) [13:14:01.568] } [13:14:01.568] muffleCondition(cond, pattern = "^muffle") [13:14:01.568] } [13:14:01.568] } [13:14:01.568] } [13:14:01.568] })) [13:14:01.568] }, error = function(ex) { [13:14:01.568] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.568] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.568] ...future.rng), started = ...future.startTime, [13:14:01.568] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.568] version = "1.8"), class = "FutureResult") [13:14:01.568] }, finally = { [13:14:01.568] if (!identical(...future.workdir, getwd())) [13:14:01.568] setwd(...future.workdir) [13:14:01.568] { [13:14:01.568] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.568] ...future.oldOptions$nwarnings <- NULL [13:14:01.568] } [13:14:01.568] base::options(...future.oldOptions) [13:14:01.568] if (.Platform$OS.type == "windows") { [13:14:01.568] old_names <- names(...future.oldEnvVars) [13:14:01.568] envs <- base::Sys.getenv() [13:14:01.568] names <- names(envs) [13:14:01.568] common <- intersect(names, old_names) [13:14:01.568] added <- setdiff(names, old_names) [13:14:01.568] removed <- setdiff(old_names, names) [13:14:01.568] changed <- common[...future.oldEnvVars[common] != [13:14:01.568] envs[common]] [13:14:01.568] NAMES <- toupper(changed) [13:14:01.568] args <- list() [13:14:01.568] for (kk in seq_along(NAMES)) { [13:14:01.568] name <- changed[[kk]] [13:14:01.568] NAME <- NAMES[[kk]] [13:14:01.568] if (name != NAME && is.element(NAME, old_names)) [13:14:01.568] next [13:14:01.568] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.568] } [13:14:01.568] NAMES <- toupper(added) [13:14:01.568] for (kk in seq_along(NAMES)) { [13:14:01.568] name <- added[[kk]] [13:14:01.568] NAME <- NAMES[[kk]] [13:14:01.568] if (name != NAME && is.element(NAME, old_names)) [13:14:01.568] next [13:14:01.568] args[[name]] <- "" [13:14:01.568] } [13:14:01.568] NAMES <- toupper(removed) [13:14:01.568] for (kk in seq_along(NAMES)) { [13:14:01.568] name <- removed[[kk]] [13:14:01.568] NAME <- NAMES[[kk]] [13:14:01.568] if (name != NAME && is.element(NAME, old_names)) [13:14:01.568] next [13:14:01.568] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.568] } [13:14:01.568] if (length(args) > 0) [13:14:01.568] base::do.call(base::Sys.setenv, args = args) [13:14:01.568] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.568] } [13:14:01.568] else { [13:14:01.568] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.568] } [13:14:01.568] { [13:14:01.568] if (base::length(...future.futureOptionsAdded) > [13:14:01.568] 0L) { [13:14:01.568] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.568] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.568] base::options(opts) [13:14:01.568] } [13:14:01.568] { [13:14:01.568] { [13:14:01.568] NULL [13:14:01.568] RNGkind("Mersenne-Twister") [13:14:01.568] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.568] inherits = FALSE) [13:14:01.568] } [13:14:01.568] options(future.plan = NULL) [13:14:01.568] if (is.na(NA_character_)) [13:14:01.568] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.568] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.568] future::plan(list(function (..., envir = parent.frame()) [13:14:01.568] { [13:14:01.568] future <- SequentialFuture(..., envir = envir) [13:14:01.568] if (!future$lazy) [13:14:01.568] future <- run(future) [13:14:01.568] invisible(future) [13:14:01.568] }), .cleanup = FALSE, .init = FALSE) [13:14:01.568] } [13:14:01.568] } [13:14:01.568] } [13:14:01.568] }) [13:14:01.568] if (TRUE) { [13:14:01.568] base::sink(type = "output", split = FALSE) [13:14:01.568] if (TRUE) { [13:14:01.568] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.568] } [13:14:01.568] else { [13:14:01.568] ...future.result["stdout"] <- base::list(NULL) [13:14:01.568] } [13:14:01.568] base::close(...future.stdout) [13:14:01.568] ...future.stdout <- NULL [13:14:01.568] } [13:14:01.568] ...future.result$conditions <- ...future.conditions [13:14:01.568] ...future.result$finished <- base::Sys.time() [13:14:01.568] ...future.result [13:14:01.568] } [13:14:01.572] assign_globals() ... [13:14:01.572] List of 5 [13:14:01.572] $ ...future.FUN :function (x) [13:14:01.572] $ future.call.arguments : list() [13:14:01.572] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.572] $ ...future.elements_ii :List of 6 [13:14:01.572] ..$ a1: int 1 [13:14:01.572] ..$ a2: int 2 [13:14:01.572] ..$ b1: int 2 [13:14:01.572] ..$ b2: int 3 [13:14:01.572] ..$ c1: int 3 [13:14:01.572] ..$ c2: int 4 [13:14:01.572] $ ...future.seeds_ii : NULL [13:14:01.572] $ ...future.globals.maxSize: NULL [13:14:01.572] - attr(*, "where")=List of 5 [13:14:01.572] ..$ ...future.FUN : [13:14:01.572] ..$ future.call.arguments : [13:14:01.572] ..$ ...future.elements_ii : [13:14:01.572] ..$ ...future.seeds_ii : [13:14:01.572] ..$ ...future.globals.maxSize: [13:14:01.572] - attr(*, "resolved")= logi FALSE [13:14:01.572] - attr(*, "total_size")= num 848 [13:14:01.572] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.572] - attr(*, "already-done")= logi TRUE [13:14:01.580] - copied '...future.FUN' to environment [13:14:01.580] - copied 'future.call.arguments' to environment [13:14:01.581] - copied '...future.elements_ii' to environment [13:14:01.581] - copied '...future.seeds_ii' to environment [13:14:01.581] - copied '...future.globals.maxSize' to environment [13:14:01.581] assign_globals() ... done [13:14:01.581] plan(): Setting new future strategy stack: [13:14:01.582] List of future strategies: [13:14:01.582] 1. sequential: [13:14:01.582] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.582] - tweaked: FALSE [13:14:01.582] - call: NULL [13:14:01.582] plan(): nbrOfWorkers() = 1 [13:14:01.583] plan(): Setting new future strategy stack: [13:14:01.584] List of future strategies: [13:14:01.584] 1. sequential: [13:14:01.584] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.584] - tweaked: FALSE [13:14:01.584] - call: plan(strategy) [13:14:01.584] plan(): nbrOfWorkers() = 1 [13:14:01.584] SequentialFuture started (and completed) [13:14:01.585] - Launch lazy future ... done [13:14:01.585] run() for 'SequentialFuture' ... done [13:14:01.585] Created future: [13:14:01.585] SequentialFuture: [13:14:01.585] Label: 'future_sapply-1' [13:14:01.585] Expression: [13:14:01.585] { [13:14:01.585] do.call(function(...) { [13:14:01.585] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.585] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.585] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.585] on.exit(options(oopts), add = TRUE) [13:14:01.585] } [13:14:01.585] { [13:14:01.585] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.585] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.585] ...future.FUN(...future.X_jj, ...) [13:14:01.585] }) [13:14:01.585] } [13:14:01.585] }, args = future.call.arguments) [13:14:01.585] } [13:14:01.585] Lazy evaluation: FALSE [13:14:01.585] Asynchronous evaluation: FALSE [13:14:01.585] Local evaluation: TRUE [13:14:01.585] Environment: R_GlobalEnv [13:14:01.585] Capture standard output: TRUE [13:14:01.585] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.585] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.585] Packages: [13:14:01.585] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.585] Resolved: TRUE [13:14:01.585] Value: 336 bytes of class 'list' [13:14:01.585] Early signaling: FALSE [13:14:01.585] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.585] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.586] Chunk #1 of 1 ... DONE [13:14:01.587] Launching 1 futures (chunks) ... DONE [13:14:01.587] Resolving 1 futures (chunks) ... [13:14:01.587] resolve() on list ... [13:14:01.587] recursive: 0 [13:14:01.587] length: 1 [13:14:01.587] [13:14:01.588] resolved() for 'SequentialFuture' ... [13:14:01.588] - state: 'finished' [13:14:01.588] - run: TRUE [13:14:01.588] - result: 'FutureResult' [13:14:01.588] resolved() for 'SequentialFuture' ... done [13:14:01.589] Future #1 [13:14:01.589] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.589] - nx: 1 [13:14:01.589] - relay: TRUE [13:14:01.589] - stdout: TRUE [13:14:01.589] - signal: TRUE [13:14:01.590] - resignal: FALSE [13:14:01.590] - force: TRUE [13:14:01.590] - relayed: [n=1] FALSE [13:14:01.590] - queued futures: [n=1] FALSE [13:14:01.590] - until=1 [13:14:01.590] - relaying element #1 [13:14:01.591] - relayed: [n=1] TRUE [13:14:01.591] - queued futures: [n=1] TRUE [13:14:01.591] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.591] length: 0 (resolved future 1) [13:14:01.591] Relaying remaining futures [13:14:01.591] signalConditionsASAP(NULL, pos=0) ... [13:14:01.592] - nx: 1 [13:14:01.592] - relay: TRUE [13:14:01.592] - stdout: TRUE [13:14:01.592] - signal: TRUE [13:14:01.592] - resignal: FALSE [13:14:01.592] - force: TRUE [13:14:01.592] - relayed: [n=1] TRUE [13:14:01.593] - queued futures: [n=1] TRUE - flush all [13:14:01.593] - relayed: [n=1] TRUE [13:14:01.593] - queued futures: [n=1] TRUE [13:14:01.593] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.593] resolve() on list ... DONE [13:14:01.594] - Number of value chunks collected: 1 [13:14:01.594] Resolving 1 futures (chunks) ... DONE [13:14:01.594] Reducing values from 1 chunks ... [13:14:01.594] - Number of values collected after concatenation: 6 [13:14:01.594] - Number of values expected: 6 [13:14:01.594] Reducing values from 1 chunks ... DONE [13:14:01.594] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y1:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y2:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 [13:14:01.606] future_lapply() ... [13:14:01.607] Number of chunks: 1 [13:14:01.607] getGlobalsAndPackagesXApply() ... [13:14:01.607] - future.globals: TRUE [13:14:01.607] getGlobalsAndPackages() ... [13:14:01.607] Searching for globals... [13:14:01.609] - globals found: [2] 'FUN', 'UseMethod' [13:14:01.609] Searching for globals ... DONE [13:14:01.609] Resolving globals: FALSE [13:14:01.609] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:01.610] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:01.610] - globals: [1] 'FUN' [13:14:01.610] [13:14:01.610] getGlobalsAndPackages() ... DONE [13:14:01.611] - globals found/used: [n=1] 'FUN' [13:14:01.611] - needed namespaces: [n=0] [13:14:01.611] Finding globals ... DONE [13:14:01.611] - use_args: TRUE [13:14:01.611] - Getting '...' globals ... [13:14:01.612] resolve() on list ... [13:14:01.612] recursive: 0 [13:14:01.612] length: 1 [13:14:01.612] elements: '...' [13:14:01.612] length: 0 (resolved future 1) [13:14:01.612] resolve() on list ... DONE [13:14:01.613] - '...' content: [n=0] [13:14:01.613] List of 1 [13:14:01.613] $ ...: list() [13:14:01.613] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.613] - attr(*, "where")=List of 1 [13:14:01.613] ..$ ...: [13:14:01.613] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.613] - attr(*, "resolved")= logi TRUE [13:14:01.613] - attr(*, "total_size")= num NA [13:14:01.616] - Getting '...' globals ... DONE [13:14:01.616] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.616] List of 2 [13:14:01.616] $ ...future.FUN:function (x, ...) [13:14:01.616] $ ... : list() [13:14:01.616] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.616] - attr(*, "where")=List of 2 [13:14:01.616] ..$ ...future.FUN: [13:14:01.616] ..$ ... : [13:14:01.616] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.616] - attr(*, "resolved")= logi FALSE [13:14:01.616] - attr(*, "total_size")= num 1248 [13:14:01.620] Packages to be attached in all futures: [n=0] [13:14:01.620] getGlobalsAndPackagesXApply() ... DONE [13:14:01.621] Number of futures (= number of chunks): 1 [13:14:01.621] Launching 1 futures (chunks) ... [13:14:01.621] Chunk #1 of 1 ... [13:14:01.621] - Finding globals in 'X' for chunk #1 ... [13:14:01.621] getGlobalsAndPackages() ... [13:14:01.622] Searching for globals... [13:14:01.622] [13:14:01.622] Searching for globals ... DONE [13:14:01.622] - globals: [0] [13:14:01.622] getGlobalsAndPackages() ... DONE [13:14:01.623] + additional globals found: [n=0] [13:14:01.623] + additional namespaces needed: [n=0] [13:14:01.623] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.623] - seeds: [13:14:01.623] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.623] getGlobalsAndPackages() ... [13:14:01.624] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.624] Resolving globals: FALSE [13:14:01.624] Tweak future expression to call with '...' arguments ... [13:14:01.624] { [13:14:01.624] do.call(function(...) { [13:14:01.624] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.624] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.624] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.624] on.exit(options(oopts), add = TRUE) [13:14:01.624] } [13:14:01.624] { [13:14:01.624] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.624] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.624] ...future.FUN(...future.X_jj, ...) [13:14:01.624] }) [13:14:01.624] } [13:14:01.624] }, args = future.call.arguments) [13:14:01.624] } [13:14:01.625] Tweak future expression to call with '...' arguments ... DONE [13:14:01.625] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.625] [13:14:01.625] getGlobalsAndPackages() ... DONE [13:14:01.626] run() for 'Future' ... [13:14:01.626] - state: 'created' [13:14:01.626] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.626] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.627] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.627] - Field: 'label' [13:14:01.627] - Field: 'local' [13:14:01.627] - Field: 'owner' [13:14:01.627] - Field: 'envir' [13:14:01.628] - Field: 'packages' [13:14:01.628] - Field: 'gc' [13:14:01.628] - Field: 'conditions' [13:14:01.628] - Field: 'expr' [13:14:01.628] - Field: 'uuid' [13:14:01.628] - Field: 'seed' [13:14:01.629] - Field: 'version' [13:14:01.629] - Field: 'result' [13:14:01.629] - Field: 'asynchronous' [13:14:01.629] - Field: 'calls' [13:14:01.629] - Field: 'globals' [13:14:01.629] - Field: 'stdout' [13:14:01.630] - Field: 'earlySignal' [13:14:01.630] - Field: 'lazy' [13:14:01.630] - Field: 'state' [13:14:01.630] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.630] - Launch lazy future ... [13:14:01.631] Packages needed by the future expression (n = 0): [13:14:01.631] Packages needed by future strategies (n = 0): [13:14:01.631] { [13:14:01.631] { [13:14:01.631] { [13:14:01.631] ...future.startTime <- base::Sys.time() [13:14:01.631] { [13:14:01.631] { [13:14:01.631] { [13:14:01.631] base::local({ [13:14:01.631] has_future <- base::requireNamespace("future", [13:14:01.631] quietly = TRUE) [13:14:01.631] if (has_future) { [13:14:01.631] ns <- base::getNamespace("future") [13:14:01.631] version <- ns[[".package"]][["version"]] [13:14:01.631] if (is.null(version)) [13:14:01.631] version <- utils::packageVersion("future") [13:14:01.631] } [13:14:01.631] else { [13:14:01.631] version <- NULL [13:14:01.631] } [13:14:01.631] if (!has_future || version < "1.8.0") { [13:14:01.631] info <- base::c(r_version = base::gsub("R version ", [13:14:01.631] "", base::R.version$version.string), [13:14:01.631] platform = base::sprintf("%s (%s-bit)", [13:14:01.631] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.631] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.631] "release", "version")], collapse = " "), [13:14:01.631] hostname = base::Sys.info()[["nodename"]]) [13:14:01.631] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.631] info) [13:14:01.631] info <- base::paste(info, collapse = "; ") [13:14:01.631] if (!has_future) { [13:14:01.631] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.631] info) [13:14:01.631] } [13:14:01.631] else { [13:14:01.631] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.631] info, version) [13:14:01.631] } [13:14:01.631] base::stop(msg) [13:14:01.631] } [13:14:01.631] }) [13:14:01.631] } [13:14:01.631] options(future.plan = NULL) [13:14:01.631] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.631] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.631] } [13:14:01.631] ...future.workdir <- getwd() [13:14:01.631] } [13:14:01.631] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.631] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.631] } [13:14:01.631] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.631] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.631] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.631] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.631] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.631] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.631] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.631] base::names(...future.oldOptions)) [13:14:01.631] } [13:14:01.631] if (FALSE) { [13:14:01.631] } [13:14:01.631] else { [13:14:01.631] if (TRUE) { [13:14:01.631] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.631] open = "w") [13:14:01.631] } [13:14:01.631] else { [13:14:01.631] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.631] windows = "NUL", "/dev/null"), open = "w") [13:14:01.631] } [13:14:01.631] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.631] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.631] base::sink(type = "output", split = FALSE) [13:14:01.631] base::close(...future.stdout) [13:14:01.631] }, add = TRUE) [13:14:01.631] } [13:14:01.631] ...future.frame <- base::sys.nframe() [13:14:01.631] ...future.conditions <- base::list() [13:14:01.631] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.631] if (FALSE) { [13:14:01.631] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.631] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.631] } [13:14:01.631] ...future.result <- base::tryCatch({ [13:14:01.631] base::withCallingHandlers({ [13:14:01.631] ...future.value <- base::withVisible(base::local({ [13:14:01.631] do.call(function(...) { [13:14:01.631] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.631] if (!identical(...future.globals.maxSize.org, [13:14:01.631] ...future.globals.maxSize)) { [13:14:01.631] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.631] on.exit(options(oopts), add = TRUE) [13:14:01.631] } [13:14:01.631] { [13:14:01.631] lapply(seq_along(...future.elements_ii), [13:14:01.631] FUN = function(jj) { [13:14:01.631] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.631] ...future.FUN(...future.X_jj, ...) [13:14:01.631] }) [13:14:01.631] } [13:14:01.631] }, args = future.call.arguments) [13:14:01.631] })) [13:14:01.631] future::FutureResult(value = ...future.value$value, [13:14:01.631] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.631] ...future.rng), globalenv = if (FALSE) [13:14:01.631] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.631] ...future.globalenv.names)) [13:14:01.631] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.631] }, condition = base::local({ [13:14:01.631] c <- base::c [13:14:01.631] inherits <- base::inherits [13:14:01.631] invokeRestart <- base::invokeRestart [13:14:01.631] length <- base::length [13:14:01.631] list <- base::list [13:14:01.631] seq.int <- base::seq.int [13:14:01.631] signalCondition <- base::signalCondition [13:14:01.631] sys.calls <- base::sys.calls [13:14:01.631] `[[` <- base::`[[` [13:14:01.631] `+` <- base::`+` [13:14:01.631] `<<-` <- base::`<<-` [13:14:01.631] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.631] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.631] 3L)] [13:14:01.631] } [13:14:01.631] function(cond) { [13:14:01.631] is_error <- inherits(cond, "error") [13:14:01.631] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.631] NULL) [13:14:01.631] if (is_error) { [13:14:01.631] sessionInformation <- function() { [13:14:01.631] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.631] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.631] search = base::search(), system = base::Sys.info()) [13:14:01.631] } [13:14:01.631] ...future.conditions[[length(...future.conditions) + [13:14:01.631] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.631] cond$call), session = sessionInformation(), [13:14:01.631] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.631] signalCondition(cond) [13:14:01.631] } [13:14:01.631] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.631] "immediateCondition"))) { [13:14:01.631] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.631] ...future.conditions[[length(...future.conditions) + [13:14:01.631] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.631] if (TRUE && !signal) { [13:14:01.631] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.631] { [13:14:01.631] inherits <- base::inherits [13:14:01.631] invokeRestart <- base::invokeRestart [13:14:01.631] is.null <- base::is.null [13:14:01.631] muffled <- FALSE [13:14:01.631] if (inherits(cond, "message")) { [13:14:01.631] muffled <- grepl(pattern, "muffleMessage") [13:14:01.631] if (muffled) [13:14:01.631] invokeRestart("muffleMessage") [13:14:01.631] } [13:14:01.631] else if (inherits(cond, "warning")) { [13:14:01.631] muffled <- grepl(pattern, "muffleWarning") [13:14:01.631] if (muffled) [13:14:01.631] invokeRestart("muffleWarning") [13:14:01.631] } [13:14:01.631] else if (inherits(cond, "condition")) { [13:14:01.631] if (!is.null(pattern)) { [13:14:01.631] computeRestarts <- base::computeRestarts [13:14:01.631] grepl <- base::grepl [13:14:01.631] restarts <- computeRestarts(cond) [13:14:01.631] for (restart in restarts) { [13:14:01.631] name <- restart$name [13:14:01.631] if (is.null(name)) [13:14:01.631] next [13:14:01.631] if (!grepl(pattern, name)) [13:14:01.631] next [13:14:01.631] invokeRestart(restart) [13:14:01.631] muffled <- TRUE [13:14:01.631] break [13:14:01.631] } [13:14:01.631] } [13:14:01.631] } [13:14:01.631] invisible(muffled) [13:14:01.631] } [13:14:01.631] muffleCondition(cond, pattern = "^muffle") [13:14:01.631] } [13:14:01.631] } [13:14:01.631] else { [13:14:01.631] if (TRUE) { [13:14:01.631] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.631] { [13:14:01.631] inherits <- base::inherits [13:14:01.631] invokeRestart <- base::invokeRestart [13:14:01.631] is.null <- base::is.null [13:14:01.631] muffled <- FALSE [13:14:01.631] if (inherits(cond, "message")) { [13:14:01.631] muffled <- grepl(pattern, "muffleMessage") [13:14:01.631] if (muffled) [13:14:01.631] invokeRestart("muffleMessage") [13:14:01.631] } [13:14:01.631] else if (inherits(cond, "warning")) { [13:14:01.631] muffled <- grepl(pattern, "muffleWarning") [13:14:01.631] if (muffled) [13:14:01.631] invokeRestart("muffleWarning") [13:14:01.631] } [13:14:01.631] else if (inherits(cond, "condition")) { [13:14:01.631] if (!is.null(pattern)) { [13:14:01.631] computeRestarts <- base::computeRestarts [13:14:01.631] grepl <- base::grepl [13:14:01.631] restarts <- computeRestarts(cond) [13:14:01.631] for (restart in restarts) { [13:14:01.631] name <- restart$name [13:14:01.631] if (is.null(name)) [13:14:01.631] next [13:14:01.631] if (!grepl(pattern, name)) [13:14:01.631] next [13:14:01.631] invokeRestart(restart) [13:14:01.631] muffled <- TRUE [13:14:01.631] break [13:14:01.631] } [13:14:01.631] } [13:14:01.631] } [13:14:01.631] invisible(muffled) [13:14:01.631] } [13:14:01.631] muffleCondition(cond, pattern = "^muffle") [13:14:01.631] } [13:14:01.631] } [13:14:01.631] } [13:14:01.631] })) [13:14:01.631] }, error = function(ex) { [13:14:01.631] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.631] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.631] ...future.rng), started = ...future.startTime, [13:14:01.631] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.631] version = "1.8"), class = "FutureResult") [13:14:01.631] }, finally = { [13:14:01.631] if (!identical(...future.workdir, getwd())) [13:14:01.631] setwd(...future.workdir) [13:14:01.631] { [13:14:01.631] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.631] ...future.oldOptions$nwarnings <- NULL [13:14:01.631] } [13:14:01.631] base::options(...future.oldOptions) [13:14:01.631] if (.Platform$OS.type == "windows") { [13:14:01.631] old_names <- names(...future.oldEnvVars) [13:14:01.631] envs <- base::Sys.getenv() [13:14:01.631] names <- names(envs) [13:14:01.631] common <- intersect(names, old_names) [13:14:01.631] added <- setdiff(names, old_names) [13:14:01.631] removed <- setdiff(old_names, names) [13:14:01.631] changed <- common[...future.oldEnvVars[common] != [13:14:01.631] envs[common]] [13:14:01.631] NAMES <- toupper(changed) [13:14:01.631] args <- list() [13:14:01.631] for (kk in seq_along(NAMES)) { [13:14:01.631] name <- changed[[kk]] [13:14:01.631] NAME <- NAMES[[kk]] [13:14:01.631] if (name != NAME && is.element(NAME, old_names)) [13:14:01.631] next [13:14:01.631] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.631] } [13:14:01.631] NAMES <- toupper(added) [13:14:01.631] for (kk in seq_along(NAMES)) { [13:14:01.631] name <- added[[kk]] [13:14:01.631] NAME <- NAMES[[kk]] [13:14:01.631] if (name != NAME && is.element(NAME, old_names)) [13:14:01.631] next [13:14:01.631] args[[name]] <- "" [13:14:01.631] } [13:14:01.631] NAMES <- toupper(removed) [13:14:01.631] for (kk in seq_along(NAMES)) { [13:14:01.631] name <- removed[[kk]] [13:14:01.631] NAME <- NAMES[[kk]] [13:14:01.631] if (name != NAME && is.element(NAME, old_names)) [13:14:01.631] next [13:14:01.631] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.631] } [13:14:01.631] if (length(args) > 0) [13:14:01.631] base::do.call(base::Sys.setenv, args = args) [13:14:01.631] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.631] } [13:14:01.631] else { [13:14:01.631] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.631] } [13:14:01.631] { [13:14:01.631] if (base::length(...future.futureOptionsAdded) > [13:14:01.631] 0L) { [13:14:01.631] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.631] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.631] base::options(opts) [13:14:01.631] } [13:14:01.631] { [13:14:01.631] { [13:14:01.631] NULL [13:14:01.631] RNGkind("Mersenne-Twister") [13:14:01.631] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.631] inherits = FALSE) [13:14:01.631] } [13:14:01.631] options(future.plan = NULL) [13:14:01.631] if (is.na(NA_character_)) [13:14:01.631] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.631] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.631] future::plan(list(function (..., envir = parent.frame()) [13:14:01.631] { [13:14:01.631] future <- SequentialFuture(..., envir = envir) [13:14:01.631] if (!future$lazy) [13:14:01.631] future <- run(future) [13:14:01.631] invisible(future) [13:14:01.631] }), .cleanup = FALSE, .init = FALSE) [13:14:01.631] } [13:14:01.631] } [13:14:01.631] } [13:14:01.631] }) [13:14:01.631] if (TRUE) { [13:14:01.631] base::sink(type = "output", split = FALSE) [13:14:01.631] if (TRUE) { [13:14:01.631] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.631] } [13:14:01.631] else { [13:14:01.631] ...future.result["stdout"] <- base::list(NULL) [13:14:01.631] } [13:14:01.631] base::close(...future.stdout) [13:14:01.631] ...future.stdout <- NULL [13:14:01.631] } [13:14:01.631] ...future.result$conditions <- ...future.conditions [13:14:01.631] ...future.result$finished <- base::Sys.time() [13:14:01.631] ...future.result [13:14:01.631] } [13:14:01.635] assign_globals() ... [13:14:01.635] List of 5 [13:14:01.635] $ ...future.FUN :function (x, ...) [13:14:01.635] $ future.call.arguments : list() [13:14:01.635] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.635] $ ...future.elements_ii :List of 6 [13:14:01.635] ..$ a1: int 1 [13:14:01.635] ..$ a2: int 2 [13:14:01.635] ..$ b1: int 2 [13:14:01.635] ..$ b2: int 3 [13:14:01.635] ..$ c1: int 3 [13:14:01.635] ..$ c2: int 4 [13:14:01.635] $ ...future.seeds_ii : NULL [13:14:01.635] $ ...future.globals.maxSize: NULL [13:14:01.635] - attr(*, "where")=List of 5 [13:14:01.635] ..$ ...future.FUN : [13:14:01.635] ..$ future.call.arguments : [13:14:01.635] ..$ ...future.elements_ii : [13:14:01.635] ..$ ...future.seeds_ii : [13:14:01.635] ..$ ...future.globals.maxSize: [13:14:01.635] - attr(*, "resolved")= logi FALSE [13:14:01.635] - attr(*, "total_size")= num 1248 [13:14:01.635] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.635] - attr(*, "already-done")= logi TRUE [13:14:01.643] - copied '...future.FUN' to environment [13:14:01.643] - copied 'future.call.arguments' to environment [13:14:01.643] - copied '...future.elements_ii' to environment [13:14:01.643] - copied '...future.seeds_ii' to environment [13:14:01.643] - copied '...future.globals.maxSize' to environment [13:14:01.643] assign_globals() ... done [13:14:01.644] plan(): Setting new future strategy stack: [13:14:01.644] List of future strategies: [13:14:01.644] 1. sequential: [13:14:01.644] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.644] - tweaked: FALSE [13:14:01.644] - call: NULL [13:14:01.645] plan(): nbrOfWorkers() = 1 [13:14:01.648] plan(): Setting new future strategy stack: [13:14:01.648] List of future strategies: [13:14:01.648] 1. sequential: [13:14:01.648] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.648] - tweaked: FALSE [13:14:01.648] - call: plan(strategy) [13:14:01.649] plan(): nbrOfWorkers() = 1 [13:14:01.649] SequentialFuture started (and completed) [13:14:01.649] - Launch lazy future ... done [13:14:01.649] run() for 'SequentialFuture' ... done [13:14:01.649] Created future: [13:14:01.650] SequentialFuture: [13:14:01.650] Label: 'future_sapply-1' [13:14:01.650] Expression: [13:14:01.650] { [13:14:01.650] do.call(function(...) { [13:14:01.650] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.650] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.650] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.650] on.exit(options(oopts), add = TRUE) [13:14:01.650] } [13:14:01.650] { [13:14:01.650] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.650] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.650] ...future.FUN(...future.X_jj, ...) [13:14:01.650] }) [13:14:01.650] } [13:14:01.650] }, args = future.call.arguments) [13:14:01.650] } [13:14:01.650] Lazy evaluation: FALSE [13:14:01.650] Asynchronous evaluation: FALSE [13:14:01.650] Local evaluation: TRUE [13:14:01.650] Environment: R_GlobalEnv [13:14:01.650] Capture standard output: TRUE [13:14:01.650] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.650] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.650] Packages: [13:14:01.650] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.650] Resolved: TRUE [13:14:01.650] Value: 1.31 KiB of class 'list' [13:14:01.650] Early signaling: FALSE [13:14:01.650] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.650] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.651] Chunk #1 of 1 ... DONE [13:14:01.651] Launching 1 futures (chunks) ... DONE [13:14:01.651] Resolving 1 futures (chunks) ... [13:14:01.651] resolve() on list ... [13:14:01.652] recursive: 0 [13:14:01.652] length: 1 [13:14:01.652] [13:14:01.652] resolved() for 'SequentialFuture' ... [13:14:01.652] - state: 'finished' [13:14:01.653] - run: TRUE [13:14:01.653] - result: 'FutureResult' [13:14:01.653] resolved() for 'SequentialFuture' ... done [13:14:01.653] Future #1 [13:14:01.653] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.654] - nx: 1 [13:14:01.654] - relay: TRUE [13:14:01.654] - stdout: TRUE [13:14:01.654] - signal: TRUE [13:14:01.654] - resignal: FALSE [13:14:01.654] - force: TRUE [13:14:01.654] - relayed: [n=1] FALSE [13:14:01.655] - queued futures: [n=1] FALSE [13:14:01.655] - until=1 [13:14:01.655] - relaying element #1 [13:14:01.655] - relayed: [n=1] TRUE [13:14:01.655] - queued futures: [n=1] TRUE [13:14:01.656] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.656] length: 0 (resolved future 1) [13:14:01.656] Relaying remaining futures [13:14:01.656] signalConditionsASAP(NULL, pos=0) ... [13:14:01.656] - nx: 1 [13:14:01.656] - relay: TRUE [13:14:01.656] - stdout: TRUE [13:14:01.657] - signal: TRUE [13:14:01.657] - resignal: FALSE [13:14:01.657] - force: TRUE [13:14:01.657] - relayed: [n=1] TRUE [13:14:01.657] - queued futures: [n=1] TRUE - flush all [13:14:01.657] - relayed: [n=1] TRUE [13:14:01.658] - queued futures: [n=1] TRUE [13:14:01.658] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.658] resolve() on list ... DONE [13:14:01.658] - Number of value chunks collected: 1 [13:14:01.658] Resolving 1 futures (chunks) ... DONE [13:14:01.659] Reducing values from 1 chunks ... [13:14:01.659] - Number of values collected after concatenation: 6 [13:14:01.659] - Number of values expected: 6 [13:14:01.659] Reducing values from 1 chunks ... DONE [13:14:01.659] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y1:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y2:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 [13:14:01.671] future_lapply() ... [13:14:01.673] Number of chunks: 1 [13:14:01.673] getGlobalsAndPackagesXApply() ... [13:14:01.673] - future.globals: TRUE [13:14:01.673] getGlobalsAndPackages() ... [13:14:01.673] Searching for globals... [13:14:01.675] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:01.675] Searching for globals ... DONE [13:14:01.676] Resolving globals: FALSE [13:14:01.676] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:01.677] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:01.677] - globals: [1] 'FUN' [13:14:01.677] [13:14:01.677] getGlobalsAndPackages() ... DONE [13:14:01.677] - globals found/used: [n=1] 'FUN' [13:14:01.677] - needed namespaces: [n=0] [13:14:01.678] Finding globals ... DONE [13:14:01.678] - use_args: TRUE [13:14:01.678] - Getting '...' globals ... [13:14:01.678] resolve() on list ... [13:14:01.678] recursive: 0 [13:14:01.679] length: 1 [13:14:01.679] elements: '...' [13:14:01.679] length: 0 (resolved future 1) [13:14:01.679] resolve() on list ... DONE [13:14:01.679] - '...' content: [n=0] [13:14:01.679] List of 1 [13:14:01.679] $ ...: list() [13:14:01.679] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.679] - attr(*, "where")=List of 1 [13:14:01.679] ..$ ...: [13:14:01.679] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.679] - attr(*, "resolved")= logi TRUE [13:14:01.679] - attr(*, "total_size")= num NA [13:14:01.682] - Getting '...' globals ... DONE [13:14:01.683] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.683] List of 2 [13:14:01.683] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:01.683] $ ... : list() [13:14:01.683] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.683] - attr(*, "where")=List of 2 [13:14:01.683] ..$ ...future.FUN: [13:14:01.683] ..$ ... : [13:14:01.683] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.683] - attr(*, "resolved")= logi FALSE [13:14:01.683] - attr(*, "total_size")= num 4728 [13:14:01.686] Packages to be attached in all futures: [n=0] [13:14:01.686] getGlobalsAndPackagesXApply() ... DONE [13:14:01.687] Number of futures (= number of chunks): 1 [13:14:01.687] Launching 1 futures (chunks) ... [13:14:01.687] Chunk #1 of 1 ... [13:14:01.687] - Finding globals in 'X' for chunk #1 ... [13:14:01.687] getGlobalsAndPackages() ... [13:14:01.687] Searching for globals... [13:14:01.688] [13:14:01.688] Searching for globals ... DONE [13:14:01.688] - globals: [0] [13:14:01.688] getGlobalsAndPackages() ... DONE [13:14:01.688] + additional globals found: [n=0] [13:14:01.689] + additional namespaces needed: [n=0] [13:14:01.689] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.689] - seeds: [13:14:01.689] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.689] getGlobalsAndPackages() ... [13:14:01.689] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.690] Resolving globals: FALSE [13:14:01.690] Tweak future expression to call with '...' arguments ... [13:14:01.690] { [13:14:01.690] do.call(function(...) { [13:14:01.690] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.690] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.690] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.690] on.exit(options(oopts), add = TRUE) [13:14:01.690] } [13:14:01.690] { [13:14:01.690] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.690] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.690] ...future.FUN(...future.X_jj, ...) [13:14:01.690] }) [13:14:01.690] } [13:14:01.690] }, args = future.call.arguments) [13:14:01.690] } [13:14:01.690] Tweak future expression to call with '...' arguments ... DONE [13:14:01.691] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.691] [13:14:01.691] getGlobalsAndPackages() ... DONE [13:14:01.691] run() for 'Future' ... [13:14:01.692] - state: 'created' [13:14:01.692] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.692] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.692] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.693] - Field: 'label' [13:14:01.693] - Field: 'local' [13:14:01.693] - Field: 'owner' [13:14:01.693] - Field: 'envir' [13:14:01.693] - Field: 'packages' [13:14:01.693] - Field: 'gc' [13:14:01.694] - Field: 'conditions' [13:14:01.694] - Field: 'expr' [13:14:01.694] - Field: 'uuid' [13:14:01.694] - Field: 'seed' [13:14:01.694] - Field: 'version' [13:14:01.695] - Field: 'result' [13:14:01.695] - Field: 'asynchronous' [13:14:01.695] - Field: 'calls' [13:14:01.695] - Field: 'globals' [13:14:01.695] - Field: 'stdout' [13:14:01.695] - Field: 'earlySignal' [13:14:01.696] - Field: 'lazy' [13:14:01.696] - Field: 'state' [13:14:01.696] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.696] - Launch lazy future ... [13:14:01.696] Packages needed by the future expression (n = 0): [13:14:01.697] Packages needed by future strategies (n = 0): [13:14:01.697] { [13:14:01.697] { [13:14:01.697] { [13:14:01.697] ...future.startTime <- base::Sys.time() [13:14:01.697] { [13:14:01.697] { [13:14:01.697] { [13:14:01.697] base::local({ [13:14:01.697] has_future <- base::requireNamespace("future", [13:14:01.697] quietly = TRUE) [13:14:01.697] if (has_future) { [13:14:01.697] ns <- base::getNamespace("future") [13:14:01.697] version <- ns[[".package"]][["version"]] [13:14:01.697] if (is.null(version)) [13:14:01.697] version <- utils::packageVersion("future") [13:14:01.697] } [13:14:01.697] else { [13:14:01.697] version <- NULL [13:14:01.697] } [13:14:01.697] if (!has_future || version < "1.8.0") { [13:14:01.697] info <- base::c(r_version = base::gsub("R version ", [13:14:01.697] "", base::R.version$version.string), [13:14:01.697] platform = base::sprintf("%s (%s-bit)", [13:14:01.697] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.697] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.697] "release", "version")], collapse = " "), [13:14:01.697] hostname = base::Sys.info()[["nodename"]]) [13:14:01.697] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.697] info) [13:14:01.697] info <- base::paste(info, collapse = "; ") [13:14:01.697] if (!has_future) { [13:14:01.697] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.697] info) [13:14:01.697] } [13:14:01.697] else { [13:14:01.697] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.697] info, version) [13:14:01.697] } [13:14:01.697] base::stop(msg) [13:14:01.697] } [13:14:01.697] }) [13:14:01.697] } [13:14:01.697] options(future.plan = NULL) [13:14:01.697] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.697] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.697] } [13:14:01.697] ...future.workdir <- getwd() [13:14:01.697] } [13:14:01.697] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.697] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.697] } [13:14:01.697] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.697] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.697] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.697] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.697] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.697] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.697] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.697] base::names(...future.oldOptions)) [13:14:01.697] } [13:14:01.697] if (FALSE) { [13:14:01.697] } [13:14:01.697] else { [13:14:01.697] if (TRUE) { [13:14:01.697] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.697] open = "w") [13:14:01.697] } [13:14:01.697] else { [13:14:01.697] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.697] windows = "NUL", "/dev/null"), open = "w") [13:14:01.697] } [13:14:01.697] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.697] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.697] base::sink(type = "output", split = FALSE) [13:14:01.697] base::close(...future.stdout) [13:14:01.697] }, add = TRUE) [13:14:01.697] } [13:14:01.697] ...future.frame <- base::sys.nframe() [13:14:01.697] ...future.conditions <- base::list() [13:14:01.697] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.697] if (FALSE) { [13:14:01.697] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.697] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.697] } [13:14:01.697] ...future.result <- base::tryCatch({ [13:14:01.697] base::withCallingHandlers({ [13:14:01.697] ...future.value <- base::withVisible(base::local({ [13:14:01.697] do.call(function(...) { [13:14:01.697] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.697] if (!identical(...future.globals.maxSize.org, [13:14:01.697] ...future.globals.maxSize)) { [13:14:01.697] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.697] on.exit(options(oopts), add = TRUE) [13:14:01.697] } [13:14:01.697] { [13:14:01.697] lapply(seq_along(...future.elements_ii), [13:14:01.697] FUN = function(jj) { [13:14:01.697] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.697] ...future.FUN(...future.X_jj, ...) [13:14:01.697] }) [13:14:01.697] } [13:14:01.697] }, args = future.call.arguments) [13:14:01.697] })) [13:14:01.697] future::FutureResult(value = ...future.value$value, [13:14:01.697] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.697] ...future.rng), globalenv = if (FALSE) [13:14:01.697] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.697] ...future.globalenv.names)) [13:14:01.697] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.697] }, condition = base::local({ [13:14:01.697] c <- base::c [13:14:01.697] inherits <- base::inherits [13:14:01.697] invokeRestart <- base::invokeRestart [13:14:01.697] length <- base::length [13:14:01.697] list <- base::list [13:14:01.697] seq.int <- base::seq.int [13:14:01.697] signalCondition <- base::signalCondition [13:14:01.697] sys.calls <- base::sys.calls [13:14:01.697] `[[` <- base::`[[` [13:14:01.697] `+` <- base::`+` [13:14:01.697] `<<-` <- base::`<<-` [13:14:01.697] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.697] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.697] 3L)] [13:14:01.697] } [13:14:01.697] function(cond) { [13:14:01.697] is_error <- inherits(cond, "error") [13:14:01.697] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.697] NULL) [13:14:01.697] if (is_error) { [13:14:01.697] sessionInformation <- function() { [13:14:01.697] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.697] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.697] search = base::search(), system = base::Sys.info()) [13:14:01.697] } [13:14:01.697] ...future.conditions[[length(...future.conditions) + [13:14:01.697] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.697] cond$call), session = sessionInformation(), [13:14:01.697] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.697] signalCondition(cond) [13:14:01.697] } [13:14:01.697] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.697] "immediateCondition"))) { [13:14:01.697] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.697] ...future.conditions[[length(...future.conditions) + [13:14:01.697] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.697] if (TRUE && !signal) { [13:14:01.697] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.697] { [13:14:01.697] inherits <- base::inherits [13:14:01.697] invokeRestart <- base::invokeRestart [13:14:01.697] is.null <- base::is.null [13:14:01.697] muffled <- FALSE [13:14:01.697] if (inherits(cond, "message")) { [13:14:01.697] muffled <- grepl(pattern, "muffleMessage") [13:14:01.697] if (muffled) [13:14:01.697] invokeRestart("muffleMessage") [13:14:01.697] } [13:14:01.697] else if (inherits(cond, "warning")) { [13:14:01.697] muffled <- grepl(pattern, "muffleWarning") [13:14:01.697] if (muffled) [13:14:01.697] invokeRestart("muffleWarning") [13:14:01.697] } [13:14:01.697] else if (inherits(cond, "condition")) { [13:14:01.697] if (!is.null(pattern)) { [13:14:01.697] computeRestarts <- base::computeRestarts [13:14:01.697] grepl <- base::grepl [13:14:01.697] restarts <- computeRestarts(cond) [13:14:01.697] for (restart in restarts) { [13:14:01.697] name <- restart$name [13:14:01.697] if (is.null(name)) [13:14:01.697] next [13:14:01.697] if (!grepl(pattern, name)) [13:14:01.697] next [13:14:01.697] invokeRestart(restart) [13:14:01.697] muffled <- TRUE [13:14:01.697] break [13:14:01.697] } [13:14:01.697] } [13:14:01.697] } [13:14:01.697] invisible(muffled) [13:14:01.697] } [13:14:01.697] muffleCondition(cond, pattern = "^muffle") [13:14:01.697] } [13:14:01.697] } [13:14:01.697] else { [13:14:01.697] if (TRUE) { [13:14:01.697] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.697] { [13:14:01.697] inherits <- base::inherits [13:14:01.697] invokeRestart <- base::invokeRestart [13:14:01.697] is.null <- base::is.null [13:14:01.697] muffled <- FALSE [13:14:01.697] if (inherits(cond, "message")) { [13:14:01.697] muffled <- grepl(pattern, "muffleMessage") [13:14:01.697] if (muffled) [13:14:01.697] invokeRestart("muffleMessage") [13:14:01.697] } [13:14:01.697] else if (inherits(cond, "warning")) { [13:14:01.697] muffled <- grepl(pattern, "muffleWarning") [13:14:01.697] if (muffled) [13:14:01.697] invokeRestart("muffleWarning") [13:14:01.697] } [13:14:01.697] else if (inherits(cond, "condition")) { [13:14:01.697] if (!is.null(pattern)) { [13:14:01.697] computeRestarts <- base::computeRestarts [13:14:01.697] grepl <- base::grepl [13:14:01.697] restarts <- computeRestarts(cond) [13:14:01.697] for (restart in restarts) { [13:14:01.697] name <- restart$name [13:14:01.697] if (is.null(name)) [13:14:01.697] next [13:14:01.697] if (!grepl(pattern, name)) [13:14:01.697] next [13:14:01.697] invokeRestart(restart) [13:14:01.697] muffled <- TRUE [13:14:01.697] break [13:14:01.697] } [13:14:01.697] } [13:14:01.697] } [13:14:01.697] invisible(muffled) [13:14:01.697] } [13:14:01.697] muffleCondition(cond, pattern = "^muffle") [13:14:01.697] } [13:14:01.697] } [13:14:01.697] } [13:14:01.697] })) [13:14:01.697] }, error = function(ex) { [13:14:01.697] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.697] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.697] ...future.rng), started = ...future.startTime, [13:14:01.697] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.697] version = "1.8"), class = "FutureResult") [13:14:01.697] }, finally = { [13:14:01.697] if (!identical(...future.workdir, getwd())) [13:14:01.697] setwd(...future.workdir) [13:14:01.697] { [13:14:01.697] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.697] ...future.oldOptions$nwarnings <- NULL [13:14:01.697] } [13:14:01.697] base::options(...future.oldOptions) [13:14:01.697] if (.Platform$OS.type == "windows") { [13:14:01.697] old_names <- names(...future.oldEnvVars) [13:14:01.697] envs <- base::Sys.getenv() [13:14:01.697] names <- names(envs) [13:14:01.697] common <- intersect(names, old_names) [13:14:01.697] added <- setdiff(names, old_names) [13:14:01.697] removed <- setdiff(old_names, names) [13:14:01.697] changed <- common[...future.oldEnvVars[common] != [13:14:01.697] envs[common]] [13:14:01.697] NAMES <- toupper(changed) [13:14:01.697] args <- list() [13:14:01.697] for (kk in seq_along(NAMES)) { [13:14:01.697] name <- changed[[kk]] [13:14:01.697] NAME <- NAMES[[kk]] [13:14:01.697] if (name != NAME && is.element(NAME, old_names)) [13:14:01.697] next [13:14:01.697] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.697] } [13:14:01.697] NAMES <- toupper(added) [13:14:01.697] for (kk in seq_along(NAMES)) { [13:14:01.697] name <- added[[kk]] [13:14:01.697] NAME <- NAMES[[kk]] [13:14:01.697] if (name != NAME && is.element(NAME, old_names)) [13:14:01.697] next [13:14:01.697] args[[name]] <- "" [13:14:01.697] } [13:14:01.697] NAMES <- toupper(removed) [13:14:01.697] for (kk in seq_along(NAMES)) { [13:14:01.697] name <- removed[[kk]] [13:14:01.697] NAME <- NAMES[[kk]] [13:14:01.697] if (name != NAME && is.element(NAME, old_names)) [13:14:01.697] next [13:14:01.697] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.697] } [13:14:01.697] if (length(args) > 0) [13:14:01.697] base::do.call(base::Sys.setenv, args = args) [13:14:01.697] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.697] } [13:14:01.697] else { [13:14:01.697] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.697] } [13:14:01.697] { [13:14:01.697] if (base::length(...future.futureOptionsAdded) > [13:14:01.697] 0L) { [13:14:01.697] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.697] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.697] base::options(opts) [13:14:01.697] } [13:14:01.697] { [13:14:01.697] { [13:14:01.697] NULL [13:14:01.697] RNGkind("Mersenne-Twister") [13:14:01.697] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.697] inherits = FALSE) [13:14:01.697] } [13:14:01.697] options(future.plan = NULL) [13:14:01.697] if (is.na(NA_character_)) [13:14:01.697] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.697] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.697] future::plan(list(function (..., envir = parent.frame()) [13:14:01.697] { [13:14:01.697] future <- SequentialFuture(..., envir = envir) [13:14:01.697] if (!future$lazy) [13:14:01.697] future <- run(future) [13:14:01.697] invisible(future) [13:14:01.697] }), .cleanup = FALSE, .init = FALSE) [13:14:01.697] } [13:14:01.697] } [13:14:01.697] } [13:14:01.697] }) [13:14:01.697] if (TRUE) { [13:14:01.697] base::sink(type = "output", split = FALSE) [13:14:01.697] if (TRUE) { [13:14:01.697] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.697] } [13:14:01.697] else { [13:14:01.697] ...future.result["stdout"] <- base::list(NULL) [13:14:01.697] } [13:14:01.697] base::close(...future.stdout) [13:14:01.697] ...future.stdout <- NULL [13:14:01.697] } [13:14:01.697] ...future.result$conditions <- ...future.conditions [13:14:01.697] ...future.result$finished <- base::Sys.time() [13:14:01.697] ...future.result [13:14:01.697] } [13:14:01.702] assign_globals() ... [13:14:01.702] List of 5 [13:14:01.702] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:01.702] $ future.call.arguments : list() [13:14:01.702] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.702] $ ...future.elements_ii :List of 6 [13:14:01.702] ..$ a1: int 1 [13:14:01.702] ..$ a2: int 2 [13:14:01.702] ..$ b1: int 2 [13:14:01.702] ..$ b2: int 3 [13:14:01.702] ..$ c1: int 3 [13:14:01.702] ..$ c2: int 4 [13:14:01.702] $ ...future.seeds_ii : NULL [13:14:01.702] $ ...future.globals.maxSize: NULL [13:14:01.702] - attr(*, "where")=List of 5 [13:14:01.702] ..$ ...future.FUN : [13:14:01.702] ..$ future.call.arguments : [13:14:01.702] ..$ ...future.elements_ii : [13:14:01.702] ..$ ...future.seeds_ii : [13:14:01.702] ..$ ...future.globals.maxSize: [13:14:01.702] - attr(*, "resolved")= logi FALSE [13:14:01.702] - attr(*, "total_size")= num 4728 [13:14:01.702] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.702] - attr(*, "already-done")= logi TRUE [13:14:01.710] - reassign environment for '...future.FUN' [13:14:01.710] - copied '...future.FUN' to environment [13:14:01.710] - copied 'future.call.arguments' to environment [13:14:01.710] - copied '...future.elements_ii' to environment [13:14:01.710] - copied '...future.seeds_ii' to environment [13:14:01.711] - copied '...future.globals.maxSize' to environment [13:14:01.711] assign_globals() ... done [13:14:01.711] plan(): Setting new future strategy stack: [13:14:01.711] List of future strategies: [13:14:01.711] 1. sequential: [13:14:01.711] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.711] - tweaked: FALSE [13:14:01.711] - call: NULL [13:14:01.712] plan(): nbrOfWorkers() = 1 [13:14:01.713] plan(): Setting new future strategy stack: [13:14:01.713] List of future strategies: [13:14:01.713] 1. sequential: [13:14:01.713] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.713] - tweaked: FALSE [13:14:01.713] - call: plan(strategy) [13:14:01.714] plan(): nbrOfWorkers() = 1 [13:14:01.714] SequentialFuture started (and completed) [13:14:01.714] - Launch lazy future ... done [13:14:01.715] run() for 'SequentialFuture' ... done [13:14:01.715] Created future: [13:14:01.715] SequentialFuture: [13:14:01.715] Label: 'future_sapply-1' [13:14:01.715] Expression: [13:14:01.715] { [13:14:01.715] do.call(function(...) { [13:14:01.715] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.715] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.715] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.715] on.exit(options(oopts), add = TRUE) [13:14:01.715] } [13:14:01.715] { [13:14:01.715] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.715] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.715] ...future.FUN(...future.X_jj, ...) [13:14:01.715] }) [13:14:01.715] } [13:14:01.715] }, args = future.call.arguments) [13:14:01.715] } [13:14:01.715] Lazy evaluation: FALSE [13:14:01.715] Asynchronous evaluation: FALSE [13:14:01.715] Local evaluation: TRUE [13:14:01.715] Environment: R_GlobalEnv [13:14:01.715] Capture standard output: TRUE [13:14:01.715] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.715] Globals: 5 objects totaling 4.95 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.715] Packages: [13:14:01.715] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.715] Resolved: TRUE [13:14:01.715] Value: 2.02 KiB of class 'list' [13:14:01.715] Early signaling: FALSE [13:14:01.715] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.715] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.716] Chunk #1 of 1 ... DONE [13:14:01.716] Launching 1 futures (chunks) ... DONE [13:14:01.717] Resolving 1 futures (chunks) ... [13:14:01.717] resolve() on list ... [13:14:01.717] recursive: 0 [13:14:01.717] length: 1 [13:14:01.717] [13:14:01.717] resolved() for 'SequentialFuture' ... [13:14:01.718] - state: 'finished' [13:14:01.718] - run: TRUE [13:14:01.718] - result: 'FutureResult' [13:14:01.718] resolved() for 'SequentialFuture' ... done [13:14:01.718] Future #1 [13:14:01.719] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.719] - nx: 1 [13:14:01.719] - relay: TRUE [13:14:01.719] - stdout: TRUE [13:14:01.719] - signal: TRUE [13:14:01.719] - resignal: FALSE [13:14:01.719] - force: TRUE [13:14:01.720] - relayed: [n=1] FALSE [13:14:01.720] - queued futures: [n=1] FALSE [13:14:01.720] - until=1 [13:14:01.720] - relaying element #1 [13:14:01.720] - relayed: [n=1] TRUE [13:14:01.721] - queued futures: [n=1] TRUE [13:14:01.721] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.721] length: 0 (resolved future 1) [13:14:01.721] Relaying remaining futures [13:14:01.721] signalConditionsASAP(NULL, pos=0) ... [13:14:01.721] - nx: 1 [13:14:01.721] - relay: TRUE [13:14:01.722] - stdout: TRUE [13:14:01.722] - signal: TRUE [13:14:01.722] - resignal: FALSE [13:14:01.722] - force: TRUE [13:14:01.722] - relayed: [n=1] TRUE [13:14:01.722] - queued futures: [n=1] TRUE - flush all [13:14:01.723] - relayed: [n=1] TRUE [13:14:01.723] - queued futures: [n=1] TRUE [13:14:01.723] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.723] resolve() on list ... DONE [13:14:01.723] - Number of value chunks collected: 1 [13:14:01.724] Resolving 1 futures (chunks) ... DONE [13:14:01.724] Reducing values from 1 chunks ... [13:14:01.724] - Number of values collected after concatenation: 6 [13:14:01.724] - Number of values expected: 6 [13:14:01.724] Reducing values from 1 chunks ... DONE [13:14:01.724] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y1:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y2:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... [13:14:01.738] future_lapply() ... [13:14:01.739] Number of chunks: 1 [13:14:01.739] getGlobalsAndPackagesXApply() ... [13:14:01.739] - future.globals: TRUE [13:14:01.740] getGlobalsAndPackages() ... [13:14:01.740] Searching for globals... [13:14:01.741] - globals found: [1] 'FUN' [13:14:01.741] Searching for globals ... DONE [13:14:01.741] Resolving globals: FALSE [13:14:01.742] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:01.742] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:01.742] - globals: [1] 'FUN' [13:14:01.742] [13:14:01.743] getGlobalsAndPackages() ... DONE [13:14:01.743] - globals found/used: [n=1] 'FUN' [13:14:01.743] - needed namespaces: [n=0] [13:14:01.743] Finding globals ... DONE [13:14:01.743] - use_args: TRUE [13:14:01.743] - Getting '...' globals ... [13:14:01.744] resolve() on list ... [13:14:01.744] recursive: 0 [13:14:01.744] length: 1 [13:14:01.744] elements: '...' [13:14:01.744] length: 0 (resolved future 1) [13:14:01.745] resolve() on list ... DONE [13:14:01.745] - '...' content: [n=0] [13:14:01.745] List of 1 [13:14:01.745] $ ...: list() [13:14:01.745] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.745] - attr(*, "where")=List of 1 [13:14:01.745] ..$ ...: [13:14:01.745] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.745] - attr(*, "resolved")= logi TRUE [13:14:01.745] - attr(*, "total_size")= num NA [13:14:01.748] - Getting '...' globals ... DONE [13:14:01.748] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.748] List of 2 [13:14:01.748] $ ...future.FUN:function (x) [13:14:01.748] $ ... : list() [13:14:01.748] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.748] - attr(*, "where")=List of 2 [13:14:01.748] ..$ ...future.FUN: [13:14:01.748] ..$ ... : [13:14:01.748] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.748] - attr(*, "resolved")= logi FALSE [13:14:01.748] - attr(*, "total_size")= num 848 [13:14:01.753] Packages to be attached in all futures: [n=0] [13:14:01.753] getGlobalsAndPackagesXApply() ... DONE [13:14:01.753] Number of futures (= number of chunks): 1 [13:14:01.753] Launching 1 futures (chunks) ... [13:14:01.754] Chunk #1 of 1 ... [13:14:01.754] - Finding globals in 'X' for chunk #1 ... [13:14:01.754] getGlobalsAndPackages() ... [13:14:01.754] Searching for globals... [13:14:01.754] [13:14:01.755] Searching for globals ... DONE [13:14:01.755] - globals: [0] [13:14:01.755] getGlobalsAndPackages() ... DONE [13:14:01.755] + additional globals found: [n=0] [13:14:01.755] + additional namespaces needed: [n=0] [13:14:01.755] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.756] - seeds: [13:14:01.756] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.756] getGlobalsAndPackages() ... [13:14:01.756] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.756] Resolving globals: FALSE [13:14:01.756] Tweak future expression to call with '...' arguments ... [13:14:01.757] { [13:14:01.757] do.call(function(...) { [13:14:01.757] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.757] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.757] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.757] on.exit(options(oopts), add = TRUE) [13:14:01.757] } [13:14:01.757] { [13:14:01.757] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.757] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.757] ...future.FUN(...future.X_jj, ...) [13:14:01.757] }) [13:14:01.757] } [13:14:01.757] }, args = future.call.arguments) [13:14:01.757] } [13:14:01.757] Tweak future expression to call with '...' arguments ... DONE [13:14:01.758] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.758] [13:14:01.758] getGlobalsAndPackages() ... DONE [13:14:01.758] run() for 'Future' ... [13:14:01.758] - state: 'created' [13:14:01.759] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.759] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.759] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.759] - Field: 'label' [13:14:01.760] - Field: 'local' [13:14:01.760] - Field: 'owner' [13:14:01.760] - Field: 'envir' [13:14:01.760] - Field: 'packages' [13:14:01.760] - Field: 'gc' [13:14:01.760] - Field: 'conditions' [13:14:01.761] - Field: 'expr' [13:14:01.761] - Field: 'uuid' [13:14:01.761] - Field: 'seed' [13:14:01.761] - Field: 'version' [13:14:01.761] - Field: 'result' [13:14:01.762] - Field: 'asynchronous' [13:14:01.762] - Field: 'calls' [13:14:01.762] - Field: 'globals' [13:14:01.762] - Field: 'stdout' [13:14:01.762] - Field: 'earlySignal' [13:14:01.763] - Field: 'lazy' [13:14:01.763] - Field: 'state' [13:14:01.763] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.763] - Launch lazy future ... [13:14:01.763] Packages needed by the future expression (n = 0): [13:14:01.764] Packages needed by future strategies (n = 0): [13:14:01.764] { [13:14:01.764] { [13:14:01.764] { [13:14:01.764] ...future.startTime <- base::Sys.time() [13:14:01.764] { [13:14:01.764] { [13:14:01.764] { [13:14:01.764] base::local({ [13:14:01.764] has_future <- base::requireNamespace("future", [13:14:01.764] quietly = TRUE) [13:14:01.764] if (has_future) { [13:14:01.764] ns <- base::getNamespace("future") [13:14:01.764] version <- ns[[".package"]][["version"]] [13:14:01.764] if (is.null(version)) [13:14:01.764] version <- utils::packageVersion("future") [13:14:01.764] } [13:14:01.764] else { [13:14:01.764] version <- NULL [13:14:01.764] } [13:14:01.764] if (!has_future || version < "1.8.0") { [13:14:01.764] info <- base::c(r_version = base::gsub("R version ", [13:14:01.764] "", base::R.version$version.string), [13:14:01.764] platform = base::sprintf("%s (%s-bit)", [13:14:01.764] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.764] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.764] "release", "version")], collapse = " "), [13:14:01.764] hostname = base::Sys.info()[["nodename"]]) [13:14:01.764] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.764] info) [13:14:01.764] info <- base::paste(info, collapse = "; ") [13:14:01.764] if (!has_future) { [13:14:01.764] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.764] info) [13:14:01.764] } [13:14:01.764] else { [13:14:01.764] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.764] info, version) [13:14:01.764] } [13:14:01.764] base::stop(msg) [13:14:01.764] } [13:14:01.764] }) [13:14:01.764] } [13:14:01.764] options(future.plan = NULL) [13:14:01.764] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.764] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.764] } [13:14:01.764] ...future.workdir <- getwd() [13:14:01.764] } [13:14:01.764] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.764] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.764] } [13:14:01.764] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.764] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.764] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.764] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.764] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.764] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.764] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.764] base::names(...future.oldOptions)) [13:14:01.764] } [13:14:01.764] if (FALSE) { [13:14:01.764] } [13:14:01.764] else { [13:14:01.764] if (TRUE) { [13:14:01.764] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.764] open = "w") [13:14:01.764] } [13:14:01.764] else { [13:14:01.764] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.764] windows = "NUL", "/dev/null"), open = "w") [13:14:01.764] } [13:14:01.764] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.764] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.764] base::sink(type = "output", split = FALSE) [13:14:01.764] base::close(...future.stdout) [13:14:01.764] }, add = TRUE) [13:14:01.764] } [13:14:01.764] ...future.frame <- base::sys.nframe() [13:14:01.764] ...future.conditions <- base::list() [13:14:01.764] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.764] if (FALSE) { [13:14:01.764] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.764] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.764] } [13:14:01.764] ...future.result <- base::tryCatch({ [13:14:01.764] base::withCallingHandlers({ [13:14:01.764] ...future.value <- base::withVisible(base::local({ [13:14:01.764] do.call(function(...) { [13:14:01.764] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.764] if (!identical(...future.globals.maxSize.org, [13:14:01.764] ...future.globals.maxSize)) { [13:14:01.764] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.764] on.exit(options(oopts), add = TRUE) [13:14:01.764] } [13:14:01.764] { [13:14:01.764] lapply(seq_along(...future.elements_ii), [13:14:01.764] FUN = function(jj) { [13:14:01.764] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.764] ...future.FUN(...future.X_jj, ...) [13:14:01.764] }) [13:14:01.764] } [13:14:01.764] }, args = future.call.arguments) [13:14:01.764] })) [13:14:01.764] future::FutureResult(value = ...future.value$value, [13:14:01.764] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.764] ...future.rng), globalenv = if (FALSE) [13:14:01.764] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.764] ...future.globalenv.names)) [13:14:01.764] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.764] }, condition = base::local({ [13:14:01.764] c <- base::c [13:14:01.764] inherits <- base::inherits [13:14:01.764] invokeRestart <- base::invokeRestart [13:14:01.764] length <- base::length [13:14:01.764] list <- base::list [13:14:01.764] seq.int <- base::seq.int [13:14:01.764] signalCondition <- base::signalCondition [13:14:01.764] sys.calls <- base::sys.calls [13:14:01.764] `[[` <- base::`[[` [13:14:01.764] `+` <- base::`+` [13:14:01.764] `<<-` <- base::`<<-` [13:14:01.764] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.764] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.764] 3L)] [13:14:01.764] } [13:14:01.764] function(cond) { [13:14:01.764] is_error <- inherits(cond, "error") [13:14:01.764] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.764] NULL) [13:14:01.764] if (is_error) { [13:14:01.764] sessionInformation <- function() { [13:14:01.764] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.764] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.764] search = base::search(), system = base::Sys.info()) [13:14:01.764] } [13:14:01.764] ...future.conditions[[length(...future.conditions) + [13:14:01.764] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.764] cond$call), session = sessionInformation(), [13:14:01.764] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.764] signalCondition(cond) [13:14:01.764] } [13:14:01.764] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.764] "immediateCondition"))) { [13:14:01.764] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.764] ...future.conditions[[length(...future.conditions) + [13:14:01.764] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.764] if (TRUE && !signal) { [13:14:01.764] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.764] { [13:14:01.764] inherits <- base::inherits [13:14:01.764] invokeRestart <- base::invokeRestart [13:14:01.764] is.null <- base::is.null [13:14:01.764] muffled <- FALSE [13:14:01.764] if (inherits(cond, "message")) { [13:14:01.764] muffled <- grepl(pattern, "muffleMessage") [13:14:01.764] if (muffled) [13:14:01.764] invokeRestart("muffleMessage") [13:14:01.764] } [13:14:01.764] else if (inherits(cond, "warning")) { [13:14:01.764] muffled <- grepl(pattern, "muffleWarning") [13:14:01.764] if (muffled) [13:14:01.764] invokeRestart("muffleWarning") [13:14:01.764] } [13:14:01.764] else if (inherits(cond, "condition")) { [13:14:01.764] if (!is.null(pattern)) { [13:14:01.764] computeRestarts <- base::computeRestarts [13:14:01.764] grepl <- base::grepl [13:14:01.764] restarts <- computeRestarts(cond) [13:14:01.764] for (restart in restarts) { [13:14:01.764] name <- restart$name [13:14:01.764] if (is.null(name)) [13:14:01.764] next [13:14:01.764] if (!grepl(pattern, name)) [13:14:01.764] next [13:14:01.764] invokeRestart(restart) [13:14:01.764] muffled <- TRUE [13:14:01.764] break [13:14:01.764] } [13:14:01.764] } [13:14:01.764] } [13:14:01.764] invisible(muffled) [13:14:01.764] } [13:14:01.764] muffleCondition(cond, pattern = "^muffle") [13:14:01.764] } [13:14:01.764] } [13:14:01.764] else { [13:14:01.764] if (TRUE) { [13:14:01.764] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.764] { [13:14:01.764] inherits <- base::inherits [13:14:01.764] invokeRestart <- base::invokeRestart [13:14:01.764] is.null <- base::is.null [13:14:01.764] muffled <- FALSE [13:14:01.764] if (inherits(cond, "message")) { [13:14:01.764] muffled <- grepl(pattern, "muffleMessage") [13:14:01.764] if (muffled) [13:14:01.764] invokeRestart("muffleMessage") [13:14:01.764] } [13:14:01.764] else if (inherits(cond, "warning")) { [13:14:01.764] muffled <- grepl(pattern, "muffleWarning") [13:14:01.764] if (muffled) [13:14:01.764] invokeRestart("muffleWarning") [13:14:01.764] } [13:14:01.764] else if (inherits(cond, "condition")) { [13:14:01.764] if (!is.null(pattern)) { [13:14:01.764] computeRestarts <- base::computeRestarts [13:14:01.764] grepl <- base::grepl [13:14:01.764] restarts <- computeRestarts(cond) [13:14:01.764] for (restart in restarts) { [13:14:01.764] name <- restart$name [13:14:01.764] if (is.null(name)) [13:14:01.764] next [13:14:01.764] if (!grepl(pattern, name)) [13:14:01.764] next [13:14:01.764] invokeRestart(restart) [13:14:01.764] muffled <- TRUE [13:14:01.764] break [13:14:01.764] } [13:14:01.764] } [13:14:01.764] } [13:14:01.764] invisible(muffled) [13:14:01.764] } [13:14:01.764] muffleCondition(cond, pattern = "^muffle") [13:14:01.764] } [13:14:01.764] } [13:14:01.764] } [13:14:01.764] })) [13:14:01.764] }, error = function(ex) { [13:14:01.764] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.764] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.764] ...future.rng), started = ...future.startTime, [13:14:01.764] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.764] version = "1.8"), class = "FutureResult") [13:14:01.764] }, finally = { [13:14:01.764] if (!identical(...future.workdir, getwd())) [13:14:01.764] setwd(...future.workdir) [13:14:01.764] { [13:14:01.764] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.764] ...future.oldOptions$nwarnings <- NULL [13:14:01.764] } [13:14:01.764] base::options(...future.oldOptions) [13:14:01.764] if (.Platform$OS.type == "windows") { [13:14:01.764] old_names <- names(...future.oldEnvVars) [13:14:01.764] envs <- base::Sys.getenv() [13:14:01.764] names <- names(envs) [13:14:01.764] common <- intersect(names, old_names) [13:14:01.764] added <- setdiff(names, old_names) [13:14:01.764] removed <- setdiff(old_names, names) [13:14:01.764] changed <- common[...future.oldEnvVars[common] != [13:14:01.764] envs[common]] [13:14:01.764] NAMES <- toupper(changed) [13:14:01.764] args <- list() [13:14:01.764] for (kk in seq_along(NAMES)) { [13:14:01.764] name <- changed[[kk]] [13:14:01.764] NAME <- NAMES[[kk]] [13:14:01.764] if (name != NAME && is.element(NAME, old_names)) [13:14:01.764] next [13:14:01.764] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.764] } [13:14:01.764] NAMES <- toupper(added) [13:14:01.764] for (kk in seq_along(NAMES)) { [13:14:01.764] name <- added[[kk]] [13:14:01.764] NAME <- NAMES[[kk]] [13:14:01.764] if (name != NAME && is.element(NAME, old_names)) [13:14:01.764] next [13:14:01.764] args[[name]] <- "" [13:14:01.764] } [13:14:01.764] NAMES <- toupper(removed) [13:14:01.764] for (kk in seq_along(NAMES)) { [13:14:01.764] name <- removed[[kk]] [13:14:01.764] NAME <- NAMES[[kk]] [13:14:01.764] if (name != NAME && is.element(NAME, old_names)) [13:14:01.764] next [13:14:01.764] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.764] } [13:14:01.764] if (length(args) > 0) [13:14:01.764] base::do.call(base::Sys.setenv, args = args) [13:14:01.764] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.764] } [13:14:01.764] else { [13:14:01.764] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.764] } [13:14:01.764] { [13:14:01.764] if (base::length(...future.futureOptionsAdded) > [13:14:01.764] 0L) { [13:14:01.764] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.764] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.764] base::options(opts) [13:14:01.764] } [13:14:01.764] { [13:14:01.764] { [13:14:01.764] NULL [13:14:01.764] RNGkind("Mersenne-Twister") [13:14:01.764] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.764] inherits = FALSE) [13:14:01.764] } [13:14:01.764] options(future.plan = NULL) [13:14:01.764] if (is.na(NA_character_)) [13:14:01.764] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.764] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.764] future::plan(list(function (..., envir = parent.frame()) [13:14:01.764] { [13:14:01.764] future <- SequentialFuture(..., envir = envir) [13:14:01.764] if (!future$lazy) [13:14:01.764] future <- run(future) [13:14:01.764] invisible(future) [13:14:01.764] }), .cleanup = FALSE, .init = FALSE) [13:14:01.764] } [13:14:01.764] } [13:14:01.764] } [13:14:01.764] }) [13:14:01.764] if (TRUE) { [13:14:01.764] base::sink(type = "output", split = FALSE) [13:14:01.764] if (TRUE) { [13:14:01.764] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.764] } [13:14:01.764] else { [13:14:01.764] ...future.result["stdout"] <- base::list(NULL) [13:14:01.764] } [13:14:01.764] base::close(...future.stdout) [13:14:01.764] ...future.stdout <- NULL [13:14:01.764] } [13:14:01.764] ...future.result$conditions <- ...future.conditions [13:14:01.764] ...future.result$finished <- base::Sys.time() [13:14:01.764] ...future.result [13:14:01.764] } [13:14:01.768] assign_globals() ... [13:14:01.769] List of 5 [13:14:01.769] $ ...future.FUN :function (x) [13:14:01.769] $ future.call.arguments : list() [13:14:01.769] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.769] $ ...future.elements_ii :List of 6 [13:14:01.769] ..$ a1: int 1 [13:14:01.769] ..$ a2: int 2 [13:14:01.769] ..$ b1: int 2 [13:14:01.769] ..$ b2: int 3 [13:14:01.769] ..$ c1: int 3 [13:14:01.769] ..$ c2: int 4 [13:14:01.769] $ ...future.seeds_ii : NULL [13:14:01.769] $ ...future.globals.maxSize: NULL [13:14:01.769] - attr(*, "where")=List of 5 [13:14:01.769] ..$ ...future.FUN : [13:14:01.769] ..$ future.call.arguments : [13:14:01.769] ..$ ...future.elements_ii : [13:14:01.769] ..$ ...future.seeds_ii : [13:14:01.769] ..$ ...future.globals.maxSize: [13:14:01.769] - attr(*, "resolved")= logi FALSE [13:14:01.769] - attr(*, "total_size")= num 848 [13:14:01.769] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.769] - attr(*, "already-done")= logi TRUE [13:14:01.776] - copied '...future.FUN' to environment [13:14:01.776] - copied 'future.call.arguments' to environment [13:14:01.776] - copied '...future.elements_ii' to environment [13:14:01.776] - copied '...future.seeds_ii' to environment [13:14:01.777] - copied '...future.globals.maxSize' to environment [13:14:01.777] assign_globals() ... done [13:14:01.777] plan(): Setting new future strategy stack: [13:14:01.777] List of future strategies: [13:14:01.777] 1. sequential: [13:14:01.777] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.777] - tweaked: FALSE [13:14:01.777] - call: NULL [13:14:01.778] plan(): nbrOfWorkers() = 1 [13:14:01.780] plan(): Setting new future strategy stack: [13:14:01.780] List of future strategies: [13:14:01.780] 1. sequential: [13:14:01.780] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.780] - tweaked: FALSE [13:14:01.780] - call: plan(strategy) [13:14:01.781] plan(): nbrOfWorkers() = 1 [13:14:01.781] SequentialFuture started (and completed) [13:14:01.781] - Launch lazy future ... done [13:14:01.781] run() for 'SequentialFuture' ... done [13:14:01.782] Created future: [13:14:01.782] SequentialFuture: [13:14:01.782] Label: 'future_sapply-1' [13:14:01.782] Expression: [13:14:01.782] { [13:14:01.782] do.call(function(...) { [13:14:01.782] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.782] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.782] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.782] on.exit(options(oopts), add = TRUE) [13:14:01.782] } [13:14:01.782] { [13:14:01.782] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.782] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.782] ...future.FUN(...future.X_jj, ...) [13:14:01.782] }) [13:14:01.782] } [13:14:01.782] }, args = future.call.arguments) [13:14:01.782] } [13:14:01.782] Lazy evaluation: FALSE [13:14:01.782] Asynchronous evaluation: FALSE [13:14:01.782] Local evaluation: TRUE [13:14:01.782] Environment: R_GlobalEnv [13:14:01.782] Capture standard output: TRUE [13:14:01.782] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.782] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.782] Packages: [13:14:01.782] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.782] Resolved: TRUE [13:14:01.782] Value: 336 bytes of class 'list' [13:14:01.782] Early signaling: FALSE [13:14:01.782] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.782] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.783] Chunk #1 of 1 ... DONE [13:14:01.783] Launching 1 futures (chunks) ... DONE [13:14:01.784] Resolving 1 futures (chunks) ... [13:14:01.784] resolve() on list ... [13:14:01.784] recursive: 0 [13:14:01.784] length: 1 [13:14:01.784] [13:14:01.784] resolved() for 'SequentialFuture' ... [13:14:01.785] - state: 'finished' [13:14:01.785] - run: TRUE [13:14:01.785] - result: 'FutureResult' [13:14:01.785] resolved() for 'SequentialFuture' ... done [13:14:01.785] Future #1 [13:14:01.786] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.786] - nx: 1 [13:14:01.786] - relay: TRUE [13:14:01.786] - stdout: TRUE [13:14:01.786] - signal: TRUE [13:14:01.786] - resignal: FALSE [13:14:01.786] - force: TRUE [13:14:01.787] - relayed: [n=1] FALSE [13:14:01.787] - queued futures: [n=1] FALSE [13:14:01.787] - until=1 [13:14:01.787] - relaying element #1 [13:14:01.787] - relayed: [n=1] TRUE [13:14:01.788] - queued futures: [n=1] TRUE [13:14:01.788] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.788] length: 0 (resolved future 1) [13:14:01.788] Relaying remaining futures [13:14:01.788] signalConditionsASAP(NULL, pos=0) ... [13:14:01.788] - nx: 1 [13:14:01.789] - relay: TRUE [13:14:01.789] - stdout: TRUE [13:14:01.789] - signal: TRUE [13:14:01.789] - resignal: FALSE [13:14:01.789] - force: TRUE [13:14:01.789] - relayed: [n=1] TRUE [13:14:01.789] - queued futures: [n=1] TRUE - flush all [13:14:01.790] - relayed: [n=1] TRUE [13:14:01.790] - queued futures: [n=1] TRUE [13:14:01.790] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.790] resolve() on list ... DONE [13:14:01.790] - Number of value chunks collected: 1 [13:14:01.791] Resolving 1 futures (chunks) ... DONE [13:14:01.791] Reducing values from 1 chunks ... [13:14:01.791] - Number of values collected after concatenation: 6 [13:14:01.791] - Number of values expected: 6 [13:14:01.791] Reducing values from 1 chunks ... DONE [13:14:01.792] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.794] future_lapply() ... [13:14:01.794] Number of chunks: 1 [13:14:01.794] getGlobalsAndPackagesXApply() ... [13:14:01.795] - future.globals: TRUE [13:14:01.795] getGlobalsAndPackages() ... [13:14:01.795] Searching for globals... [13:14:01.796] - globals found: [2] 'FUN', 'UseMethod' [13:14:01.796] Searching for globals ... DONE [13:14:01.796] Resolving globals: FALSE [13:14:01.797] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:01.797] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:01.798] - globals: [1] 'FUN' [13:14:01.798] [13:14:01.798] getGlobalsAndPackages() ... DONE [13:14:01.798] - globals found/used: [n=1] 'FUN' [13:14:01.798] - needed namespaces: [n=0] [13:14:01.798] Finding globals ... DONE [13:14:01.799] - use_args: TRUE [13:14:01.799] - Getting '...' globals ... [13:14:01.799] resolve() on list ... [13:14:01.799] recursive: 0 [13:14:01.799] length: 1 [13:14:01.800] elements: '...' [13:14:01.800] length: 0 (resolved future 1) [13:14:01.800] resolve() on list ... DONE [13:14:01.800] - '...' content: [n=0] [13:14:01.800] List of 1 [13:14:01.800] $ ...: list() [13:14:01.800] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.800] - attr(*, "where")=List of 1 [13:14:01.800] ..$ ...: [13:14:01.800] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.800] - attr(*, "resolved")= logi TRUE [13:14:01.800] - attr(*, "total_size")= num NA [13:14:01.803] - Getting '...' globals ... DONE [13:14:01.803] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.804] List of 2 [13:14:01.804] $ ...future.FUN:function (x, ...) [13:14:01.804] $ ... : list() [13:14:01.804] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.804] - attr(*, "where")=List of 2 [13:14:01.804] ..$ ...future.FUN: [13:14:01.804] ..$ ... : [13:14:01.804] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.804] - attr(*, "resolved")= logi FALSE [13:14:01.804] - attr(*, "total_size")= num 1248 [13:14:01.808] Packages to be attached in all futures: [n=0] [13:14:01.808] getGlobalsAndPackagesXApply() ... DONE [13:14:01.808] Number of futures (= number of chunks): 1 [13:14:01.809] Launching 1 futures (chunks) ... [13:14:01.809] Chunk #1 of 1 ... [13:14:01.809] - Finding globals in 'X' for chunk #1 ... [13:14:01.809] getGlobalsAndPackages() ... [13:14:01.809] Searching for globals... [13:14:01.810] [13:14:01.810] Searching for globals ... DONE [13:14:01.810] - globals: [0] [13:14:01.810] getGlobalsAndPackages() ... DONE [13:14:01.810] + additional globals found: [n=0] [13:14:01.810] + additional namespaces needed: [n=0] [13:14:01.811] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.811] - seeds: [13:14:01.811] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.811] getGlobalsAndPackages() ... [13:14:01.811] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.811] Resolving globals: FALSE [13:14:01.812] Tweak future expression to call with '...' arguments ... [13:14:01.812] { [13:14:01.812] do.call(function(...) { [13:14:01.812] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.812] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.812] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.812] on.exit(options(oopts), add = TRUE) [13:14:01.812] } [13:14:01.812] { [13:14:01.812] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.812] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.812] ...future.FUN(...future.X_jj, ...) [13:14:01.812] }) [13:14:01.812] } [13:14:01.812] }, args = future.call.arguments) [13:14:01.812] } [13:14:01.812] Tweak future expression to call with '...' arguments ... DONE [13:14:01.813] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.813] [13:14:01.813] getGlobalsAndPackages() ... DONE [13:14:01.813] run() for 'Future' ... [13:14:01.814] - state: 'created' [13:14:01.814] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.814] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.814] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.815] - Field: 'label' [13:14:01.815] - Field: 'local' [13:14:01.815] - Field: 'owner' [13:14:01.815] - Field: 'envir' [13:14:01.815] - Field: 'packages' [13:14:01.815] - Field: 'gc' [13:14:01.816] - Field: 'conditions' [13:14:01.816] - Field: 'expr' [13:14:01.816] - Field: 'uuid' [13:14:01.816] - Field: 'seed' [13:14:01.816] - Field: 'version' [13:14:01.817] - Field: 'result' [13:14:01.817] - Field: 'asynchronous' [13:14:01.817] - Field: 'calls' [13:14:01.817] - Field: 'globals' [13:14:01.817] - Field: 'stdout' [13:14:01.817] - Field: 'earlySignal' [13:14:01.818] - Field: 'lazy' [13:14:01.818] - Field: 'state' [13:14:01.818] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.818] - Launch lazy future ... [13:14:01.818] Packages needed by the future expression (n = 0): [13:14:01.819] Packages needed by future strategies (n = 0): [13:14:01.819] { [13:14:01.819] { [13:14:01.819] { [13:14:01.819] ...future.startTime <- base::Sys.time() [13:14:01.819] { [13:14:01.819] { [13:14:01.819] { [13:14:01.819] base::local({ [13:14:01.819] has_future <- base::requireNamespace("future", [13:14:01.819] quietly = TRUE) [13:14:01.819] if (has_future) { [13:14:01.819] ns <- base::getNamespace("future") [13:14:01.819] version <- ns[[".package"]][["version"]] [13:14:01.819] if (is.null(version)) [13:14:01.819] version <- utils::packageVersion("future") [13:14:01.819] } [13:14:01.819] else { [13:14:01.819] version <- NULL [13:14:01.819] } [13:14:01.819] if (!has_future || version < "1.8.0") { [13:14:01.819] info <- base::c(r_version = base::gsub("R version ", [13:14:01.819] "", base::R.version$version.string), [13:14:01.819] platform = base::sprintf("%s (%s-bit)", [13:14:01.819] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.819] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.819] "release", "version")], collapse = " "), [13:14:01.819] hostname = base::Sys.info()[["nodename"]]) [13:14:01.819] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.819] info) [13:14:01.819] info <- base::paste(info, collapse = "; ") [13:14:01.819] if (!has_future) { [13:14:01.819] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.819] info) [13:14:01.819] } [13:14:01.819] else { [13:14:01.819] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.819] info, version) [13:14:01.819] } [13:14:01.819] base::stop(msg) [13:14:01.819] } [13:14:01.819] }) [13:14:01.819] } [13:14:01.819] options(future.plan = NULL) [13:14:01.819] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.819] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.819] } [13:14:01.819] ...future.workdir <- getwd() [13:14:01.819] } [13:14:01.819] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.819] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.819] } [13:14:01.819] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.819] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.819] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.819] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.819] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.819] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.819] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.819] base::names(...future.oldOptions)) [13:14:01.819] } [13:14:01.819] if (FALSE) { [13:14:01.819] } [13:14:01.819] else { [13:14:01.819] if (TRUE) { [13:14:01.819] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.819] open = "w") [13:14:01.819] } [13:14:01.819] else { [13:14:01.819] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.819] windows = "NUL", "/dev/null"), open = "w") [13:14:01.819] } [13:14:01.819] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.819] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.819] base::sink(type = "output", split = FALSE) [13:14:01.819] base::close(...future.stdout) [13:14:01.819] }, add = TRUE) [13:14:01.819] } [13:14:01.819] ...future.frame <- base::sys.nframe() [13:14:01.819] ...future.conditions <- base::list() [13:14:01.819] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.819] if (FALSE) { [13:14:01.819] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.819] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.819] } [13:14:01.819] ...future.result <- base::tryCatch({ [13:14:01.819] base::withCallingHandlers({ [13:14:01.819] ...future.value <- base::withVisible(base::local({ [13:14:01.819] do.call(function(...) { [13:14:01.819] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.819] if (!identical(...future.globals.maxSize.org, [13:14:01.819] ...future.globals.maxSize)) { [13:14:01.819] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.819] on.exit(options(oopts), add = TRUE) [13:14:01.819] } [13:14:01.819] { [13:14:01.819] lapply(seq_along(...future.elements_ii), [13:14:01.819] FUN = function(jj) { [13:14:01.819] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.819] ...future.FUN(...future.X_jj, ...) [13:14:01.819] }) [13:14:01.819] } [13:14:01.819] }, args = future.call.arguments) [13:14:01.819] })) [13:14:01.819] future::FutureResult(value = ...future.value$value, [13:14:01.819] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.819] ...future.rng), globalenv = if (FALSE) [13:14:01.819] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.819] ...future.globalenv.names)) [13:14:01.819] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.819] }, condition = base::local({ [13:14:01.819] c <- base::c [13:14:01.819] inherits <- base::inherits [13:14:01.819] invokeRestart <- base::invokeRestart [13:14:01.819] length <- base::length [13:14:01.819] list <- base::list [13:14:01.819] seq.int <- base::seq.int [13:14:01.819] signalCondition <- base::signalCondition [13:14:01.819] sys.calls <- base::sys.calls [13:14:01.819] `[[` <- base::`[[` [13:14:01.819] `+` <- base::`+` [13:14:01.819] `<<-` <- base::`<<-` [13:14:01.819] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.819] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.819] 3L)] [13:14:01.819] } [13:14:01.819] function(cond) { [13:14:01.819] is_error <- inherits(cond, "error") [13:14:01.819] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.819] NULL) [13:14:01.819] if (is_error) { [13:14:01.819] sessionInformation <- function() { [13:14:01.819] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.819] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.819] search = base::search(), system = base::Sys.info()) [13:14:01.819] } [13:14:01.819] ...future.conditions[[length(...future.conditions) + [13:14:01.819] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.819] cond$call), session = sessionInformation(), [13:14:01.819] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.819] signalCondition(cond) [13:14:01.819] } [13:14:01.819] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.819] "immediateCondition"))) { [13:14:01.819] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.819] ...future.conditions[[length(...future.conditions) + [13:14:01.819] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.819] if (TRUE && !signal) { [13:14:01.819] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.819] { [13:14:01.819] inherits <- base::inherits [13:14:01.819] invokeRestart <- base::invokeRestart [13:14:01.819] is.null <- base::is.null [13:14:01.819] muffled <- FALSE [13:14:01.819] if (inherits(cond, "message")) { [13:14:01.819] muffled <- grepl(pattern, "muffleMessage") [13:14:01.819] if (muffled) [13:14:01.819] invokeRestart("muffleMessage") [13:14:01.819] } [13:14:01.819] else if (inherits(cond, "warning")) { [13:14:01.819] muffled <- grepl(pattern, "muffleWarning") [13:14:01.819] if (muffled) [13:14:01.819] invokeRestart("muffleWarning") [13:14:01.819] } [13:14:01.819] else if (inherits(cond, "condition")) { [13:14:01.819] if (!is.null(pattern)) { [13:14:01.819] computeRestarts <- base::computeRestarts [13:14:01.819] grepl <- base::grepl [13:14:01.819] restarts <- computeRestarts(cond) [13:14:01.819] for (restart in restarts) { [13:14:01.819] name <- restart$name [13:14:01.819] if (is.null(name)) [13:14:01.819] next [13:14:01.819] if (!grepl(pattern, name)) [13:14:01.819] next [13:14:01.819] invokeRestart(restart) [13:14:01.819] muffled <- TRUE [13:14:01.819] break [13:14:01.819] } [13:14:01.819] } [13:14:01.819] } [13:14:01.819] invisible(muffled) [13:14:01.819] } [13:14:01.819] muffleCondition(cond, pattern = "^muffle") [13:14:01.819] } [13:14:01.819] } [13:14:01.819] else { [13:14:01.819] if (TRUE) { [13:14:01.819] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.819] { [13:14:01.819] inherits <- base::inherits [13:14:01.819] invokeRestart <- base::invokeRestart [13:14:01.819] is.null <- base::is.null [13:14:01.819] muffled <- FALSE [13:14:01.819] if (inherits(cond, "message")) { [13:14:01.819] muffled <- grepl(pattern, "muffleMessage") [13:14:01.819] if (muffled) [13:14:01.819] invokeRestart("muffleMessage") [13:14:01.819] } [13:14:01.819] else if (inherits(cond, "warning")) { [13:14:01.819] muffled <- grepl(pattern, "muffleWarning") [13:14:01.819] if (muffled) [13:14:01.819] invokeRestart("muffleWarning") [13:14:01.819] } [13:14:01.819] else if (inherits(cond, "condition")) { [13:14:01.819] if (!is.null(pattern)) { [13:14:01.819] computeRestarts <- base::computeRestarts [13:14:01.819] grepl <- base::grepl [13:14:01.819] restarts <- computeRestarts(cond) [13:14:01.819] for (restart in restarts) { [13:14:01.819] name <- restart$name [13:14:01.819] if (is.null(name)) [13:14:01.819] next [13:14:01.819] if (!grepl(pattern, name)) [13:14:01.819] next [13:14:01.819] invokeRestart(restart) [13:14:01.819] muffled <- TRUE [13:14:01.819] break [13:14:01.819] } [13:14:01.819] } [13:14:01.819] } [13:14:01.819] invisible(muffled) [13:14:01.819] } [13:14:01.819] muffleCondition(cond, pattern = "^muffle") [13:14:01.819] } [13:14:01.819] } [13:14:01.819] } [13:14:01.819] })) [13:14:01.819] }, error = function(ex) { [13:14:01.819] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.819] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.819] ...future.rng), started = ...future.startTime, [13:14:01.819] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.819] version = "1.8"), class = "FutureResult") [13:14:01.819] }, finally = { [13:14:01.819] if (!identical(...future.workdir, getwd())) [13:14:01.819] setwd(...future.workdir) [13:14:01.819] { [13:14:01.819] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.819] ...future.oldOptions$nwarnings <- NULL [13:14:01.819] } [13:14:01.819] base::options(...future.oldOptions) [13:14:01.819] if (.Platform$OS.type == "windows") { [13:14:01.819] old_names <- names(...future.oldEnvVars) [13:14:01.819] envs <- base::Sys.getenv() [13:14:01.819] names <- names(envs) [13:14:01.819] common <- intersect(names, old_names) [13:14:01.819] added <- setdiff(names, old_names) [13:14:01.819] removed <- setdiff(old_names, names) [13:14:01.819] changed <- common[...future.oldEnvVars[common] != [13:14:01.819] envs[common]] [13:14:01.819] NAMES <- toupper(changed) [13:14:01.819] args <- list() [13:14:01.819] for (kk in seq_along(NAMES)) { [13:14:01.819] name <- changed[[kk]] [13:14:01.819] NAME <- NAMES[[kk]] [13:14:01.819] if (name != NAME && is.element(NAME, old_names)) [13:14:01.819] next [13:14:01.819] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.819] } [13:14:01.819] NAMES <- toupper(added) [13:14:01.819] for (kk in seq_along(NAMES)) { [13:14:01.819] name <- added[[kk]] [13:14:01.819] NAME <- NAMES[[kk]] [13:14:01.819] if (name != NAME && is.element(NAME, old_names)) [13:14:01.819] next [13:14:01.819] args[[name]] <- "" [13:14:01.819] } [13:14:01.819] NAMES <- toupper(removed) [13:14:01.819] for (kk in seq_along(NAMES)) { [13:14:01.819] name <- removed[[kk]] [13:14:01.819] NAME <- NAMES[[kk]] [13:14:01.819] if (name != NAME && is.element(NAME, old_names)) [13:14:01.819] next [13:14:01.819] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.819] } [13:14:01.819] if (length(args) > 0) [13:14:01.819] base::do.call(base::Sys.setenv, args = args) [13:14:01.819] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.819] } [13:14:01.819] else { [13:14:01.819] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.819] } [13:14:01.819] { [13:14:01.819] if (base::length(...future.futureOptionsAdded) > [13:14:01.819] 0L) { [13:14:01.819] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.819] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.819] base::options(opts) [13:14:01.819] } [13:14:01.819] { [13:14:01.819] { [13:14:01.819] NULL [13:14:01.819] RNGkind("Mersenne-Twister") [13:14:01.819] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.819] inherits = FALSE) [13:14:01.819] } [13:14:01.819] options(future.plan = NULL) [13:14:01.819] if (is.na(NA_character_)) [13:14:01.819] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.819] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.819] future::plan(list(function (..., envir = parent.frame()) [13:14:01.819] { [13:14:01.819] future <- SequentialFuture(..., envir = envir) [13:14:01.819] if (!future$lazy) [13:14:01.819] future <- run(future) [13:14:01.819] invisible(future) [13:14:01.819] }), .cleanup = FALSE, .init = FALSE) [13:14:01.819] } [13:14:01.819] } [13:14:01.819] } [13:14:01.819] }) [13:14:01.819] if (TRUE) { [13:14:01.819] base::sink(type = "output", split = FALSE) [13:14:01.819] if (TRUE) { [13:14:01.819] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.819] } [13:14:01.819] else { [13:14:01.819] ...future.result["stdout"] <- base::list(NULL) [13:14:01.819] } [13:14:01.819] base::close(...future.stdout) [13:14:01.819] ...future.stdout <- NULL [13:14:01.819] } [13:14:01.819] ...future.result$conditions <- ...future.conditions [13:14:01.819] ...future.result$finished <- base::Sys.time() [13:14:01.819] ...future.result [13:14:01.819] } [13:14:01.823] assign_globals() ... [13:14:01.823] List of 5 [13:14:01.823] $ ...future.FUN :function (x, ...) [13:14:01.823] $ future.call.arguments : list() [13:14:01.823] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.823] $ ...future.elements_ii :List of 6 [13:14:01.823] ..$ a1: int 1 [13:14:01.823] ..$ a2: int 2 [13:14:01.823] ..$ b1: int 2 [13:14:01.823] ..$ b2: int 3 [13:14:01.823] ..$ c1: int 3 [13:14:01.823] ..$ c2: int 4 [13:14:01.823] $ ...future.seeds_ii : NULL [13:14:01.823] $ ...future.globals.maxSize: NULL [13:14:01.823] - attr(*, "where")=List of 5 [13:14:01.823] ..$ ...future.FUN : [13:14:01.823] ..$ future.call.arguments : [13:14:01.823] ..$ ...future.elements_ii : [13:14:01.823] ..$ ...future.seeds_ii : [13:14:01.823] ..$ ...future.globals.maxSize: [13:14:01.823] - attr(*, "resolved")= logi FALSE [13:14:01.823] - attr(*, "total_size")= num 1248 [13:14:01.823] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.823] - attr(*, "already-done")= logi TRUE [13:14:01.831] - copied '...future.FUN' to environment [13:14:01.831] - copied 'future.call.arguments' to environment [13:14:01.831] - copied '...future.elements_ii' to environment [13:14:01.831] - copied '...future.seeds_ii' to environment [13:14:01.831] - copied '...future.globals.maxSize' to environment [13:14:01.831] assign_globals() ... done [13:14:01.832] plan(): Setting new future strategy stack: [13:14:01.832] List of future strategies: [13:14:01.832] 1. sequential: [13:14:01.832] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.832] - tweaked: FALSE [13:14:01.832] - call: NULL [13:14:01.833] plan(): nbrOfWorkers() = 1 [13:14:01.835] plan(): Setting new future strategy stack: [13:14:01.835] List of future strategies: [13:14:01.835] 1. sequential: [13:14:01.835] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.835] - tweaked: FALSE [13:14:01.835] - call: plan(strategy) [13:14:01.836] plan(): nbrOfWorkers() = 1 [13:14:01.836] SequentialFuture started (and completed) [13:14:01.836] - Launch lazy future ... done [13:14:01.836] run() for 'SequentialFuture' ... done [13:14:01.836] Created future: [13:14:01.837] SequentialFuture: [13:14:01.837] Label: 'future_sapply-1' [13:14:01.837] Expression: [13:14:01.837] { [13:14:01.837] do.call(function(...) { [13:14:01.837] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.837] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.837] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.837] on.exit(options(oopts), add = TRUE) [13:14:01.837] } [13:14:01.837] { [13:14:01.837] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.837] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.837] ...future.FUN(...future.X_jj, ...) [13:14:01.837] }) [13:14:01.837] } [13:14:01.837] }, args = future.call.arguments) [13:14:01.837] } [13:14:01.837] Lazy evaluation: FALSE [13:14:01.837] Asynchronous evaluation: FALSE [13:14:01.837] Local evaluation: TRUE [13:14:01.837] Environment: R_GlobalEnv [13:14:01.837] Capture standard output: TRUE [13:14:01.837] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.837] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.837] Packages: [13:14:01.837] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.837] Resolved: TRUE [13:14:01.837] Value: 1.31 KiB of class 'list' [13:14:01.837] Early signaling: FALSE [13:14:01.837] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.837] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.838] Chunk #1 of 1 ... DONE [13:14:01.838] Launching 1 futures (chunks) ... DONE [13:14:01.838] Resolving 1 futures (chunks) ... [13:14:01.839] resolve() on list ... [13:14:01.839] recursive: 0 [13:14:01.839] length: 1 [13:14:01.839] [13:14:01.839] resolved() for 'SequentialFuture' ... [13:14:01.839] - state: 'finished' [13:14:01.840] - run: TRUE [13:14:01.840] - result: 'FutureResult' [13:14:01.840] resolved() for 'SequentialFuture' ... done [13:14:01.840] Future #1 [13:14:01.840] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.841] - nx: 1 [13:14:01.841] - relay: TRUE [13:14:01.841] - stdout: TRUE [13:14:01.841] - signal: TRUE [13:14:01.841] - resignal: FALSE [13:14:01.841] - force: TRUE [13:14:01.841] - relayed: [n=1] FALSE [13:14:01.842] - queued futures: [n=1] FALSE [13:14:01.842] - until=1 [13:14:01.842] - relaying element #1 [13:14:01.842] - relayed: [n=1] TRUE [13:14:01.842] - queued futures: [n=1] TRUE [13:14:01.843] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.843] length: 0 (resolved future 1) [13:14:01.843] Relaying remaining futures [13:14:01.843] signalConditionsASAP(NULL, pos=0) ... [13:14:01.843] - nx: 1 [13:14:01.843] - relay: TRUE [13:14:01.843] - stdout: TRUE [13:14:01.844] - signal: TRUE [13:14:01.844] - resignal: FALSE [13:14:01.844] - force: TRUE [13:14:01.844] - relayed: [n=1] TRUE [13:14:01.844] - queued futures: [n=1] TRUE - flush all [13:14:01.845] - relayed: [n=1] TRUE [13:14:01.845] - queued futures: [n=1] TRUE [13:14:01.845] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.845] resolve() on list ... DONE [13:14:01.845] - Number of value chunks collected: 1 [13:14:01.846] Resolving 1 futures (chunks) ... DONE [13:14:01.846] Reducing values from 1 chunks ... [13:14:01.846] - Number of values collected after concatenation: 6 [13:14:01.846] - Number of values expected: 6 [13:14:01.846] Reducing values from 1 chunks ... DONE [13:14:01.846] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.848] future_lapply() ... [13:14:01.849] Number of chunks: 1 [13:14:01.849] getGlobalsAndPackagesXApply() ... [13:14:01.850] - future.globals: TRUE [13:14:01.850] getGlobalsAndPackages() ... [13:14:01.850] Searching for globals... [13:14:01.852] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:01.852] Searching for globals ... DONE [13:14:01.852] Resolving globals: FALSE [13:14:01.853] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:01.853] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:01.853] - globals: [1] 'FUN' [13:14:01.853] [13:14:01.854] getGlobalsAndPackages() ... DONE [13:14:01.854] - globals found/used: [n=1] 'FUN' [13:14:01.854] - needed namespaces: [n=0] [13:14:01.854] Finding globals ... DONE [13:14:01.854] - use_args: TRUE [13:14:01.854] - Getting '...' globals ... [13:14:01.855] resolve() on list ... [13:14:01.855] recursive: 0 [13:14:01.855] length: 1 [13:14:01.855] elements: '...' [13:14:01.855] length: 0 (resolved future 1) [13:14:01.856] resolve() on list ... DONE [13:14:01.856] - '...' content: [n=0] [13:14:01.856] List of 1 [13:14:01.856] $ ...: list() [13:14:01.856] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.856] - attr(*, "where")=List of 1 [13:14:01.856] ..$ ...: [13:14:01.856] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.856] - attr(*, "resolved")= logi TRUE [13:14:01.856] - attr(*, "total_size")= num NA [13:14:01.859] - Getting '...' globals ... DONE [13:14:01.859] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.859] List of 2 [13:14:01.859] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:01.859] $ ... : list() [13:14:01.859] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.859] - attr(*, "where")=List of 2 [13:14:01.859] ..$ ...future.FUN: [13:14:01.859] ..$ ... : [13:14:01.859] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.859] - attr(*, "resolved")= logi FALSE [13:14:01.859] - attr(*, "total_size")= num 4728 [13:14:01.864] Packages to be attached in all futures: [n=0] [13:14:01.864] getGlobalsAndPackagesXApply() ... DONE [13:14:01.864] Number of futures (= number of chunks): 1 [13:14:01.864] Launching 1 futures (chunks) ... [13:14:01.865] Chunk #1 of 1 ... [13:14:01.865] - Finding globals in 'X' for chunk #1 ... [13:14:01.865] getGlobalsAndPackages() ... [13:14:01.865] Searching for globals... [13:14:01.866] [13:14:01.866] Searching for globals ... DONE [13:14:01.866] - globals: [0] [13:14:01.866] getGlobalsAndPackages() ... DONE [13:14:01.866] + additional globals found: [n=0] [13:14:01.866] + additional namespaces needed: [n=0] [13:14:01.866] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.867] - seeds: [13:14:01.867] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.867] getGlobalsAndPackages() ... [13:14:01.867] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.867] Resolving globals: FALSE [13:14:01.868] Tweak future expression to call with '...' arguments ... [13:14:01.868] { [13:14:01.868] do.call(function(...) { [13:14:01.868] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.868] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.868] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.868] on.exit(options(oopts), add = TRUE) [13:14:01.868] } [13:14:01.868] { [13:14:01.868] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.868] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.868] ...future.FUN(...future.X_jj, ...) [13:14:01.868] }) [13:14:01.868] } [13:14:01.868] }, args = future.call.arguments) [13:14:01.868] } [13:14:01.868] Tweak future expression to call with '...' arguments ... DONE [13:14:01.869] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.869] [13:14:01.869] getGlobalsAndPackages() ... DONE [13:14:01.869] run() for 'Future' ... [13:14:01.869] - state: 'created' [13:14:01.870] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.870] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.870] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.870] - Field: 'label' [13:14:01.871] - Field: 'local' [13:14:01.871] - Field: 'owner' [13:14:01.871] - Field: 'envir' [13:14:01.871] - Field: 'packages' [13:14:01.871] - Field: 'gc' [13:14:01.871] - Field: 'conditions' [13:14:01.872] - Field: 'expr' [13:14:01.872] - Field: 'uuid' [13:14:01.872] - Field: 'seed' [13:14:01.872] - Field: 'version' [13:14:01.872] - Field: 'result' [13:14:01.873] - Field: 'asynchronous' [13:14:01.873] - Field: 'calls' [13:14:01.873] - Field: 'globals' [13:14:01.873] - Field: 'stdout' [13:14:01.873] - Field: 'earlySignal' [13:14:01.873] - Field: 'lazy' [13:14:01.874] - Field: 'state' [13:14:01.874] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.874] - Launch lazy future ... [13:14:01.874] Packages needed by the future expression (n = 0): [13:14:01.874] Packages needed by future strategies (n = 0): [13:14:01.875] { [13:14:01.875] { [13:14:01.875] { [13:14:01.875] ...future.startTime <- base::Sys.time() [13:14:01.875] { [13:14:01.875] { [13:14:01.875] { [13:14:01.875] base::local({ [13:14:01.875] has_future <- base::requireNamespace("future", [13:14:01.875] quietly = TRUE) [13:14:01.875] if (has_future) { [13:14:01.875] ns <- base::getNamespace("future") [13:14:01.875] version <- ns[[".package"]][["version"]] [13:14:01.875] if (is.null(version)) [13:14:01.875] version <- utils::packageVersion("future") [13:14:01.875] } [13:14:01.875] else { [13:14:01.875] version <- NULL [13:14:01.875] } [13:14:01.875] if (!has_future || version < "1.8.0") { [13:14:01.875] info <- base::c(r_version = base::gsub("R version ", [13:14:01.875] "", base::R.version$version.string), [13:14:01.875] platform = base::sprintf("%s (%s-bit)", [13:14:01.875] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.875] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.875] "release", "version")], collapse = " "), [13:14:01.875] hostname = base::Sys.info()[["nodename"]]) [13:14:01.875] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.875] info) [13:14:01.875] info <- base::paste(info, collapse = "; ") [13:14:01.875] if (!has_future) { [13:14:01.875] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.875] info) [13:14:01.875] } [13:14:01.875] else { [13:14:01.875] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.875] info, version) [13:14:01.875] } [13:14:01.875] base::stop(msg) [13:14:01.875] } [13:14:01.875] }) [13:14:01.875] } [13:14:01.875] options(future.plan = NULL) [13:14:01.875] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.875] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.875] } [13:14:01.875] ...future.workdir <- getwd() [13:14:01.875] } [13:14:01.875] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.875] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.875] } [13:14:01.875] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.875] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.875] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.875] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.875] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.875] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.875] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.875] base::names(...future.oldOptions)) [13:14:01.875] } [13:14:01.875] if (FALSE) { [13:14:01.875] } [13:14:01.875] else { [13:14:01.875] if (TRUE) { [13:14:01.875] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.875] open = "w") [13:14:01.875] } [13:14:01.875] else { [13:14:01.875] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.875] windows = "NUL", "/dev/null"), open = "w") [13:14:01.875] } [13:14:01.875] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.875] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.875] base::sink(type = "output", split = FALSE) [13:14:01.875] base::close(...future.stdout) [13:14:01.875] }, add = TRUE) [13:14:01.875] } [13:14:01.875] ...future.frame <- base::sys.nframe() [13:14:01.875] ...future.conditions <- base::list() [13:14:01.875] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.875] if (FALSE) { [13:14:01.875] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.875] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.875] } [13:14:01.875] ...future.result <- base::tryCatch({ [13:14:01.875] base::withCallingHandlers({ [13:14:01.875] ...future.value <- base::withVisible(base::local({ [13:14:01.875] do.call(function(...) { [13:14:01.875] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.875] if (!identical(...future.globals.maxSize.org, [13:14:01.875] ...future.globals.maxSize)) { [13:14:01.875] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.875] on.exit(options(oopts), add = TRUE) [13:14:01.875] } [13:14:01.875] { [13:14:01.875] lapply(seq_along(...future.elements_ii), [13:14:01.875] FUN = function(jj) { [13:14:01.875] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.875] ...future.FUN(...future.X_jj, ...) [13:14:01.875] }) [13:14:01.875] } [13:14:01.875] }, args = future.call.arguments) [13:14:01.875] })) [13:14:01.875] future::FutureResult(value = ...future.value$value, [13:14:01.875] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.875] ...future.rng), globalenv = if (FALSE) [13:14:01.875] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.875] ...future.globalenv.names)) [13:14:01.875] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.875] }, condition = base::local({ [13:14:01.875] c <- base::c [13:14:01.875] inherits <- base::inherits [13:14:01.875] invokeRestart <- base::invokeRestart [13:14:01.875] length <- base::length [13:14:01.875] list <- base::list [13:14:01.875] seq.int <- base::seq.int [13:14:01.875] signalCondition <- base::signalCondition [13:14:01.875] sys.calls <- base::sys.calls [13:14:01.875] `[[` <- base::`[[` [13:14:01.875] `+` <- base::`+` [13:14:01.875] `<<-` <- base::`<<-` [13:14:01.875] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.875] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.875] 3L)] [13:14:01.875] } [13:14:01.875] function(cond) { [13:14:01.875] is_error <- inherits(cond, "error") [13:14:01.875] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.875] NULL) [13:14:01.875] if (is_error) { [13:14:01.875] sessionInformation <- function() { [13:14:01.875] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.875] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.875] search = base::search(), system = base::Sys.info()) [13:14:01.875] } [13:14:01.875] ...future.conditions[[length(...future.conditions) + [13:14:01.875] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.875] cond$call), session = sessionInformation(), [13:14:01.875] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.875] signalCondition(cond) [13:14:01.875] } [13:14:01.875] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.875] "immediateCondition"))) { [13:14:01.875] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.875] ...future.conditions[[length(...future.conditions) + [13:14:01.875] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.875] if (TRUE && !signal) { [13:14:01.875] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.875] { [13:14:01.875] inherits <- base::inherits [13:14:01.875] invokeRestart <- base::invokeRestart [13:14:01.875] is.null <- base::is.null [13:14:01.875] muffled <- FALSE [13:14:01.875] if (inherits(cond, "message")) { [13:14:01.875] muffled <- grepl(pattern, "muffleMessage") [13:14:01.875] if (muffled) [13:14:01.875] invokeRestart("muffleMessage") [13:14:01.875] } [13:14:01.875] else if (inherits(cond, "warning")) { [13:14:01.875] muffled <- grepl(pattern, "muffleWarning") [13:14:01.875] if (muffled) [13:14:01.875] invokeRestart("muffleWarning") [13:14:01.875] } [13:14:01.875] else if (inherits(cond, "condition")) { [13:14:01.875] if (!is.null(pattern)) { [13:14:01.875] computeRestarts <- base::computeRestarts [13:14:01.875] grepl <- base::grepl [13:14:01.875] restarts <- computeRestarts(cond) [13:14:01.875] for (restart in restarts) { [13:14:01.875] name <- restart$name [13:14:01.875] if (is.null(name)) [13:14:01.875] next [13:14:01.875] if (!grepl(pattern, name)) [13:14:01.875] next [13:14:01.875] invokeRestart(restart) [13:14:01.875] muffled <- TRUE [13:14:01.875] break [13:14:01.875] } [13:14:01.875] } [13:14:01.875] } [13:14:01.875] invisible(muffled) [13:14:01.875] } [13:14:01.875] muffleCondition(cond, pattern = "^muffle") [13:14:01.875] } [13:14:01.875] } [13:14:01.875] else { [13:14:01.875] if (TRUE) { [13:14:01.875] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.875] { [13:14:01.875] inherits <- base::inherits [13:14:01.875] invokeRestart <- base::invokeRestart [13:14:01.875] is.null <- base::is.null [13:14:01.875] muffled <- FALSE [13:14:01.875] if (inherits(cond, "message")) { [13:14:01.875] muffled <- grepl(pattern, "muffleMessage") [13:14:01.875] if (muffled) [13:14:01.875] invokeRestart("muffleMessage") [13:14:01.875] } [13:14:01.875] else if (inherits(cond, "warning")) { [13:14:01.875] muffled <- grepl(pattern, "muffleWarning") [13:14:01.875] if (muffled) [13:14:01.875] invokeRestart("muffleWarning") [13:14:01.875] } [13:14:01.875] else if (inherits(cond, "condition")) { [13:14:01.875] if (!is.null(pattern)) { [13:14:01.875] computeRestarts <- base::computeRestarts [13:14:01.875] grepl <- base::grepl [13:14:01.875] restarts <- computeRestarts(cond) [13:14:01.875] for (restart in restarts) { [13:14:01.875] name <- restart$name [13:14:01.875] if (is.null(name)) [13:14:01.875] next [13:14:01.875] if (!grepl(pattern, name)) [13:14:01.875] next [13:14:01.875] invokeRestart(restart) [13:14:01.875] muffled <- TRUE [13:14:01.875] break [13:14:01.875] } [13:14:01.875] } [13:14:01.875] } [13:14:01.875] invisible(muffled) [13:14:01.875] } [13:14:01.875] muffleCondition(cond, pattern = "^muffle") [13:14:01.875] } [13:14:01.875] } [13:14:01.875] } [13:14:01.875] })) [13:14:01.875] }, error = function(ex) { [13:14:01.875] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.875] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.875] ...future.rng), started = ...future.startTime, [13:14:01.875] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.875] version = "1.8"), class = "FutureResult") [13:14:01.875] }, finally = { [13:14:01.875] if (!identical(...future.workdir, getwd())) [13:14:01.875] setwd(...future.workdir) [13:14:01.875] { [13:14:01.875] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.875] ...future.oldOptions$nwarnings <- NULL [13:14:01.875] } [13:14:01.875] base::options(...future.oldOptions) [13:14:01.875] if (.Platform$OS.type == "windows") { [13:14:01.875] old_names <- names(...future.oldEnvVars) [13:14:01.875] envs <- base::Sys.getenv() [13:14:01.875] names <- names(envs) [13:14:01.875] common <- intersect(names, old_names) [13:14:01.875] added <- setdiff(names, old_names) [13:14:01.875] removed <- setdiff(old_names, names) [13:14:01.875] changed <- common[...future.oldEnvVars[common] != [13:14:01.875] envs[common]] [13:14:01.875] NAMES <- toupper(changed) [13:14:01.875] args <- list() [13:14:01.875] for (kk in seq_along(NAMES)) { [13:14:01.875] name <- changed[[kk]] [13:14:01.875] NAME <- NAMES[[kk]] [13:14:01.875] if (name != NAME && is.element(NAME, old_names)) [13:14:01.875] next [13:14:01.875] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.875] } [13:14:01.875] NAMES <- toupper(added) [13:14:01.875] for (kk in seq_along(NAMES)) { [13:14:01.875] name <- added[[kk]] [13:14:01.875] NAME <- NAMES[[kk]] [13:14:01.875] if (name != NAME && is.element(NAME, old_names)) [13:14:01.875] next [13:14:01.875] args[[name]] <- "" [13:14:01.875] } [13:14:01.875] NAMES <- toupper(removed) [13:14:01.875] for (kk in seq_along(NAMES)) { [13:14:01.875] name <- removed[[kk]] [13:14:01.875] NAME <- NAMES[[kk]] [13:14:01.875] if (name != NAME && is.element(NAME, old_names)) [13:14:01.875] next [13:14:01.875] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.875] } [13:14:01.875] if (length(args) > 0) [13:14:01.875] base::do.call(base::Sys.setenv, args = args) [13:14:01.875] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.875] } [13:14:01.875] else { [13:14:01.875] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.875] } [13:14:01.875] { [13:14:01.875] if (base::length(...future.futureOptionsAdded) > [13:14:01.875] 0L) { [13:14:01.875] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.875] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.875] base::options(opts) [13:14:01.875] } [13:14:01.875] { [13:14:01.875] { [13:14:01.875] NULL [13:14:01.875] RNGkind("Mersenne-Twister") [13:14:01.875] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.875] inherits = FALSE) [13:14:01.875] } [13:14:01.875] options(future.plan = NULL) [13:14:01.875] if (is.na(NA_character_)) [13:14:01.875] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.875] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.875] future::plan(list(function (..., envir = parent.frame()) [13:14:01.875] { [13:14:01.875] future <- SequentialFuture(..., envir = envir) [13:14:01.875] if (!future$lazy) [13:14:01.875] future <- run(future) [13:14:01.875] invisible(future) [13:14:01.875] }), .cleanup = FALSE, .init = FALSE) [13:14:01.875] } [13:14:01.875] } [13:14:01.875] } [13:14:01.875] }) [13:14:01.875] if (TRUE) { [13:14:01.875] base::sink(type = "output", split = FALSE) [13:14:01.875] if (TRUE) { [13:14:01.875] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.875] } [13:14:01.875] else { [13:14:01.875] ...future.result["stdout"] <- base::list(NULL) [13:14:01.875] } [13:14:01.875] base::close(...future.stdout) [13:14:01.875] ...future.stdout <- NULL [13:14:01.875] } [13:14:01.875] ...future.result$conditions <- ...future.conditions [13:14:01.875] ...future.result$finished <- base::Sys.time() [13:14:01.875] ...future.result [13:14:01.875] } [13:14:01.879] assign_globals() ... [13:14:01.879] List of 5 [13:14:01.879] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:01.879] $ future.call.arguments : list() [13:14:01.879] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.879] $ ...future.elements_ii :List of 6 [13:14:01.879] ..$ a1: int 1 [13:14:01.879] ..$ a2: int 2 [13:14:01.879] ..$ b1: int 2 [13:14:01.879] ..$ b2: int 3 [13:14:01.879] ..$ c1: int 3 [13:14:01.879] ..$ c2: int 4 [13:14:01.879] $ ...future.seeds_ii : NULL [13:14:01.879] $ ...future.globals.maxSize: NULL [13:14:01.879] - attr(*, "where")=List of 5 [13:14:01.879] ..$ ...future.FUN : [13:14:01.879] ..$ future.call.arguments : [13:14:01.879] ..$ ...future.elements_ii : [13:14:01.879] ..$ ...future.seeds_ii : [13:14:01.879] ..$ ...future.globals.maxSize: [13:14:01.879] - attr(*, "resolved")= logi FALSE [13:14:01.879] - attr(*, "total_size")= num 4728 [13:14:01.879] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.879] - attr(*, "already-done")= logi TRUE [13:14:01.886] - reassign environment for '...future.FUN' [13:14:01.887] - copied '...future.FUN' to environment [13:14:01.887] - copied 'future.call.arguments' to environment [13:14:01.888] - copied '...future.elements_ii' to environment [13:14:01.888] - copied '...future.seeds_ii' to environment [13:14:01.888] - copied '...future.globals.maxSize' to environment [13:14:01.888] assign_globals() ... done [13:14:01.889] plan(): Setting new future strategy stack: [13:14:01.889] List of future strategies: [13:14:01.889] 1. sequential: [13:14:01.889] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.889] - tweaked: FALSE [13:14:01.889] - call: NULL [13:14:01.890] plan(): nbrOfWorkers() = 1 [13:14:01.891] plan(): Setting new future strategy stack: [13:14:01.891] List of future strategies: [13:14:01.891] 1. sequential: [13:14:01.891] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.891] - tweaked: FALSE [13:14:01.891] - call: plan(strategy) [13:14:01.892] plan(): nbrOfWorkers() = 1 [13:14:01.892] SequentialFuture started (and completed) [13:14:01.892] - Launch lazy future ... done [13:14:01.892] run() for 'SequentialFuture' ... done [13:14:01.892] Created future: [13:14:01.893] SequentialFuture: [13:14:01.893] Label: 'future_sapply-1' [13:14:01.893] Expression: [13:14:01.893] { [13:14:01.893] do.call(function(...) { [13:14:01.893] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.893] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.893] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.893] on.exit(options(oopts), add = TRUE) [13:14:01.893] } [13:14:01.893] { [13:14:01.893] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.893] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.893] ...future.FUN(...future.X_jj, ...) [13:14:01.893] }) [13:14:01.893] } [13:14:01.893] }, args = future.call.arguments) [13:14:01.893] } [13:14:01.893] Lazy evaluation: FALSE [13:14:01.893] Asynchronous evaluation: FALSE [13:14:01.893] Local evaluation: TRUE [13:14:01.893] Environment: R_GlobalEnv [13:14:01.893] Capture standard output: TRUE [13:14:01.893] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.893] Globals: 5 objects totaling 4.95 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.893] Packages: [13:14:01.893] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.893] Resolved: TRUE [13:14:01.893] Value: 2.02 KiB of class 'list' [13:14:01.893] Early signaling: FALSE [13:14:01.893] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.893] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.894] Chunk #1 of 1 ... DONE [13:14:01.894] Launching 1 futures (chunks) ... DONE [13:14:01.894] Resolving 1 futures (chunks) ... [13:14:01.895] resolve() on list ... [13:14:01.895] recursive: 0 [13:14:01.895] length: 1 [13:14:01.895] [13:14:01.895] resolved() for 'SequentialFuture' ... [13:14:01.895] - state: 'finished' [13:14:01.896] - run: TRUE [13:14:01.896] - result: 'FutureResult' [13:14:01.896] resolved() for 'SequentialFuture' ... done [13:14:01.896] Future #1 [13:14:01.896] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.896] - nx: 1 [13:14:01.897] - relay: TRUE [13:14:01.897] - stdout: TRUE [13:14:01.897] - signal: TRUE [13:14:01.897] - resignal: FALSE [13:14:01.897] - force: TRUE [13:14:01.897] - relayed: [n=1] FALSE [13:14:01.898] - queued futures: [n=1] FALSE [13:14:01.898] - until=1 [13:14:01.898] - relaying element #1 [13:14:01.898] - relayed: [n=1] TRUE [13:14:01.898] - queued futures: [n=1] TRUE [13:14:01.898] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.899] length: 0 (resolved future 1) [13:14:01.899] Relaying remaining futures [13:14:01.899] signalConditionsASAP(NULL, pos=0) ... [13:14:01.899] - nx: 1 [13:14:01.899] - relay: TRUE [13:14:01.899] - stdout: TRUE [13:14:01.900] - signal: TRUE [13:14:01.900] - resignal: FALSE [13:14:01.900] - force: TRUE [13:14:01.900] - relayed: [n=1] TRUE [13:14:01.900] - queued futures: [n=1] TRUE - flush all [13:14:01.900] - relayed: [n=1] TRUE [13:14:01.901] - queued futures: [n=1] TRUE [13:14:01.901] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.901] resolve() on list ... DONE [13:14:01.901] - Number of value chunks collected: 1 [13:14:01.901] Resolving 1 futures (chunks) ... DONE [13:14:01.901] Reducing values from 1 chunks ... [13:14:01.902] - Number of values collected after concatenation: 6 [13:14:01.902] - Number of values expected: 6 [13:14:01.902] Reducing values from 1 chunks ... DONE [13:14:01.902] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.905] future_lapply() ... [13:14:01.906] Number of chunks: 1 [13:14:01.906] getGlobalsAndPackagesXApply() ... [13:14:01.906] - future.globals: TRUE [13:14:01.906] getGlobalsAndPackages() ... [13:14:01.906] Searching for globals... [13:14:01.908] - globals found: [1] 'FUN' [13:14:01.908] Searching for globals ... DONE [13:14:01.908] Resolving globals: FALSE [13:14:01.908] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:01.909] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:01.909] - globals: [1] 'FUN' [13:14:01.909] [13:14:01.909] getGlobalsAndPackages() ... DONE [13:14:01.909] - globals found/used: [n=1] 'FUN' [13:14:01.910] - needed namespaces: [n=0] [13:14:01.910] Finding globals ... DONE [13:14:01.910] - use_args: TRUE [13:14:01.910] - Getting '...' globals ... [13:14:01.910] resolve() on list ... [13:14:01.911] recursive: 0 [13:14:01.911] length: 1 [13:14:01.911] elements: '...' [13:14:01.911] length: 0 (resolved future 1) [13:14:01.911] resolve() on list ... DONE [13:14:01.911] - '...' content: [n=0] [13:14:01.912] List of 1 [13:14:01.912] $ ...: list() [13:14:01.912] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.912] - attr(*, "where")=List of 1 [13:14:01.912] ..$ ...: [13:14:01.912] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.912] - attr(*, "resolved")= logi TRUE [13:14:01.912] - attr(*, "total_size")= num NA [13:14:01.916] - Getting '...' globals ... DONE [13:14:01.916] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.916] List of 2 [13:14:01.916] $ ...future.FUN:function (x) [13:14:01.916] $ ... : list() [13:14:01.916] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.916] - attr(*, "where")=List of 2 [13:14:01.916] ..$ ...future.FUN: [13:14:01.916] ..$ ... : [13:14:01.916] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.916] - attr(*, "resolved")= logi FALSE [13:14:01.916] - attr(*, "total_size")= num 848 [13:14:01.920] Packages to be attached in all futures: [n=0] [13:14:01.920] getGlobalsAndPackagesXApply() ... DONE [13:14:01.920] Number of futures (= number of chunks): 1 [13:14:01.920] Launching 1 futures (chunks) ... [13:14:01.920] Chunk #1 of 1 ... [13:14:01.921] - Finding globals in 'X' for chunk #1 ... [13:14:01.921] getGlobalsAndPackages() ... [13:14:01.921] Searching for globals... [13:14:01.921] [13:14:01.921] Searching for globals ... DONE [13:14:01.922] - globals: [0] [13:14:01.922] getGlobalsAndPackages() ... DONE [13:14:01.922] + additional globals found: [n=0] [13:14:01.922] + additional namespaces needed: [n=0] [13:14:01.922] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.922] - seeds: [13:14:01.922] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.923] getGlobalsAndPackages() ... [13:14:01.923] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.923] Resolving globals: FALSE [13:14:01.923] Tweak future expression to call with '...' arguments ... [13:14:01.923] { [13:14:01.923] do.call(function(...) { [13:14:01.923] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.923] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.923] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.923] on.exit(options(oopts), add = TRUE) [13:14:01.923] } [13:14:01.923] { [13:14:01.923] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.923] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.923] ...future.FUN(...future.X_jj, ...) [13:14:01.923] }) [13:14:01.923] } [13:14:01.923] }, args = future.call.arguments) [13:14:01.923] } [13:14:01.924] Tweak future expression to call with '...' arguments ... DONE [13:14:01.924] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.924] [13:14:01.925] getGlobalsAndPackages() ... DONE [13:14:01.925] run() for 'Future' ... [13:14:01.925] - state: 'created' [13:14:01.925] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.926] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.926] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.926] - Field: 'label' [13:14:01.926] - Field: 'local' [13:14:01.926] - Field: 'owner' [13:14:01.927] - Field: 'envir' [13:14:01.927] - Field: 'packages' [13:14:01.927] - Field: 'gc' [13:14:01.927] - Field: 'conditions' [13:14:01.927] - Field: 'expr' [13:14:01.928] - Field: 'uuid' [13:14:01.928] - Field: 'seed' [13:14:01.928] - Field: 'version' [13:14:01.928] - Field: 'result' [13:14:01.928] - Field: 'asynchronous' [13:14:01.928] - Field: 'calls' [13:14:01.929] - Field: 'globals' [13:14:01.929] - Field: 'stdout' [13:14:01.929] - Field: 'earlySignal' [13:14:01.929] - Field: 'lazy' [13:14:01.929] - Field: 'state' [13:14:01.929] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.930] - Launch lazy future ... [13:14:01.930] Packages needed by the future expression (n = 0): [13:14:01.930] Packages needed by future strategies (n = 0): [13:14:01.931] { [13:14:01.931] { [13:14:01.931] { [13:14:01.931] ...future.startTime <- base::Sys.time() [13:14:01.931] { [13:14:01.931] { [13:14:01.931] { [13:14:01.931] base::local({ [13:14:01.931] has_future <- base::requireNamespace("future", [13:14:01.931] quietly = TRUE) [13:14:01.931] if (has_future) { [13:14:01.931] ns <- base::getNamespace("future") [13:14:01.931] version <- ns[[".package"]][["version"]] [13:14:01.931] if (is.null(version)) [13:14:01.931] version <- utils::packageVersion("future") [13:14:01.931] } [13:14:01.931] else { [13:14:01.931] version <- NULL [13:14:01.931] } [13:14:01.931] if (!has_future || version < "1.8.0") { [13:14:01.931] info <- base::c(r_version = base::gsub("R version ", [13:14:01.931] "", base::R.version$version.string), [13:14:01.931] platform = base::sprintf("%s (%s-bit)", [13:14:01.931] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.931] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.931] "release", "version")], collapse = " "), [13:14:01.931] hostname = base::Sys.info()[["nodename"]]) [13:14:01.931] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.931] info) [13:14:01.931] info <- base::paste(info, collapse = "; ") [13:14:01.931] if (!has_future) { [13:14:01.931] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.931] info) [13:14:01.931] } [13:14:01.931] else { [13:14:01.931] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.931] info, version) [13:14:01.931] } [13:14:01.931] base::stop(msg) [13:14:01.931] } [13:14:01.931] }) [13:14:01.931] } [13:14:01.931] options(future.plan = NULL) [13:14:01.931] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.931] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.931] } [13:14:01.931] ...future.workdir <- getwd() [13:14:01.931] } [13:14:01.931] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.931] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.931] } [13:14:01.931] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.931] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.931] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.931] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.931] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.931] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.931] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.931] base::names(...future.oldOptions)) [13:14:01.931] } [13:14:01.931] if (FALSE) { [13:14:01.931] } [13:14:01.931] else { [13:14:01.931] if (TRUE) { [13:14:01.931] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.931] open = "w") [13:14:01.931] } [13:14:01.931] else { [13:14:01.931] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.931] windows = "NUL", "/dev/null"), open = "w") [13:14:01.931] } [13:14:01.931] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.931] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.931] base::sink(type = "output", split = FALSE) [13:14:01.931] base::close(...future.stdout) [13:14:01.931] }, add = TRUE) [13:14:01.931] } [13:14:01.931] ...future.frame <- base::sys.nframe() [13:14:01.931] ...future.conditions <- base::list() [13:14:01.931] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.931] if (FALSE) { [13:14:01.931] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.931] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.931] } [13:14:01.931] ...future.result <- base::tryCatch({ [13:14:01.931] base::withCallingHandlers({ [13:14:01.931] ...future.value <- base::withVisible(base::local({ [13:14:01.931] do.call(function(...) { [13:14:01.931] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.931] if (!identical(...future.globals.maxSize.org, [13:14:01.931] ...future.globals.maxSize)) { [13:14:01.931] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.931] on.exit(options(oopts), add = TRUE) [13:14:01.931] } [13:14:01.931] { [13:14:01.931] lapply(seq_along(...future.elements_ii), [13:14:01.931] FUN = function(jj) { [13:14:01.931] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.931] ...future.FUN(...future.X_jj, ...) [13:14:01.931] }) [13:14:01.931] } [13:14:01.931] }, args = future.call.arguments) [13:14:01.931] })) [13:14:01.931] future::FutureResult(value = ...future.value$value, [13:14:01.931] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.931] ...future.rng), globalenv = if (FALSE) [13:14:01.931] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.931] ...future.globalenv.names)) [13:14:01.931] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.931] }, condition = base::local({ [13:14:01.931] c <- base::c [13:14:01.931] inherits <- base::inherits [13:14:01.931] invokeRestart <- base::invokeRestart [13:14:01.931] length <- base::length [13:14:01.931] list <- base::list [13:14:01.931] seq.int <- base::seq.int [13:14:01.931] signalCondition <- base::signalCondition [13:14:01.931] sys.calls <- base::sys.calls [13:14:01.931] `[[` <- base::`[[` [13:14:01.931] `+` <- base::`+` [13:14:01.931] `<<-` <- base::`<<-` [13:14:01.931] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.931] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.931] 3L)] [13:14:01.931] } [13:14:01.931] function(cond) { [13:14:01.931] is_error <- inherits(cond, "error") [13:14:01.931] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.931] NULL) [13:14:01.931] if (is_error) { [13:14:01.931] sessionInformation <- function() { [13:14:01.931] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.931] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.931] search = base::search(), system = base::Sys.info()) [13:14:01.931] } [13:14:01.931] ...future.conditions[[length(...future.conditions) + [13:14:01.931] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.931] cond$call), session = sessionInformation(), [13:14:01.931] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.931] signalCondition(cond) [13:14:01.931] } [13:14:01.931] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.931] "immediateCondition"))) { [13:14:01.931] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.931] ...future.conditions[[length(...future.conditions) + [13:14:01.931] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.931] if (TRUE && !signal) { [13:14:01.931] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.931] { [13:14:01.931] inherits <- base::inherits [13:14:01.931] invokeRestart <- base::invokeRestart [13:14:01.931] is.null <- base::is.null [13:14:01.931] muffled <- FALSE [13:14:01.931] if (inherits(cond, "message")) { [13:14:01.931] muffled <- grepl(pattern, "muffleMessage") [13:14:01.931] if (muffled) [13:14:01.931] invokeRestart("muffleMessage") [13:14:01.931] } [13:14:01.931] else if (inherits(cond, "warning")) { [13:14:01.931] muffled <- grepl(pattern, "muffleWarning") [13:14:01.931] if (muffled) [13:14:01.931] invokeRestart("muffleWarning") [13:14:01.931] } [13:14:01.931] else if (inherits(cond, "condition")) { [13:14:01.931] if (!is.null(pattern)) { [13:14:01.931] computeRestarts <- base::computeRestarts [13:14:01.931] grepl <- base::grepl [13:14:01.931] restarts <- computeRestarts(cond) [13:14:01.931] for (restart in restarts) { [13:14:01.931] name <- restart$name [13:14:01.931] if (is.null(name)) [13:14:01.931] next [13:14:01.931] if (!grepl(pattern, name)) [13:14:01.931] next [13:14:01.931] invokeRestart(restart) [13:14:01.931] muffled <- TRUE [13:14:01.931] break [13:14:01.931] } [13:14:01.931] } [13:14:01.931] } [13:14:01.931] invisible(muffled) [13:14:01.931] } [13:14:01.931] muffleCondition(cond, pattern = "^muffle") [13:14:01.931] } [13:14:01.931] } [13:14:01.931] else { [13:14:01.931] if (TRUE) { [13:14:01.931] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.931] { [13:14:01.931] inherits <- base::inherits [13:14:01.931] invokeRestart <- base::invokeRestart [13:14:01.931] is.null <- base::is.null [13:14:01.931] muffled <- FALSE [13:14:01.931] if (inherits(cond, "message")) { [13:14:01.931] muffled <- grepl(pattern, "muffleMessage") [13:14:01.931] if (muffled) [13:14:01.931] invokeRestart("muffleMessage") [13:14:01.931] } [13:14:01.931] else if (inherits(cond, "warning")) { [13:14:01.931] muffled <- grepl(pattern, "muffleWarning") [13:14:01.931] if (muffled) [13:14:01.931] invokeRestart("muffleWarning") [13:14:01.931] } [13:14:01.931] else if (inherits(cond, "condition")) { [13:14:01.931] if (!is.null(pattern)) { [13:14:01.931] computeRestarts <- base::computeRestarts [13:14:01.931] grepl <- base::grepl [13:14:01.931] restarts <- computeRestarts(cond) [13:14:01.931] for (restart in restarts) { [13:14:01.931] name <- restart$name [13:14:01.931] if (is.null(name)) [13:14:01.931] next [13:14:01.931] if (!grepl(pattern, name)) [13:14:01.931] next [13:14:01.931] invokeRestart(restart) [13:14:01.931] muffled <- TRUE [13:14:01.931] break [13:14:01.931] } [13:14:01.931] } [13:14:01.931] } [13:14:01.931] invisible(muffled) [13:14:01.931] } [13:14:01.931] muffleCondition(cond, pattern = "^muffle") [13:14:01.931] } [13:14:01.931] } [13:14:01.931] } [13:14:01.931] })) [13:14:01.931] }, error = function(ex) { [13:14:01.931] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.931] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.931] ...future.rng), started = ...future.startTime, [13:14:01.931] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.931] version = "1.8"), class = "FutureResult") [13:14:01.931] }, finally = { [13:14:01.931] if (!identical(...future.workdir, getwd())) [13:14:01.931] setwd(...future.workdir) [13:14:01.931] { [13:14:01.931] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.931] ...future.oldOptions$nwarnings <- NULL [13:14:01.931] } [13:14:01.931] base::options(...future.oldOptions) [13:14:01.931] if (.Platform$OS.type == "windows") { [13:14:01.931] old_names <- names(...future.oldEnvVars) [13:14:01.931] envs <- base::Sys.getenv() [13:14:01.931] names <- names(envs) [13:14:01.931] common <- intersect(names, old_names) [13:14:01.931] added <- setdiff(names, old_names) [13:14:01.931] removed <- setdiff(old_names, names) [13:14:01.931] changed <- common[...future.oldEnvVars[common] != [13:14:01.931] envs[common]] [13:14:01.931] NAMES <- toupper(changed) [13:14:01.931] args <- list() [13:14:01.931] for (kk in seq_along(NAMES)) { [13:14:01.931] name <- changed[[kk]] [13:14:01.931] NAME <- NAMES[[kk]] [13:14:01.931] if (name != NAME && is.element(NAME, old_names)) [13:14:01.931] next [13:14:01.931] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.931] } [13:14:01.931] NAMES <- toupper(added) [13:14:01.931] for (kk in seq_along(NAMES)) { [13:14:01.931] name <- added[[kk]] [13:14:01.931] NAME <- NAMES[[kk]] [13:14:01.931] if (name != NAME && is.element(NAME, old_names)) [13:14:01.931] next [13:14:01.931] args[[name]] <- "" [13:14:01.931] } [13:14:01.931] NAMES <- toupper(removed) [13:14:01.931] for (kk in seq_along(NAMES)) { [13:14:01.931] name <- removed[[kk]] [13:14:01.931] NAME <- NAMES[[kk]] [13:14:01.931] if (name != NAME && is.element(NAME, old_names)) [13:14:01.931] next [13:14:01.931] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.931] } [13:14:01.931] if (length(args) > 0) [13:14:01.931] base::do.call(base::Sys.setenv, args = args) [13:14:01.931] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.931] } [13:14:01.931] else { [13:14:01.931] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.931] } [13:14:01.931] { [13:14:01.931] if (base::length(...future.futureOptionsAdded) > [13:14:01.931] 0L) { [13:14:01.931] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.931] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.931] base::options(opts) [13:14:01.931] } [13:14:01.931] { [13:14:01.931] { [13:14:01.931] NULL [13:14:01.931] RNGkind("Mersenne-Twister") [13:14:01.931] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.931] inherits = FALSE) [13:14:01.931] } [13:14:01.931] options(future.plan = NULL) [13:14:01.931] if (is.na(NA_character_)) [13:14:01.931] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.931] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.931] future::plan(list(function (..., envir = parent.frame()) [13:14:01.931] { [13:14:01.931] future <- SequentialFuture(..., envir = envir) [13:14:01.931] if (!future$lazy) [13:14:01.931] future <- run(future) [13:14:01.931] invisible(future) [13:14:01.931] }), .cleanup = FALSE, .init = FALSE) [13:14:01.931] } [13:14:01.931] } [13:14:01.931] } [13:14:01.931] }) [13:14:01.931] if (TRUE) { [13:14:01.931] base::sink(type = "output", split = FALSE) [13:14:01.931] if (TRUE) { [13:14:01.931] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.931] } [13:14:01.931] else { [13:14:01.931] ...future.result["stdout"] <- base::list(NULL) [13:14:01.931] } [13:14:01.931] base::close(...future.stdout) [13:14:01.931] ...future.stdout <- NULL [13:14:01.931] } [13:14:01.931] ...future.result$conditions <- ...future.conditions [13:14:01.931] ...future.result$finished <- base::Sys.time() [13:14:01.931] ...future.result [13:14:01.931] } [13:14:01.934] assign_globals() ... [13:14:01.935] List of 5 [13:14:01.935] $ ...future.FUN :function (x) [13:14:01.935] $ future.call.arguments : list() [13:14:01.935] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.935] $ ...future.elements_ii :List of 6 [13:14:01.935] ..$ a1: int 1 [13:14:01.935] ..$ a2: int 2 [13:14:01.935] ..$ b1: int 2 [13:14:01.935] ..$ b2: int 3 [13:14:01.935] ..$ c1: int 3 [13:14:01.935] ..$ c2: int 4 [13:14:01.935] $ ...future.seeds_ii : NULL [13:14:01.935] $ ...future.globals.maxSize: NULL [13:14:01.935] - attr(*, "where")=List of 5 [13:14:01.935] ..$ ...future.FUN : [13:14:01.935] ..$ future.call.arguments : [13:14:01.935] ..$ ...future.elements_ii : [13:14:01.935] ..$ ...future.seeds_ii : [13:14:01.935] ..$ ...future.globals.maxSize: [13:14:01.935] - attr(*, "resolved")= logi FALSE [13:14:01.935] - attr(*, "total_size")= num 848 [13:14:01.935] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.935] - attr(*, "already-done")= logi TRUE [13:14:01.943] - copied '...future.FUN' to environment [13:14:01.943] - copied 'future.call.arguments' to environment [13:14:01.944] - copied '...future.elements_ii' to environment [13:14:01.944] - copied '...future.seeds_ii' to environment [13:14:01.944] - copied '...future.globals.maxSize' to environment [13:14:01.944] assign_globals() ... done [13:14:01.944] plan(): Setting new future strategy stack: [13:14:01.945] List of future strategies: [13:14:01.945] 1. sequential: [13:14:01.945] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.945] - tweaked: FALSE [13:14:01.945] - call: NULL [13:14:01.945] plan(): nbrOfWorkers() = 1 [13:14:01.946] plan(): Setting new future strategy stack: [13:14:01.947] List of future strategies: [13:14:01.947] 1. sequential: [13:14:01.947] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.947] - tweaked: FALSE [13:14:01.947] - call: plan(strategy) [13:14:01.947] plan(): nbrOfWorkers() = 1 [13:14:01.947] SequentialFuture started (and completed) [13:14:01.948] - Launch lazy future ... done [13:14:01.948] run() for 'SequentialFuture' ... done [13:14:01.948] Created future: [13:14:01.948] SequentialFuture: [13:14:01.948] Label: 'future_sapply-1' [13:14:01.948] Expression: [13:14:01.948] { [13:14:01.948] do.call(function(...) { [13:14:01.948] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.948] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.948] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.948] on.exit(options(oopts), add = TRUE) [13:14:01.948] } [13:14:01.948] { [13:14:01.948] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.948] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.948] ...future.FUN(...future.X_jj, ...) [13:14:01.948] }) [13:14:01.948] } [13:14:01.948] }, args = future.call.arguments) [13:14:01.948] } [13:14:01.948] Lazy evaluation: FALSE [13:14:01.948] Asynchronous evaluation: FALSE [13:14:01.948] Local evaluation: TRUE [13:14:01.948] Environment: R_GlobalEnv [13:14:01.948] Capture standard output: TRUE [13:14:01.948] Capture condition classes: 'condition' (excluding 'nothing') [13:14:01.948] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:01.948] Packages: [13:14:01.948] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:01.948] Resolved: TRUE [13:14:01.948] Value: 336 bytes of class 'list' [13:14:01.948] Early signaling: FALSE [13:14:01.948] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:01.948] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.950] Chunk #1 of 1 ... DONE [13:14:01.950] Launching 1 futures (chunks) ... DONE [13:14:01.950] Resolving 1 futures (chunks) ... [13:14:01.950] resolve() on list ... [13:14:01.950] recursive: 0 [13:14:01.950] length: 1 [13:14:01.951] [13:14:01.951] resolved() for 'SequentialFuture' ... [13:14:01.951] - state: 'finished' [13:14:01.951] - run: TRUE [13:14:01.951] - result: 'FutureResult' [13:14:01.951] resolved() for 'SequentialFuture' ... done [13:14:01.952] Future #1 [13:14:01.952] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:01.952] - nx: 1 [13:14:01.952] - relay: TRUE [13:14:01.952] - stdout: TRUE [13:14:01.952] - signal: TRUE [13:14:01.953] - resignal: FALSE [13:14:01.953] - force: TRUE [13:14:01.953] - relayed: [n=1] FALSE [13:14:01.953] - queued futures: [n=1] FALSE [13:14:01.953] - until=1 [13:14:01.953] - relaying element #1 [13:14:01.954] - relayed: [n=1] TRUE [13:14:01.954] - queued futures: [n=1] TRUE [13:14:01.954] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:01.954] length: 0 (resolved future 1) [13:14:01.954] Relaying remaining futures [13:14:01.954] signalConditionsASAP(NULL, pos=0) ... [13:14:01.955] - nx: 1 [13:14:01.955] - relay: TRUE [13:14:01.955] - stdout: TRUE [13:14:01.955] - signal: TRUE [13:14:01.955] - resignal: FALSE [13:14:01.955] - force: TRUE [13:14:01.955] - relayed: [n=1] TRUE [13:14:01.956] - queued futures: [n=1] TRUE - flush all [13:14:01.956] - relayed: [n=1] TRUE [13:14:01.956] - queued futures: [n=1] TRUE [13:14:01.956] signalConditionsASAP(NULL, pos=0) ... done [13:14:01.956] resolve() on list ... DONE [13:14:01.957] - Number of value chunks collected: 1 [13:14:01.957] Resolving 1 futures (chunks) ... DONE [13:14:01.957] Reducing values from 1 chunks ... [13:14:01.957] - Number of values collected after concatenation: 6 [13:14:01.957] - Number of values expected: 6 [13:14:01.957] Reducing values from 1 chunks ... DONE [13:14:01.958] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:01.960] future_lapply() ... [13:14:01.960] Number of chunks: 1 [13:14:01.960] getGlobalsAndPackagesXApply() ... [13:14:01.961] - future.globals: TRUE [13:14:01.961] getGlobalsAndPackages() ... [13:14:01.961] Searching for globals... [13:14:01.962] - globals found: [2] 'FUN', 'UseMethod' [13:14:01.962] Searching for globals ... DONE [13:14:01.962] Resolving globals: FALSE [13:14:01.963] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:01.963] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:01.964] - globals: [1] 'FUN' [13:14:01.964] [13:14:01.964] getGlobalsAndPackages() ... DONE [13:14:01.964] - globals found/used: [n=1] 'FUN' [13:14:01.964] - needed namespaces: [n=0] [13:14:01.964] Finding globals ... DONE [13:14:01.965] - use_args: TRUE [13:14:01.965] - Getting '...' globals ... [13:14:01.965] resolve() on list ... [13:14:01.965] recursive: 0 [13:14:01.965] length: 1 [13:14:01.966] elements: '...' [13:14:01.966] length: 0 (resolved future 1) [13:14:01.966] resolve() on list ... DONE [13:14:01.966] - '...' content: [n=0] [13:14:01.967] List of 1 [13:14:01.967] $ ...: list() [13:14:01.967] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.967] - attr(*, "where")=List of 1 [13:14:01.967] ..$ ...: [13:14:01.967] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.967] - attr(*, "resolved")= logi TRUE [13:14:01.967] - attr(*, "total_size")= num NA [13:14:01.970] - Getting '...' globals ... DONE [13:14:01.971] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:01.971] List of 2 [13:14:01.971] $ ...future.FUN:function (x, ...) [13:14:01.971] $ ... : list() [13:14:01.971] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.971] - attr(*, "where")=List of 2 [13:14:01.971] ..$ ...future.FUN: [13:14:01.971] ..$ ... : [13:14:01.971] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.971] - attr(*, "resolved")= logi FALSE [13:14:01.971] - attr(*, "total_size")= num 1248 [13:14:01.974] Packages to be attached in all futures: [n=0] [13:14:01.974] getGlobalsAndPackagesXApply() ... DONE [13:14:01.975] Number of futures (= number of chunks): 1 [13:14:01.975] Launching 1 futures (chunks) ... [13:14:01.975] Chunk #1 of 1 ... [13:14:01.975] - Finding globals in 'X' for chunk #1 ... [13:14:01.975] getGlobalsAndPackages() ... [13:14:01.975] Searching for globals... [13:14:01.976] [13:14:01.976] Searching for globals ... DONE [13:14:01.976] - globals: [0] [13:14:01.976] getGlobalsAndPackages() ... DONE [13:14:01.976] + additional globals found: [n=0] [13:14:01.977] + additional namespaces needed: [n=0] [13:14:01.977] - Finding globals in 'X' for chunk #1 ... DONE [13:14:01.977] - seeds: [13:14:01.977] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.977] getGlobalsAndPackages() ... [13:14:01.977] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.978] Resolving globals: FALSE [13:14:01.978] Tweak future expression to call with '...' arguments ... [13:14:01.978] { [13:14:01.978] do.call(function(...) { [13:14:01.978] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.978] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:01.978] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.978] on.exit(options(oopts), add = TRUE) [13:14:01.978] } [13:14:01.978] { [13:14:01.978] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:01.978] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.978] ...future.FUN(...future.X_jj, ...) [13:14:01.978] }) [13:14:01.978] } [13:14:01.978] }, args = future.call.arguments) [13:14:01.978] } [13:14:01.978] Tweak future expression to call with '...' arguments ... DONE [13:14:01.979] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:01.979] [13:14:01.979] getGlobalsAndPackages() ... DONE [13:14:01.979] run() for 'Future' ... [13:14:01.980] - state: 'created' [13:14:01.980] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:01.980] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:01.980] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:01.981] - Field: 'label' [13:14:01.981] - Field: 'local' [13:14:01.981] - Field: 'owner' [13:14:01.981] - Field: 'envir' [13:14:01.981] - Field: 'packages' [13:14:01.982] - Field: 'gc' [13:14:01.982] - Field: 'conditions' [13:14:01.982] - Field: 'expr' [13:14:01.982] - Field: 'uuid' [13:14:01.982] - Field: 'seed' [13:14:01.982] - Field: 'version' [13:14:01.983] - Field: 'result' [13:14:01.983] - Field: 'asynchronous' [13:14:01.983] - Field: 'calls' [13:14:01.983] - Field: 'globals' [13:14:01.983] - Field: 'stdout' [13:14:01.983] - Field: 'earlySignal' [13:14:01.984] - Field: 'lazy' [13:14:01.984] - Field: 'state' [13:14:01.984] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:01.984] - Launch lazy future ... [13:14:01.984] Packages needed by the future expression (n = 0): [13:14:01.985] Packages needed by future strategies (n = 0): [13:14:01.985] { [13:14:01.985] { [13:14:01.985] { [13:14:01.985] ...future.startTime <- base::Sys.time() [13:14:01.985] { [13:14:01.985] { [13:14:01.985] { [13:14:01.985] base::local({ [13:14:01.985] has_future <- base::requireNamespace("future", [13:14:01.985] quietly = TRUE) [13:14:01.985] if (has_future) { [13:14:01.985] ns <- base::getNamespace("future") [13:14:01.985] version <- ns[[".package"]][["version"]] [13:14:01.985] if (is.null(version)) [13:14:01.985] version <- utils::packageVersion("future") [13:14:01.985] } [13:14:01.985] else { [13:14:01.985] version <- NULL [13:14:01.985] } [13:14:01.985] if (!has_future || version < "1.8.0") { [13:14:01.985] info <- base::c(r_version = base::gsub("R version ", [13:14:01.985] "", base::R.version$version.string), [13:14:01.985] platform = base::sprintf("%s (%s-bit)", [13:14:01.985] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:01.985] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:01.985] "release", "version")], collapse = " "), [13:14:01.985] hostname = base::Sys.info()[["nodename"]]) [13:14:01.985] info <- base::sprintf("%s: %s", base::names(info), [13:14:01.985] info) [13:14:01.985] info <- base::paste(info, collapse = "; ") [13:14:01.985] if (!has_future) { [13:14:01.985] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:01.985] info) [13:14:01.985] } [13:14:01.985] else { [13:14:01.985] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:01.985] info, version) [13:14:01.985] } [13:14:01.985] base::stop(msg) [13:14:01.985] } [13:14:01.985] }) [13:14:01.985] } [13:14:01.985] options(future.plan = NULL) [13:14:01.985] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.985] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:01.985] } [13:14:01.985] ...future.workdir <- getwd() [13:14:01.985] } [13:14:01.985] ...future.oldOptions <- base::as.list(base::.Options) [13:14:01.985] ...future.oldEnvVars <- base::Sys.getenv() [13:14:01.985] } [13:14:01.985] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:01.985] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:01.985] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:01.985] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:01.985] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:01.985] future.stdout.windows.reencode = NULL, width = 80L) [13:14:01.985] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:01.985] base::names(...future.oldOptions)) [13:14:01.985] } [13:14:01.985] if (FALSE) { [13:14:01.985] } [13:14:01.985] else { [13:14:01.985] if (TRUE) { [13:14:01.985] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:01.985] open = "w") [13:14:01.985] } [13:14:01.985] else { [13:14:01.985] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:01.985] windows = "NUL", "/dev/null"), open = "w") [13:14:01.985] } [13:14:01.985] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:01.985] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:01.985] base::sink(type = "output", split = FALSE) [13:14:01.985] base::close(...future.stdout) [13:14:01.985] }, add = TRUE) [13:14:01.985] } [13:14:01.985] ...future.frame <- base::sys.nframe() [13:14:01.985] ...future.conditions <- base::list() [13:14:01.985] ...future.rng <- base::globalenv()$.Random.seed [13:14:01.985] if (FALSE) { [13:14:01.985] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:01.985] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:01.985] } [13:14:01.985] ...future.result <- base::tryCatch({ [13:14:01.985] base::withCallingHandlers({ [13:14:01.985] ...future.value <- base::withVisible(base::local({ [13:14:01.985] do.call(function(...) { [13:14:01.985] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:01.985] if (!identical(...future.globals.maxSize.org, [13:14:01.985] ...future.globals.maxSize)) { [13:14:01.985] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:01.985] on.exit(options(oopts), add = TRUE) [13:14:01.985] } [13:14:01.985] { [13:14:01.985] lapply(seq_along(...future.elements_ii), [13:14:01.985] FUN = function(jj) { [13:14:01.985] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:01.985] ...future.FUN(...future.X_jj, ...) [13:14:01.985] }) [13:14:01.985] } [13:14:01.985] }, args = future.call.arguments) [13:14:01.985] })) [13:14:01.985] future::FutureResult(value = ...future.value$value, [13:14:01.985] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.985] ...future.rng), globalenv = if (FALSE) [13:14:01.985] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:01.985] ...future.globalenv.names)) [13:14:01.985] else NULL, started = ...future.startTime, version = "1.8") [13:14:01.985] }, condition = base::local({ [13:14:01.985] c <- base::c [13:14:01.985] inherits <- base::inherits [13:14:01.985] invokeRestart <- base::invokeRestart [13:14:01.985] length <- base::length [13:14:01.985] list <- base::list [13:14:01.985] seq.int <- base::seq.int [13:14:01.985] signalCondition <- base::signalCondition [13:14:01.985] sys.calls <- base::sys.calls [13:14:01.985] `[[` <- base::`[[` [13:14:01.985] `+` <- base::`+` [13:14:01.985] `<<-` <- base::`<<-` [13:14:01.985] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:01.985] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:01.985] 3L)] [13:14:01.985] } [13:14:01.985] function(cond) { [13:14:01.985] is_error <- inherits(cond, "error") [13:14:01.985] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:01.985] NULL) [13:14:01.985] if (is_error) { [13:14:01.985] sessionInformation <- function() { [13:14:01.985] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:01.985] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:01.985] search = base::search(), system = base::Sys.info()) [13:14:01.985] } [13:14:01.985] ...future.conditions[[length(...future.conditions) + [13:14:01.985] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:01.985] cond$call), session = sessionInformation(), [13:14:01.985] timestamp = base::Sys.time(), signaled = 0L) [13:14:01.985] signalCondition(cond) [13:14:01.985] } [13:14:01.985] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:01.985] "immediateCondition"))) { [13:14:01.985] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:01.985] ...future.conditions[[length(...future.conditions) + [13:14:01.985] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:01.985] if (TRUE && !signal) { [13:14:01.985] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.985] { [13:14:01.985] inherits <- base::inherits [13:14:01.985] invokeRestart <- base::invokeRestart [13:14:01.985] is.null <- base::is.null [13:14:01.985] muffled <- FALSE [13:14:01.985] if (inherits(cond, "message")) { [13:14:01.985] muffled <- grepl(pattern, "muffleMessage") [13:14:01.985] if (muffled) [13:14:01.985] invokeRestart("muffleMessage") [13:14:01.985] } [13:14:01.985] else if (inherits(cond, "warning")) { [13:14:01.985] muffled <- grepl(pattern, "muffleWarning") [13:14:01.985] if (muffled) [13:14:01.985] invokeRestart("muffleWarning") [13:14:01.985] } [13:14:01.985] else if (inherits(cond, "condition")) { [13:14:01.985] if (!is.null(pattern)) { [13:14:01.985] computeRestarts <- base::computeRestarts [13:14:01.985] grepl <- base::grepl [13:14:01.985] restarts <- computeRestarts(cond) [13:14:01.985] for (restart in restarts) { [13:14:01.985] name <- restart$name [13:14:01.985] if (is.null(name)) [13:14:01.985] next [13:14:01.985] if (!grepl(pattern, name)) [13:14:01.985] next [13:14:01.985] invokeRestart(restart) [13:14:01.985] muffled <- TRUE [13:14:01.985] break [13:14:01.985] } [13:14:01.985] } [13:14:01.985] } [13:14:01.985] invisible(muffled) [13:14:01.985] } [13:14:01.985] muffleCondition(cond, pattern = "^muffle") [13:14:01.985] } [13:14:01.985] } [13:14:01.985] else { [13:14:01.985] if (TRUE) { [13:14:01.985] muffleCondition <- function (cond, pattern = "^muffle") [13:14:01.985] { [13:14:01.985] inherits <- base::inherits [13:14:01.985] invokeRestart <- base::invokeRestart [13:14:01.985] is.null <- base::is.null [13:14:01.985] muffled <- FALSE [13:14:01.985] if (inherits(cond, "message")) { [13:14:01.985] muffled <- grepl(pattern, "muffleMessage") [13:14:01.985] if (muffled) [13:14:01.985] invokeRestart("muffleMessage") [13:14:01.985] } [13:14:01.985] else if (inherits(cond, "warning")) { [13:14:01.985] muffled <- grepl(pattern, "muffleWarning") [13:14:01.985] if (muffled) [13:14:01.985] invokeRestart("muffleWarning") [13:14:01.985] } [13:14:01.985] else if (inherits(cond, "condition")) { [13:14:01.985] if (!is.null(pattern)) { [13:14:01.985] computeRestarts <- base::computeRestarts [13:14:01.985] grepl <- base::grepl [13:14:01.985] restarts <- computeRestarts(cond) [13:14:01.985] for (restart in restarts) { [13:14:01.985] name <- restart$name [13:14:01.985] if (is.null(name)) [13:14:01.985] next [13:14:01.985] if (!grepl(pattern, name)) [13:14:01.985] next [13:14:01.985] invokeRestart(restart) [13:14:01.985] muffled <- TRUE [13:14:01.985] break [13:14:01.985] } [13:14:01.985] } [13:14:01.985] } [13:14:01.985] invisible(muffled) [13:14:01.985] } [13:14:01.985] muffleCondition(cond, pattern = "^muffle") [13:14:01.985] } [13:14:01.985] } [13:14:01.985] } [13:14:01.985] })) [13:14:01.985] }, error = function(ex) { [13:14:01.985] base::structure(base::list(value = NULL, visible = NULL, [13:14:01.985] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:01.985] ...future.rng), started = ...future.startTime, [13:14:01.985] finished = Sys.time(), session_uuid = NA_character_, [13:14:01.985] version = "1.8"), class = "FutureResult") [13:14:01.985] }, finally = { [13:14:01.985] if (!identical(...future.workdir, getwd())) [13:14:01.985] setwd(...future.workdir) [13:14:01.985] { [13:14:01.985] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:01.985] ...future.oldOptions$nwarnings <- NULL [13:14:01.985] } [13:14:01.985] base::options(...future.oldOptions) [13:14:01.985] if (.Platform$OS.type == "windows") { [13:14:01.985] old_names <- names(...future.oldEnvVars) [13:14:01.985] envs <- base::Sys.getenv() [13:14:01.985] names <- names(envs) [13:14:01.985] common <- intersect(names, old_names) [13:14:01.985] added <- setdiff(names, old_names) [13:14:01.985] removed <- setdiff(old_names, names) [13:14:01.985] changed <- common[...future.oldEnvVars[common] != [13:14:01.985] envs[common]] [13:14:01.985] NAMES <- toupper(changed) [13:14:01.985] args <- list() [13:14:01.985] for (kk in seq_along(NAMES)) { [13:14:01.985] name <- changed[[kk]] [13:14:01.985] NAME <- NAMES[[kk]] [13:14:01.985] if (name != NAME && is.element(NAME, old_names)) [13:14:01.985] next [13:14:01.985] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.985] } [13:14:01.985] NAMES <- toupper(added) [13:14:01.985] for (kk in seq_along(NAMES)) { [13:14:01.985] name <- added[[kk]] [13:14:01.985] NAME <- NAMES[[kk]] [13:14:01.985] if (name != NAME && is.element(NAME, old_names)) [13:14:01.985] next [13:14:01.985] args[[name]] <- "" [13:14:01.985] } [13:14:01.985] NAMES <- toupper(removed) [13:14:01.985] for (kk in seq_along(NAMES)) { [13:14:01.985] name <- removed[[kk]] [13:14:01.985] NAME <- NAMES[[kk]] [13:14:01.985] if (name != NAME && is.element(NAME, old_names)) [13:14:01.985] next [13:14:01.985] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:01.985] } [13:14:01.985] if (length(args) > 0) [13:14:01.985] base::do.call(base::Sys.setenv, args = args) [13:14:01.985] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:01.985] } [13:14:01.985] else { [13:14:01.985] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:01.985] } [13:14:01.985] { [13:14:01.985] if (base::length(...future.futureOptionsAdded) > [13:14:01.985] 0L) { [13:14:01.985] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:01.985] base::names(opts) <- ...future.futureOptionsAdded [13:14:01.985] base::options(opts) [13:14:01.985] } [13:14:01.985] { [13:14:01.985] { [13:14:01.985] NULL [13:14:01.985] RNGkind("Mersenne-Twister") [13:14:01.985] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:01.985] inherits = FALSE) [13:14:01.985] } [13:14:01.985] options(future.plan = NULL) [13:14:01.985] if (is.na(NA_character_)) [13:14:01.985] Sys.unsetenv("R_FUTURE_PLAN") [13:14:01.985] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:01.985] future::plan(list(function (..., envir = parent.frame()) [13:14:01.985] { [13:14:01.985] future <- SequentialFuture(..., envir = envir) [13:14:01.985] if (!future$lazy) [13:14:01.985] future <- run(future) [13:14:01.985] invisible(future) [13:14:01.985] }), .cleanup = FALSE, .init = FALSE) [13:14:01.985] } [13:14:01.985] } [13:14:01.985] } [13:14:01.985] }) [13:14:01.985] if (TRUE) { [13:14:01.985] base::sink(type = "output", split = FALSE) [13:14:01.985] if (TRUE) { [13:14:01.985] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:01.985] } [13:14:01.985] else { [13:14:01.985] ...future.result["stdout"] <- base::list(NULL) [13:14:01.985] } [13:14:01.985] base::close(...future.stdout) [13:14:01.985] ...future.stdout <- NULL [13:14:01.985] } [13:14:01.985] ...future.result$conditions <- ...future.conditions [13:14:01.985] ...future.result$finished <- base::Sys.time() [13:14:01.985] ...future.result [13:14:01.985] } [13:14:01.989] assign_globals() ... [13:14:01.989] List of 5 [13:14:01.989] $ ...future.FUN :function (x, ...) [13:14:01.989] $ future.call.arguments : list() [13:14:01.989] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:01.989] $ ...future.elements_ii :List of 6 [13:14:01.989] ..$ a1: int 1 [13:14:01.989] ..$ a2: int 2 [13:14:01.989] ..$ b1: int 2 [13:14:01.989] ..$ b2: int 3 [13:14:01.989] ..$ c1: int 3 [13:14:01.989] ..$ c2: int 4 [13:14:01.989] $ ...future.seeds_ii : NULL [13:14:01.989] $ ...future.globals.maxSize: NULL [13:14:01.989] - attr(*, "where")=List of 5 [13:14:01.989] ..$ ...future.FUN : [13:14:01.989] ..$ future.call.arguments : [13:14:01.989] ..$ ...future.elements_ii : [13:14:01.989] ..$ ...future.seeds_ii : [13:14:01.989] ..$ ...future.globals.maxSize: [13:14:01.989] - attr(*, "resolved")= logi FALSE [13:14:01.989] - attr(*, "total_size")= num 1248 [13:14:01.989] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:01.989] - attr(*, "already-done")= logi TRUE [13:14:01.998] - copied '...future.FUN' to environment [13:14:01.998] - copied 'future.call.arguments' to environment [13:14:01.998] - copied '...future.elements_ii' to environment [13:14:01.998] - copied '...future.seeds_ii' to environment [13:14:01.999] - copied '...future.globals.maxSize' to environment [13:14:01.999] assign_globals() ... done [13:14:01.999] plan(): Setting new future strategy stack: [13:14:01.999] List of future strategies: [13:14:01.999] 1. sequential: [13:14:01.999] - args: function (..., envir = parent.frame(), workers = "") [13:14:01.999] - tweaked: FALSE [13:14:01.999] - call: NULL [13:14:02.000] plan(): nbrOfWorkers() = 1 [13:14:02.001] plan(): Setting new future strategy stack: [13:14:02.001] List of future strategies: [13:14:02.001] 1. sequential: [13:14:02.001] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.001] - tweaked: FALSE [13:14:02.001] - call: plan(strategy) [13:14:02.002] plan(): nbrOfWorkers() = 1 [13:14:02.002] SequentialFuture started (and completed) [13:14:02.002] - Launch lazy future ... done [13:14:02.002] run() for 'SequentialFuture' ... done [13:14:02.003] Created future: [13:14:02.003] SequentialFuture: [13:14:02.003] Label: 'future_sapply-1' [13:14:02.003] Expression: [13:14:02.003] { [13:14:02.003] do.call(function(...) { [13:14:02.003] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.003] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.003] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.003] on.exit(options(oopts), add = TRUE) [13:14:02.003] } [13:14:02.003] { [13:14:02.003] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.003] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.003] ...future.FUN(...future.X_jj, ...) [13:14:02.003] }) [13:14:02.003] } [13:14:02.003] }, args = future.call.arguments) [13:14:02.003] } [13:14:02.003] Lazy evaluation: FALSE [13:14:02.003] Asynchronous evaluation: FALSE [13:14:02.003] Local evaluation: TRUE [13:14:02.003] Environment: R_GlobalEnv [13:14:02.003] Capture standard output: TRUE [13:14:02.003] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.003] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.003] Packages: [13:14:02.003] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.003] Resolved: TRUE [13:14:02.003] Value: 1.31 KiB of class 'list' [13:14:02.003] Early signaling: FALSE [13:14:02.003] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.003] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.004] Chunk #1 of 1 ... DONE [13:14:02.004] Launching 1 futures (chunks) ... DONE [13:14:02.004] Resolving 1 futures (chunks) ... [13:14:02.004] resolve() on list ... [13:14:02.005] recursive: 0 [13:14:02.005] length: 1 [13:14:02.005] [13:14:02.005] resolved() for 'SequentialFuture' ... [13:14:02.005] - state: 'finished' [13:14:02.005] - run: TRUE [13:14:02.006] - result: 'FutureResult' [13:14:02.006] resolved() for 'SequentialFuture' ... done [13:14:02.006] Future #1 [13:14:02.006] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.006] - nx: 1 [13:14:02.006] - relay: TRUE [13:14:02.007] - stdout: TRUE [13:14:02.007] - signal: TRUE [13:14:02.007] - resignal: FALSE [13:14:02.007] - force: TRUE [13:14:02.007] - relayed: [n=1] FALSE [13:14:02.007] - queued futures: [n=1] FALSE [13:14:02.008] - until=1 [13:14:02.008] - relaying element #1 [13:14:02.008] - relayed: [n=1] TRUE [13:14:02.008] - queued futures: [n=1] TRUE [13:14:02.008] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.008] length: 0 (resolved future 1) [13:14:02.009] Relaying remaining futures [13:14:02.009] signalConditionsASAP(NULL, pos=0) ... [13:14:02.009] - nx: 1 [13:14:02.009] - relay: TRUE [13:14:02.009] - stdout: TRUE [13:14:02.009] - signal: TRUE [13:14:02.009] - resignal: FALSE [13:14:02.010] - force: TRUE [13:14:02.010] - relayed: [n=1] TRUE [13:14:02.010] - queued futures: [n=1] TRUE - flush all [13:14:02.010] - relayed: [n=1] TRUE [13:14:02.010] - queued futures: [n=1] TRUE [13:14:02.010] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.011] resolve() on list ... DONE [13:14:02.011] - Number of value chunks collected: 1 [13:14:02.011] Resolving 1 futures (chunks) ... DONE [13:14:02.011] Reducing values from 1 chunks ... [13:14:02.011] - Number of values collected after concatenation: 6 [13:14:02.011] - Number of values expected: 6 [13:14:02.011] Reducing values from 1 chunks ... DONE [13:14:02.012] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:02.014] future_lapply() ... [13:14:02.014] Number of chunks: 1 [13:14:02.015] getGlobalsAndPackagesXApply() ... [13:14:02.015] - future.globals: TRUE [13:14:02.015] getGlobalsAndPackages() ... [13:14:02.015] Searching for globals... [13:14:02.018] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:02.018] Searching for globals ... DONE [13:14:02.018] Resolving globals: FALSE [13:14:02.019] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:02.019] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:02.019] - globals: [1] 'FUN' [13:14:02.019] [13:14:02.020] getGlobalsAndPackages() ... DONE [13:14:02.020] - globals found/used: [n=1] 'FUN' [13:14:02.020] - needed namespaces: [n=0] [13:14:02.020] Finding globals ... DONE [13:14:02.020] - use_args: TRUE [13:14:02.020] - Getting '...' globals ... [13:14:02.021] resolve() on list ... [13:14:02.021] recursive: 0 [13:14:02.021] length: 1 [13:14:02.021] elements: '...' [13:14:02.021] length: 0 (resolved future 1) [13:14:02.022] resolve() on list ... DONE [13:14:02.022] - '...' content: [n=0] [13:14:02.022] List of 1 [13:14:02.022] $ ...: list() [13:14:02.022] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.022] - attr(*, "where")=List of 1 [13:14:02.022] ..$ ...: [13:14:02.022] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.022] - attr(*, "resolved")= logi TRUE [13:14:02.022] - attr(*, "total_size")= num NA [13:14:02.025] - Getting '...' globals ... DONE [13:14:02.025] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.025] List of 2 [13:14:02.025] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:02.025] $ ... : list() [13:14:02.025] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.025] - attr(*, "where")=List of 2 [13:14:02.025] ..$ ...future.FUN: [13:14:02.025] ..$ ... : [13:14:02.025] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.025] - attr(*, "resolved")= logi FALSE [13:14:02.025] - attr(*, "total_size")= num 4728 [13:14:02.028] Packages to be attached in all futures: [n=0] [13:14:02.029] getGlobalsAndPackagesXApply() ... DONE [13:14:02.029] Number of futures (= number of chunks): 1 [13:14:02.029] Launching 1 futures (chunks) ... [13:14:02.029] Chunk #1 of 1 ... [13:14:02.029] - Finding globals in 'X' for chunk #1 ... [13:14:02.030] getGlobalsAndPackages() ... [13:14:02.030] Searching for globals... [13:14:02.030] [13:14:02.030] Searching for globals ... DONE [13:14:02.030] - globals: [0] [13:14:02.030] getGlobalsAndPackages() ... DONE [13:14:02.031] + additional globals found: [n=0] [13:14:02.031] + additional namespaces needed: [n=0] [13:14:02.031] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.031] - seeds: [13:14:02.031] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.031] getGlobalsAndPackages() ... [13:14:02.032] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.032] Resolving globals: FALSE [13:14:02.032] Tweak future expression to call with '...' arguments ... [13:14:02.032] { [13:14:02.032] do.call(function(...) { [13:14:02.032] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.032] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.032] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.032] on.exit(options(oopts), add = TRUE) [13:14:02.032] } [13:14:02.032] { [13:14:02.032] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.032] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.032] ...future.FUN(...future.X_jj, ...) [13:14:02.032] }) [13:14:02.032] } [13:14:02.032] }, args = future.call.arguments) [13:14:02.032] } [13:14:02.032] Tweak future expression to call with '...' arguments ... DONE [13:14:02.033] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.033] [13:14:02.033] getGlobalsAndPackages() ... DONE [13:14:02.034] run() for 'Future' ... [13:14:02.034] - state: 'created' [13:14:02.034] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.034] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.035] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.035] - Field: 'label' [13:14:02.035] - Field: 'local' [13:14:02.035] - Field: 'owner' [13:14:02.035] - Field: 'envir' [13:14:02.035] - Field: 'packages' [13:14:02.036] - Field: 'gc' [13:14:02.036] - Field: 'conditions' [13:14:02.036] - Field: 'expr' [13:14:02.036] - Field: 'uuid' [13:14:02.036] - Field: 'seed' [13:14:02.036] - Field: 'version' [13:14:02.037] - Field: 'result' [13:14:02.037] - Field: 'asynchronous' [13:14:02.037] - Field: 'calls' [13:14:02.037] - Field: 'globals' [13:14:02.037] - Field: 'stdout' [13:14:02.037] - Field: 'earlySignal' [13:14:02.038] - Field: 'lazy' [13:14:02.038] - Field: 'state' [13:14:02.038] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.038] - Launch lazy future ... [13:14:02.038] Packages needed by the future expression (n = 0): [13:14:02.038] Packages needed by future strategies (n = 0): [13:14:02.039] { [13:14:02.039] { [13:14:02.039] { [13:14:02.039] ...future.startTime <- base::Sys.time() [13:14:02.039] { [13:14:02.039] { [13:14:02.039] { [13:14:02.039] base::local({ [13:14:02.039] has_future <- base::requireNamespace("future", [13:14:02.039] quietly = TRUE) [13:14:02.039] if (has_future) { [13:14:02.039] ns <- base::getNamespace("future") [13:14:02.039] version <- ns[[".package"]][["version"]] [13:14:02.039] if (is.null(version)) [13:14:02.039] version <- utils::packageVersion("future") [13:14:02.039] } [13:14:02.039] else { [13:14:02.039] version <- NULL [13:14:02.039] } [13:14:02.039] if (!has_future || version < "1.8.0") { [13:14:02.039] info <- base::c(r_version = base::gsub("R version ", [13:14:02.039] "", base::R.version$version.string), [13:14:02.039] platform = base::sprintf("%s (%s-bit)", [13:14:02.039] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.039] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.039] "release", "version")], collapse = " "), [13:14:02.039] hostname = base::Sys.info()[["nodename"]]) [13:14:02.039] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.039] info) [13:14:02.039] info <- base::paste(info, collapse = "; ") [13:14:02.039] if (!has_future) { [13:14:02.039] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.039] info) [13:14:02.039] } [13:14:02.039] else { [13:14:02.039] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.039] info, version) [13:14:02.039] } [13:14:02.039] base::stop(msg) [13:14:02.039] } [13:14:02.039] }) [13:14:02.039] } [13:14:02.039] options(future.plan = NULL) [13:14:02.039] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.039] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.039] } [13:14:02.039] ...future.workdir <- getwd() [13:14:02.039] } [13:14:02.039] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.039] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.039] } [13:14:02.039] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.039] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.039] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.039] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.039] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.039] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.039] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.039] base::names(...future.oldOptions)) [13:14:02.039] } [13:14:02.039] if (FALSE) { [13:14:02.039] } [13:14:02.039] else { [13:14:02.039] if (TRUE) { [13:14:02.039] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.039] open = "w") [13:14:02.039] } [13:14:02.039] else { [13:14:02.039] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.039] windows = "NUL", "/dev/null"), open = "w") [13:14:02.039] } [13:14:02.039] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.039] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.039] base::sink(type = "output", split = FALSE) [13:14:02.039] base::close(...future.stdout) [13:14:02.039] }, add = TRUE) [13:14:02.039] } [13:14:02.039] ...future.frame <- base::sys.nframe() [13:14:02.039] ...future.conditions <- base::list() [13:14:02.039] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.039] if (FALSE) { [13:14:02.039] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.039] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.039] } [13:14:02.039] ...future.result <- base::tryCatch({ [13:14:02.039] base::withCallingHandlers({ [13:14:02.039] ...future.value <- base::withVisible(base::local({ [13:14:02.039] do.call(function(...) { [13:14:02.039] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.039] if (!identical(...future.globals.maxSize.org, [13:14:02.039] ...future.globals.maxSize)) { [13:14:02.039] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.039] on.exit(options(oopts), add = TRUE) [13:14:02.039] } [13:14:02.039] { [13:14:02.039] lapply(seq_along(...future.elements_ii), [13:14:02.039] FUN = function(jj) { [13:14:02.039] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.039] ...future.FUN(...future.X_jj, ...) [13:14:02.039] }) [13:14:02.039] } [13:14:02.039] }, args = future.call.arguments) [13:14:02.039] })) [13:14:02.039] future::FutureResult(value = ...future.value$value, [13:14:02.039] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.039] ...future.rng), globalenv = if (FALSE) [13:14:02.039] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.039] ...future.globalenv.names)) [13:14:02.039] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.039] }, condition = base::local({ [13:14:02.039] c <- base::c [13:14:02.039] inherits <- base::inherits [13:14:02.039] invokeRestart <- base::invokeRestart [13:14:02.039] length <- base::length [13:14:02.039] list <- base::list [13:14:02.039] seq.int <- base::seq.int [13:14:02.039] signalCondition <- base::signalCondition [13:14:02.039] sys.calls <- base::sys.calls [13:14:02.039] `[[` <- base::`[[` [13:14:02.039] `+` <- base::`+` [13:14:02.039] `<<-` <- base::`<<-` [13:14:02.039] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.039] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.039] 3L)] [13:14:02.039] } [13:14:02.039] function(cond) { [13:14:02.039] is_error <- inherits(cond, "error") [13:14:02.039] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.039] NULL) [13:14:02.039] if (is_error) { [13:14:02.039] sessionInformation <- function() { [13:14:02.039] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.039] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.039] search = base::search(), system = base::Sys.info()) [13:14:02.039] } [13:14:02.039] ...future.conditions[[length(...future.conditions) + [13:14:02.039] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.039] cond$call), session = sessionInformation(), [13:14:02.039] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.039] signalCondition(cond) [13:14:02.039] } [13:14:02.039] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.039] "immediateCondition"))) { [13:14:02.039] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.039] ...future.conditions[[length(...future.conditions) + [13:14:02.039] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.039] if (TRUE && !signal) { [13:14:02.039] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.039] { [13:14:02.039] inherits <- base::inherits [13:14:02.039] invokeRestart <- base::invokeRestart [13:14:02.039] is.null <- base::is.null [13:14:02.039] muffled <- FALSE [13:14:02.039] if (inherits(cond, "message")) { [13:14:02.039] muffled <- grepl(pattern, "muffleMessage") [13:14:02.039] if (muffled) [13:14:02.039] invokeRestart("muffleMessage") [13:14:02.039] } [13:14:02.039] else if (inherits(cond, "warning")) { [13:14:02.039] muffled <- grepl(pattern, "muffleWarning") [13:14:02.039] if (muffled) [13:14:02.039] invokeRestart("muffleWarning") [13:14:02.039] } [13:14:02.039] else if (inherits(cond, "condition")) { [13:14:02.039] if (!is.null(pattern)) { [13:14:02.039] computeRestarts <- base::computeRestarts [13:14:02.039] grepl <- base::grepl [13:14:02.039] restarts <- computeRestarts(cond) [13:14:02.039] for (restart in restarts) { [13:14:02.039] name <- restart$name [13:14:02.039] if (is.null(name)) [13:14:02.039] next [13:14:02.039] if (!grepl(pattern, name)) [13:14:02.039] next [13:14:02.039] invokeRestart(restart) [13:14:02.039] muffled <- TRUE [13:14:02.039] break [13:14:02.039] } [13:14:02.039] } [13:14:02.039] } [13:14:02.039] invisible(muffled) [13:14:02.039] } [13:14:02.039] muffleCondition(cond, pattern = "^muffle") [13:14:02.039] } [13:14:02.039] } [13:14:02.039] else { [13:14:02.039] if (TRUE) { [13:14:02.039] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.039] { [13:14:02.039] inherits <- base::inherits [13:14:02.039] invokeRestart <- base::invokeRestart [13:14:02.039] is.null <- base::is.null [13:14:02.039] muffled <- FALSE [13:14:02.039] if (inherits(cond, "message")) { [13:14:02.039] muffled <- grepl(pattern, "muffleMessage") [13:14:02.039] if (muffled) [13:14:02.039] invokeRestart("muffleMessage") [13:14:02.039] } [13:14:02.039] else if (inherits(cond, "warning")) { [13:14:02.039] muffled <- grepl(pattern, "muffleWarning") [13:14:02.039] if (muffled) [13:14:02.039] invokeRestart("muffleWarning") [13:14:02.039] } [13:14:02.039] else if (inherits(cond, "condition")) { [13:14:02.039] if (!is.null(pattern)) { [13:14:02.039] computeRestarts <- base::computeRestarts [13:14:02.039] grepl <- base::grepl [13:14:02.039] restarts <- computeRestarts(cond) [13:14:02.039] for (restart in restarts) { [13:14:02.039] name <- restart$name [13:14:02.039] if (is.null(name)) [13:14:02.039] next [13:14:02.039] if (!grepl(pattern, name)) [13:14:02.039] next [13:14:02.039] invokeRestart(restart) [13:14:02.039] muffled <- TRUE [13:14:02.039] break [13:14:02.039] } [13:14:02.039] } [13:14:02.039] } [13:14:02.039] invisible(muffled) [13:14:02.039] } [13:14:02.039] muffleCondition(cond, pattern = "^muffle") [13:14:02.039] } [13:14:02.039] } [13:14:02.039] } [13:14:02.039] })) [13:14:02.039] }, error = function(ex) { [13:14:02.039] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.039] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.039] ...future.rng), started = ...future.startTime, [13:14:02.039] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.039] version = "1.8"), class = "FutureResult") [13:14:02.039] }, finally = { [13:14:02.039] if (!identical(...future.workdir, getwd())) [13:14:02.039] setwd(...future.workdir) [13:14:02.039] { [13:14:02.039] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.039] ...future.oldOptions$nwarnings <- NULL [13:14:02.039] } [13:14:02.039] base::options(...future.oldOptions) [13:14:02.039] if (.Platform$OS.type == "windows") { [13:14:02.039] old_names <- names(...future.oldEnvVars) [13:14:02.039] envs <- base::Sys.getenv() [13:14:02.039] names <- names(envs) [13:14:02.039] common <- intersect(names, old_names) [13:14:02.039] added <- setdiff(names, old_names) [13:14:02.039] removed <- setdiff(old_names, names) [13:14:02.039] changed <- common[...future.oldEnvVars[common] != [13:14:02.039] envs[common]] [13:14:02.039] NAMES <- toupper(changed) [13:14:02.039] args <- list() [13:14:02.039] for (kk in seq_along(NAMES)) { [13:14:02.039] name <- changed[[kk]] [13:14:02.039] NAME <- NAMES[[kk]] [13:14:02.039] if (name != NAME && is.element(NAME, old_names)) [13:14:02.039] next [13:14:02.039] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.039] } [13:14:02.039] NAMES <- toupper(added) [13:14:02.039] for (kk in seq_along(NAMES)) { [13:14:02.039] name <- added[[kk]] [13:14:02.039] NAME <- NAMES[[kk]] [13:14:02.039] if (name != NAME && is.element(NAME, old_names)) [13:14:02.039] next [13:14:02.039] args[[name]] <- "" [13:14:02.039] } [13:14:02.039] NAMES <- toupper(removed) [13:14:02.039] for (kk in seq_along(NAMES)) { [13:14:02.039] name <- removed[[kk]] [13:14:02.039] NAME <- NAMES[[kk]] [13:14:02.039] if (name != NAME && is.element(NAME, old_names)) [13:14:02.039] next [13:14:02.039] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.039] } [13:14:02.039] if (length(args) > 0) [13:14:02.039] base::do.call(base::Sys.setenv, args = args) [13:14:02.039] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.039] } [13:14:02.039] else { [13:14:02.039] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.039] } [13:14:02.039] { [13:14:02.039] if (base::length(...future.futureOptionsAdded) > [13:14:02.039] 0L) { [13:14:02.039] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.039] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.039] base::options(opts) [13:14:02.039] } [13:14:02.039] { [13:14:02.039] { [13:14:02.039] NULL [13:14:02.039] RNGkind("Mersenne-Twister") [13:14:02.039] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.039] inherits = FALSE) [13:14:02.039] } [13:14:02.039] options(future.plan = NULL) [13:14:02.039] if (is.na(NA_character_)) [13:14:02.039] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.039] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.039] future::plan(list(function (..., envir = parent.frame()) [13:14:02.039] { [13:14:02.039] future <- SequentialFuture(..., envir = envir) [13:14:02.039] if (!future$lazy) [13:14:02.039] future <- run(future) [13:14:02.039] invisible(future) [13:14:02.039] }), .cleanup = FALSE, .init = FALSE) [13:14:02.039] } [13:14:02.039] } [13:14:02.039] } [13:14:02.039] }) [13:14:02.039] if (TRUE) { [13:14:02.039] base::sink(type = "output", split = FALSE) [13:14:02.039] if (TRUE) { [13:14:02.039] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.039] } [13:14:02.039] else { [13:14:02.039] ...future.result["stdout"] <- base::list(NULL) [13:14:02.039] } [13:14:02.039] base::close(...future.stdout) [13:14:02.039] ...future.stdout <- NULL [13:14:02.039] } [13:14:02.039] ...future.result$conditions <- ...future.conditions [13:14:02.039] ...future.result$finished <- base::Sys.time() [13:14:02.039] ...future.result [13:14:02.039] } [13:14:02.043] assign_globals() ... [13:14:02.043] List of 5 [13:14:02.043] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:02.043] $ future.call.arguments : list() [13:14:02.043] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.043] $ ...future.elements_ii :List of 6 [13:14:02.043] ..$ a1: int 1 [13:14:02.043] ..$ a2: int 2 [13:14:02.043] ..$ b1: int 2 [13:14:02.043] ..$ b2: int 3 [13:14:02.043] ..$ c1: int 3 [13:14:02.043] ..$ c2: int 4 [13:14:02.043] $ ...future.seeds_ii : NULL [13:14:02.043] $ ...future.globals.maxSize: NULL [13:14:02.043] - attr(*, "where")=List of 5 [13:14:02.043] ..$ ...future.FUN : [13:14:02.043] ..$ future.call.arguments : [13:14:02.043] ..$ ...future.elements_ii : [13:14:02.043] ..$ ...future.seeds_ii : [13:14:02.043] ..$ ...future.globals.maxSize: [13:14:02.043] - attr(*, "resolved")= logi FALSE [13:14:02.043] - attr(*, "total_size")= num 4728 [13:14:02.043] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.043] - attr(*, "already-done")= logi TRUE [13:14:02.051] - reassign environment for '...future.FUN' [13:14:02.051] - copied '...future.FUN' to environment [13:14:02.051] - copied 'future.call.arguments' to environment [13:14:02.052] - copied '...future.elements_ii' to environment [13:14:02.052] - copied '...future.seeds_ii' to environment [13:14:02.052] - copied '...future.globals.maxSize' to environment [13:14:02.052] assign_globals() ... done [13:14:02.052] plan(): Setting new future strategy stack: [13:14:02.052] List of future strategies: [13:14:02.052] 1. sequential: [13:14:02.052] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.052] - tweaked: FALSE [13:14:02.052] - call: NULL [13:14:02.053] plan(): nbrOfWorkers() = 1 [13:14:02.054] plan(): Setting new future strategy stack: [13:14:02.054] List of future strategies: [13:14:02.054] 1. sequential: [13:14:02.054] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.054] - tweaked: FALSE [13:14:02.054] - call: plan(strategy) [13:14:02.055] plan(): nbrOfWorkers() = 1 [13:14:02.055] SequentialFuture started (and completed) [13:14:02.055] - Launch lazy future ... done [13:14:02.055] run() for 'SequentialFuture' ... done [13:14:02.056] Created future: [13:14:02.056] SequentialFuture: [13:14:02.056] Label: 'future_sapply-1' [13:14:02.056] Expression: [13:14:02.056] { [13:14:02.056] do.call(function(...) { [13:14:02.056] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.056] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.056] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.056] on.exit(options(oopts), add = TRUE) [13:14:02.056] } [13:14:02.056] { [13:14:02.056] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.056] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.056] ...future.FUN(...future.X_jj, ...) [13:14:02.056] }) [13:14:02.056] } [13:14:02.056] }, args = future.call.arguments) [13:14:02.056] } [13:14:02.056] Lazy evaluation: FALSE [13:14:02.056] Asynchronous evaluation: FALSE [13:14:02.056] Local evaluation: TRUE [13:14:02.056] Environment: R_GlobalEnv [13:14:02.056] Capture standard output: TRUE [13:14:02.056] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.056] Globals: 5 objects totaling 4.95 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.056] Packages: [13:14:02.056] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.056] Resolved: TRUE [13:14:02.056] Value: 2.02 KiB of class 'list' [13:14:02.056] Early signaling: FALSE [13:14:02.056] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.056] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.057] Chunk #1 of 1 ... DONE [13:14:02.057] Launching 1 futures (chunks) ... DONE [13:14:02.057] Resolving 1 futures (chunks) ... [13:14:02.057] resolve() on list ... [13:14:02.058] recursive: 0 [13:14:02.058] length: 1 [13:14:02.058] [13:14:02.058] resolved() for 'SequentialFuture' ... [13:14:02.058] - state: 'finished' [13:14:02.058] - run: TRUE [13:14:02.059] - result: 'FutureResult' [13:14:02.059] resolved() for 'SequentialFuture' ... done [13:14:02.059] Future #1 [13:14:02.059] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.059] - nx: 1 [13:14:02.059] - relay: TRUE [13:14:02.059] - stdout: TRUE [13:14:02.060] - signal: TRUE [13:14:02.060] - resignal: FALSE [13:14:02.060] - force: TRUE [13:14:02.060] - relayed: [n=1] FALSE [13:14:02.060] - queued futures: [n=1] FALSE [13:14:02.060] - until=1 [13:14:02.060] - relaying element #1 [13:14:02.061] - relayed: [n=1] TRUE [13:14:02.061] - queued futures: [n=1] TRUE [13:14:02.061] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.061] length: 0 (resolved future 1) [13:14:02.061] Relaying remaining futures [13:14:02.061] signalConditionsASAP(NULL, pos=0) ... [13:14:02.062] - nx: 1 [13:14:02.062] - relay: TRUE [13:14:02.062] - stdout: TRUE [13:14:02.062] - signal: TRUE [13:14:02.062] - resignal: FALSE [13:14:02.062] - force: TRUE [13:14:02.062] - relayed: [n=1] TRUE [13:14:02.063] - queued futures: [n=1] TRUE - flush all [13:14:02.063] - relayed: [n=1] TRUE [13:14:02.063] - queued futures: [n=1] TRUE [13:14:02.063] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.063] resolve() on list ... DONE [13:14:02.063] - Number of value chunks collected: 1 [13:14:02.064] Resolving 1 futures (chunks) ... DONE [13:14:02.064] Reducing values from 1 chunks ... [13:14:02.064] - Number of values collected after concatenation: 6 [13:14:02.064] - Number of values expected: 6 [13:14:02.064] Reducing values from 1 chunks ... DONE [13:14:02.064] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:02.069] future_lapply() ... [13:14:02.069] Number of chunks: 1 [13:14:02.069] getGlobalsAndPackagesXApply() ... [13:14:02.070] - future.globals: TRUE [13:14:02.070] getGlobalsAndPackages() ... [13:14:02.070] Searching for globals... [13:14:02.071] - globals found: [1] 'FUN' [13:14:02.071] Searching for globals ... DONE [13:14:02.071] Resolving globals: FALSE [13:14:02.072] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.072] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.072] - globals: [1] 'FUN' [13:14:02.072] [13:14:02.073] getGlobalsAndPackages() ... DONE [13:14:02.073] - globals found/used: [n=1] 'FUN' [13:14:02.073] - needed namespaces: [n=0] [13:14:02.073] Finding globals ... DONE [13:14:02.073] - use_args: TRUE [13:14:02.073] - Getting '...' globals ... [13:14:02.074] resolve() on list ... [13:14:02.074] recursive: 0 [13:14:02.074] length: 1 [13:14:02.074] elements: '...' [13:14:02.074] length: 0 (resolved future 1) [13:14:02.074] resolve() on list ... DONE [13:14:02.075] - '...' content: [n=0] [13:14:02.075] List of 1 [13:14:02.075] $ ...: list() [13:14:02.075] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.075] - attr(*, "where")=List of 1 [13:14:02.075] ..$ ...: [13:14:02.075] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.075] - attr(*, "resolved")= logi TRUE [13:14:02.075] - attr(*, "total_size")= num NA [13:14:02.077] - Getting '...' globals ... DONE [13:14:02.078] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.078] List of 2 [13:14:02.078] $ ...future.FUN:function (x) [13:14:02.078] $ ... : list() [13:14:02.078] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.078] - attr(*, "where")=List of 2 [13:14:02.078] ..$ ...future.FUN: [13:14:02.078] ..$ ... : [13:14:02.078] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.078] - attr(*, "resolved")= logi FALSE [13:14:02.078] - attr(*, "total_size")= num 848 [13:14:02.081] Packages to be attached in all futures: [n=0] [13:14:02.081] getGlobalsAndPackagesXApply() ... DONE [13:14:02.081] Number of futures (= number of chunks): 1 [13:14:02.081] Launching 1 futures (chunks) ... [13:14:02.082] Chunk #1 of 1 ... [13:14:02.082] - Finding globals in 'X' for chunk #1 ... [13:14:02.082] getGlobalsAndPackages() ... [13:14:02.082] Searching for globals... [13:14:02.082] [13:14:02.082] Searching for globals ... DONE [13:14:02.083] - globals: [0] [13:14:02.083] getGlobalsAndPackages() ... DONE [13:14:02.083] + additional globals found: [n=0] [13:14:02.083] + additional namespaces needed: [n=0] [13:14:02.083] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.083] - seeds: [13:14:02.083] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.084] getGlobalsAndPackages() ... [13:14:02.084] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.084] Resolving globals: FALSE [13:14:02.084] Tweak future expression to call with '...' arguments ... [13:14:02.084] { [13:14:02.084] do.call(function(...) { [13:14:02.084] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.084] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.084] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.084] on.exit(options(oopts), add = TRUE) [13:14:02.084] } [13:14:02.084] { [13:14:02.084] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.084] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.084] ...future.FUN(...future.X_jj, ...) [13:14:02.084] }) [13:14:02.084] } [13:14:02.084] }, args = future.call.arguments) [13:14:02.084] } [13:14:02.085] Tweak future expression to call with '...' arguments ... DONE [13:14:02.085] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.085] [13:14:02.087] getGlobalsAndPackages() ... DONE [13:14:02.087] run() for 'Future' ... [13:14:02.088] - state: 'created' [13:14:02.088] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.088] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.088] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.088] - Field: 'label' [13:14:02.089] - Field: 'local' [13:14:02.089] - Field: 'owner' [13:14:02.089] - Field: 'envir' [13:14:02.089] - Field: 'packages' [13:14:02.089] - Field: 'gc' [13:14:02.089] - Field: 'conditions' [13:14:02.090] - Field: 'expr' [13:14:02.090] - Field: 'uuid' [13:14:02.090] - Field: 'seed' [13:14:02.090] - Field: 'version' [13:14:02.090] - Field: 'result' [13:14:02.090] - Field: 'asynchronous' [13:14:02.091] - Field: 'calls' [13:14:02.091] - Field: 'globals' [13:14:02.091] - Field: 'stdout' [13:14:02.091] - Field: 'earlySignal' [13:14:02.091] - Field: 'lazy' [13:14:02.091] - Field: 'state' [13:14:02.092] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.092] - Launch lazy future ... [13:14:02.092] Packages needed by the future expression (n = 0): [13:14:02.092] Packages needed by future strategies (n = 0): [13:14:02.093] { [13:14:02.093] { [13:14:02.093] { [13:14:02.093] ...future.startTime <- base::Sys.time() [13:14:02.093] { [13:14:02.093] { [13:14:02.093] { [13:14:02.093] base::local({ [13:14:02.093] has_future <- base::requireNamespace("future", [13:14:02.093] quietly = TRUE) [13:14:02.093] if (has_future) { [13:14:02.093] ns <- base::getNamespace("future") [13:14:02.093] version <- ns[[".package"]][["version"]] [13:14:02.093] if (is.null(version)) [13:14:02.093] version <- utils::packageVersion("future") [13:14:02.093] } [13:14:02.093] else { [13:14:02.093] version <- NULL [13:14:02.093] } [13:14:02.093] if (!has_future || version < "1.8.0") { [13:14:02.093] info <- base::c(r_version = base::gsub("R version ", [13:14:02.093] "", base::R.version$version.string), [13:14:02.093] platform = base::sprintf("%s (%s-bit)", [13:14:02.093] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.093] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.093] "release", "version")], collapse = " "), [13:14:02.093] hostname = base::Sys.info()[["nodename"]]) [13:14:02.093] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.093] info) [13:14:02.093] info <- base::paste(info, collapse = "; ") [13:14:02.093] if (!has_future) { [13:14:02.093] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.093] info) [13:14:02.093] } [13:14:02.093] else { [13:14:02.093] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.093] info, version) [13:14:02.093] } [13:14:02.093] base::stop(msg) [13:14:02.093] } [13:14:02.093] }) [13:14:02.093] } [13:14:02.093] options(future.plan = NULL) [13:14:02.093] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.093] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.093] } [13:14:02.093] ...future.workdir <- getwd() [13:14:02.093] } [13:14:02.093] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.093] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.093] } [13:14:02.093] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.093] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.093] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.093] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.093] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.093] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.093] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.093] base::names(...future.oldOptions)) [13:14:02.093] } [13:14:02.093] if (FALSE) { [13:14:02.093] } [13:14:02.093] else { [13:14:02.093] if (TRUE) { [13:14:02.093] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.093] open = "w") [13:14:02.093] } [13:14:02.093] else { [13:14:02.093] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.093] windows = "NUL", "/dev/null"), open = "w") [13:14:02.093] } [13:14:02.093] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.093] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.093] base::sink(type = "output", split = FALSE) [13:14:02.093] base::close(...future.stdout) [13:14:02.093] }, add = TRUE) [13:14:02.093] } [13:14:02.093] ...future.frame <- base::sys.nframe() [13:14:02.093] ...future.conditions <- base::list() [13:14:02.093] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.093] if (FALSE) { [13:14:02.093] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.093] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.093] } [13:14:02.093] ...future.result <- base::tryCatch({ [13:14:02.093] base::withCallingHandlers({ [13:14:02.093] ...future.value <- base::withVisible(base::local({ [13:14:02.093] do.call(function(...) { [13:14:02.093] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.093] if (!identical(...future.globals.maxSize.org, [13:14:02.093] ...future.globals.maxSize)) { [13:14:02.093] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.093] on.exit(options(oopts), add = TRUE) [13:14:02.093] } [13:14:02.093] { [13:14:02.093] lapply(seq_along(...future.elements_ii), [13:14:02.093] FUN = function(jj) { [13:14:02.093] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.093] ...future.FUN(...future.X_jj, ...) [13:14:02.093] }) [13:14:02.093] } [13:14:02.093] }, args = future.call.arguments) [13:14:02.093] })) [13:14:02.093] future::FutureResult(value = ...future.value$value, [13:14:02.093] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.093] ...future.rng), globalenv = if (FALSE) [13:14:02.093] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.093] ...future.globalenv.names)) [13:14:02.093] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.093] }, condition = base::local({ [13:14:02.093] c <- base::c [13:14:02.093] inherits <- base::inherits [13:14:02.093] invokeRestart <- base::invokeRestart [13:14:02.093] length <- base::length [13:14:02.093] list <- base::list [13:14:02.093] seq.int <- base::seq.int [13:14:02.093] signalCondition <- base::signalCondition [13:14:02.093] sys.calls <- base::sys.calls [13:14:02.093] `[[` <- base::`[[` [13:14:02.093] `+` <- base::`+` [13:14:02.093] `<<-` <- base::`<<-` [13:14:02.093] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.093] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.093] 3L)] [13:14:02.093] } [13:14:02.093] function(cond) { [13:14:02.093] is_error <- inherits(cond, "error") [13:14:02.093] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.093] NULL) [13:14:02.093] if (is_error) { [13:14:02.093] sessionInformation <- function() { [13:14:02.093] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.093] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.093] search = base::search(), system = base::Sys.info()) [13:14:02.093] } [13:14:02.093] ...future.conditions[[length(...future.conditions) + [13:14:02.093] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.093] cond$call), session = sessionInformation(), [13:14:02.093] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.093] signalCondition(cond) [13:14:02.093] } [13:14:02.093] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.093] "immediateCondition"))) { [13:14:02.093] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.093] ...future.conditions[[length(...future.conditions) + [13:14:02.093] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.093] if (TRUE && !signal) { [13:14:02.093] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.093] { [13:14:02.093] inherits <- base::inherits [13:14:02.093] invokeRestart <- base::invokeRestart [13:14:02.093] is.null <- base::is.null [13:14:02.093] muffled <- FALSE [13:14:02.093] if (inherits(cond, "message")) { [13:14:02.093] muffled <- grepl(pattern, "muffleMessage") [13:14:02.093] if (muffled) [13:14:02.093] invokeRestart("muffleMessage") [13:14:02.093] } [13:14:02.093] else if (inherits(cond, "warning")) { [13:14:02.093] muffled <- grepl(pattern, "muffleWarning") [13:14:02.093] if (muffled) [13:14:02.093] invokeRestart("muffleWarning") [13:14:02.093] } [13:14:02.093] else if (inherits(cond, "condition")) { [13:14:02.093] if (!is.null(pattern)) { [13:14:02.093] computeRestarts <- base::computeRestarts [13:14:02.093] grepl <- base::grepl [13:14:02.093] restarts <- computeRestarts(cond) [13:14:02.093] for (restart in restarts) { [13:14:02.093] name <- restart$name [13:14:02.093] if (is.null(name)) [13:14:02.093] next [13:14:02.093] if (!grepl(pattern, name)) [13:14:02.093] next [13:14:02.093] invokeRestart(restart) [13:14:02.093] muffled <- TRUE [13:14:02.093] break [13:14:02.093] } [13:14:02.093] } [13:14:02.093] } [13:14:02.093] invisible(muffled) [13:14:02.093] } [13:14:02.093] muffleCondition(cond, pattern = "^muffle") [13:14:02.093] } [13:14:02.093] } [13:14:02.093] else { [13:14:02.093] if (TRUE) { [13:14:02.093] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.093] { [13:14:02.093] inherits <- base::inherits [13:14:02.093] invokeRestart <- base::invokeRestart [13:14:02.093] is.null <- base::is.null [13:14:02.093] muffled <- FALSE [13:14:02.093] if (inherits(cond, "message")) { [13:14:02.093] muffled <- grepl(pattern, "muffleMessage") [13:14:02.093] if (muffled) [13:14:02.093] invokeRestart("muffleMessage") [13:14:02.093] } [13:14:02.093] else if (inherits(cond, "warning")) { [13:14:02.093] muffled <- grepl(pattern, "muffleWarning") [13:14:02.093] if (muffled) [13:14:02.093] invokeRestart("muffleWarning") [13:14:02.093] } [13:14:02.093] else if (inherits(cond, "condition")) { [13:14:02.093] if (!is.null(pattern)) { [13:14:02.093] computeRestarts <- base::computeRestarts [13:14:02.093] grepl <- base::grepl [13:14:02.093] restarts <- computeRestarts(cond) [13:14:02.093] for (restart in restarts) { [13:14:02.093] name <- restart$name [13:14:02.093] if (is.null(name)) [13:14:02.093] next [13:14:02.093] if (!grepl(pattern, name)) [13:14:02.093] next [13:14:02.093] invokeRestart(restart) [13:14:02.093] muffled <- TRUE [13:14:02.093] break [13:14:02.093] } [13:14:02.093] } [13:14:02.093] } [13:14:02.093] invisible(muffled) [13:14:02.093] } [13:14:02.093] muffleCondition(cond, pattern = "^muffle") [13:14:02.093] } [13:14:02.093] } [13:14:02.093] } [13:14:02.093] })) [13:14:02.093] }, error = function(ex) { [13:14:02.093] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.093] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.093] ...future.rng), started = ...future.startTime, [13:14:02.093] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.093] version = "1.8"), class = "FutureResult") [13:14:02.093] }, finally = { [13:14:02.093] if (!identical(...future.workdir, getwd())) [13:14:02.093] setwd(...future.workdir) [13:14:02.093] { [13:14:02.093] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.093] ...future.oldOptions$nwarnings <- NULL [13:14:02.093] } [13:14:02.093] base::options(...future.oldOptions) [13:14:02.093] if (.Platform$OS.type == "windows") { [13:14:02.093] old_names <- names(...future.oldEnvVars) [13:14:02.093] envs <- base::Sys.getenv() [13:14:02.093] names <- names(envs) [13:14:02.093] common <- intersect(names, old_names) [13:14:02.093] added <- setdiff(names, old_names) [13:14:02.093] removed <- setdiff(old_names, names) [13:14:02.093] changed <- common[...future.oldEnvVars[common] != [13:14:02.093] envs[common]] [13:14:02.093] NAMES <- toupper(changed) [13:14:02.093] args <- list() [13:14:02.093] for (kk in seq_along(NAMES)) { [13:14:02.093] name <- changed[[kk]] [13:14:02.093] NAME <- NAMES[[kk]] [13:14:02.093] if (name != NAME && is.element(NAME, old_names)) [13:14:02.093] next [13:14:02.093] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.093] } [13:14:02.093] NAMES <- toupper(added) [13:14:02.093] for (kk in seq_along(NAMES)) { [13:14:02.093] name <- added[[kk]] [13:14:02.093] NAME <- NAMES[[kk]] [13:14:02.093] if (name != NAME && is.element(NAME, old_names)) [13:14:02.093] next [13:14:02.093] args[[name]] <- "" [13:14:02.093] } [13:14:02.093] NAMES <- toupper(removed) [13:14:02.093] for (kk in seq_along(NAMES)) { [13:14:02.093] name <- removed[[kk]] [13:14:02.093] NAME <- NAMES[[kk]] [13:14:02.093] if (name != NAME && is.element(NAME, old_names)) [13:14:02.093] next [13:14:02.093] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.093] } [13:14:02.093] if (length(args) > 0) [13:14:02.093] base::do.call(base::Sys.setenv, args = args) [13:14:02.093] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.093] } [13:14:02.093] else { [13:14:02.093] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.093] } [13:14:02.093] { [13:14:02.093] if (base::length(...future.futureOptionsAdded) > [13:14:02.093] 0L) { [13:14:02.093] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.093] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.093] base::options(opts) [13:14:02.093] } [13:14:02.093] { [13:14:02.093] { [13:14:02.093] NULL [13:14:02.093] RNGkind("Mersenne-Twister") [13:14:02.093] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.093] inherits = FALSE) [13:14:02.093] } [13:14:02.093] options(future.plan = NULL) [13:14:02.093] if (is.na(NA_character_)) [13:14:02.093] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.093] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.093] future::plan(list(function (..., envir = parent.frame()) [13:14:02.093] { [13:14:02.093] future <- SequentialFuture(..., envir = envir) [13:14:02.093] if (!future$lazy) [13:14:02.093] future <- run(future) [13:14:02.093] invisible(future) [13:14:02.093] }), .cleanup = FALSE, .init = FALSE) [13:14:02.093] } [13:14:02.093] } [13:14:02.093] } [13:14:02.093] }) [13:14:02.093] if (TRUE) { [13:14:02.093] base::sink(type = "output", split = FALSE) [13:14:02.093] if (TRUE) { [13:14:02.093] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.093] } [13:14:02.093] else { [13:14:02.093] ...future.result["stdout"] <- base::list(NULL) [13:14:02.093] } [13:14:02.093] base::close(...future.stdout) [13:14:02.093] ...future.stdout <- NULL [13:14:02.093] } [13:14:02.093] ...future.result$conditions <- ...future.conditions [13:14:02.093] ...future.result$finished <- base::Sys.time() [13:14:02.093] ...future.result [13:14:02.093] } [13:14:02.096] assign_globals() ... [13:14:02.096] List of 5 [13:14:02.096] $ ...future.FUN :function (x) [13:14:02.096] $ future.call.arguments : list() [13:14:02.096] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.096] $ ...future.elements_ii :List of 3 [13:14:02.096] ..$ : chr "a" [13:14:02.096] ..$ : chr "b" [13:14:02.096] ..$ : chr "c" [13:14:02.096] $ ...future.seeds_ii : NULL [13:14:02.096] $ ...future.globals.maxSize: NULL [13:14:02.096] - attr(*, "where")=List of 5 [13:14:02.096] ..$ ...future.FUN : [13:14:02.096] ..$ future.call.arguments : [13:14:02.096] ..$ ...future.elements_ii : [13:14:02.096] ..$ ...future.seeds_ii : [13:14:02.096] ..$ ...future.globals.maxSize: [13:14:02.096] - attr(*, "resolved")= logi FALSE [13:14:02.096] - attr(*, "total_size")= num 848 [13:14:02.096] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.096] - attr(*, "already-done")= logi TRUE [13:14:02.102] - copied '...future.FUN' to environment [13:14:02.102] - copied 'future.call.arguments' to environment [13:14:02.102] - copied '...future.elements_ii' to environment [13:14:02.102] - copied '...future.seeds_ii' to environment [13:14:02.102] - copied '...future.globals.maxSize' to environment [13:14:02.102] assign_globals() ... done [13:14:02.103] plan(): Setting new future strategy stack: [13:14:02.103] List of future strategies: [13:14:02.103] 1. sequential: [13:14:02.103] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.103] - tweaked: FALSE [13:14:02.103] - call: NULL [13:14:02.103] plan(): nbrOfWorkers() = 1 [13:14:02.104] plan(): Setting new future strategy stack: [13:14:02.105] List of future strategies: [13:14:02.105] 1. sequential: [13:14:02.105] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.105] - tweaked: FALSE [13:14:02.105] - call: plan(strategy) [13:14:02.105] plan(): nbrOfWorkers() = 1 [13:14:02.105] SequentialFuture started (and completed) [13:14:02.106] - Launch lazy future ... done [13:14:02.106] run() for 'SequentialFuture' ... done [13:14:02.106] Created future: [13:14:02.106] SequentialFuture: [13:14:02.106] Label: 'future_sapply-1' [13:14:02.106] Expression: [13:14:02.106] { [13:14:02.106] do.call(function(...) { [13:14:02.106] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.106] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.106] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.106] on.exit(options(oopts), add = TRUE) [13:14:02.106] } [13:14:02.106] { [13:14:02.106] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.106] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.106] ...future.FUN(...future.X_jj, ...) [13:14:02.106] }) [13:14:02.106] } [13:14:02.106] }, args = future.call.arguments) [13:14:02.106] } [13:14:02.106] Lazy evaluation: FALSE [13:14:02.106] Asynchronous evaluation: FALSE [13:14:02.106] Local evaluation: TRUE [13:14:02.106] Environment: R_GlobalEnv [13:14:02.106] Capture standard output: TRUE [13:14:02.106] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.106] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.106] Packages: [13:14:02.106] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.106] Resolved: TRUE [13:14:02.106] Value: 336 bytes of class 'list' [13:14:02.106] Early signaling: FALSE [13:14:02.106] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.106] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.107] Chunk #1 of 1 ... DONE [13:14:02.107] Launching 1 futures (chunks) ... DONE [13:14:02.107] Resolving 1 futures (chunks) ... [13:14:02.108] resolve() on list ... [13:14:02.108] recursive: 0 [13:14:02.108] length: 1 [13:14:02.108] [13:14:02.108] resolved() for 'SequentialFuture' ... [13:14:02.108] - state: 'finished' [13:14:02.109] - run: TRUE [13:14:02.109] - result: 'FutureResult' [13:14:02.109] resolved() for 'SequentialFuture' ... done [13:14:02.109] Future #1 [13:14:02.109] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.109] - nx: 1 [13:14:02.109] - relay: TRUE [13:14:02.110] - stdout: TRUE [13:14:02.110] - signal: TRUE [13:14:02.110] - resignal: FALSE [13:14:02.110] - force: TRUE [13:14:02.110] - relayed: [n=1] FALSE [13:14:02.110] - queued futures: [n=1] FALSE [13:14:02.110] - until=1 [13:14:02.111] - relaying element #1 [13:14:02.111] - relayed: [n=1] TRUE [13:14:02.111] - queued futures: [n=1] TRUE [13:14:02.111] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.111] length: 0 (resolved future 1) [13:14:02.111] Relaying remaining futures [13:14:02.112] signalConditionsASAP(NULL, pos=0) ... [13:14:02.112] - nx: 1 [13:14:02.112] - relay: TRUE [13:14:02.112] - stdout: TRUE [13:14:02.112] - signal: TRUE [13:14:02.112] - resignal: FALSE [13:14:02.112] - force: TRUE [13:14:02.112] - relayed: [n=1] TRUE [13:14:02.113] - queued futures: [n=1] TRUE - flush all [13:14:02.113] - relayed: [n=1] TRUE [13:14:02.114] - queued futures: [n=1] TRUE [13:14:02.114] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.114] resolve() on list ... DONE [13:14:02.114] - Number of value chunks collected: 1 [13:14:02.115] Resolving 1 futures (chunks) ... DONE [13:14:02.115] Reducing values from 1 chunks ... [13:14:02.115] - Number of values collected after concatenation: 3 [13:14:02.115] - Number of values expected: 3 [13:14:02.115] Reducing values from 1 chunks ... DONE [13:14:02.115] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" $ y1:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" List of 2 $ y0:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" $ y2:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" [13:14:02.120] future_lapply() ... [13:14:02.121] Number of chunks: 1 [13:14:02.121] getGlobalsAndPackagesXApply() ... [13:14:02.121] - future.globals: TRUE [13:14:02.121] getGlobalsAndPackages() ... [13:14:02.121] Searching for globals... [13:14:02.122] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.123] Searching for globals ... DONE [13:14:02.123] Resolving globals: FALSE [13:14:02.123] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.123] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.124] - globals: [1] 'FUN' [13:14:02.124] [13:14:02.124] getGlobalsAndPackages() ... DONE [13:14:02.124] - globals found/used: [n=1] 'FUN' [13:14:02.124] - needed namespaces: [n=0] [13:14:02.124] Finding globals ... DONE [13:14:02.124] - use_args: TRUE [13:14:02.125] - Getting '...' globals ... [13:14:02.125] resolve() on list ... [13:14:02.125] recursive: 0 [13:14:02.125] length: 1 [13:14:02.125] elements: '...' [13:14:02.126] length: 0 (resolved future 1) [13:14:02.126] resolve() on list ... DONE [13:14:02.126] - '...' content: [n=0] [13:14:02.126] List of 1 [13:14:02.126] $ ...: list() [13:14:02.126] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.126] - attr(*, "where")=List of 1 [13:14:02.126] ..$ ...: [13:14:02.126] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.126] - attr(*, "resolved")= logi TRUE [13:14:02.126] - attr(*, "total_size")= num NA [13:14:02.129] - Getting '...' globals ... DONE [13:14:02.129] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.129] List of 2 [13:14:02.129] $ ...future.FUN:function (x, ...) [13:14:02.129] $ ... : list() [13:14:02.129] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.129] - attr(*, "where")=List of 2 [13:14:02.129] ..$ ...future.FUN: [13:14:02.129] ..$ ... : [13:14:02.129] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.129] - attr(*, "resolved")= logi FALSE [13:14:02.129] - attr(*, "total_size")= num 1248 [13:14:02.132] Packages to be attached in all futures: [n=0] [13:14:02.132] getGlobalsAndPackagesXApply() ... DONE [13:14:02.132] Number of futures (= number of chunks): 1 [13:14:02.132] Launching 1 futures (chunks) ... [13:14:02.132] Chunk #1 of 1 ... [13:14:02.133] - Finding globals in 'X' for chunk #1 ... [13:14:02.133] getGlobalsAndPackages() ... [13:14:02.133] Searching for globals... [13:14:02.133] [13:14:02.134] Searching for globals ... DONE [13:14:02.134] - globals: [0] [13:14:02.135] getGlobalsAndPackages() ... DONE [13:14:02.135] + additional globals found: [n=0] [13:14:02.135] + additional namespaces needed: [n=0] [13:14:02.135] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.135] - seeds: [13:14:02.135] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.135] getGlobalsAndPackages() ... [13:14:02.136] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.136] Resolving globals: FALSE [13:14:02.136] Tweak future expression to call with '...' arguments ... [13:14:02.136] { [13:14:02.136] do.call(function(...) { [13:14:02.136] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.136] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.136] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.136] on.exit(options(oopts), add = TRUE) [13:14:02.136] } [13:14:02.136] { [13:14:02.136] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.136] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.136] ...future.FUN(...future.X_jj, ...) [13:14:02.136] }) [13:14:02.136] } [13:14:02.136] }, args = future.call.arguments) [13:14:02.136] } [13:14:02.136] Tweak future expression to call with '...' arguments ... DONE [13:14:02.137] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.137] [13:14:02.137] getGlobalsAndPackages() ... DONE [13:14:02.138] run() for 'Future' ... [13:14:02.138] - state: 'created' [13:14:02.138] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.138] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.138] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.139] - Field: 'label' [13:14:02.139] - Field: 'local' [13:14:02.139] - Field: 'owner' [13:14:02.139] - Field: 'envir' [13:14:02.139] - Field: 'packages' [13:14:02.139] - Field: 'gc' [13:14:02.140] - Field: 'conditions' [13:14:02.140] - Field: 'expr' [13:14:02.140] - Field: 'uuid' [13:14:02.140] - Field: 'seed' [13:14:02.140] - Field: 'version' [13:14:02.140] - Field: 'result' [13:14:02.140] - Field: 'asynchronous' [13:14:02.141] - Field: 'calls' [13:14:02.141] - Field: 'globals' [13:14:02.141] - Field: 'stdout' [13:14:02.141] - Field: 'earlySignal' [13:14:02.141] - Field: 'lazy' [13:14:02.141] - Field: 'state' [13:14:02.142] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.142] - Launch lazy future ... [13:14:02.142] Packages needed by the future expression (n = 0): [13:14:02.142] Packages needed by future strategies (n = 0): [13:14:02.143] { [13:14:02.143] { [13:14:02.143] { [13:14:02.143] ...future.startTime <- base::Sys.time() [13:14:02.143] { [13:14:02.143] { [13:14:02.143] { [13:14:02.143] base::local({ [13:14:02.143] has_future <- base::requireNamespace("future", [13:14:02.143] quietly = TRUE) [13:14:02.143] if (has_future) { [13:14:02.143] ns <- base::getNamespace("future") [13:14:02.143] version <- ns[[".package"]][["version"]] [13:14:02.143] if (is.null(version)) [13:14:02.143] version <- utils::packageVersion("future") [13:14:02.143] } [13:14:02.143] else { [13:14:02.143] version <- NULL [13:14:02.143] } [13:14:02.143] if (!has_future || version < "1.8.0") { [13:14:02.143] info <- base::c(r_version = base::gsub("R version ", [13:14:02.143] "", base::R.version$version.string), [13:14:02.143] platform = base::sprintf("%s (%s-bit)", [13:14:02.143] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.143] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.143] "release", "version")], collapse = " "), [13:14:02.143] hostname = base::Sys.info()[["nodename"]]) [13:14:02.143] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.143] info) [13:14:02.143] info <- base::paste(info, collapse = "; ") [13:14:02.143] if (!has_future) { [13:14:02.143] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.143] info) [13:14:02.143] } [13:14:02.143] else { [13:14:02.143] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.143] info, version) [13:14:02.143] } [13:14:02.143] base::stop(msg) [13:14:02.143] } [13:14:02.143] }) [13:14:02.143] } [13:14:02.143] options(future.plan = NULL) [13:14:02.143] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.143] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.143] } [13:14:02.143] ...future.workdir <- getwd() [13:14:02.143] } [13:14:02.143] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.143] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.143] } [13:14:02.143] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.143] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.143] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.143] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.143] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.143] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.143] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.143] base::names(...future.oldOptions)) [13:14:02.143] } [13:14:02.143] if (FALSE) { [13:14:02.143] } [13:14:02.143] else { [13:14:02.143] if (TRUE) { [13:14:02.143] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.143] open = "w") [13:14:02.143] } [13:14:02.143] else { [13:14:02.143] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.143] windows = "NUL", "/dev/null"), open = "w") [13:14:02.143] } [13:14:02.143] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.143] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.143] base::sink(type = "output", split = FALSE) [13:14:02.143] base::close(...future.stdout) [13:14:02.143] }, add = TRUE) [13:14:02.143] } [13:14:02.143] ...future.frame <- base::sys.nframe() [13:14:02.143] ...future.conditions <- base::list() [13:14:02.143] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.143] if (FALSE) { [13:14:02.143] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.143] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.143] } [13:14:02.143] ...future.result <- base::tryCatch({ [13:14:02.143] base::withCallingHandlers({ [13:14:02.143] ...future.value <- base::withVisible(base::local({ [13:14:02.143] do.call(function(...) { [13:14:02.143] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.143] if (!identical(...future.globals.maxSize.org, [13:14:02.143] ...future.globals.maxSize)) { [13:14:02.143] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.143] on.exit(options(oopts), add = TRUE) [13:14:02.143] } [13:14:02.143] { [13:14:02.143] lapply(seq_along(...future.elements_ii), [13:14:02.143] FUN = function(jj) { [13:14:02.143] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.143] ...future.FUN(...future.X_jj, ...) [13:14:02.143] }) [13:14:02.143] } [13:14:02.143] }, args = future.call.arguments) [13:14:02.143] })) [13:14:02.143] future::FutureResult(value = ...future.value$value, [13:14:02.143] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.143] ...future.rng), globalenv = if (FALSE) [13:14:02.143] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.143] ...future.globalenv.names)) [13:14:02.143] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.143] }, condition = base::local({ [13:14:02.143] c <- base::c [13:14:02.143] inherits <- base::inherits [13:14:02.143] invokeRestart <- base::invokeRestart [13:14:02.143] length <- base::length [13:14:02.143] list <- base::list [13:14:02.143] seq.int <- base::seq.int [13:14:02.143] signalCondition <- base::signalCondition [13:14:02.143] sys.calls <- base::sys.calls [13:14:02.143] `[[` <- base::`[[` [13:14:02.143] `+` <- base::`+` [13:14:02.143] `<<-` <- base::`<<-` [13:14:02.143] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.143] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.143] 3L)] [13:14:02.143] } [13:14:02.143] function(cond) { [13:14:02.143] is_error <- inherits(cond, "error") [13:14:02.143] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.143] NULL) [13:14:02.143] if (is_error) { [13:14:02.143] sessionInformation <- function() { [13:14:02.143] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.143] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.143] search = base::search(), system = base::Sys.info()) [13:14:02.143] } [13:14:02.143] ...future.conditions[[length(...future.conditions) + [13:14:02.143] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.143] cond$call), session = sessionInformation(), [13:14:02.143] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.143] signalCondition(cond) [13:14:02.143] } [13:14:02.143] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.143] "immediateCondition"))) { [13:14:02.143] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.143] ...future.conditions[[length(...future.conditions) + [13:14:02.143] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.143] if (TRUE && !signal) { [13:14:02.143] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.143] { [13:14:02.143] inherits <- base::inherits [13:14:02.143] invokeRestart <- base::invokeRestart [13:14:02.143] is.null <- base::is.null [13:14:02.143] muffled <- FALSE [13:14:02.143] if (inherits(cond, "message")) { [13:14:02.143] muffled <- grepl(pattern, "muffleMessage") [13:14:02.143] if (muffled) [13:14:02.143] invokeRestart("muffleMessage") [13:14:02.143] } [13:14:02.143] else if (inherits(cond, "warning")) { [13:14:02.143] muffled <- grepl(pattern, "muffleWarning") [13:14:02.143] if (muffled) [13:14:02.143] invokeRestart("muffleWarning") [13:14:02.143] } [13:14:02.143] else if (inherits(cond, "condition")) { [13:14:02.143] if (!is.null(pattern)) { [13:14:02.143] computeRestarts <- base::computeRestarts [13:14:02.143] grepl <- base::grepl [13:14:02.143] restarts <- computeRestarts(cond) [13:14:02.143] for (restart in restarts) { [13:14:02.143] name <- restart$name [13:14:02.143] if (is.null(name)) [13:14:02.143] next [13:14:02.143] if (!grepl(pattern, name)) [13:14:02.143] next [13:14:02.143] invokeRestart(restart) [13:14:02.143] muffled <- TRUE [13:14:02.143] break [13:14:02.143] } [13:14:02.143] } [13:14:02.143] } [13:14:02.143] invisible(muffled) [13:14:02.143] } [13:14:02.143] muffleCondition(cond, pattern = "^muffle") [13:14:02.143] } [13:14:02.143] } [13:14:02.143] else { [13:14:02.143] if (TRUE) { [13:14:02.143] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.143] { [13:14:02.143] inherits <- base::inherits [13:14:02.143] invokeRestart <- base::invokeRestart [13:14:02.143] is.null <- base::is.null [13:14:02.143] muffled <- FALSE [13:14:02.143] if (inherits(cond, "message")) { [13:14:02.143] muffled <- grepl(pattern, "muffleMessage") [13:14:02.143] if (muffled) [13:14:02.143] invokeRestart("muffleMessage") [13:14:02.143] } [13:14:02.143] else if (inherits(cond, "warning")) { [13:14:02.143] muffled <- grepl(pattern, "muffleWarning") [13:14:02.143] if (muffled) [13:14:02.143] invokeRestart("muffleWarning") [13:14:02.143] } [13:14:02.143] else if (inherits(cond, "condition")) { [13:14:02.143] if (!is.null(pattern)) { [13:14:02.143] computeRestarts <- base::computeRestarts [13:14:02.143] grepl <- base::grepl [13:14:02.143] restarts <- computeRestarts(cond) [13:14:02.143] for (restart in restarts) { [13:14:02.143] name <- restart$name [13:14:02.143] if (is.null(name)) [13:14:02.143] next [13:14:02.143] if (!grepl(pattern, name)) [13:14:02.143] next [13:14:02.143] invokeRestart(restart) [13:14:02.143] muffled <- TRUE [13:14:02.143] break [13:14:02.143] } [13:14:02.143] } [13:14:02.143] } [13:14:02.143] invisible(muffled) [13:14:02.143] } [13:14:02.143] muffleCondition(cond, pattern = "^muffle") [13:14:02.143] } [13:14:02.143] } [13:14:02.143] } [13:14:02.143] })) [13:14:02.143] }, error = function(ex) { [13:14:02.143] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.143] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.143] ...future.rng), started = ...future.startTime, [13:14:02.143] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.143] version = "1.8"), class = "FutureResult") [13:14:02.143] }, finally = { [13:14:02.143] if (!identical(...future.workdir, getwd())) [13:14:02.143] setwd(...future.workdir) [13:14:02.143] { [13:14:02.143] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.143] ...future.oldOptions$nwarnings <- NULL [13:14:02.143] } [13:14:02.143] base::options(...future.oldOptions) [13:14:02.143] if (.Platform$OS.type == "windows") { [13:14:02.143] old_names <- names(...future.oldEnvVars) [13:14:02.143] envs <- base::Sys.getenv() [13:14:02.143] names <- names(envs) [13:14:02.143] common <- intersect(names, old_names) [13:14:02.143] added <- setdiff(names, old_names) [13:14:02.143] removed <- setdiff(old_names, names) [13:14:02.143] changed <- common[...future.oldEnvVars[common] != [13:14:02.143] envs[common]] [13:14:02.143] NAMES <- toupper(changed) [13:14:02.143] args <- list() [13:14:02.143] for (kk in seq_along(NAMES)) { [13:14:02.143] name <- changed[[kk]] [13:14:02.143] NAME <- NAMES[[kk]] [13:14:02.143] if (name != NAME && is.element(NAME, old_names)) [13:14:02.143] next [13:14:02.143] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.143] } [13:14:02.143] NAMES <- toupper(added) [13:14:02.143] for (kk in seq_along(NAMES)) { [13:14:02.143] name <- added[[kk]] [13:14:02.143] NAME <- NAMES[[kk]] [13:14:02.143] if (name != NAME && is.element(NAME, old_names)) [13:14:02.143] next [13:14:02.143] args[[name]] <- "" [13:14:02.143] } [13:14:02.143] NAMES <- toupper(removed) [13:14:02.143] for (kk in seq_along(NAMES)) { [13:14:02.143] name <- removed[[kk]] [13:14:02.143] NAME <- NAMES[[kk]] [13:14:02.143] if (name != NAME && is.element(NAME, old_names)) [13:14:02.143] next [13:14:02.143] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.143] } [13:14:02.143] if (length(args) > 0) [13:14:02.143] base::do.call(base::Sys.setenv, args = args) [13:14:02.143] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.143] } [13:14:02.143] else { [13:14:02.143] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.143] } [13:14:02.143] { [13:14:02.143] if (base::length(...future.futureOptionsAdded) > [13:14:02.143] 0L) { [13:14:02.143] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.143] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.143] base::options(opts) [13:14:02.143] } [13:14:02.143] { [13:14:02.143] { [13:14:02.143] NULL [13:14:02.143] RNGkind("Mersenne-Twister") [13:14:02.143] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.143] inherits = FALSE) [13:14:02.143] } [13:14:02.143] options(future.plan = NULL) [13:14:02.143] if (is.na(NA_character_)) [13:14:02.143] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.143] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.143] future::plan(list(function (..., envir = parent.frame()) [13:14:02.143] { [13:14:02.143] future <- SequentialFuture(..., envir = envir) [13:14:02.143] if (!future$lazy) [13:14:02.143] future <- run(future) [13:14:02.143] invisible(future) [13:14:02.143] }), .cleanup = FALSE, .init = FALSE) [13:14:02.143] } [13:14:02.143] } [13:14:02.143] } [13:14:02.143] }) [13:14:02.143] if (TRUE) { [13:14:02.143] base::sink(type = "output", split = FALSE) [13:14:02.143] if (TRUE) { [13:14:02.143] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.143] } [13:14:02.143] else { [13:14:02.143] ...future.result["stdout"] <- base::list(NULL) [13:14:02.143] } [13:14:02.143] base::close(...future.stdout) [13:14:02.143] ...future.stdout <- NULL [13:14:02.143] } [13:14:02.143] ...future.result$conditions <- ...future.conditions [13:14:02.143] ...future.result$finished <- base::Sys.time() [13:14:02.143] ...future.result [13:14:02.143] } [13:14:02.146] assign_globals() ... [13:14:02.146] List of 5 [13:14:02.146] $ ...future.FUN :function (x, ...) [13:14:02.146] $ future.call.arguments : list() [13:14:02.146] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.146] $ ...future.elements_ii :List of 3 [13:14:02.146] ..$ : chr "a" [13:14:02.146] ..$ : chr "b" [13:14:02.146] ..$ : chr "c" [13:14:02.146] $ ...future.seeds_ii : NULL [13:14:02.146] $ ...future.globals.maxSize: NULL [13:14:02.146] - attr(*, "where")=List of 5 [13:14:02.146] ..$ ...future.FUN : [13:14:02.146] ..$ future.call.arguments : [13:14:02.146] ..$ ...future.elements_ii : [13:14:02.146] ..$ ...future.seeds_ii : [13:14:02.146] ..$ ...future.globals.maxSize: [13:14:02.146] - attr(*, "resolved")= logi FALSE [13:14:02.146] - attr(*, "total_size")= num 1248 [13:14:02.146] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.146] - attr(*, "already-done")= logi TRUE [13:14:02.151] - copied '...future.FUN' to environment [13:14:02.152] - copied 'future.call.arguments' to environment [13:14:02.152] - copied '...future.elements_ii' to environment [13:14:02.152] - copied '...future.seeds_ii' to environment [13:14:02.152] - copied '...future.globals.maxSize' to environment [13:14:02.152] assign_globals() ... done [13:14:02.153] plan(): Setting new future strategy stack: [13:14:02.153] List of future strategies: [13:14:02.153] 1. sequential: [13:14:02.153] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.153] - tweaked: FALSE [13:14:02.153] - call: NULL [13:14:02.153] plan(): nbrOfWorkers() = 1 [13:14:02.154] plan(): Setting new future strategy stack: [13:14:02.154] List of future strategies: [13:14:02.154] 1. sequential: [13:14:02.154] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.154] - tweaked: FALSE [13:14:02.154] - call: plan(strategy) [13:14:02.155] plan(): nbrOfWorkers() = 1 [13:14:02.155] SequentialFuture started (and completed) [13:14:02.155] - Launch lazy future ... done [13:14:02.155] run() for 'SequentialFuture' ... done [13:14:02.156] Created future: [13:14:02.156] SequentialFuture: [13:14:02.156] Label: 'future_sapply-1' [13:14:02.156] Expression: [13:14:02.156] { [13:14:02.156] do.call(function(...) { [13:14:02.156] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.156] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.156] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.156] on.exit(options(oopts), add = TRUE) [13:14:02.156] } [13:14:02.156] { [13:14:02.156] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.156] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.156] ...future.FUN(...future.X_jj, ...) [13:14:02.156] }) [13:14:02.156] } [13:14:02.156] }, args = future.call.arguments) [13:14:02.156] } [13:14:02.156] Lazy evaluation: FALSE [13:14:02.156] Asynchronous evaluation: FALSE [13:14:02.156] Local evaluation: TRUE [13:14:02.156] Environment: R_GlobalEnv [13:14:02.156] Capture standard output: TRUE [13:14:02.156] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.156] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.156] Packages: [13:14:02.156] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.156] Resolved: TRUE [13:14:02.156] Value: 840 bytes of class 'list' [13:14:02.156] Early signaling: FALSE [13:14:02.156] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.156] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.157] Chunk #1 of 1 ... DONE [13:14:02.157] Launching 1 futures (chunks) ... DONE [13:14:02.157] Resolving 1 futures (chunks) ... [13:14:02.157] resolve() on list ... [13:14:02.157] recursive: 0 [13:14:02.158] length: 1 [13:14:02.158] [13:14:02.158] resolved() for 'SequentialFuture' ... [13:14:02.158] - state: 'finished' [13:14:02.158] - run: TRUE [13:14:02.158] - result: 'FutureResult' [13:14:02.158] resolved() for 'SequentialFuture' ... done [13:14:02.159] Future #1 [13:14:02.159] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.159] - nx: 1 [13:14:02.159] - relay: TRUE [13:14:02.159] - stdout: TRUE [13:14:02.159] - signal: TRUE [13:14:02.159] - resignal: FALSE [13:14:02.160] - force: TRUE [13:14:02.161] - relayed: [n=1] FALSE [13:14:02.161] - queued futures: [n=1] FALSE [13:14:02.161] - until=1 [13:14:02.161] - relaying element #1 [13:14:02.161] - relayed: [n=1] TRUE [13:14:02.161] - queued futures: [n=1] TRUE [13:14:02.162] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.162] length: 0 (resolved future 1) [13:14:02.162] Relaying remaining futures [13:14:02.162] signalConditionsASAP(NULL, pos=0) ... [13:14:02.162] - nx: 1 [13:14:02.162] - relay: TRUE [13:14:02.162] - stdout: TRUE [13:14:02.162] - signal: TRUE [13:14:02.163] - resignal: FALSE [13:14:02.163] - force: TRUE [13:14:02.163] - relayed: [n=1] TRUE [13:14:02.163] - queued futures: [n=1] TRUE - flush all [13:14:02.163] - relayed: [n=1] TRUE [13:14:02.163] - queued futures: [n=1] TRUE [13:14:02.163] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.164] resolve() on list ... DONE [13:14:02.164] - Number of value chunks collected: 1 [13:14:02.164] Resolving 1 futures (chunks) ... DONE [13:14:02.164] Reducing values from 1 chunks ... [13:14:02.164] - Number of values collected after concatenation: 3 [13:14:02.164] - Number of values expected: 3 [13:14:02.164] Reducing values from 1 chunks ... DONE [13:14:02.165] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" $ y1:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" List of 2 $ y0:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" $ y2:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" [13:14:02.170] future_lapply() ... [13:14:02.170] Number of chunks: 1 [13:14:02.170] getGlobalsAndPackagesXApply() ... [13:14:02.171] - future.globals: TRUE [13:14:02.171] getGlobalsAndPackages() ... [13:14:02.171] Searching for globals... [13:14:02.172] - globals found: [1] 'FUN' [13:14:02.172] Searching for globals ... DONE [13:14:02.172] Resolving globals: FALSE [13:14:02.172] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.173] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.173] - globals: [1] 'FUN' [13:14:02.173] [13:14:02.173] getGlobalsAndPackages() ... DONE [13:14:02.173] - globals found/used: [n=1] 'FUN' [13:14:02.173] - needed namespaces: [n=0] [13:14:02.174] Finding globals ... DONE [13:14:02.174] - use_args: TRUE [13:14:02.174] - Getting '...' globals ... [13:14:02.174] resolve() on list ... [13:14:02.174] recursive: 0 [13:14:02.174] length: 1 [13:14:02.175] elements: '...' [13:14:02.175] length: 0 (resolved future 1) [13:14:02.175] resolve() on list ... DONE [13:14:02.175] - '...' content: [n=0] [13:14:02.175] List of 1 [13:14:02.175] $ ...: list() [13:14:02.175] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.175] - attr(*, "where")=List of 1 [13:14:02.175] ..$ ...: [13:14:02.175] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.175] - attr(*, "resolved")= logi TRUE [13:14:02.175] - attr(*, "total_size")= num NA [13:14:02.178] - Getting '...' globals ... DONE [13:14:02.178] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.178] List of 2 [13:14:02.178] $ ...future.FUN:function (x) [13:14:02.178] $ ... : list() [13:14:02.178] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.178] - attr(*, "where")=List of 2 [13:14:02.178] ..$ ...future.FUN: [13:14:02.178] ..$ ... : [13:14:02.178] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.178] - attr(*, "resolved")= logi FALSE [13:14:02.178] - attr(*, "total_size")= num 848 [13:14:02.182] Packages to be attached in all futures: [n=0] [13:14:02.182] getGlobalsAndPackagesXApply() ... DONE [13:14:02.182] Number of futures (= number of chunks): 1 [13:14:02.182] Launching 1 futures (chunks) ... [13:14:02.182] Chunk #1 of 1 ... [13:14:02.183] - Finding globals in 'X' for chunk #1 ... [13:14:02.183] getGlobalsAndPackages() ... [13:14:02.183] Searching for globals... [13:14:02.183] [13:14:02.183] Searching for globals ... DONE [13:14:02.183] - globals: [0] [13:14:02.183] getGlobalsAndPackages() ... DONE [13:14:02.184] + additional globals found: [n=0] [13:14:02.184] + additional namespaces needed: [n=0] [13:14:02.184] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.184] - seeds: [13:14:02.184] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.184] getGlobalsAndPackages() ... [13:14:02.184] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.185] Resolving globals: FALSE [13:14:02.185] Tweak future expression to call with '...' arguments ... [13:14:02.185] { [13:14:02.185] do.call(function(...) { [13:14:02.185] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.185] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.185] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.185] on.exit(options(oopts), add = TRUE) [13:14:02.185] } [13:14:02.185] { [13:14:02.185] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.185] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.185] ...future.FUN(...future.X_jj, ...) [13:14:02.185] }) [13:14:02.185] } [13:14:02.185] }, args = future.call.arguments) [13:14:02.185] } [13:14:02.185] Tweak future expression to call with '...' arguments ... DONE [13:14:02.186] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.186] [13:14:02.186] getGlobalsAndPackages() ... DONE [13:14:02.186] run() for 'Future' ... [13:14:02.186] - state: 'created' [13:14:02.187] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.187] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.187] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.187] - Field: 'label' [13:14:02.187] - Field: 'local' [13:14:02.188] - Field: 'owner' [13:14:02.188] - Field: 'envir' [13:14:02.188] - Field: 'packages' [13:14:02.188] - Field: 'gc' [13:14:02.188] - Field: 'conditions' [13:14:02.188] - Field: 'expr' [13:14:02.188] - Field: 'uuid' [13:14:02.189] - Field: 'seed' [13:14:02.189] - Field: 'version' [13:14:02.189] - Field: 'result' [13:14:02.189] - Field: 'asynchronous' [13:14:02.189] - Field: 'calls' [13:14:02.189] - Field: 'globals' [13:14:02.189] - Field: 'stdout' [13:14:02.190] - Field: 'earlySignal' [13:14:02.190] - Field: 'lazy' [13:14:02.190] - Field: 'state' [13:14:02.190] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.190] - Launch lazy future ... [13:14:02.190] Packages needed by the future expression (n = 0): [13:14:02.191] Packages needed by future strategies (n = 0): [13:14:02.191] { [13:14:02.191] { [13:14:02.191] { [13:14:02.191] ...future.startTime <- base::Sys.time() [13:14:02.191] { [13:14:02.191] { [13:14:02.191] { [13:14:02.191] base::local({ [13:14:02.191] has_future <- base::requireNamespace("future", [13:14:02.191] quietly = TRUE) [13:14:02.191] if (has_future) { [13:14:02.191] ns <- base::getNamespace("future") [13:14:02.191] version <- ns[[".package"]][["version"]] [13:14:02.191] if (is.null(version)) [13:14:02.191] version <- utils::packageVersion("future") [13:14:02.191] } [13:14:02.191] else { [13:14:02.191] version <- NULL [13:14:02.191] } [13:14:02.191] if (!has_future || version < "1.8.0") { [13:14:02.191] info <- base::c(r_version = base::gsub("R version ", [13:14:02.191] "", base::R.version$version.string), [13:14:02.191] platform = base::sprintf("%s (%s-bit)", [13:14:02.191] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.191] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.191] "release", "version")], collapse = " "), [13:14:02.191] hostname = base::Sys.info()[["nodename"]]) [13:14:02.191] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.191] info) [13:14:02.191] info <- base::paste(info, collapse = "; ") [13:14:02.191] if (!has_future) { [13:14:02.191] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.191] info) [13:14:02.191] } [13:14:02.191] else { [13:14:02.191] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.191] info, version) [13:14:02.191] } [13:14:02.191] base::stop(msg) [13:14:02.191] } [13:14:02.191] }) [13:14:02.191] } [13:14:02.191] options(future.plan = NULL) [13:14:02.191] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.191] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.191] } [13:14:02.191] ...future.workdir <- getwd() [13:14:02.191] } [13:14:02.191] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.191] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.191] } [13:14:02.191] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.191] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.191] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.191] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.191] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.191] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.191] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.191] base::names(...future.oldOptions)) [13:14:02.191] } [13:14:02.191] if (FALSE) { [13:14:02.191] } [13:14:02.191] else { [13:14:02.191] if (TRUE) { [13:14:02.191] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.191] open = "w") [13:14:02.191] } [13:14:02.191] else { [13:14:02.191] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.191] windows = "NUL", "/dev/null"), open = "w") [13:14:02.191] } [13:14:02.191] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.191] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.191] base::sink(type = "output", split = FALSE) [13:14:02.191] base::close(...future.stdout) [13:14:02.191] }, add = TRUE) [13:14:02.191] } [13:14:02.191] ...future.frame <- base::sys.nframe() [13:14:02.191] ...future.conditions <- base::list() [13:14:02.191] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.191] if (FALSE) { [13:14:02.191] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.191] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.191] } [13:14:02.191] ...future.result <- base::tryCatch({ [13:14:02.191] base::withCallingHandlers({ [13:14:02.191] ...future.value <- base::withVisible(base::local({ [13:14:02.191] do.call(function(...) { [13:14:02.191] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.191] if (!identical(...future.globals.maxSize.org, [13:14:02.191] ...future.globals.maxSize)) { [13:14:02.191] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.191] on.exit(options(oopts), add = TRUE) [13:14:02.191] } [13:14:02.191] { [13:14:02.191] lapply(seq_along(...future.elements_ii), [13:14:02.191] FUN = function(jj) { [13:14:02.191] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.191] ...future.FUN(...future.X_jj, ...) [13:14:02.191] }) [13:14:02.191] } [13:14:02.191] }, args = future.call.arguments) [13:14:02.191] })) [13:14:02.191] future::FutureResult(value = ...future.value$value, [13:14:02.191] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.191] ...future.rng), globalenv = if (FALSE) [13:14:02.191] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.191] ...future.globalenv.names)) [13:14:02.191] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.191] }, condition = base::local({ [13:14:02.191] c <- base::c [13:14:02.191] inherits <- base::inherits [13:14:02.191] invokeRestart <- base::invokeRestart [13:14:02.191] length <- base::length [13:14:02.191] list <- base::list [13:14:02.191] seq.int <- base::seq.int [13:14:02.191] signalCondition <- base::signalCondition [13:14:02.191] sys.calls <- base::sys.calls [13:14:02.191] `[[` <- base::`[[` [13:14:02.191] `+` <- base::`+` [13:14:02.191] `<<-` <- base::`<<-` [13:14:02.191] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.191] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.191] 3L)] [13:14:02.191] } [13:14:02.191] function(cond) { [13:14:02.191] is_error <- inherits(cond, "error") [13:14:02.191] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.191] NULL) [13:14:02.191] if (is_error) { [13:14:02.191] sessionInformation <- function() { [13:14:02.191] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.191] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.191] search = base::search(), system = base::Sys.info()) [13:14:02.191] } [13:14:02.191] ...future.conditions[[length(...future.conditions) + [13:14:02.191] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.191] cond$call), session = sessionInformation(), [13:14:02.191] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.191] signalCondition(cond) [13:14:02.191] } [13:14:02.191] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.191] "immediateCondition"))) { [13:14:02.191] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.191] ...future.conditions[[length(...future.conditions) + [13:14:02.191] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.191] if (TRUE && !signal) { [13:14:02.191] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.191] { [13:14:02.191] inherits <- base::inherits [13:14:02.191] invokeRestart <- base::invokeRestart [13:14:02.191] is.null <- base::is.null [13:14:02.191] muffled <- FALSE [13:14:02.191] if (inherits(cond, "message")) { [13:14:02.191] muffled <- grepl(pattern, "muffleMessage") [13:14:02.191] if (muffled) [13:14:02.191] invokeRestart("muffleMessage") [13:14:02.191] } [13:14:02.191] else if (inherits(cond, "warning")) { [13:14:02.191] muffled <- grepl(pattern, "muffleWarning") [13:14:02.191] if (muffled) [13:14:02.191] invokeRestart("muffleWarning") [13:14:02.191] } [13:14:02.191] else if (inherits(cond, "condition")) { [13:14:02.191] if (!is.null(pattern)) { [13:14:02.191] computeRestarts <- base::computeRestarts [13:14:02.191] grepl <- base::grepl [13:14:02.191] restarts <- computeRestarts(cond) [13:14:02.191] for (restart in restarts) { [13:14:02.191] name <- restart$name [13:14:02.191] if (is.null(name)) [13:14:02.191] next [13:14:02.191] if (!grepl(pattern, name)) [13:14:02.191] next [13:14:02.191] invokeRestart(restart) [13:14:02.191] muffled <- TRUE [13:14:02.191] break [13:14:02.191] } [13:14:02.191] } [13:14:02.191] } [13:14:02.191] invisible(muffled) [13:14:02.191] } [13:14:02.191] muffleCondition(cond, pattern = "^muffle") [13:14:02.191] } [13:14:02.191] } [13:14:02.191] else { [13:14:02.191] if (TRUE) { [13:14:02.191] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.191] { [13:14:02.191] inherits <- base::inherits [13:14:02.191] invokeRestart <- base::invokeRestart [13:14:02.191] is.null <- base::is.null [13:14:02.191] muffled <- FALSE [13:14:02.191] if (inherits(cond, "message")) { [13:14:02.191] muffled <- grepl(pattern, "muffleMessage") [13:14:02.191] if (muffled) [13:14:02.191] invokeRestart("muffleMessage") [13:14:02.191] } [13:14:02.191] else if (inherits(cond, "warning")) { [13:14:02.191] muffled <- grepl(pattern, "muffleWarning") [13:14:02.191] if (muffled) [13:14:02.191] invokeRestart("muffleWarning") [13:14:02.191] } [13:14:02.191] else if (inherits(cond, "condition")) { [13:14:02.191] if (!is.null(pattern)) { [13:14:02.191] computeRestarts <- base::computeRestarts [13:14:02.191] grepl <- base::grepl [13:14:02.191] restarts <- computeRestarts(cond) [13:14:02.191] for (restart in restarts) { [13:14:02.191] name <- restart$name [13:14:02.191] if (is.null(name)) [13:14:02.191] next [13:14:02.191] if (!grepl(pattern, name)) [13:14:02.191] next [13:14:02.191] invokeRestart(restart) [13:14:02.191] muffled <- TRUE [13:14:02.191] break [13:14:02.191] } [13:14:02.191] } [13:14:02.191] } [13:14:02.191] invisible(muffled) [13:14:02.191] } [13:14:02.191] muffleCondition(cond, pattern = "^muffle") [13:14:02.191] } [13:14:02.191] } [13:14:02.191] } [13:14:02.191] })) [13:14:02.191] }, error = function(ex) { [13:14:02.191] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.191] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.191] ...future.rng), started = ...future.startTime, [13:14:02.191] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.191] version = "1.8"), class = "FutureResult") [13:14:02.191] }, finally = { [13:14:02.191] if (!identical(...future.workdir, getwd())) [13:14:02.191] setwd(...future.workdir) [13:14:02.191] { [13:14:02.191] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.191] ...future.oldOptions$nwarnings <- NULL [13:14:02.191] } [13:14:02.191] base::options(...future.oldOptions) [13:14:02.191] if (.Platform$OS.type == "windows") { [13:14:02.191] old_names <- names(...future.oldEnvVars) [13:14:02.191] envs <- base::Sys.getenv() [13:14:02.191] names <- names(envs) [13:14:02.191] common <- intersect(names, old_names) [13:14:02.191] added <- setdiff(names, old_names) [13:14:02.191] removed <- setdiff(old_names, names) [13:14:02.191] changed <- common[...future.oldEnvVars[common] != [13:14:02.191] envs[common]] [13:14:02.191] NAMES <- toupper(changed) [13:14:02.191] args <- list() [13:14:02.191] for (kk in seq_along(NAMES)) { [13:14:02.191] name <- changed[[kk]] [13:14:02.191] NAME <- NAMES[[kk]] [13:14:02.191] if (name != NAME && is.element(NAME, old_names)) [13:14:02.191] next [13:14:02.191] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.191] } [13:14:02.191] NAMES <- toupper(added) [13:14:02.191] for (kk in seq_along(NAMES)) { [13:14:02.191] name <- added[[kk]] [13:14:02.191] NAME <- NAMES[[kk]] [13:14:02.191] if (name != NAME && is.element(NAME, old_names)) [13:14:02.191] next [13:14:02.191] args[[name]] <- "" [13:14:02.191] } [13:14:02.191] NAMES <- toupper(removed) [13:14:02.191] for (kk in seq_along(NAMES)) { [13:14:02.191] name <- removed[[kk]] [13:14:02.191] NAME <- NAMES[[kk]] [13:14:02.191] if (name != NAME && is.element(NAME, old_names)) [13:14:02.191] next [13:14:02.191] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.191] } [13:14:02.191] if (length(args) > 0) [13:14:02.191] base::do.call(base::Sys.setenv, args = args) [13:14:02.191] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.191] } [13:14:02.191] else { [13:14:02.191] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.191] } [13:14:02.191] { [13:14:02.191] if (base::length(...future.futureOptionsAdded) > [13:14:02.191] 0L) { [13:14:02.191] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.191] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.191] base::options(opts) [13:14:02.191] } [13:14:02.191] { [13:14:02.191] { [13:14:02.191] NULL [13:14:02.191] RNGkind("Mersenne-Twister") [13:14:02.191] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.191] inherits = FALSE) [13:14:02.191] } [13:14:02.191] options(future.plan = NULL) [13:14:02.191] if (is.na(NA_character_)) [13:14:02.191] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.191] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.191] future::plan(list(function (..., envir = parent.frame()) [13:14:02.191] { [13:14:02.191] future <- SequentialFuture(..., envir = envir) [13:14:02.191] if (!future$lazy) [13:14:02.191] future <- run(future) [13:14:02.191] invisible(future) [13:14:02.191] }), .cleanup = FALSE, .init = FALSE) [13:14:02.191] } [13:14:02.191] } [13:14:02.191] } [13:14:02.191] }) [13:14:02.191] if (TRUE) { [13:14:02.191] base::sink(type = "output", split = FALSE) [13:14:02.191] if (TRUE) { [13:14:02.191] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.191] } [13:14:02.191] else { [13:14:02.191] ...future.result["stdout"] <- base::list(NULL) [13:14:02.191] } [13:14:02.191] base::close(...future.stdout) [13:14:02.191] ...future.stdout <- NULL [13:14:02.191] } [13:14:02.191] ...future.result$conditions <- ...future.conditions [13:14:02.191] ...future.result$finished <- base::Sys.time() [13:14:02.191] ...future.result [13:14:02.191] } [13:14:02.194] assign_globals() ... [13:14:02.194] List of 5 [13:14:02.194] $ ...future.FUN :function (x) [13:14:02.194] $ future.call.arguments : list() [13:14:02.194] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.194] $ ...future.elements_ii :List of 3 [13:14:02.194] ..$ : chr "a" [13:14:02.194] ..$ : chr "b" [13:14:02.194] ..$ : chr "c" [13:14:02.194] $ ...future.seeds_ii : NULL [13:14:02.194] $ ...future.globals.maxSize: NULL [13:14:02.194] - attr(*, "where")=List of 5 [13:14:02.194] ..$ ...future.FUN : [13:14:02.194] ..$ future.call.arguments : [13:14:02.194] ..$ ...future.elements_ii : [13:14:02.194] ..$ ...future.seeds_ii : [13:14:02.194] ..$ ...future.globals.maxSize: [13:14:02.194] - attr(*, "resolved")= logi FALSE [13:14:02.194] - attr(*, "total_size")= num 848 [13:14:02.194] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.194] - attr(*, "already-done")= logi TRUE [13:14:02.200] - copied '...future.FUN' to environment [13:14:02.200] - copied 'future.call.arguments' to environment [13:14:02.200] - copied '...future.elements_ii' to environment [13:14:02.200] - copied '...future.seeds_ii' to environment [13:14:02.200] - copied '...future.globals.maxSize' to environment [13:14:02.200] assign_globals() ... done [13:14:02.201] plan(): Setting new future strategy stack: [13:14:02.201] List of future strategies: [13:14:02.201] 1. sequential: [13:14:02.201] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.201] - tweaked: FALSE [13:14:02.201] - call: NULL [13:14:02.201] plan(): nbrOfWorkers() = 1 [13:14:02.202] plan(): Setting new future strategy stack: [13:14:02.202] List of future strategies: [13:14:02.202] 1. sequential: [13:14:02.202] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.202] - tweaked: FALSE [13:14:02.202] - call: plan(strategy) [13:14:02.203] plan(): nbrOfWorkers() = 1 [13:14:02.203] SequentialFuture started (and completed) [13:14:02.203] - Launch lazy future ... done [13:14:02.203] run() for 'SequentialFuture' ... done [13:14:02.205] Created future: [13:14:02.205] SequentialFuture: [13:14:02.205] Label: 'future_sapply-1' [13:14:02.205] Expression: [13:14:02.205] { [13:14:02.205] do.call(function(...) { [13:14:02.205] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.205] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.205] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.205] on.exit(options(oopts), add = TRUE) [13:14:02.205] } [13:14:02.205] { [13:14:02.205] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.205] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.205] ...future.FUN(...future.X_jj, ...) [13:14:02.205] }) [13:14:02.205] } [13:14:02.205] }, args = future.call.arguments) [13:14:02.205] } [13:14:02.205] Lazy evaluation: FALSE [13:14:02.205] Asynchronous evaluation: FALSE [13:14:02.205] Local evaluation: TRUE [13:14:02.205] Environment: R_GlobalEnv [13:14:02.205] Capture standard output: TRUE [13:14:02.205] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.205] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.205] Packages: [13:14:02.205] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.205] Resolved: TRUE [13:14:02.205] Value: 336 bytes of class 'list' [13:14:02.205] Early signaling: FALSE [13:14:02.205] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.205] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.206] Chunk #1 of 1 ... DONE [13:14:02.206] Launching 1 futures (chunks) ... DONE [13:14:02.206] Resolving 1 futures (chunks) ... [13:14:02.206] resolve() on list ... [13:14:02.206] recursive: 0 [13:14:02.207] length: 1 [13:14:02.207] [13:14:02.207] resolved() for 'SequentialFuture' ... [13:14:02.207] - state: 'finished' [13:14:02.207] - run: TRUE [13:14:02.207] - result: 'FutureResult' [13:14:02.207] resolved() for 'SequentialFuture' ... done [13:14:02.208] Future #1 [13:14:02.208] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.208] - nx: 1 [13:14:02.208] - relay: TRUE [13:14:02.208] - stdout: TRUE [13:14:02.208] - signal: TRUE [13:14:02.208] - resignal: FALSE [13:14:02.208] - force: TRUE [13:14:02.209] - relayed: [n=1] FALSE [13:14:02.209] - queued futures: [n=1] FALSE [13:14:02.209] - until=1 [13:14:02.209] - relaying element #1 [13:14:02.209] - relayed: [n=1] TRUE [13:14:02.209] - queued futures: [n=1] TRUE [13:14:02.209] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.210] length: 0 (resolved future 1) [13:14:02.210] Relaying remaining futures [13:14:02.210] signalConditionsASAP(NULL, pos=0) ... [13:14:02.210] - nx: 1 [13:14:02.210] - relay: TRUE [13:14:02.210] - stdout: TRUE [13:14:02.210] - signal: TRUE [13:14:02.210] - resignal: FALSE [13:14:02.211] - force: TRUE [13:14:02.211] - relayed: [n=1] TRUE [13:14:02.211] - queued futures: [n=1] TRUE - flush all [13:14:02.211] - relayed: [n=1] TRUE [13:14:02.211] - queued futures: [n=1] TRUE [13:14:02.211] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.211] resolve() on list ... DONE [13:14:02.212] - Number of value chunks collected: 1 [13:14:02.212] Resolving 1 futures (chunks) ... DONE [13:14:02.212] Reducing values from 1 chunks ... [13:14:02.212] - Number of values collected after concatenation: 3 [13:14:02.212] - Number of values expected: 3 [13:14:02.212] Reducing values from 1 chunks ... DONE [13:14:02.212] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:02.213] future_lapply() ... [13:14:02.214] Number of chunks: 1 [13:14:02.214] getGlobalsAndPackagesXApply() ... [13:14:02.214] - future.globals: TRUE [13:14:02.214] getGlobalsAndPackages() ... [13:14:02.214] Searching for globals... [13:14:02.215] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.216] Searching for globals ... DONE [13:14:02.216] Resolving globals: FALSE [13:14:02.216] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.216] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.217] - globals: [1] 'FUN' [13:14:02.217] [13:14:02.217] getGlobalsAndPackages() ... DONE [13:14:02.217] - globals found/used: [n=1] 'FUN' [13:14:02.217] - needed namespaces: [n=0] [13:14:02.217] Finding globals ... DONE [13:14:02.217] - use_args: TRUE [13:14:02.218] - Getting '...' globals ... [13:14:02.218] resolve() on list ... [13:14:02.218] recursive: 0 [13:14:02.218] length: 1 [13:14:02.218] elements: '...' [13:14:02.218] length: 0 (resolved future 1) [13:14:02.219] resolve() on list ... DONE [13:14:02.219] - '...' content: [n=0] [13:14:02.219] List of 1 [13:14:02.219] $ ...: list() [13:14:02.219] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.219] - attr(*, "where")=List of 1 [13:14:02.219] ..$ ...: [13:14:02.219] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.219] - attr(*, "resolved")= logi TRUE [13:14:02.219] - attr(*, "total_size")= num NA [13:14:02.221] - Getting '...' globals ... DONE [13:14:02.221] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.222] List of 2 [13:14:02.222] $ ...future.FUN:function (x, ...) [13:14:02.222] $ ... : list() [13:14:02.222] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.222] - attr(*, "where")=List of 2 [13:14:02.222] ..$ ...future.FUN: [13:14:02.222] ..$ ... : [13:14:02.222] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.222] - attr(*, "resolved")= logi FALSE [13:14:02.222] - attr(*, "total_size")= num 1248 [13:14:02.225] Packages to be attached in all futures: [n=0] [13:14:02.225] getGlobalsAndPackagesXApply() ... DONE [13:14:02.225] Number of futures (= number of chunks): 1 [13:14:02.226] Launching 1 futures (chunks) ... [13:14:02.226] Chunk #1 of 1 ... [13:14:02.226] - Finding globals in 'X' for chunk #1 ... [13:14:02.226] getGlobalsAndPackages() ... [13:14:02.226] Searching for globals... [13:14:02.226] [13:14:02.227] Searching for globals ... DONE [13:14:02.227] - globals: [0] [13:14:02.227] getGlobalsAndPackages() ... DONE [13:14:02.227] + additional globals found: [n=0] [13:14:02.227] + additional namespaces needed: [n=0] [13:14:02.227] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.227] - seeds: [13:14:02.228] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.228] getGlobalsAndPackages() ... [13:14:02.228] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.228] Resolving globals: FALSE [13:14:02.228] Tweak future expression to call with '...' arguments ... [13:14:02.228] { [13:14:02.228] do.call(function(...) { [13:14:02.228] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.228] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.228] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.228] on.exit(options(oopts), add = TRUE) [13:14:02.228] } [13:14:02.228] { [13:14:02.228] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.228] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.228] ...future.FUN(...future.X_jj, ...) [13:14:02.228] }) [13:14:02.228] } [13:14:02.228] }, args = future.call.arguments) [13:14:02.228] } [13:14:02.229] Tweak future expression to call with '...' arguments ... DONE [13:14:02.229] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.229] [13:14:02.229] getGlobalsAndPackages() ... DONE [13:14:02.230] run() for 'Future' ... [13:14:02.230] - state: 'created' [13:14:02.230] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.230] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.231] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.231] - Field: 'label' [13:14:02.231] - Field: 'local' [13:14:02.231] - Field: 'owner' [13:14:02.231] - Field: 'envir' [13:14:02.231] - Field: 'packages' [13:14:02.231] - Field: 'gc' [13:14:02.232] - Field: 'conditions' [13:14:02.232] - Field: 'expr' [13:14:02.232] - Field: 'uuid' [13:14:02.232] - Field: 'seed' [13:14:02.232] - Field: 'version' [13:14:02.232] - Field: 'result' [13:14:02.233] - Field: 'asynchronous' [13:14:02.233] - Field: 'calls' [13:14:02.233] - Field: 'globals' [13:14:02.233] - Field: 'stdout' [13:14:02.233] - Field: 'earlySignal' [13:14:02.233] - Field: 'lazy' [13:14:02.233] - Field: 'state' [13:14:02.234] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.234] - Launch lazy future ... [13:14:02.234] Packages needed by the future expression (n = 0): [13:14:02.234] Packages needed by future strategies (n = 0): [13:14:02.235] { [13:14:02.235] { [13:14:02.235] { [13:14:02.235] ...future.startTime <- base::Sys.time() [13:14:02.235] { [13:14:02.235] { [13:14:02.235] { [13:14:02.235] base::local({ [13:14:02.235] has_future <- base::requireNamespace("future", [13:14:02.235] quietly = TRUE) [13:14:02.235] if (has_future) { [13:14:02.235] ns <- base::getNamespace("future") [13:14:02.235] version <- ns[[".package"]][["version"]] [13:14:02.235] if (is.null(version)) [13:14:02.235] version <- utils::packageVersion("future") [13:14:02.235] } [13:14:02.235] else { [13:14:02.235] version <- NULL [13:14:02.235] } [13:14:02.235] if (!has_future || version < "1.8.0") { [13:14:02.235] info <- base::c(r_version = base::gsub("R version ", [13:14:02.235] "", base::R.version$version.string), [13:14:02.235] platform = base::sprintf("%s (%s-bit)", [13:14:02.235] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.235] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.235] "release", "version")], collapse = " "), [13:14:02.235] hostname = base::Sys.info()[["nodename"]]) [13:14:02.235] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.235] info) [13:14:02.235] info <- base::paste(info, collapse = "; ") [13:14:02.235] if (!has_future) { [13:14:02.235] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.235] info) [13:14:02.235] } [13:14:02.235] else { [13:14:02.235] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.235] info, version) [13:14:02.235] } [13:14:02.235] base::stop(msg) [13:14:02.235] } [13:14:02.235] }) [13:14:02.235] } [13:14:02.235] options(future.plan = NULL) [13:14:02.235] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.235] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.235] } [13:14:02.235] ...future.workdir <- getwd() [13:14:02.235] } [13:14:02.235] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.235] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.235] } [13:14:02.235] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.235] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.235] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.235] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.235] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.235] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.235] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.235] base::names(...future.oldOptions)) [13:14:02.235] } [13:14:02.235] if (FALSE) { [13:14:02.235] } [13:14:02.235] else { [13:14:02.235] if (TRUE) { [13:14:02.235] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.235] open = "w") [13:14:02.235] } [13:14:02.235] else { [13:14:02.235] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.235] windows = "NUL", "/dev/null"), open = "w") [13:14:02.235] } [13:14:02.235] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.235] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.235] base::sink(type = "output", split = FALSE) [13:14:02.235] base::close(...future.stdout) [13:14:02.235] }, add = TRUE) [13:14:02.235] } [13:14:02.235] ...future.frame <- base::sys.nframe() [13:14:02.235] ...future.conditions <- base::list() [13:14:02.235] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.235] if (FALSE) { [13:14:02.235] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.235] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.235] } [13:14:02.235] ...future.result <- base::tryCatch({ [13:14:02.235] base::withCallingHandlers({ [13:14:02.235] ...future.value <- base::withVisible(base::local({ [13:14:02.235] do.call(function(...) { [13:14:02.235] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.235] if (!identical(...future.globals.maxSize.org, [13:14:02.235] ...future.globals.maxSize)) { [13:14:02.235] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.235] on.exit(options(oopts), add = TRUE) [13:14:02.235] } [13:14:02.235] { [13:14:02.235] lapply(seq_along(...future.elements_ii), [13:14:02.235] FUN = function(jj) { [13:14:02.235] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.235] ...future.FUN(...future.X_jj, ...) [13:14:02.235] }) [13:14:02.235] } [13:14:02.235] }, args = future.call.arguments) [13:14:02.235] })) [13:14:02.235] future::FutureResult(value = ...future.value$value, [13:14:02.235] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.235] ...future.rng), globalenv = if (FALSE) [13:14:02.235] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.235] ...future.globalenv.names)) [13:14:02.235] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.235] }, condition = base::local({ [13:14:02.235] c <- base::c [13:14:02.235] inherits <- base::inherits [13:14:02.235] invokeRestart <- base::invokeRestart [13:14:02.235] length <- base::length [13:14:02.235] list <- base::list [13:14:02.235] seq.int <- base::seq.int [13:14:02.235] signalCondition <- base::signalCondition [13:14:02.235] sys.calls <- base::sys.calls [13:14:02.235] `[[` <- base::`[[` [13:14:02.235] `+` <- base::`+` [13:14:02.235] `<<-` <- base::`<<-` [13:14:02.235] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.235] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.235] 3L)] [13:14:02.235] } [13:14:02.235] function(cond) { [13:14:02.235] is_error <- inherits(cond, "error") [13:14:02.235] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.235] NULL) [13:14:02.235] if (is_error) { [13:14:02.235] sessionInformation <- function() { [13:14:02.235] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.235] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.235] search = base::search(), system = base::Sys.info()) [13:14:02.235] } [13:14:02.235] ...future.conditions[[length(...future.conditions) + [13:14:02.235] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.235] cond$call), session = sessionInformation(), [13:14:02.235] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.235] signalCondition(cond) [13:14:02.235] } [13:14:02.235] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.235] "immediateCondition"))) { [13:14:02.235] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.235] ...future.conditions[[length(...future.conditions) + [13:14:02.235] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.235] if (TRUE && !signal) { [13:14:02.235] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.235] { [13:14:02.235] inherits <- base::inherits [13:14:02.235] invokeRestart <- base::invokeRestart [13:14:02.235] is.null <- base::is.null [13:14:02.235] muffled <- FALSE [13:14:02.235] if (inherits(cond, "message")) { [13:14:02.235] muffled <- grepl(pattern, "muffleMessage") [13:14:02.235] if (muffled) [13:14:02.235] invokeRestart("muffleMessage") [13:14:02.235] } [13:14:02.235] else if (inherits(cond, "warning")) { [13:14:02.235] muffled <- grepl(pattern, "muffleWarning") [13:14:02.235] if (muffled) [13:14:02.235] invokeRestart("muffleWarning") [13:14:02.235] } [13:14:02.235] else if (inherits(cond, "condition")) { [13:14:02.235] if (!is.null(pattern)) { [13:14:02.235] computeRestarts <- base::computeRestarts [13:14:02.235] grepl <- base::grepl [13:14:02.235] restarts <- computeRestarts(cond) [13:14:02.235] for (restart in restarts) { [13:14:02.235] name <- restart$name [13:14:02.235] if (is.null(name)) [13:14:02.235] next [13:14:02.235] if (!grepl(pattern, name)) [13:14:02.235] next [13:14:02.235] invokeRestart(restart) [13:14:02.235] muffled <- TRUE [13:14:02.235] break [13:14:02.235] } [13:14:02.235] } [13:14:02.235] } [13:14:02.235] invisible(muffled) [13:14:02.235] } [13:14:02.235] muffleCondition(cond, pattern = "^muffle") [13:14:02.235] } [13:14:02.235] } [13:14:02.235] else { [13:14:02.235] if (TRUE) { [13:14:02.235] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.235] { [13:14:02.235] inherits <- base::inherits [13:14:02.235] invokeRestart <- base::invokeRestart [13:14:02.235] is.null <- base::is.null [13:14:02.235] muffled <- FALSE [13:14:02.235] if (inherits(cond, "message")) { [13:14:02.235] muffled <- grepl(pattern, "muffleMessage") [13:14:02.235] if (muffled) [13:14:02.235] invokeRestart("muffleMessage") [13:14:02.235] } [13:14:02.235] else if (inherits(cond, "warning")) { [13:14:02.235] muffled <- grepl(pattern, "muffleWarning") [13:14:02.235] if (muffled) [13:14:02.235] invokeRestart("muffleWarning") [13:14:02.235] } [13:14:02.235] else if (inherits(cond, "condition")) { [13:14:02.235] if (!is.null(pattern)) { [13:14:02.235] computeRestarts <- base::computeRestarts [13:14:02.235] grepl <- base::grepl [13:14:02.235] restarts <- computeRestarts(cond) [13:14:02.235] for (restart in restarts) { [13:14:02.235] name <- restart$name [13:14:02.235] if (is.null(name)) [13:14:02.235] next [13:14:02.235] if (!grepl(pattern, name)) [13:14:02.235] next [13:14:02.235] invokeRestart(restart) [13:14:02.235] muffled <- TRUE [13:14:02.235] break [13:14:02.235] } [13:14:02.235] } [13:14:02.235] } [13:14:02.235] invisible(muffled) [13:14:02.235] } [13:14:02.235] muffleCondition(cond, pattern = "^muffle") [13:14:02.235] } [13:14:02.235] } [13:14:02.235] } [13:14:02.235] })) [13:14:02.235] }, error = function(ex) { [13:14:02.235] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.235] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.235] ...future.rng), started = ...future.startTime, [13:14:02.235] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.235] version = "1.8"), class = "FutureResult") [13:14:02.235] }, finally = { [13:14:02.235] if (!identical(...future.workdir, getwd())) [13:14:02.235] setwd(...future.workdir) [13:14:02.235] { [13:14:02.235] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.235] ...future.oldOptions$nwarnings <- NULL [13:14:02.235] } [13:14:02.235] base::options(...future.oldOptions) [13:14:02.235] if (.Platform$OS.type == "windows") { [13:14:02.235] old_names <- names(...future.oldEnvVars) [13:14:02.235] envs <- base::Sys.getenv() [13:14:02.235] names <- names(envs) [13:14:02.235] common <- intersect(names, old_names) [13:14:02.235] added <- setdiff(names, old_names) [13:14:02.235] removed <- setdiff(old_names, names) [13:14:02.235] changed <- common[...future.oldEnvVars[common] != [13:14:02.235] envs[common]] [13:14:02.235] NAMES <- toupper(changed) [13:14:02.235] args <- list() [13:14:02.235] for (kk in seq_along(NAMES)) { [13:14:02.235] name <- changed[[kk]] [13:14:02.235] NAME <- NAMES[[kk]] [13:14:02.235] if (name != NAME && is.element(NAME, old_names)) [13:14:02.235] next [13:14:02.235] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.235] } [13:14:02.235] NAMES <- toupper(added) [13:14:02.235] for (kk in seq_along(NAMES)) { [13:14:02.235] name <- added[[kk]] [13:14:02.235] NAME <- NAMES[[kk]] [13:14:02.235] if (name != NAME && is.element(NAME, old_names)) [13:14:02.235] next [13:14:02.235] args[[name]] <- "" [13:14:02.235] } [13:14:02.235] NAMES <- toupper(removed) [13:14:02.235] for (kk in seq_along(NAMES)) { [13:14:02.235] name <- removed[[kk]] [13:14:02.235] NAME <- NAMES[[kk]] [13:14:02.235] if (name != NAME && is.element(NAME, old_names)) [13:14:02.235] next [13:14:02.235] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.235] } [13:14:02.235] if (length(args) > 0) [13:14:02.235] base::do.call(base::Sys.setenv, args = args) [13:14:02.235] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.235] } [13:14:02.235] else { [13:14:02.235] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.235] } [13:14:02.235] { [13:14:02.235] if (base::length(...future.futureOptionsAdded) > [13:14:02.235] 0L) { [13:14:02.235] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.235] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.235] base::options(opts) [13:14:02.235] } [13:14:02.235] { [13:14:02.235] { [13:14:02.235] NULL [13:14:02.235] RNGkind("Mersenne-Twister") [13:14:02.235] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.235] inherits = FALSE) [13:14:02.235] } [13:14:02.235] options(future.plan = NULL) [13:14:02.235] if (is.na(NA_character_)) [13:14:02.235] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.235] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.235] future::plan(list(function (..., envir = parent.frame()) [13:14:02.235] { [13:14:02.235] future <- SequentialFuture(..., envir = envir) [13:14:02.235] if (!future$lazy) [13:14:02.235] future <- run(future) [13:14:02.235] invisible(future) [13:14:02.235] }), .cleanup = FALSE, .init = FALSE) [13:14:02.235] } [13:14:02.235] } [13:14:02.235] } [13:14:02.235] }) [13:14:02.235] if (TRUE) { [13:14:02.235] base::sink(type = "output", split = FALSE) [13:14:02.235] if (TRUE) { [13:14:02.235] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.235] } [13:14:02.235] else { [13:14:02.235] ...future.result["stdout"] <- base::list(NULL) [13:14:02.235] } [13:14:02.235] base::close(...future.stdout) [13:14:02.235] ...future.stdout <- NULL [13:14:02.235] } [13:14:02.235] ...future.result$conditions <- ...future.conditions [13:14:02.235] ...future.result$finished <- base::Sys.time() [13:14:02.235] ...future.result [13:14:02.235] } [13:14:02.238] assign_globals() ... [13:14:02.238] List of 5 [13:14:02.238] $ ...future.FUN :function (x, ...) [13:14:02.238] $ future.call.arguments : list() [13:14:02.238] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.238] $ ...future.elements_ii :List of 3 [13:14:02.238] ..$ : chr "a" [13:14:02.238] ..$ : chr "b" [13:14:02.238] ..$ : chr "c" [13:14:02.238] $ ...future.seeds_ii : NULL [13:14:02.238] $ ...future.globals.maxSize: NULL [13:14:02.238] - attr(*, "where")=List of 5 [13:14:02.238] ..$ ...future.FUN : [13:14:02.238] ..$ future.call.arguments : [13:14:02.238] ..$ ...future.elements_ii : [13:14:02.238] ..$ ...future.seeds_ii : [13:14:02.238] ..$ ...future.globals.maxSize: [13:14:02.238] - attr(*, "resolved")= logi FALSE [13:14:02.238] - attr(*, "total_size")= num 1248 [13:14:02.238] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.238] - attr(*, "already-done")= logi TRUE [13:14:02.243] - copied '...future.FUN' to environment [13:14:02.243] - copied 'future.call.arguments' to environment [13:14:02.243] - copied '...future.elements_ii' to environment [13:14:02.243] - copied '...future.seeds_ii' to environment [13:14:02.243] - copied '...future.globals.maxSize' to environment [13:14:02.244] assign_globals() ... done [13:14:02.244] plan(): Setting new future strategy stack: [13:14:02.244] List of future strategies: [13:14:02.244] 1. sequential: [13:14:02.244] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.244] - tweaked: FALSE [13:14:02.244] - call: NULL [13:14:02.245] plan(): nbrOfWorkers() = 1 [13:14:02.246] plan(): Setting new future strategy stack: [13:14:02.246] List of future strategies: [13:14:02.246] 1. sequential: [13:14:02.246] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.246] - tweaked: FALSE [13:14:02.246] - call: plan(strategy) [13:14:02.246] plan(): nbrOfWorkers() = 1 [13:14:02.246] SequentialFuture started (and completed) [13:14:02.247] - Launch lazy future ... done [13:14:02.247] run() for 'SequentialFuture' ... done [13:14:02.247] Created future: [13:14:02.247] SequentialFuture: [13:14:02.247] Label: 'future_sapply-1' [13:14:02.247] Expression: [13:14:02.247] { [13:14:02.247] do.call(function(...) { [13:14:02.247] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.247] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.247] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.247] on.exit(options(oopts), add = TRUE) [13:14:02.247] } [13:14:02.247] { [13:14:02.247] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.247] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.247] ...future.FUN(...future.X_jj, ...) [13:14:02.247] }) [13:14:02.247] } [13:14:02.247] }, args = future.call.arguments) [13:14:02.247] } [13:14:02.247] Lazy evaluation: FALSE [13:14:02.247] Asynchronous evaluation: FALSE [13:14:02.247] Local evaluation: TRUE [13:14:02.247] Environment: R_GlobalEnv [13:14:02.247] Capture standard output: TRUE [13:14:02.247] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.247] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.247] Packages: [13:14:02.247] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.247] Resolved: TRUE [13:14:02.247] Value: 840 bytes of class 'list' [13:14:02.247] Early signaling: FALSE [13:14:02.247] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.247] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.248] Chunk #1 of 1 ... DONE [13:14:02.248] Launching 1 futures (chunks) ... DONE [13:14:02.248] Resolving 1 futures (chunks) ... [13:14:02.249] resolve() on list ... [13:14:02.249] recursive: 0 [13:14:02.249] length: 1 [13:14:02.250] [13:14:02.250] resolved() for 'SequentialFuture' ... [13:14:02.250] - state: 'finished' [13:14:02.250] - run: TRUE [13:14:02.250] - result: 'FutureResult' [13:14:02.251] resolved() for 'SequentialFuture' ... done [13:14:02.251] Future #1 [13:14:02.251] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.251] - nx: 1 [13:14:02.251] - relay: TRUE [13:14:02.251] - stdout: TRUE [13:14:02.251] - signal: TRUE [13:14:02.252] - resignal: FALSE [13:14:02.252] - force: TRUE [13:14:02.252] - relayed: [n=1] FALSE [13:14:02.252] - queued futures: [n=1] FALSE [13:14:02.252] - until=1 [13:14:02.252] - relaying element #1 [13:14:02.252] - relayed: [n=1] TRUE [13:14:02.253] - queued futures: [n=1] TRUE [13:14:02.253] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.253] length: 0 (resolved future 1) [13:14:02.253] Relaying remaining futures [13:14:02.253] signalConditionsASAP(NULL, pos=0) ... [13:14:02.253] - nx: 1 [13:14:02.253] - relay: TRUE [13:14:02.253] - stdout: TRUE [13:14:02.254] - signal: TRUE [13:14:02.254] - resignal: FALSE [13:14:02.254] - force: TRUE [13:14:02.254] - relayed: [n=1] TRUE [13:14:02.254] - queued futures: [n=1] TRUE - flush all [13:14:02.254] - relayed: [n=1] TRUE [13:14:02.254] - queued futures: [n=1] TRUE [13:14:02.255] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.255] resolve() on list ... DONE [13:14:02.255] - Number of value chunks collected: 1 [13:14:02.255] Resolving 1 futures (chunks) ... DONE [13:14:02.255] Reducing values from 1 chunks ... [13:14:02.255] - Number of values collected after concatenation: 3 [13:14:02.255] - Number of values expected: 3 [13:14:02.255] Reducing values from 1 chunks ... DONE [13:14:02.256] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:02.257] future_lapply() ... [13:14:02.257] Number of chunks: 1 [13:14:02.257] getGlobalsAndPackagesXApply() ... [13:14:02.257] - future.globals: TRUE [13:14:02.257] getGlobalsAndPackages() ... [13:14:02.258] Searching for globals... [13:14:02.259] - globals found: [1] 'FUN' [13:14:02.259] Searching for globals ... DONE [13:14:02.259] Resolving globals: FALSE [13:14:02.259] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.259] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.260] - globals: [1] 'FUN' [13:14:02.260] [13:14:02.260] getGlobalsAndPackages() ... DONE [13:14:02.260] - globals found/used: [n=1] 'FUN' [13:14:02.260] - needed namespaces: [n=0] [13:14:02.260] Finding globals ... DONE [13:14:02.260] - use_args: TRUE [13:14:02.260] - Getting '...' globals ... [13:14:02.261] resolve() on list ... [13:14:02.261] recursive: 0 [13:14:02.261] length: 1 [13:14:02.261] elements: '...' [13:14:02.261] length: 0 (resolved future 1) [13:14:02.262] resolve() on list ... DONE [13:14:02.262] - '...' content: [n=0] [13:14:02.262] List of 1 [13:14:02.262] $ ...: list() [13:14:02.262] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.262] - attr(*, "where")=List of 1 [13:14:02.262] ..$ ...: [13:14:02.262] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.262] - attr(*, "resolved")= logi TRUE [13:14:02.262] - attr(*, "total_size")= num NA [13:14:02.264] - Getting '...' globals ... DONE [13:14:02.264] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.265] List of 2 [13:14:02.265] $ ...future.FUN:function (x) [13:14:02.265] $ ... : list() [13:14:02.265] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.265] - attr(*, "where")=List of 2 [13:14:02.265] ..$ ...future.FUN: [13:14:02.265] ..$ ... : [13:14:02.265] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.265] - attr(*, "resolved")= logi FALSE [13:14:02.265] - attr(*, "total_size")= num 848 [13:14:02.267] Packages to be attached in all futures: [n=0] [13:14:02.267] getGlobalsAndPackagesXApply() ... DONE [13:14:02.267] Number of futures (= number of chunks): 1 [13:14:02.268] Launching 1 futures (chunks) ... [13:14:02.268] Chunk #1 of 1 ... [13:14:02.268] - Finding globals in 'X' for chunk #1 ... [13:14:02.268] getGlobalsAndPackages() ... [13:14:02.268] Searching for globals... [13:14:02.268] [13:14:02.268] Searching for globals ... DONE [13:14:02.269] - globals: [0] [13:14:02.269] getGlobalsAndPackages() ... DONE [13:14:02.269] + additional globals found: [n=0] [13:14:02.269] + additional namespaces needed: [n=0] [13:14:02.270] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.270] - seeds: [13:14:02.270] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.270] getGlobalsAndPackages() ... [13:14:02.270] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.271] Resolving globals: FALSE [13:14:02.271] Tweak future expression to call with '...' arguments ... [13:14:02.271] { [13:14:02.271] do.call(function(...) { [13:14:02.271] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.271] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.271] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.271] on.exit(options(oopts), add = TRUE) [13:14:02.271] } [13:14:02.271] { [13:14:02.271] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.271] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.271] ...future.FUN(...future.X_jj, ...) [13:14:02.271] }) [13:14:02.271] } [13:14:02.271] }, args = future.call.arguments) [13:14:02.271] } [13:14:02.271] Tweak future expression to call with '...' arguments ... DONE [13:14:02.272] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.272] [13:14:02.272] getGlobalsAndPackages() ... DONE [13:14:02.272] run() for 'Future' ... [13:14:02.272] - state: 'created' [13:14:02.272] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.273] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.273] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.273] - Field: 'label' [13:14:02.273] - Field: 'local' [13:14:02.273] - Field: 'owner' [13:14:02.274] - Field: 'envir' [13:14:02.274] - Field: 'packages' [13:14:02.274] - Field: 'gc' [13:14:02.274] - Field: 'conditions' [13:14:02.274] - Field: 'expr' [13:14:02.274] - Field: 'uuid' [13:14:02.274] - Field: 'seed' [13:14:02.274] - Field: 'version' [13:14:02.275] - Field: 'result' [13:14:02.275] - Field: 'asynchronous' [13:14:02.275] - Field: 'calls' [13:14:02.275] - Field: 'globals' [13:14:02.275] - Field: 'stdout' [13:14:02.275] - Field: 'earlySignal' [13:14:02.275] - Field: 'lazy' [13:14:02.276] - Field: 'state' [13:14:02.276] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.276] - Launch lazy future ... [13:14:02.276] Packages needed by the future expression (n = 0): [13:14:02.276] Packages needed by future strategies (n = 0): [13:14:02.277] { [13:14:02.277] { [13:14:02.277] { [13:14:02.277] ...future.startTime <- base::Sys.time() [13:14:02.277] { [13:14:02.277] { [13:14:02.277] { [13:14:02.277] base::local({ [13:14:02.277] has_future <- base::requireNamespace("future", [13:14:02.277] quietly = TRUE) [13:14:02.277] if (has_future) { [13:14:02.277] ns <- base::getNamespace("future") [13:14:02.277] version <- ns[[".package"]][["version"]] [13:14:02.277] if (is.null(version)) [13:14:02.277] version <- utils::packageVersion("future") [13:14:02.277] } [13:14:02.277] else { [13:14:02.277] version <- NULL [13:14:02.277] } [13:14:02.277] if (!has_future || version < "1.8.0") { [13:14:02.277] info <- base::c(r_version = base::gsub("R version ", [13:14:02.277] "", base::R.version$version.string), [13:14:02.277] platform = base::sprintf("%s (%s-bit)", [13:14:02.277] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.277] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.277] "release", "version")], collapse = " "), [13:14:02.277] hostname = base::Sys.info()[["nodename"]]) [13:14:02.277] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.277] info) [13:14:02.277] info <- base::paste(info, collapse = "; ") [13:14:02.277] if (!has_future) { [13:14:02.277] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.277] info) [13:14:02.277] } [13:14:02.277] else { [13:14:02.277] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.277] info, version) [13:14:02.277] } [13:14:02.277] base::stop(msg) [13:14:02.277] } [13:14:02.277] }) [13:14:02.277] } [13:14:02.277] options(future.plan = NULL) [13:14:02.277] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.277] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.277] } [13:14:02.277] ...future.workdir <- getwd() [13:14:02.277] } [13:14:02.277] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.277] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.277] } [13:14:02.277] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.277] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.277] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.277] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.277] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.277] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.277] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.277] base::names(...future.oldOptions)) [13:14:02.277] } [13:14:02.277] if (FALSE) { [13:14:02.277] } [13:14:02.277] else { [13:14:02.277] if (TRUE) { [13:14:02.277] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.277] open = "w") [13:14:02.277] } [13:14:02.277] else { [13:14:02.277] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.277] windows = "NUL", "/dev/null"), open = "w") [13:14:02.277] } [13:14:02.277] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.277] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.277] base::sink(type = "output", split = FALSE) [13:14:02.277] base::close(...future.stdout) [13:14:02.277] }, add = TRUE) [13:14:02.277] } [13:14:02.277] ...future.frame <- base::sys.nframe() [13:14:02.277] ...future.conditions <- base::list() [13:14:02.277] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.277] if (FALSE) { [13:14:02.277] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.277] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.277] } [13:14:02.277] ...future.result <- base::tryCatch({ [13:14:02.277] base::withCallingHandlers({ [13:14:02.277] ...future.value <- base::withVisible(base::local({ [13:14:02.277] do.call(function(...) { [13:14:02.277] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.277] if (!identical(...future.globals.maxSize.org, [13:14:02.277] ...future.globals.maxSize)) { [13:14:02.277] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.277] on.exit(options(oopts), add = TRUE) [13:14:02.277] } [13:14:02.277] { [13:14:02.277] lapply(seq_along(...future.elements_ii), [13:14:02.277] FUN = function(jj) { [13:14:02.277] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.277] ...future.FUN(...future.X_jj, ...) [13:14:02.277] }) [13:14:02.277] } [13:14:02.277] }, args = future.call.arguments) [13:14:02.277] })) [13:14:02.277] future::FutureResult(value = ...future.value$value, [13:14:02.277] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.277] ...future.rng), globalenv = if (FALSE) [13:14:02.277] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.277] ...future.globalenv.names)) [13:14:02.277] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.277] }, condition = base::local({ [13:14:02.277] c <- base::c [13:14:02.277] inherits <- base::inherits [13:14:02.277] invokeRestart <- base::invokeRestart [13:14:02.277] length <- base::length [13:14:02.277] list <- base::list [13:14:02.277] seq.int <- base::seq.int [13:14:02.277] signalCondition <- base::signalCondition [13:14:02.277] sys.calls <- base::sys.calls [13:14:02.277] `[[` <- base::`[[` [13:14:02.277] `+` <- base::`+` [13:14:02.277] `<<-` <- base::`<<-` [13:14:02.277] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.277] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.277] 3L)] [13:14:02.277] } [13:14:02.277] function(cond) { [13:14:02.277] is_error <- inherits(cond, "error") [13:14:02.277] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.277] NULL) [13:14:02.277] if (is_error) { [13:14:02.277] sessionInformation <- function() { [13:14:02.277] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.277] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.277] search = base::search(), system = base::Sys.info()) [13:14:02.277] } [13:14:02.277] ...future.conditions[[length(...future.conditions) + [13:14:02.277] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.277] cond$call), session = sessionInformation(), [13:14:02.277] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.277] signalCondition(cond) [13:14:02.277] } [13:14:02.277] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.277] "immediateCondition"))) { [13:14:02.277] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.277] ...future.conditions[[length(...future.conditions) + [13:14:02.277] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.277] if (TRUE && !signal) { [13:14:02.277] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.277] { [13:14:02.277] inherits <- base::inherits [13:14:02.277] invokeRestart <- base::invokeRestart [13:14:02.277] is.null <- base::is.null [13:14:02.277] muffled <- FALSE [13:14:02.277] if (inherits(cond, "message")) { [13:14:02.277] muffled <- grepl(pattern, "muffleMessage") [13:14:02.277] if (muffled) [13:14:02.277] invokeRestart("muffleMessage") [13:14:02.277] } [13:14:02.277] else if (inherits(cond, "warning")) { [13:14:02.277] muffled <- grepl(pattern, "muffleWarning") [13:14:02.277] if (muffled) [13:14:02.277] invokeRestart("muffleWarning") [13:14:02.277] } [13:14:02.277] else if (inherits(cond, "condition")) { [13:14:02.277] if (!is.null(pattern)) { [13:14:02.277] computeRestarts <- base::computeRestarts [13:14:02.277] grepl <- base::grepl [13:14:02.277] restarts <- computeRestarts(cond) [13:14:02.277] for (restart in restarts) { [13:14:02.277] name <- restart$name [13:14:02.277] if (is.null(name)) [13:14:02.277] next [13:14:02.277] if (!grepl(pattern, name)) [13:14:02.277] next [13:14:02.277] invokeRestart(restart) [13:14:02.277] muffled <- TRUE [13:14:02.277] break [13:14:02.277] } [13:14:02.277] } [13:14:02.277] } [13:14:02.277] invisible(muffled) [13:14:02.277] } [13:14:02.277] muffleCondition(cond, pattern = "^muffle") [13:14:02.277] } [13:14:02.277] } [13:14:02.277] else { [13:14:02.277] if (TRUE) { [13:14:02.277] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.277] { [13:14:02.277] inherits <- base::inherits [13:14:02.277] invokeRestart <- base::invokeRestart [13:14:02.277] is.null <- base::is.null [13:14:02.277] muffled <- FALSE [13:14:02.277] if (inherits(cond, "message")) { [13:14:02.277] muffled <- grepl(pattern, "muffleMessage") [13:14:02.277] if (muffled) [13:14:02.277] invokeRestart("muffleMessage") [13:14:02.277] } [13:14:02.277] else if (inherits(cond, "warning")) { [13:14:02.277] muffled <- grepl(pattern, "muffleWarning") [13:14:02.277] if (muffled) [13:14:02.277] invokeRestart("muffleWarning") [13:14:02.277] } [13:14:02.277] else if (inherits(cond, "condition")) { [13:14:02.277] if (!is.null(pattern)) { [13:14:02.277] computeRestarts <- base::computeRestarts [13:14:02.277] grepl <- base::grepl [13:14:02.277] restarts <- computeRestarts(cond) [13:14:02.277] for (restart in restarts) { [13:14:02.277] name <- restart$name [13:14:02.277] if (is.null(name)) [13:14:02.277] next [13:14:02.277] if (!grepl(pattern, name)) [13:14:02.277] next [13:14:02.277] invokeRestart(restart) [13:14:02.277] muffled <- TRUE [13:14:02.277] break [13:14:02.277] } [13:14:02.277] } [13:14:02.277] } [13:14:02.277] invisible(muffled) [13:14:02.277] } [13:14:02.277] muffleCondition(cond, pattern = "^muffle") [13:14:02.277] } [13:14:02.277] } [13:14:02.277] } [13:14:02.277] })) [13:14:02.277] }, error = function(ex) { [13:14:02.277] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.277] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.277] ...future.rng), started = ...future.startTime, [13:14:02.277] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.277] version = "1.8"), class = "FutureResult") [13:14:02.277] }, finally = { [13:14:02.277] if (!identical(...future.workdir, getwd())) [13:14:02.277] setwd(...future.workdir) [13:14:02.277] { [13:14:02.277] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.277] ...future.oldOptions$nwarnings <- NULL [13:14:02.277] } [13:14:02.277] base::options(...future.oldOptions) [13:14:02.277] if (.Platform$OS.type == "windows") { [13:14:02.277] old_names <- names(...future.oldEnvVars) [13:14:02.277] envs <- base::Sys.getenv() [13:14:02.277] names <- names(envs) [13:14:02.277] common <- intersect(names, old_names) [13:14:02.277] added <- setdiff(names, old_names) [13:14:02.277] removed <- setdiff(old_names, names) [13:14:02.277] changed <- common[...future.oldEnvVars[common] != [13:14:02.277] envs[common]] [13:14:02.277] NAMES <- toupper(changed) [13:14:02.277] args <- list() [13:14:02.277] for (kk in seq_along(NAMES)) { [13:14:02.277] name <- changed[[kk]] [13:14:02.277] NAME <- NAMES[[kk]] [13:14:02.277] if (name != NAME && is.element(NAME, old_names)) [13:14:02.277] next [13:14:02.277] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.277] } [13:14:02.277] NAMES <- toupper(added) [13:14:02.277] for (kk in seq_along(NAMES)) { [13:14:02.277] name <- added[[kk]] [13:14:02.277] NAME <- NAMES[[kk]] [13:14:02.277] if (name != NAME && is.element(NAME, old_names)) [13:14:02.277] next [13:14:02.277] args[[name]] <- "" [13:14:02.277] } [13:14:02.277] NAMES <- toupper(removed) [13:14:02.277] for (kk in seq_along(NAMES)) { [13:14:02.277] name <- removed[[kk]] [13:14:02.277] NAME <- NAMES[[kk]] [13:14:02.277] if (name != NAME && is.element(NAME, old_names)) [13:14:02.277] next [13:14:02.277] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.277] } [13:14:02.277] if (length(args) > 0) [13:14:02.277] base::do.call(base::Sys.setenv, args = args) [13:14:02.277] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.277] } [13:14:02.277] else { [13:14:02.277] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.277] } [13:14:02.277] { [13:14:02.277] if (base::length(...future.futureOptionsAdded) > [13:14:02.277] 0L) { [13:14:02.277] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.277] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.277] base::options(opts) [13:14:02.277] } [13:14:02.277] { [13:14:02.277] { [13:14:02.277] NULL [13:14:02.277] RNGkind("Mersenne-Twister") [13:14:02.277] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.277] inherits = FALSE) [13:14:02.277] } [13:14:02.277] options(future.plan = NULL) [13:14:02.277] if (is.na(NA_character_)) [13:14:02.277] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.277] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.277] future::plan(list(function (..., envir = parent.frame()) [13:14:02.277] { [13:14:02.277] future <- SequentialFuture(..., envir = envir) [13:14:02.277] if (!future$lazy) [13:14:02.277] future <- run(future) [13:14:02.277] invisible(future) [13:14:02.277] }), .cleanup = FALSE, .init = FALSE) [13:14:02.277] } [13:14:02.277] } [13:14:02.277] } [13:14:02.277] }) [13:14:02.277] if (TRUE) { [13:14:02.277] base::sink(type = "output", split = FALSE) [13:14:02.277] if (TRUE) { [13:14:02.277] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.277] } [13:14:02.277] else { [13:14:02.277] ...future.result["stdout"] <- base::list(NULL) [13:14:02.277] } [13:14:02.277] base::close(...future.stdout) [13:14:02.277] ...future.stdout <- NULL [13:14:02.277] } [13:14:02.277] ...future.result$conditions <- ...future.conditions [13:14:02.277] ...future.result$finished <- base::Sys.time() [13:14:02.277] ...future.result [13:14:02.277] } [13:14:02.280] assign_globals() ... [13:14:02.280] List of 5 [13:14:02.280] $ ...future.FUN :function (x) [13:14:02.280] $ future.call.arguments : list() [13:14:02.280] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.280] $ ...future.elements_ii :List of 3 [13:14:02.280] ..$ : chr "a" [13:14:02.280] ..$ : chr "b" [13:14:02.280] ..$ : chr "c" [13:14:02.280] $ ...future.seeds_ii : NULL [13:14:02.280] $ ...future.globals.maxSize: NULL [13:14:02.280] - attr(*, "where")=List of 5 [13:14:02.280] ..$ ...future.FUN : [13:14:02.280] ..$ future.call.arguments : [13:14:02.280] ..$ ...future.elements_ii : [13:14:02.280] ..$ ...future.seeds_ii : [13:14:02.280] ..$ ...future.globals.maxSize: [13:14:02.280] - attr(*, "resolved")= logi FALSE [13:14:02.280] - attr(*, "total_size")= num 848 [13:14:02.280] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.280] - attr(*, "already-done")= logi TRUE [13:14:02.285] - copied '...future.FUN' to environment [13:14:02.285] - copied 'future.call.arguments' to environment [13:14:02.285] - copied '...future.elements_ii' to environment [13:14:02.285] - copied '...future.seeds_ii' to environment [13:14:02.285] - copied '...future.globals.maxSize' to environment [13:14:02.285] assign_globals() ... done [13:14:02.286] plan(): Setting new future strategy stack: [13:14:02.286] List of future strategies: [13:14:02.286] 1. sequential: [13:14:02.286] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.286] - tweaked: FALSE [13:14:02.286] - call: NULL [13:14:02.286] plan(): nbrOfWorkers() = 1 [13:14:02.287] plan(): Setting new future strategy stack: [13:14:02.287] List of future strategies: [13:14:02.287] 1. sequential: [13:14:02.287] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.287] - tweaked: FALSE [13:14:02.287] - call: plan(strategy) [13:14:02.288] plan(): nbrOfWorkers() = 1 [13:14:02.288] SequentialFuture started (and completed) [13:14:02.288] - Launch lazy future ... done [13:14:02.288] run() for 'SequentialFuture' ... done [13:14:02.288] Created future: [13:14:02.288] SequentialFuture: [13:14:02.288] Label: 'future_sapply-1' [13:14:02.288] Expression: [13:14:02.288] { [13:14:02.288] do.call(function(...) { [13:14:02.288] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.288] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.288] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.288] on.exit(options(oopts), add = TRUE) [13:14:02.288] } [13:14:02.288] { [13:14:02.288] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.288] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.288] ...future.FUN(...future.X_jj, ...) [13:14:02.288] }) [13:14:02.288] } [13:14:02.288] }, args = future.call.arguments) [13:14:02.288] } [13:14:02.288] Lazy evaluation: FALSE [13:14:02.288] Asynchronous evaluation: FALSE [13:14:02.288] Local evaluation: TRUE [13:14:02.288] Environment: R_GlobalEnv [13:14:02.288] Capture standard output: TRUE [13:14:02.288] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.288] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.288] Packages: [13:14:02.288] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.288] Resolved: TRUE [13:14:02.288] Value: 336 bytes of class 'list' [13:14:02.288] Early signaling: FALSE [13:14:02.288] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.288] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.289] Chunk #1 of 1 ... DONE [13:14:02.290] Launching 1 futures (chunks) ... DONE [13:14:02.290] Resolving 1 futures (chunks) ... [13:14:02.290] resolve() on list ... [13:14:02.290] recursive: 0 [13:14:02.290] length: 1 [13:14:02.290] [13:14:02.290] resolved() for 'SequentialFuture' ... [13:14:02.291] - state: 'finished' [13:14:02.291] - run: TRUE [13:14:02.291] - result: 'FutureResult' [13:14:02.291] resolved() for 'SequentialFuture' ... done [13:14:02.291] Future #1 [13:14:02.291] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.291] - nx: 1 [13:14:02.292] - relay: TRUE [13:14:02.292] - stdout: TRUE [13:14:02.292] - signal: TRUE [13:14:02.292] - resignal: FALSE [13:14:02.292] - force: TRUE [13:14:02.292] - relayed: [n=1] FALSE [13:14:02.293] - queued futures: [n=1] FALSE [13:14:02.293] - until=1 [13:14:02.294] - relaying element #1 [13:14:02.294] - relayed: [n=1] TRUE [13:14:02.294] - queued futures: [n=1] TRUE [13:14:02.294] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.294] length: 0 (resolved future 1) [13:14:02.294] Relaying remaining futures [13:14:02.294] signalConditionsASAP(NULL, pos=0) ... [13:14:02.295] - nx: 1 [13:14:02.295] - relay: TRUE [13:14:02.295] - stdout: TRUE [13:14:02.295] - signal: TRUE [13:14:02.295] - resignal: FALSE [13:14:02.295] - force: TRUE [13:14:02.295] - relayed: [n=1] TRUE [13:14:02.295] - queued futures: [n=1] TRUE - flush all [13:14:02.296] - relayed: [n=1] TRUE [13:14:02.296] - queued futures: [n=1] TRUE [13:14:02.296] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.296] resolve() on list ... DONE [13:14:02.296] - Number of value chunks collected: 1 [13:14:02.296] Resolving 1 futures (chunks) ... DONE [13:14:02.296] Reducing values from 1 chunks ... [13:14:02.296] - Number of values collected after concatenation: 3 [13:14:02.297] - Number of values expected: 3 [13:14:02.297] Reducing values from 1 chunks ... DONE [13:14:02.297] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:02.298] future_lapply() ... [13:14:02.298] Number of chunks: 1 [13:14:02.298] getGlobalsAndPackagesXApply() ... [13:14:02.298] - future.globals: TRUE [13:14:02.299] getGlobalsAndPackages() ... [13:14:02.299] Searching for globals... [13:14:02.300] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.300] Searching for globals ... DONE [13:14:02.300] Resolving globals: FALSE [13:14:02.300] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.301] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.301] - globals: [1] 'FUN' [13:14:02.301] [13:14:02.301] getGlobalsAndPackages() ... DONE [13:14:02.301] - globals found/used: [n=1] 'FUN' [13:14:02.301] - needed namespaces: [n=0] [13:14:02.301] Finding globals ... DONE [13:14:02.302] - use_args: TRUE [13:14:02.302] - Getting '...' globals ... [13:14:02.302] resolve() on list ... [13:14:02.302] recursive: 0 [13:14:02.302] length: 1 [13:14:02.302] elements: '...' [13:14:02.302] length: 0 (resolved future 1) [13:14:02.303] resolve() on list ... DONE [13:14:02.303] - '...' content: [n=0] [13:14:02.303] List of 1 [13:14:02.303] $ ...: list() [13:14:02.303] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.303] - attr(*, "where")=List of 1 [13:14:02.303] ..$ ...: [13:14:02.303] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.303] - attr(*, "resolved")= logi TRUE [13:14:02.303] - attr(*, "total_size")= num NA [13:14:02.305] - Getting '...' globals ... DONE [13:14:02.305] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.305] List of 2 [13:14:02.305] $ ...future.FUN:function (x, ...) [13:14:02.305] $ ... : list() [13:14:02.305] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.305] - attr(*, "where")=List of 2 [13:14:02.305] ..$ ...future.FUN: [13:14:02.305] ..$ ... : [13:14:02.305] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.305] - attr(*, "resolved")= logi FALSE [13:14:02.305] - attr(*, "total_size")= num 1248 [13:14:02.308] Packages to be attached in all futures: [n=0] [13:14:02.308] getGlobalsAndPackagesXApply() ... DONE [13:14:02.308] Number of futures (= number of chunks): 1 [13:14:02.308] Launching 1 futures (chunks) ... [13:14:02.308] Chunk #1 of 1 ... [13:14:02.308] - Finding globals in 'X' for chunk #1 ... [13:14:02.309] getGlobalsAndPackages() ... [13:14:02.309] Searching for globals... [13:14:02.309] [13:14:02.309] Searching for globals ... DONE [13:14:02.309] - globals: [0] [13:14:02.309] getGlobalsAndPackages() ... DONE [13:14:02.309] + additional globals found: [n=0] [13:14:02.310] + additional namespaces needed: [n=0] [13:14:02.310] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.310] - seeds: [13:14:02.310] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.310] getGlobalsAndPackages() ... [13:14:02.310] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.310] Resolving globals: FALSE [13:14:02.310] Tweak future expression to call with '...' arguments ... [13:14:02.311] { [13:14:02.311] do.call(function(...) { [13:14:02.311] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.311] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.311] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.311] on.exit(options(oopts), add = TRUE) [13:14:02.311] } [13:14:02.311] { [13:14:02.311] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.311] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.311] ...future.FUN(...future.X_jj, ...) [13:14:02.311] }) [13:14:02.311] } [13:14:02.311] }, args = future.call.arguments) [13:14:02.311] } [13:14:02.311] Tweak future expression to call with '...' arguments ... DONE [13:14:02.312] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.312] [13:14:02.312] getGlobalsAndPackages() ... DONE [13:14:02.313] run() for 'Future' ... [13:14:02.313] - state: 'created' [13:14:02.313] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.313] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.313] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.314] - Field: 'label' [13:14:02.314] - Field: 'local' [13:14:02.314] - Field: 'owner' [13:14:02.314] - Field: 'envir' [13:14:02.314] - Field: 'packages' [13:14:02.314] - Field: 'gc' [13:14:02.314] - Field: 'conditions' [13:14:02.314] - Field: 'expr' [13:14:02.315] - Field: 'uuid' [13:14:02.315] - Field: 'seed' [13:14:02.315] - Field: 'version' [13:14:02.315] - Field: 'result' [13:14:02.315] - Field: 'asynchronous' [13:14:02.315] - Field: 'calls' [13:14:02.315] - Field: 'globals' [13:14:02.316] - Field: 'stdout' [13:14:02.316] - Field: 'earlySignal' [13:14:02.316] - Field: 'lazy' [13:14:02.316] - Field: 'state' [13:14:02.316] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.316] - Launch lazy future ... [13:14:02.316] Packages needed by the future expression (n = 0): [13:14:02.317] Packages needed by future strategies (n = 0): [13:14:02.317] { [13:14:02.317] { [13:14:02.317] { [13:14:02.317] ...future.startTime <- base::Sys.time() [13:14:02.317] { [13:14:02.317] { [13:14:02.317] { [13:14:02.317] base::local({ [13:14:02.317] has_future <- base::requireNamespace("future", [13:14:02.317] quietly = TRUE) [13:14:02.317] if (has_future) { [13:14:02.317] ns <- base::getNamespace("future") [13:14:02.317] version <- ns[[".package"]][["version"]] [13:14:02.317] if (is.null(version)) [13:14:02.317] version <- utils::packageVersion("future") [13:14:02.317] } [13:14:02.317] else { [13:14:02.317] version <- NULL [13:14:02.317] } [13:14:02.317] if (!has_future || version < "1.8.0") { [13:14:02.317] info <- base::c(r_version = base::gsub("R version ", [13:14:02.317] "", base::R.version$version.string), [13:14:02.317] platform = base::sprintf("%s (%s-bit)", [13:14:02.317] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.317] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.317] "release", "version")], collapse = " "), [13:14:02.317] hostname = base::Sys.info()[["nodename"]]) [13:14:02.317] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.317] info) [13:14:02.317] info <- base::paste(info, collapse = "; ") [13:14:02.317] if (!has_future) { [13:14:02.317] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.317] info) [13:14:02.317] } [13:14:02.317] else { [13:14:02.317] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.317] info, version) [13:14:02.317] } [13:14:02.317] base::stop(msg) [13:14:02.317] } [13:14:02.317] }) [13:14:02.317] } [13:14:02.317] options(future.plan = NULL) [13:14:02.317] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.317] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.317] } [13:14:02.317] ...future.workdir <- getwd() [13:14:02.317] } [13:14:02.317] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.317] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.317] } [13:14:02.317] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.317] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.317] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.317] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.317] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.317] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.317] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.317] base::names(...future.oldOptions)) [13:14:02.317] } [13:14:02.317] if (FALSE) { [13:14:02.317] } [13:14:02.317] else { [13:14:02.317] if (TRUE) { [13:14:02.317] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.317] open = "w") [13:14:02.317] } [13:14:02.317] else { [13:14:02.317] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.317] windows = "NUL", "/dev/null"), open = "w") [13:14:02.317] } [13:14:02.317] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.317] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.317] base::sink(type = "output", split = FALSE) [13:14:02.317] base::close(...future.stdout) [13:14:02.317] }, add = TRUE) [13:14:02.317] } [13:14:02.317] ...future.frame <- base::sys.nframe() [13:14:02.317] ...future.conditions <- base::list() [13:14:02.317] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.317] if (FALSE) { [13:14:02.317] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.317] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.317] } [13:14:02.317] ...future.result <- base::tryCatch({ [13:14:02.317] base::withCallingHandlers({ [13:14:02.317] ...future.value <- base::withVisible(base::local({ [13:14:02.317] do.call(function(...) { [13:14:02.317] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.317] if (!identical(...future.globals.maxSize.org, [13:14:02.317] ...future.globals.maxSize)) { [13:14:02.317] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.317] on.exit(options(oopts), add = TRUE) [13:14:02.317] } [13:14:02.317] { [13:14:02.317] lapply(seq_along(...future.elements_ii), [13:14:02.317] FUN = function(jj) { [13:14:02.317] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.317] ...future.FUN(...future.X_jj, ...) [13:14:02.317] }) [13:14:02.317] } [13:14:02.317] }, args = future.call.arguments) [13:14:02.317] })) [13:14:02.317] future::FutureResult(value = ...future.value$value, [13:14:02.317] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.317] ...future.rng), globalenv = if (FALSE) [13:14:02.317] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.317] ...future.globalenv.names)) [13:14:02.317] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.317] }, condition = base::local({ [13:14:02.317] c <- base::c [13:14:02.317] inherits <- base::inherits [13:14:02.317] invokeRestart <- base::invokeRestart [13:14:02.317] length <- base::length [13:14:02.317] list <- base::list [13:14:02.317] seq.int <- base::seq.int [13:14:02.317] signalCondition <- base::signalCondition [13:14:02.317] sys.calls <- base::sys.calls [13:14:02.317] `[[` <- base::`[[` [13:14:02.317] `+` <- base::`+` [13:14:02.317] `<<-` <- base::`<<-` [13:14:02.317] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.317] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.317] 3L)] [13:14:02.317] } [13:14:02.317] function(cond) { [13:14:02.317] is_error <- inherits(cond, "error") [13:14:02.317] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.317] NULL) [13:14:02.317] if (is_error) { [13:14:02.317] sessionInformation <- function() { [13:14:02.317] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.317] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.317] search = base::search(), system = base::Sys.info()) [13:14:02.317] } [13:14:02.317] ...future.conditions[[length(...future.conditions) + [13:14:02.317] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.317] cond$call), session = sessionInformation(), [13:14:02.317] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.317] signalCondition(cond) [13:14:02.317] } [13:14:02.317] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.317] "immediateCondition"))) { [13:14:02.317] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.317] ...future.conditions[[length(...future.conditions) + [13:14:02.317] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.317] if (TRUE && !signal) { [13:14:02.317] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.317] { [13:14:02.317] inherits <- base::inherits [13:14:02.317] invokeRestart <- base::invokeRestart [13:14:02.317] is.null <- base::is.null [13:14:02.317] muffled <- FALSE [13:14:02.317] if (inherits(cond, "message")) { [13:14:02.317] muffled <- grepl(pattern, "muffleMessage") [13:14:02.317] if (muffled) [13:14:02.317] invokeRestart("muffleMessage") [13:14:02.317] } [13:14:02.317] else if (inherits(cond, "warning")) { [13:14:02.317] muffled <- grepl(pattern, "muffleWarning") [13:14:02.317] if (muffled) [13:14:02.317] invokeRestart("muffleWarning") [13:14:02.317] } [13:14:02.317] else if (inherits(cond, "condition")) { [13:14:02.317] if (!is.null(pattern)) { [13:14:02.317] computeRestarts <- base::computeRestarts [13:14:02.317] grepl <- base::grepl [13:14:02.317] restarts <- computeRestarts(cond) [13:14:02.317] for (restart in restarts) { [13:14:02.317] name <- restart$name [13:14:02.317] if (is.null(name)) [13:14:02.317] next [13:14:02.317] if (!grepl(pattern, name)) [13:14:02.317] next [13:14:02.317] invokeRestart(restart) [13:14:02.317] muffled <- TRUE [13:14:02.317] break [13:14:02.317] } [13:14:02.317] } [13:14:02.317] } [13:14:02.317] invisible(muffled) [13:14:02.317] } [13:14:02.317] muffleCondition(cond, pattern = "^muffle") [13:14:02.317] } [13:14:02.317] } [13:14:02.317] else { [13:14:02.317] if (TRUE) { [13:14:02.317] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.317] { [13:14:02.317] inherits <- base::inherits [13:14:02.317] invokeRestart <- base::invokeRestart [13:14:02.317] is.null <- base::is.null [13:14:02.317] muffled <- FALSE [13:14:02.317] if (inherits(cond, "message")) { [13:14:02.317] muffled <- grepl(pattern, "muffleMessage") [13:14:02.317] if (muffled) [13:14:02.317] invokeRestart("muffleMessage") [13:14:02.317] } [13:14:02.317] else if (inherits(cond, "warning")) { [13:14:02.317] muffled <- grepl(pattern, "muffleWarning") [13:14:02.317] if (muffled) [13:14:02.317] invokeRestart("muffleWarning") [13:14:02.317] } [13:14:02.317] else if (inherits(cond, "condition")) { [13:14:02.317] if (!is.null(pattern)) { [13:14:02.317] computeRestarts <- base::computeRestarts [13:14:02.317] grepl <- base::grepl [13:14:02.317] restarts <- computeRestarts(cond) [13:14:02.317] for (restart in restarts) { [13:14:02.317] name <- restart$name [13:14:02.317] if (is.null(name)) [13:14:02.317] next [13:14:02.317] if (!grepl(pattern, name)) [13:14:02.317] next [13:14:02.317] invokeRestart(restart) [13:14:02.317] muffled <- TRUE [13:14:02.317] break [13:14:02.317] } [13:14:02.317] } [13:14:02.317] } [13:14:02.317] invisible(muffled) [13:14:02.317] } [13:14:02.317] muffleCondition(cond, pattern = "^muffle") [13:14:02.317] } [13:14:02.317] } [13:14:02.317] } [13:14:02.317] })) [13:14:02.317] }, error = function(ex) { [13:14:02.317] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.317] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.317] ...future.rng), started = ...future.startTime, [13:14:02.317] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.317] version = "1.8"), class = "FutureResult") [13:14:02.317] }, finally = { [13:14:02.317] if (!identical(...future.workdir, getwd())) [13:14:02.317] setwd(...future.workdir) [13:14:02.317] { [13:14:02.317] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.317] ...future.oldOptions$nwarnings <- NULL [13:14:02.317] } [13:14:02.317] base::options(...future.oldOptions) [13:14:02.317] if (.Platform$OS.type == "windows") { [13:14:02.317] old_names <- names(...future.oldEnvVars) [13:14:02.317] envs <- base::Sys.getenv() [13:14:02.317] names <- names(envs) [13:14:02.317] common <- intersect(names, old_names) [13:14:02.317] added <- setdiff(names, old_names) [13:14:02.317] removed <- setdiff(old_names, names) [13:14:02.317] changed <- common[...future.oldEnvVars[common] != [13:14:02.317] envs[common]] [13:14:02.317] NAMES <- toupper(changed) [13:14:02.317] args <- list() [13:14:02.317] for (kk in seq_along(NAMES)) { [13:14:02.317] name <- changed[[kk]] [13:14:02.317] NAME <- NAMES[[kk]] [13:14:02.317] if (name != NAME && is.element(NAME, old_names)) [13:14:02.317] next [13:14:02.317] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.317] } [13:14:02.317] NAMES <- toupper(added) [13:14:02.317] for (kk in seq_along(NAMES)) { [13:14:02.317] name <- added[[kk]] [13:14:02.317] NAME <- NAMES[[kk]] [13:14:02.317] if (name != NAME && is.element(NAME, old_names)) [13:14:02.317] next [13:14:02.317] args[[name]] <- "" [13:14:02.317] } [13:14:02.317] NAMES <- toupper(removed) [13:14:02.317] for (kk in seq_along(NAMES)) { [13:14:02.317] name <- removed[[kk]] [13:14:02.317] NAME <- NAMES[[kk]] [13:14:02.317] if (name != NAME && is.element(NAME, old_names)) [13:14:02.317] next [13:14:02.317] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.317] } [13:14:02.317] if (length(args) > 0) [13:14:02.317] base::do.call(base::Sys.setenv, args = args) [13:14:02.317] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.317] } [13:14:02.317] else { [13:14:02.317] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.317] } [13:14:02.317] { [13:14:02.317] if (base::length(...future.futureOptionsAdded) > [13:14:02.317] 0L) { [13:14:02.317] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.317] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.317] base::options(opts) [13:14:02.317] } [13:14:02.317] { [13:14:02.317] { [13:14:02.317] NULL [13:14:02.317] RNGkind("Mersenne-Twister") [13:14:02.317] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.317] inherits = FALSE) [13:14:02.317] } [13:14:02.317] options(future.plan = NULL) [13:14:02.317] if (is.na(NA_character_)) [13:14:02.317] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.317] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.317] future::plan(list(function (..., envir = parent.frame()) [13:14:02.317] { [13:14:02.317] future <- SequentialFuture(..., envir = envir) [13:14:02.317] if (!future$lazy) [13:14:02.317] future <- run(future) [13:14:02.317] invisible(future) [13:14:02.317] }), .cleanup = FALSE, .init = FALSE) [13:14:02.317] } [13:14:02.317] } [13:14:02.317] } [13:14:02.317] }) [13:14:02.317] if (TRUE) { [13:14:02.317] base::sink(type = "output", split = FALSE) [13:14:02.317] if (TRUE) { [13:14:02.317] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.317] } [13:14:02.317] else { [13:14:02.317] ...future.result["stdout"] <- base::list(NULL) [13:14:02.317] } [13:14:02.317] base::close(...future.stdout) [13:14:02.317] ...future.stdout <- NULL [13:14:02.317] } [13:14:02.317] ...future.result$conditions <- ...future.conditions [13:14:02.317] ...future.result$finished <- base::Sys.time() [13:14:02.317] ...future.result [13:14:02.317] } [13:14:02.320] assign_globals() ... [13:14:02.320] List of 5 [13:14:02.320] $ ...future.FUN :function (x, ...) [13:14:02.320] $ future.call.arguments : list() [13:14:02.320] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.320] $ ...future.elements_ii :List of 3 [13:14:02.320] ..$ : chr "a" [13:14:02.320] ..$ : chr "b" [13:14:02.320] ..$ : chr "c" [13:14:02.320] $ ...future.seeds_ii : NULL [13:14:02.320] $ ...future.globals.maxSize: NULL [13:14:02.320] - attr(*, "where")=List of 5 [13:14:02.320] ..$ ...future.FUN : [13:14:02.320] ..$ future.call.arguments : [13:14:02.320] ..$ ...future.elements_ii : [13:14:02.320] ..$ ...future.seeds_ii : [13:14:02.320] ..$ ...future.globals.maxSize: [13:14:02.320] - attr(*, "resolved")= logi FALSE [13:14:02.320] - attr(*, "total_size")= num 1248 [13:14:02.320] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.320] - attr(*, "already-done")= logi TRUE [13:14:02.325] - copied '...future.FUN' to environment [13:14:02.325] - copied 'future.call.arguments' to environment [13:14:02.325] - copied '...future.elements_ii' to environment [13:14:02.325] - copied '...future.seeds_ii' to environment [13:14:02.325] - copied '...future.globals.maxSize' to environment [13:14:02.325] assign_globals() ... done [13:14:02.326] plan(): Setting new future strategy stack: [13:14:02.326] List of future strategies: [13:14:02.326] 1. sequential: [13:14:02.326] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.326] - tweaked: FALSE [13:14:02.326] - call: NULL [13:14:02.326] plan(): nbrOfWorkers() = 1 [13:14:02.327] plan(): Setting new future strategy stack: [13:14:02.327] List of future strategies: [13:14:02.327] 1. sequential: [13:14:02.327] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.327] - tweaked: FALSE [13:14:02.327] - call: plan(strategy) [13:14:02.328] plan(): nbrOfWorkers() = 1 [13:14:02.328] SequentialFuture started (and completed) [13:14:02.328] - Launch lazy future ... done [13:14:02.328] run() for 'SequentialFuture' ... done [13:14:02.328] Created future: [13:14:02.328] SequentialFuture: [13:14:02.328] Label: 'future_sapply-1' [13:14:02.328] Expression: [13:14:02.328] { [13:14:02.328] do.call(function(...) { [13:14:02.328] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.328] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.328] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.328] on.exit(options(oopts), add = TRUE) [13:14:02.328] } [13:14:02.328] { [13:14:02.328] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.328] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.328] ...future.FUN(...future.X_jj, ...) [13:14:02.328] }) [13:14:02.328] } [13:14:02.328] }, args = future.call.arguments) [13:14:02.328] } [13:14:02.328] Lazy evaluation: FALSE [13:14:02.328] Asynchronous evaluation: FALSE [13:14:02.328] Local evaluation: TRUE [13:14:02.328] Environment: R_GlobalEnv [13:14:02.328] Capture standard output: TRUE [13:14:02.328] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.328] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.328] Packages: [13:14:02.328] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.328] Resolved: TRUE [13:14:02.328] Value: 840 bytes of class 'list' [13:14:02.328] Early signaling: FALSE [13:14:02.328] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.328] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.329] Chunk #1 of 1 ... DONE [13:14:02.329] Launching 1 futures (chunks) ... DONE [13:14:02.330] Resolving 1 futures (chunks) ... [13:14:02.330] resolve() on list ... [13:14:02.330] recursive: 0 [13:14:02.330] length: 1 [13:14:02.330] [13:14:02.330] resolved() for 'SequentialFuture' ... [13:14:02.330] - state: 'finished' [13:14:02.330] - run: TRUE [13:14:02.331] - result: 'FutureResult' [13:14:02.331] resolved() for 'SequentialFuture' ... done [13:14:02.331] Future #1 [13:14:02.331] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.331] - nx: 1 [13:14:02.331] - relay: TRUE [13:14:02.331] - stdout: TRUE [13:14:02.331] - signal: TRUE [13:14:02.332] - resignal: FALSE [13:14:02.332] - force: TRUE [13:14:02.332] - relayed: [n=1] FALSE [13:14:02.332] - queued futures: [n=1] FALSE [13:14:02.332] - until=1 [13:14:02.332] - relaying element #1 [13:14:02.332] - relayed: [n=1] TRUE [13:14:02.333] - queued futures: [n=1] TRUE [13:14:02.333] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.333] length: 0 (resolved future 1) [13:14:02.334] Relaying remaining futures [13:14:02.334] signalConditionsASAP(NULL, pos=0) ... [13:14:02.334] - nx: 1 [13:14:02.334] - relay: TRUE [13:14:02.334] - stdout: TRUE [13:14:02.334] - signal: TRUE [13:14:02.334] - resignal: FALSE [13:14:02.335] - force: TRUE [13:14:02.335] - relayed: [n=1] TRUE [13:14:02.335] - queued futures: [n=1] TRUE - flush all [13:14:02.335] - relayed: [n=1] TRUE [13:14:02.335] - queued futures: [n=1] TRUE [13:14:02.335] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.335] resolve() on list ... DONE [13:14:02.335] - Number of value chunks collected: 1 [13:14:02.336] Resolving 1 futures (chunks) ... DONE [13:14:02.336] Reducing values from 1 chunks ... [13:14:02.336] - Number of values collected after concatenation: 3 [13:14:02.336] - Number of values expected: 3 [13:14:02.336] Reducing values from 1 chunks ... DONE [13:14:02.336] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:02.337] future_lapply() ... [13:14:02.338] Number of chunks: 1 [13:14:02.338] getGlobalsAndPackagesXApply() ... [13:14:02.338] - future.globals: TRUE [13:14:02.338] getGlobalsAndPackages() ... [13:14:02.338] Searching for globals... [13:14:02.339] - globals found: [1] 'FUN' [13:14:02.339] Searching for globals ... DONE [13:14:02.339] Resolving globals: FALSE [13:14:02.339] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.340] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.340] - globals: [1] 'FUN' [13:14:02.340] [13:14:02.340] getGlobalsAndPackages() ... DONE [13:14:02.340] - globals found/used: [n=1] 'FUN' [13:14:02.341] - needed namespaces: [n=0] [13:14:02.341] Finding globals ... DONE [13:14:02.341] - use_args: TRUE [13:14:02.341] - Getting '...' globals ... [13:14:02.341] resolve() on list ... [13:14:02.341] recursive: 0 [13:14:02.341] length: 1 [13:14:02.342] elements: '...' [13:14:02.342] length: 0 (resolved future 1) [13:14:02.342] resolve() on list ... DONE [13:14:02.342] - '...' content: [n=0] [13:14:02.342] List of 1 [13:14:02.342] $ ...: list() [13:14:02.342] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.342] - attr(*, "where")=List of 1 [13:14:02.342] ..$ ...: [13:14:02.342] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.342] - attr(*, "resolved")= logi TRUE [13:14:02.342] - attr(*, "total_size")= num NA [13:14:02.344] - Getting '...' globals ... DONE [13:14:02.345] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.345] List of 2 [13:14:02.345] $ ...future.FUN:function (x) [13:14:02.345] $ ... : list() [13:14:02.345] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.345] - attr(*, "where")=List of 2 [13:14:02.345] ..$ ...future.FUN: [13:14:02.345] ..$ ... : [13:14:02.345] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.345] - attr(*, "resolved")= logi FALSE [13:14:02.345] - attr(*, "total_size")= num 848 [13:14:02.347] Packages to be attached in all futures: [n=0] [13:14:02.347] getGlobalsAndPackagesXApply() ... DONE [13:14:02.347] Number of futures (= number of chunks): 1 [13:14:02.348] Launching 1 futures (chunks) ... [13:14:02.348] Chunk #1 of 1 ... [13:14:02.348] - Finding globals in 'X' for chunk #1 ... [13:14:02.348] getGlobalsAndPackages() ... [13:14:02.348] Searching for globals... [13:14:02.348] [13:14:02.348] Searching for globals ... DONE [13:14:02.348] - globals: [0] [13:14:02.349] getGlobalsAndPackages() ... DONE [13:14:02.349] + additional globals found: [n=0] [13:14:02.349] + additional namespaces needed: [n=0] [13:14:02.349] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.349] - seeds: [13:14:02.349] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.349] getGlobalsAndPackages() ... [13:14:02.349] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.350] Resolving globals: FALSE [13:14:02.350] Tweak future expression to call with '...' arguments ... [13:14:02.350] { [13:14:02.350] do.call(function(...) { [13:14:02.350] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.350] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.350] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.350] on.exit(options(oopts), add = TRUE) [13:14:02.350] } [13:14:02.350] { [13:14:02.350] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.350] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.350] ...future.FUN(...future.X_jj, ...) [13:14:02.350] }) [13:14:02.350] } [13:14:02.350] }, args = future.call.arguments) [13:14:02.350] } [13:14:02.350] Tweak future expression to call with '...' arguments ... DONE [13:14:02.350] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.351] [13:14:02.351] getGlobalsAndPackages() ... DONE [13:14:02.351] run() for 'Future' ... [13:14:02.351] - state: 'created' [13:14:02.352] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.352] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.353] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.353] - Field: 'label' [13:14:02.353] - Field: 'local' [13:14:02.353] - Field: 'owner' [13:14:02.353] - Field: 'envir' [13:14:02.353] - Field: 'packages' [13:14:02.353] - Field: 'gc' [13:14:02.353] - Field: 'conditions' [13:14:02.354] - Field: 'expr' [13:14:02.354] - Field: 'uuid' [13:14:02.354] - Field: 'seed' [13:14:02.354] - Field: 'version' [13:14:02.354] - Field: 'result' [13:14:02.354] - Field: 'asynchronous' [13:14:02.354] - Field: 'calls' [13:14:02.354] - Field: 'globals' [13:14:02.355] - Field: 'stdout' [13:14:02.355] - Field: 'earlySignal' [13:14:02.355] - Field: 'lazy' [13:14:02.355] - Field: 'state' [13:14:02.355] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.355] - Launch lazy future ... [13:14:02.355] Packages needed by the future expression (n = 0): [13:14:02.356] Packages needed by future strategies (n = 0): [13:14:02.356] { [13:14:02.356] { [13:14:02.356] { [13:14:02.356] ...future.startTime <- base::Sys.time() [13:14:02.356] { [13:14:02.356] { [13:14:02.356] { [13:14:02.356] base::local({ [13:14:02.356] has_future <- base::requireNamespace("future", [13:14:02.356] quietly = TRUE) [13:14:02.356] if (has_future) { [13:14:02.356] ns <- base::getNamespace("future") [13:14:02.356] version <- ns[[".package"]][["version"]] [13:14:02.356] if (is.null(version)) [13:14:02.356] version <- utils::packageVersion("future") [13:14:02.356] } [13:14:02.356] else { [13:14:02.356] version <- NULL [13:14:02.356] } [13:14:02.356] if (!has_future || version < "1.8.0") { [13:14:02.356] info <- base::c(r_version = base::gsub("R version ", [13:14:02.356] "", base::R.version$version.string), [13:14:02.356] platform = base::sprintf("%s (%s-bit)", [13:14:02.356] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.356] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.356] "release", "version")], collapse = " "), [13:14:02.356] hostname = base::Sys.info()[["nodename"]]) [13:14:02.356] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.356] info) [13:14:02.356] info <- base::paste(info, collapse = "; ") [13:14:02.356] if (!has_future) { [13:14:02.356] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.356] info) [13:14:02.356] } [13:14:02.356] else { [13:14:02.356] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.356] info, version) [13:14:02.356] } [13:14:02.356] base::stop(msg) [13:14:02.356] } [13:14:02.356] }) [13:14:02.356] } [13:14:02.356] options(future.plan = NULL) [13:14:02.356] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.356] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.356] } [13:14:02.356] ...future.workdir <- getwd() [13:14:02.356] } [13:14:02.356] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.356] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.356] } [13:14:02.356] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.356] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.356] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.356] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.356] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.356] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.356] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.356] base::names(...future.oldOptions)) [13:14:02.356] } [13:14:02.356] if (FALSE) { [13:14:02.356] } [13:14:02.356] else { [13:14:02.356] if (TRUE) { [13:14:02.356] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.356] open = "w") [13:14:02.356] } [13:14:02.356] else { [13:14:02.356] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.356] windows = "NUL", "/dev/null"), open = "w") [13:14:02.356] } [13:14:02.356] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.356] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.356] base::sink(type = "output", split = FALSE) [13:14:02.356] base::close(...future.stdout) [13:14:02.356] }, add = TRUE) [13:14:02.356] } [13:14:02.356] ...future.frame <- base::sys.nframe() [13:14:02.356] ...future.conditions <- base::list() [13:14:02.356] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.356] if (FALSE) { [13:14:02.356] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.356] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.356] } [13:14:02.356] ...future.result <- base::tryCatch({ [13:14:02.356] base::withCallingHandlers({ [13:14:02.356] ...future.value <- base::withVisible(base::local({ [13:14:02.356] do.call(function(...) { [13:14:02.356] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.356] if (!identical(...future.globals.maxSize.org, [13:14:02.356] ...future.globals.maxSize)) { [13:14:02.356] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.356] on.exit(options(oopts), add = TRUE) [13:14:02.356] } [13:14:02.356] { [13:14:02.356] lapply(seq_along(...future.elements_ii), [13:14:02.356] FUN = function(jj) { [13:14:02.356] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.356] ...future.FUN(...future.X_jj, ...) [13:14:02.356] }) [13:14:02.356] } [13:14:02.356] }, args = future.call.arguments) [13:14:02.356] })) [13:14:02.356] future::FutureResult(value = ...future.value$value, [13:14:02.356] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.356] ...future.rng), globalenv = if (FALSE) [13:14:02.356] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.356] ...future.globalenv.names)) [13:14:02.356] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.356] }, condition = base::local({ [13:14:02.356] c <- base::c [13:14:02.356] inherits <- base::inherits [13:14:02.356] invokeRestart <- base::invokeRestart [13:14:02.356] length <- base::length [13:14:02.356] list <- base::list [13:14:02.356] seq.int <- base::seq.int [13:14:02.356] signalCondition <- base::signalCondition [13:14:02.356] sys.calls <- base::sys.calls [13:14:02.356] `[[` <- base::`[[` [13:14:02.356] `+` <- base::`+` [13:14:02.356] `<<-` <- base::`<<-` [13:14:02.356] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.356] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.356] 3L)] [13:14:02.356] } [13:14:02.356] function(cond) { [13:14:02.356] is_error <- inherits(cond, "error") [13:14:02.356] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.356] NULL) [13:14:02.356] if (is_error) { [13:14:02.356] sessionInformation <- function() { [13:14:02.356] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.356] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.356] search = base::search(), system = base::Sys.info()) [13:14:02.356] } [13:14:02.356] ...future.conditions[[length(...future.conditions) + [13:14:02.356] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.356] cond$call), session = sessionInformation(), [13:14:02.356] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.356] signalCondition(cond) [13:14:02.356] } [13:14:02.356] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.356] "immediateCondition"))) { [13:14:02.356] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.356] ...future.conditions[[length(...future.conditions) + [13:14:02.356] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.356] if (TRUE && !signal) { [13:14:02.356] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.356] { [13:14:02.356] inherits <- base::inherits [13:14:02.356] invokeRestart <- base::invokeRestart [13:14:02.356] is.null <- base::is.null [13:14:02.356] muffled <- FALSE [13:14:02.356] if (inherits(cond, "message")) { [13:14:02.356] muffled <- grepl(pattern, "muffleMessage") [13:14:02.356] if (muffled) [13:14:02.356] invokeRestart("muffleMessage") [13:14:02.356] } [13:14:02.356] else if (inherits(cond, "warning")) { [13:14:02.356] muffled <- grepl(pattern, "muffleWarning") [13:14:02.356] if (muffled) [13:14:02.356] invokeRestart("muffleWarning") [13:14:02.356] } [13:14:02.356] else if (inherits(cond, "condition")) { [13:14:02.356] if (!is.null(pattern)) { [13:14:02.356] computeRestarts <- base::computeRestarts [13:14:02.356] grepl <- base::grepl [13:14:02.356] restarts <- computeRestarts(cond) [13:14:02.356] for (restart in restarts) { [13:14:02.356] name <- restart$name [13:14:02.356] if (is.null(name)) [13:14:02.356] next [13:14:02.356] if (!grepl(pattern, name)) [13:14:02.356] next [13:14:02.356] invokeRestart(restart) [13:14:02.356] muffled <- TRUE [13:14:02.356] break [13:14:02.356] } [13:14:02.356] } [13:14:02.356] } [13:14:02.356] invisible(muffled) [13:14:02.356] } [13:14:02.356] muffleCondition(cond, pattern = "^muffle") [13:14:02.356] } [13:14:02.356] } [13:14:02.356] else { [13:14:02.356] if (TRUE) { [13:14:02.356] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.356] { [13:14:02.356] inherits <- base::inherits [13:14:02.356] invokeRestart <- base::invokeRestart [13:14:02.356] is.null <- base::is.null [13:14:02.356] muffled <- FALSE [13:14:02.356] if (inherits(cond, "message")) { [13:14:02.356] muffled <- grepl(pattern, "muffleMessage") [13:14:02.356] if (muffled) [13:14:02.356] invokeRestart("muffleMessage") [13:14:02.356] } [13:14:02.356] else if (inherits(cond, "warning")) { [13:14:02.356] muffled <- grepl(pattern, "muffleWarning") [13:14:02.356] if (muffled) [13:14:02.356] invokeRestart("muffleWarning") [13:14:02.356] } [13:14:02.356] else if (inherits(cond, "condition")) { [13:14:02.356] if (!is.null(pattern)) { [13:14:02.356] computeRestarts <- base::computeRestarts [13:14:02.356] grepl <- base::grepl [13:14:02.356] restarts <- computeRestarts(cond) [13:14:02.356] for (restart in restarts) { [13:14:02.356] name <- restart$name [13:14:02.356] if (is.null(name)) [13:14:02.356] next [13:14:02.356] if (!grepl(pattern, name)) [13:14:02.356] next [13:14:02.356] invokeRestart(restart) [13:14:02.356] muffled <- TRUE [13:14:02.356] break [13:14:02.356] } [13:14:02.356] } [13:14:02.356] } [13:14:02.356] invisible(muffled) [13:14:02.356] } [13:14:02.356] muffleCondition(cond, pattern = "^muffle") [13:14:02.356] } [13:14:02.356] } [13:14:02.356] } [13:14:02.356] })) [13:14:02.356] }, error = function(ex) { [13:14:02.356] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.356] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.356] ...future.rng), started = ...future.startTime, [13:14:02.356] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.356] version = "1.8"), class = "FutureResult") [13:14:02.356] }, finally = { [13:14:02.356] if (!identical(...future.workdir, getwd())) [13:14:02.356] setwd(...future.workdir) [13:14:02.356] { [13:14:02.356] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.356] ...future.oldOptions$nwarnings <- NULL [13:14:02.356] } [13:14:02.356] base::options(...future.oldOptions) [13:14:02.356] if (.Platform$OS.type == "windows") { [13:14:02.356] old_names <- names(...future.oldEnvVars) [13:14:02.356] envs <- base::Sys.getenv() [13:14:02.356] names <- names(envs) [13:14:02.356] common <- intersect(names, old_names) [13:14:02.356] added <- setdiff(names, old_names) [13:14:02.356] removed <- setdiff(old_names, names) [13:14:02.356] changed <- common[...future.oldEnvVars[common] != [13:14:02.356] envs[common]] [13:14:02.356] NAMES <- toupper(changed) [13:14:02.356] args <- list() [13:14:02.356] for (kk in seq_along(NAMES)) { [13:14:02.356] name <- changed[[kk]] [13:14:02.356] NAME <- NAMES[[kk]] [13:14:02.356] if (name != NAME && is.element(NAME, old_names)) [13:14:02.356] next [13:14:02.356] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.356] } [13:14:02.356] NAMES <- toupper(added) [13:14:02.356] for (kk in seq_along(NAMES)) { [13:14:02.356] name <- added[[kk]] [13:14:02.356] NAME <- NAMES[[kk]] [13:14:02.356] if (name != NAME && is.element(NAME, old_names)) [13:14:02.356] next [13:14:02.356] args[[name]] <- "" [13:14:02.356] } [13:14:02.356] NAMES <- toupper(removed) [13:14:02.356] for (kk in seq_along(NAMES)) { [13:14:02.356] name <- removed[[kk]] [13:14:02.356] NAME <- NAMES[[kk]] [13:14:02.356] if (name != NAME && is.element(NAME, old_names)) [13:14:02.356] next [13:14:02.356] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.356] } [13:14:02.356] if (length(args) > 0) [13:14:02.356] base::do.call(base::Sys.setenv, args = args) [13:14:02.356] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.356] } [13:14:02.356] else { [13:14:02.356] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.356] } [13:14:02.356] { [13:14:02.356] if (base::length(...future.futureOptionsAdded) > [13:14:02.356] 0L) { [13:14:02.356] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.356] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.356] base::options(opts) [13:14:02.356] } [13:14:02.356] { [13:14:02.356] { [13:14:02.356] NULL [13:14:02.356] RNGkind("Mersenne-Twister") [13:14:02.356] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.356] inherits = FALSE) [13:14:02.356] } [13:14:02.356] options(future.plan = NULL) [13:14:02.356] if (is.na(NA_character_)) [13:14:02.356] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.356] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.356] future::plan(list(function (..., envir = parent.frame()) [13:14:02.356] { [13:14:02.356] future <- SequentialFuture(..., envir = envir) [13:14:02.356] if (!future$lazy) [13:14:02.356] future <- run(future) [13:14:02.356] invisible(future) [13:14:02.356] }), .cleanup = FALSE, .init = FALSE) [13:14:02.356] } [13:14:02.356] } [13:14:02.356] } [13:14:02.356] }) [13:14:02.356] if (TRUE) { [13:14:02.356] base::sink(type = "output", split = FALSE) [13:14:02.356] if (TRUE) { [13:14:02.356] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.356] } [13:14:02.356] else { [13:14:02.356] ...future.result["stdout"] <- base::list(NULL) [13:14:02.356] } [13:14:02.356] base::close(...future.stdout) [13:14:02.356] ...future.stdout <- NULL [13:14:02.356] } [13:14:02.356] ...future.result$conditions <- ...future.conditions [13:14:02.356] ...future.result$finished <- base::Sys.time() [13:14:02.356] ...future.result [13:14:02.356] } [13:14:02.359] assign_globals() ... [13:14:02.359] List of 5 [13:14:02.359] $ ...future.FUN :function (x) [13:14:02.359] $ future.call.arguments : list() [13:14:02.359] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.359] $ ...future.elements_ii :List of 3 [13:14:02.359] ..$ : chr "a" [13:14:02.359] ..$ : chr "b" [13:14:02.359] ..$ : chr "c" [13:14:02.359] $ ...future.seeds_ii : NULL [13:14:02.359] $ ...future.globals.maxSize: NULL [13:14:02.359] - attr(*, "where")=List of 5 [13:14:02.359] ..$ ...future.FUN : [13:14:02.359] ..$ future.call.arguments : [13:14:02.359] ..$ ...future.elements_ii : [13:14:02.359] ..$ ...future.seeds_ii : [13:14:02.359] ..$ ...future.globals.maxSize: [13:14:02.359] - attr(*, "resolved")= logi FALSE [13:14:02.359] - attr(*, "total_size")= num 848 [13:14:02.359] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.359] - attr(*, "already-done")= logi TRUE [13:14:02.364] - copied '...future.FUN' to environment [13:14:02.364] - copied 'future.call.arguments' to environment [13:14:02.364] - copied '...future.elements_ii' to environment [13:14:02.364] - copied '...future.seeds_ii' to environment [13:14:02.364] - copied '...future.globals.maxSize' to environment [13:14:02.364] assign_globals() ... done [13:14:02.364] plan(): Setting new future strategy stack: [13:14:02.365] List of future strategies: [13:14:02.365] 1. sequential: [13:14:02.365] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.365] - tweaked: FALSE [13:14:02.365] - call: NULL [13:14:02.365] plan(): nbrOfWorkers() = 1 [13:14:02.366] plan(): Setting new future strategy stack: [13:14:02.366] List of future strategies: [13:14:02.366] 1. sequential: [13:14:02.366] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.366] - tweaked: FALSE [13:14:02.366] - call: plan(strategy) [13:14:02.366] plan(): nbrOfWorkers() = 1 [13:14:02.367] SequentialFuture started (and completed) [13:14:02.367] - Launch lazy future ... done [13:14:02.367] run() for 'SequentialFuture' ... done [13:14:02.367] Created future: [13:14:02.367] SequentialFuture: [13:14:02.367] Label: 'future_sapply-1' [13:14:02.367] Expression: [13:14:02.367] { [13:14:02.367] do.call(function(...) { [13:14:02.367] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.367] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.367] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.367] on.exit(options(oopts), add = TRUE) [13:14:02.367] } [13:14:02.367] { [13:14:02.367] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.367] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.367] ...future.FUN(...future.X_jj, ...) [13:14:02.367] }) [13:14:02.367] } [13:14:02.367] }, args = future.call.arguments) [13:14:02.367] } [13:14:02.367] Lazy evaluation: FALSE [13:14:02.367] Asynchronous evaluation: FALSE [13:14:02.367] Local evaluation: TRUE [13:14:02.367] Environment: R_GlobalEnv [13:14:02.367] Capture standard output: TRUE [13:14:02.367] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.367] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.367] Packages: [13:14:02.367] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.367] Resolved: TRUE [13:14:02.367] Value: 336 bytes of class 'list' [13:14:02.367] Early signaling: FALSE [13:14:02.367] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.367] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.368] Chunk #1 of 1 ... DONE [13:14:02.368] Launching 1 futures (chunks) ... DONE [13:14:02.368] Resolving 1 futures (chunks) ... [13:14:02.368] resolve() on list ... [13:14:02.369] recursive: 0 [13:14:02.369] length: 1 [13:14:02.369] [13:14:02.369] resolved() for 'SequentialFuture' ... [13:14:02.369] - state: 'finished' [13:14:02.369] - run: TRUE [13:14:02.369] - result: 'FutureResult' [13:14:02.369] resolved() for 'SequentialFuture' ... done [13:14:02.370] Future #1 [13:14:02.370] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.370] - nx: 1 [13:14:02.370] - relay: TRUE [13:14:02.370] - stdout: TRUE [13:14:02.370] - signal: TRUE [13:14:02.370] - resignal: FALSE [13:14:02.370] - force: TRUE [13:14:02.370] - relayed: [n=1] FALSE [13:14:02.371] - queued futures: [n=1] FALSE [13:14:02.371] - until=1 [13:14:02.371] - relaying element #1 [13:14:02.371] - relayed: [n=1] TRUE [13:14:02.371] - queued futures: [n=1] TRUE [13:14:02.371] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.371] length: 0 (resolved future 1) [13:14:02.372] Relaying remaining futures [13:14:02.372] signalConditionsASAP(NULL, pos=0) ... [13:14:02.372] - nx: 1 [13:14:02.372] - relay: TRUE [13:14:02.372] - stdout: TRUE [13:14:02.372] - signal: TRUE [13:14:02.372] - resignal: FALSE [13:14:02.373] - force: TRUE [13:14:02.373] - relayed: [n=1] TRUE [13:14:02.373] - queued futures: [n=1] TRUE - flush all [13:14:02.374] - relayed: [n=1] TRUE [13:14:02.374] - queued futures: [n=1] TRUE [13:14:02.374] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.374] resolve() on list ... DONE [13:14:02.374] - Number of value chunks collected: 1 [13:14:02.374] Resolving 1 futures (chunks) ... DONE [13:14:02.374] Reducing values from 1 chunks ... [13:14:02.374] - Number of values collected after concatenation: 3 [13:14:02.375] - Number of values expected: 3 [13:14:02.375] Reducing values from 1 chunks ... DONE [13:14:02.375] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: chr "a" ..$ b: chr "b" ..$ c: chr "c" $ y1:List of 3 ..$ a: chr "a" ..$ b: chr "b" ..$ c: chr "c" List of 2 $ y0:List of 3 ..$ a: chr "a" ..$ b: chr "b" ..$ c: chr "c" $ y2:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" [13:14:02.379] future_lapply() ... [13:14:02.379] Number of chunks: 1 [13:14:02.380] getGlobalsAndPackagesXApply() ... [13:14:02.380] - future.globals: TRUE [13:14:02.380] getGlobalsAndPackages() ... [13:14:02.380] Searching for globals... [13:14:02.381] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.381] Searching for globals ... DONE [13:14:02.381] Resolving globals: FALSE [13:14:02.381] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.382] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.382] - globals: [1] 'FUN' [13:14:02.382] [13:14:02.382] getGlobalsAndPackages() ... DONE [13:14:02.382] - globals found/used: [n=1] 'FUN' [13:14:02.382] - needed namespaces: [n=0] [13:14:02.382] Finding globals ... DONE [13:14:02.383] - use_args: TRUE [13:14:02.383] - Getting '...' globals ... [13:14:02.383] resolve() on list ... [13:14:02.383] recursive: 0 [13:14:02.383] length: 1 [13:14:02.383] elements: '...' [13:14:02.383] length: 0 (resolved future 1) [13:14:02.384] resolve() on list ... DONE [13:14:02.384] - '...' content: [n=0] [13:14:02.384] List of 1 [13:14:02.384] $ ...: list() [13:14:02.384] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.384] - attr(*, "where")=List of 1 [13:14:02.384] ..$ ...: [13:14:02.384] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.384] - attr(*, "resolved")= logi TRUE [13:14:02.384] - attr(*, "total_size")= num NA [13:14:02.386] - Getting '...' globals ... DONE [13:14:02.386] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.386] List of 2 [13:14:02.386] $ ...future.FUN:function (x, ...) [13:14:02.386] $ ... : list() [13:14:02.386] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.386] - attr(*, "where")=List of 2 [13:14:02.386] ..$ ...future.FUN: [13:14:02.386] ..$ ... : [13:14:02.386] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.386] - attr(*, "resolved")= logi FALSE [13:14:02.386] - attr(*, "total_size")= num 1248 [13:14:02.389] Packages to be attached in all futures: [n=0] [13:14:02.390] getGlobalsAndPackagesXApply() ... DONE [13:14:02.390] Number of futures (= number of chunks): 1 [13:14:02.390] Launching 1 futures (chunks) ... [13:14:02.390] Chunk #1 of 1 ... [13:14:02.390] - Finding globals in 'X' for chunk #1 ... [13:14:02.390] getGlobalsAndPackages() ... [13:14:02.390] Searching for globals... [13:14:02.391] [13:14:02.391] Searching for globals ... DONE [13:14:02.391] - globals: [0] [13:14:02.391] getGlobalsAndPackages() ... DONE [13:14:02.391] + additional globals found: [n=0] [13:14:02.391] + additional namespaces needed: [n=0] [13:14:02.391] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.391] - seeds: [13:14:02.392] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.392] getGlobalsAndPackages() ... [13:14:02.392] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.392] Resolving globals: FALSE [13:14:02.392] Tweak future expression to call with '...' arguments ... [13:14:02.392] { [13:14:02.392] do.call(function(...) { [13:14:02.392] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.392] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.392] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.392] on.exit(options(oopts), add = TRUE) [13:14:02.392] } [13:14:02.392] { [13:14:02.392] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.392] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.392] ...future.FUN(...future.X_jj, ...) [13:14:02.392] }) [13:14:02.392] } [13:14:02.392] }, args = future.call.arguments) [13:14:02.392] } [13:14:02.393] Tweak future expression to call with '...' arguments ... DONE [13:14:02.393] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.393] [13:14:02.393] getGlobalsAndPackages() ... DONE [13:14:02.393] run() for 'Future' ... [13:14:02.394] - state: 'created' [13:14:02.394] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.394] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.394] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.394] - Field: 'label' [13:14:02.394] - Field: 'local' [13:14:02.395] - Field: 'owner' [13:14:02.395] - Field: 'envir' [13:14:02.395] - Field: 'packages' [13:14:02.395] - Field: 'gc' [13:14:02.395] - Field: 'conditions' [13:14:02.395] - Field: 'expr' [13:14:02.395] - Field: 'uuid' [13:14:02.395] - Field: 'seed' [13:14:02.396] - Field: 'version' [13:14:02.396] - Field: 'result' [13:14:02.396] - Field: 'asynchronous' [13:14:02.396] - Field: 'calls' [13:14:02.396] - Field: 'globals' [13:14:02.396] - Field: 'stdout' [13:14:02.396] - Field: 'earlySignal' [13:14:02.396] - Field: 'lazy' [13:14:02.397] - Field: 'state' [13:14:02.397] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.397] - Launch lazy future ... [13:14:02.397] Packages needed by the future expression (n = 0): [13:14:02.397] Packages needed by future strategies (n = 0): [13:14:02.398] { [13:14:02.398] { [13:14:02.398] { [13:14:02.398] ...future.startTime <- base::Sys.time() [13:14:02.398] { [13:14:02.398] { [13:14:02.398] { [13:14:02.398] base::local({ [13:14:02.398] has_future <- base::requireNamespace("future", [13:14:02.398] quietly = TRUE) [13:14:02.398] if (has_future) { [13:14:02.398] ns <- base::getNamespace("future") [13:14:02.398] version <- ns[[".package"]][["version"]] [13:14:02.398] if (is.null(version)) [13:14:02.398] version <- utils::packageVersion("future") [13:14:02.398] } [13:14:02.398] else { [13:14:02.398] version <- NULL [13:14:02.398] } [13:14:02.398] if (!has_future || version < "1.8.0") { [13:14:02.398] info <- base::c(r_version = base::gsub("R version ", [13:14:02.398] "", base::R.version$version.string), [13:14:02.398] platform = base::sprintf("%s (%s-bit)", [13:14:02.398] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.398] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.398] "release", "version")], collapse = " "), [13:14:02.398] hostname = base::Sys.info()[["nodename"]]) [13:14:02.398] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.398] info) [13:14:02.398] info <- base::paste(info, collapse = "; ") [13:14:02.398] if (!has_future) { [13:14:02.398] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.398] info) [13:14:02.398] } [13:14:02.398] else { [13:14:02.398] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.398] info, version) [13:14:02.398] } [13:14:02.398] base::stop(msg) [13:14:02.398] } [13:14:02.398] }) [13:14:02.398] } [13:14:02.398] options(future.plan = NULL) [13:14:02.398] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.398] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.398] } [13:14:02.398] ...future.workdir <- getwd() [13:14:02.398] } [13:14:02.398] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.398] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.398] } [13:14:02.398] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.398] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.398] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.398] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.398] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.398] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.398] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.398] base::names(...future.oldOptions)) [13:14:02.398] } [13:14:02.398] if (FALSE) { [13:14:02.398] } [13:14:02.398] else { [13:14:02.398] if (TRUE) { [13:14:02.398] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.398] open = "w") [13:14:02.398] } [13:14:02.398] else { [13:14:02.398] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.398] windows = "NUL", "/dev/null"), open = "w") [13:14:02.398] } [13:14:02.398] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.398] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.398] base::sink(type = "output", split = FALSE) [13:14:02.398] base::close(...future.stdout) [13:14:02.398] }, add = TRUE) [13:14:02.398] } [13:14:02.398] ...future.frame <- base::sys.nframe() [13:14:02.398] ...future.conditions <- base::list() [13:14:02.398] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.398] if (FALSE) { [13:14:02.398] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.398] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.398] } [13:14:02.398] ...future.result <- base::tryCatch({ [13:14:02.398] base::withCallingHandlers({ [13:14:02.398] ...future.value <- base::withVisible(base::local({ [13:14:02.398] do.call(function(...) { [13:14:02.398] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.398] if (!identical(...future.globals.maxSize.org, [13:14:02.398] ...future.globals.maxSize)) { [13:14:02.398] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.398] on.exit(options(oopts), add = TRUE) [13:14:02.398] } [13:14:02.398] { [13:14:02.398] lapply(seq_along(...future.elements_ii), [13:14:02.398] FUN = function(jj) { [13:14:02.398] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.398] ...future.FUN(...future.X_jj, ...) [13:14:02.398] }) [13:14:02.398] } [13:14:02.398] }, args = future.call.arguments) [13:14:02.398] })) [13:14:02.398] future::FutureResult(value = ...future.value$value, [13:14:02.398] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.398] ...future.rng), globalenv = if (FALSE) [13:14:02.398] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.398] ...future.globalenv.names)) [13:14:02.398] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.398] }, condition = base::local({ [13:14:02.398] c <- base::c [13:14:02.398] inherits <- base::inherits [13:14:02.398] invokeRestart <- base::invokeRestart [13:14:02.398] length <- base::length [13:14:02.398] list <- base::list [13:14:02.398] seq.int <- base::seq.int [13:14:02.398] signalCondition <- base::signalCondition [13:14:02.398] sys.calls <- base::sys.calls [13:14:02.398] `[[` <- base::`[[` [13:14:02.398] `+` <- base::`+` [13:14:02.398] `<<-` <- base::`<<-` [13:14:02.398] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.398] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.398] 3L)] [13:14:02.398] } [13:14:02.398] function(cond) { [13:14:02.398] is_error <- inherits(cond, "error") [13:14:02.398] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.398] NULL) [13:14:02.398] if (is_error) { [13:14:02.398] sessionInformation <- function() { [13:14:02.398] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.398] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.398] search = base::search(), system = base::Sys.info()) [13:14:02.398] } [13:14:02.398] ...future.conditions[[length(...future.conditions) + [13:14:02.398] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.398] cond$call), session = sessionInformation(), [13:14:02.398] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.398] signalCondition(cond) [13:14:02.398] } [13:14:02.398] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.398] "immediateCondition"))) { [13:14:02.398] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.398] ...future.conditions[[length(...future.conditions) + [13:14:02.398] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.398] if (TRUE && !signal) { [13:14:02.398] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.398] { [13:14:02.398] inherits <- base::inherits [13:14:02.398] invokeRestart <- base::invokeRestart [13:14:02.398] is.null <- base::is.null [13:14:02.398] muffled <- FALSE [13:14:02.398] if (inherits(cond, "message")) { [13:14:02.398] muffled <- grepl(pattern, "muffleMessage") [13:14:02.398] if (muffled) [13:14:02.398] invokeRestart("muffleMessage") [13:14:02.398] } [13:14:02.398] else if (inherits(cond, "warning")) { [13:14:02.398] muffled <- grepl(pattern, "muffleWarning") [13:14:02.398] if (muffled) [13:14:02.398] invokeRestart("muffleWarning") [13:14:02.398] } [13:14:02.398] else if (inherits(cond, "condition")) { [13:14:02.398] if (!is.null(pattern)) { [13:14:02.398] computeRestarts <- base::computeRestarts [13:14:02.398] grepl <- base::grepl [13:14:02.398] restarts <- computeRestarts(cond) [13:14:02.398] for (restart in restarts) { [13:14:02.398] name <- restart$name [13:14:02.398] if (is.null(name)) [13:14:02.398] next [13:14:02.398] if (!grepl(pattern, name)) [13:14:02.398] next [13:14:02.398] invokeRestart(restart) [13:14:02.398] muffled <- TRUE [13:14:02.398] break [13:14:02.398] } [13:14:02.398] } [13:14:02.398] } [13:14:02.398] invisible(muffled) [13:14:02.398] } [13:14:02.398] muffleCondition(cond, pattern = "^muffle") [13:14:02.398] } [13:14:02.398] } [13:14:02.398] else { [13:14:02.398] if (TRUE) { [13:14:02.398] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.398] { [13:14:02.398] inherits <- base::inherits [13:14:02.398] invokeRestart <- base::invokeRestart [13:14:02.398] is.null <- base::is.null [13:14:02.398] muffled <- FALSE [13:14:02.398] if (inherits(cond, "message")) { [13:14:02.398] muffled <- grepl(pattern, "muffleMessage") [13:14:02.398] if (muffled) [13:14:02.398] invokeRestart("muffleMessage") [13:14:02.398] } [13:14:02.398] else if (inherits(cond, "warning")) { [13:14:02.398] muffled <- grepl(pattern, "muffleWarning") [13:14:02.398] if (muffled) [13:14:02.398] invokeRestart("muffleWarning") [13:14:02.398] } [13:14:02.398] else if (inherits(cond, "condition")) { [13:14:02.398] if (!is.null(pattern)) { [13:14:02.398] computeRestarts <- base::computeRestarts [13:14:02.398] grepl <- base::grepl [13:14:02.398] restarts <- computeRestarts(cond) [13:14:02.398] for (restart in restarts) { [13:14:02.398] name <- restart$name [13:14:02.398] if (is.null(name)) [13:14:02.398] next [13:14:02.398] if (!grepl(pattern, name)) [13:14:02.398] next [13:14:02.398] invokeRestart(restart) [13:14:02.398] muffled <- TRUE [13:14:02.398] break [13:14:02.398] } [13:14:02.398] } [13:14:02.398] } [13:14:02.398] invisible(muffled) [13:14:02.398] } [13:14:02.398] muffleCondition(cond, pattern = "^muffle") [13:14:02.398] } [13:14:02.398] } [13:14:02.398] } [13:14:02.398] })) [13:14:02.398] }, error = function(ex) { [13:14:02.398] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.398] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.398] ...future.rng), started = ...future.startTime, [13:14:02.398] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.398] version = "1.8"), class = "FutureResult") [13:14:02.398] }, finally = { [13:14:02.398] if (!identical(...future.workdir, getwd())) [13:14:02.398] setwd(...future.workdir) [13:14:02.398] { [13:14:02.398] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.398] ...future.oldOptions$nwarnings <- NULL [13:14:02.398] } [13:14:02.398] base::options(...future.oldOptions) [13:14:02.398] if (.Platform$OS.type == "windows") { [13:14:02.398] old_names <- names(...future.oldEnvVars) [13:14:02.398] envs <- base::Sys.getenv() [13:14:02.398] names <- names(envs) [13:14:02.398] common <- intersect(names, old_names) [13:14:02.398] added <- setdiff(names, old_names) [13:14:02.398] removed <- setdiff(old_names, names) [13:14:02.398] changed <- common[...future.oldEnvVars[common] != [13:14:02.398] envs[common]] [13:14:02.398] NAMES <- toupper(changed) [13:14:02.398] args <- list() [13:14:02.398] for (kk in seq_along(NAMES)) { [13:14:02.398] name <- changed[[kk]] [13:14:02.398] NAME <- NAMES[[kk]] [13:14:02.398] if (name != NAME && is.element(NAME, old_names)) [13:14:02.398] next [13:14:02.398] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.398] } [13:14:02.398] NAMES <- toupper(added) [13:14:02.398] for (kk in seq_along(NAMES)) { [13:14:02.398] name <- added[[kk]] [13:14:02.398] NAME <- NAMES[[kk]] [13:14:02.398] if (name != NAME && is.element(NAME, old_names)) [13:14:02.398] next [13:14:02.398] args[[name]] <- "" [13:14:02.398] } [13:14:02.398] NAMES <- toupper(removed) [13:14:02.398] for (kk in seq_along(NAMES)) { [13:14:02.398] name <- removed[[kk]] [13:14:02.398] NAME <- NAMES[[kk]] [13:14:02.398] if (name != NAME && is.element(NAME, old_names)) [13:14:02.398] next [13:14:02.398] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.398] } [13:14:02.398] if (length(args) > 0) [13:14:02.398] base::do.call(base::Sys.setenv, args = args) [13:14:02.398] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.398] } [13:14:02.398] else { [13:14:02.398] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.398] } [13:14:02.398] { [13:14:02.398] if (base::length(...future.futureOptionsAdded) > [13:14:02.398] 0L) { [13:14:02.398] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.398] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.398] base::options(opts) [13:14:02.398] } [13:14:02.398] { [13:14:02.398] { [13:14:02.398] NULL [13:14:02.398] RNGkind("Mersenne-Twister") [13:14:02.398] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.398] inherits = FALSE) [13:14:02.398] } [13:14:02.398] options(future.plan = NULL) [13:14:02.398] if (is.na(NA_character_)) [13:14:02.398] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.398] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.398] future::plan(list(function (..., envir = parent.frame()) [13:14:02.398] { [13:14:02.398] future <- SequentialFuture(..., envir = envir) [13:14:02.398] if (!future$lazy) [13:14:02.398] future <- run(future) [13:14:02.398] invisible(future) [13:14:02.398] }), .cleanup = FALSE, .init = FALSE) [13:14:02.398] } [13:14:02.398] } [13:14:02.398] } [13:14:02.398] }) [13:14:02.398] if (TRUE) { [13:14:02.398] base::sink(type = "output", split = FALSE) [13:14:02.398] if (TRUE) { [13:14:02.398] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.398] } [13:14:02.398] else { [13:14:02.398] ...future.result["stdout"] <- base::list(NULL) [13:14:02.398] } [13:14:02.398] base::close(...future.stdout) [13:14:02.398] ...future.stdout <- NULL [13:14:02.398] } [13:14:02.398] ...future.result$conditions <- ...future.conditions [13:14:02.398] ...future.result$finished <- base::Sys.time() [13:14:02.398] ...future.result [13:14:02.398] } [13:14:02.400] assign_globals() ... [13:14:02.400] List of 5 [13:14:02.400] $ ...future.FUN :function (x, ...) [13:14:02.400] $ future.call.arguments : list() [13:14:02.400] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.400] $ ...future.elements_ii :List of 3 [13:14:02.400] ..$ : chr "a" [13:14:02.400] ..$ : chr "b" [13:14:02.400] ..$ : chr "c" [13:14:02.400] $ ...future.seeds_ii : NULL [13:14:02.400] $ ...future.globals.maxSize: NULL [13:14:02.400] - attr(*, "where")=List of 5 [13:14:02.400] ..$ ...future.FUN : [13:14:02.400] ..$ future.call.arguments : [13:14:02.400] ..$ ...future.elements_ii : [13:14:02.400] ..$ ...future.seeds_ii : [13:14:02.400] ..$ ...future.globals.maxSize: [13:14:02.400] - attr(*, "resolved")= logi FALSE [13:14:02.400] - attr(*, "total_size")= num 1248 [13:14:02.400] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.400] - attr(*, "already-done")= logi TRUE [13:14:02.405] - copied '...future.FUN' to environment [13:14:02.405] - copied 'future.call.arguments' to environment [13:14:02.405] - copied '...future.elements_ii' to environment [13:14:02.405] - copied '...future.seeds_ii' to environment [13:14:02.405] - copied '...future.globals.maxSize' to environment [13:14:02.405] assign_globals() ... done [13:14:02.406] plan(): Setting new future strategy stack: [13:14:02.406] List of future strategies: [13:14:02.406] 1. sequential: [13:14:02.406] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.406] - tweaked: FALSE [13:14:02.406] - call: NULL [13:14:02.406] plan(): nbrOfWorkers() = 1 [13:14:02.407] plan(): Setting new future strategy stack: [13:14:02.407] List of future strategies: [13:14:02.407] 1. sequential: [13:14:02.407] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.407] - tweaked: FALSE [13:14:02.407] - call: plan(strategy) [13:14:02.408] plan(): nbrOfWorkers() = 1 [13:14:02.408] SequentialFuture started (and completed) [13:14:02.408] - Launch lazy future ... done [13:14:02.408] run() for 'SequentialFuture' ... done [13:14:02.408] Created future: [13:14:02.408] SequentialFuture: [13:14:02.408] Label: 'future_sapply-1' [13:14:02.408] Expression: [13:14:02.408] { [13:14:02.408] do.call(function(...) { [13:14:02.408] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.408] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.408] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.408] on.exit(options(oopts), add = TRUE) [13:14:02.408] } [13:14:02.408] { [13:14:02.408] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.408] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.408] ...future.FUN(...future.X_jj, ...) [13:14:02.408] }) [13:14:02.408] } [13:14:02.408] }, args = future.call.arguments) [13:14:02.408] } [13:14:02.408] Lazy evaluation: FALSE [13:14:02.408] Asynchronous evaluation: FALSE [13:14:02.408] Local evaluation: TRUE [13:14:02.408] Environment: R_GlobalEnv [13:14:02.408] Capture standard output: TRUE [13:14:02.408] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.408] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.408] Packages: [13:14:02.408] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.408] Resolved: TRUE [13:14:02.408] Value: 840 bytes of class 'list' [13:14:02.408] Early signaling: FALSE [13:14:02.408] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.408] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.410] Chunk #1 of 1 ... DONE [13:14:02.410] Launching 1 futures (chunks) ... DONE [13:14:02.410] Resolving 1 futures (chunks) ... [13:14:02.411] resolve() on list ... [13:14:02.411] recursive: 0 [13:14:02.411] length: 1 [13:14:02.411] [13:14:02.411] resolved() for 'SequentialFuture' ... [13:14:02.411] - state: 'finished' [13:14:02.411] - run: TRUE [13:14:02.411] - result: 'FutureResult' [13:14:02.411] resolved() for 'SequentialFuture' ... done [13:14:02.412] Future #1 [13:14:02.412] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.412] - nx: 1 [13:14:02.412] - relay: TRUE [13:14:02.412] - stdout: TRUE [13:14:02.412] - signal: TRUE [13:14:02.412] - resignal: FALSE [13:14:02.412] - force: TRUE [13:14:02.413] - relayed: [n=1] FALSE [13:14:02.413] - queued futures: [n=1] FALSE [13:14:02.413] - until=1 [13:14:02.413] - relaying element #1 [13:14:02.413] - relayed: [n=1] TRUE [13:14:02.413] - queued futures: [n=1] TRUE [13:14:02.413] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.413] length: 0 (resolved future 1) [13:14:02.414] Relaying remaining futures [13:14:02.414] signalConditionsASAP(NULL, pos=0) ... [13:14:02.414] - nx: 1 [13:14:02.414] - relay: TRUE [13:14:02.414] - stdout: TRUE [13:14:02.414] - signal: TRUE [13:14:02.414] - resignal: FALSE [13:14:02.414] - force: TRUE [13:14:02.414] - relayed: [n=1] TRUE [13:14:02.415] - queued futures: [n=1] TRUE - flush all [13:14:02.415] - relayed: [n=1] TRUE [13:14:02.415] - queued futures: [n=1] TRUE [13:14:02.415] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.415] resolve() on list ... DONE [13:14:02.415] - Number of value chunks collected: 1 [13:14:02.415] Resolving 1 futures (chunks) ... DONE [13:14:02.415] Reducing values from 1 chunks ... [13:14:02.416] - Number of values collected after concatenation: 3 [13:14:02.416] - Number of values expected: 3 [13:14:02.416] Reducing values from 1 chunks ... DONE [13:14:02.416] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: chr [1, 1] "a" ..$ b: chr [1, 1] "b" ..$ c: chr [1, 1] "c" $ y1:List of 3 ..$ a: chr [1, 1] "a" ..$ b: chr [1, 1] "b" ..$ c: chr [1, 1] "c" List of 2 $ y0:List of 3 ..$ a: chr [1, 1] "a" ..$ b: chr [1, 1] "b" ..$ c: chr [1, 1] "c" $ y2:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" [13:14:02.420] future_lapply() ... [13:14:02.421] Number of chunks: 1 [13:14:02.421] getGlobalsAndPackagesXApply() ... [13:14:02.421] - future.globals: TRUE [13:14:02.421] getGlobalsAndPackages() ... [13:14:02.421] Searching for globals... [13:14:02.422] - globals found: [1] 'FUN' [13:14:02.422] Searching for globals ... DONE [13:14:02.422] Resolving globals: FALSE [13:14:02.422] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.423] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.423] - globals: [1] 'FUN' [13:14:02.423] [13:14:02.423] getGlobalsAndPackages() ... DONE [13:14:02.423] - globals found/used: [n=1] 'FUN' [13:14:02.423] - needed namespaces: [n=0] [13:14:02.423] Finding globals ... DONE [13:14:02.424] - use_args: TRUE [13:14:02.424] - Getting '...' globals ... [13:14:02.424] resolve() on list ... [13:14:02.424] recursive: 0 [13:14:02.424] length: 1 [13:14:02.424] elements: '...' [13:14:02.424] length: 0 (resolved future 1) [13:14:02.425] resolve() on list ... DONE [13:14:02.425] - '...' content: [n=0] [13:14:02.425] List of 1 [13:14:02.425] $ ...: list() [13:14:02.425] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.425] - attr(*, "where")=List of 1 [13:14:02.425] ..$ ...: [13:14:02.425] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.425] - attr(*, "resolved")= logi TRUE [13:14:02.425] - attr(*, "total_size")= num NA [13:14:02.428] - Getting '...' globals ... DONE [13:14:02.428] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.428] List of 2 [13:14:02.428] $ ...future.FUN:function (x) [13:14:02.428] $ ... : list() [13:14:02.428] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.428] - attr(*, "where")=List of 2 [13:14:02.428] ..$ ...future.FUN: [13:14:02.428] ..$ ... : [13:14:02.428] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.428] - attr(*, "resolved")= logi FALSE [13:14:02.428] - attr(*, "total_size")= num 848 [13:14:02.430] Packages to be attached in all futures: [n=0] [13:14:02.431] getGlobalsAndPackagesXApply() ... DONE [13:14:02.431] Number of futures (= number of chunks): 1 [13:14:02.431] Launching 1 futures (chunks) ... [13:14:02.431] Chunk #1 of 1 ... [13:14:02.431] - Finding globals in 'X' for chunk #1 ... [13:14:02.431] getGlobalsAndPackages() ... [13:14:02.431] Searching for globals... [13:14:02.432] [13:14:02.432] Searching for globals ... DONE [13:14:02.432] - globals: [0] [13:14:02.432] getGlobalsAndPackages() ... DONE [13:14:02.432] + additional globals found: [n=0] [13:14:02.432] + additional namespaces needed: [n=0] [13:14:02.432] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.432] - seeds: [13:14:02.433] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.433] getGlobalsAndPackages() ... [13:14:02.433] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.433] Resolving globals: FALSE [13:14:02.433] Tweak future expression to call with '...' arguments ... [13:14:02.433] { [13:14:02.433] do.call(function(...) { [13:14:02.433] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.433] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.433] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.433] on.exit(options(oopts), add = TRUE) [13:14:02.433] } [13:14:02.433] { [13:14:02.433] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.433] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.433] ...future.FUN(...future.X_jj, ...) [13:14:02.433] }) [13:14:02.433] } [13:14:02.433] }, args = future.call.arguments) [13:14:02.433] } [13:14:02.434] Tweak future expression to call with '...' arguments ... DONE [13:14:02.434] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.434] [13:14:02.434] getGlobalsAndPackages() ... DONE [13:14:02.434] run() for 'Future' ... [13:14:02.434] - state: 'created' [13:14:02.435] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.435] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.435] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.435] - Field: 'label' [13:14:02.435] - Field: 'local' [13:14:02.435] - Field: 'owner' [13:14:02.436] - Field: 'envir' [13:14:02.436] - Field: 'packages' [13:14:02.436] - Field: 'gc' [13:14:02.436] - Field: 'conditions' [13:14:02.436] - Field: 'expr' [13:14:02.436] - Field: 'uuid' [13:14:02.436] - Field: 'seed' [13:14:02.436] - Field: 'version' [13:14:02.437] - Field: 'result' [13:14:02.437] - Field: 'asynchronous' [13:14:02.437] - Field: 'calls' [13:14:02.437] - Field: 'globals' [13:14:02.437] - Field: 'stdout' [13:14:02.437] - Field: 'earlySignal' [13:14:02.437] - Field: 'lazy' [13:14:02.437] - Field: 'state' [13:14:02.438] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.438] - Launch lazy future ... [13:14:02.438] Packages needed by the future expression (n = 0): [13:14:02.438] Packages needed by future strategies (n = 0): [13:14:02.438] { [13:14:02.438] { [13:14:02.438] { [13:14:02.438] ...future.startTime <- base::Sys.time() [13:14:02.438] { [13:14:02.438] { [13:14:02.438] { [13:14:02.438] base::local({ [13:14:02.438] has_future <- base::requireNamespace("future", [13:14:02.438] quietly = TRUE) [13:14:02.438] if (has_future) { [13:14:02.438] ns <- base::getNamespace("future") [13:14:02.438] version <- ns[[".package"]][["version"]] [13:14:02.438] if (is.null(version)) [13:14:02.438] version <- utils::packageVersion("future") [13:14:02.438] } [13:14:02.438] else { [13:14:02.438] version <- NULL [13:14:02.438] } [13:14:02.438] if (!has_future || version < "1.8.0") { [13:14:02.438] info <- base::c(r_version = base::gsub("R version ", [13:14:02.438] "", base::R.version$version.string), [13:14:02.438] platform = base::sprintf("%s (%s-bit)", [13:14:02.438] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.438] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.438] "release", "version")], collapse = " "), [13:14:02.438] hostname = base::Sys.info()[["nodename"]]) [13:14:02.438] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.438] info) [13:14:02.438] info <- base::paste(info, collapse = "; ") [13:14:02.438] if (!has_future) { [13:14:02.438] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.438] info) [13:14:02.438] } [13:14:02.438] else { [13:14:02.438] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.438] info, version) [13:14:02.438] } [13:14:02.438] base::stop(msg) [13:14:02.438] } [13:14:02.438] }) [13:14:02.438] } [13:14:02.438] options(future.plan = NULL) [13:14:02.438] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.438] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.438] } [13:14:02.438] ...future.workdir <- getwd() [13:14:02.438] } [13:14:02.438] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.438] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.438] } [13:14:02.438] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.438] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.438] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.438] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.438] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.438] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.438] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.438] base::names(...future.oldOptions)) [13:14:02.438] } [13:14:02.438] if (FALSE) { [13:14:02.438] } [13:14:02.438] else { [13:14:02.438] if (TRUE) { [13:14:02.438] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.438] open = "w") [13:14:02.438] } [13:14:02.438] else { [13:14:02.438] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.438] windows = "NUL", "/dev/null"), open = "w") [13:14:02.438] } [13:14:02.438] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.438] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.438] base::sink(type = "output", split = FALSE) [13:14:02.438] base::close(...future.stdout) [13:14:02.438] }, add = TRUE) [13:14:02.438] } [13:14:02.438] ...future.frame <- base::sys.nframe() [13:14:02.438] ...future.conditions <- base::list() [13:14:02.438] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.438] if (FALSE) { [13:14:02.438] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.438] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.438] } [13:14:02.438] ...future.result <- base::tryCatch({ [13:14:02.438] base::withCallingHandlers({ [13:14:02.438] ...future.value <- base::withVisible(base::local({ [13:14:02.438] do.call(function(...) { [13:14:02.438] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.438] if (!identical(...future.globals.maxSize.org, [13:14:02.438] ...future.globals.maxSize)) { [13:14:02.438] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.438] on.exit(options(oopts), add = TRUE) [13:14:02.438] } [13:14:02.438] { [13:14:02.438] lapply(seq_along(...future.elements_ii), [13:14:02.438] FUN = function(jj) { [13:14:02.438] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.438] ...future.FUN(...future.X_jj, ...) [13:14:02.438] }) [13:14:02.438] } [13:14:02.438] }, args = future.call.arguments) [13:14:02.438] })) [13:14:02.438] future::FutureResult(value = ...future.value$value, [13:14:02.438] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.438] ...future.rng), globalenv = if (FALSE) [13:14:02.438] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.438] ...future.globalenv.names)) [13:14:02.438] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.438] }, condition = base::local({ [13:14:02.438] c <- base::c [13:14:02.438] inherits <- base::inherits [13:14:02.438] invokeRestart <- base::invokeRestart [13:14:02.438] length <- base::length [13:14:02.438] list <- base::list [13:14:02.438] seq.int <- base::seq.int [13:14:02.438] signalCondition <- base::signalCondition [13:14:02.438] sys.calls <- base::sys.calls [13:14:02.438] `[[` <- base::`[[` [13:14:02.438] `+` <- base::`+` [13:14:02.438] `<<-` <- base::`<<-` [13:14:02.438] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.438] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.438] 3L)] [13:14:02.438] } [13:14:02.438] function(cond) { [13:14:02.438] is_error <- inherits(cond, "error") [13:14:02.438] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.438] NULL) [13:14:02.438] if (is_error) { [13:14:02.438] sessionInformation <- function() { [13:14:02.438] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.438] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.438] search = base::search(), system = base::Sys.info()) [13:14:02.438] } [13:14:02.438] ...future.conditions[[length(...future.conditions) + [13:14:02.438] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.438] cond$call), session = sessionInformation(), [13:14:02.438] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.438] signalCondition(cond) [13:14:02.438] } [13:14:02.438] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.438] "immediateCondition"))) { [13:14:02.438] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.438] ...future.conditions[[length(...future.conditions) + [13:14:02.438] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.438] if (TRUE && !signal) { [13:14:02.438] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.438] { [13:14:02.438] inherits <- base::inherits [13:14:02.438] invokeRestart <- base::invokeRestart [13:14:02.438] is.null <- base::is.null [13:14:02.438] muffled <- FALSE [13:14:02.438] if (inherits(cond, "message")) { [13:14:02.438] muffled <- grepl(pattern, "muffleMessage") [13:14:02.438] if (muffled) [13:14:02.438] invokeRestart("muffleMessage") [13:14:02.438] } [13:14:02.438] else if (inherits(cond, "warning")) { [13:14:02.438] muffled <- grepl(pattern, "muffleWarning") [13:14:02.438] if (muffled) [13:14:02.438] invokeRestart("muffleWarning") [13:14:02.438] } [13:14:02.438] else if (inherits(cond, "condition")) { [13:14:02.438] if (!is.null(pattern)) { [13:14:02.438] computeRestarts <- base::computeRestarts [13:14:02.438] grepl <- base::grepl [13:14:02.438] restarts <- computeRestarts(cond) [13:14:02.438] for (restart in restarts) { [13:14:02.438] name <- restart$name [13:14:02.438] if (is.null(name)) [13:14:02.438] next [13:14:02.438] if (!grepl(pattern, name)) [13:14:02.438] next [13:14:02.438] invokeRestart(restart) [13:14:02.438] muffled <- TRUE [13:14:02.438] break [13:14:02.438] } [13:14:02.438] } [13:14:02.438] } [13:14:02.438] invisible(muffled) [13:14:02.438] } [13:14:02.438] muffleCondition(cond, pattern = "^muffle") [13:14:02.438] } [13:14:02.438] } [13:14:02.438] else { [13:14:02.438] if (TRUE) { [13:14:02.438] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.438] { [13:14:02.438] inherits <- base::inherits [13:14:02.438] invokeRestart <- base::invokeRestart [13:14:02.438] is.null <- base::is.null [13:14:02.438] muffled <- FALSE [13:14:02.438] if (inherits(cond, "message")) { [13:14:02.438] muffled <- grepl(pattern, "muffleMessage") [13:14:02.438] if (muffled) [13:14:02.438] invokeRestart("muffleMessage") [13:14:02.438] } [13:14:02.438] else if (inherits(cond, "warning")) { [13:14:02.438] muffled <- grepl(pattern, "muffleWarning") [13:14:02.438] if (muffled) [13:14:02.438] invokeRestart("muffleWarning") [13:14:02.438] } [13:14:02.438] else if (inherits(cond, "condition")) { [13:14:02.438] if (!is.null(pattern)) { [13:14:02.438] computeRestarts <- base::computeRestarts [13:14:02.438] grepl <- base::grepl [13:14:02.438] restarts <- computeRestarts(cond) [13:14:02.438] for (restart in restarts) { [13:14:02.438] name <- restart$name [13:14:02.438] if (is.null(name)) [13:14:02.438] next [13:14:02.438] if (!grepl(pattern, name)) [13:14:02.438] next [13:14:02.438] invokeRestart(restart) [13:14:02.438] muffled <- TRUE [13:14:02.438] break [13:14:02.438] } [13:14:02.438] } [13:14:02.438] } [13:14:02.438] invisible(muffled) [13:14:02.438] } [13:14:02.438] muffleCondition(cond, pattern = "^muffle") [13:14:02.438] } [13:14:02.438] } [13:14:02.438] } [13:14:02.438] })) [13:14:02.438] }, error = function(ex) { [13:14:02.438] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.438] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.438] ...future.rng), started = ...future.startTime, [13:14:02.438] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.438] version = "1.8"), class = "FutureResult") [13:14:02.438] }, finally = { [13:14:02.438] if (!identical(...future.workdir, getwd())) [13:14:02.438] setwd(...future.workdir) [13:14:02.438] { [13:14:02.438] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.438] ...future.oldOptions$nwarnings <- NULL [13:14:02.438] } [13:14:02.438] base::options(...future.oldOptions) [13:14:02.438] if (.Platform$OS.type == "windows") { [13:14:02.438] old_names <- names(...future.oldEnvVars) [13:14:02.438] envs <- base::Sys.getenv() [13:14:02.438] names <- names(envs) [13:14:02.438] common <- intersect(names, old_names) [13:14:02.438] added <- setdiff(names, old_names) [13:14:02.438] removed <- setdiff(old_names, names) [13:14:02.438] changed <- common[...future.oldEnvVars[common] != [13:14:02.438] envs[common]] [13:14:02.438] NAMES <- toupper(changed) [13:14:02.438] args <- list() [13:14:02.438] for (kk in seq_along(NAMES)) { [13:14:02.438] name <- changed[[kk]] [13:14:02.438] NAME <- NAMES[[kk]] [13:14:02.438] if (name != NAME && is.element(NAME, old_names)) [13:14:02.438] next [13:14:02.438] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.438] } [13:14:02.438] NAMES <- toupper(added) [13:14:02.438] for (kk in seq_along(NAMES)) { [13:14:02.438] name <- added[[kk]] [13:14:02.438] NAME <- NAMES[[kk]] [13:14:02.438] if (name != NAME && is.element(NAME, old_names)) [13:14:02.438] next [13:14:02.438] args[[name]] <- "" [13:14:02.438] } [13:14:02.438] NAMES <- toupper(removed) [13:14:02.438] for (kk in seq_along(NAMES)) { [13:14:02.438] name <- removed[[kk]] [13:14:02.438] NAME <- NAMES[[kk]] [13:14:02.438] if (name != NAME && is.element(NAME, old_names)) [13:14:02.438] next [13:14:02.438] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.438] } [13:14:02.438] if (length(args) > 0) [13:14:02.438] base::do.call(base::Sys.setenv, args = args) [13:14:02.438] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.438] } [13:14:02.438] else { [13:14:02.438] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.438] } [13:14:02.438] { [13:14:02.438] if (base::length(...future.futureOptionsAdded) > [13:14:02.438] 0L) { [13:14:02.438] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.438] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.438] base::options(opts) [13:14:02.438] } [13:14:02.438] { [13:14:02.438] { [13:14:02.438] NULL [13:14:02.438] RNGkind("Mersenne-Twister") [13:14:02.438] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.438] inherits = FALSE) [13:14:02.438] } [13:14:02.438] options(future.plan = NULL) [13:14:02.438] if (is.na(NA_character_)) [13:14:02.438] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.438] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.438] future::plan(list(function (..., envir = parent.frame()) [13:14:02.438] { [13:14:02.438] future <- SequentialFuture(..., envir = envir) [13:14:02.438] if (!future$lazy) [13:14:02.438] future <- run(future) [13:14:02.438] invisible(future) [13:14:02.438] }), .cleanup = FALSE, .init = FALSE) [13:14:02.438] } [13:14:02.438] } [13:14:02.438] } [13:14:02.438] }) [13:14:02.438] if (TRUE) { [13:14:02.438] base::sink(type = "output", split = FALSE) [13:14:02.438] if (TRUE) { [13:14:02.438] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.438] } [13:14:02.438] else { [13:14:02.438] ...future.result["stdout"] <- base::list(NULL) [13:14:02.438] } [13:14:02.438] base::close(...future.stdout) [13:14:02.438] ...future.stdout <- NULL [13:14:02.438] } [13:14:02.438] ...future.result$conditions <- ...future.conditions [13:14:02.438] ...future.result$finished <- base::Sys.time() [13:14:02.438] ...future.result [13:14:02.438] } [13:14:02.441] assign_globals() ... [13:14:02.441] List of 5 [13:14:02.441] $ ...future.FUN :function (x) [13:14:02.441] $ future.call.arguments : list() [13:14:02.441] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.441] $ ...future.elements_ii :List of 3 [13:14:02.441] ..$ : chr "a" [13:14:02.441] ..$ : chr "b" [13:14:02.441] ..$ : chr "c" [13:14:02.441] $ ...future.seeds_ii : NULL [13:14:02.441] $ ...future.globals.maxSize: NULL [13:14:02.441] - attr(*, "where")=List of 5 [13:14:02.441] ..$ ...future.FUN : [13:14:02.441] ..$ future.call.arguments : [13:14:02.441] ..$ ...future.elements_ii : [13:14:02.441] ..$ ...future.seeds_ii : [13:14:02.441] ..$ ...future.globals.maxSize: [13:14:02.441] - attr(*, "resolved")= logi FALSE [13:14:02.441] - attr(*, "total_size")= num 848 [13:14:02.441] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.441] - attr(*, "already-done")= logi TRUE [13:14:02.446] - copied '...future.FUN' to environment [13:14:02.447] - copied 'future.call.arguments' to environment [13:14:02.447] - copied '...future.elements_ii' to environment [13:14:02.447] - copied '...future.seeds_ii' to environment [13:14:02.447] - copied '...future.globals.maxSize' to environment [13:14:02.447] assign_globals() ... done [13:14:02.447] plan(): Setting new future strategy stack: [13:14:02.447] List of future strategies: [13:14:02.447] 1. sequential: [13:14:02.447] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.447] - tweaked: FALSE [13:14:02.447] - call: NULL [13:14:02.448] plan(): nbrOfWorkers() = 1 [13:14:02.449] plan(): Setting new future strategy stack: [13:14:02.449] List of future strategies: [13:14:02.449] 1. sequential: [13:14:02.449] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.449] - tweaked: FALSE [13:14:02.449] - call: plan(strategy) [13:14:02.449] plan(): nbrOfWorkers() = 1 [13:14:02.450] SequentialFuture started (and completed) [13:14:02.450] - Launch lazy future ... done [13:14:02.450] run() for 'SequentialFuture' ... done [13:14:02.450] Created future: [13:14:02.450] SequentialFuture: [13:14:02.450] Label: 'future_sapply-1' [13:14:02.450] Expression: [13:14:02.450] { [13:14:02.450] do.call(function(...) { [13:14:02.450] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.450] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.450] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.450] on.exit(options(oopts), add = TRUE) [13:14:02.450] } [13:14:02.450] { [13:14:02.450] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.450] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.450] ...future.FUN(...future.X_jj, ...) [13:14:02.450] }) [13:14:02.450] } [13:14:02.450] }, args = future.call.arguments) [13:14:02.450] } [13:14:02.450] Lazy evaluation: FALSE [13:14:02.450] Asynchronous evaluation: FALSE [13:14:02.450] Local evaluation: TRUE [13:14:02.450] Environment: R_GlobalEnv [13:14:02.450] Capture standard output: TRUE [13:14:02.450] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.450] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.450] Packages: [13:14:02.450] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.450] Resolved: TRUE [13:14:02.450] Value: 336 bytes of class 'list' [13:14:02.450] Early signaling: FALSE [13:14:02.450] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.450] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.451] Chunk #1 of 1 ... DONE [13:14:02.451] Launching 1 futures (chunks) ... DONE [13:14:02.451] Resolving 1 futures (chunks) ... [13:14:02.451] resolve() on list ... [13:14:02.452] recursive: 0 [13:14:02.452] length: 1 [13:14:02.452] [13:14:02.452] resolved() for 'SequentialFuture' ... [13:14:02.452] - state: 'finished' [13:14:02.452] - run: TRUE [13:14:02.452] - result: 'FutureResult' [13:14:02.452] resolved() for 'SequentialFuture' ... done [13:14:02.453] Future #1 [13:14:02.453] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.453] - nx: 1 [13:14:02.453] - relay: TRUE [13:14:02.453] - stdout: TRUE [13:14:02.453] - signal: TRUE [13:14:02.453] - resignal: FALSE [13:14:02.453] - force: TRUE [13:14:02.453] - relayed: [n=1] FALSE [13:14:02.454] - queued futures: [n=1] FALSE [13:14:02.454] - until=1 [13:14:02.454] - relaying element #1 [13:14:02.454] - relayed: [n=1] TRUE [13:14:02.454] - queued futures: [n=1] TRUE [13:14:02.454] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.454] length: 0 (resolved future 1) [13:14:02.455] Relaying remaining futures [13:14:02.455] signalConditionsASAP(NULL, pos=0) ... [13:14:02.455] - nx: 1 [13:14:02.455] - relay: TRUE [13:14:02.455] - stdout: TRUE [13:14:02.455] - signal: TRUE [13:14:02.455] - resignal: FALSE [13:14:02.455] - force: TRUE [13:14:02.455] - relayed: [n=1] TRUE [13:14:02.455] - queued futures: [n=1] TRUE - flush all [13:14:02.456] - relayed: [n=1] TRUE [13:14:02.456] - queued futures: [n=1] TRUE [13:14:02.456] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.456] resolve() on list ... DONE [13:14:02.456] - Number of value chunks collected: 1 [13:14:02.456] Resolving 1 futures (chunks) ... DONE [13:14:02.456] Reducing values from 1 chunks ... [13:14:02.456] - Number of values collected after concatenation: 3 [13:14:02.457] - Number of values expected: 3 [13:14:02.457] Reducing values from 1 chunks ... DONE [13:14:02.457] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:02.458] future_lapply() ... [13:14:02.458] Number of chunks: 1 [13:14:02.459] getGlobalsAndPackagesXApply() ... [13:14:02.459] - future.globals: TRUE [13:14:02.459] getGlobalsAndPackages() ... [13:14:02.459] Searching for globals... [13:14:02.460] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.460] Searching for globals ... DONE [13:14:02.460] Resolving globals: FALSE [13:14:02.460] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.461] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.461] - globals: [1] 'FUN' [13:14:02.461] [13:14:02.461] getGlobalsAndPackages() ... DONE [13:14:02.461] - globals found/used: [n=1] 'FUN' [13:14:02.461] - needed namespaces: [n=0] [13:14:02.461] Finding globals ... DONE [13:14:02.462] - use_args: TRUE [13:14:02.462] - Getting '...' globals ... [13:14:02.462] resolve() on list ... [13:14:02.462] recursive: 0 [13:14:02.462] length: 1 [13:14:02.462] elements: '...' [13:14:02.462] length: 0 (resolved future 1) [13:14:02.509] resolve() on list ... DONE [13:14:02.510] - '...' content: [n=0] [13:14:02.510] List of 1 [13:14:02.510] $ ...: list() [13:14:02.510] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.510] - attr(*, "where")=List of 1 [13:14:02.510] ..$ ...: [13:14:02.510] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.510] - attr(*, "resolved")= logi TRUE [13:14:02.510] - attr(*, "total_size")= num NA [13:14:02.512] - Getting '...' globals ... DONE [13:14:02.512] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.513] List of 2 [13:14:02.513] $ ...future.FUN:function (x, ...) [13:14:02.513] $ ... : list() [13:14:02.513] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.513] - attr(*, "where")=List of 2 [13:14:02.513] ..$ ...future.FUN: [13:14:02.513] ..$ ... : [13:14:02.513] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.513] - attr(*, "resolved")= logi FALSE [13:14:02.513] - attr(*, "total_size")= num 1248 [13:14:02.515] Packages to be attached in all futures: [n=0] [13:14:02.516] getGlobalsAndPackagesXApply() ... DONE [13:14:02.516] Number of futures (= number of chunks): 1 [13:14:02.516] Launching 1 futures (chunks) ... [13:14:02.516] Chunk #1 of 1 ... [13:14:02.516] - Finding globals in 'X' for chunk #1 ... [13:14:02.516] getGlobalsAndPackages() ... [13:14:02.517] Searching for globals... [13:14:02.517] [13:14:02.517] Searching for globals ... DONE [13:14:02.517] - globals: [0] [13:14:02.517] getGlobalsAndPackages() ... DONE [13:14:02.517] + additional globals found: [n=0] [13:14:02.517] + additional namespaces needed: [n=0] [13:14:02.518] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.518] - seeds: [13:14:02.518] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.518] getGlobalsAndPackages() ... [13:14:02.518] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.518] Resolving globals: FALSE [13:14:02.518] Tweak future expression to call with '...' arguments ... [13:14:02.519] { [13:14:02.519] do.call(function(...) { [13:14:02.519] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.519] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.519] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.519] on.exit(options(oopts), add = TRUE) [13:14:02.519] } [13:14:02.519] { [13:14:02.519] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.519] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.519] ...future.FUN(...future.X_jj, ...) [13:14:02.519] }) [13:14:02.519] } [13:14:02.519] }, args = future.call.arguments) [13:14:02.519] } [13:14:02.519] Tweak future expression to call with '...' arguments ... DONE [13:14:02.519] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.520] [13:14:02.520] getGlobalsAndPackages() ... DONE [13:14:02.520] run() for 'Future' ... [13:14:02.520] - state: 'created' [13:14:02.521] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.521] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.521] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.521] - Field: 'label' [13:14:02.521] - Field: 'local' [13:14:02.521] - Field: 'owner' [13:14:02.522] - Field: 'envir' [13:14:02.522] - Field: 'packages' [13:14:02.522] - Field: 'gc' [13:14:02.522] - Field: 'conditions' [13:14:02.522] - Field: 'expr' [13:14:02.522] - Field: 'uuid' [13:14:02.522] - Field: 'seed' [13:14:02.523] - Field: 'version' [13:14:02.523] - Field: 'result' [13:14:02.523] - Field: 'asynchronous' [13:14:02.523] - Field: 'calls' [13:14:02.523] - Field: 'globals' [13:14:02.523] - Field: 'stdout' [13:14:02.524] - Field: 'earlySignal' [13:14:02.524] - Field: 'lazy' [13:14:02.524] - Field: 'state' [13:14:02.524] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.524] - Launch lazy future ... [13:14:02.524] Packages needed by the future expression (n = 0): [13:14:02.525] Packages needed by future strategies (n = 0): [13:14:02.525] { [13:14:02.525] { [13:14:02.525] { [13:14:02.525] ...future.startTime <- base::Sys.time() [13:14:02.525] { [13:14:02.525] { [13:14:02.525] { [13:14:02.525] base::local({ [13:14:02.525] has_future <- base::requireNamespace("future", [13:14:02.525] quietly = TRUE) [13:14:02.525] if (has_future) { [13:14:02.525] ns <- base::getNamespace("future") [13:14:02.525] version <- ns[[".package"]][["version"]] [13:14:02.525] if (is.null(version)) [13:14:02.525] version <- utils::packageVersion("future") [13:14:02.525] } [13:14:02.525] else { [13:14:02.525] version <- NULL [13:14:02.525] } [13:14:02.525] if (!has_future || version < "1.8.0") { [13:14:02.525] info <- base::c(r_version = base::gsub("R version ", [13:14:02.525] "", base::R.version$version.string), [13:14:02.525] platform = base::sprintf("%s (%s-bit)", [13:14:02.525] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.525] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.525] "release", "version")], collapse = " "), [13:14:02.525] hostname = base::Sys.info()[["nodename"]]) [13:14:02.525] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.525] info) [13:14:02.525] info <- base::paste(info, collapse = "; ") [13:14:02.525] if (!has_future) { [13:14:02.525] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.525] info) [13:14:02.525] } [13:14:02.525] else { [13:14:02.525] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.525] info, version) [13:14:02.525] } [13:14:02.525] base::stop(msg) [13:14:02.525] } [13:14:02.525] }) [13:14:02.525] } [13:14:02.525] options(future.plan = NULL) [13:14:02.525] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.525] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.525] } [13:14:02.525] ...future.workdir <- getwd() [13:14:02.525] } [13:14:02.525] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.525] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.525] } [13:14:02.525] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.525] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.525] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.525] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.525] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.525] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.525] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.525] base::names(...future.oldOptions)) [13:14:02.525] } [13:14:02.525] if (FALSE) { [13:14:02.525] } [13:14:02.525] else { [13:14:02.525] if (TRUE) { [13:14:02.525] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.525] open = "w") [13:14:02.525] } [13:14:02.525] else { [13:14:02.525] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.525] windows = "NUL", "/dev/null"), open = "w") [13:14:02.525] } [13:14:02.525] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.525] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.525] base::sink(type = "output", split = FALSE) [13:14:02.525] base::close(...future.stdout) [13:14:02.525] }, add = TRUE) [13:14:02.525] } [13:14:02.525] ...future.frame <- base::sys.nframe() [13:14:02.525] ...future.conditions <- base::list() [13:14:02.525] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.525] if (FALSE) { [13:14:02.525] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.525] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.525] } [13:14:02.525] ...future.result <- base::tryCatch({ [13:14:02.525] base::withCallingHandlers({ [13:14:02.525] ...future.value <- base::withVisible(base::local({ [13:14:02.525] do.call(function(...) { [13:14:02.525] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.525] if (!identical(...future.globals.maxSize.org, [13:14:02.525] ...future.globals.maxSize)) { [13:14:02.525] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.525] on.exit(options(oopts), add = TRUE) [13:14:02.525] } [13:14:02.525] { [13:14:02.525] lapply(seq_along(...future.elements_ii), [13:14:02.525] FUN = function(jj) { [13:14:02.525] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.525] ...future.FUN(...future.X_jj, ...) [13:14:02.525] }) [13:14:02.525] } [13:14:02.525] }, args = future.call.arguments) [13:14:02.525] })) [13:14:02.525] future::FutureResult(value = ...future.value$value, [13:14:02.525] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.525] ...future.rng), globalenv = if (FALSE) [13:14:02.525] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.525] ...future.globalenv.names)) [13:14:02.525] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.525] }, condition = base::local({ [13:14:02.525] c <- base::c [13:14:02.525] inherits <- base::inherits [13:14:02.525] invokeRestart <- base::invokeRestart [13:14:02.525] length <- base::length [13:14:02.525] list <- base::list [13:14:02.525] seq.int <- base::seq.int [13:14:02.525] signalCondition <- base::signalCondition [13:14:02.525] sys.calls <- base::sys.calls [13:14:02.525] `[[` <- base::`[[` [13:14:02.525] `+` <- base::`+` [13:14:02.525] `<<-` <- base::`<<-` [13:14:02.525] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.525] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.525] 3L)] [13:14:02.525] } [13:14:02.525] function(cond) { [13:14:02.525] is_error <- inherits(cond, "error") [13:14:02.525] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.525] NULL) [13:14:02.525] if (is_error) { [13:14:02.525] sessionInformation <- function() { [13:14:02.525] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.525] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.525] search = base::search(), system = base::Sys.info()) [13:14:02.525] } [13:14:02.525] ...future.conditions[[length(...future.conditions) + [13:14:02.525] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.525] cond$call), session = sessionInformation(), [13:14:02.525] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.525] signalCondition(cond) [13:14:02.525] } [13:14:02.525] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.525] "immediateCondition"))) { [13:14:02.525] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.525] ...future.conditions[[length(...future.conditions) + [13:14:02.525] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.525] if (TRUE && !signal) { [13:14:02.525] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.525] { [13:14:02.525] inherits <- base::inherits [13:14:02.525] invokeRestart <- base::invokeRestart [13:14:02.525] is.null <- base::is.null [13:14:02.525] muffled <- FALSE [13:14:02.525] if (inherits(cond, "message")) { [13:14:02.525] muffled <- grepl(pattern, "muffleMessage") [13:14:02.525] if (muffled) [13:14:02.525] invokeRestart("muffleMessage") [13:14:02.525] } [13:14:02.525] else if (inherits(cond, "warning")) { [13:14:02.525] muffled <- grepl(pattern, "muffleWarning") [13:14:02.525] if (muffled) [13:14:02.525] invokeRestart("muffleWarning") [13:14:02.525] } [13:14:02.525] else if (inherits(cond, "condition")) { [13:14:02.525] if (!is.null(pattern)) { [13:14:02.525] computeRestarts <- base::computeRestarts [13:14:02.525] grepl <- base::grepl [13:14:02.525] restarts <- computeRestarts(cond) [13:14:02.525] for (restart in restarts) { [13:14:02.525] name <- restart$name [13:14:02.525] if (is.null(name)) [13:14:02.525] next [13:14:02.525] if (!grepl(pattern, name)) [13:14:02.525] next [13:14:02.525] invokeRestart(restart) [13:14:02.525] muffled <- TRUE [13:14:02.525] break [13:14:02.525] } [13:14:02.525] } [13:14:02.525] } [13:14:02.525] invisible(muffled) [13:14:02.525] } [13:14:02.525] muffleCondition(cond, pattern = "^muffle") [13:14:02.525] } [13:14:02.525] } [13:14:02.525] else { [13:14:02.525] if (TRUE) { [13:14:02.525] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.525] { [13:14:02.525] inherits <- base::inherits [13:14:02.525] invokeRestart <- base::invokeRestart [13:14:02.525] is.null <- base::is.null [13:14:02.525] muffled <- FALSE [13:14:02.525] if (inherits(cond, "message")) { [13:14:02.525] muffled <- grepl(pattern, "muffleMessage") [13:14:02.525] if (muffled) [13:14:02.525] invokeRestart("muffleMessage") [13:14:02.525] } [13:14:02.525] else if (inherits(cond, "warning")) { [13:14:02.525] muffled <- grepl(pattern, "muffleWarning") [13:14:02.525] if (muffled) [13:14:02.525] invokeRestart("muffleWarning") [13:14:02.525] } [13:14:02.525] else if (inherits(cond, "condition")) { [13:14:02.525] if (!is.null(pattern)) { [13:14:02.525] computeRestarts <- base::computeRestarts [13:14:02.525] grepl <- base::grepl [13:14:02.525] restarts <- computeRestarts(cond) [13:14:02.525] for (restart in restarts) { [13:14:02.525] name <- restart$name [13:14:02.525] if (is.null(name)) [13:14:02.525] next [13:14:02.525] if (!grepl(pattern, name)) [13:14:02.525] next [13:14:02.525] invokeRestart(restart) [13:14:02.525] muffled <- TRUE [13:14:02.525] break [13:14:02.525] } [13:14:02.525] } [13:14:02.525] } [13:14:02.525] invisible(muffled) [13:14:02.525] } [13:14:02.525] muffleCondition(cond, pattern = "^muffle") [13:14:02.525] } [13:14:02.525] } [13:14:02.525] } [13:14:02.525] })) [13:14:02.525] }, error = function(ex) { [13:14:02.525] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.525] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.525] ...future.rng), started = ...future.startTime, [13:14:02.525] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.525] version = "1.8"), class = "FutureResult") [13:14:02.525] }, finally = { [13:14:02.525] if (!identical(...future.workdir, getwd())) [13:14:02.525] setwd(...future.workdir) [13:14:02.525] { [13:14:02.525] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.525] ...future.oldOptions$nwarnings <- NULL [13:14:02.525] } [13:14:02.525] base::options(...future.oldOptions) [13:14:02.525] if (.Platform$OS.type == "windows") { [13:14:02.525] old_names <- names(...future.oldEnvVars) [13:14:02.525] envs <- base::Sys.getenv() [13:14:02.525] names <- names(envs) [13:14:02.525] common <- intersect(names, old_names) [13:14:02.525] added <- setdiff(names, old_names) [13:14:02.525] removed <- setdiff(old_names, names) [13:14:02.525] changed <- common[...future.oldEnvVars[common] != [13:14:02.525] envs[common]] [13:14:02.525] NAMES <- toupper(changed) [13:14:02.525] args <- list() [13:14:02.525] for (kk in seq_along(NAMES)) { [13:14:02.525] name <- changed[[kk]] [13:14:02.525] NAME <- NAMES[[kk]] [13:14:02.525] if (name != NAME && is.element(NAME, old_names)) [13:14:02.525] next [13:14:02.525] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.525] } [13:14:02.525] NAMES <- toupper(added) [13:14:02.525] for (kk in seq_along(NAMES)) { [13:14:02.525] name <- added[[kk]] [13:14:02.525] NAME <- NAMES[[kk]] [13:14:02.525] if (name != NAME && is.element(NAME, old_names)) [13:14:02.525] next [13:14:02.525] args[[name]] <- "" [13:14:02.525] } [13:14:02.525] NAMES <- toupper(removed) [13:14:02.525] for (kk in seq_along(NAMES)) { [13:14:02.525] name <- removed[[kk]] [13:14:02.525] NAME <- NAMES[[kk]] [13:14:02.525] if (name != NAME && is.element(NAME, old_names)) [13:14:02.525] next [13:14:02.525] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.525] } [13:14:02.525] if (length(args) > 0) [13:14:02.525] base::do.call(base::Sys.setenv, args = args) [13:14:02.525] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.525] } [13:14:02.525] else { [13:14:02.525] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.525] } [13:14:02.525] { [13:14:02.525] if (base::length(...future.futureOptionsAdded) > [13:14:02.525] 0L) { [13:14:02.525] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.525] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.525] base::options(opts) [13:14:02.525] } [13:14:02.525] { [13:14:02.525] { [13:14:02.525] NULL [13:14:02.525] RNGkind("Mersenne-Twister") [13:14:02.525] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.525] inherits = FALSE) [13:14:02.525] } [13:14:02.525] options(future.plan = NULL) [13:14:02.525] if (is.na(NA_character_)) [13:14:02.525] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.525] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.525] future::plan(list(function (..., envir = parent.frame()) [13:14:02.525] { [13:14:02.525] future <- SequentialFuture(..., envir = envir) [13:14:02.525] if (!future$lazy) [13:14:02.525] future <- run(future) [13:14:02.525] invisible(future) [13:14:02.525] }), .cleanup = FALSE, .init = FALSE) [13:14:02.525] } [13:14:02.525] } [13:14:02.525] } [13:14:02.525] }) [13:14:02.525] if (TRUE) { [13:14:02.525] base::sink(type = "output", split = FALSE) [13:14:02.525] if (TRUE) { [13:14:02.525] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.525] } [13:14:02.525] else { [13:14:02.525] ...future.result["stdout"] <- base::list(NULL) [13:14:02.525] } [13:14:02.525] base::close(...future.stdout) [13:14:02.525] ...future.stdout <- NULL [13:14:02.525] } [13:14:02.525] ...future.result$conditions <- ...future.conditions [13:14:02.525] ...future.result$finished <- base::Sys.time() [13:14:02.525] ...future.result [13:14:02.525] } [13:14:02.528] assign_globals() ... [13:14:02.528] List of 5 [13:14:02.528] $ ...future.FUN :function (x, ...) [13:14:02.528] $ future.call.arguments : list() [13:14:02.528] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.528] $ ...future.elements_ii :List of 3 [13:14:02.528] ..$ : chr "a" [13:14:02.528] ..$ : chr "b" [13:14:02.528] ..$ : chr "c" [13:14:02.528] $ ...future.seeds_ii : NULL [13:14:02.528] $ ...future.globals.maxSize: NULL [13:14:02.528] - attr(*, "where")=List of 5 [13:14:02.528] ..$ ...future.FUN : [13:14:02.528] ..$ future.call.arguments : [13:14:02.528] ..$ ...future.elements_ii : [13:14:02.528] ..$ ...future.seeds_ii : [13:14:02.528] ..$ ...future.globals.maxSize: [13:14:02.528] - attr(*, "resolved")= logi FALSE [13:14:02.528] - attr(*, "total_size")= num 1248 [13:14:02.528] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.528] - attr(*, "already-done")= logi TRUE [13:14:02.534] - copied '...future.FUN' to environment [13:14:02.534] - copied 'future.call.arguments' to environment [13:14:02.534] - copied '...future.elements_ii' to environment [13:14:02.534] - copied '...future.seeds_ii' to environment [13:14:02.534] - copied '...future.globals.maxSize' to environment [13:14:02.534] assign_globals() ... done [13:14:02.535] plan(): Setting new future strategy stack: [13:14:02.535] List of future strategies: [13:14:02.535] 1. sequential: [13:14:02.535] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.535] - tweaked: FALSE [13:14:02.535] - call: NULL [13:14:02.535] plan(): nbrOfWorkers() = 1 [13:14:02.537] plan(): Setting new future strategy stack: [13:14:02.537] List of future strategies: [13:14:02.537] 1. sequential: [13:14:02.537] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.537] - tweaked: FALSE [13:14:02.537] - call: plan(strategy) [13:14:02.537] plan(): nbrOfWorkers() = 1 [13:14:02.538] SequentialFuture started (and completed) [13:14:02.538] - Launch lazy future ... done [13:14:02.538] run() for 'SequentialFuture' ... done [13:14:02.538] Created future: [13:14:02.538] SequentialFuture: [13:14:02.538] Label: 'future_sapply-1' [13:14:02.538] Expression: [13:14:02.538] { [13:14:02.538] do.call(function(...) { [13:14:02.538] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.538] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.538] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.538] on.exit(options(oopts), add = TRUE) [13:14:02.538] } [13:14:02.538] { [13:14:02.538] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.538] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.538] ...future.FUN(...future.X_jj, ...) [13:14:02.538] }) [13:14:02.538] } [13:14:02.538] }, args = future.call.arguments) [13:14:02.538] } [13:14:02.538] Lazy evaluation: FALSE [13:14:02.538] Asynchronous evaluation: FALSE [13:14:02.538] Local evaluation: TRUE [13:14:02.538] Environment: R_GlobalEnv [13:14:02.538] Capture standard output: TRUE [13:14:02.538] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.538] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.538] Packages: [13:14:02.538] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.538] Resolved: TRUE [13:14:02.538] Value: 840 bytes of class 'list' [13:14:02.538] Early signaling: FALSE [13:14:02.538] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.538] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.539] Chunk #1 of 1 ... DONE [13:14:02.539] Launching 1 futures (chunks) ... DONE [13:14:02.539] Resolving 1 futures (chunks) ... [13:14:02.540] resolve() on list ... [13:14:02.540] recursive: 0 [13:14:02.540] length: 1 [13:14:02.540] [13:14:02.540] resolved() for 'SequentialFuture' ... [13:14:02.540] - state: 'finished' [13:14:02.540] - run: TRUE [13:14:02.541] - result: 'FutureResult' [13:14:02.541] resolved() for 'SequentialFuture' ... done [13:14:02.541] Future #1 [13:14:02.541] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.541] - nx: 1 [13:14:02.541] - relay: TRUE [13:14:02.541] - stdout: TRUE [13:14:02.542] - signal: TRUE [13:14:02.542] - resignal: FALSE [13:14:02.542] - force: TRUE [13:14:02.542] - relayed: [n=1] FALSE [13:14:02.542] - queued futures: [n=1] FALSE [13:14:02.542] - until=1 [13:14:02.542] - relaying element #1 [13:14:02.542] - relayed: [n=1] TRUE [13:14:02.543] - queued futures: [n=1] TRUE [13:14:02.543] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.543] length: 0 (resolved future 1) [13:14:02.543] Relaying remaining futures [13:14:02.543] signalConditionsASAP(NULL, pos=0) ... [13:14:02.543] - nx: 1 [13:14:02.543] - relay: TRUE [13:14:02.543] - stdout: TRUE [13:14:02.544] - signal: TRUE [13:14:02.544] - resignal: FALSE [13:14:02.544] - force: TRUE [13:14:02.544] - relayed: [n=1] TRUE [13:14:02.544] - queued futures: [n=1] TRUE - flush all [13:14:02.544] - relayed: [n=1] TRUE [13:14:02.544] - queued futures: [n=1] TRUE [13:14:02.545] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.545] resolve() on list ... DONE [13:14:02.545] - Number of value chunks collected: 1 [13:14:02.545] Resolving 1 futures (chunks) ... DONE [13:14:02.545] Reducing values from 1 chunks ... [13:14:02.545] - Number of values collected after concatenation: 3 [13:14:02.545] - Number of values expected: 3 [13:14:02.546] Reducing values from 1 chunks ... DONE [13:14:02.546] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:02.547] future_lapply() ... [13:14:02.548] Number of chunks: 1 [13:14:02.548] getGlobalsAndPackagesXApply() ... [13:14:02.548] - future.globals: TRUE [13:14:02.548] getGlobalsAndPackages() ... [13:14:02.548] Searching for globals... [13:14:02.549] - globals found: [1] 'FUN' [13:14:02.549] Searching for globals ... DONE [13:14:02.550] Resolving globals: FALSE [13:14:02.550] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.550] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.550] - globals: [1] 'FUN' [13:14:02.551] [13:14:02.551] getGlobalsAndPackages() ... DONE [13:14:02.551] - globals found/used: [n=1] 'FUN' [13:14:02.551] - needed namespaces: [n=0] [13:14:02.551] Finding globals ... DONE [13:14:02.551] - use_args: TRUE [13:14:02.551] - Getting '...' globals ... [13:14:02.552] resolve() on list ... [13:14:02.552] recursive: 0 [13:14:02.552] length: 1 [13:14:02.552] elements: '...' [13:14:02.552] length: 0 (resolved future 1) [13:14:02.552] resolve() on list ... DONE [13:14:02.552] - '...' content: [n=0] [13:14:02.553] List of 1 [13:14:02.553] $ ...: list() [13:14:02.553] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.553] - attr(*, "where")=List of 1 [13:14:02.553] ..$ ...: [13:14:02.553] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.553] - attr(*, "resolved")= logi TRUE [13:14:02.553] - attr(*, "total_size")= num NA [13:14:02.555] - Getting '...' globals ... DONE [13:14:02.555] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.556] List of 2 [13:14:02.556] $ ...future.FUN:function (x) [13:14:02.556] $ ... : list() [13:14:02.556] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.556] - attr(*, "where")=List of 2 [13:14:02.556] ..$ ...future.FUN: [13:14:02.556] ..$ ... : [13:14:02.556] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.556] - attr(*, "resolved")= logi FALSE [13:14:02.556] - attr(*, "total_size")= num 848 [13:14:02.558] Packages to be attached in all futures: [n=0] [13:14:02.559] getGlobalsAndPackagesXApply() ... DONE [13:14:02.559] Number of futures (= number of chunks): 1 [13:14:02.559] Launching 1 futures (chunks) ... [13:14:02.559] Chunk #1 of 1 ... [13:14:02.559] - Finding globals in 'X' for chunk #1 ... [13:14:02.559] getGlobalsAndPackages() ... [13:14:02.559] Searching for globals... [13:14:02.560] [13:14:02.560] Searching for globals ... DONE [13:14:02.560] - globals: [0] [13:14:02.560] getGlobalsAndPackages() ... DONE [13:14:02.560] + additional globals found: [n=0] [13:14:02.560] + additional namespaces needed: [n=0] [13:14:02.561] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.561] - seeds: [13:14:02.561] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.561] getGlobalsAndPackages() ... [13:14:02.561] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.561] Resolving globals: FALSE [13:14:02.561] Tweak future expression to call with '...' arguments ... [13:14:02.562] { [13:14:02.562] do.call(function(...) { [13:14:02.562] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.562] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.562] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.562] on.exit(options(oopts), add = TRUE) [13:14:02.562] } [13:14:02.562] { [13:14:02.562] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.562] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.562] ...future.FUN(...future.X_jj, ...) [13:14:02.562] }) [13:14:02.562] } [13:14:02.562] }, args = future.call.arguments) [13:14:02.562] } [13:14:02.562] Tweak future expression to call with '...' arguments ... DONE [13:14:02.562] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.562] [13:14:02.563] getGlobalsAndPackages() ... DONE [13:14:02.563] run() for 'Future' ... [13:14:02.563] - state: 'created' [13:14:02.563] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.564] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.564] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.564] - Field: 'label' [13:14:02.564] - Field: 'local' [13:14:02.564] - Field: 'owner' [13:14:02.564] - Field: 'envir' [13:14:02.564] - Field: 'packages' [13:14:02.565] - Field: 'gc' [13:14:02.565] - Field: 'conditions' [13:14:02.565] - Field: 'expr' [13:14:02.565] - Field: 'uuid' [13:14:02.565] - Field: 'seed' [13:14:02.565] - Field: 'version' [13:14:02.565] - Field: 'result' [13:14:02.565] - Field: 'asynchronous' [13:14:02.566] - Field: 'calls' [13:14:02.566] - Field: 'globals' [13:14:02.566] - Field: 'stdout' [13:14:02.566] - Field: 'earlySignal' [13:14:02.566] - Field: 'lazy' [13:14:02.566] - Field: 'state' [13:14:02.566] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.567] - Launch lazy future ... [13:14:02.567] Packages needed by the future expression (n = 0): [13:14:02.567] Packages needed by future strategies (n = 0): [13:14:02.567] { [13:14:02.567] { [13:14:02.567] { [13:14:02.567] ...future.startTime <- base::Sys.time() [13:14:02.567] { [13:14:02.567] { [13:14:02.567] { [13:14:02.567] base::local({ [13:14:02.567] has_future <- base::requireNamespace("future", [13:14:02.567] quietly = TRUE) [13:14:02.567] if (has_future) { [13:14:02.567] ns <- base::getNamespace("future") [13:14:02.567] version <- ns[[".package"]][["version"]] [13:14:02.567] if (is.null(version)) [13:14:02.567] version <- utils::packageVersion("future") [13:14:02.567] } [13:14:02.567] else { [13:14:02.567] version <- NULL [13:14:02.567] } [13:14:02.567] if (!has_future || version < "1.8.0") { [13:14:02.567] info <- base::c(r_version = base::gsub("R version ", [13:14:02.567] "", base::R.version$version.string), [13:14:02.567] platform = base::sprintf("%s (%s-bit)", [13:14:02.567] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.567] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.567] "release", "version")], collapse = " "), [13:14:02.567] hostname = base::Sys.info()[["nodename"]]) [13:14:02.567] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.567] info) [13:14:02.567] info <- base::paste(info, collapse = "; ") [13:14:02.567] if (!has_future) { [13:14:02.567] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.567] info) [13:14:02.567] } [13:14:02.567] else { [13:14:02.567] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.567] info, version) [13:14:02.567] } [13:14:02.567] base::stop(msg) [13:14:02.567] } [13:14:02.567] }) [13:14:02.567] } [13:14:02.567] options(future.plan = NULL) [13:14:02.567] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.567] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.567] } [13:14:02.567] ...future.workdir <- getwd() [13:14:02.567] } [13:14:02.567] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.567] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.567] } [13:14:02.567] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.567] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.567] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.567] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.567] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.567] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.567] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.567] base::names(...future.oldOptions)) [13:14:02.567] } [13:14:02.567] if (FALSE) { [13:14:02.567] } [13:14:02.567] else { [13:14:02.567] if (TRUE) { [13:14:02.567] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.567] open = "w") [13:14:02.567] } [13:14:02.567] else { [13:14:02.567] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.567] windows = "NUL", "/dev/null"), open = "w") [13:14:02.567] } [13:14:02.567] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.567] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.567] base::sink(type = "output", split = FALSE) [13:14:02.567] base::close(...future.stdout) [13:14:02.567] }, add = TRUE) [13:14:02.567] } [13:14:02.567] ...future.frame <- base::sys.nframe() [13:14:02.567] ...future.conditions <- base::list() [13:14:02.567] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.567] if (FALSE) { [13:14:02.567] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.567] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.567] } [13:14:02.567] ...future.result <- base::tryCatch({ [13:14:02.567] base::withCallingHandlers({ [13:14:02.567] ...future.value <- base::withVisible(base::local({ [13:14:02.567] do.call(function(...) { [13:14:02.567] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.567] if (!identical(...future.globals.maxSize.org, [13:14:02.567] ...future.globals.maxSize)) { [13:14:02.567] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.567] on.exit(options(oopts), add = TRUE) [13:14:02.567] } [13:14:02.567] { [13:14:02.567] lapply(seq_along(...future.elements_ii), [13:14:02.567] FUN = function(jj) { [13:14:02.567] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.567] ...future.FUN(...future.X_jj, ...) [13:14:02.567] }) [13:14:02.567] } [13:14:02.567] }, args = future.call.arguments) [13:14:02.567] })) [13:14:02.567] future::FutureResult(value = ...future.value$value, [13:14:02.567] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.567] ...future.rng), globalenv = if (FALSE) [13:14:02.567] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.567] ...future.globalenv.names)) [13:14:02.567] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.567] }, condition = base::local({ [13:14:02.567] c <- base::c [13:14:02.567] inherits <- base::inherits [13:14:02.567] invokeRestart <- base::invokeRestart [13:14:02.567] length <- base::length [13:14:02.567] list <- base::list [13:14:02.567] seq.int <- base::seq.int [13:14:02.567] signalCondition <- base::signalCondition [13:14:02.567] sys.calls <- base::sys.calls [13:14:02.567] `[[` <- base::`[[` [13:14:02.567] `+` <- base::`+` [13:14:02.567] `<<-` <- base::`<<-` [13:14:02.567] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.567] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.567] 3L)] [13:14:02.567] } [13:14:02.567] function(cond) { [13:14:02.567] is_error <- inherits(cond, "error") [13:14:02.567] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.567] NULL) [13:14:02.567] if (is_error) { [13:14:02.567] sessionInformation <- function() { [13:14:02.567] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.567] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.567] search = base::search(), system = base::Sys.info()) [13:14:02.567] } [13:14:02.567] ...future.conditions[[length(...future.conditions) + [13:14:02.567] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.567] cond$call), session = sessionInformation(), [13:14:02.567] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.567] signalCondition(cond) [13:14:02.567] } [13:14:02.567] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.567] "immediateCondition"))) { [13:14:02.567] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.567] ...future.conditions[[length(...future.conditions) + [13:14:02.567] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.567] if (TRUE && !signal) { [13:14:02.567] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.567] { [13:14:02.567] inherits <- base::inherits [13:14:02.567] invokeRestart <- base::invokeRestart [13:14:02.567] is.null <- base::is.null [13:14:02.567] muffled <- FALSE [13:14:02.567] if (inherits(cond, "message")) { [13:14:02.567] muffled <- grepl(pattern, "muffleMessage") [13:14:02.567] if (muffled) [13:14:02.567] invokeRestart("muffleMessage") [13:14:02.567] } [13:14:02.567] else if (inherits(cond, "warning")) { [13:14:02.567] muffled <- grepl(pattern, "muffleWarning") [13:14:02.567] if (muffled) [13:14:02.567] invokeRestart("muffleWarning") [13:14:02.567] } [13:14:02.567] else if (inherits(cond, "condition")) { [13:14:02.567] if (!is.null(pattern)) { [13:14:02.567] computeRestarts <- base::computeRestarts [13:14:02.567] grepl <- base::grepl [13:14:02.567] restarts <- computeRestarts(cond) [13:14:02.567] for (restart in restarts) { [13:14:02.567] name <- restart$name [13:14:02.567] if (is.null(name)) [13:14:02.567] next [13:14:02.567] if (!grepl(pattern, name)) [13:14:02.567] next [13:14:02.567] invokeRestart(restart) [13:14:02.567] muffled <- TRUE [13:14:02.567] break [13:14:02.567] } [13:14:02.567] } [13:14:02.567] } [13:14:02.567] invisible(muffled) [13:14:02.567] } [13:14:02.567] muffleCondition(cond, pattern = "^muffle") [13:14:02.567] } [13:14:02.567] } [13:14:02.567] else { [13:14:02.567] if (TRUE) { [13:14:02.567] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.567] { [13:14:02.567] inherits <- base::inherits [13:14:02.567] invokeRestart <- base::invokeRestart [13:14:02.567] is.null <- base::is.null [13:14:02.567] muffled <- FALSE [13:14:02.567] if (inherits(cond, "message")) { [13:14:02.567] muffled <- grepl(pattern, "muffleMessage") [13:14:02.567] if (muffled) [13:14:02.567] invokeRestart("muffleMessage") [13:14:02.567] } [13:14:02.567] else if (inherits(cond, "warning")) { [13:14:02.567] muffled <- grepl(pattern, "muffleWarning") [13:14:02.567] if (muffled) [13:14:02.567] invokeRestart("muffleWarning") [13:14:02.567] } [13:14:02.567] else if (inherits(cond, "condition")) { [13:14:02.567] if (!is.null(pattern)) { [13:14:02.567] computeRestarts <- base::computeRestarts [13:14:02.567] grepl <- base::grepl [13:14:02.567] restarts <- computeRestarts(cond) [13:14:02.567] for (restart in restarts) { [13:14:02.567] name <- restart$name [13:14:02.567] if (is.null(name)) [13:14:02.567] next [13:14:02.567] if (!grepl(pattern, name)) [13:14:02.567] next [13:14:02.567] invokeRestart(restart) [13:14:02.567] muffled <- TRUE [13:14:02.567] break [13:14:02.567] } [13:14:02.567] } [13:14:02.567] } [13:14:02.567] invisible(muffled) [13:14:02.567] } [13:14:02.567] muffleCondition(cond, pattern = "^muffle") [13:14:02.567] } [13:14:02.567] } [13:14:02.567] } [13:14:02.567] })) [13:14:02.567] }, error = function(ex) { [13:14:02.567] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.567] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.567] ...future.rng), started = ...future.startTime, [13:14:02.567] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.567] version = "1.8"), class = "FutureResult") [13:14:02.567] }, finally = { [13:14:02.567] if (!identical(...future.workdir, getwd())) [13:14:02.567] setwd(...future.workdir) [13:14:02.567] { [13:14:02.567] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.567] ...future.oldOptions$nwarnings <- NULL [13:14:02.567] } [13:14:02.567] base::options(...future.oldOptions) [13:14:02.567] if (.Platform$OS.type == "windows") { [13:14:02.567] old_names <- names(...future.oldEnvVars) [13:14:02.567] envs <- base::Sys.getenv() [13:14:02.567] names <- names(envs) [13:14:02.567] common <- intersect(names, old_names) [13:14:02.567] added <- setdiff(names, old_names) [13:14:02.567] removed <- setdiff(old_names, names) [13:14:02.567] changed <- common[...future.oldEnvVars[common] != [13:14:02.567] envs[common]] [13:14:02.567] NAMES <- toupper(changed) [13:14:02.567] args <- list() [13:14:02.567] for (kk in seq_along(NAMES)) { [13:14:02.567] name <- changed[[kk]] [13:14:02.567] NAME <- NAMES[[kk]] [13:14:02.567] if (name != NAME && is.element(NAME, old_names)) [13:14:02.567] next [13:14:02.567] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.567] } [13:14:02.567] NAMES <- toupper(added) [13:14:02.567] for (kk in seq_along(NAMES)) { [13:14:02.567] name <- added[[kk]] [13:14:02.567] NAME <- NAMES[[kk]] [13:14:02.567] if (name != NAME && is.element(NAME, old_names)) [13:14:02.567] next [13:14:02.567] args[[name]] <- "" [13:14:02.567] } [13:14:02.567] NAMES <- toupper(removed) [13:14:02.567] for (kk in seq_along(NAMES)) { [13:14:02.567] name <- removed[[kk]] [13:14:02.567] NAME <- NAMES[[kk]] [13:14:02.567] if (name != NAME && is.element(NAME, old_names)) [13:14:02.567] next [13:14:02.567] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.567] } [13:14:02.567] if (length(args) > 0) [13:14:02.567] base::do.call(base::Sys.setenv, args = args) [13:14:02.567] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.567] } [13:14:02.567] else { [13:14:02.567] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.567] } [13:14:02.567] { [13:14:02.567] if (base::length(...future.futureOptionsAdded) > [13:14:02.567] 0L) { [13:14:02.567] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.567] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.567] base::options(opts) [13:14:02.567] } [13:14:02.567] { [13:14:02.567] { [13:14:02.567] NULL [13:14:02.567] RNGkind("Mersenne-Twister") [13:14:02.567] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.567] inherits = FALSE) [13:14:02.567] } [13:14:02.567] options(future.plan = NULL) [13:14:02.567] if (is.na(NA_character_)) [13:14:02.567] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.567] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.567] future::plan(list(function (..., envir = parent.frame()) [13:14:02.567] { [13:14:02.567] future <- SequentialFuture(..., envir = envir) [13:14:02.567] if (!future$lazy) [13:14:02.567] future <- run(future) [13:14:02.567] invisible(future) [13:14:02.567] }), .cleanup = FALSE, .init = FALSE) [13:14:02.567] } [13:14:02.567] } [13:14:02.567] } [13:14:02.567] }) [13:14:02.567] if (TRUE) { [13:14:02.567] base::sink(type = "output", split = FALSE) [13:14:02.567] if (TRUE) { [13:14:02.567] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.567] } [13:14:02.567] else { [13:14:02.567] ...future.result["stdout"] <- base::list(NULL) [13:14:02.567] } [13:14:02.567] base::close(...future.stdout) [13:14:02.567] ...future.stdout <- NULL [13:14:02.567] } [13:14:02.567] ...future.result$conditions <- ...future.conditions [13:14:02.567] ...future.result$finished <- base::Sys.time() [13:14:02.567] ...future.result [13:14:02.567] } [13:14:02.570] assign_globals() ... [13:14:02.570] List of 5 [13:14:02.570] $ ...future.FUN :function (x) [13:14:02.570] $ future.call.arguments : list() [13:14:02.570] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.570] $ ...future.elements_ii :List of 3 [13:14:02.570] ..$ : chr "a" [13:14:02.570] ..$ : chr "b" [13:14:02.570] ..$ : chr "c" [13:14:02.570] $ ...future.seeds_ii : NULL [13:14:02.570] $ ...future.globals.maxSize: NULL [13:14:02.570] - attr(*, "where")=List of 5 [13:14:02.570] ..$ ...future.FUN : [13:14:02.570] ..$ future.call.arguments : [13:14:02.570] ..$ ...future.elements_ii : [13:14:02.570] ..$ ...future.seeds_ii : [13:14:02.570] ..$ ...future.globals.maxSize: [13:14:02.570] - attr(*, "resolved")= logi FALSE [13:14:02.570] - attr(*, "total_size")= num 848 [13:14:02.570] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.570] - attr(*, "already-done")= logi TRUE [13:14:02.576] - copied '...future.FUN' to environment [13:14:02.576] - copied 'future.call.arguments' to environment [13:14:02.576] - copied '...future.elements_ii' to environment [13:14:02.576] - copied '...future.seeds_ii' to environment [13:14:02.576] - copied '...future.globals.maxSize' to environment [13:14:02.576] assign_globals() ... done [13:14:02.577] plan(): Setting new future strategy stack: [13:14:02.577] List of future strategies: [13:14:02.577] 1. sequential: [13:14:02.577] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.577] - tweaked: FALSE [13:14:02.577] - call: NULL [13:14:02.577] plan(): nbrOfWorkers() = 1 [13:14:02.578] plan(): Setting new future strategy stack: [13:14:02.579] List of future strategies: [13:14:02.579] 1. sequential: [13:14:02.579] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.579] - tweaked: FALSE [13:14:02.579] - call: plan(strategy) [13:14:02.579] plan(): nbrOfWorkers() = 1 [13:14:02.579] SequentialFuture started (and completed) [13:14:02.579] - Launch lazy future ... done [13:14:02.580] run() for 'SequentialFuture' ... done [13:14:02.580] Created future: [13:14:02.580] SequentialFuture: [13:14:02.580] Label: 'future_sapply-1' [13:14:02.580] Expression: [13:14:02.580] { [13:14:02.580] do.call(function(...) { [13:14:02.580] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.580] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.580] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.580] on.exit(options(oopts), add = TRUE) [13:14:02.580] } [13:14:02.580] { [13:14:02.580] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.580] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.580] ...future.FUN(...future.X_jj, ...) [13:14:02.580] }) [13:14:02.580] } [13:14:02.580] }, args = future.call.arguments) [13:14:02.580] } [13:14:02.580] Lazy evaluation: FALSE [13:14:02.580] Asynchronous evaluation: FALSE [13:14:02.580] Local evaluation: TRUE [13:14:02.580] Environment: R_GlobalEnv [13:14:02.580] Capture standard output: TRUE [13:14:02.580] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.580] Globals: 5 objects totaling 1.16 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.580] Packages: [13:14:02.580] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.580] Resolved: TRUE [13:14:02.580] Value: 336 bytes of class 'list' [13:14:02.580] Early signaling: FALSE [13:14:02.580] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.580] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.581] Chunk #1 of 1 ... DONE [13:14:02.581] Launching 1 futures (chunks) ... DONE [13:14:02.581] Resolving 1 futures (chunks) ... [13:14:02.581] resolve() on list ... [13:14:02.582] recursive: 0 [13:14:02.582] length: 1 [13:14:02.582] [13:14:02.582] resolved() for 'SequentialFuture' ... [13:14:02.582] - state: 'finished' [13:14:02.582] - run: TRUE [13:14:02.582] - result: 'FutureResult' [13:14:02.583] resolved() for 'SequentialFuture' ... done [13:14:02.583] Future #1 [13:14:02.583] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.583] - nx: 1 [13:14:02.583] - relay: TRUE [13:14:02.583] - stdout: TRUE [13:14:02.583] - signal: TRUE [13:14:02.583] - resignal: FALSE [13:14:02.584] - force: TRUE [13:14:02.584] - relayed: [n=1] FALSE [13:14:02.584] - queued futures: [n=1] FALSE [13:14:02.584] - until=1 [13:14:02.584] - relaying element #1 [13:14:02.584] - relayed: [n=1] TRUE [13:14:02.584] - queued futures: [n=1] TRUE [13:14:02.585] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.585] length: 0 (resolved future 1) [13:14:02.585] Relaying remaining futures [13:14:02.585] signalConditionsASAP(NULL, pos=0) ... [13:14:02.585] - nx: 1 [13:14:02.585] - relay: TRUE [13:14:02.585] - stdout: TRUE [13:14:02.585] - signal: TRUE [13:14:02.586] - resignal: FALSE [13:14:02.586] - force: TRUE [13:14:02.586] - relayed: [n=1] TRUE [13:14:02.586] - queued futures: [n=1] TRUE - flush all [13:14:02.586] - relayed: [n=1] TRUE [13:14:02.586] - queued futures: [n=1] TRUE [13:14:02.587] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.587] resolve() on list ... DONE [13:14:02.587] - Number of value chunks collected: 1 [13:14:02.587] Resolving 1 futures (chunks) ... DONE [13:14:02.587] Reducing values from 1 chunks ... [13:14:02.587] - Number of values collected after concatenation: 3 [13:14:02.587] - Number of values expected: 3 [13:14:02.588] Reducing values from 1 chunks ... DONE [13:14:02.588] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:02.589] future_lapply() ... [13:14:02.590] Number of chunks: 1 [13:14:02.590] getGlobalsAndPackagesXApply() ... [13:14:02.590] - future.globals: TRUE [13:14:02.591] getGlobalsAndPackages() ... [13:14:02.591] Searching for globals... [13:14:02.592] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.592] Searching for globals ... DONE [13:14:02.592] Resolving globals: FALSE [13:14:02.592] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.593] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.593] - globals: [1] 'FUN' [13:14:02.593] [13:14:02.593] getGlobalsAndPackages() ... DONE [13:14:02.593] - globals found/used: [n=1] 'FUN' [13:14:02.593] - needed namespaces: [n=0] [13:14:02.594] Finding globals ... DONE [13:14:02.594] - use_args: TRUE [13:14:02.594] - Getting '...' globals ... [13:14:02.594] resolve() on list ... [13:14:02.594] recursive: 0 [13:14:02.594] length: 1 [13:14:02.594] elements: '...' [13:14:02.595] length: 0 (resolved future 1) [13:14:02.595] resolve() on list ... DONE [13:14:02.595] - '...' content: [n=0] [13:14:02.595] List of 1 [13:14:02.595] $ ...: list() [13:14:02.595] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.595] - attr(*, "where")=List of 1 [13:14:02.595] ..$ ...: [13:14:02.595] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.595] - attr(*, "resolved")= logi TRUE [13:14:02.595] - attr(*, "total_size")= num NA [13:14:02.598] - Getting '...' globals ... DONE [13:14:02.598] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.598] List of 2 [13:14:02.598] $ ...future.FUN:function (x, ...) [13:14:02.598] $ ... : list() [13:14:02.598] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.598] - attr(*, "where")=List of 2 [13:14:02.598] ..$ ...future.FUN: [13:14:02.598] ..$ ... : [13:14:02.598] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.598] - attr(*, "resolved")= logi FALSE [13:14:02.598] - attr(*, "total_size")= num 1248 [13:14:02.602] Packages to be attached in all futures: [n=0] [13:14:02.603] getGlobalsAndPackagesXApply() ... DONE [13:14:02.603] Number of futures (= number of chunks): 1 [13:14:02.603] Launching 1 futures (chunks) ... [13:14:02.603] Chunk #1 of 1 ... [13:14:02.603] - Finding globals in 'X' for chunk #1 ... [13:14:02.603] getGlobalsAndPackages() ... [13:14:02.603] Searching for globals... [13:14:02.604] [13:14:02.604] Searching for globals ... DONE [13:14:02.604] - globals: [0] [13:14:02.604] getGlobalsAndPackages() ... DONE [13:14:02.604] + additional globals found: [n=0] [13:14:02.604] + additional namespaces needed: [n=0] [13:14:02.604] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.604] - seeds: [13:14:02.604] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.605] getGlobalsAndPackages() ... [13:14:02.605] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.605] Resolving globals: FALSE [13:14:02.605] Tweak future expression to call with '...' arguments ... [13:14:02.605] { [13:14:02.605] do.call(function(...) { [13:14:02.605] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.605] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.605] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.605] on.exit(options(oopts), add = TRUE) [13:14:02.605] } [13:14:02.605] { [13:14:02.605] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.605] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.605] ...future.FUN(...future.X_jj, ...) [13:14:02.605] }) [13:14:02.605] } [13:14:02.605] }, args = future.call.arguments) [13:14:02.605] } [13:14:02.605] Tweak future expression to call with '...' arguments ... DONE [13:14:02.606] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.606] [13:14:02.606] getGlobalsAndPackages() ... DONE [13:14:02.606] run() for 'Future' ... [13:14:02.606] - state: 'created' [13:14:02.607] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.607] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.607] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.607] - Field: 'label' [13:14:02.607] - Field: 'local' [13:14:02.607] - Field: 'owner' [13:14:02.607] - Field: 'envir' [13:14:02.608] - Field: 'packages' [13:14:02.608] - Field: 'gc' [13:14:02.608] - Field: 'conditions' [13:14:02.608] - Field: 'expr' [13:14:02.608] - Field: 'uuid' [13:14:02.608] - Field: 'seed' [13:14:02.609] - Field: 'version' [13:14:02.609] - Field: 'result' [13:14:02.609] - Field: 'asynchronous' [13:14:02.609] - Field: 'calls' [13:14:02.609] - Field: 'globals' [13:14:02.609] - Field: 'stdout' [13:14:02.610] - Field: 'earlySignal' [13:14:02.610] - Field: 'lazy' [13:14:02.610] - Field: 'state' [13:14:02.610] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.610] - Launch lazy future ... [13:14:02.610] Packages needed by the future expression (n = 0): [13:14:02.611] Packages needed by future strategies (n = 0): [13:14:02.611] { [13:14:02.611] { [13:14:02.611] { [13:14:02.611] ...future.startTime <- base::Sys.time() [13:14:02.611] { [13:14:02.611] { [13:14:02.611] { [13:14:02.611] base::local({ [13:14:02.611] has_future <- base::requireNamespace("future", [13:14:02.611] quietly = TRUE) [13:14:02.611] if (has_future) { [13:14:02.611] ns <- base::getNamespace("future") [13:14:02.611] version <- ns[[".package"]][["version"]] [13:14:02.611] if (is.null(version)) [13:14:02.611] version <- utils::packageVersion("future") [13:14:02.611] } [13:14:02.611] else { [13:14:02.611] version <- NULL [13:14:02.611] } [13:14:02.611] if (!has_future || version < "1.8.0") { [13:14:02.611] info <- base::c(r_version = base::gsub("R version ", [13:14:02.611] "", base::R.version$version.string), [13:14:02.611] platform = base::sprintf("%s (%s-bit)", [13:14:02.611] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.611] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.611] "release", "version")], collapse = " "), [13:14:02.611] hostname = base::Sys.info()[["nodename"]]) [13:14:02.611] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.611] info) [13:14:02.611] info <- base::paste(info, collapse = "; ") [13:14:02.611] if (!has_future) { [13:14:02.611] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.611] info) [13:14:02.611] } [13:14:02.611] else { [13:14:02.611] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.611] info, version) [13:14:02.611] } [13:14:02.611] base::stop(msg) [13:14:02.611] } [13:14:02.611] }) [13:14:02.611] } [13:14:02.611] options(future.plan = NULL) [13:14:02.611] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.611] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.611] } [13:14:02.611] ...future.workdir <- getwd() [13:14:02.611] } [13:14:02.611] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.611] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.611] } [13:14:02.611] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.611] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.611] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.611] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.611] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.611] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.611] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.611] base::names(...future.oldOptions)) [13:14:02.611] } [13:14:02.611] if (FALSE) { [13:14:02.611] } [13:14:02.611] else { [13:14:02.611] if (TRUE) { [13:14:02.611] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.611] open = "w") [13:14:02.611] } [13:14:02.611] else { [13:14:02.611] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.611] windows = "NUL", "/dev/null"), open = "w") [13:14:02.611] } [13:14:02.611] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.611] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.611] base::sink(type = "output", split = FALSE) [13:14:02.611] base::close(...future.stdout) [13:14:02.611] }, add = TRUE) [13:14:02.611] } [13:14:02.611] ...future.frame <- base::sys.nframe() [13:14:02.611] ...future.conditions <- base::list() [13:14:02.611] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.611] if (FALSE) { [13:14:02.611] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.611] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.611] } [13:14:02.611] ...future.result <- base::tryCatch({ [13:14:02.611] base::withCallingHandlers({ [13:14:02.611] ...future.value <- base::withVisible(base::local({ [13:14:02.611] do.call(function(...) { [13:14:02.611] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.611] if (!identical(...future.globals.maxSize.org, [13:14:02.611] ...future.globals.maxSize)) { [13:14:02.611] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.611] on.exit(options(oopts), add = TRUE) [13:14:02.611] } [13:14:02.611] { [13:14:02.611] lapply(seq_along(...future.elements_ii), [13:14:02.611] FUN = function(jj) { [13:14:02.611] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.611] ...future.FUN(...future.X_jj, ...) [13:14:02.611] }) [13:14:02.611] } [13:14:02.611] }, args = future.call.arguments) [13:14:02.611] })) [13:14:02.611] future::FutureResult(value = ...future.value$value, [13:14:02.611] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.611] ...future.rng), globalenv = if (FALSE) [13:14:02.611] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.611] ...future.globalenv.names)) [13:14:02.611] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.611] }, condition = base::local({ [13:14:02.611] c <- base::c [13:14:02.611] inherits <- base::inherits [13:14:02.611] invokeRestart <- base::invokeRestart [13:14:02.611] length <- base::length [13:14:02.611] list <- base::list [13:14:02.611] seq.int <- base::seq.int [13:14:02.611] signalCondition <- base::signalCondition [13:14:02.611] sys.calls <- base::sys.calls [13:14:02.611] `[[` <- base::`[[` [13:14:02.611] `+` <- base::`+` [13:14:02.611] `<<-` <- base::`<<-` [13:14:02.611] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.611] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.611] 3L)] [13:14:02.611] } [13:14:02.611] function(cond) { [13:14:02.611] is_error <- inherits(cond, "error") [13:14:02.611] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.611] NULL) [13:14:02.611] if (is_error) { [13:14:02.611] sessionInformation <- function() { [13:14:02.611] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.611] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.611] search = base::search(), system = base::Sys.info()) [13:14:02.611] } [13:14:02.611] ...future.conditions[[length(...future.conditions) + [13:14:02.611] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.611] cond$call), session = sessionInformation(), [13:14:02.611] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.611] signalCondition(cond) [13:14:02.611] } [13:14:02.611] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.611] "immediateCondition"))) { [13:14:02.611] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.611] ...future.conditions[[length(...future.conditions) + [13:14:02.611] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.611] if (TRUE && !signal) { [13:14:02.611] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.611] { [13:14:02.611] inherits <- base::inherits [13:14:02.611] invokeRestart <- base::invokeRestart [13:14:02.611] is.null <- base::is.null [13:14:02.611] muffled <- FALSE [13:14:02.611] if (inherits(cond, "message")) { [13:14:02.611] muffled <- grepl(pattern, "muffleMessage") [13:14:02.611] if (muffled) [13:14:02.611] invokeRestart("muffleMessage") [13:14:02.611] } [13:14:02.611] else if (inherits(cond, "warning")) { [13:14:02.611] muffled <- grepl(pattern, "muffleWarning") [13:14:02.611] if (muffled) [13:14:02.611] invokeRestart("muffleWarning") [13:14:02.611] } [13:14:02.611] else if (inherits(cond, "condition")) { [13:14:02.611] if (!is.null(pattern)) { [13:14:02.611] computeRestarts <- base::computeRestarts [13:14:02.611] grepl <- base::grepl [13:14:02.611] restarts <- computeRestarts(cond) [13:14:02.611] for (restart in restarts) { [13:14:02.611] name <- restart$name [13:14:02.611] if (is.null(name)) [13:14:02.611] next [13:14:02.611] if (!grepl(pattern, name)) [13:14:02.611] next [13:14:02.611] invokeRestart(restart) [13:14:02.611] muffled <- TRUE [13:14:02.611] break [13:14:02.611] } [13:14:02.611] } [13:14:02.611] } [13:14:02.611] invisible(muffled) [13:14:02.611] } [13:14:02.611] muffleCondition(cond, pattern = "^muffle") [13:14:02.611] } [13:14:02.611] } [13:14:02.611] else { [13:14:02.611] if (TRUE) { [13:14:02.611] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.611] { [13:14:02.611] inherits <- base::inherits [13:14:02.611] invokeRestart <- base::invokeRestart [13:14:02.611] is.null <- base::is.null [13:14:02.611] muffled <- FALSE [13:14:02.611] if (inherits(cond, "message")) { [13:14:02.611] muffled <- grepl(pattern, "muffleMessage") [13:14:02.611] if (muffled) [13:14:02.611] invokeRestart("muffleMessage") [13:14:02.611] } [13:14:02.611] else if (inherits(cond, "warning")) { [13:14:02.611] muffled <- grepl(pattern, "muffleWarning") [13:14:02.611] if (muffled) [13:14:02.611] invokeRestart("muffleWarning") [13:14:02.611] } [13:14:02.611] else if (inherits(cond, "condition")) { [13:14:02.611] if (!is.null(pattern)) { [13:14:02.611] computeRestarts <- base::computeRestarts [13:14:02.611] grepl <- base::grepl [13:14:02.611] restarts <- computeRestarts(cond) [13:14:02.611] for (restart in restarts) { [13:14:02.611] name <- restart$name [13:14:02.611] if (is.null(name)) [13:14:02.611] next [13:14:02.611] if (!grepl(pattern, name)) [13:14:02.611] next [13:14:02.611] invokeRestart(restart) [13:14:02.611] muffled <- TRUE [13:14:02.611] break [13:14:02.611] } [13:14:02.611] } [13:14:02.611] } [13:14:02.611] invisible(muffled) [13:14:02.611] } [13:14:02.611] muffleCondition(cond, pattern = "^muffle") [13:14:02.611] } [13:14:02.611] } [13:14:02.611] } [13:14:02.611] })) [13:14:02.611] }, error = function(ex) { [13:14:02.611] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.611] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.611] ...future.rng), started = ...future.startTime, [13:14:02.611] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.611] version = "1.8"), class = "FutureResult") [13:14:02.611] }, finally = { [13:14:02.611] if (!identical(...future.workdir, getwd())) [13:14:02.611] setwd(...future.workdir) [13:14:02.611] { [13:14:02.611] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.611] ...future.oldOptions$nwarnings <- NULL [13:14:02.611] } [13:14:02.611] base::options(...future.oldOptions) [13:14:02.611] if (.Platform$OS.type == "windows") { [13:14:02.611] old_names <- names(...future.oldEnvVars) [13:14:02.611] envs <- base::Sys.getenv() [13:14:02.611] names <- names(envs) [13:14:02.611] common <- intersect(names, old_names) [13:14:02.611] added <- setdiff(names, old_names) [13:14:02.611] removed <- setdiff(old_names, names) [13:14:02.611] changed <- common[...future.oldEnvVars[common] != [13:14:02.611] envs[common]] [13:14:02.611] NAMES <- toupper(changed) [13:14:02.611] args <- list() [13:14:02.611] for (kk in seq_along(NAMES)) { [13:14:02.611] name <- changed[[kk]] [13:14:02.611] NAME <- NAMES[[kk]] [13:14:02.611] if (name != NAME && is.element(NAME, old_names)) [13:14:02.611] next [13:14:02.611] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.611] } [13:14:02.611] NAMES <- toupper(added) [13:14:02.611] for (kk in seq_along(NAMES)) { [13:14:02.611] name <- added[[kk]] [13:14:02.611] NAME <- NAMES[[kk]] [13:14:02.611] if (name != NAME && is.element(NAME, old_names)) [13:14:02.611] next [13:14:02.611] args[[name]] <- "" [13:14:02.611] } [13:14:02.611] NAMES <- toupper(removed) [13:14:02.611] for (kk in seq_along(NAMES)) { [13:14:02.611] name <- removed[[kk]] [13:14:02.611] NAME <- NAMES[[kk]] [13:14:02.611] if (name != NAME && is.element(NAME, old_names)) [13:14:02.611] next [13:14:02.611] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.611] } [13:14:02.611] if (length(args) > 0) [13:14:02.611] base::do.call(base::Sys.setenv, args = args) [13:14:02.611] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.611] } [13:14:02.611] else { [13:14:02.611] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.611] } [13:14:02.611] { [13:14:02.611] if (base::length(...future.futureOptionsAdded) > [13:14:02.611] 0L) { [13:14:02.611] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.611] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.611] base::options(opts) [13:14:02.611] } [13:14:02.611] { [13:14:02.611] { [13:14:02.611] NULL [13:14:02.611] RNGkind("Mersenne-Twister") [13:14:02.611] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.611] inherits = FALSE) [13:14:02.611] } [13:14:02.611] options(future.plan = NULL) [13:14:02.611] if (is.na(NA_character_)) [13:14:02.611] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.611] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.611] future::plan(list(function (..., envir = parent.frame()) [13:14:02.611] { [13:14:02.611] future <- SequentialFuture(..., envir = envir) [13:14:02.611] if (!future$lazy) [13:14:02.611] future <- run(future) [13:14:02.611] invisible(future) [13:14:02.611] }), .cleanup = FALSE, .init = FALSE) [13:14:02.611] } [13:14:02.611] } [13:14:02.611] } [13:14:02.611] }) [13:14:02.611] if (TRUE) { [13:14:02.611] base::sink(type = "output", split = FALSE) [13:14:02.611] if (TRUE) { [13:14:02.611] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.611] } [13:14:02.611] else { [13:14:02.611] ...future.result["stdout"] <- base::list(NULL) [13:14:02.611] } [13:14:02.611] base::close(...future.stdout) [13:14:02.611] ...future.stdout <- NULL [13:14:02.611] } [13:14:02.611] ...future.result$conditions <- ...future.conditions [13:14:02.611] ...future.result$finished <- base::Sys.time() [13:14:02.611] ...future.result [13:14:02.611] } [13:14:02.614] assign_globals() ... [13:14:02.614] List of 5 [13:14:02.614] $ ...future.FUN :function (x, ...) [13:14:02.614] $ future.call.arguments : list() [13:14:02.614] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.614] $ ...future.elements_ii :List of 3 [13:14:02.614] ..$ : chr "a" [13:14:02.614] ..$ : chr "b" [13:14:02.614] ..$ : chr "c" [13:14:02.614] $ ...future.seeds_ii : NULL [13:14:02.614] $ ...future.globals.maxSize: NULL [13:14:02.614] - attr(*, "where")=List of 5 [13:14:02.614] ..$ ...future.FUN : [13:14:02.614] ..$ future.call.arguments : [13:14:02.614] ..$ ...future.elements_ii : [13:14:02.614] ..$ ...future.seeds_ii : [13:14:02.614] ..$ ...future.globals.maxSize: [13:14:02.614] - attr(*, "resolved")= logi FALSE [13:14:02.614] - attr(*, "total_size")= num 1248 [13:14:02.614] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.614] - attr(*, "already-done")= logi TRUE [13:14:02.619] - copied '...future.FUN' to environment [13:14:02.620] - copied 'future.call.arguments' to environment [13:14:02.620] - copied '...future.elements_ii' to environment [13:14:02.620] - copied '...future.seeds_ii' to environment [13:14:02.620] - copied '...future.globals.maxSize' to environment [13:14:02.620] assign_globals() ... done [13:14:02.620] plan(): Setting new future strategy stack: [13:14:02.621] List of future strategies: [13:14:02.621] 1. sequential: [13:14:02.621] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.621] - tweaked: FALSE [13:14:02.621] - call: NULL [13:14:02.621] plan(): nbrOfWorkers() = 1 [13:14:02.622] plan(): Setting new future strategy stack: [13:14:02.622] List of future strategies: [13:14:02.622] 1. sequential: [13:14:02.622] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.622] - tweaked: FALSE [13:14:02.622] - call: plan(strategy) [13:14:02.623] plan(): nbrOfWorkers() = 1 [13:14:02.623] SequentialFuture started (and completed) [13:14:02.623] - Launch lazy future ... done [13:14:02.623] run() for 'SequentialFuture' ... done [13:14:02.624] Created future: [13:14:02.624] SequentialFuture: [13:14:02.624] Label: 'future_sapply-1' [13:14:02.624] Expression: [13:14:02.624] { [13:14:02.624] do.call(function(...) { [13:14:02.624] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.624] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.624] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.624] on.exit(options(oopts), add = TRUE) [13:14:02.624] } [13:14:02.624] { [13:14:02.624] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.624] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.624] ...future.FUN(...future.X_jj, ...) [13:14:02.624] }) [13:14:02.624] } [13:14:02.624] }, args = future.call.arguments) [13:14:02.624] } [13:14:02.624] Lazy evaluation: FALSE [13:14:02.624] Asynchronous evaluation: FALSE [13:14:02.624] Local evaluation: TRUE [13:14:02.624] Environment: R_GlobalEnv [13:14:02.624] Capture standard output: TRUE [13:14:02.624] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.624] Globals: 5 objects totaling 1.55 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.624] Packages: [13:14:02.624] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.624] Resolved: TRUE [13:14:02.624] Value: 840 bytes of class 'list' [13:14:02.624] Early signaling: FALSE [13:14:02.624] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.624] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.625] Chunk #1 of 1 ... DONE [13:14:02.625] Launching 1 futures (chunks) ... DONE [13:14:02.625] Resolving 1 futures (chunks) ... [13:14:02.625] resolve() on list ... [13:14:02.626] recursive: 0 [13:14:02.626] length: 1 [13:14:02.626] [13:14:02.626] resolved() for 'SequentialFuture' ... [13:14:02.626] - state: 'finished' [13:14:02.626] - run: TRUE [13:14:02.626] - result: 'FutureResult' [13:14:02.627] resolved() for 'SequentialFuture' ... done [13:14:02.627] Future #1 [13:14:02.627] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.627] - nx: 1 [13:14:02.627] - relay: TRUE [13:14:02.627] - stdout: TRUE [13:14:02.627] - signal: TRUE [13:14:02.628] - resignal: FALSE [13:14:02.628] - force: TRUE [13:14:02.628] - relayed: [n=1] FALSE [13:14:02.628] - queued futures: [n=1] FALSE [13:14:02.628] - until=1 [13:14:02.628] - relaying element #1 [13:14:02.629] - relayed: [n=1] TRUE [13:14:02.629] - queued futures: [n=1] TRUE [13:14:02.629] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.629] length: 0 (resolved future 1) [13:14:02.629] Relaying remaining futures [13:14:02.629] signalConditionsASAP(NULL, pos=0) ... [13:14:02.630] - nx: 1 [13:14:02.630] - relay: TRUE [13:14:02.630] - stdout: TRUE [13:14:02.630] - signal: TRUE [13:14:02.630] - resignal: FALSE [13:14:02.630] - force: TRUE [13:14:02.630] - relayed: [n=1] TRUE [13:14:02.630] - queued futures: [n=1] TRUE - flush all [13:14:02.631] - relayed: [n=1] TRUE [13:14:02.631] - queued futures: [n=1] TRUE [13:14:02.631] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.631] resolve() on list ... DONE [13:14:02.631] - Number of value chunks collected: 1 [13:14:02.631] Resolving 1 futures (chunks) ... DONE [13:14:02.632] Reducing values from 1 chunks ... [13:14:02.632] - Number of values collected after concatenation: 3 [13:14:02.632] - Number of values expected: 3 [13:14:02.632] Reducing values from 1 chunks ... DONE [13:14:02.632] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:02.634] future_lapply() ... [13:14:02.634] Number of chunks: 1 [13:14:02.634] getGlobalsAndPackagesXApply() ... [13:14:02.635] - future.globals: TRUE [13:14:02.635] getGlobalsAndPackages() ... [13:14:02.635] Searching for globals... [13:14:02.636] - globals found: [1] 'FUN' [13:14:02.636] Searching for globals ... DONE [13:14:02.636] Resolving globals: FALSE [13:14:02.636] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.637] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.637] - globals: [1] 'FUN' [13:14:02.637] [13:14:02.637] getGlobalsAndPackages() ... DONE [13:14:02.637] - globals found/used: [n=1] 'FUN' [13:14:02.637] - needed namespaces: [n=0] [13:14:02.637] Finding globals ... DONE [13:14:02.638] - use_args: TRUE [13:14:02.638] - Getting '...' globals ... [13:14:02.638] resolve() on list ... [13:14:02.638] recursive: 0 [13:14:02.638] length: 1 [13:14:02.638] elements: '...' [13:14:02.639] length: 0 (resolved future 1) [13:14:02.639] resolve() on list ... DONE [13:14:02.639] - '...' content: [n=0] [13:14:02.639] List of 1 [13:14:02.639] $ ...: list() [13:14:02.639] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.639] - attr(*, "where")=List of 1 [13:14:02.639] ..$ ...: [13:14:02.639] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.639] - attr(*, "resolved")= logi TRUE [13:14:02.639] - attr(*, "total_size")= num NA [13:14:02.641] - Getting '...' globals ... DONE [13:14:02.641] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.642] List of 2 [13:14:02.642] $ ...future.FUN:function (x) [13:14:02.642] $ ... : list() [13:14:02.642] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.642] - attr(*, "where")=List of 2 [13:14:02.642] ..$ ...future.FUN: [13:14:02.642] ..$ ... : [13:14:02.642] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.642] - attr(*, "resolved")= logi FALSE [13:14:02.642] - attr(*, "total_size")= num 848 [13:14:02.644] Packages to be attached in all futures: [n=0] [13:14:02.644] getGlobalsAndPackagesXApply() ... DONE [13:14:02.644] Number of futures (= number of chunks): 1 [13:14:02.644] Launching 1 futures (chunks) ... [13:14:02.645] Chunk #1 of 1 ... [13:14:02.645] - Finding globals in 'X' for chunk #1 ... [13:14:02.645] getGlobalsAndPackages() ... [13:14:02.645] Searching for globals... [13:14:02.645] [13:14:02.645] Searching for globals ... DONE [13:14:02.645] - globals: [0] [13:14:02.645] getGlobalsAndPackages() ... DONE [13:14:02.646] + additional globals found: [n=0] [13:14:02.646] + additional namespaces needed: [n=0] [13:14:02.646] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.646] - seeds: [13:14:02.646] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.646] getGlobalsAndPackages() ... [13:14:02.646] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.646] Resolving globals: FALSE [13:14:02.647] Tweak future expression to call with '...' arguments ... [13:14:02.647] { [13:14:02.647] do.call(function(...) { [13:14:02.647] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.647] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.647] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.647] on.exit(options(oopts), add = TRUE) [13:14:02.647] } [13:14:02.647] { [13:14:02.647] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.647] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.647] ...future.FUN(...future.X_jj, ...) [13:14:02.647] }) [13:14:02.647] } [13:14:02.647] }, args = future.call.arguments) [13:14:02.647] } [13:14:02.647] Tweak future expression to call with '...' arguments ... DONE [13:14:02.648] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.648] [13:14:02.648] getGlobalsAndPackages() ... DONE [13:14:02.648] run() for 'Future' ... [13:14:02.648] - state: 'created' [13:14:02.648] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.649] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.649] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.649] - Field: 'label' [13:14:02.649] - Field: 'local' [13:14:02.649] - Field: 'owner' [13:14:02.649] - Field: 'envir' [13:14:02.649] - Field: 'packages' [13:14:02.649] - Field: 'gc' [13:14:02.650] - Field: 'conditions' [13:14:02.650] - Field: 'expr' [13:14:02.650] - Field: 'uuid' [13:14:02.650] - Field: 'seed' [13:14:02.650] - Field: 'version' [13:14:02.650] - Field: 'result' [13:14:02.650] - Field: 'asynchronous' [13:14:02.650] - Field: 'calls' [13:14:02.651] - Field: 'globals' [13:14:02.651] - Field: 'stdout' [13:14:02.651] - Field: 'earlySignal' [13:14:02.651] - Field: 'lazy' [13:14:02.651] - Field: 'state' [13:14:02.651] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.651] - Launch lazy future ... [13:14:02.652] Packages needed by the future expression (n = 0): [13:14:02.652] Packages needed by future strategies (n = 0): [13:14:02.652] { [13:14:02.652] { [13:14:02.652] { [13:14:02.652] ...future.startTime <- base::Sys.time() [13:14:02.652] { [13:14:02.652] { [13:14:02.652] { [13:14:02.652] base::local({ [13:14:02.652] has_future <- base::requireNamespace("future", [13:14:02.652] quietly = TRUE) [13:14:02.652] if (has_future) { [13:14:02.652] ns <- base::getNamespace("future") [13:14:02.652] version <- ns[[".package"]][["version"]] [13:14:02.652] if (is.null(version)) [13:14:02.652] version <- utils::packageVersion("future") [13:14:02.652] } [13:14:02.652] else { [13:14:02.652] version <- NULL [13:14:02.652] } [13:14:02.652] if (!has_future || version < "1.8.0") { [13:14:02.652] info <- base::c(r_version = base::gsub("R version ", [13:14:02.652] "", base::R.version$version.string), [13:14:02.652] platform = base::sprintf("%s (%s-bit)", [13:14:02.652] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.652] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.652] "release", "version")], collapse = " "), [13:14:02.652] hostname = base::Sys.info()[["nodename"]]) [13:14:02.652] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.652] info) [13:14:02.652] info <- base::paste(info, collapse = "; ") [13:14:02.652] if (!has_future) { [13:14:02.652] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.652] info) [13:14:02.652] } [13:14:02.652] else { [13:14:02.652] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.652] info, version) [13:14:02.652] } [13:14:02.652] base::stop(msg) [13:14:02.652] } [13:14:02.652] }) [13:14:02.652] } [13:14:02.652] options(future.plan = NULL) [13:14:02.652] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.652] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.652] } [13:14:02.652] ...future.workdir <- getwd() [13:14:02.652] } [13:14:02.652] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.652] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.652] } [13:14:02.652] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.652] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.652] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.652] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.652] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.652] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.652] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.652] base::names(...future.oldOptions)) [13:14:02.652] } [13:14:02.652] if (FALSE) { [13:14:02.652] } [13:14:02.652] else { [13:14:02.652] if (TRUE) { [13:14:02.652] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.652] open = "w") [13:14:02.652] } [13:14:02.652] else { [13:14:02.652] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.652] windows = "NUL", "/dev/null"), open = "w") [13:14:02.652] } [13:14:02.652] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.652] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.652] base::sink(type = "output", split = FALSE) [13:14:02.652] base::close(...future.stdout) [13:14:02.652] }, add = TRUE) [13:14:02.652] } [13:14:02.652] ...future.frame <- base::sys.nframe() [13:14:02.652] ...future.conditions <- base::list() [13:14:02.652] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.652] if (FALSE) { [13:14:02.652] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.652] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.652] } [13:14:02.652] ...future.result <- base::tryCatch({ [13:14:02.652] base::withCallingHandlers({ [13:14:02.652] ...future.value <- base::withVisible(base::local({ [13:14:02.652] do.call(function(...) { [13:14:02.652] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.652] if (!identical(...future.globals.maxSize.org, [13:14:02.652] ...future.globals.maxSize)) { [13:14:02.652] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.652] on.exit(options(oopts), add = TRUE) [13:14:02.652] } [13:14:02.652] { [13:14:02.652] lapply(seq_along(...future.elements_ii), [13:14:02.652] FUN = function(jj) { [13:14:02.652] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.652] ...future.FUN(...future.X_jj, ...) [13:14:02.652] }) [13:14:02.652] } [13:14:02.652] }, args = future.call.arguments) [13:14:02.652] })) [13:14:02.652] future::FutureResult(value = ...future.value$value, [13:14:02.652] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.652] ...future.rng), globalenv = if (FALSE) [13:14:02.652] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.652] ...future.globalenv.names)) [13:14:02.652] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.652] }, condition = base::local({ [13:14:02.652] c <- base::c [13:14:02.652] inherits <- base::inherits [13:14:02.652] invokeRestart <- base::invokeRestart [13:14:02.652] length <- base::length [13:14:02.652] list <- base::list [13:14:02.652] seq.int <- base::seq.int [13:14:02.652] signalCondition <- base::signalCondition [13:14:02.652] sys.calls <- base::sys.calls [13:14:02.652] `[[` <- base::`[[` [13:14:02.652] `+` <- base::`+` [13:14:02.652] `<<-` <- base::`<<-` [13:14:02.652] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.652] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.652] 3L)] [13:14:02.652] } [13:14:02.652] function(cond) { [13:14:02.652] is_error <- inherits(cond, "error") [13:14:02.652] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.652] NULL) [13:14:02.652] if (is_error) { [13:14:02.652] sessionInformation <- function() { [13:14:02.652] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.652] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.652] search = base::search(), system = base::Sys.info()) [13:14:02.652] } [13:14:02.652] ...future.conditions[[length(...future.conditions) + [13:14:02.652] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.652] cond$call), session = sessionInformation(), [13:14:02.652] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.652] signalCondition(cond) [13:14:02.652] } [13:14:02.652] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.652] "immediateCondition"))) { [13:14:02.652] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.652] ...future.conditions[[length(...future.conditions) + [13:14:02.652] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.652] if (TRUE && !signal) { [13:14:02.652] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.652] { [13:14:02.652] inherits <- base::inherits [13:14:02.652] invokeRestart <- base::invokeRestart [13:14:02.652] is.null <- base::is.null [13:14:02.652] muffled <- FALSE [13:14:02.652] if (inherits(cond, "message")) { [13:14:02.652] muffled <- grepl(pattern, "muffleMessage") [13:14:02.652] if (muffled) [13:14:02.652] invokeRestart("muffleMessage") [13:14:02.652] } [13:14:02.652] else if (inherits(cond, "warning")) { [13:14:02.652] muffled <- grepl(pattern, "muffleWarning") [13:14:02.652] if (muffled) [13:14:02.652] invokeRestart("muffleWarning") [13:14:02.652] } [13:14:02.652] else if (inherits(cond, "condition")) { [13:14:02.652] if (!is.null(pattern)) { [13:14:02.652] computeRestarts <- base::computeRestarts [13:14:02.652] grepl <- base::grepl [13:14:02.652] restarts <- computeRestarts(cond) [13:14:02.652] for (restart in restarts) { [13:14:02.652] name <- restart$name [13:14:02.652] if (is.null(name)) [13:14:02.652] next [13:14:02.652] if (!grepl(pattern, name)) [13:14:02.652] next [13:14:02.652] invokeRestart(restart) [13:14:02.652] muffled <- TRUE [13:14:02.652] break [13:14:02.652] } [13:14:02.652] } [13:14:02.652] } [13:14:02.652] invisible(muffled) [13:14:02.652] } [13:14:02.652] muffleCondition(cond, pattern = "^muffle") [13:14:02.652] } [13:14:02.652] } [13:14:02.652] else { [13:14:02.652] if (TRUE) { [13:14:02.652] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.652] { [13:14:02.652] inherits <- base::inherits [13:14:02.652] invokeRestart <- base::invokeRestart [13:14:02.652] is.null <- base::is.null [13:14:02.652] muffled <- FALSE [13:14:02.652] if (inherits(cond, "message")) { [13:14:02.652] muffled <- grepl(pattern, "muffleMessage") [13:14:02.652] if (muffled) [13:14:02.652] invokeRestart("muffleMessage") [13:14:02.652] } [13:14:02.652] else if (inherits(cond, "warning")) { [13:14:02.652] muffled <- grepl(pattern, "muffleWarning") [13:14:02.652] if (muffled) [13:14:02.652] invokeRestart("muffleWarning") [13:14:02.652] } [13:14:02.652] else if (inherits(cond, "condition")) { [13:14:02.652] if (!is.null(pattern)) { [13:14:02.652] computeRestarts <- base::computeRestarts [13:14:02.652] grepl <- base::grepl [13:14:02.652] restarts <- computeRestarts(cond) [13:14:02.652] for (restart in restarts) { [13:14:02.652] name <- restart$name [13:14:02.652] if (is.null(name)) [13:14:02.652] next [13:14:02.652] if (!grepl(pattern, name)) [13:14:02.652] next [13:14:02.652] invokeRestart(restart) [13:14:02.652] muffled <- TRUE [13:14:02.652] break [13:14:02.652] } [13:14:02.652] } [13:14:02.652] } [13:14:02.652] invisible(muffled) [13:14:02.652] } [13:14:02.652] muffleCondition(cond, pattern = "^muffle") [13:14:02.652] } [13:14:02.652] } [13:14:02.652] } [13:14:02.652] })) [13:14:02.652] }, error = function(ex) { [13:14:02.652] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.652] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.652] ...future.rng), started = ...future.startTime, [13:14:02.652] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.652] version = "1.8"), class = "FutureResult") [13:14:02.652] }, finally = { [13:14:02.652] if (!identical(...future.workdir, getwd())) [13:14:02.652] setwd(...future.workdir) [13:14:02.652] { [13:14:02.652] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.652] ...future.oldOptions$nwarnings <- NULL [13:14:02.652] } [13:14:02.652] base::options(...future.oldOptions) [13:14:02.652] if (.Platform$OS.type == "windows") { [13:14:02.652] old_names <- names(...future.oldEnvVars) [13:14:02.652] envs <- base::Sys.getenv() [13:14:02.652] names <- names(envs) [13:14:02.652] common <- intersect(names, old_names) [13:14:02.652] added <- setdiff(names, old_names) [13:14:02.652] removed <- setdiff(old_names, names) [13:14:02.652] changed <- common[...future.oldEnvVars[common] != [13:14:02.652] envs[common]] [13:14:02.652] NAMES <- toupper(changed) [13:14:02.652] args <- list() [13:14:02.652] for (kk in seq_along(NAMES)) { [13:14:02.652] name <- changed[[kk]] [13:14:02.652] NAME <- NAMES[[kk]] [13:14:02.652] if (name != NAME && is.element(NAME, old_names)) [13:14:02.652] next [13:14:02.652] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.652] } [13:14:02.652] NAMES <- toupper(added) [13:14:02.652] for (kk in seq_along(NAMES)) { [13:14:02.652] name <- added[[kk]] [13:14:02.652] NAME <- NAMES[[kk]] [13:14:02.652] if (name != NAME && is.element(NAME, old_names)) [13:14:02.652] next [13:14:02.652] args[[name]] <- "" [13:14:02.652] } [13:14:02.652] NAMES <- toupper(removed) [13:14:02.652] for (kk in seq_along(NAMES)) { [13:14:02.652] name <- removed[[kk]] [13:14:02.652] NAME <- NAMES[[kk]] [13:14:02.652] if (name != NAME && is.element(NAME, old_names)) [13:14:02.652] next [13:14:02.652] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.652] } [13:14:02.652] if (length(args) > 0) [13:14:02.652] base::do.call(base::Sys.setenv, args = args) [13:14:02.652] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.652] } [13:14:02.652] else { [13:14:02.652] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.652] } [13:14:02.652] { [13:14:02.652] if (base::length(...future.futureOptionsAdded) > [13:14:02.652] 0L) { [13:14:02.652] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.652] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.652] base::options(opts) [13:14:02.652] } [13:14:02.652] { [13:14:02.652] { [13:14:02.652] NULL [13:14:02.652] RNGkind("Mersenne-Twister") [13:14:02.652] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.652] inherits = FALSE) [13:14:02.652] } [13:14:02.652] options(future.plan = NULL) [13:14:02.652] if (is.na(NA_character_)) [13:14:02.652] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.652] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.652] future::plan(list(function (..., envir = parent.frame()) [13:14:02.652] { [13:14:02.652] future <- SequentialFuture(..., envir = envir) [13:14:02.652] if (!future$lazy) [13:14:02.652] future <- run(future) [13:14:02.652] invisible(future) [13:14:02.652] }), .cleanup = FALSE, .init = FALSE) [13:14:02.652] } [13:14:02.652] } [13:14:02.652] } [13:14:02.652] }) [13:14:02.652] if (TRUE) { [13:14:02.652] base::sink(type = "output", split = FALSE) [13:14:02.652] if (TRUE) { [13:14:02.652] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.652] } [13:14:02.652] else { [13:14:02.652] ...future.result["stdout"] <- base::list(NULL) [13:14:02.652] } [13:14:02.652] base::close(...future.stdout) [13:14:02.652] ...future.stdout <- NULL [13:14:02.652] } [13:14:02.652] ...future.result$conditions <- ...future.conditions [13:14:02.652] ...future.result$finished <- base::Sys.time() [13:14:02.652] ...future.result [13:14:02.652] } [13:14:02.655] assign_globals() ... [13:14:02.655] List of 5 [13:14:02.655] $ ...future.FUN :function (x) [13:14:02.655] $ future.call.arguments : list() [13:14:02.655] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.655] $ ...future.elements_ii :List of 4 [13:14:02.655] ..$ A: num 50 [13:14:02.655] ..$ B: num 60 [13:14:02.655] ..$ C: num 70 [13:14:02.655] ..$ D: num 80 [13:14:02.655] $ ...future.seeds_ii : NULL [13:14:02.655] $ ...future.globals.maxSize: NULL [13:14:02.655] - attr(*, "where")=List of 5 [13:14:02.655] ..$ ...future.FUN : [13:14:02.655] ..$ future.call.arguments : [13:14:02.655] ..$ ...future.elements_ii : [13:14:02.655] ..$ ...future.seeds_ii : [13:14:02.655] ..$ ...future.globals.maxSize: [13:14:02.655] - attr(*, "resolved")= logi FALSE [13:14:02.655] - attr(*, "total_size")= num 848 [13:14:02.655] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.655] - attr(*, "already-done")= logi TRUE [13:14:02.660] - copied '...future.FUN' to environment [13:14:02.660] - copied 'future.call.arguments' to environment [13:14:02.660] - copied '...future.elements_ii' to environment [13:14:02.660] - copied '...future.seeds_ii' to environment [13:14:02.660] - copied '...future.globals.maxSize' to environment [13:14:02.661] assign_globals() ... done [13:14:02.661] plan(): Setting new future strategy stack: [13:14:02.661] List of future strategies: [13:14:02.661] 1. sequential: [13:14:02.661] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.661] - tweaked: FALSE [13:14:02.661] - call: NULL [13:14:02.661] plan(): nbrOfWorkers() = 1 [13:14:02.662] plan(): Setting new future strategy stack: [13:14:02.662] List of future strategies: [13:14:02.662] 1. sequential: [13:14:02.662] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.662] - tweaked: FALSE [13:14:02.662] - call: plan(strategy) [13:14:02.663] plan(): nbrOfWorkers() = 1 [13:14:02.663] SequentialFuture started (and completed) [13:14:02.663] - Launch lazy future ... done [13:14:02.663] run() for 'SequentialFuture' ... done [13:14:02.663] Created future: [13:14:02.663] SequentialFuture: [13:14:02.663] Label: 'future_sapply-1' [13:14:02.663] Expression: [13:14:02.663] { [13:14:02.663] do.call(function(...) { [13:14:02.663] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.663] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.663] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.663] on.exit(options(oopts), add = TRUE) [13:14:02.663] } [13:14:02.663] { [13:14:02.663] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.663] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.663] ...future.FUN(...future.X_jj, ...) [13:14:02.663] }) [13:14:02.663] } [13:14:02.663] }, args = future.call.arguments) [13:14:02.663] } [13:14:02.663] Lazy evaluation: FALSE [13:14:02.663] Asynchronous evaluation: FALSE [13:14:02.663] Local evaluation: TRUE [13:14:02.663] Environment: R_GlobalEnv [13:14:02.663] Capture standard output: TRUE [13:14:02.663] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.663] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.663] Packages: [13:14:02.663] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.663] Resolved: TRUE [13:14:02.663] Value: 224 bytes of class 'list' [13:14:02.663] Early signaling: FALSE [13:14:02.663] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.663] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.664] Chunk #1 of 1 ... DONE [13:14:02.665] Launching 1 futures (chunks) ... DONE [13:14:02.665] Resolving 1 futures (chunks) ... [13:14:02.665] resolve() on list ... [13:14:02.665] recursive: 0 [13:14:02.665] length: 1 [13:14:02.665] [13:14:02.665] resolved() for 'SequentialFuture' ... [13:14:02.665] - state: 'finished' [13:14:02.666] - run: TRUE [13:14:02.666] - result: 'FutureResult' [13:14:02.666] resolved() for 'SequentialFuture' ... done [13:14:02.666] Future #1 [13:14:02.666] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.666] - nx: 1 [13:14:02.666] - relay: TRUE [13:14:02.666] - stdout: TRUE [13:14:02.667] - signal: TRUE [13:14:02.667] - resignal: FALSE [13:14:02.667] - force: TRUE [13:14:02.667] - relayed: [n=1] FALSE [13:14:02.667] - queued futures: [n=1] FALSE [13:14:02.667] - until=1 [13:14:02.667] - relaying element #1 [13:14:02.667] - relayed: [n=1] TRUE [13:14:02.667] - queued futures: [n=1] TRUE [13:14:02.668] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.668] length: 0 (resolved future 1) [13:14:02.668] Relaying remaining futures [13:14:02.668] signalConditionsASAP(NULL, pos=0) ... [13:14:02.668] - nx: 1 [13:14:02.668] - relay: TRUE [13:14:02.668] - stdout: TRUE [13:14:02.668] - signal: TRUE [13:14:02.668] - resignal: FALSE [13:14:02.669] - force: TRUE [13:14:02.669] - relayed: [n=1] TRUE [13:14:02.669] - queued futures: [n=1] TRUE - flush all [13:14:02.669] - relayed: [n=1] TRUE [13:14:02.669] - queued futures: [n=1] TRUE [13:14:02.669] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.669] resolve() on list ... DONE [13:14:02.670] - Number of value chunks collected: 1 [13:14:02.670] Resolving 1 futures (chunks) ... DONE [13:14:02.670] Reducing values from 1 chunks ... [13:14:02.670] - Number of values collected after concatenation: 4 [13:14:02.670] - Number of values expected: 4 [13:14:02.670] Reducing values from 1 chunks ... DONE [13:14:02.670] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y1:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y2:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 [13:14:02.676] future_lapply() ... [13:14:02.676] Number of chunks: 1 [13:14:02.676] getGlobalsAndPackagesXApply() ... [13:14:02.677] - future.globals: TRUE [13:14:02.677] getGlobalsAndPackages() ... [13:14:02.677] Searching for globals... [13:14:02.678] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.678] Searching for globals ... DONE [13:14:02.678] Resolving globals: FALSE [13:14:02.678] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.679] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.679] - globals: [1] 'FUN' [13:14:02.679] [13:14:02.679] getGlobalsAndPackages() ... DONE [13:14:02.679] - globals found/used: [n=1] 'FUN' [13:14:02.679] - needed namespaces: [n=0] [13:14:02.679] Finding globals ... DONE [13:14:02.679] - use_args: TRUE [13:14:02.680] - Getting '...' globals ... [13:14:02.680] resolve() on list ... [13:14:02.680] recursive: 0 [13:14:02.680] length: 1 [13:14:02.680] elements: '...' [13:14:02.680] length: 0 (resolved future 1) [13:14:02.680] resolve() on list ... DONE [13:14:02.681] - '...' content: [n=0] [13:14:02.681] List of 1 [13:14:02.681] $ ...: list() [13:14:02.681] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.681] - attr(*, "where")=List of 1 [13:14:02.681] ..$ ...: [13:14:02.681] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.681] - attr(*, "resolved")= logi TRUE [13:14:02.681] - attr(*, "total_size")= num NA [13:14:02.683] - Getting '...' globals ... DONE [13:14:02.683] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.683] List of 2 [13:14:02.683] $ ...future.FUN:function (x, ...) [13:14:02.683] $ ... : list() [13:14:02.683] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.683] - attr(*, "where")=List of 2 [13:14:02.683] ..$ ...future.FUN: [13:14:02.683] ..$ ... : [13:14:02.683] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.683] - attr(*, "resolved")= logi FALSE [13:14:02.683] - attr(*, "total_size")= num 1248 [13:14:02.688] Packages to be attached in all futures: [n=0] [13:14:02.688] getGlobalsAndPackagesXApply() ... DONE [13:14:02.688] Number of futures (= number of chunks): 1 [13:14:02.688] Launching 1 futures (chunks) ... [13:14:02.688] Chunk #1 of 1 ... [13:14:02.688] - Finding globals in 'X' for chunk #1 ... [13:14:02.689] getGlobalsAndPackages() ... [13:14:02.689] Searching for globals... [13:14:02.689] [13:14:02.689] Searching for globals ... DONE [13:14:02.689] - globals: [0] [13:14:02.689] getGlobalsAndPackages() ... DONE [13:14:02.690] + additional globals found: [n=0] [13:14:02.690] + additional namespaces needed: [n=0] [13:14:02.690] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.690] - seeds: [13:14:02.690] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.690] getGlobalsAndPackages() ... [13:14:02.690] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.691] Resolving globals: FALSE [13:14:02.691] Tweak future expression to call with '...' arguments ... [13:14:02.691] { [13:14:02.691] do.call(function(...) { [13:14:02.691] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.691] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.691] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.691] on.exit(options(oopts), add = TRUE) [13:14:02.691] } [13:14:02.691] { [13:14:02.691] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.691] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.691] ...future.FUN(...future.X_jj, ...) [13:14:02.691] }) [13:14:02.691] } [13:14:02.691] }, args = future.call.arguments) [13:14:02.691] } [13:14:02.691] Tweak future expression to call with '...' arguments ... DONE [13:14:02.692] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.692] [13:14:02.692] getGlobalsAndPackages() ... DONE [13:14:02.692] run() for 'Future' ... [13:14:02.692] - state: 'created' [13:14:02.693] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.693] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.693] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.693] - Field: 'label' [13:14:02.693] - Field: 'local' [13:14:02.694] - Field: 'owner' [13:14:02.694] - Field: 'envir' [13:14:02.694] - Field: 'packages' [13:14:02.694] - Field: 'gc' [13:14:02.694] - Field: 'conditions' [13:14:02.694] - Field: 'expr' [13:14:02.694] - Field: 'uuid' [13:14:02.695] - Field: 'seed' [13:14:02.695] - Field: 'version' [13:14:02.695] - Field: 'result' [13:14:02.695] - Field: 'asynchronous' [13:14:02.695] - Field: 'calls' [13:14:02.695] - Field: 'globals' [13:14:02.695] - Field: 'stdout' [13:14:02.695] - Field: 'earlySignal' [13:14:02.696] - Field: 'lazy' [13:14:02.696] - Field: 'state' [13:14:02.696] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.696] - Launch lazy future ... [13:14:02.696] Packages needed by the future expression (n = 0): [13:14:02.697] Packages needed by future strategies (n = 0): [13:14:02.697] { [13:14:02.697] { [13:14:02.697] { [13:14:02.697] ...future.startTime <- base::Sys.time() [13:14:02.697] { [13:14:02.697] { [13:14:02.697] { [13:14:02.697] base::local({ [13:14:02.697] has_future <- base::requireNamespace("future", [13:14:02.697] quietly = TRUE) [13:14:02.697] if (has_future) { [13:14:02.697] ns <- base::getNamespace("future") [13:14:02.697] version <- ns[[".package"]][["version"]] [13:14:02.697] if (is.null(version)) [13:14:02.697] version <- utils::packageVersion("future") [13:14:02.697] } [13:14:02.697] else { [13:14:02.697] version <- NULL [13:14:02.697] } [13:14:02.697] if (!has_future || version < "1.8.0") { [13:14:02.697] info <- base::c(r_version = base::gsub("R version ", [13:14:02.697] "", base::R.version$version.string), [13:14:02.697] platform = base::sprintf("%s (%s-bit)", [13:14:02.697] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.697] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.697] "release", "version")], collapse = " "), [13:14:02.697] hostname = base::Sys.info()[["nodename"]]) [13:14:02.697] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.697] info) [13:14:02.697] info <- base::paste(info, collapse = "; ") [13:14:02.697] if (!has_future) { [13:14:02.697] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.697] info) [13:14:02.697] } [13:14:02.697] else { [13:14:02.697] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.697] info, version) [13:14:02.697] } [13:14:02.697] base::stop(msg) [13:14:02.697] } [13:14:02.697] }) [13:14:02.697] } [13:14:02.697] options(future.plan = NULL) [13:14:02.697] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.697] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.697] } [13:14:02.697] ...future.workdir <- getwd() [13:14:02.697] } [13:14:02.697] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.697] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.697] } [13:14:02.697] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.697] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.697] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.697] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.697] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.697] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.697] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.697] base::names(...future.oldOptions)) [13:14:02.697] } [13:14:02.697] if (FALSE) { [13:14:02.697] } [13:14:02.697] else { [13:14:02.697] if (TRUE) { [13:14:02.697] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.697] open = "w") [13:14:02.697] } [13:14:02.697] else { [13:14:02.697] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.697] windows = "NUL", "/dev/null"), open = "w") [13:14:02.697] } [13:14:02.697] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.697] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.697] base::sink(type = "output", split = FALSE) [13:14:02.697] base::close(...future.stdout) [13:14:02.697] }, add = TRUE) [13:14:02.697] } [13:14:02.697] ...future.frame <- base::sys.nframe() [13:14:02.697] ...future.conditions <- base::list() [13:14:02.697] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.697] if (FALSE) { [13:14:02.697] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.697] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.697] } [13:14:02.697] ...future.result <- base::tryCatch({ [13:14:02.697] base::withCallingHandlers({ [13:14:02.697] ...future.value <- base::withVisible(base::local({ [13:14:02.697] do.call(function(...) { [13:14:02.697] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.697] if (!identical(...future.globals.maxSize.org, [13:14:02.697] ...future.globals.maxSize)) { [13:14:02.697] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.697] on.exit(options(oopts), add = TRUE) [13:14:02.697] } [13:14:02.697] { [13:14:02.697] lapply(seq_along(...future.elements_ii), [13:14:02.697] FUN = function(jj) { [13:14:02.697] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.697] ...future.FUN(...future.X_jj, ...) [13:14:02.697] }) [13:14:02.697] } [13:14:02.697] }, args = future.call.arguments) [13:14:02.697] })) [13:14:02.697] future::FutureResult(value = ...future.value$value, [13:14:02.697] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.697] ...future.rng), globalenv = if (FALSE) [13:14:02.697] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.697] ...future.globalenv.names)) [13:14:02.697] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.697] }, condition = base::local({ [13:14:02.697] c <- base::c [13:14:02.697] inherits <- base::inherits [13:14:02.697] invokeRestart <- base::invokeRestart [13:14:02.697] length <- base::length [13:14:02.697] list <- base::list [13:14:02.697] seq.int <- base::seq.int [13:14:02.697] signalCondition <- base::signalCondition [13:14:02.697] sys.calls <- base::sys.calls [13:14:02.697] `[[` <- base::`[[` [13:14:02.697] `+` <- base::`+` [13:14:02.697] `<<-` <- base::`<<-` [13:14:02.697] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.697] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.697] 3L)] [13:14:02.697] } [13:14:02.697] function(cond) { [13:14:02.697] is_error <- inherits(cond, "error") [13:14:02.697] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.697] NULL) [13:14:02.697] if (is_error) { [13:14:02.697] sessionInformation <- function() { [13:14:02.697] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.697] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.697] search = base::search(), system = base::Sys.info()) [13:14:02.697] } [13:14:02.697] ...future.conditions[[length(...future.conditions) + [13:14:02.697] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.697] cond$call), session = sessionInformation(), [13:14:02.697] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.697] signalCondition(cond) [13:14:02.697] } [13:14:02.697] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.697] "immediateCondition"))) { [13:14:02.697] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.697] ...future.conditions[[length(...future.conditions) + [13:14:02.697] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.697] if (TRUE && !signal) { [13:14:02.697] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.697] { [13:14:02.697] inherits <- base::inherits [13:14:02.697] invokeRestart <- base::invokeRestart [13:14:02.697] is.null <- base::is.null [13:14:02.697] muffled <- FALSE [13:14:02.697] if (inherits(cond, "message")) { [13:14:02.697] muffled <- grepl(pattern, "muffleMessage") [13:14:02.697] if (muffled) [13:14:02.697] invokeRestart("muffleMessage") [13:14:02.697] } [13:14:02.697] else if (inherits(cond, "warning")) { [13:14:02.697] muffled <- grepl(pattern, "muffleWarning") [13:14:02.697] if (muffled) [13:14:02.697] invokeRestart("muffleWarning") [13:14:02.697] } [13:14:02.697] else if (inherits(cond, "condition")) { [13:14:02.697] if (!is.null(pattern)) { [13:14:02.697] computeRestarts <- base::computeRestarts [13:14:02.697] grepl <- base::grepl [13:14:02.697] restarts <- computeRestarts(cond) [13:14:02.697] for (restart in restarts) { [13:14:02.697] name <- restart$name [13:14:02.697] if (is.null(name)) [13:14:02.697] next [13:14:02.697] if (!grepl(pattern, name)) [13:14:02.697] next [13:14:02.697] invokeRestart(restart) [13:14:02.697] muffled <- TRUE [13:14:02.697] break [13:14:02.697] } [13:14:02.697] } [13:14:02.697] } [13:14:02.697] invisible(muffled) [13:14:02.697] } [13:14:02.697] muffleCondition(cond, pattern = "^muffle") [13:14:02.697] } [13:14:02.697] } [13:14:02.697] else { [13:14:02.697] if (TRUE) { [13:14:02.697] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.697] { [13:14:02.697] inherits <- base::inherits [13:14:02.697] invokeRestart <- base::invokeRestart [13:14:02.697] is.null <- base::is.null [13:14:02.697] muffled <- FALSE [13:14:02.697] if (inherits(cond, "message")) { [13:14:02.697] muffled <- grepl(pattern, "muffleMessage") [13:14:02.697] if (muffled) [13:14:02.697] invokeRestart("muffleMessage") [13:14:02.697] } [13:14:02.697] else if (inherits(cond, "warning")) { [13:14:02.697] muffled <- grepl(pattern, "muffleWarning") [13:14:02.697] if (muffled) [13:14:02.697] invokeRestart("muffleWarning") [13:14:02.697] } [13:14:02.697] else if (inherits(cond, "condition")) { [13:14:02.697] if (!is.null(pattern)) { [13:14:02.697] computeRestarts <- base::computeRestarts [13:14:02.697] grepl <- base::grepl [13:14:02.697] restarts <- computeRestarts(cond) [13:14:02.697] for (restart in restarts) { [13:14:02.697] name <- restart$name [13:14:02.697] if (is.null(name)) [13:14:02.697] next [13:14:02.697] if (!grepl(pattern, name)) [13:14:02.697] next [13:14:02.697] invokeRestart(restart) [13:14:02.697] muffled <- TRUE [13:14:02.697] break [13:14:02.697] } [13:14:02.697] } [13:14:02.697] } [13:14:02.697] invisible(muffled) [13:14:02.697] } [13:14:02.697] muffleCondition(cond, pattern = "^muffle") [13:14:02.697] } [13:14:02.697] } [13:14:02.697] } [13:14:02.697] })) [13:14:02.697] }, error = function(ex) { [13:14:02.697] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.697] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.697] ...future.rng), started = ...future.startTime, [13:14:02.697] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.697] version = "1.8"), class = "FutureResult") [13:14:02.697] }, finally = { [13:14:02.697] if (!identical(...future.workdir, getwd())) [13:14:02.697] setwd(...future.workdir) [13:14:02.697] { [13:14:02.697] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.697] ...future.oldOptions$nwarnings <- NULL [13:14:02.697] } [13:14:02.697] base::options(...future.oldOptions) [13:14:02.697] if (.Platform$OS.type == "windows") { [13:14:02.697] old_names <- names(...future.oldEnvVars) [13:14:02.697] envs <- base::Sys.getenv() [13:14:02.697] names <- names(envs) [13:14:02.697] common <- intersect(names, old_names) [13:14:02.697] added <- setdiff(names, old_names) [13:14:02.697] removed <- setdiff(old_names, names) [13:14:02.697] changed <- common[...future.oldEnvVars[common] != [13:14:02.697] envs[common]] [13:14:02.697] NAMES <- toupper(changed) [13:14:02.697] args <- list() [13:14:02.697] for (kk in seq_along(NAMES)) { [13:14:02.697] name <- changed[[kk]] [13:14:02.697] NAME <- NAMES[[kk]] [13:14:02.697] if (name != NAME && is.element(NAME, old_names)) [13:14:02.697] next [13:14:02.697] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.697] } [13:14:02.697] NAMES <- toupper(added) [13:14:02.697] for (kk in seq_along(NAMES)) { [13:14:02.697] name <- added[[kk]] [13:14:02.697] NAME <- NAMES[[kk]] [13:14:02.697] if (name != NAME && is.element(NAME, old_names)) [13:14:02.697] next [13:14:02.697] args[[name]] <- "" [13:14:02.697] } [13:14:02.697] NAMES <- toupper(removed) [13:14:02.697] for (kk in seq_along(NAMES)) { [13:14:02.697] name <- removed[[kk]] [13:14:02.697] NAME <- NAMES[[kk]] [13:14:02.697] if (name != NAME && is.element(NAME, old_names)) [13:14:02.697] next [13:14:02.697] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.697] } [13:14:02.697] if (length(args) > 0) [13:14:02.697] base::do.call(base::Sys.setenv, args = args) [13:14:02.697] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.697] } [13:14:02.697] else { [13:14:02.697] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.697] } [13:14:02.697] { [13:14:02.697] if (base::length(...future.futureOptionsAdded) > [13:14:02.697] 0L) { [13:14:02.697] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.697] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.697] base::options(opts) [13:14:02.697] } [13:14:02.697] { [13:14:02.697] { [13:14:02.697] NULL [13:14:02.697] RNGkind("Mersenne-Twister") [13:14:02.697] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.697] inherits = FALSE) [13:14:02.697] } [13:14:02.697] options(future.plan = NULL) [13:14:02.697] if (is.na(NA_character_)) [13:14:02.697] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.697] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.697] future::plan(list(function (..., envir = parent.frame()) [13:14:02.697] { [13:14:02.697] future <- SequentialFuture(..., envir = envir) [13:14:02.697] if (!future$lazy) [13:14:02.697] future <- run(future) [13:14:02.697] invisible(future) [13:14:02.697] }), .cleanup = FALSE, .init = FALSE) [13:14:02.697] } [13:14:02.697] } [13:14:02.697] } [13:14:02.697] }) [13:14:02.697] if (TRUE) { [13:14:02.697] base::sink(type = "output", split = FALSE) [13:14:02.697] if (TRUE) { [13:14:02.697] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.697] } [13:14:02.697] else { [13:14:02.697] ...future.result["stdout"] <- base::list(NULL) [13:14:02.697] } [13:14:02.697] base::close(...future.stdout) [13:14:02.697] ...future.stdout <- NULL [13:14:02.697] } [13:14:02.697] ...future.result$conditions <- ...future.conditions [13:14:02.697] ...future.result$finished <- base::Sys.time() [13:14:02.697] ...future.result [13:14:02.697] } [13:14:02.700] assign_globals() ... [13:14:02.700] List of 5 [13:14:02.700] $ ...future.FUN :function (x, ...) [13:14:02.700] $ future.call.arguments : list() [13:14:02.700] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.700] $ ...future.elements_ii :List of 4 [13:14:02.700] ..$ A: num 50 [13:14:02.700] ..$ B: num 60 [13:14:02.700] ..$ C: num 70 [13:14:02.700] ..$ D: num 80 [13:14:02.700] $ ...future.seeds_ii : NULL [13:14:02.700] $ ...future.globals.maxSize: NULL [13:14:02.700] - attr(*, "where")=List of 5 [13:14:02.700] ..$ ...future.FUN : [13:14:02.700] ..$ future.call.arguments : [13:14:02.700] ..$ ...future.elements_ii : [13:14:02.700] ..$ ...future.seeds_ii : [13:14:02.700] ..$ ...future.globals.maxSize: [13:14:02.700] - attr(*, "resolved")= logi FALSE [13:14:02.700] - attr(*, "total_size")= num 1248 [13:14:02.700] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.700] - attr(*, "already-done")= logi TRUE [13:14:02.706] - copied '...future.FUN' to environment [13:14:02.707] - copied 'future.call.arguments' to environment [13:14:02.707] - copied '...future.elements_ii' to environment [13:14:02.707] - copied '...future.seeds_ii' to environment [13:14:02.707] - copied '...future.globals.maxSize' to environment [13:14:02.707] assign_globals() ... done [13:14:02.707] plan(): Setting new future strategy stack: [13:14:02.708] List of future strategies: [13:14:02.708] 1. sequential: [13:14:02.708] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.708] - tweaked: FALSE [13:14:02.708] - call: NULL [13:14:02.708] plan(): nbrOfWorkers() = 1 [13:14:02.709] plan(): Setting new future strategy stack: [13:14:02.709] List of future strategies: [13:14:02.709] 1. sequential: [13:14:02.709] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.709] - tweaked: FALSE [13:14:02.709] - call: plan(strategy) [13:14:02.710] plan(): nbrOfWorkers() = 1 [13:14:02.710] SequentialFuture started (and completed) [13:14:02.710] - Launch lazy future ... done [13:14:02.710] run() for 'SequentialFuture' ... done [13:14:02.711] Created future: [13:14:02.711] SequentialFuture: [13:14:02.711] Label: 'future_sapply-1' [13:14:02.711] Expression: [13:14:02.711] { [13:14:02.711] do.call(function(...) { [13:14:02.711] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.711] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.711] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.711] on.exit(options(oopts), add = TRUE) [13:14:02.711] } [13:14:02.711] { [13:14:02.711] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.711] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.711] ...future.FUN(...future.X_jj, ...) [13:14:02.711] }) [13:14:02.711] } [13:14:02.711] }, args = future.call.arguments) [13:14:02.711] } [13:14:02.711] Lazy evaluation: FALSE [13:14:02.711] Asynchronous evaluation: FALSE [13:14:02.711] Local evaluation: TRUE [13:14:02.711] Environment: R_GlobalEnv [13:14:02.711] Capture standard output: TRUE [13:14:02.711] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.711] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.711] Packages: [13:14:02.711] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.711] Resolved: TRUE [13:14:02.711] Value: 896 bytes of class 'list' [13:14:02.711] Early signaling: FALSE [13:14:02.711] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.711] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.712] Chunk #1 of 1 ... DONE [13:14:02.712] Launching 1 futures (chunks) ... DONE [13:14:02.712] Resolving 1 futures (chunks) ... [13:14:02.712] resolve() on list ... [13:14:02.712] recursive: 0 [13:14:02.713] length: 1 [13:14:02.713] [13:14:02.713] resolved() for 'SequentialFuture' ... [13:14:02.713] - state: 'finished' [13:14:02.713] - run: TRUE [13:14:02.713] - result: 'FutureResult' [13:14:02.714] resolved() for 'SequentialFuture' ... done [13:14:02.714] Future #1 [13:14:02.714] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.714] - nx: 1 [13:14:02.714] - relay: TRUE [13:14:02.714] - stdout: TRUE [13:14:02.714] - signal: TRUE [13:14:02.715] - resignal: FALSE [13:14:02.715] - force: TRUE [13:14:02.715] - relayed: [n=1] FALSE [13:14:02.715] - queued futures: [n=1] FALSE [13:14:02.715] - until=1 [13:14:02.715] - relaying element #1 [13:14:02.716] - relayed: [n=1] TRUE [13:14:02.716] - queued futures: [n=1] TRUE [13:14:02.716] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.716] length: 0 (resolved future 1) [13:14:02.716] Relaying remaining futures [13:14:02.716] signalConditionsASAP(NULL, pos=0) ... [13:14:02.716] - nx: 1 [13:14:02.717] - relay: TRUE [13:14:02.717] - stdout: TRUE [13:14:02.717] - signal: TRUE [13:14:02.717] - resignal: FALSE [13:14:02.717] - force: TRUE [13:14:02.717] - relayed: [n=1] TRUE [13:14:02.717] - queued futures: [n=1] TRUE - flush all [13:14:02.718] - relayed: [n=1] TRUE [13:14:02.718] - queued futures: [n=1] TRUE [13:14:02.718] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.718] resolve() on list ... DONE [13:14:02.718] - Number of value chunks collected: 1 [13:14:02.718] Resolving 1 futures (chunks) ... DONE [13:14:02.718] Reducing values from 1 chunks ... [13:14:02.719] - Number of values collected after concatenation: 4 [13:14:02.719] - Number of values expected: 4 [13:14:02.719] Reducing values from 1 chunks ... DONE [13:14:02.719] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y1:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y2:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 [13:14:02.726] future_lapply() ... [13:14:02.726] Number of chunks: 1 [13:14:02.726] getGlobalsAndPackagesXApply() ... [13:14:02.727] - future.globals: TRUE [13:14:02.727] getGlobalsAndPackages() ... [13:14:02.727] Searching for globals... [13:14:02.728] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:02.728] Searching for globals ... DONE [13:14:02.728] Resolving globals: FALSE [13:14:02.729] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:02.729] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:02.729] - globals: [1] 'FUN' [13:14:02.729] [13:14:02.729] getGlobalsAndPackages() ... DONE [13:14:02.729] - globals found/used: [n=1] 'FUN' [13:14:02.730] - needed namespaces: [n=0] [13:14:02.730] Finding globals ... DONE [13:14:02.730] - use_args: TRUE [13:14:02.730] - Getting '...' globals ... [13:14:02.730] resolve() on list ... [13:14:02.730] recursive: 0 [13:14:02.730] length: 1 [13:14:02.731] elements: '...' [13:14:02.731] length: 0 (resolved future 1) [13:14:02.731] resolve() on list ... DONE [13:14:02.731] - '...' content: [n=0] [13:14:02.731] List of 1 [13:14:02.731] $ ...: list() [13:14:02.731] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.731] - attr(*, "where")=List of 1 [13:14:02.731] ..$ ...: [13:14:02.731] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.731] - attr(*, "resolved")= logi TRUE [13:14:02.731] - attr(*, "total_size")= num NA [13:14:02.733] - Getting '...' globals ... DONE [13:14:02.733] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.734] List of 2 [13:14:02.734] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:02.734] $ ... : list() [13:14:02.734] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.734] - attr(*, "where")=List of 2 [13:14:02.734] ..$ ...future.FUN: [13:14:02.734] ..$ ... : [13:14:02.734] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.734] - attr(*, "resolved")= logi FALSE [13:14:02.734] - attr(*, "total_size")= num 4728 [13:14:02.736] Packages to be attached in all futures: [n=0] [13:14:02.736] getGlobalsAndPackagesXApply() ... DONE [13:14:02.736] Number of futures (= number of chunks): 1 [13:14:02.736] Launching 1 futures (chunks) ... [13:14:02.736] Chunk #1 of 1 ... [13:14:02.737] - Finding globals in 'X' for chunk #1 ... [13:14:02.737] getGlobalsAndPackages() ... [13:14:02.737] Searching for globals... [13:14:02.737] [13:14:02.737] Searching for globals ... DONE [13:14:02.737] - globals: [0] [13:14:02.737] getGlobalsAndPackages() ... DONE [13:14:02.738] + additional globals found: [n=0] [13:14:02.738] + additional namespaces needed: [n=0] [13:14:02.738] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.738] - seeds: [13:14:02.738] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.738] getGlobalsAndPackages() ... [13:14:02.738] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.738] Resolving globals: FALSE [13:14:02.738] Tweak future expression to call with '...' arguments ... [13:14:02.739] { [13:14:02.739] do.call(function(...) { [13:14:02.739] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.739] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.739] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.739] on.exit(options(oopts), add = TRUE) [13:14:02.739] } [13:14:02.739] { [13:14:02.739] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.739] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.739] ...future.FUN(...future.X_jj, ...) [13:14:02.739] }) [13:14:02.739] } [13:14:02.739] }, args = future.call.arguments) [13:14:02.739] } [13:14:02.739] Tweak future expression to call with '...' arguments ... DONE [13:14:02.739] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.740] [13:14:02.740] getGlobalsAndPackages() ... DONE [13:14:02.740] run() for 'Future' ... [13:14:02.740] - state: 'created' [13:14:02.740] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.740] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.741] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.741] - Field: 'label' [13:14:02.741] - Field: 'local' [13:14:02.741] - Field: 'owner' [13:14:02.741] - Field: 'envir' [13:14:02.741] - Field: 'packages' [13:14:02.741] - Field: 'gc' [13:14:02.741] - Field: 'conditions' [13:14:02.742] - Field: 'expr' [13:14:02.742] - Field: 'uuid' [13:14:02.742] - Field: 'seed' [13:14:02.742] - Field: 'version' [13:14:02.742] - Field: 'result' [13:14:02.742] - Field: 'asynchronous' [13:14:02.742] - Field: 'calls' [13:14:02.742] - Field: 'globals' [13:14:02.743] - Field: 'stdout' [13:14:02.743] - Field: 'earlySignal' [13:14:02.743] - Field: 'lazy' [13:14:02.743] - Field: 'state' [13:14:02.743] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.743] - Launch lazy future ... [13:14:02.743] Packages needed by the future expression (n = 0): [13:14:02.743] Packages needed by future strategies (n = 0): [13:14:02.744] { [13:14:02.744] { [13:14:02.744] { [13:14:02.744] ...future.startTime <- base::Sys.time() [13:14:02.744] { [13:14:02.744] { [13:14:02.744] { [13:14:02.744] base::local({ [13:14:02.744] has_future <- base::requireNamespace("future", [13:14:02.744] quietly = TRUE) [13:14:02.744] if (has_future) { [13:14:02.744] ns <- base::getNamespace("future") [13:14:02.744] version <- ns[[".package"]][["version"]] [13:14:02.744] if (is.null(version)) [13:14:02.744] version <- utils::packageVersion("future") [13:14:02.744] } [13:14:02.744] else { [13:14:02.744] version <- NULL [13:14:02.744] } [13:14:02.744] if (!has_future || version < "1.8.0") { [13:14:02.744] info <- base::c(r_version = base::gsub("R version ", [13:14:02.744] "", base::R.version$version.string), [13:14:02.744] platform = base::sprintf("%s (%s-bit)", [13:14:02.744] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.744] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.744] "release", "version")], collapse = " "), [13:14:02.744] hostname = base::Sys.info()[["nodename"]]) [13:14:02.744] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.744] info) [13:14:02.744] info <- base::paste(info, collapse = "; ") [13:14:02.744] if (!has_future) { [13:14:02.744] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.744] info) [13:14:02.744] } [13:14:02.744] else { [13:14:02.744] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.744] info, version) [13:14:02.744] } [13:14:02.744] base::stop(msg) [13:14:02.744] } [13:14:02.744] }) [13:14:02.744] } [13:14:02.744] options(future.plan = NULL) [13:14:02.744] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.744] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.744] } [13:14:02.744] ...future.workdir <- getwd() [13:14:02.744] } [13:14:02.744] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.744] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.744] } [13:14:02.744] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.744] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.744] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.744] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.744] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.744] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.744] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.744] base::names(...future.oldOptions)) [13:14:02.744] } [13:14:02.744] if (FALSE) { [13:14:02.744] } [13:14:02.744] else { [13:14:02.744] if (TRUE) { [13:14:02.744] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.744] open = "w") [13:14:02.744] } [13:14:02.744] else { [13:14:02.744] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.744] windows = "NUL", "/dev/null"), open = "w") [13:14:02.744] } [13:14:02.744] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.744] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.744] base::sink(type = "output", split = FALSE) [13:14:02.744] base::close(...future.stdout) [13:14:02.744] }, add = TRUE) [13:14:02.744] } [13:14:02.744] ...future.frame <- base::sys.nframe() [13:14:02.744] ...future.conditions <- base::list() [13:14:02.744] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.744] if (FALSE) { [13:14:02.744] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.744] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.744] } [13:14:02.744] ...future.result <- base::tryCatch({ [13:14:02.744] base::withCallingHandlers({ [13:14:02.744] ...future.value <- base::withVisible(base::local({ [13:14:02.744] do.call(function(...) { [13:14:02.744] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.744] if (!identical(...future.globals.maxSize.org, [13:14:02.744] ...future.globals.maxSize)) { [13:14:02.744] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.744] on.exit(options(oopts), add = TRUE) [13:14:02.744] } [13:14:02.744] { [13:14:02.744] lapply(seq_along(...future.elements_ii), [13:14:02.744] FUN = function(jj) { [13:14:02.744] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.744] ...future.FUN(...future.X_jj, ...) [13:14:02.744] }) [13:14:02.744] } [13:14:02.744] }, args = future.call.arguments) [13:14:02.744] })) [13:14:02.744] future::FutureResult(value = ...future.value$value, [13:14:02.744] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.744] ...future.rng), globalenv = if (FALSE) [13:14:02.744] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.744] ...future.globalenv.names)) [13:14:02.744] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.744] }, condition = base::local({ [13:14:02.744] c <- base::c [13:14:02.744] inherits <- base::inherits [13:14:02.744] invokeRestart <- base::invokeRestart [13:14:02.744] length <- base::length [13:14:02.744] list <- base::list [13:14:02.744] seq.int <- base::seq.int [13:14:02.744] signalCondition <- base::signalCondition [13:14:02.744] sys.calls <- base::sys.calls [13:14:02.744] `[[` <- base::`[[` [13:14:02.744] `+` <- base::`+` [13:14:02.744] `<<-` <- base::`<<-` [13:14:02.744] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.744] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.744] 3L)] [13:14:02.744] } [13:14:02.744] function(cond) { [13:14:02.744] is_error <- inherits(cond, "error") [13:14:02.744] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.744] NULL) [13:14:02.744] if (is_error) { [13:14:02.744] sessionInformation <- function() { [13:14:02.744] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.744] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.744] search = base::search(), system = base::Sys.info()) [13:14:02.744] } [13:14:02.744] ...future.conditions[[length(...future.conditions) + [13:14:02.744] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.744] cond$call), session = sessionInformation(), [13:14:02.744] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.744] signalCondition(cond) [13:14:02.744] } [13:14:02.744] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.744] "immediateCondition"))) { [13:14:02.744] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.744] ...future.conditions[[length(...future.conditions) + [13:14:02.744] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.744] if (TRUE && !signal) { [13:14:02.744] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.744] { [13:14:02.744] inherits <- base::inherits [13:14:02.744] invokeRestart <- base::invokeRestart [13:14:02.744] is.null <- base::is.null [13:14:02.744] muffled <- FALSE [13:14:02.744] if (inherits(cond, "message")) { [13:14:02.744] muffled <- grepl(pattern, "muffleMessage") [13:14:02.744] if (muffled) [13:14:02.744] invokeRestart("muffleMessage") [13:14:02.744] } [13:14:02.744] else if (inherits(cond, "warning")) { [13:14:02.744] muffled <- grepl(pattern, "muffleWarning") [13:14:02.744] if (muffled) [13:14:02.744] invokeRestart("muffleWarning") [13:14:02.744] } [13:14:02.744] else if (inherits(cond, "condition")) { [13:14:02.744] if (!is.null(pattern)) { [13:14:02.744] computeRestarts <- base::computeRestarts [13:14:02.744] grepl <- base::grepl [13:14:02.744] restarts <- computeRestarts(cond) [13:14:02.744] for (restart in restarts) { [13:14:02.744] name <- restart$name [13:14:02.744] if (is.null(name)) [13:14:02.744] next [13:14:02.744] if (!grepl(pattern, name)) [13:14:02.744] next [13:14:02.744] invokeRestart(restart) [13:14:02.744] muffled <- TRUE [13:14:02.744] break [13:14:02.744] } [13:14:02.744] } [13:14:02.744] } [13:14:02.744] invisible(muffled) [13:14:02.744] } [13:14:02.744] muffleCondition(cond, pattern = "^muffle") [13:14:02.744] } [13:14:02.744] } [13:14:02.744] else { [13:14:02.744] if (TRUE) { [13:14:02.744] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.744] { [13:14:02.744] inherits <- base::inherits [13:14:02.744] invokeRestart <- base::invokeRestart [13:14:02.744] is.null <- base::is.null [13:14:02.744] muffled <- FALSE [13:14:02.744] if (inherits(cond, "message")) { [13:14:02.744] muffled <- grepl(pattern, "muffleMessage") [13:14:02.744] if (muffled) [13:14:02.744] invokeRestart("muffleMessage") [13:14:02.744] } [13:14:02.744] else if (inherits(cond, "warning")) { [13:14:02.744] muffled <- grepl(pattern, "muffleWarning") [13:14:02.744] if (muffled) [13:14:02.744] invokeRestart("muffleWarning") [13:14:02.744] } [13:14:02.744] else if (inherits(cond, "condition")) { [13:14:02.744] if (!is.null(pattern)) { [13:14:02.744] computeRestarts <- base::computeRestarts [13:14:02.744] grepl <- base::grepl [13:14:02.744] restarts <- computeRestarts(cond) [13:14:02.744] for (restart in restarts) { [13:14:02.744] name <- restart$name [13:14:02.744] if (is.null(name)) [13:14:02.744] next [13:14:02.744] if (!grepl(pattern, name)) [13:14:02.744] next [13:14:02.744] invokeRestart(restart) [13:14:02.744] muffled <- TRUE [13:14:02.744] break [13:14:02.744] } [13:14:02.744] } [13:14:02.744] } [13:14:02.744] invisible(muffled) [13:14:02.744] } [13:14:02.744] muffleCondition(cond, pattern = "^muffle") [13:14:02.744] } [13:14:02.744] } [13:14:02.744] } [13:14:02.744] })) [13:14:02.744] }, error = function(ex) { [13:14:02.744] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.744] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.744] ...future.rng), started = ...future.startTime, [13:14:02.744] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.744] version = "1.8"), class = "FutureResult") [13:14:02.744] }, finally = { [13:14:02.744] if (!identical(...future.workdir, getwd())) [13:14:02.744] setwd(...future.workdir) [13:14:02.744] { [13:14:02.744] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.744] ...future.oldOptions$nwarnings <- NULL [13:14:02.744] } [13:14:02.744] base::options(...future.oldOptions) [13:14:02.744] if (.Platform$OS.type == "windows") { [13:14:02.744] old_names <- names(...future.oldEnvVars) [13:14:02.744] envs <- base::Sys.getenv() [13:14:02.744] names <- names(envs) [13:14:02.744] common <- intersect(names, old_names) [13:14:02.744] added <- setdiff(names, old_names) [13:14:02.744] removed <- setdiff(old_names, names) [13:14:02.744] changed <- common[...future.oldEnvVars[common] != [13:14:02.744] envs[common]] [13:14:02.744] NAMES <- toupper(changed) [13:14:02.744] args <- list() [13:14:02.744] for (kk in seq_along(NAMES)) { [13:14:02.744] name <- changed[[kk]] [13:14:02.744] NAME <- NAMES[[kk]] [13:14:02.744] if (name != NAME && is.element(NAME, old_names)) [13:14:02.744] next [13:14:02.744] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.744] } [13:14:02.744] NAMES <- toupper(added) [13:14:02.744] for (kk in seq_along(NAMES)) { [13:14:02.744] name <- added[[kk]] [13:14:02.744] NAME <- NAMES[[kk]] [13:14:02.744] if (name != NAME && is.element(NAME, old_names)) [13:14:02.744] next [13:14:02.744] args[[name]] <- "" [13:14:02.744] } [13:14:02.744] NAMES <- toupper(removed) [13:14:02.744] for (kk in seq_along(NAMES)) { [13:14:02.744] name <- removed[[kk]] [13:14:02.744] NAME <- NAMES[[kk]] [13:14:02.744] if (name != NAME && is.element(NAME, old_names)) [13:14:02.744] next [13:14:02.744] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.744] } [13:14:02.744] if (length(args) > 0) [13:14:02.744] base::do.call(base::Sys.setenv, args = args) [13:14:02.744] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.744] } [13:14:02.744] else { [13:14:02.744] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.744] } [13:14:02.744] { [13:14:02.744] if (base::length(...future.futureOptionsAdded) > [13:14:02.744] 0L) { [13:14:02.744] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.744] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.744] base::options(opts) [13:14:02.744] } [13:14:02.744] { [13:14:02.744] { [13:14:02.744] NULL [13:14:02.744] RNGkind("Mersenne-Twister") [13:14:02.744] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.744] inherits = FALSE) [13:14:02.744] } [13:14:02.744] options(future.plan = NULL) [13:14:02.744] if (is.na(NA_character_)) [13:14:02.744] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.744] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.744] future::plan(list(function (..., envir = parent.frame()) [13:14:02.744] { [13:14:02.744] future <- SequentialFuture(..., envir = envir) [13:14:02.744] if (!future$lazy) [13:14:02.744] future <- run(future) [13:14:02.744] invisible(future) [13:14:02.744] }), .cleanup = FALSE, .init = FALSE) [13:14:02.744] } [13:14:02.744] } [13:14:02.744] } [13:14:02.744] }) [13:14:02.744] if (TRUE) { [13:14:02.744] base::sink(type = "output", split = FALSE) [13:14:02.744] if (TRUE) { [13:14:02.744] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.744] } [13:14:02.744] else { [13:14:02.744] ...future.result["stdout"] <- base::list(NULL) [13:14:02.744] } [13:14:02.744] base::close(...future.stdout) [13:14:02.744] ...future.stdout <- NULL [13:14:02.744] } [13:14:02.744] ...future.result$conditions <- ...future.conditions [13:14:02.744] ...future.result$finished <- base::Sys.time() [13:14:02.744] ...future.result [13:14:02.744] } [13:14:02.747] assign_globals() ... [13:14:02.747] List of 5 [13:14:02.747] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:02.747] $ future.call.arguments : list() [13:14:02.747] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.747] $ ...future.elements_ii :List of 4 [13:14:02.747] ..$ A: num 50 [13:14:02.747] ..$ B: num 60 [13:14:02.747] ..$ C: num 70 [13:14:02.747] ..$ D: num 80 [13:14:02.747] $ ...future.seeds_ii : NULL [13:14:02.747] $ ...future.globals.maxSize: NULL [13:14:02.747] - attr(*, "where")=List of 5 [13:14:02.747] ..$ ...future.FUN : [13:14:02.747] ..$ future.call.arguments : [13:14:02.747] ..$ ...future.elements_ii : [13:14:02.747] ..$ ...future.seeds_ii : [13:14:02.747] ..$ ...future.globals.maxSize: [13:14:02.747] - attr(*, "resolved")= logi FALSE [13:14:02.747] - attr(*, "total_size")= num 4728 [13:14:02.747] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.747] - attr(*, "already-done")= logi TRUE [13:14:02.752] - reassign environment for '...future.FUN' [13:14:02.752] - copied '...future.FUN' to environment [13:14:02.752] - copied 'future.call.arguments' to environment [13:14:02.752] - copied '...future.elements_ii' to environment [13:14:02.752] - copied '...future.seeds_ii' to environment [13:14:02.752] - copied '...future.globals.maxSize' to environment [13:14:02.752] assign_globals() ... done [13:14:02.753] plan(): Setting new future strategy stack: [13:14:02.753] List of future strategies: [13:14:02.753] 1. sequential: [13:14:02.753] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.753] - tweaked: FALSE [13:14:02.753] - call: NULL [13:14:02.753] plan(): nbrOfWorkers() = 1 [13:14:02.754] plan(): Setting new future strategy stack: [13:14:02.754] List of future strategies: [13:14:02.754] 1. sequential: [13:14:02.754] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.754] - tweaked: FALSE [13:14:02.754] - call: plan(strategy) [13:14:02.754] plan(): nbrOfWorkers() = 1 [13:14:02.755] SequentialFuture started (and completed) [13:14:02.755] - Launch lazy future ... done [13:14:02.755] run() for 'SequentialFuture' ... done [13:14:02.755] Created future: [13:14:02.755] SequentialFuture: [13:14:02.755] Label: 'future_sapply-1' [13:14:02.755] Expression: [13:14:02.755] { [13:14:02.755] do.call(function(...) { [13:14:02.755] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.755] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.755] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.755] on.exit(options(oopts), add = TRUE) [13:14:02.755] } [13:14:02.755] { [13:14:02.755] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.755] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.755] ...future.FUN(...future.X_jj, ...) [13:14:02.755] }) [13:14:02.755] } [13:14:02.755] }, args = future.call.arguments) [13:14:02.755] } [13:14:02.755] Lazy evaluation: FALSE [13:14:02.755] Asynchronous evaluation: FALSE [13:14:02.755] Local evaluation: TRUE [13:14:02.755] Environment: R_GlobalEnv [13:14:02.755] Capture standard output: TRUE [13:14:02.755] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.755] Globals: 5 objects totaling 4.84 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.755] Packages: [13:14:02.755] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.755] Resolved: TRUE [13:14:02.755] Value: 1.34 KiB of class 'list' [13:14:02.755] Early signaling: FALSE [13:14:02.755] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.755] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.756] Chunk #1 of 1 ... DONE [13:14:02.756] Launching 1 futures (chunks) ... DONE [13:14:02.756] Resolving 1 futures (chunks) ... [13:14:02.756] resolve() on list ... [13:14:02.757] recursive: 0 [13:14:02.757] length: 1 [13:14:02.757] [13:14:02.757] resolved() for 'SequentialFuture' ... [13:14:02.757] - state: 'finished' [13:14:02.757] - run: TRUE [13:14:02.757] - result: 'FutureResult' [13:14:02.757] resolved() for 'SequentialFuture' ... done [13:14:02.758] Future #1 [13:14:02.758] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.758] - nx: 1 [13:14:02.758] - relay: TRUE [13:14:02.758] - stdout: TRUE [13:14:02.758] - signal: TRUE [13:14:02.758] - resignal: FALSE [13:14:02.758] - force: TRUE [13:14:02.758] - relayed: [n=1] FALSE [13:14:02.759] - queued futures: [n=1] FALSE [13:14:02.759] - until=1 [13:14:02.759] - relaying element #1 [13:14:02.759] - relayed: [n=1] TRUE [13:14:02.759] - queued futures: [n=1] TRUE [13:14:02.759] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.759] length: 0 (resolved future 1) [13:14:02.759] Relaying remaining futures [13:14:02.760] signalConditionsASAP(NULL, pos=0) ... [13:14:02.760] - nx: 1 [13:14:02.760] - relay: TRUE [13:14:02.760] - stdout: TRUE [13:14:02.760] - signal: TRUE [13:14:02.760] - resignal: FALSE [13:14:02.760] - force: TRUE [13:14:02.760] - relayed: [n=1] TRUE [13:14:02.760] - queued futures: [n=1] TRUE - flush all [13:14:02.761] - relayed: [n=1] TRUE [13:14:02.761] - queued futures: [n=1] TRUE [13:14:02.761] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.761] resolve() on list ... DONE [13:14:02.761] - Number of value chunks collected: 1 [13:14:02.761] Resolving 1 futures (chunks) ... DONE [13:14:02.761] Reducing values from 1 chunks ... [13:14:02.761] - Number of values collected after concatenation: 4 [13:14:02.762] - Number of values expected: 4 [13:14:02.762] Reducing values from 1 chunks ... DONE [13:14:02.762] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y1:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y2:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... [13:14:02.771] future_lapply() ... [13:14:02.771] Number of chunks: 1 [13:14:02.771] getGlobalsAndPackagesXApply() ... [13:14:02.771] - future.globals: TRUE [13:14:02.771] getGlobalsAndPackages() ... [13:14:02.772] Searching for globals... [13:14:02.772] - globals found: [1] 'FUN' [13:14:02.773] Searching for globals ... DONE [13:14:02.773] Resolving globals: FALSE [13:14:02.773] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.773] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.774] - globals: [1] 'FUN' [13:14:02.774] [13:14:02.774] getGlobalsAndPackages() ... DONE [13:14:02.774] - globals found/used: [n=1] 'FUN' [13:14:02.774] - needed namespaces: [n=0] [13:14:02.774] Finding globals ... DONE [13:14:02.774] - use_args: TRUE [13:14:02.775] - Getting '...' globals ... [13:14:02.775] resolve() on list ... [13:14:02.775] recursive: 0 [13:14:02.775] length: 1 [13:14:02.775] elements: '...' [13:14:02.776] length: 0 (resolved future 1) [13:14:02.776] resolve() on list ... DONE [13:14:02.776] - '...' content: [n=0] [13:14:02.776] List of 1 [13:14:02.776] $ ...: list() [13:14:02.776] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.776] - attr(*, "where")=List of 1 [13:14:02.776] ..$ ...: [13:14:02.776] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.776] - attr(*, "resolved")= logi TRUE [13:14:02.776] - attr(*, "total_size")= num NA [13:14:02.778] - Getting '...' globals ... DONE [13:14:02.779] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.779] List of 2 [13:14:02.779] $ ...future.FUN:function (x) [13:14:02.779] $ ... : list() [13:14:02.779] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.779] - attr(*, "where")=List of 2 [13:14:02.779] ..$ ...future.FUN: [13:14:02.779] ..$ ... : [13:14:02.779] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.779] - attr(*, "resolved")= logi FALSE [13:14:02.779] - attr(*, "total_size")= num 848 [13:14:02.782] Packages to be attached in all futures: [n=0] [13:14:02.782] getGlobalsAndPackagesXApply() ... DONE [13:14:02.782] Number of futures (= number of chunks): 1 [13:14:02.782] Launching 1 futures (chunks) ... [13:14:02.782] Chunk #1 of 1 ... [13:14:02.782] - Finding globals in 'X' for chunk #1 ... [13:14:02.783] getGlobalsAndPackages() ... [13:14:02.783] Searching for globals... [13:14:02.783] [13:14:02.783] Searching for globals ... DONE [13:14:02.783] - globals: [0] [13:14:02.783] getGlobalsAndPackages() ... DONE [13:14:02.784] + additional globals found: [n=0] [13:14:02.784] + additional namespaces needed: [n=0] [13:14:02.784] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.784] - seeds: [13:14:02.784] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.784] getGlobalsAndPackages() ... [13:14:02.784] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.785] Resolving globals: FALSE [13:14:02.785] Tweak future expression to call with '...' arguments ... [13:14:02.785] { [13:14:02.785] do.call(function(...) { [13:14:02.785] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.785] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.785] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.785] on.exit(options(oopts), add = TRUE) [13:14:02.785] } [13:14:02.785] { [13:14:02.785] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.785] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.785] ...future.FUN(...future.X_jj, ...) [13:14:02.785] }) [13:14:02.785] } [13:14:02.785] }, args = future.call.arguments) [13:14:02.785] } [13:14:02.785] Tweak future expression to call with '...' arguments ... DONE [13:14:02.786] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.786] [13:14:02.786] getGlobalsAndPackages() ... DONE [13:14:02.786] run() for 'Future' ... [13:14:02.786] - state: 'created' [13:14:02.787] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.787] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.787] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.787] - Field: 'label' [13:14:02.787] - Field: 'local' [13:14:02.788] - Field: 'owner' [13:14:02.788] - Field: 'envir' [13:14:02.788] - Field: 'packages' [13:14:02.788] - Field: 'gc' [13:14:02.788] - Field: 'conditions' [13:14:02.788] - Field: 'expr' [13:14:02.788] - Field: 'uuid' [13:14:02.789] - Field: 'seed' [13:14:02.789] - Field: 'version' [13:14:02.789] - Field: 'result' [13:14:02.789] - Field: 'asynchronous' [13:14:02.789] - Field: 'calls' [13:14:02.789] - Field: 'globals' [13:14:02.789] - Field: 'stdout' [13:14:02.790] - Field: 'earlySignal' [13:14:02.790] - Field: 'lazy' [13:14:02.790] - Field: 'state' [13:14:02.790] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.790] - Launch lazy future ... [13:14:02.790] Packages needed by the future expression (n = 0): [13:14:02.791] Packages needed by future strategies (n = 0): [13:14:02.791] { [13:14:02.791] { [13:14:02.791] { [13:14:02.791] ...future.startTime <- base::Sys.time() [13:14:02.791] { [13:14:02.791] { [13:14:02.791] { [13:14:02.791] base::local({ [13:14:02.791] has_future <- base::requireNamespace("future", [13:14:02.791] quietly = TRUE) [13:14:02.791] if (has_future) { [13:14:02.791] ns <- base::getNamespace("future") [13:14:02.791] version <- ns[[".package"]][["version"]] [13:14:02.791] if (is.null(version)) [13:14:02.791] version <- utils::packageVersion("future") [13:14:02.791] } [13:14:02.791] else { [13:14:02.791] version <- NULL [13:14:02.791] } [13:14:02.791] if (!has_future || version < "1.8.0") { [13:14:02.791] info <- base::c(r_version = base::gsub("R version ", [13:14:02.791] "", base::R.version$version.string), [13:14:02.791] platform = base::sprintf("%s (%s-bit)", [13:14:02.791] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.791] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.791] "release", "version")], collapse = " "), [13:14:02.791] hostname = base::Sys.info()[["nodename"]]) [13:14:02.791] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.791] info) [13:14:02.791] info <- base::paste(info, collapse = "; ") [13:14:02.791] if (!has_future) { [13:14:02.791] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.791] info) [13:14:02.791] } [13:14:02.791] else { [13:14:02.791] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.791] info, version) [13:14:02.791] } [13:14:02.791] base::stop(msg) [13:14:02.791] } [13:14:02.791] }) [13:14:02.791] } [13:14:02.791] options(future.plan = NULL) [13:14:02.791] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.791] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.791] } [13:14:02.791] ...future.workdir <- getwd() [13:14:02.791] } [13:14:02.791] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.791] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.791] } [13:14:02.791] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.791] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.791] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.791] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.791] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.791] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.791] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.791] base::names(...future.oldOptions)) [13:14:02.791] } [13:14:02.791] if (FALSE) { [13:14:02.791] } [13:14:02.791] else { [13:14:02.791] if (TRUE) { [13:14:02.791] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.791] open = "w") [13:14:02.791] } [13:14:02.791] else { [13:14:02.791] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.791] windows = "NUL", "/dev/null"), open = "w") [13:14:02.791] } [13:14:02.791] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.791] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.791] base::sink(type = "output", split = FALSE) [13:14:02.791] base::close(...future.stdout) [13:14:02.791] }, add = TRUE) [13:14:02.791] } [13:14:02.791] ...future.frame <- base::sys.nframe() [13:14:02.791] ...future.conditions <- base::list() [13:14:02.791] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.791] if (FALSE) { [13:14:02.791] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.791] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.791] } [13:14:02.791] ...future.result <- base::tryCatch({ [13:14:02.791] base::withCallingHandlers({ [13:14:02.791] ...future.value <- base::withVisible(base::local({ [13:14:02.791] do.call(function(...) { [13:14:02.791] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.791] if (!identical(...future.globals.maxSize.org, [13:14:02.791] ...future.globals.maxSize)) { [13:14:02.791] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.791] on.exit(options(oopts), add = TRUE) [13:14:02.791] } [13:14:02.791] { [13:14:02.791] lapply(seq_along(...future.elements_ii), [13:14:02.791] FUN = function(jj) { [13:14:02.791] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.791] ...future.FUN(...future.X_jj, ...) [13:14:02.791] }) [13:14:02.791] } [13:14:02.791] }, args = future.call.arguments) [13:14:02.791] })) [13:14:02.791] future::FutureResult(value = ...future.value$value, [13:14:02.791] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.791] ...future.rng), globalenv = if (FALSE) [13:14:02.791] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.791] ...future.globalenv.names)) [13:14:02.791] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.791] }, condition = base::local({ [13:14:02.791] c <- base::c [13:14:02.791] inherits <- base::inherits [13:14:02.791] invokeRestart <- base::invokeRestart [13:14:02.791] length <- base::length [13:14:02.791] list <- base::list [13:14:02.791] seq.int <- base::seq.int [13:14:02.791] signalCondition <- base::signalCondition [13:14:02.791] sys.calls <- base::sys.calls [13:14:02.791] `[[` <- base::`[[` [13:14:02.791] `+` <- base::`+` [13:14:02.791] `<<-` <- base::`<<-` [13:14:02.791] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.791] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.791] 3L)] [13:14:02.791] } [13:14:02.791] function(cond) { [13:14:02.791] is_error <- inherits(cond, "error") [13:14:02.791] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.791] NULL) [13:14:02.791] if (is_error) { [13:14:02.791] sessionInformation <- function() { [13:14:02.791] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.791] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.791] search = base::search(), system = base::Sys.info()) [13:14:02.791] } [13:14:02.791] ...future.conditions[[length(...future.conditions) + [13:14:02.791] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.791] cond$call), session = sessionInformation(), [13:14:02.791] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.791] signalCondition(cond) [13:14:02.791] } [13:14:02.791] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.791] "immediateCondition"))) { [13:14:02.791] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.791] ...future.conditions[[length(...future.conditions) + [13:14:02.791] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.791] if (TRUE && !signal) { [13:14:02.791] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.791] { [13:14:02.791] inherits <- base::inherits [13:14:02.791] invokeRestart <- base::invokeRestart [13:14:02.791] is.null <- base::is.null [13:14:02.791] muffled <- FALSE [13:14:02.791] if (inherits(cond, "message")) { [13:14:02.791] muffled <- grepl(pattern, "muffleMessage") [13:14:02.791] if (muffled) [13:14:02.791] invokeRestart("muffleMessage") [13:14:02.791] } [13:14:02.791] else if (inherits(cond, "warning")) { [13:14:02.791] muffled <- grepl(pattern, "muffleWarning") [13:14:02.791] if (muffled) [13:14:02.791] invokeRestart("muffleWarning") [13:14:02.791] } [13:14:02.791] else if (inherits(cond, "condition")) { [13:14:02.791] if (!is.null(pattern)) { [13:14:02.791] computeRestarts <- base::computeRestarts [13:14:02.791] grepl <- base::grepl [13:14:02.791] restarts <- computeRestarts(cond) [13:14:02.791] for (restart in restarts) { [13:14:02.791] name <- restart$name [13:14:02.791] if (is.null(name)) [13:14:02.791] next [13:14:02.791] if (!grepl(pattern, name)) [13:14:02.791] next [13:14:02.791] invokeRestart(restart) [13:14:02.791] muffled <- TRUE [13:14:02.791] break [13:14:02.791] } [13:14:02.791] } [13:14:02.791] } [13:14:02.791] invisible(muffled) [13:14:02.791] } [13:14:02.791] muffleCondition(cond, pattern = "^muffle") [13:14:02.791] } [13:14:02.791] } [13:14:02.791] else { [13:14:02.791] if (TRUE) { [13:14:02.791] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.791] { [13:14:02.791] inherits <- base::inherits [13:14:02.791] invokeRestart <- base::invokeRestart [13:14:02.791] is.null <- base::is.null [13:14:02.791] muffled <- FALSE [13:14:02.791] if (inherits(cond, "message")) { [13:14:02.791] muffled <- grepl(pattern, "muffleMessage") [13:14:02.791] if (muffled) [13:14:02.791] invokeRestart("muffleMessage") [13:14:02.791] } [13:14:02.791] else if (inherits(cond, "warning")) { [13:14:02.791] muffled <- grepl(pattern, "muffleWarning") [13:14:02.791] if (muffled) [13:14:02.791] invokeRestart("muffleWarning") [13:14:02.791] } [13:14:02.791] else if (inherits(cond, "condition")) { [13:14:02.791] if (!is.null(pattern)) { [13:14:02.791] computeRestarts <- base::computeRestarts [13:14:02.791] grepl <- base::grepl [13:14:02.791] restarts <- computeRestarts(cond) [13:14:02.791] for (restart in restarts) { [13:14:02.791] name <- restart$name [13:14:02.791] if (is.null(name)) [13:14:02.791] next [13:14:02.791] if (!grepl(pattern, name)) [13:14:02.791] next [13:14:02.791] invokeRestart(restart) [13:14:02.791] muffled <- TRUE [13:14:02.791] break [13:14:02.791] } [13:14:02.791] } [13:14:02.791] } [13:14:02.791] invisible(muffled) [13:14:02.791] } [13:14:02.791] muffleCondition(cond, pattern = "^muffle") [13:14:02.791] } [13:14:02.791] } [13:14:02.791] } [13:14:02.791] })) [13:14:02.791] }, error = function(ex) { [13:14:02.791] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.791] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.791] ...future.rng), started = ...future.startTime, [13:14:02.791] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.791] version = "1.8"), class = "FutureResult") [13:14:02.791] }, finally = { [13:14:02.791] if (!identical(...future.workdir, getwd())) [13:14:02.791] setwd(...future.workdir) [13:14:02.791] { [13:14:02.791] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.791] ...future.oldOptions$nwarnings <- NULL [13:14:02.791] } [13:14:02.791] base::options(...future.oldOptions) [13:14:02.791] if (.Platform$OS.type == "windows") { [13:14:02.791] old_names <- names(...future.oldEnvVars) [13:14:02.791] envs <- base::Sys.getenv() [13:14:02.791] names <- names(envs) [13:14:02.791] common <- intersect(names, old_names) [13:14:02.791] added <- setdiff(names, old_names) [13:14:02.791] removed <- setdiff(old_names, names) [13:14:02.791] changed <- common[...future.oldEnvVars[common] != [13:14:02.791] envs[common]] [13:14:02.791] NAMES <- toupper(changed) [13:14:02.791] args <- list() [13:14:02.791] for (kk in seq_along(NAMES)) { [13:14:02.791] name <- changed[[kk]] [13:14:02.791] NAME <- NAMES[[kk]] [13:14:02.791] if (name != NAME && is.element(NAME, old_names)) [13:14:02.791] next [13:14:02.791] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.791] } [13:14:02.791] NAMES <- toupper(added) [13:14:02.791] for (kk in seq_along(NAMES)) { [13:14:02.791] name <- added[[kk]] [13:14:02.791] NAME <- NAMES[[kk]] [13:14:02.791] if (name != NAME && is.element(NAME, old_names)) [13:14:02.791] next [13:14:02.791] args[[name]] <- "" [13:14:02.791] } [13:14:02.791] NAMES <- toupper(removed) [13:14:02.791] for (kk in seq_along(NAMES)) { [13:14:02.791] name <- removed[[kk]] [13:14:02.791] NAME <- NAMES[[kk]] [13:14:02.791] if (name != NAME && is.element(NAME, old_names)) [13:14:02.791] next [13:14:02.791] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.791] } [13:14:02.791] if (length(args) > 0) [13:14:02.791] base::do.call(base::Sys.setenv, args = args) [13:14:02.791] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.791] } [13:14:02.791] else { [13:14:02.791] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.791] } [13:14:02.791] { [13:14:02.791] if (base::length(...future.futureOptionsAdded) > [13:14:02.791] 0L) { [13:14:02.791] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.791] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.791] base::options(opts) [13:14:02.791] } [13:14:02.791] { [13:14:02.791] { [13:14:02.791] NULL [13:14:02.791] RNGkind("Mersenne-Twister") [13:14:02.791] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.791] inherits = FALSE) [13:14:02.791] } [13:14:02.791] options(future.plan = NULL) [13:14:02.791] if (is.na(NA_character_)) [13:14:02.791] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.791] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.791] future::plan(list(function (..., envir = parent.frame()) [13:14:02.791] { [13:14:02.791] future <- SequentialFuture(..., envir = envir) [13:14:02.791] if (!future$lazy) [13:14:02.791] future <- run(future) [13:14:02.791] invisible(future) [13:14:02.791] }), .cleanup = FALSE, .init = FALSE) [13:14:02.791] } [13:14:02.791] } [13:14:02.791] } [13:14:02.791] }) [13:14:02.791] if (TRUE) { [13:14:02.791] base::sink(type = "output", split = FALSE) [13:14:02.791] if (TRUE) { [13:14:02.791] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.791] } [13:14:02.791] else { [13:14:02.791] ...future.result["stdout"] <- base::list(NULL) [13:14:02.791] } [13:14:02.791] base::close(...future.stdout) [13:14:02.791] ...future.stdout <- NULL [13:14:02.791] } [13:14:02.791] ...future.result$conditions <- ...future.conditions [13:14:02.791] ...future.result$finished <- base::Sys.time() [13:14:02.791] ...future.result [13:14:02.791] } [13:14:02.794] assign_globals() ... [13:14:02.794] List of 5 [13:14:02.794] $ ...future.FUN :function (x) [13:14:02.794] $ future.call.arguments : list() [13:14:02.794] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.794] $ ...future.elements_ii :List of 4 [13:14:02.794] ..$ A: num 50 [13:14:02.794] ..$ B: num 60 [13:14:02.794] ..$ C: num 70 [13:14:02.794] ..$ D: num 80 [13:14:02.794] $ ...future.seeds_ii : NULL [13:14:02.794] $ ...future.globals.maxSize: NULL [13:14:02.794] - attr(*, "where")=List of 5 [13:14:02.794] ..$ ...future.FUN : [13:14:02.794] ..$ future.call.arguments : [13:14:02.794] ..$ ...future.elements_ii : [13:14:02.794] ..$ ...future.seeds_ii : [13:14:02.794] ..$ ...future.globals.maxSize: [13:14:02.794] - attr(*, "resolved")= logi FALSE [13:14:02.794] - attr(*, "total_size")= num 848 [13:14:02.794] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.794] - attr(*, "already-done")= logi TRUE [13:14:02.800] - copied '...future.FUN' to environment [13:14:02.800] - copied 'future.call.arguments' to environment [13:14:02.800] - copied '...future.elements_ii' to environment [13:14:02.800] - copied '...future.seeds_ii' to environment [13:14:02.800] - copied '...future.globals.maxSize' to environment [13:14:02.801] assign_globals() ... done [13:14:02.801] plan(): Setting new future strategy stack: [13:14:02.801] List of future strategies: [13:14:02.801] 1. sequential: [13:14:02.801] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.801] - tweaked: FALSE [13:14:02.801] - call: NULL [13:14:02.801] plan(): nbrOfWorkers() = 1 [13:14:02.802] plan(): Setting new future strategy stack: [13:14:02.802] List of future strategies: [13:14:02.802] 1. sequential: [13:14:02.802] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.802] - tweaked: FALSE [13:14:02.802] - call: plan(strategy) [13:14:02.803] plan(): nbrOfWorkers() = 1 [13:14:02.803] SequentialFuture started (and completed) [13:14:02.803] - Launch lazy future ... done [13:14:02.803] run() for 'SequentialFuture' ... done [13:14:02.804] Created future: [13:14:02.804] SequentialFuture: [13:14:02.804] Label: 'future_sapply-1' [13:14:02.804] Expression: [13:14:02.804] { [13:14:02.804] do.call(function(...) { [13:14:02.804] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.804] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.804] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.804] on.exit(options(oopts), add = TRUE) [13:14:02.804] } [13:14:02.804] { [13:14:02.804] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.804] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.804] ...future.FUN(...future.X_jj, ...) [13:14:02.804] }) [13:14:02.804] } [13:14:02.804] }, args = future.call.arguments) [13:14:02.804] } [13:14:02.804] Lazy evaluation: FALSE [13:14:02.804] Asynchronous evaluation: FALSE [13:14:02.804] Local evaluation: TRUE [13:14:02.804] Environment: R_GlobalEnv [13:14:02.804] Capture standard output: TRUE [13:14:02.804] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.804] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.804] Packages: [13:14:02.804] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.804] Resolved: TRUE [13:14:02.804] Value: 224 bytes of class 'list' [13:14:02.804] Early signaling: FALSE [13:14:02.804] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.804] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.805] Chunk #1 of 1 ... DONE [13:14:02.805] Launching 1 futures (chunks) ... DONE [13:14:02.805] Resolving 1 futures (chunks) ... [13:14:02.805] resolve() on list ... [13:14:02.805] recursive: 0 [13:14:02.805] length: 1 [13:14:02.805] [13:14:02.805] resolved() for 'SequentialFuture' ... [13:14:02.806] - state: 'finished' [13:14:02.806] - run: TRUE [13:14:02.806] - result: 'FutureResult' [13:14:02.806] resolved() for 'SequentialFuture' ... done [13:14:02.806] Future #1 [13:14:02.806] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.806] - nx: 1 [13:14:02.806] - relay: TRUE [13:14:02.807] - stdout: TRUE [13:14:02.807] - signal: TRUE [13:14:02.807] - resignal: FALSE [13:14:02.807] - force: TRUE [13:14:02.807] - relayed: [n=1] FALSE [13:14:02.807] - queued futures: [n=1] FALSE [13:14:02.807] - until=1 [13:14:02.807] - relaying element #1 [13:14:02.808] - relayed: [n=1] TRUE [13:14:02.808] - queued futures: [n=1] TRUE [13:14:02.808] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.808] length: 0 (resolved future 1) [13:14:02.808] Relaying remaining futures [13:14:02.808] signalConditionsASAP(NULL, pos=0) ... [13:14:02.808] - nx: 1 [13:14:02.808] - relay: TRUE [13:14:02.808] - stdout: TRUE [13:14:02.809] - signal: TRUE [13:14:02.809] - resignal: FALSE [13:14:02.809] - force: TRUE [13:14:02.809] - relayed: [n=1] TRUE [13:14:02.809] - queued futures: [n=1] TRUE - flush all [13:14:02.809] - relayed: [n=1] TRUE [13:14:02.809] - queued futures: [n=1] TRUE [13:14:02.809] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.809] resolve() on list ... DONE [13:14:02.810] - Number of value chunks collected: 1 [13:14:02.810] Resolving 1 futures (chunks) ... DONE [13:14:02.810] Reducing values from 1 chunks ... [13:14:02.810] - Number of values collected after concatenation: 4 [13:14:02.810] - Number of values expected: 4 [13:14:02.810] Reducing values from 1 chunks ... DONE [13:14:02.810] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:02.812] future_lapply() ... [13:14:02.812] Number of chunks: 1 [13:14:02.812] getGlobalsAndPackagesXApply() ... [13:14:02.812] - future.globals: TRUE [13:14:02.813] getGlobalsAndPackages() ... [13:14:02.813] Searching for globals... [13:14:02.814] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.814] Searching for globals ... DONE [13:14:02.814] Resolving globals: FALSE [13:14:02.814] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.814] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.815] - globals: [1] 'FUN' [13:14:02.815] [13:14:02.815] getGlobalsAndPackages() ... DONE [13:14:02.815] - globals found/used: [n=1] 'FUN' [13:14:02.815] - needed namespaces: [n=0] [13:14:02.815] Finding globals ... DONE [13:14:02.815] - use_args: TRUE [13:14:02.815] - Getting '...' globals ... [13:14:02.816] resolve() on list ... [13:14:02.816] recursive: 0 [13:14:02.816] length: 1 [13:14:02.816] elements: '...' [13:14:02.816] length: 0 (resolved future 1) [13:14:02.816] resolve() on list ... DONE [13:14:02.816] - '...' content: [n=0] [13:14:02.816] List of 1 [13:14:02.816] $ ...: list() [13:14:02.816] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.816] - attr(*, "where")=List of 1 [13:14:02.816] ..$ ...: [13:14:02.816] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.816] - attr(*, "resolved")= logi TRUE [13:14:02.816] - attr(*, "total_size")= num NA [13:14:02.819] - Getting '...' globals ... DONE [13:14:02.819] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.819] List of 2 [13:14:02.819] $ ...future.FUN:function (x, ...) [13:14:02.819] $ ... : list() [13:14:02.819] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.819] - attr(*, "where")=List of 2 [13:14:02.819] ..$ ...future.FUN: [13:14:02.819] ..$ ... : [13:14:02.819] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.819] - attr(*, "resolved")= logi FALSE [13:14:02.819] - attr(*, "total_size")= num 1248 [13:14:02.821] Packages to be attached in all futures: [n=0] [13:14:02.821] getGlobalsAndPackagesXApply() ... DONE [13:14:02.822] Number of futures (= number of chunks): 1 [13:14:02.822] Launching 1 futures (chunks) ... [13:14:02.822] Chunk #1 of 1 ... [13:14:02.822] - Finding globals in 'X' for chunk #1 ... [13:14:02.822] getGlobalsAndPackages() ... [13:14:02.822] Searching for globals... [13:14:02.822] [13:14:02.822] Searching for globals ... DONE [13:14:02.823] - globals: [0] [13:14:02.823] getGlobalsAndPackages() ... DONE [13:14:02.823] + additional globals found: [n=0] [13:14:02.823] + additional namespaces needed: [n=0] [13:14:02.823] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.823] - seeds: [13:14:02.823] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.823] getGlobalsAndPackages() ... [13:14:02.823] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.824] Resolving globals: FALSE [13:14:02.824] Tweak future expression to call with '...' arguments ... [13:14:02.824] { [13:14:02.824] do.call(function(...) { [13:14:02.824] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.824] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.824] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.824] on.exit(options(oopts), add = TRUE) [13:14:02.824] } [13:14:02.824] { [13:14:02.824] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.824] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.824] ...future.FUN(...future.X_jj, ...) [13:14:02.824] }) [13:14:02.824] } [13:14:02.824] }, args = future.call.arguments) [13:14:02.824] } [13:14:02.824] Tweak future expression to call with '...' arguments ... DONE [13:14:02.825] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.825] [13:14:02.825] getGlobalsAndPackages() ... DONE [13:14:02.825] run() for 'Future' ... [13:14:02.825] - state: 'created' [13:14:02.825] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.826] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.826] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.826] - Field: 'label' [13:14:02.826] - Field: 'local' [13:14:02.826] - Field: 'owner' [13:14:02.826] - Field: 'envir' [13:14:02.826] - Field: 'packages' [13:14:02.827] - Field: 'gc' [13:14:02.827] - Field: 'conditions' [13:14:02.827] - Field: 'expr' [13:14:02.827] - Field: 'uuid' [13:14:02.827] - Field: 'seed' [13:14:02.827] - Field: 'version' [13:14:02.827] - Field: 'result' [13:14:02.827] - Field: 'asynchronous' [13:14:02.828] - Field: 'calls' [13:14:02.828] - Field: 'globals' [13:14:02.828] - Field: 'stdout' [13:14:02.828] - Field: 'earlySignal' [13:14:02.828] - Field: 'lazy' [13:14:02.828] - Field: 'state' [13:14:02.828] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.828] - Launch lazy future ... [13:14:02.829] Packages needed by the future expression (n = 0): [13:14:02.829] Packages needed by future strategies (n = 0): [13:14:02.829] { [13:14:02.829] { [13:14:02.829] { [13:14:02.829] ...future.startTime <- base::Sys.time() [13:14:02.829] { [13:14:02.829] { [13:14:02.829] { [13:14:02.829] base::local({ [13:14:02.829] has_future <- base::requireNamespace("future", [13:14:02.829] quietly = TRUE) [13:14:02.829] if (has_future) { [13:14:02.829] ns <- base::getNamespace("future") [13:14:02.829] version <- ns[[".package"]][["version"]] [13:14:02.829] if (is.null(version)) [13:14:02.829] version <- utils::packageVersion("future") [13:14:02.829] } [13:14:02.829] else { [13:14:02.829] version <- NULL [13:14:02.829] } [13:14:02.829] if (!has_future || version < "1.8.0") { [13:14:02.829] info <- base::c(r_version = base::gsub("R version ", [13:14:02.829] "", base::R.version$version.string), [13:14:02.829] platform = base::sprintf("%s (%s-bit)", [13:14:02.829] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.829] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.829] "release", "version")], collapse = " "), [13:14:02.829] hostname = base::Sys.info()[["nodename"]]) [13:14:02.829] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.829] info) [13:14:02.829] info <- base::paste(info, collapse = "; ") [13:14:02.829] if (!has_future) { [13:14:02.829] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.829] info) [13:14:02.829] } [13:14:02.829] else { [13:14:02.829] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.829] info, version) [13:14:02.829] } [13:14:02.829] base::stop(msg) [13:14:02.829] } [13:14:02.829] }) [13:14:02.829] } [13:14:02.829] options(future.plan = NULL) [13:14:02.829] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.829] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.829] } [13:14:02.829] ...future.workdir <- getwd() [13:14:02.829] } [13:14:02.829] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.829] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.829] } [13:14:02.829] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.829] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.829] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.829] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.829] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.829] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.829] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.829] base::names(...future.oldOptions)) [13:14:02.829] } [13:14:02.829] if (FALSE) { [13:14:02.829] } [13:14:02.829] else { [13:14:02.829] if (TRUE) { [13:14:02.829] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.829] open = "w") [13:14:02.829] } [13:14:02.829] else { [13:14:02.829] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.829] windows = "NUL", "/dev/null"), open = "w") [13:14:02.829] } [13:14:02.829] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.829] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.829] base::sink(type = "output", split = FALSE) [13:14:02.829] base::close(...future.stdout) [13:14:02.829] }, add = TRUE) [13:14:02.829] } [13:14:02.829] ...future.frame <- base::sys.nframe() [13:14:02.829] ...future.conditions <- base::list() [13:14:02.829] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.829] if (FALSE) { [13:14:02.829] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.829] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.829] } [13:14:02.829] ...future.result <- base::tryCatch({ [13:14:02.829] base::withCallingHandlers({ [13:14:02.829] ...future.value <- base::withVisible(base::local({ [13:14:02.829] do.call(function(...) { [13:14:02.829] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.829] if (!identical(...future.globals.maxSize.org, [13:14:02.829] ...future.globals.maxSize)) { [13:14:02.829] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.829] on.exit(options(oopts), add = TRUE) [13:14:02.829] } [13:14:02.829] { [13:14:02.829] lapply(seq_along(...future.elements_ii), [13:14:02.829] FUN = function(jj) { [13:14:02.829] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.829] ...future.FUN(...future.X_jj, ...) [13:14:02.829] }) [13:14:02.829] } [13:14:02.829] }, args = future.call.arguments) [13:14:02.829] })) [13:14:02.829] future::FutureResult(value = ...future.value$value, [13:14:02.829] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.829] ...future.rng), globalenv = if (FALSE) [13:14:02.829] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.829] ...future.globalenv.names)) [13:14:02.829] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.829] }, condition = base::local({ [13:14:02.829] c <- base::c [13:14:02.829] inherits <- base::inherits [13:14:02.829] invokeRestart <- base::invokeRestart [13:14:02.829] length <- base::length [13:14:02.829] list <- base::list [13:14:02.829] seq.int <- base::seq.int [13:14:02.829] signalCondition <- base::signalCondition [13:14:02.829] sys.calls <- base::sys.calls [13:14:02.829] `[[` <- base::`[[` [13:14:02.829] `+` <- base::`+` [13:14:02.829] `<<-` <- base::`<<-` [13:14:02.829] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.829] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.829] 3L)] [13:14:02.829] } [13:14:02.829] function(cond) { [13:14:02.829] is_error <- inherits(cond, "error") [13:14:02.829] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.829] NULL) [13:14:02.829] if (is_error) { [13:14:02.829] sessionInformation <- function() { [13:14:02.829] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.829] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.829] search = base::search(), system = base::Sys.info()) [13:14:02.829] } [13:14:02.829] ...future.conditions[[length(...future.conditions) + [13:14:02.829] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.829] cond$call), session = sessionInformation(), [13:14:02.829] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.829] signalCondition(cond) [13:14:02.829] } [13:14:02.829] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.829] "immediateCondition"))) { [13:14:02.829] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.829] ...future.conditions[[length(...future.conditions) + [13:14:02.829] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.829] if (TRUE && !signal) { [13:14:02.829] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.829] { [13:14:02.829] inherits <- base::inherits [13:14:02.829] invokeRestart <- base::invokeRestart [13:14:02.829] is.null <- base::is.null [13:14:02.829] muffled <- FALSE [13:14:02.829] if (inherits(cond, "message")) { [13:14:02.829] muffled <- grepl(pattern, "muffleMessage") [13:14:02.829] if (muffled) [13:14:02.829] invokeRestart("muffleMessage") [13:14:02.829] } [13:14:02.829] else if (inherits(cond, "warning")) { [13:14:02.829] muffled <- grepl(pattern, "muffleWarning") [13:14:02.829] if (muffled) [13:14:02.829] invokeRestart("muffleWarning") [13:14:02.829] } [13:14:02.829] else if (inherits(cond, "condition")) { [13:14:02.829] if (!is.null(pattern)) { [13:14:02.829] computeRestarts <- base::computeRestarts [13:14:02.829] grepl <- base::grepl [13:14:02.829] restarts <- computeRestarts(cond) [13:14:02.829] for (restart in restarts) { [13:14:02.829] name <- restart$name [13:14:02.829] if (is.null(name)) [13:14:02.829] next [13:14:02.829] if (!grepl(pattern, name)) [13:14:02.829] next [13:14:02.829] invokeRestart(restart) [13:14:02.829] muffled <- TRUE [13:14:02.829] break [13:14:02.829] } [13:14:02.829] } [13:14:02.829] } [13:14:02.829] invisible(muffled) [13:14:02.829] } [13:14:02.829] muffleCondition(cond, pattern = "^muffle") [13:14:02.829] } [13:14:02.829] } [13:14:02.829] else { [13:14:02.829] if (TRUE) { [13:14:02.829] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.829] { [13:14:02.829] inherits <- base::inherits [13:14:02.829] invokeRestart <- base::invokeRestart [13:14:02.829] is.null <- base::is.null [13:14:02.829] muffled <- FALSE [13:14:02.829] if (inherits(cond, "message")) { [13:14:02.829] muffled <- grepl(pattern, "muffleMessage") [13:14:02.829] if (muffled) [13:14:02.829] invokeRestart("muffleMessage") [13:14:02.829] } [13:14:02.829] else if (inherits(cond, "warning")) { [13:14:02.829] muffled <- grepl(pattern, "muffleWarning") [13:14:02.829] if (muffled) [13:14:02.829] invokeRestart("muffleWarning") [13:14:02.829] } [13:14:02.829] else if (inherits(cond, "condition")) { [13:14:02.829] if (!is.null(pattern)) { [13:14:02.829] computeRestarts <- base::computeRestarts [13:14:02.829] grepl <- base::grepl [13:14:02.829] restarts <- computeRestarts(cond) [13:14:02.829] for (restart in restarts) { [13:14:02.829] name <- restart$name [13:14:02.829] if (is.null(name)) [13:14:02.829] next [13:14:02.829] if (!grepl(pattern, name)) [13:14:02.829] next [13:14:02.829] invokeRestart(restart) [13:14:02.829] muffled <- TRUE [13:14:02.829] break [13:14:02.829] } [13:14:02.829] } [13:14:02.829] } [13:14:02.829] invisible(muffled) [13:14:02.829] } [13:14:02.829] muffleCondition(cond, pattern = "^muffle") [13:14:02.829] } [13:14:02.829] } [13:14:02.829] } [13:14:02.829] })) [13:14:02.829] }, error = function(ex) { [13:14:02.829] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.829] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.829] ...future.rng), started = ...future.startTime, [13:14:02.829] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.829] version = "1.8"), class = "FutureResult") [13:14:02.829] }, finally = { [13:14:02.829] if (!identical(...future.workdir, getwd())) [13:14:02.829] setwd(...future.workdir) [13:14:02.829] { [13:14:02.829] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.829] ...future.oldOptions$nwarnings <- NULL [13:14:02.829] } [13:14:02.829] base::options(...future.oldOptions) [13:14:02.829] if (.Platform$OS.type == "windows") { [13:14:02.829] old_names <- names(...future.oldEnvVars) [13:14:02.829] envs <- base::Sys.getenv() [13:14:02.829] names <- names(envs) [13:14:02.829] common <- intersect(names, old_names) [13:14:02.829] added <- setdiff(names, old_names) [13:14:02.829] removed <- setdiff(old_names, names) [13:14:02.829] changed <- common[...future.oldEnvVars[common] != [13:14:02.829] envs[common]] [13:14:02.829] NAMES <- toupper(changed) [13:14:02.829] args <- list() [13:14:02.829] for (kk in seq_along(NAMES)) { [13:14:02.829] name <- changed[[kk]] [13:14:02.829] NAME <- NAMES[[kk]] [13:14:02.829] if (name != NAME && is.element(NAME, old_names)) [13:14:02.829] next [13:14:02.829] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.829] } [13:14:02.829] NAMES <- toupper(added) [13:14:02.829] for (kk in seq_along(NAMES)) { [13:14:02.829] name <- added[[kk]] [13:14:02.829] NAME <- NAMES[[kk]] [13:14:02.829] if (name != NAME && is.element(NAME, old_names)) [13:14:02.829] next [13:14:02.829] args[[name]] <- "" [13:14:02.829] } [13:14:02.829] NAMES <- toupper(removed) [13:14:02.829] for (kk in seq_along(NAMES)) { [13:14:02.829] name <- removed[[kk]] [13:14:02.829] NAME <- NAMES[[kk]] [13:14:02.829] if (name != NAME && is.element(NAME, old_names)) [13:14:02.829] next [13:14:02.829] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.829] } [13:14:02.829] if (length(args) > 0) [13:14:02.829] base::do.call(base::Sys.setenv, args = args) [13:14:02.829] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.829] } [13:14:02.829] else { [13:14:02.829] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.829] } [13:14:02.829] { [13:14:02.829] if (base::length(...future.futureOptionsAdded) > [13:14:02.829] 0L) { [13:14:02.829] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.829] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.829] base::options(opts) [13:14:02.829] } [13:14:02.829] { [13:14:02.829] { [13:14:02.829] NULL [13:14:02.829] RNGkind("Mersenne-Twister") [13:14:02.829] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.829] inherits = FALSE) [13:14:02.829] } [13:14:02.829] options(future.plan = NULL) [13:14:02.829] if (is.na(NA_character_)) [13:14:02.829] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.829] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.829] future::plan(list(function (..., envir = parent.frame()) [13:14:02.829] { [13:14:02.829] future <- SequentialFuture(..., envir = envir) [13:14:02.829] if (!future$lazy) [13:14:02.829] future <- run(future) [13:14:02.829] invisible(future) [13:14:02.829] }), .cleanup = FALSE, .init = FALSE) [13:14:02.829] } [13:14:02.829] } [13:14:02.829] } [13:14:02.829] }) [13:14:02.829] if (TRUE) { [13:14:02.829] base::sink(type = "output", split = FALSE) [13:14:02.829] if (TRUE) { [13:14:02.829] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.829] } [13:14:02.829] else { [13:14:02.829] ...future.result["stdout"] <- base::list(NULL) [13:14:02.829] } [13:14:02.829] base::close(...future.stdout) [13:14:02.829] ...future.stdout <- NULL [13:14:02.829] } [13:14:02.829] ...future.result$conditions <- ...future.conditions [13:14:02.829] ...future.result$finished <- base::Sys.time() [13:14:02.829] ...future.result [13:14:02.829] } [13:14:02.832] assign_globals() ... [13:14:02.832] List of 5 [13:14:02.832] $ ...future.FUN :function (x, ...) [13:14:02.832] $ future.call.arguments : list() [13:14:02.832] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.832] $ ...future.elements_ii :List of 4 [13:14:02.832] ..$ A: num 50 [13:14:02.832] ..$ B: num 60 [13:14:02.832] ..$ C: num 70 [13:14:02.832] ..$ D: num 80 [13:14:02.832] $ ...future.seeds_ii : NULL [13:14:02.832] $ ...future.globals.maxSize: NULL [13:14:02.832] - attr(*, "where")=List of 5 [13:14:02.832] ..$ ...future.FUN : [13:14:02.832] ..$ future.call.arguments : [13:14:02.832] ..$ ...future.elements_ii : [13:14:02.832] ..$ ...future.seeds_ii : [13:14:02.832] ..$ ...future.globals.maxSize: [13:14:02.832] - attr(*, "resolved")= logi FALSE [13:14:02.832] - attr(*, "total_size")= num 1248 [13:14:02.832] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.832] - attr(*, "already-done")= logi TRUE [13:14:02.837] - copied '...future.FUN' to environment [13:14:02.837] - copied 'future.call.arguments' to environment [13:14:02.837] - copied '...future.elements_ii' to environment [13:14:02.837] - copied '...future.seeds_ii' to environment [13:14:02.837] - copied '...future.globals.maxSize' to environment [13:14:02.837] assign_globals() ... done [13:14:02.837] plan(): Setting new future strategy stack: [13:14:02.838] List of future strategies: [13:14:02.838] 1. sequential: [13:14:02.838] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.838] - tweaked: FALSE [13:14:02.838] - call: NULL [13:14:02.838] plan(): nbrOfWorkers() = 1 [13:14:02.839] plan(): Setting new future strategy stack: [13:14:02.839] List of future strategies: [13:14:02.839] 1. sequential: [13:14:02.839] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.839] - tweaked: FALSE [13:14:02.839] - call: plan(strategy) [13:14:02.839] plan(): nbrOfWorkers() = 1 [13:14:02.840] SequentialFuture started (and completed) [13:14:02.840] - Launch lazy future ... done [13:14:02.840] run() for 'SequentialFuture' ... done [13:14:02.840] Created future: [13:14:02.840] SequentialFuture: [13:14:02.840] Label: 'future_sapply-1' [13:14:02.840] Expression: [13:14:02.840] { [13:14:02.840] do.call(function(...) { [13:14:02.840] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.840] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.840] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.840] on.exit(options(oopts), add = TRUE) [13:14:02.840] } [13:14:02.840] { [13:14:02.840] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.840] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.840] ...future.FUN(...future.X_jj, ...) [13:14:02.840] }) [13:14:02.840] } [13:14:02.840] }, args = future.call.arguments) [13:14:02.840] } [13:14:02.840] Lazy evaluation: FALSE [13:14:02.840] Asynchronous evaluation: FALSE [13:14:02.840] Local evaluation: TRUE [13:14:02.840] Environment: R_GlobalEnv [13:14:02.840] Capture standard output: TRUE [13:14:02.840] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.840] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.840] Packages: [13:14:02.840] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.840] Resolved: TRUE [13:14:02.840] Value: 896 bytes of class 'list' [13:14:02.840] Early signaling: FALSE [13:14:02.840] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.840] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.841] Chunk #1 of 1 ... DONE [13:14:02.841] Launching 1 futures (chunks) ... DONE [13:14:02.841] Resolving 1 futures (chunks) ... [13:14:02.841] resolve() on list ... [13:14:02.842] recursive: 0 [13:14:02.842] length: 1 [13:14:02.842] [13:14:02.842] resolved() for 'SequentialFuture' ... [13:14:02.842] - state: 'finished' [13:14:02.842] - run: TRUE [13:14:02.842] - result: 'FutureResult' [13:14:02.842] resolved() for 'SequentialFuture' ... done [13:14:02.842] Future #1 [13:14:02.843] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.843] - nx: 1 [13:14:02.843] - relay: TRUE [13:14:02.843] - stdout: TRUE [13:14:02.843] - signal: TRUE [13:14:02.843] - resignal: FALSE [13:14:02.843] - force: TRUE [13:14:02.843] - relayed: [n=1] FALSE [13:14:02.844] - queued futures: [n=1] FALSE [13:14:02.844] - until=1 [13:14:02.844] - relaying element #1 [13:14:02.844] - relayed: [n=1] TRUE [13:14:02.844] - queued futures: [n=1] TRUE [13:14:02.844] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.844] length: 0 (resolved future 1) [13:14:02.844] Relaying remaining futures [13:14:02.845] signalConditionsASAP(NULL, pos=0) ... [13:14:02.845] - nx: 1 [13:14:02.845] - relay: TRUE [13:14:02.845] - stdout: TRUE [13:14:02.845] - signal: TRUE [13:14:02.845] - resignal: FALSE [13:14:02.845] - force: TRUE [13:14:02.845] - relayed: [n=1] TRUE [13:14:02.845] - queued futures: [n=1] TRUE - flush all [13:14:02.846] - relayed: [n=1] TRUE [13:14:02.846] - queued futures: [n=1] TRUE [13:14:02.846] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.846] resolve() on list ... DONE [13:14:02.846] - Number of value chunks collected: 1 [13:14:02.846] Resolving 1 futures (chunks) ... DONE [13:14:02.846] Reducing values from 1 chunks ... [13:14:02.846] - Number of values collected after concatenation: 4 [13:14:02.846] - Number of values expected: 4 [13:14:02.847] Reducing values from 1 chunks ... DONE [13:14:02.847] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:02.850] future_lapply() ... [13:14:02.851] Number of chunks: 1 [13:14:02.851] getGlobalsAndPackagesXApply() ... [13:14:02.851] - future.globals: TRUE [13:14:02.851] getGlobalsAndPackages() ... [13:14:02.851] Searching for globals... [13:14:02.852] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:02.852] Searching for globals ... DONE [13:14:02.853] Resolving globals: FALSE [13:14:02.853] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:02.853] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:02.853] - globals: [1] 'FUN' [13:14:02.854] [13:14:02.854] getGlobalsAndPackages() ... DONE [13:14:02.854] - globals found/used: [n=1] 'FUN' [13:14:02.854] - needed namespaces: [n=0] [13:14:02.854] Finding globals ... DONE [13:14:02.854] - use_args: TRUE [13:14:02.854] - Getting '...' globals ... [13:14:02.855] resolve() on list ... [13:14:02.855] recursive: 0 [13:14:02.855] length: 1 [13:14:02.855] elements: '...' [13:14:02.855] length: 0 (resolved future 1) [13:14:02.855] resolve() on list ... DONE [13:14:02.855] - '...' content: [n=0] [13:14:02.856] List of 1 [13:14:02.856] $ ...: list() [13:14:02.856] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.856] - attr(*, "where")=List of 1 [13:14:02.856] ..$ ...: [13:14:02.856] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.856] - attr(*, "resolved")= logi TRUE [13:14:02.856] - attr(*, "total_size")= num NA [13:14:02.858] - Getting '...' globals ... DONE [13:14:02.858] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.858] List of 2 [13:14:02.858] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:02.858] $ ... : list() [13:14:02.858] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.858] - attr(*, "where")=List of 2 [13:14:02.858] ..$ ...future.FUN: [13:14:02.858] ..$ ... : [13:14:02.858] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.858] - attr(*, "resolved")= logi FALSE [13:14:02.858] - attr(*, "total_size")= num 4728 [13:14:02.861] Packages to be attached in all futures: [n=0] [13:14:02.861] getGlobalsAndPackagesXApply() ... DONE [13:14:02.862] Number of futures (= number of chunks): 1 [13:14:02.862] Launching 1 futures (chunks) ... [13:14:02.862] Chunk #1 of 1 ... [13:14:02.862] - Finding globals in 'X' for chunk #1 ... [13:14:02.862] getGlobalsAndPackages() ... [13:14:02.862] Searching for globals... [13:14:02.863] [13:14:02.863] Searching for globals ... DONE [13:14:02.863] - globals: [0] [13:14:02.863] getGlobalsAndPackages() ... DONE [13:14:02.863] + additional globals found: [n=0] [13:14:02.863] + additional namespaces needed: [n=0] [13:14:02.863] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.863] - seeds: [13:14:02.864] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.864] getGlobalsAndPackages() ... [13:14:02.864] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.864] Resolving globals: FALSE [13:14:02.864] Tweak future expression to call with '...' arguments ... [13:14:02.864] { [13:14:02.864] do.call(function(...) { [13:14:02.864] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.864] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.864] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.864] on.exit(options(oopts), add = TRUE) [13:14:02.864] } [13:14:02.864] { [13:14:02.864] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.864] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.864] ...future.FUN(...future.X_jj, ...) [13:14:02.864] }) [13:14:02.864] } [13:14:02.864] }, args = future.call.arguments) [13:14:02.864] } [13:14:02.865] Tweak future expression to call with '...' arguments ... DONE [13:14:02.865] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.865] [13:14:02.865] getGlobalsAndPackages() ... DONE [13:14:02.866] run() for 'Future' ... [13:14:02.866] - state: 'created' [13:14:02.866] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.866] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.866] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.867] - Field: 'label' [13:14:02.867] - Field: 'local' [13:14:02.867] - Field: 'owner' [13:14:02.867] - Field: 'envir' [13:14:02.867] - Field: 'packages' [13:14:02.867] - Field: 'gc' [13:14:02.868] - Field: 'conditions' [13:14:02.868] - Field: 'expr' [13:14:02.868] - Field: 'uuid' [13:14:02.868] - Field: 'seed' [13:14:02.868] - Field: 'version' [13:14:02.868] - Field: 'result' [13:14:02.869] - Field: 'asynchronous' [13:14:02.869] - Field: 'calls' [13:14:02.869] - Field: 'globals' [13:14:02.869] - Field: 'stdout' [13:14:02.869] - Field: 'earlySignal' [13:14:02.869] - Field: 'lazy' [13:14:02.869] - Field: 'state' [13:14:02.870] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.870] - Launch lazy future ... [13:14:02.870] Packages needed by the future expression (n = 0): [13:14:02.870] Packages needed by future strategies (n = 0): [13:14:02.870] { [13:14:02.870] { [13:14:02.870] { [13:14:02.870] ...future.startTime <- base::Sys.time() [13:14:02.870] { [13:14:02.870] { [13:14:02.870] { [13:14:02.870] base::local({ [13:14:02.870] has_future <- base::requireNamespace("future", [13:14:02.870] quietly = TRUE) [13:14:02.870] if (has_future) { [13:14:02.870] ns <- base::getNamespace("future") [13:14:02.870] version <- ns[[".package"]][["version"]] [13:14:02.870] if (is.null(version)) [13:14:02.870] version <- utils::packageVersion("future") [13:14:02.870] } [13:14:02.870] else { [13:14:02.870] version <- NULL [13:14:02.870] } [13:14:02.870] if (!has_future || version < "1.8.0") { [13:14:02.870] info <- base::c(r_version = base::gsub("R version ", [13:14:02.870] "", base::R.version$version.string), [13:14:02.870] platform = base::sprintf("%s (%s-bit)", [13:14:02.870] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.870] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.870] "release", "version")], collapse = " "), [13:14:02.870] hostname = base::Sys.info()[["nodename"]]) [13:14:02.870] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.870] info) [13:14:02.870] info <- base::paste(info, collapse = "; ") [13:14:02.870] if (!has_future) { [13:14:02.870] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.870] info) [13:14:02.870] } [13:14:02.870] else { [13:14:02.870] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.870] info, version) [13:14:02.870] } [13:14:02.870] base::stop(msg) [13:14:02.870] } [13:14:02.870] }) [13:14:02.870] } [13:14:02.870] options(future.plan = NULL) [13:14:02.870] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.870] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.870] } [13:14:02.870] ...future.workdir <- getwd() [13:14:02.870] } [13:14:02.870] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.870] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.870] } [13:14:02.870] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.870] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.870] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.870] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.870] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.870] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.870] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.870] base::names(...future.oldOptions)) [13:14:02.870] } [13:14:02.870] if (FALSE) { [13:14:02.870] } [13:14:02.870] else { [13:14:02.870] if (TRUE) { [13:14:02.870] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.870] open = "w") [13:14:02.870] } [13:14:02.870] else { [13:14:02.870] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.870] windows = "NUL", "/dev/null"), open = "w") [13:14:02.870] } [13:14:02.870] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.870] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.870] base::sink(type = "output", split = FALSE) [13:14:02.870] base::close(...future.stdout) [13:14:02.870] }, add = TRUE) [13:14:02.870] } [13:14:02.870] ...future.frame <- base::sys.nframe() [13:14:02.870] ...future.conditions <- base::list() [13:14:02.870] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.870] if (FALSE) { [13:14:02.870] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.870] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.870] } [13:14:02.870] ...future.result <- base::tryCatch({ [13:14:02.870] base::withCallingHandlers({ [13:14:02.870] ...future.value <- base::withVisible(base::local({ [13:14:02.870] do.call(function(...) { [13:14:02.870] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.870] if (!identical(...future.globals.maxSize.org, [13:14:02.870] ...future.globals.maxSize)) { [13:14:02.870] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.870] on.exit(options(oopts), add = TRUE) [13:14:02.870] } [13:14:02.870] { [13:14:02.870] lapply(seq_along(...future.elements_ii), [13:14:02.870] FUN = function(jj) { [13:14:02.870] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.870] ...future.FUN(...future.X_jj, ...) [13:14:02.870] }) [13:14:02.870] } [13:14:02.870] }, args = future.call.arguments) [13:14:02.870] })) [13:14:02.870] future::FutureResult(value = ...future.value$value, [13:14:02.870] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.870] ...future.rng), globalenv = if (FALSE) [13:14:02.870] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.870] ...future.globalenv.names)) [13:14:02.870] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.870] }, condition = base::local({ [13:14:02.870] c <- base::c [13:14:02.870] inherits <- base::inherits [13:14:02.870] invokeRestart <- base::invokeRestart [13:14:02.870] length <- base::length [13:14:02.870] list <- base::list [13:14:02.870] seq.int <- base::seq.int [13:14:02.870] signalCondition <- base::signalCondition [13:14:02.870] sys.calls <- base::sys.calls [13:14:02.870] `[[` <- base::`[[` [13:14:02.870] `+` <- base::`+` [13:14:02.870] `<<-` <- base::`<<-` [13:14:02.870] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.870] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.870] 3L)] [13:14:02.870] } [13:14:02.870] function(cond) { [13:14:02.870] is_error <- inherits(cond, "error") [13:14:02.870] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.870] NULL) [13:14:02.870] if (is_error) { [13:14:02.870] sessionInformation <- function() { [13:14:02.870] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.870] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.870] search = base::search(), system = base::Sys.info()) [13:14:02.870] } [13:14:02.870] ...future.conditions[[length(...future.conditions) + [13:14:02.870] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.870] cond$call), session = sessionInformation(), [13:14:02.870] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.870] signalCondition(cond) [13:14:02.870] } [13:14:02.870] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.870] "immediateCondition"))) { [13:14:02.870] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.870] ...future.conditions[[length(...future.conditions) + [13:14:02.870] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.870] if (TRUE && !signal) { [13:14:02.870] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.870] { [13:14:02.870] inherits <- base::inherits [13:14:02.870] invokeRestart <- base::invokeRestart [13:14:02.870] is.null <- base::is.null [13:14:02.870] muffled <- FALSE [13:14:02.870] if (inherits(cond, "message")) { [13:14:02.870] muffled <- grepl(pattern, "muffleMessage") [13:14:02.870] if (muffled) [13:14:02.870] invokeRestart("muffleMessage") [13:14:02.870] } [13:14:02.870] else if (inherits(cond, "warning")) { [13:14:02.870] muffled <- grepl(pattern, "muffleWarning") [13:14:02.870] if (muffled) [13:14:02.870] invokeRestart("muffleWarning") [13:14:02.870] } [13:14:02.870] else if (inherits(cond, "condition")) { [13:14:02.870] if (!is.null(pattern)) { [13:14:02.870] computeRestarts <- base::computeRestarts [13:14:02.870] grepl <- base::grepl [13:14:02.870] restarts <- computeRestarts(cond) [13:14:02.870] for (restart in restarts) { [13:14:02.870] name <- restart$name [13:14:02.870] if (is.null(name)) [13:14:02.870] next [13:14:02.870] if (!grepl(pattern, name)) [13:14:02.870] next [13:14:02.870] invokeRestart(restart) [13:14:02.870] muffled <- TRUE [13:14:02.870] break [13:14:02.870] } [13:14:02.870] } [13:14:02.870] } [13:14:02.870] invisible(muffled) [13:14:02.870] } [13:14:02.870] muffleCondition(cond, pattern = "^muffle") [13:14:02.870] } [13:14:02.870] } [13:14:02.870] else { [13:14:02.870] if (TRUE) { [13:14:02.870] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.870] { [13:14:02.870] inherits <- base::inherits [13:14:02.870] invokeRestart <- base::invokeRestart [13:14:02.870] is.null <- base::is.null [13:14:02.870] muffled <- FALSE [13:14:02.870] if (inherits(cond, "message")) { [13:14:02.870] muffled <- grepl(pattern, "muffleMessage") [13:14:02.870] if (muffled) [13:14:02.870] invokeRestart("muffleMessage") [13:14:02.870] } [13:14:02.870] else if (inherits(cond, "warning")) { [13:14:02.870] muffled <- grepl(pattern, "muffleWarning") [13:14:02.870] if (muffled) [13:14:02.870] invokeRestart("muffleWarning") [13:14:02.870] } [13:14:02.870] else if (inherits(cond, "condition")) { [13:14:02.870] if (!is.null(pattern)) { [13:14:02.870] computeRestarts <- base::computeRestarts [13:14:02.870] grepl <- base::grepl [13:14:02.870] restarts <- computeRestarts(cond) [13:14:02.870] for (restart in restarts) { [13:14:02.870] name <- restart$name [13:14:02.870] if (is.null(name)) [13:14:02.870] next [13:14:02.870] if (!grepl(pattern, name)) [13:14:02.870] next [13:14:02.870] invokeRestart(restart) [13:14:02.870] muffled <- TRUE [13:14:02.870] break [13:14:02.870] } [13:14:02.870] } [13:14:02.870] } [13:14:02.870] invisible(muffled) [13:14:02.870] } [13:14:02.870] muffleCondition(cond, pattern = "^muffle") [13:14:02.870] } [13:14:02.870] } [13:14:02.870] } [13:14:02.870] })) [13:14:02.870] }, error = function(ex) { [13:14:02.870] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.870] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.870] ...future.rng), started = ...future.startTime, [13:14:02.870] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.870] version = "1.8"), class = "FutureResult") [13:14:02.870] }, finally = { [13:14:02.870] if (!identical(...future.workdir, getwd())) [13:14:02.870] setwd(...future.workdir) [13:14:02.870] { [13:14:02.870] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.870] ...future.oldOptions$nwarnings <- NULL [13:14:02.870] } [13:14:02.870] base::options(...future.oldOptions) [13:14:02.870] if (.Platform$OS.type == "windows") { [13:14:02.870] old_names <- names(...future.oldEnvVars) [13:14:02.870] envs <- base::Sys.getenv() [13:14:02.870] names <- names(envs) [13:14:02.870] common <- intersect(names, old_names) [13:14:02.870] added <- setdiff(names, old_names) [13:14:02.870] removed <- setdiff(old_names, names) [13:14:02.870] changed <- common[...future.oldEnvVars[common] != [13:14:02.870] envs[common]] [13:14:02.870] NAMES <- toupper(changed) [13:14:02.870] args <- list() [13:14:02.870] for (kk in seq_along(NAMES)) { [13:14:02.870] name <- changed[[kk]] [13:14:02.870] NAME <- NAMES[[kk]] [13:14:02.870] if (name != NAME && is.element(NAME, old_names)) [13:14:02.870] next [13:14:02.870] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.870] } [13:14:02.870] NAMES <- toupper(added) [13:14:02.870] for (kk in seq_along(NAMES)) { [13:14:02.870] name <- added[[kk]] [13:14:02.870] NAME <- NAMES[[kk]] [13:14:02.870] if (name != NAME && is.element(NAME, old_names)) [13:14:02.870] next [13:14:02.870] args[[name]] <- "" [13:14:02.870] } [13:14:02.870] NAMES <- toupper(removed) [13:14:02.870] for (kk in seq_along(NAMES)) { [13:14:02.870] name <- removed[[kk]] [13:14:02.870] NAME <- NAMES[[kk]] [13:14:02.870] if (name != NAME && is.element(NAME, old_names)) [13:14:02.870] next [13:14:02.870] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.870] } [13:14:02.870] if (length(args) > 0) [13:14:02.870] base::do.call(base::Sys.setenv, args = args) [13:14:02.870] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.870] } [13:14:02.870] else { [13:14:02.870] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.870] } [13:14:02.870] { [13:14:02.870] if (base::length(...future.futureOptionsAdded) > [13:14:02.870] 0L) { [13:14:02.870] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.870] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.870] base::options(opts) [13:14:02.870] } [13:14:02.870] { [13:14:02.870] { [13:14:02.870] NULL [13:14:02.870] RNGkind("Mersenne-Twister") [13:14:02.870] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.870] inherits = FALSE) [13:14:02.870] } [13:14:02.870] options(future.plan = NULL) [13:14:02.870] if (is.na(NA_character_)) [13:14:02.870] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.870] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.870] future::plan(list(function (..., envir = parent.frame()) [13:14:02.870] { [13:14:02.870] future <- SequentialFuture(..., envir = envir) [13:14:02.870] if (!future$lazy) [13:14:02.870] future <- run(future) [13:14:02.870] invisible(future) [13:14:02.870] }), .cleanup = FALSE, .init = FALSE) [13:14:02.870] } [13:14:02.870] } [13:14:02.870] } [13:14:02.870] }) [13:14:02.870] if (TRUE) { [13:14:02.870] base::sink(type = "output", split = FALSE) [13:14:02.870] if (TRUE) { [13:14:02.870] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.870] } [13:14:02.870] else { [13:14:02.870] ...future.result["stdout"] <- base::list(NULL) [13:14:02.870] } [13:14:02.870] base::close(...future.stdout) [13:14:02.870] ...future.stdout <- NULL [13:14:02.870] } [13:14:02.870] ...future.result$conditions <- ...future.conditions [13:14:02.870] ...future.result$finished <- base::Sys.time() [13:14:02.870] ...future.result [13:14:02.870] } [13:14:02.873] assign_globals() ... [13:14:02.874] List of 5 [13:14:02.874] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:02.874] $ future.call.arguments : list() [13:14:02.874] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.874] $ ...future.elements_ii :List of 4 [13:14:02.874] ..$ A: num 50 [13:14:02.874] ..$ B: num 60 [13:14:02.874] ..$ C: num 70 [13:14:02.874] ..$ D: num 80 [13:14:02.874] $ ...future.seeds_ii : NULL [13:14:02.874] $ ...future.globals.maxSize: NULL [13:14:02.874] - attr(*, "where")=List of 5 [13:14:02.874] ..$ ...future.FUN : [13:14:02.874] ..$ future.call.arguments : [13:14:02.874] ..$ ...future.elements_ii : [13:14:02.874] ..$ ...future.seeds_ii : [13:14:02.874] ..$ ...future.globals.maxSize: [13:14:02.874] - attr(*, "resolved")= logi FALSE [13:14:02.874] - attr(*, "total_size")= num 4728 [13:14:02.874] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.874] - attr(*, "already-done")= logi TRUE [13:14:02.879] - reassign environment for '...future.FUN' [13:14:02.879] - copied '...future.FUN' to environment [13:14:02.880] - copied 'future.call.arguments' to environment [13:14:02.880] - copied '...future.elements_ii' to environment [13:14:02.880] - copied '...future.seeds_ii' to environment [13:14:02.880] - copied '...future.globals.maxSize' to environment [13:14:02.880] assign_globals() ... done [13:14:02.880] plan(): Setting new future strategy stack: [13:14:02.880] List of future strategies: [13:14:02.880] 1. sequential: [13:14:02.880] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.880] - tweaked: FALSE [13:14:02.880] - call: NULL [13:14:02.881] plan(): nbrOfWorkers() = 1 [13:14:02.882] plan(): Setting new future strategy stack: [13:14:02.882] List of future strategies: [13:14:02.882] 1. sequential: [13:14:02.882] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.882] - tweaked: FALSE [13:14:02.882] - call: plan(strategy) [13:14:02.882] plan(): nbrOfWorkers() = 1 [13:14:02.883] SequentialFuture started (and completed) [13:14:02.883] - Launch lazy future ... done [13:14:02.883] run() for 'SequentialFuture' ... done [13:14:02.883] Created future: [13:14:02.883] SequentialFuture: [13:14:02.883] Label: 'future_sapply-1' [13:14:02.883] Expression: [13:14:02.883] { [13:14:02.883] do.call(function(...) { [13:14:02.883] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.883] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.883] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.883] on.exit(options(oopts), add = TRUE) [13:14:02.883] } [13:14:02.883] { [13:14:02.883] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.883] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.883] ...future.FUN(...future.X_jj, ...) [13:14:02.883] }) [13:14:02.883] } [13:14:02.883] }, args = future.call.arguments) [13:14:02.883] } [13:14:02.883] Lazy evaluation: FALSE [13:14:02.883] Asynchronous evaluation: FALSE [13:14:02.883] Local evaluation: TRUE [13:14:02.883] Environment: R_GlobalEnv [13:14:02.883] Capture standard output: TRUE [13:14:02.883] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.883] Globals: 5 objects totaling 4.84 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.883] Packages: [13:14:02.883] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.883] Resolved: TRUE [13:14:02.883] Value: 1.34 KiB of class 'list' [13:14:02.883] Early signaling: FALSE [13:14:02.883] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.883] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.884] Chunk #1 of 1 ... DONE [13:14:02.884] Launching 1 futures (chunks) ... DONE [13:14:02.884] Resolving 1 futures (chunks) ... [13:14:02.885] resolve() on list ... [13:14:02.885] recursive: 0 [13:14:02.885] length: 1 [13:14:02.885] [13:14:02.885] resolved() for 'SequentialFuture' ... [13:14:02.885] - state: 'finished' [13:14:02.885] - run: TRUE [13:14:02.885] - result: 'FutureResult' [13:14:02.886] resolved() for 'SequentialFuture' ... done [13:14:02.886] Future #1 [13:14:02.886] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.886] - nx: 1 [13:14:02.886] - relay: TRUE [13:14:02.886] - stdout: TRUE [13:14:02.886] - signal: TRUE [13:14:02.886] - resignal: FALSE [13:14:02.887] - force: TRUE [13:14:02.887] - relayed: [n=1] FALSE [13:14:02.887] - queued futures: [n=1] FALSE [13:14:02.887] - until=1 [13:14:02.887] - relaying element #1 [13:14:02.887] - relayed: [n=1] TRUE [13:14:02.887] - queued futures: [n=1] TRUE [13:14:02.887] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.888] length: 0 (resolved future 1) [13:14:02.888] Relaying remaining futures [13:14:02.888] signalConditionsASAP(NULL, pos=0) ... [13:14:02.888] - nx: 1 [13:14:02.888] - relay: TRUE [13:14:02.888] - stdout: TRUE [13:14:02.888] - signal: TRUE [13:14:02.888] - resignal: FALSE [13:14:02.888] - force: TRUE [13:14:02.889] - relayed: [n=1] TRUE [13:14:02.889] - queued futures: [n=1] TRUE - flush all [13:14:02.889] - relayed: [n=1] TRUE [13:14:02.889] - queued futures: [n=1] TRUE [13:14:02.889] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.889] resolve() on list ... DONE [13:14:02.889] - Number of value chunks collected: 1 [13:14:02.889] Resolving 1 futures (chunks) ... DONE [13:14:02.890] Reducing values from 1 chunks ... [13:14:02.890] - Number of values collected after concatenation: 4 [13:14:02.890] - Number of values expected: 4 [13:14:02.890] Reducing values from 1 chunks ... DONE [13:14:02.890] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:02.892] future_lapply() ... [13:14:02.893] Number of chunks: 1 [13:14:02.893] getGlobalsAndPackagesXApply() ... [13:14:02.893] - future.globals: TRUE [13:14:02.893] getGlobalsAndPackages() ... [13:14:02.893] Searching for globals... [13:14:02.894] - globals found: [1] 'FUN' [13:14:02.894] Searching for globals ... DONE [13:14:02.894] Resolving globals: FALSE [13:14:02.894] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:02.895] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:02.895] - globals: [1] 'FUN' [13:14:02.895] [13:14:02.895] getGlobalsAndPackages() ... DONE [13:14:02.895] - globals found/used: [n=1] 'FUN' [13:14:02.895] - needed namespaces: [n=0] [13:14:02.895] Finding globals ... DONE [13:14:02.896] - use_args: TRUE [13:14:02.896] - Getting '...' globals ... [13:14:02.896] resolve() on list ... [13:14:02.896] recursive: 0 [13:14:02.896] length: 1 [13:14:02.896] elements: '...' [13:14:02.896] length: 0 (resolved future 1) [13:14:02.897] resolve() on list ... DONE [13:14:02.897] - '...' content: [n=0] [13:14:02.897] List of 1 [13:14:02.897] $ ...: list() [13:14:02.897] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.897] - attr(*, "where")=List of 1 [13:14:02.897] ..$ ...: [13:14:02.897] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.897] - attr(*, "resolved")= logi TRUE [13:14:02.897] - attr(*, "total_size")= num NA [13:14:02.899] - Getting '...' globals ... DONE [13:14:02.899] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.899] List of 2 [13:14:02.899] $ ...future.FUN:function (x) [13:14:02.899] $ ... : list() [13:14:02.899] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.899] - attr(*, "where")=List of 2 [13:14:02.899] ..$ ...future.FUN: [13:14:02.899] ..$ ... : [13:14:02.899] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.899] - attr(*, "resolved")= logi FALSE [13:14:02.899] - attr(*, "total_size")= num 848 [13:14:02.901] Packages to be attached in all futures: [n=0] [13:14:02.902] getGlobalsAndPackagesXApply() ... DONE [13:14:02.902] Number of futures (= number of chunks): 1 [13:14:02.902] Launching 1 futures (chunks) ... [13:14:02.902] Chunk #1 of 1 ... [13:14:02.902] - Finding globals in 'X' for chunk #1 ... [13:14:02.902] getGlobalsAndPackages() ... [13:14:02.903] Searching for globals... [13:14:02.903] [13:14:02.903] Searching for globals ... DONE [13:14:02.903] - globals: [0] [13:14:02.903] getGlobalsAndPackages() ... DONE [13:14:02.903] + additional globals found: [n=0] [13:14:02.903] + additional namespaces needed: [n=0] [13:14:02.903] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.904] - seeds: [13:14:02.904] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.904] getGlobalsAndPackages() ... [13:14:02.904] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.904] Resolving globals: FALSE [13:14:02.904] Tweak future expression to call with '...' arguments ... [13:14:02.904] { [13:14:02.904] do.call(function(...) { [13:14:02.904] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.904] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.904] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.904] on.exit(options(oopts), add = TRUE) [13:14:02.904] } [13:14:02.904] { [13:14:02.904] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.904] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.904] ...future.FUN(...future.X_jj, ...) [13:14:02.904] }) [13:14:02.904] } [13:14:02.904] }, args = future.call.arguments) [13:14:02.904] } [13:14:02.905] Tweak future expression to call with '...' arguments ... DONE [13:14:02.905] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.905] [13:14:02.905] getGlobalsAndPackages() ... DONE [13:14:02.906] run() for 'Future' ... [13:14:02.906] - state: 'created' [13:14:02.906] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.906] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.906] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.906] - Field: 'label' [13:14:02.907] - Field: 'local' [13:14:02.907] - Field: 'owner' [13:14:02.907] - Field: 'envir' [13:14:02.907] - Field: 'packages' [13:14:02.907] - Field: 'gc' [13:14:02.907] - Field: 'conditions' [13:14:02.907] - Field: 'expr' [13:14:02.907] - Field: 'uuid' [13:14:02.908] - Field: 'seed' [13:14:02.908] - Field: 'version' [13:14:02.908] - Field: 'result' [13:14:02.908] - Field: 'asynchronous' [13:14:02.908] - Field: 'calls' [13:14:02.908] - Field: 'globals' [13:14:02.908] - Field: 'stdout' [13:14:02.908] - Field: 'earlySignal' [13:14:02.909] - Field: 'lazy' [13:14:02.909] - Field: 'state' [13:14:02.909] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.909] - Launch lazy future ... [13:14:02.909] Packages needed by the future expression (n = 0): [13:14:02.909] Packages needed by future strategies (n = 0): [13:14:02.910] { [13:14:02.910] { [13:14:02.910] { [13:14:02.910] ...future.startTime <- base::Sys.time() [13:14:02.910] { [13:14:02.910] { [13:14:02.910] { [13:14:02.910] base::local({ [13:14:02.910] has_future <- base::requireNamespace("future", [13:14:02.910] quietly = TRUE) [13:14:02.910] if (has_future) { [13:14:02.910] ns <- base::getNamespace("future") [13:14:02.910] version <- ns[[".package"]][["version"]] [13:14:02.910] if (is.null(version)) [13:14:02.910] version <- utils::packageVersion("future") [13:14:02.910] } [13:14:02.910] else { [13:14:02.910] version <- NULL [13:14:02.910] } [13:14:02.910] if (!has_future || version < "1.8.0") { [13:14:02.910] info <- base::c(r_version = base::gsub("R version ", [13:14:02.910] "", base::R.version$version.string), [13:14:02.910] platform = base::sprintf("%s (%s-bit)", [13:14:02.910] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.910] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.910] "release", "version")], collapse = " "), [13:14:02.910] hostname = base::Sys.info()[["nodename"]]) [13:14:02.910] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.910] info) [13:14:02.910] info <- base::paste(info, collapse = "; ") [13:14:02.910] if (!has_future) { [13:14:02.910] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.910] info) [13:14:02.910] } [13:14:02.910] else { [13:14:02.910] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.910] info, version) [13:14:02.910] } [13:14:02.910] base::stop(msg) [13:14:02.910] } [13:14:02.910] }) [13:14:02.910] } [13:14:02.910] options(future.plan = NULL) [13:14:02.910] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.910] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.910] } [13:14:02.910] ...future.workdir <- getwd() [13:14:02.910] } [13:14:02.910] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.910] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.910] } [13:14:02.910] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.910] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.910] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.910] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.910] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.910] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.910] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.910] base::names(...future.oldOptions)) [13:14:02.910] } [13:14:02.910] if (FALSE) { [13:14:02.910] } [13:14:02.910] else { [13:14:02.910] if (TRUE) { [13:14:02.910] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.910] open = "w") [13:14:02.910] } [13:14:02.910] else { [13:14:02.910] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.910] windows = "NUL", "/dev/null"), open = "w") [13:14:02.910] } [13:14:02.910] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.910] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.910] base::sink(type = "output", split = FALSE) [13:14:02.910] base::close(...future.stdout) [13:14:02.910] }, add = TRUE) [13:14:02.910] } [13:14:02.910] ...future.frame <- base::sys.nframe() [13:14:02.910] ...future.conditions <- base::list() [13:14:02.910] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.910] if (FALSE) { [13:14:02.910] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.910] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.910] } [13:14:02.910] ...future.result <- base::tryCatch({ [13:14:02.910] base::withCallingHandlers({ [13:14:02.910] ...future.value <- base::withVisible(base::local({ [13:14:02.910] do.call(function(...) { [13:14:02.910] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.910] if (!identical(...future.globals.maxSize.org, [13:14:02.910] ...future.globals.maxSize)) { [13:14:02.910] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.910] on.exit(options(oopts), add = TRUE) [13:14:02.910] } [13:14:02.910] { [13:14:02.910] lapply(seq_along(...future.elements_ii), [13:14:02.910] FUN = function(jj) { [13:14:02.910] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.910] ...future.FUN(...future.X_jj, ...) [13:14:02.910] }) [13:14:02.910] } [13:14:02.910] }, args = future.call.arguments) [13:14:02.910] })) [13:14:02.910] future::FutureResult(value = ...future.value$value, [13:14:02.910] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.910] ...future.rng), globalenv = if (FALSE) [13:14:02.910] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.910] ...future.globalenv.names)) [13:14:02.910] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.910] }, condition = base::local({ [13:14:02.910] c <- base::c [13:14:02.910] inherits <- base::inherits [13:14:02.910] invokeRestart <- base::invokeRestart [13:14:02.910] length <- base::length [13:14:02.910] list <- base::list [13:14:02.910] seq.int <- base::seq.int [13:14:02.910] signalCondition <- base::signalCondition [13:14:02.910] sys.calls <- base::sys.calls [13:14:02.910] `[[` <- base::`[[` [13:14:02.910] `+` <- base::`+` [13:14:02.910] `<<-` <- base::`<<-` [13:14:02.910] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.910] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.910] 3L)] [13:14:02.910] } [13:14:02.910] function(cond) { [13:14:02.910] is_error <- inherits(cond, "error") [13:14:02.910] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.910] NULL) [13:14:02.910] if (is_error) { [13:14:02.910] sessionInformation <- function() { [13:14:02.910] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.910] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.910] search = base::search(), system = base::Sys.info()) [13:14:02.910] } [13:14:02.910] ...future.conditions[[length(...future.conditions) + [13:14:02.910] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.910] cond$call), session = sessionInformation(), [13:14:02.910] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.910] signalCondition(cond) [13:14:02.910] } [13:14:02.910] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.910] "immediateCondition"))) { [13:14:02.910] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.910] ...future.conditions[[length(...future.conditions) + [13:14:02.910] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.910] if (TRUE && !signal) { [13:14:02.910] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.910] { [13:14:02.910] inherits <- base::inherits [13:14:02.910] invokeRestart <- base::invokeRestart [13:14:02.910] is.null <- base::is.null [13:14:02.910] muffled <- FALSE [13:14:02.910] if (inherits(cond, "message")) { [13:14:02.910] muffled <- grepl(pattern, "muffleMessage") [13:14:02.910] if (muffled) [13:14:02.910] invokeRestart("muffleMessage") [13:14:02.910] } [13:14:02.910] else if (inherits(cond, "warning")) { [13:14:02.910] muffled <- grepl(pattern, "muffleWarning") [13:14:02.910] if (muffled) [13:14:02.910] invokeRestart("muffleWarning") [13:14:02.910] } [13:14:02.910] else if (inherits(cond, "condition")) { [13:14:02.910] if (!is.null(pattern)) { [13:14:02.910] computeRestarts <- base::computeRestarts [13:14:02.910] grepl <- base::grepl [13:14:02.910] restarts <- computeRestarts(cond) [13:14:02.910] for (restart in restarts) { [13:14:02.910] name <- restart$name [13:14:02.910] if (is.null(name)) [13:14:02.910] next [13:14:02.910] if (!grepl(pattern, name)) [13:14:02.910] next [13:14:02.910] invokeRestart(restart) [13:14:02.910] muffled <- TRUE [13:14:02.910] break [13:14:02.910] } [13:14:02.910] } [13:14:02.910] } [13:14:02.910] invisible(muffled) [13:14:02.910] } [13:14:02.910] muffleCondition(cond, pattern = "^muffle") [13:14:02.910] } [13:14:02.910] } [13:14:02.910] else { [13:14:02.910] if (TRUE) { [13:14:02.910] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.910] { [13:14:02.910] inherits <- base::inherits [13:14:02.910] invokeRestart <- base::invokeRestart [13:14:02.910] is.null <- base::is.null [13:14:02.910] muffled <- FALSE [13:14:02.910] if (inherits(cond, "message")) { [13:14:02.910] muffled <- grepl(pattern, "muffleMessage") [13:14:02.910] if (muffled) [13:14:02.910] invokeRestart("muffleMessage") [13:14:02.910] } [13:14:02.910] else if (inherits(cond, "warning")) { [13:14:02.910] muffled <- grepl(pattern, "muffleWarning") [13:14:02.910] if (muffled) [13:14:02.910] invokeRestart("muffleWarning") [13:14:02.910] } [13:14:02.910] else if (inherits(cond, "condition")) { [13:14:02.910] if (!is.null(pattern)) { [13:14:02.910] computeRestarts <- base::computeRestarts [13:14:02.910] grepl <- base::grepl [13:14:02.910] restarts <- computeRestarts(cond) [13:14:02.910] for (restart in restarts) { [13:14:02.910] name <- restart$name [13:14:02.910] if (is.null(name)) [13:14:02.910] next [13:14:02.910] if (!grepl(pattern, name)) [13:14:02.910] next [13:14:02.910] invokeRestart(restart) [13:14:02.910] muffled <- TRUE [13:14:02.910] break [13:14:02.910] } [13:14:02.910] } [13:14:02.910] } [13:14:02.910] invisible(muffled) [13:14:02.910] } [13:14:02.910] muffleCondition(cond, pattern = "^muffle") [13:14:02.910] } [13:14:02.910] } [13:14:02.910] } [13:14:02.910] })) [13:14:02.910] }, error = function(ex) { [13:14:02.910] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.910] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.910] ...future.rng), started = ...future.startTime, [13:14:02.910] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.910] version = "1.8"), class = "FutureResult") [13:14:02.910] }, finally = { [13:14:02.910] if (!identical(...future.workdir, getwd())) [13:14:02.910] setwd(...future.workdir) [13:14:02.910] { [13:14:02.910] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.910] ...future.oldOptions$nwarnings <- NULL [13:14:02.910] } [13:14:02.910] base::options(...future.oldOptions) [13:14:02.910] if (.Platform$OS.type == "windows") { [13:14:02.910] old_names <- names(...future.oldEnvVars) [13:14:02.910] envs <- base::Sys.getenv() [13:14:02.910] names <- names(envs) [13:14:02.910] common <- intersect(names, old_names) [13:14:02.910] added <- setdiff(names, old_names) [13:14:02.910] removed <- setdiff(old_names, names) [13:14:02.910] changed <- common[...future.oldEnvVars[common] != [13:14:02.910] envs[common]] [13:14:02.910] NAMES <- toupper(changed) [13:14:02.910] args <- list() [13:14:02.910] for (kk in seq_along(NAMES)) { [13:14:02.910] name <- changed[[kk]] [13:14:02.910] NAME <- NAMES[[kk]] [13:14:02.910] if (name != NAME && is.element(NAME, old_names)) [13:14:02.910] next [13:14:02.910] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.910] } [13:14:02.910] NAMES <- toupper(added) [13:14:02.910] for (kk in seq_along(NAMES)) { [13:14:02.910] name <- added[[kk]] [13:14:02.910] NAME <- NAMES[[kk]] [13:14:02.910] if (name != NAME && is.element(NAME, old_names)) [13:14:02.910] next [13:14:02.910] args[[name]] <- "" [13:14:02.910] } [13:14:02.910] NAMES <- toupper(removed) [13:14:02.910] for (kk in seq_along(NAMES)) { [13:14:02.910] name <- removed[[kk]] [13:14:02.910] NAME <- NAMES[[kk]] [13:14:02.910] if (name != NAME && is.element(NAME, old_names)) [13:14:02.910] next [13:14:02.910] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.910] } [13:14:02.910] if (length(args) > 0) [13:14:02.910] base::do.call(base::Sys.setenv, args = args) [13:14:02.910] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.910] } [13:14:02.910] else { [13:14:02.910] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.910] } [13:14:02.910] { [13:14:02.910] if (base::length(...future.futureOptionsAdded) > [13:14:02.910] 0L) { [13:14:02.910] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.910] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.910] base::options(opts) [13:14:02.910] } [13:14:02.910] { [13:14:02.910] { [13:14:02.910] NULL [13:14:02.910] RNGkind("Mersenne-Twister") [13:14:02.910] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.910] inherits = FALSE) [13:14:02.910] } [13:14:02.910] options(future.plan = NULL) [13:14:02.910] if (is.na(NA_character_)) [13:14:02.910] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.910] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.910] future::plan(list(function (..., envir = parent.frame()) [13:14:02.910] { [13:14:02.910] future <- SequentialFuture(..., envir = envir) [13:14:02.910] if (!future$lazy) [13:14:02.910] future <- run(future) [13:14:02.910] invisible(future) [13:14:02.910] }), .cleanup = FALSE, .init = FALSE) [13:14:02.910] } [13:14:02.910] } [13:14:02.910] } [13:14:02.910] }) [13:14:02.910] if (TRUE) { [13:14:02.910] base::sink(type = "output", split = FALSE) [13:14:02.910] if (TRUE) { [13:14:02.910] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.910] } [13:14:02.910] else { [13:14:02.910] ...future.result["stdout"] <- base::list(NULL) [13:14:02.910] } [13:14:02.910] base::close(...future.stdout) [13:14:02.910] ...future.stdout <- NULL [13:14:02.910] } [13:14:02.910] ...future.result$conditions <- ...future.conditions [13:14:02.910] ...future.result$finished <- base::Sys.time() [13:14:02.910] ...future.result [13:14:02.910] } [13:14:02.912] assign_globals() ... [13:14:02.913] List of 5 [13:14:02.913] $ ...future.FUN :function (x) [13:14:02.913] $ future.call.arguments : list() [13:14:02.913] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.913] $ ...future.elements_ii :List of 4 [13:14:02.913] ..$ A: num 50 [13:14:02.913] ..$ B: num 60 [13:14:02.913] ..$ C: num 70 [13:14:02.913] ..$ D: num 80 [13:14:02.913] $ ...future.seeds_ii : NULL [13:14:02.913] $ ...future.globals.maxSize: NULL [13:14:02.913] - attr(*, "where")=List of 5 [13:14:02.913] ..$ ...future.FUN : [13:14:02.913] ..$ future.call.arguments : [13:14:02.913] ..$ ...future.elements_ii : [13:14:02.913] ..$ ...future.seeds_ii : [13:14:02.913] ..$ ...future.globals.maxSize: [13:14:02.913] - attr(*, "resolved")= logi FALSE [13:14:02.913] - attr(*, "total_size")= num 848 [13:14:02.913] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.913] - attr(*, "already-done")= logi TRUE [13:14:02.917] - copied '...future.FUN' to environment [13:14:02.917] - copied 'future.call.arguments' to environment [13:14:02.917] - copied '...future.elements_ii' to environment [13:14:02.918] - copied '...future.seeds_ii' to environment [13:14:02.918] - copied '...future.globals.maxSize' to environment [13:14:02.918] assign_globals() ... done [13:14:02.918] plan(): Setting new future strategy stack: [13:14:02.918] List of future strategies: [13:14:02.918] 1. sequential: [13:14:02.918] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.918] - tweaked: FALSE [13:14:02.918] - call: NULL [13:14:02.919] plan(): nbrOfWorkers() = 1 [13:14:02.919] plan(): Setting new future strategy stack: [13:14:02.920] List of future strategies: [13:14:02.920] 1. sequential: [13:14:02.920] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.920] - tweaked: FALSE [13:14:02.920] - call: plan(strategy) [13:14:02.920] plan(): nbrOfWorkers() = 1 [13:14:02.920] SequentialFuture started (and completed) [13:14:02.920] - Launch lazy future ... done [13:14:02.920] run() for 'SequentialFuture' ... done [13:14:02.921] Created future: [13:14:02.921] SequentialFuture: [13:14:02.921] Label: 'future_sapply-1' [13:14:02.921] Expression: [13:14:02.921] { [13:14:02.921] do.call(function(...) { [13:14:02.921] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.921] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.921] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.921] on.exit(options(oopts), add = TRUE) [13:14:02.921] } [13:14:02.921] { [13:14:02.921] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.921] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.921] ...future.FUN(...future.X_jj, ...) [13:14:02.921] }) [13:14:02.921] } [13:14:02.921] }, args = future.call.arguments) [13:14:02.921] } [13:14:02.921] Lazy evaluation: FALSE [13:14:02.921] Asynchronous evaluation: FALSE [13:14:02.921] Local evaluation: TRUE [13:14:02.921] Environment: R_GlobalEnv [13:14:02.921] Capture standard output: TRUE [13:14:02.921] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.921] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.921] Packages: [13:14:02.921] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.921] Resolved: TRUE [13:14:02.921] Value: 224 bytes of class 'list' [13:14:02.921] Early signaling: FALSE [13:14:02.921] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.921] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.922] Chunk #1 of 1 ... DONE [13:14:02.922] Launching 1 futures (chunks) ... DONE [13:14:02.922] Resolving 1 futures (chunks) ... [13:14:02.922] resolve() on list ... [13:14:02.922] recursive: 0 [13:14:02.922] length: 1 [13:14:02.922] [13:14:02.922] resolved() for 'SequentialFuture' ... [13:14:02.923] - state: 'finished' [13:14:02.923] - run: TRUE [13:14:02.923] - result: 'FutureResult' [13:14:02.923] resolved() for 'SequentialFuture' ... done [13:14:02.923] Future #1 [13:14:02.923] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.923] - nx: 1 [13:14:02.923] - relay: TRUE [13:14:02.924] - stdout: TRUE [13:14:02.924] - signal: TRUE [13:14:02.924] - resignal: FALSE [13:14:02.924] - force: TRUE [13:14:02.924] - relayed: [n=1] FALSE [13:14:02.924] - queued futures: [n=1] FALSE [13:14:02.924] - until=1 [13:14:02.924] - relaying element #1 [13:14:02.925] - relayed: [n=1] TRUE [13:14:02.925] - queued futures: [n=1] TRUE [13:14:02.925] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.925] length: 0 (resolved future 1) [13:14:02.925] Relaying remaining futures [13:14:02.925] signalConditionsASAP(NULL, pos=0) ... [13:14:02.925] - nx: 1 [13:14:02.925] - relay: TRUE [13:14:02.925] - stdout: TRUE [13:14:02.926] - signal: TRUE [13:14:02.926] - resignal: FALSE [13:14:02.926] - force: TRUE [13:14:02.926] - relayed: [n=1] TRUE [13:14:02.926] - queued futures: [n=1] TRUE - flush all [13:14:02.926] - relayed: [n=1] TRUE [13:14:02.926] - queued futures: [n=1] TRUE [13:14:02.926] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.926] resolve() on list ... DONE [13:14:02.927] - Number of value chunks collected: 1 [13:14:02.927] Resolving 1 futures (chunks) ... DONE [13:14:02.927] Reducing values from 1 chunks ... [13:14:02.927] - Number of values collected after concatenation: 4 [13:14:02.927] - Number of values expected: 4 [13:14:02.927] Reducing values from 1 chunks ... DONE [13:14:02.927] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:02.930] future_lapply() ... [13:14:02.931] Number of chunks: 1 [13:14:02.931] getGlobalsAndPackagesXApply() ... [13:14:02.931] - future.globals: TRUE [13:14:02.931] getGlobalsAndPackages() ... [13:14:02.931] Searching for globals... [13:14:02.932] - globals found: [2] 'FUN', 'UseMethod' [13:14:02.933] Searching for globals ... DONE [13:14:02.933] Resolving globals: FALSE [13:14:02.933] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:02.933] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:02.934] - globals: [1] 'FUN' [13:14:02.934] [13:14:02.934] getGlobalsAndPackages() ... DONE [13:14:02.934] - globals found/used: [n=1] 'FUN' [13:14:02.934] - needed namespaces: [n=0] [13:14:02.934] Finding globals ... DONE [13:14:02.934] - use_args: TRUE [13:14:02.934] - Getting '...' globals ... [13:14:02.935] resolve() on list ... [13:14:02.935] recursive: 0 [13:14:02.935] length: 1 [13:14:02.935] elements: '...' [13:14:02.935] length: 0 (resolved future 1) [13:14:02.935] resolve() on list ... DONE [13:14:02.935] - '...' content: [n=0] [13:14:02.936] List of 1 [13:14:02.936] $ ...: list() [13:14:02.936] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.936] - attr(*, "where")=List of 1 [13:14:02.936] ..$ ...: [13:14:02.936] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.936] - attr(*, "resolved")= logi TRUE [13:14:02.936] - attr(*, "total_size")= num NA [13:14:02.938] - Getting '...' globals ... DONE [13:14:02.938] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.938] List of 2 [13:14:02.938] $ ...future.FUN:function (x, ...) [13:14:02.938] $ ... : list() [13:14:02.938] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.938] - attr(*, "where")=List of 2 [13:14:02.938] ..$ ...future.FUN: [13:14:02.938] ..$ ... : [13:14:02.938] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.938] - attr(*, "resolved")= logi FALSE [13:14:02.938] - attr(*, "total_size")= num 1248 [13:14:02.941] Packages to be attached in all futures: [n=0] [13:14:02.941] getGlobalsAndPackagesXApply() ... DONE [13:14:02.942] Number of futures (= number of chunks): 1 [13:14:02.942] Launching 1 futures (chunks) ... [13:14:02.942] Chunk #1 of 1 ... [13:14:02.942] - Finding globals in 'X' for chunk #1 ... [13:14:02.942] getGlobalsAndPackages() ... [13:14:02.942] Searching for globals... [13:14:02.943] [13:14:02.943] Searching for globals ... DONE [13:14:02.943] - globals: [0] [13:14:02.943] getGlobalsAndPackages() ... DONE [13:14:02.943] + additional globals found: [n=0] [13:14:02.943] + additional namespaces needed: [n=0] [13:14:02.943] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.944] - seeds: [13:14:02.944] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.944] getGlobalsAndPackages() ... [13:14:02.944] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.944] Resolving globals: FALSE [13:14:02.944] Tweak future expression to call with '...' arguments ... [13:14:02.945] { [13:14:02.945] do.call(function(...) { [13:14:02.945] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.945] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.945] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.945] on.exit(options(oopts), add = TRUE) [13:14:02.945] } [13:14:02.945] { [13:14:02.945] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.945] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.945] ...future.FUN(...future.X_jj, ...) [13:14:02.945] }) [13:14:02.945] } [13:14:02.945] }, args = future.call.arguments) [13:14:02.945] } [13:14:02.945] Tweak future expression to call with '...' arguments ... DONE [13:14:02.945] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.945] [13:14:02.946] getGlobalsAndPackages() ... DONE [13:14:02.946] run() for 'Future' ... [13:14:02.946] - state: 'created' [13:14:02.946] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.946] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.947] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.947] - Field: 'label' [13:14:02.947] - Field: 'local' [13:14:02.947] - Field: 'owner' [13:14:02.947] - Field: 'envir' [13:14:02.947] - Field: 'packages' [13:14:02.947] - Field: 'gc' [13:14:02.948] - Field: 'conditions' [13:14:02.948] - Field: 'expr' [13:14:02.948] - Field: 'uuid' [13:14:02.948] - Field: 'seed' [13:14:02.948] - Field: 'version' [13:14:02.948] - Field: 'result' [13:14:02.948] - Field: 'asynchronous' [13:14:02.949] - Field: 'calls' [13:14:02.949] - Field: 'globals' [13:14:02.949] - Field: 'stdout' [13:14:02.949] - Field: 'earlySignal' [13:14:02.949] - Field: 'lazy' [13:14:02.949] - Field: 'state' [13:14:02.949] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.950] - Launch lazy future ... [13:14:02.950] Packages needed by the future expression (n = 0): [13:14:02.950] Packages needed by future strategies (n = 0): [13:14:02.950] { [13:14:02.950] { [13:14:02.950] { [13:14:02.950] ...future.startTime <- base::Sys.time() [13:14:02.950] { [13:14:02.950] { [13:14:02.950] { [13:14:02.950] base::local({ [13:14:02.950] has_future <- base::requireNamespace("future", [13:14:02.950] quietly = TRUE) [13:14:02.950] if (has_future) { [13:14:02.950] ns <- base::getNamespace("future") [13:14:02.950] version <- ns[[".package"]][["version"]] [13:14:02.950] if (is.null(version)) [13:14:02.950] version <- utils::packageVersion("future") [13:14:02.950] } [13:14:02.950] else { [13:14:02.950] version <- NULL [13:14:02.950] } [13:14:02.950] if (!has_future || version < "1.8.0") { [13:14:02.950] info <- base::c(r_version = base::gsub("R version ", [13:14:02.950] "", base::R.version$version.string), [13:14:02.950] platform = base::sprintf("%s (%s-bit)", [13:14:02.950] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.950] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.950] "release", "version")], collapse = " "), [13:14:02.950] hostname = base::Sys.info()[["nodename"]]) [13:14:02.950] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.950] info) [13:14:02.950] info <- base::paste(info, collapse = "; ") [13:14:02.950] if (!has_future) { [13:14:02.950] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.950] info) [13:14:02.950] } [13:14:02.950] else { [13:14:02.950] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.950] info, version) [13:14:02.950] } [13:14:02.950] base::stop(msg) [13:14:02.950] } [13:14:02.950] }) [13:14:02.950] } [13:14:02.950] options(future.plan = NULL) [13:14:02.950] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.950] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.950] } [13:14:02.950] ...future.workdir <- getwd() [13:14:02.950] } [13:14:02.950] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.950] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.950] } [13:14:02.950] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.950] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.950] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.950] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.950] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.950] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.950] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.950] base::names(...future.oldOptions)) [13:14:02.950] } [13:14:02.950] if (FALSE) { [13:14:02.950] } [13:14:02.950] else { [13:14:02.950] if (TRUE) { [13:14:02.950] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.950] open = "w") [13:14:02.950] } [13:14:02.950] else { [13:14:02.950] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.950] windows = "NUL", "/dev/null"), open = "w") [13:14:02.950] } [13:14:02.950] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.950] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.950] base::sink(type = "output", split = FALSE) [13:14:02.950] base::close(...future.stdout) [13:14:02.950] }, add = TRUE) [13:14:02.950] } [13:14:02.950] ...future.frame <- base::sys.nframe() [13:14:02.950] ...future.conditions <- base::list() [13:14:02.950] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.950] if (FALSE) { [13:14:02.950] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.950] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.950] } [13:14:02.950] ...future.result <- base::tryCatch({ [13:14:02.950] base::withCallingHandlers({ [13:14:02.950] ...future.value <- base::withVisible(base::local({ [13:14:02.950] do.call(function(...) { [13:14:02.950] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.950] if (!identical(...future.globals.maxSize.org, [13:14:02.950] ...future.globals.maxSize)) { [13:14:02.950] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.950] on.exit(options(oopts), add = TRUE) [13:14:02.950] } [13:14:02.950] { [13:14:02.950] lapply(seq_along(...future.elements_ii), [13:14:02.950] FUN = function(jj) { [13:14:02.950] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.950] ...future.FUN(...future.X_jj, ...) [13:14:02.950] }) [13:14:02.950] } [13:14:02.950] }, args = future.call.arguments) [13:14:02.950] })) [13:14:02.950] future::FutureResult(value = ...future.value$value, [13:14:02.950] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.950] ...future.rng), globalenv = if (FALSE) [13:14:02.950] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.950] ...future.globalenv.names)) [13:14:02.950] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.950] }, condition = base::local({ [13:14:02.950] c <- base::c [13:14:02.950] inherits <- base::inherits [13:14:02.950] invokeRestart <- base::invokeRestart [13:14:02.950] length <- base::length [13:14:02.950] list <- base::list [13:14:02.950] seq.int <- base::seq.int [13:14:02.950] signalCondition <- base::signalCondition [13:14:02.950] sys.calls <- base::sys.calls [13:14:02.950] `[[` <- base::`[[` [13:14:02.950] `+` <- base::`+` [13:14:02.950] `<<-` <- base::`<<-` [13:14:02.950] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.950] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.950] 3L)] [13:14:02.950] } [13:14:02.950] function(cond) { [13:14:02.950] is_error <- inherits(cond, "error") [13:14:02.950] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.950] NULL) [13:14:02.950] if (is_error) { [13:14:02.950] sessionInformation <- function() { [13:14:02.950] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.950] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.950] search = base::search(), system = base::Sys.info()) [13:14:02.950] } [13:14:02.950] ...future.conditions[[length(...future.conditions) + [13:14:02.950] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.950] cond$call), session = sessionInformation(), [13:14:02.950] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.950] signalCondition(cond) [13:14:02.950] } [13:14:02.950] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.950] "immediateCondition"))) { [13:14:02.950] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.950] ...future.conditions[[length(...future.conditions) + [13:14:02.950] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.950] if (TRUE && !signal) { [13:14:02.950] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.950] { [13:14:02.950] inherits <- base::inherits [13:14:02.950] invokeRestart <- base::invokeRestart [13:14:02.950] is.null <- base::is.null [13:14:02.950] muffled <- FALSE [13:14:02.950] if (inherits(cond, "message")) { [13:14:02.950] muffled <- grepl(pattern, "muffleMessage") [13:14:02.950] if (muffled) [13:14:02.950] invokeRestart("muffleMessage") [13:14:02.950] } [13:14:02.950] else if (inherits(cond, "warning")) { [13:14:02.950] muffled <- grepl(pattern, "muffleWarning") [13:14:02.950] if (muffled) [13:14:02.950] invokeRestart("muffleWarning") [13:14:02.950] } [13:14:02.950] else if (inherits(cond, "condition")) { [13:14:02.950] if (!is.null(pattern)) { [13:14:02.950] computeRestarts <- base::computeRestarts [13:14:02.950] grepl <- base::grepl [13:14:02.950] restarts <- computeRestarts(cond) [13:14:02.950] for (restart in restarts) { [13:14:02.950] name <- restart$name [13:14:02.950] if (is.null(name)) [13:14:02.950] next [13:14:02.950] if (!grepl(pattern, name)) [13:14:02.950] next [13:14:02.950] invokeRestart(restart) [13:14:02.950] muffled <- TRUE [13:14:02.950] break [13:14:02.950] } [13:14:02.950] } [13:14:02.950] } [13:14:02.950] invisible(muffled) [13:14:02.950] } [13:14:02.950] muffleCondition(cond, pattern = "^muffle") [13:14:02.950] } [13:14:02.950] } [13:14:02.950] else { [13:14:02.950] if (TRUE) { [13:14:02.950] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.950] { [13:14:02.950] inherits <- base::inherits [13:14:02.950] invokeRestart <- base::invokeRestart [13:14:02.950] is.null <- base::is.null [13:14:02.950] muffled <- FALSE [13:14:02.950] if (inherits(cond, "message")) { [13:14:02.950] muffled <- grepl(pattern, "muffleMessage") [13:14:02.950] if (muffled) [13:14:02.950] invokeRestart("muffleMessage") [13:14:02.950] } [13:14:02.950] else if (inherits(cond, "warning")) { [13:14:02.950] muffled <- grepl(pattern, "muffleWarning") [13:14:02.950] if (muffled) [13:14:02.950] invokeRestart("muffleWarning") [13:14:02.950] } [13:14:02.950] else if (inherits(cond, "condition")) { [13:14:02.950] if (!is.null(pattern)) { [13:14:02.950] computeRestarts <- base::computeRestarts [13:14:02.950] grepl <- base::grepl [13:14:02.950] restarts <- computeRestarts(cond) [13:14:02.950] for (restart in restarts) { [13:14:02.950] name <- restart$name [13:14:02.950] if (is.null(name)) [13:14:02.950] next [13:14:02.950] if (!grepl(pattern, name)) [13:14:02.950] next [13:14:02.950] invokeRestart(restart) [13:14:02.950] muffled <- TRUE [13:14:02.950] break [13:14:02.950] } [13:14:02.950] } [13:14:02.950] } [13:14:02.950] invisible(muffled) [13:14:02.950] } [13:14:02.950] muffleCondition(cond, pattern = "^muffle") [13:14:02.950] } [13:14:02.950] } [13:14:02.950] } [13:14:02.950] })) [13:14:02.950] }, error = function(ex) { [13:14:02.950] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.950] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.950] ...future.rng), started = ...future.startTime, [13:14:02.950] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.950] version = "1.8"), class = "FutureResult") [13:14:02.950] }, finally = { [13:14:02.950] if (!identical(...future.workdir, getwd())) [13:14:02.950] setwd(...future.workdir) [13:14:02.950] { [13:14:02.950] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.950] ...future.oldOptions$nwarnings <- NULL [13:14:02.950] } [13:14:02.950] base::options(...future.oldOptions) [13:14:02.950] if (.Platform$OS.type == "windows") { [13:14:02.950] old_names <- names(...future.oldEnvVars) [13:14:02.950] envs <- base::Sys.getenv() [13:14:02.950] names <- names(envs) [13:14:02.950] common <- intersect(names, old_names) [13:14:02.950] added <- setdiff(names, old_names) [13:14:02.950] removed <- setdiff(old_names, names) [13:14:02.950] changed <- common[...future.oldEnvVars[common] != [13:14:02.950] envs[common]] [13:14:02.950] NAMES <- toupper(changed) [13:14:02.950] args <- list() [13:14:02.950] for (kk in seq_along(NAMES)) { [13:14:02.950] name <- changed[[kk]] [13:14:02.950] NAME <- NAMES[[kk]] [13:14:02.950] if (name != NAME && is.element(NAME, old_names)) [13:14:02.950] next [13:14:02.950] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.950] } [13:14:02.950] NAMES <- toupper(added) [13:14:02.950] for (kk in seq_along(NAMES)) { [13:14:02.950] name <- added[[kk]] [13:14:02.950] NAME <- NAMES[[kk]] [13:14:02.950] if (name != NAME && is.element(NAME, old_names)) [13:14:02.950] next [13:14:02.950] args[[name]] <- "" [13:14:02.950] } [13:14:02.950] NAMES <- toupper(removed) [13:14:02.950] for (kk in seq_along(NAMES)) { [13:14:02.950] name <- removed[[kk]] [13:14:02.950] NAME <- NAMES[[kk]] [13:14:02.950] if (name != NAME && is.element(NAME, old_names)) [13:14:02.950] next [13:14:02.950] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.950] } [13:14:02.950] if (length(args) > 0) [13:14:02.950] base::do.call(base::Sys.setenv, args = args) [13:14:02.950] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.950] } [13:14:02.950] else { [13:14:02.950] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.950] } [13:14:02.950] { [13:14:02.950] if (base::length(...future.futureOptionsAdded) > [13:14:02.950] 0L) { [13:14:02.950] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.950] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.950] base::options(opts) [13:14:02.950] } [13:14:02.950] { [13:14:02.950] { [13:14:02.950] NULL [13:14:02.950] RNGkind("Mersenne-Twister") [13:14:02.950] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.950] inherits = FALSE) [13:14:02.950] } [13:14:02.950] options(future.plan = NULL) [13:14:02.950] if (is.na(NA_character_)) [13:14:02.950] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.950] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.950] future::plan(list(function (..., envir = parent.frame()) [13:14:02.950] { [13:14:02.950] future <- SequentialFuture(..., envir = envir) [13:14:02.950] if (!future$lazy) [13:14:02.950] future <- run(future) [13:14:02.950] invisible(future) [13:14:02.950] }), .cleanup = FALSE, .init = FALSE) [13:14:02.950] } [13:14:02.950] } [13:14:02.950] } [13:14:02.950] }) [13:14:02.950] if (TRUE) { [13:14:02.950] base::sink(type = "output", split = FALSE) [13:14:02.950] if (TRUE) { [13:14:02.950] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.950] } [13:14:02.950] else { [13:14:02.950] ...future.result["stdout"] <- base::list(NULL) [13:14:02.950] } [13:14:02.950] base::close(...future.stdout) [13:14:02.950] ...future.stdout <- NULL [13:14:02.950] } [13:14:02.950] ...future.result$conditions <- ...future.conditions [13:14:02.950] ...future.result$finished <- base::Sys.time() [13:14:02.950] ...future.result [13:14:02.950] } [13:14:02.953] assign_globals() ... [13:14:02.953] List of 5 [13:14:02.953] $ ...future.FUN :function (x, ...) [13:14:02.953] $ future.call.arguments : list() [13:14:02.953] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.953] $ ...future.elements_ii :List of 4 [13:14:02.953] ..$ A: num 50 [13:14:02.953] ..$ B: num 60 [13:14:02.953] ..$ C: num 70 [13:14:02.953] ..$ D: num 80 [13:14:02.953] $ ...future.seeds_ii : NULL [13:14:02.953] $ ...future.globals.maxSize: NULL [13:14:02.953] - attr(*, "where")=List of 5 [13:14:02.953] ..$ ...future.FUN : [13:14:02.953] ..$ future.call.arguments : [13:14:02.953] ..$ ...future.elements_ii : [13:14:02.953] ..$ ...future.seeds_ii : [13:14:02.953] ..$ ...future.globals.maxSize: [13:14:02.953] - attr(*, "resolved")= logi FALSE [13:14:02.953] - attr(*, "total_size")= num 1248 [13:14:02.953] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.953] - attr(*, "already-done")= logi TRUE [13:14:02.960] - copied '...future.FUN' to environment [13:14:02.960] - copied 'future.call.arguments' to environment [13:14:02.960] - copied '...future.elements_ii' to environment [13:14:02.960] - copied '...future.seeds_ii' to environment [13:14:02.960] - copied '...future.globals.maxSize' to environment [13:14:02.960] assign_globals() ... done [13:14:02.960] plan(): Setting new future strategy stack: [13:14:02.961] List of future strategies: [13:14:02.961] 1. sequential: [13:14:02.961] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.961] - tweaked: FALSE [13:14:02.961] - call: NULL [13:14:02.961] plan(): nbrOfWorkers() = 1 [13:14:02.962] plan(): Setting new future strategy stack: [13:14:02.962] List of future strategies: [13:14:02.962] 1. sequential: [13:14:02.962] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.962] - tweaked: FALSE [13:14:02.962] - call: plan(strategy) [13:14:02.963] plan(): nbrOfWorkers() = 1 [13:14:02.963] SequentialFuture started (and completed) [13:14:02.963] - Launch lazy future ... done [13:14:02.963] run() for 'SequentialFuture' ... done [13:14:02.963] Created future: [13:14:02.963] SequentialFuture: [13:14:02.963] Label: 'future_sapply-1' [13:14:02.963] Expression: [13:14:02.963] { [13:14:02.963] do.call(function(...) { [13:14:02.963] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.963] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.963] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.963] on.exit(options(oopts), add = TRUE) [13:14:02.963] } [13:14:02.963] { [13:14:02.963] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.963] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.963] ...future.FUN(...future.X_jj, ...) [13:14:02.963] }) [13:14:02.963] } [13:14:02.963] }, args = future.call.arguments) [13:14:02.963] } [13:14:02.963] Lazy evaluation: FALSE [13:14:02.963] Asynchronous evaluation: FALSE [13:14:02.963] Local evaluation: TRUE [13:14:02.963] Environment: R_GlobalEnv [13:14:02.963] Capture standard output: TRUE [13:14:02.963] Capture condition classes: 'condition' (excluding 'nothing') [13:14:02.963] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:02.963] Packages: [13:14:02.963] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:02.963] Resolved: TRUE [13:14:02.963] Value: 896 bytes of class 'list' [13:14:02.963] Early signaling: FALSE [13:14:02.963] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:02.963] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.964] Chunk #1 of 1 ... DONE [13:14:02.964] Launching 1 futures (chunks) ... DONE [13:14:02.964] Resolving 1 futures (chunks) ... [13:14:02.965] resolve() on list ... [13:14:02.965] recursive: 0 [13:14:02.965] length: 1 [13:14:02.965] [13:14:02.965] resolved() for 'SequentialFuture' ... [13:14:02.965] - state: 'finished' [13:14:02.965] - run: TRUE [13:14:02.965] - result: 'FutureResult' [13:14:02.966] resolved() for 'SequentialFuture' ... done [13:14:02.966] Future #1 [13:14:02.966] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:02.966] - nx: 1 [13:14:02.966] - relay: TRUE [13:14:02.966] - stdout: TRUE [13:14:02.966] - signal: TRUE [13:14:02.967] - resignal: FALSE [13:14:02.967] - force: TRUE [13:14:02.967] - relayed: [n=1] FALSE [13:14:02.967] - queued futures: [n=1] FALSE [13:14:02.967] - until=1 [13:14:02.967] - relaying element #1 [13:14:02.967] - relayed: [n=1] TRUE [13:14:02.967] - queued futures: [n=1] TRUE [13:14:02.968] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:02.968] length: 0 (resolved future 1) [13:14:02.968] Relaying remaining futures [13:14:02.968] signalConditionsASAP(NULL, pos=0) ... [13:14:02.968] - nx: 1 [13:14:02.968] - relay: TRUE [13:14:02.968] - stdout: TRUE [13:14:02.968] - signal: TRUE [13:14:02.968] - resignal: FALSE [13:14:02.969] - force: TRUE [13:14:02.969] - relayed: [n=1] TRUE [13:14:02.969] - queued futures: [n=1] TRUE - flush all [13:14:02.969] - relayed: [n=1] TRUE [13:14:02.969] - queued futures: [n=1] TRUE [13:14:02.969] signalConditionsASAP(NULL, pos=0) ... done [13:14:02.969] resolve() on list ... DONE [13:14:02.969] - Number of value chunks collected: 1 [13:14:02.970] Resolving 1 futures (chunks) ... DONE [13:14:02.970] Reducing values from 1 chunks ... [13:14:02.970] - Number of values collected after concatenation: 4 [13:14:02.970] - Number of values expected: 4 [13:14:02.970] Reducing values from 1 chunks ... DONE [13:14:02.970] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:02.972] future_lapply() ... [13:14:02.972] Number of chunks: 1 [13:14:02.972] getGlobalsAndPackagesXApply() ... [13:14:02.973] - future.globals: TRUE [13:14:02.973] getGlobalsAndPackages() ... [13:14:02.973] Searching for globals... [13:14:02.974] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:02.974] Searching for globals ... DONE [13:14:02.974] Resolving globals: FALSE [13:14:02.975] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:02.975] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:02.975] - globals: [1] 'FUN' [13:14:02.975] [13:14:02.975] getGlobalsAndPackages() ... DONE [13:14:02.975] - globals found/used: [n=1] 'FUN' [13:14:02.976] - needed namespaces: [n=0] [13:14:02.976] Finding globals ... DONE [13:14:02.976] - use_args: TRUE [13:14:02.976] - Getting '...' globals ... [13:14:02.976] resolve() on list ... [13:14:02.976] recursive: 0 [13:14:02.976] length: 1 [13:14:02.977] elements: '...' [13:14:02.977] length: 0 (resolved future 1) [13:14:02.977] resolve() on list ... DONE [13:14:02.977] - '...' content: [n=0] [13:14:02.977] List of 1 [13:14:02.977] $ ...: list() [13:14:02.977] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.977] - attr(*, "where")=List of 1 [13:14:02.977] ..$ ...: [13:14:02.977] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.977] - attr(*, "resolved")= logi TRUE [13:14:02.977] - attr(*, "total_size")= num NA [13:14:02.979] - Getting '...' globals ... DONE [13:14:02.979] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:02.979] List of 2 [13:14:02.979] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:02.979] $ ... : list() [13:14:02.979] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.979] - attr(*, "where")=List of 2 [13:14:02.979] ..$ ...future.FUN: [13:14:02.979] ..$ ... : [13:14:02.979] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.979] - attr(*, "resolved")= logi FALSE [13:14:02.979] - attr(*, "total_size")= num 4728 [13:14:02.982] Packages to be attached in all futures: [n=0] [13:14:02.982] getGlobalsAndPackagesXApply() ... DONE [13:14:02.982] Number of futures (= number of chunks): 1 [13:14:02.982] Launching 1 futures (chunks) ... [13:14:02.982] Chunk #1 of 1 ... [13:14:02.983] - Finding globals in 'X' for chunk #1 ... [13:14:02.983] getGlobalsAndPackages() ... [13:14:02.983] Searching for globals... [13:14:02.983] [13:14:02.983] Searching for globals ... DONE [13:14:02.983] - globals: [0] [13:14:02.983] getGlobalsAndPackages() ... DONE [13:14:02.983] + additional globals found: [n=0] [13:14:02.984] + additional namespaces needed: [n=0] [13:14:02.984] - Finding globals in 'X' for chunk #1 ... DONE [13:14:02.984] - seeds: [13:14:02.984] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.984] getGlobalsAndPackages() ... [13:14:02.984] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.984] Resolving globals: FALSE [13:14:02.984] Tweak future expression to call with '...' arguments ... [13:14:02.984] { [13:14:02.984] do.call(function(...) { [13:14:02.984] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.984] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:02.984] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.984] on.exit(options(oopts), add = TRUE) [13:14:02.984] } [13:14:02.984] { [13:14:02.984] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:02.984] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.984] ...future.FUN(...future.X_jj, ...) [13:14:02.984] }) [13:14:02.984] } [13:14:02.984] }, args = future.call.arguments) [13:14:02.984] } [13:14:02.985] Tweak future expression to call with '...' arguments ... DONE [13:14:02.985] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:02.985] [13:14:02.986] getGlobalsAndPackages() ... DONE [13:14:02.986] run() for 'Future' ... [13:14:02.986] - state: 'created' [13:14:02.986] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:02.986] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:02.986] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:02.987] - Field: 'label' [13:14:02.987] - Field: 'local' [13:14:02.987] - Field: 'owner' [13:14:02.987] - Field: 'envir' [13:14:02.987] - Field: 'packages' [13:14:02.987] - Field: 'gc' [13:14:02.987] - Field: 'conditions' [13:14:02.987] - Field: 'expr' [13:14:02.988] - Field: 'uuid' [13:14:02.988] - Field: 'seed' [13:14:02.988] - Field: 'version' [13:14:02.988] - Field: 'result' [13:14:02.988] - Field: 'asynchronous' [13:14:02.988] - Field: 'calls' [13:14:02.988] - Field: 'globals' [13:14:02.988] - Field: 'stdout' [13:14:02.989] - Field: 'earlySignal' [13:14:02.989] - Field: 'lazy' [13:14:02.989] - Field: 'state' [13:14:02.989] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:02.989] - Launch lazy future ... [13:14:02.989] Packages needed by the future expression (n = 0): [13:14:02.989] Packages needed by future strategies (n = 0): [13:14:02.990] { [13:14:02.990] { [13:14:02.990] { [13:14:02.990] ...future.startTime <- base::Sys.time() [13:14:02.990] { [13:14:02.990] { [13:14:02.990] { [13:14:02.990] base::local({ [13:14:02.990] has_future <- base::requireNamespace("future", [13:14:02.990] quietly = TRUE) [13:14:02.990] if (has_future) { [13:14:02.990] ns <- base::getNamespace("future") [13:14:02.990] version <- ns[[".package"]][["version"]] [13:14:02.990] if (is.null(version)) [13:14:02.990] version <- utils::packageVersion("future") [13:14:02.990] } [13:14:02.990] else { [13:14:02.990] version <- NULL [13:14:02.990] } [13:14:02.990] if (!has_future || version < "1.8.0") { [13:14:02.990] info <- base::c(r_version = base::gsub("R version ", [13:14:02.990] "", base::R.version$version.string), [13:14:02.990] platform = base::sprintf("%s (%s-bit)", [13:14:02.990] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:02.990] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:02.990] "release", "version")], collapse = " "), [13:14:02.990] hostname = base::Sys.info()[["nodename"]]) [13:14:02.990] info <- base::sprintf("%s: %s", base::names(info), [13:14:02.990] info) [13:14:02.990] info <- base::paste(info, collapse = "; ") [13:14:02.990] if (!has_future) { [13:14:02.990] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:02.990] info) [13:14:02.990] } [13:14:02.990] else { [13:14:02.990] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:02.990] info, version) [13:14:02.990] } [13:14:02.990] base::stop(msg) [13:14:02.990] } [13:14:02.990] }) [13:14:02.990] } [13:14:02.990] options(future.plan = NULL) [13:14:02.990] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.990] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:02.990] } [13:14:02.990] ...future.workdir <- getwd() [13:14:02.990] } [13:14:02.990] ...future.oldOptions <- base::as.list(base::.Options) [13:14:02.990] ...future.oldEnvVars <- base::Sys.getenv() [13:14:02.990] } [13:14:02.990] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:02.990] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:02.990] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:02.990] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:02.990] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:02.990] future.stdout.windows.reencode = NULL, width = 80L) [13:14:02.990] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:02.990] base::names(...future.oldOptions)) [13:14:02.990] } [13:14:02.990] if (FALSE) { [13:14:02.990] } [13:14:02.990] else { [13:14:02.990] if (TRUE) { [13:14:02.990] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:02.990] open = "w") [13:14:02.990] } [13:14:02.990] else { [13:14:02.990] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:02.990] windows = "NUL", "/dev/null"), open = "w") [13:14:02.990] } [13:14:02.990] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:02.990] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:02.990] base::sink(type = "output", split = FALSE) [13:14:02.990] base::close(...future.stdout) [13:14:02.990] }, add = TRUE) [13:14:02.990] } [13:14:02.990] ...future.frame <- base::sys.nframe() [13:14:02.990] ...future.conditions <- base::list() [13:14:02.990] ...future.rng <- base::globalenv()$.Random.seed [13:14:02.990] if (FALSE) { [13:14:02.990] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:02.990] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:02.990] } [13:14:02.990] ...future.result <- base::tryCatch({ [13:14:02.990] base::withCallingHandlers({ [13:14:02.990] ...future.value <- base::withVisible(base::local({ [13:14:02.990] do.call(function(...) { [13:14:02.990] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:02.990] if (!identical(...future.globals.maxSize.org, [13:14:02.990] ...future.globals.maxSize)) { [13:14:02.990] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:02.990] on.exit(options(oopts), add = TRUE) [13:14:02.990] } [13:14:02.990] { [13:14:02.990] lapply(seq_along(...future.elements_ii), [13:14:02.990] FUN = function(jj) { [13:14:02.990] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:02.990] ...future.FUN(...future.X_jj, ...) [13:14:02.990] }) [13:14:02.990] } [13:14:02.990] }, args = future.call.arguments) [13:14:02.990] })) [13:14:02.990] future::FutureResult(value = ...future.value$value, [13:14:02.990] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.990] ...future.rng), globalenv = if (FALSE) [13:14:02.990] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:02.990] ...future.globalenv.names)) [13:14:02.990] else NULL, started = ...future.startTime, version = "1.8") [13:14:02.990] }, condition = base::local({ [13:14:02.990] c <- base::c [13:14:02.990] inherits <- base::inherits [13:14:02.990] invokeRestart <- base::invokeRestart [13:14:02.990] length <- base::length [13:14:02.990] list <- base::list [13:14:02.990] seq.int <- base::seq.int [13:14:02.990] signalCondition <- base::signalCondition [13:14:02.990] sys.calls <- base::sys.calls [13:14:02.990] `[[` <- base::`[[` [13:14:02.990] `+` <- base::`+` [13:14:02.990] `<<-` <- base::`<<-` [13:14:02.990] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:02.990] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:02.990] 3L)] [13:14:02.990] } [13:14:02.990] function(cond) { [13:14:02.990] is_error <- inherits(cond, "error") [13:14:02.990] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:02.990] NULL) [13:14:02.990] if (is_error) { [13:14:02.990] sessionInformation <- function() { [13:14:02.990] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:02.990] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:02.990] search = base::search(), system = base::Sys.info()) [13:14:02.990] } [13:14:02.990] ...future.conditions[[length(...future.conditions) + [13:14:02.990] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:02.990] cond$call), session = sessionInformation(), [13:14:02.990] timestamp = base::Sys.time(), signaled = 0L) [13:14:02.990] signalCondition(cond) [13:14:02.990] } [13:14:02.990] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:02.990] "immediateCondition"))) { [13:14:02.990] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:02.990] ...future.conditions[[length(...future.conditions) + [13:14:02.990] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:02.990] if (TRUE && !signal) { [13:14:02.990] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.990] { [13:14:02.990] inherits <- base::inherits [13:14:02.990] invokeRestart <- base::invokeRestart [13:14:02.990] is.null <- base::is.null [13:14:02.990] muffled <- FALSE [13:14:02.990] if (inherits(cond, "message")) { [13:14:02.990] muffled <- grepl(pattern, "muffleMessage") [13:14:02.990] if (muffled) [13:14:02.990] invokeRestart("muffleMessage") [13:14:02.990] } [13:14:02.990] else if (inherits(cond, "warning")) { [13:14:02.990] muffled <- grepl(pattern, "muffleWarning") [13:14:02.990] if (muffled) [13:14:02.990] invokeRestart("muffleWarning") [13:14:02.990] } [13:14:02.990] else if (inherits(cond, "condition")) { [13:14:02.990] if (!is.null(pattern)) { [13:14:02.990] computeRestarts <- base::computeRestarts [13:14:02.990] grepl <- base::grepl [13:14:02.990] restarts <- computeRestarts(cond) [13:14:02.990] for (restart in restarts) { [13:14:02.990] name <- restart$name [13:14:02.990] if (is.null(name)) [13:14:02.990] next [13:14:02.990] if (!grepl(pattern, name)) [13:14:02.990] next [13:14:02.990] invokeRestart(restart) [13:14:02.990] muffled <- TRUE [13:14:02.990] break [13:14:02.990] } [13:14:02.990] } [13:14:02.990] } [13:14:02.990] invisible(muffled) [13:14:02.990] } [13:14:02.990] muffleCondition(cond, pattern = "^muffle") [13:14:02.990] } [13:14:02.990] } [13:14:02.990] else { [13:14:02.990] if (TRUE) { [13:14:02.990] muffleCondition <- function (cond, pattern = "^muffle") [13:14:02.990] { [13:14:02.990] inherits <- base::inherits [13:14:02.990] invokeRestart <- base::invokeRestart [13:14:02.990] is.null <- base::is.null [13:14:02.990] muffled <- FALSE [13:14:02.990] if (inherits(cond, "message")) { [13:14:02.990] muffled <- grepl(pattern, "muffleMessage") [13:14:02.990] if (muffled) [13:14:02.990] invokeRestart("muffleMessage") [13:14:02.990] } [13:14:02.990] else if (inherits(cond, "warning")) { [13:14:02.990] muffled <- grepl(pattern, "muffleWarning") [13:14:02.990] if (muffled) [13:14:02.990] invokeRestart("muffleWarning") [13:14:02.990] } [13:14:02.990] else if (inherits(cond, "condition")) { [13:14:02.990] if (!is.null(pattern)) { [13:14:02.990] computeRestarts <- base::computeRestarts [13:14:02.990] grepl <- base::grepl [13:14:02.990] restarts <- computeRestarts(cond) [13:14:02.990] for (restart in restarts) { [13:14:02.990] name <- restart$name [13:14:02.990] if (is.null(name)) [13:14:02.990] next [13:14:02.990] if (!grepl(pattern, name)) [13:14:02.990] next [13:14:02.990] invokeRestart(restart) [13:14:02.990] muffled <- TRUE [13:14:02.990] break [13:14:02.990] } [13:14:02.990] } [13:14:02.990] } [13:14:02.990] invisible(muffled) [13:14:02.990] } [13:14:02.990] muffleCondition(cond, pattern = "^muffle") [13:14:02.990] } [13:14:02.990] } [13:14:02.990] } [13:14:02.990] })) [13:14:02.990] }, error = function(ex) { [13:14:02.990] base::structure(base::list(value = NULL, visible = NULL, [13:14:02.990] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:02.990] ...future.rng), started = ...future.startTime, [13:14:02.990] finished = Sys.time(), session_uuid = NA_character_, [13:14:02.990] version = "1.8"), class = "FutureResult") [13:14:02.990] }, finally = { [13:14:02.990] if (!identical(...future.workdir, getwd())) [13:14:02.990] setwd(...future.workdir) [13:14:02.990] { [13:14:02.990] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:02.990] ...future.oldOptions$nwarnings <- NULL [13:14:02.990] } [13:14:02.990] base::options(...future.oldOptions) [13:14:02.990] if (.Platform$OS.type == "windows") { [13:14:02.990] old_names <- names(...future.oldEnvVars) [13:14:02.990] envs <- base::Sys.getenv() [13:14:02.990] names <- names(envs) [13:14:02.990] common <- intersect(names, old_names) [13:14:02.990] added <- setdiff(names, old_names) [13:14:02.990] removed <- setdiff(old_names, names) [13:14:02.990] changed <- common[...future.oldEnvVars[common] != [13:14:02.990] envs[common]] [13:14:02.990] NAMES <- toupper(changed) [13:14:02.990] args <- list() [13:14:02.990] for (kk in seq_along(NAMES)) { [13:14:02.990] name <- changed[[kk]] [13:14:02.990] NAME <- NAMES[[kk]] [13:14:02.990] if (name != NAME && is.element(NAME, old_names)) [13:14:02.990] next [13:14:02.990] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.990] } [13:14:02.990] NAMES <- toupper(added) [13:14:02.990] for (kk in seq_along(NAMES)) { [13:14:02.990] name <- added[[kk]] [13:14:02.990] NAME <- NAMES[[kk]] [13:14:02.990] if (name != NAME && is.element(NAME, old_names)) [13:14:02.990] next [13:14:02.990] args[[name]] <- "" [13:14:02.990] } [13:14:02.990] NAMES <- toupper(removed) [13:14:02.990] for (kk in seq_along(NAMES)) { [13:14:02.990] name <- removed[[kk]] [13:14:02.990] NAME <- NAMES[[kk]] [13:14:02.990] if (name != NAME && is.element(NAME, old_names)) [13:14:02.990] next [13:14:02.990] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:02.990] } [13:14:02.990] if (length(args) > 0) [13:14:02.990] base::do.call(base::Sys.setenv, args = args) [13:14:02.990] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:02.990] } [13:14:02.990] else { [13:14:02.990] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:02.990] } [13:14:02.990] { [13:14:02.990] if (base::length(...future.futureOptionsAdded) > [13:14:02.990] 0L) { [13:14:02.990] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:02.990] base::names(opts) <- ...future.futureOptionsAdded [13:14:02.990] base::options(opts) [13:14:02.990] } [13:14:02.990] { [13:14:02.990] { [13:14:02.990] NULL [13:14:02.990] RNGkind("Mersenne-Twister") [13:14:02.990] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:02.990] inherits = FALSE) [13:14:02.990] } [13:14:02.990] options(future.plan = NULL) [13:14:02.990] if (is.na(NA_character_)) [13:14:02.990] Sys.unsetenv("R_FUTURE_PLAN") [13:14:02.990] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:02.990] future::plan(list(function (..., envir = parent.frame()) [13:14:02.990] { [13:14:02.990] future <- SequentialFuture(..., envir = envir) [13:14:02.990] if (!future$lazy) [13:14:02.990] future <- run(future) [13:14:02.990] invisible(future) [13:14:02.990] }), .cleanup = FALSE, .init = FALSE) [13:14:02.990] } [13:14:02.990] } [13:14:02.990] } [13:14:02.990] }) [13:14:02.990] if (TRUE) { [13:14:02.990] base::sink(type = "output", split = FALSE) [13:14:02.990] if (TRUE) { [13:14:02.990] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:02.990] } [13:14:02.990] else { [13:14:02.990] ...future.result["stdout"] <- base::list(NULL) [13:14:02.990] } [13:14:02.990] base::close(...future.stdout) [13:14:02.990] ...future.stdout <- NULL [13:14:02.990] } [13:14:02.990] ...future.result$conditions <- ...future.conditions [13:14:02.990] ...future.result$finished <- base::Sys.time() [13:14:02.990] ...future.result [13:14:02.990] } [13:14:02.992] assign_globals() ... [13:14:02.993] List of 5 [13:14:02.993] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:02.993] $ future.call.arguments : list() [13:14:02.993] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:02.993] $ ...future.elements_ii :List of 4 [13:14:02.993] ..$ A: num 50 [13:14:02.993] ..$ B: num 60 [13:14:02.993] ..$ C: num 70 [13:14:02.993] ..$ D: num 80 [13:14:02.993] $ ...future.seeds_ii : NULL [13:14:02.993] $ ...future.globals.maxSize: NULL [13:14:02.993] - attr(*, "where")=List of 5 [13:14:02.993] ..$ ...future.FUN : [13:14:02.993] ..$ future.call.arguments : [13:14:02.993] ..$ ...future.elements_ii : [13:14:02.993] ..$ ...future.seeds_ii : [13:14:02.993] ..$ ...future.globals.maxSize: [13:14:02.993] - attr(*, "resolved")= logi FALSE [13:14:02.993] - attr(*, "total_size")= num 4728 [13:14:02.993] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:02.993] - attr(*, "already-done")= logi TRUE [13:14:02.997] - reassign environment for '...future.FUN' [13:14:02.998] - copied '...future.FUN' to environment [13:14:02.998] - copied 'future.call.arguments' to environment [13:14:02.998] - copied '...future.elements_ii' to environment [13:14:02.998] - copied '...future.seeds_ii' to environment [13:14:02.998] - copied '...future.globals.maxSize' to environment [13:14:02.998] assign_globals() ... done [13:14:02.999] plan(): Setting new future strategy stack: [13:14:02.999] List of future strategies: [13:14:02.999] 1. sequential: [13:14:02.999] - args: function (..., envir = parent.frame(), workers = "") [13:14:02.999] - tweaked: FALSE [13:14:02.999] - call: NULL [13:14:02.999] plan(): nbrOfWorkers() = 1 [13:14:03.000] plan(): Setting new future strategy stack: [13:14:03.000] List of future strategies: [13:14:03.000] 1. sequential: [13:14:03.000] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.000] - tweaked: FALSE [13:14:03.000] - call: plan(strategy) [13:14:03.000] plan(): nbrOfWorkers() = 1 [13:14:03.001] SequentialFuture started (and completed) [13:14:03.001] - Launch lazy future ... done [13:14:03.001] run() for 'SequentialFuture' ... done [13:14:03.001] Created future: [13:14:03.001] SequentialFuture: [13:14:03.001] Label: 'future_sapply-1' [13:14:03.001] Expression: [13:14:03.001] { [13:14:03.001] do.call(function(...) { [13:14:03.001] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.001] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.001] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.001] on.exit(options(oopts), add = TRUE) [13:14:03.001] } [13:14:03.001] { [13:14:03.001] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.001] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.001] ...future.FUN(...future.X_jj, ...) [13:14:03.001] }) [13:14:03.001] } [13:14:03.001] }, args = future.call.arguments) [13:14:03.001] } [13:14:03.001] Lazy evaluation: FALSE [13:14:03.001] Asynchronous evaluation: FALSE [13:14:03.001] Local evaluation: TRUE [13:14:03.001] Environment: R_GlobalEnv [13:14:03.001] Capture standard output: TRUE [13:14:03.001] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.001] Globals: 5 objects totaling 4.84 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.001] Packages: [13:14:03.001] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.001] Resolved: TRUE [13:14:03.001] Value: 1.34 KiB of class 'list' [13:14:03.001] Early signaling: FALSE [13:14:03.001] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.001] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.002] Chunk #1 of 1 ... DONE [13:14:03.002] Launching 1 futures (chunks) ... DONE [13:14:03.002] Resolving 1 futures (chunks) ... [13:14:03.002] resolve() on list ... [13:14:03.003] recursive: 0 [13:14:03.003] length: 1 [13:14:03.003] [13:14:03.003] resolved() for 'SequentialFuture' ... [13:14:03.003] - state: 'finished' [13:14:03.003] - run: TRUE [13:14:03.003] - result: 'FutureResult' [13:14:03.003] resolved() for 'SequentialFuture' ... done [13:14:03.004] Future #1 [13:14:03.004] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.004] - nx: 1 [13:14:03.004] - relay: TRUE [13:14:03.004] - stdout: TRUE [13:14:03.004] - signal: TRUE [13:14:03.004] - resignal: FALSE [13:14:03.004] - force: TRUE [13:14:03.004] - relayed: [n=1] FALSE [13:14:03.005] - queued futures: [n=1] FALSE [13:14:03.005] - until=1 [13:14:03.005] - relaying element #1 [13:14:03.005] - relayed: [n=1] TRUE [13:14:03.005] - queued futures: [n=1] TRUE [13:14:03.005] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.005] length: 0 (resolved future 1) [13:14:03.005] Relaying remaining futures [13:14:03.006] signalConditionsASAP(NULL, pos=0) ... [13:14:03.006] - nx: 1 [13:14:03.006] - relay: TRUE [13:14:03.006] - stdout: TRUE [13:14:03.006] - signal: TRUE [13:14:03.006] - resignal: FALSE [13:14:03.006] - force: TRUE [13:14:03.006] - relayed: [n=1] TRUE [13:14:03.006] - queued futures: [n=1] TRUE - flush all [13:14:03.007] - relayed: [n=1] TRUE [13:14:03.007] - queued futures: [n=1] TRUE [13:14:03.007] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.007] resolve() on list ... DONE [13:14:03.007] - Number of value chunks collected: 1 [13:14:03.007] Resolving 1 futures (chunks) ... DONE [13:14:03.007] Reducing values from 1 chunks ... [13:14:03.007] - Number of values collected after concatenation: 4 [13:14:03.008] - Number of values expected: 4 [13:14:03.008] Reducing values from 1 chunks ... DONE [13:14:03.008] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:03.012] future_lapply() ... [13:14:03.013] Number of chunks: 1 [13:14:03.013] getGlobalsAndPackagesXApply() ... [13:14:03.013] - future.globals: TRUE [13:14:03.013] getGlobalsAndPackages() ... [13:14:03.013] Searching for globals... [13:14:03.014] - globals found: [1] 'FUN' [13:14:03.014] Searching for globals ... DONE [13:14:03.014] Resolving globals: FALSE [13:14:03.015] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:03.015] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:03.015] - globals: [1] 'FUN' [13:14:03.015] [13:14:03.015] getGlobalsAndPackages() ... DONE [13:14:03.015] - globals found/used: [n=1] 'FUN' [13:14:03.016] - needed namespaces: [n=0] [13:14:03.016] Finding globals ... DONE [13:14:03.016] - use_args: TRUE [13:14:03.016] - Getting '...' globals ... [13:14:03.016] resolve() on list ... [13:14:03.016] recursive: 0 [13:14:03.017] length: 1 [13:14:03.017] elements: '...' [13:14:03.017] length: 0 (resolved future 1) [13:14:03.017] resolve() on list ... DONE [13:14:03.017] - '...' content: [n=0] [13:14:03.017] List of 1 [13:14:03.017] $ ...: list() [13:14:03.017] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.017] - attr(*, "where")=List of 1 [13:14:03.017] ..$ ...: [13:14:03.017] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.017] - attr(*, "resolved")= logi TRUE [13:14:03.017] - attr(*, "total_size")= num NA [13:14:03.020] - Getting '...' globals ... DONE [13:14:03.020] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.020] List of 2 [13:14:03.020] $ ...future.FUN:function (x) [13:14:03.020] $ ... : list() [13:14:03.020] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.020] - attr(*, "where")=List of 2 [13:14:03.020] ..$ ...future.FUN: [13:14:03.020] ..$ ... : [13:14:03.020] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.020] - attr(*, "resolved")= logi FALSE [13:14:03.020] - attr(*, "total_size")= num 848 [13:14:03.023] Packages to be attached in all futures: [n=0] [13:14:03.023] getGlobalsAndPackagesXApply() ... DONE [13:14:03.023] Number of futures (= number of chunks): 1 [13:14:03.023] Launching 1 futures (chunks) ... [13:14:03.024] Chunk #1 of 1 ... [13:14:03.024] - Finding globals in 'X' for chunk #1 ... [13:14:03.024] getGlobalsAndPackages() ... [13:14:03.024] Searching for globals... [13:14:03.024] [13:14:03.024] Searching for globals ... DONE [13:14:03.025] - globals: [0] [13:14:03.025] getGlobalsAndPackages() ... DONE [13:14:03.025] + additional globals found: [n=0] [13:14:03.025] + additional namespaces needed: [n=0] [13:14:03.025] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.025] - seeds: [13:14:03.025] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.025] getGlobalsAndPackages() ... [13:14:03.026] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.026] Resolving globals: FALSE [13:14:03.026] Tweak future expression to call with '...' arguments ... [13:14:03.026] { [13:14:03.026] do.call(function(...) { [13:14:03.026] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.026] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.026] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.026] on.exit(options(oopts), add = TRUE) [13:14:03.026] } [13:14:03.026] { [13:14:03.026] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.026] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.026] ...future.FUN(...future.X_jj, ...) [13:14:03.026] }) [13:14:03.026] } [13:14:03.026] }, args = future.call.arguments) [13:14:03.026] } [13:14:03.026] Tweak future expression to call with '...' arguments ... DONE [13:14:03.027] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.027] [13:14:03.027] getGlobalsAndPackages() ... DONE [13:14:03.027] run() for 'Future' ... [13:14:03.027] - state: 'created' [13:14:03.028] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.028] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.028] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.028] - Field: 'label' [13:14:03.028] - Field: 'local' [13:14:03.029] - Field: 'owner' [13:14:03.029] - Field: 'envir' [13:14:03.029] - Field: 'packages' [13:14:03.029] - Field: 'gc' [13:14:03.029] - Field: 'conditions' [13:14:03.029] - Field: 'expr' [13:14:03.029] - Field: 'uuid' [13:14:03.030] - Field: 'seed' [13:14:03.030] - Field: 'version' [13:14:03.030] - Field: 'result' [13:14:03.030] - Field: 'asynchronous' [13:14:03.030] - Field: 'calls' [13:14:03.030] - Field: 'globals' [13:14:03.030] - Field: 'stdout' [13:14:03.031] - Field: 'earlySignal' [13:14:03.031] - Field: 'lazy' [13:14:03.031] - Field: 'state' [13:14:03.031] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.031] - Launch lazy future ... [13:14:03.031] Packages needed by the future expression (n = 0): [13:14:03.032] Packages needed by future strategies (n = 0): [13:14:03.032] { [13:14:03.032] { [13:14:03.032] { [13:14:03.032] ...future.startTime <- base::Sys.time() [13:14:03.032] { [13:14:03.032] { [13:14:03.032] { [13:14:03.032] base::local({ [13:14:03.032] has_future <- base::requireNamespace("future", [13:14:03.032] quietly = TRUE) [13:14:03.032] if (has_future) { [13:14:03.032] ns <- base::getNamespace("future") [13:14:03.032] version <- ns[[".package"]][["version"]] [13:14:03.032] if (is.null(version)) [13:14:03.032] version <- utils::packageVersion("future") [13:14:03.032] } [13:14:03.032] else { [13:14:03.032] version <- NULL [13:14:03.032] } [13:14:03.032] if (!has_future || version < "1.8.0") { [13:14:03.032] info <- base::c(r_version = base::gsub("R version ", [13:14:03.032] "", base::R.version$version.string), [13:14:03.032] platform = base::sprintf("%s (%s-bit)", [13:14:03.032] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.032] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.032] "release", "version")], collapse = " "), [13:14:03.032] hostname = base::Sys.info()[["nodename"]]) [13:14:03.032] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.032] info) [13:14:03.032] info <- base::paste(info, collapse = "; ") [13:14:03.032] if (!has_future) { [13:14:03.032] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.032] info) [13:14:03.032] } [13:14:03.032] else { [13:14:03.032] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.032] info, version) [13:14:03.032] } [13:14:03.032] base::stop(msg) [13:14:03.032] } [13:14:03.032] }) [13:14:03.032] } [13:14:03.032] options(future.plan = NULL) [13:14:03.032] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.032] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.032] } [13:14:03.032] ...future.workdir <- getwd() [13:14:03.032] } [13:14:03.032] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.032] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.032] } [13:14:03.032] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.032] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.032] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.032] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.032] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.032] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.032] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.032] base::names(...future.oldOptions)) [13:14:03.032] } [13:14:03.032] if (FALSE) { [13:14:03.032] } [13:14:03.032] else { [13:14:03.032] if (TRUE) { [13:14:03.032] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.032] open = "w") [13:14:03.032] } [13:14:03.032] else { [13:14:03.032] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.032] windows = "NUL", "/dev/null"), open = "w") [13:14:03.032] } [13:14:03.032] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.032] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.032] base::sink(type = "output", split = FALSE) [13:14:03.032] base::close(...future.stdout) [13:14:03.032] }, add = TRUE) [13:14:03.032] } [13:14:03.032] ...future.frame <- base::sys.nframe() [13:14:03.032] ...future.conditions <- base::list() [13:14:03.032] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.032] if (FALSE) { [13:14:03.032] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.032] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.032] } [13:14:03.032] ...future.result <- base::tryCatch({ [13:14:03.032] base::withCallingHandlers({ [13:14:03.032] ...future.value <- base::withVisible(base::local({ [13:14:03.032] do.call(function(...) { [13:14:03.032] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.032] if (!identical(...future.globals.maxSize.org, [13:14:03.032] ...future.globals.maxSize)) { [13:14:03.032] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.032] on.exit(options(oopts), add = TRUE) [13:14:03.032] } [13:14:03.032] { [13:14:03.032] lapply(seq_along(...future.elements_ii), [13:14:03.032] FUN = function(jj) { [13:14:03.032] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.032] ...future.FUN(...future.X_jj, ...) [13:14:03.032] }) [13:14:03.032] } [13:14:03.032] }, args = future.call.arguments) [13:14:03.032] })) [13:14:03.032] future::FutureResult(value = ...future.value$value, [13:14:03.032] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.032] ...future.rng), globalenv = if (FALSE) [13:14:03.032] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.032] ...future.globalenv.names)) [13:14:03.032] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.032] }, condition = base::local({ [13:14:03.032] c <- base::c [13:14:03.032] inherits <- base::inherits [13:14:03.032] invokeRestart <- base::invokeRestart [13:14:03.032] length <- base::length [13:14:03.032] list <- base::list [13:14:03.032] seq.int <- base::seq.int [13:14:03.032] signalCondition <- base::signalCondition [13:14:03.032] sys.calls <- base::sys.calls [13:14:03.032] `[[` <- base::`[[` [13:14:03.032] `+` <- base::`+` [13:14:03.032] `<<-` <- base::`<<-` [13:14:03.032] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.032] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.032] 3L)] [13:14:03.032] } [13:14:03.032] function(cond) { [13:14:03.032] is_error <- inherits(cond, "error") [13:14:03.032] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.032] NULL) [13:14:03.032] if (is_error) { [13:14:03.032] sessionInformation <- function() { [13:14:03.032] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.032] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.032] search = base::search(), system = base::Sys.info()) [13:14:03.032] } [13:14:03.032] ...future.conditions[[length(...future.conditions) + [13:14:03.032] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.032] cond$call), session = sessionInformation(), [13:14:03.032] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.032] signalCondition(cond) [13:14:03.032] } [13:14:03.032] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.032] "immediateCondition"))) { [13:14:03.032] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.032] ...future.conditions[[length(...future.conditions) + [13:14:03.032] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.032] if (TRUE && !signal) { [13:14:03.032] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.032] { [13:14:03.032] inherits <- base::inherits [13:14:03.032] invokeRestart <- base::invokeRestart [13:14:03.032] is.null <- base::is.null [13:14:03.032] muffled <- FALSE [13:14:03.032] if (inherits(cond, "message")) { [13:14:03.032] muffled <- grepl(pattern, "muffleMessage") [13:14:03.032] if (muffled) [13:14:03.032] invokeRestart("muffleMessage") [13:14:03.032] } [13:14:03.032] else if (inherits(cond, "warning")) { [13:14:03.032] muffled <- grepl(pattern, "muffleWarning") [13:14:03.032] if (muffled) [13:14:03.032] invokeRestart("muffleWarning") [13:14:03.032] } [13:14:03.032] else if (inherits(cond, "condition")) { [13:14:03.032] if (!is.null(pattern)) { [13:14:03.032] computeRestarts <- base::computeRestarts [13:14:03.032] grepl <- base::grepl [13:14:03.032] restarts <- computeRestarts(cond) [13:14:03.032] for (restart in restarts) { [13:14:03.032] name <- restart$name [13:14:03.032] if (is.null(name)) [13:14:03.032] next [13:14:03.032] if (!grepl(pattern, name)) [13:14:03.032] next [13:14:03.032] invokeRestart(restart) [13:14:03.032] muffled <- TRUE [13:14:03.032] break [13:14:03.032] } [13:14:03.032] } [13:14:03.032] } [13:14:03.032] invisible(muffled) [13:14:03.032] } [13:14:03.032] muffleCondition(cond, pattern = "^muffle") [13:14:03.032] } [13:14:03.032] } [13:14:03.032] else { [13:14:03.032] if (TRUE) { [13:14:03.032] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.032] { [13:14:03.032] inherits <- base::inherits [13:14:03.032] invokeRestart <- base::invokeRestart [13:14:03.032] is.null <- base::is.null [13:14:03.032] muffled <- FALSE [13:14:03.032] if (inherits(cond, "message")) { [13:14:03.032] muffled <- grepl(pattern, "muffleMessage") [13:14:03.032] if (muffled) [13:14:03.032] invokeRestart("muffleMessage") [13:14:03.032] } [13:14:03.032] else if (inherits(cond, "warning")) { [13:14:03.032] muffled <- grepl(pattern, "muffleWarning") [13:14:03.032] if (muffled) [13:14:03.032] invokeRestart("muffleWarning") [13:14:03.032] } [13:14:03.032] else if (inherits(cond, "condition")) { [13:14:03.032] if (!is.null(pattern)) { [13:14:03.032] computeRestarts <- base::computeRestarts [13:14:03.032] grepl <- base::grepl [13:14:03.032] restarts <- computeRestarts(cond) [13:14:03.032] for (restart in restarts) { [13:14:03.032] name <- restart$name [13:14:03.032] if (is.null(name)) [13:14:03.032] next [13:14:03.032] if (!grepl(pattern, name)) [13:14:03.032] next [13:14:03.032] invokeRestart(restart) [13:14:03.032] muffled <- TRUE [13:14:03.032] break [13:14:03.032] } [13:14:03.032] } [13:14:03.032] } [13:14:03.032] invisible(muffled) [13:14:03.032] } [13:14:03.032] muffleCondition(cond, pattern = "^muffle") [13:14:03.032] } [13:14:03.032] } [13:14:03.032] } [13:14:03.032] })) [13:14:03.032] }, error = function(ex) { [13:14:03.032] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.032] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.032] ...future.rng), started = ...future.startTime, [13:14:03.032] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.032] version = "1.8"), class = "FutureResult") [13:14:03.032] }, finally = { [13:14:03.032] if (!identical(...future.workdir, getwd())) [13:14:03.032] setwd(...future.workdir) [13:14:03.032] { [13:14:03.032] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.032] ...future.oldOptions$nwarnings <- NULL [13:14:03.032] } [13:14:03.032] base::options(...future.oldOptions) [13:14:03.032] if (.Platform$OS.type == "windows") { [13:14:03.032] old_names <- names(...future.oldEnvVars) [13:14:03.032] envs <- base::Sys.getenv() [13:14:03.032] names <- names(envs) [13:14:03.032] common <- intersect(names, old_names) [13:14:03.032] added <- setdiff(names, old_names) [13:14:03.032] removed <- setdiff(old_names, names) [13:14:03.032] changed <- common[...future.oldEnvVars[common] != [13:14:03.032] envs[common]] [13:14:03.032] NAMES <- toupper(changed) [13:14:03.032] args <- list() [13:14:03.032] for (kk in seq_along(NAMES)) { [13:14:03.032] name <- changed[[kk]] [13:14:03.032] NAME <- NAMES[[kk]] [13:14:03.032] if (name != NAME && is.element(NAME, old_names)) [13:14:03.032] next [13:14:03.032] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.032] } [13:14:03.032] NAMES <- toupper(added) [13:14:03.032] for (kk in seq_along(NAMES)) { [13:14:03.032] name <- added[[kk]] [13:14:03.032] NAME <- NAMES[[kk]] [13:14:03.032] if (name != NAME && is.element(NAME, old_names)) [13:14:03.032] next [13:14:03.032] args[[name]] <- "" [13:14:03.032] } [13:14:03.032] NAMES <- toupper(removed) [13:14:03.032] for (kk in seq_along(NAMES)) { [13:14:03.032] name <- removed[[kk]] [13:14:03.032] NAME <- NAMES[[kk]] [13:14:03.032] if (name != NAME && is.element(NAME, old_names)) [13:14:03.032] next [13:14:03.032] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.032] } [13:14:03.032] if (length(args) > 0) [13:14:03.032] base::do.call(base::Sys.setenv, args = args) [13:14:03.032] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.032] } [13:14:03.032] else { [13:14:03.032] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.032] } [13:14:03.032] { [13:14:03.032] if (base::length(...future.futureOptionsAdded) > [13:14:03.032] 0L) { [13:14:03.032] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.032] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.032] base::options(opts) [13:14:03.032] } [13:14:03.032] { [13:14:03.032] { [13:14:03.032] NULL [13:14:03.032] RNGkind("Mersenne-Twister") [13:14:03.032] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.032] inherits = FALSE) [13:14:03.032] } [13:14:03.032] options(future.plan = NULL) [13:14:03.032] if (is.na(NA_character_)) [13:14:03.032] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.032] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.032] future::plan(list(function (..., envir = parent.frame()) [13:14:03.032] { [13:14:03.032] future <- SequentialFuture(..., envir = envir) [13:14:03.032] if (!future$lazy) [13:14:03.032] future <- run(future) [13:14:03.032] invisible(future) [13:14:03.032] }), .cleanup = FALSE, .init = FALSE) [13:14:03.032] } [13:14:03.032] } [13:14:03.032] } [13:14:03.032] }) [13:14:03.032] if (TRUE) { [13:14:03.032] base::sink(type = "output", split = FALSE) [13:14:03.032] if (TRUE) { [13:14:03.032] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.032] } [13:14:03.032] else { [13:14:03.032] ...future.result["stdout"] <- base::list(NULL) [13:14:03.032] } [13:14:03.032] base::close(...future.stdout) [13:14:03.032] ...future.stdout <- NULL [13:14:03.032] } [13:14:03.032] ...future.result$conditions <- ...future.conditions [13:14:03.032] ...future.result$finished <- base::Sys.time() [13:14:03.032] ...future.result [13:14:03.032] } [13:14:03.035] assign_globals() ... [13:14:03.035] List of 5 [13:14:03.035] $ ...future.FUN :function (x) [13:14:03.035] $ future.call.arguments : list() [13:14:03.035] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.035] $ ...future.elements_ii :List of 4 [13:14:03.035] ..$ A: num 50 [13:14:03.035] ..$ B: num 60 [13:14:03.035] ..$ C: num 70 [13:14:03.035] ..$ D: num 80 [13:14:03.035] $ ...future.seeds_ii : NULL [13:14:03.035] $ ...future.globals.maxSize: NULL [13:14:03.035] - attr(*, "where")=List of 5 [13:14:03.035] ..$ ...future.FUN : [13:14:03.035] ..$ future.call.arguments : [13:14:03.035] ..$ ...future.elements_ii : [13:14:03.035] ..$ ...future.seeds_ii : [13:14:03.035] ..$ ...future.globals.maxSize: [13:14:03.035] - attr(*, "resolved")= logi FALSE [13:14:03.035] - attr(*, "total_size")= num 848 [13:14:03.035] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.035] - attr(*, "already-done")= logi TRUE [13:14:03.041] - copied '...future.FUN' to environment [13:14:03.041] - copied 'future.call.arguments' to environment [13:14:03.041] - copied '...future.elements_ii' to environment [13:14:03.041] - copied '...future.seeds_ii' to environment [13:14:03.042] - copied '...future.globals.maxSize' to environment [13:14:03.042] assign_globals() ... done [13:14:03.042] plan(): Setting new future strategy stack: [13:14:03.042] List of future strategies: [13:14:03.042] 1. sequential: [13:14:03.042] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.042] - tweaked: FALSE [13:14:03.042] - call: NULL [13:14:03.043] plan(): nbrOfWorkers() = 1 [13:14:03.044] plan(): Setting new future strategy stack: [13:14:03.044] List of future strategies: [13:14:03.044] 1. sequential: [13:14:03.044] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.044] - tweaked: FALSE [13:14:03.044] - call: plan(strategy) [13:14:03.044] plan(): nbrOfWorkers() = 1 [13:14:03.045] SequentialFuture started (and completed) [13:14:03.045] - Launch lazy future ... done [13:14:03.045] run() for 'SequentialFuture' ... done [13:14:03.045] Created future: [13:14:03.045] SequentialFuture: [13:14:03.045] Label: 'future_sapply-1' [13:14:03.045] Expression: [13:14:03.045] { [13:14:03.045] do.call(function(...) { [13:14:03.045] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.045] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.045] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.045] on.exit(options(oopts), add = TRUE) [13:14:03.045] } [13:14:03.045] { [13:14:03.045] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.045] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.045] ...future.FUN(...future.X_jj, ...) [13:14:03.045] }) [13:14:03.045] } [13:14:03.045] }, args = future.call.arguments) [13:14:03.045] } [13:14:03.045] Lazy evaluation: FALSE [13:14:03.045] Asynchronous evaluation: FALSE [13:14:03.045] Local evaluation: TRUE [13:14:03.045] Environment: R_GlobalEnv [13:14:03.045] Capture standard output: TRUE [13:14:03.045] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.045] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.045] Packages: [13:14:03.045] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.045] Resolved: TRUE [13:14:03.045] Value: 224 bytes of class 'list' [13:14:03.045] Early signaling: FALSE [13:14:03.045] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.045] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.046] Chunk #1 of 1 ... DONE [13:14:03.046] Launching 1 futures (chunks) ... DONE [13:14:03.046] Resolving 1 futures (chunks) ... [13:14:03.046] resolve() on list ... [13:14:03.047] recursive: 0 [13:14:03.047] length: 1 [13:14:03.047] [13:14:03.047] resolved() for 'SequentialFuture' ... [13:14:03.047] - state: 'finished' [13:14:03.047] - run: TRUE [13:14:03.047] - result: 'FutureResult' [13:14:03.047] resolved() for 'SequentialFuture' ... done [13:14:03.048] Future #1 [13:14:03.048] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.048] - nx: 1 [13:14:03.048] - relay: TRUE [13:14:03.048] - stdout: TRUE [13:14:03.048] - signal: TRUE [13:14:03.048] - resignal: FALSE [13:14:03.048] - force: TRUE [13:14:03.049] - relayed: [n=1] FALSE [13:14:03.049] - queued futures: [n=1] FALSE [13:14:03.049] - until=1 [13:14:03.049] - relaying element #1 [13:14:03.049] - relayed: [n=1] TRUE [13:14:03.049] - queued futures: [n=1] TRUE [13:14:03.049] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.049] length: 0 (resolved future 1) [13:14:03.050] Relaying remaining futures [13:14:03.050] signalConditionsASAP(NULL, pos=0) ... [13:14:03.050] - nx: 1 [13:14:03.050] - relay: TRUE [13:14:03.050] - stdout: TRUE [13:14:03.050] - signal: TRUE [13:14:03.050] - resignal: FALSE [13:14:03.050] - force: TRUE [13:14:03.050] - relayed: [n=1] TRUE [13:14:03.050] - queued futures: [n=1] TRUE - flush all [13:14:03.051] - relayed: [n=1] TRUE [13:14:03.051] - queued futures: [n=1] TRUE [13:14:03.051] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.051] resolve() on list ... DONE [13:14:03.051] - Number of value chunks collected: 1 [13:14:03.051] Resolving 1 futures (chunks) ... DONE [13:14:03.051] Reducing values from 1 chunks ... [13:14:03.051] - Number of values collected after concatenation: 4 [13:14:03.052] - Number of values expected: 4 [13:14:03.052] Reducing values from 1 chunks ... DONE [13:14:03.052] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y1:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y2:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 [13:14:03.057] future_lapply() ... [13:14:03.058] Number of chunks: 1 [13:14:03.058] getGlobalsAndPackagesXApply() ... [13:14:03.058] - future.globals: TRUE [13:14:03.058] getGlobalsAndPackages() ... [13:14:03.058] Searching for globals... [13:14:03.059] - globals found: [2] 'FUN', 'UseMethod' [13:14:03.059] Searching for globals ... DONE [13:14:03.060] Resolving globals: FALSE [13:14:03.060] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:03.060] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:03.060] - globals: [1] 'FUN' [13:14:03.060] [13:14:03.061] getGlobalsAndPackages() ... DONE [13:14:03.061] - globals found/used: [n=1] 'FUN' [13:14:03.061] - needed namespaces: [n=0] [13:14:03.061] Finding globals ... DONE [13:14:03.061] - use_args: TRUE [13:14:03.061] - Getting '...' globals ... [13:14:03.061] resolve() on list ... [13:14:03.062] recursive: 0 [13:14:03.062] length: 1 [13:14:03.062] elements: '...' [13:14:03.062] length: 0 (resolved future 1) [13:14:03.062] resolve() on list ... DONE [13:14:03.062] - '...' content: [n=0] [13:14:03.062] List of 1 [13:14:03.062] $ ...: list() [13:14:03.062] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.062] - attr(*, "where")=List of 1 [13:14:03.062] ..$ ...: [13:14:03.062] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.062] - attr(*, "resolved")= logi TRUE [13:14:03.062] - attr(*, "total_size")= num NA [13:14:03.064] - Getting '...' globals ... DONE [13:14:03.065] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.065] List of 2 [13:14:03.065] $ ...future.FUN:function (x, ...) [13:14:03.065] $ ... : list() [13:14:03.065] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.065] - attr(*, "where")=List of 2 [13:14:03.065] ..$ ...future.FUN: [13:14:03.065] ..$ ... : [13:14:03.065] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.065] - attr(*, "resolved")= logi FALSE [13:14:03.065] - attr(*, "total_size")= num 1248 [13:14:03.067] Packages to be attached in all futures: [n=0] [13:14:03.067] getGlobalsAndPackagesXApply() ... DONE [13:14:03.067] Number of futures (= number of chunks): 1 [13:14:03.067] Launching 1 futures (chunks) ... [13:14:03.068] Chunk #1 of 1 ... [13:14:03.068] - Finding globals in 'X' for chunk #1 ... [13:14:03.068] getGlobalsAndPackages() ... [13:14:03.068] Searching for globals... [13:14:03.068] [13:14:03.068] Searching for globals ... DONE [13:14:03.068] - globals: [0] [13:14:03.068] getGlobalsAndPackages() ... DONE [13:14:03.069] + additional globals found: [n=0] [13:14:03.069] + additional namespaces needed: [n=0] [13:14:03.069] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.069] - seeds: [13:14:03.069] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.069] getGlobalsAndPackages() ... [13:14:03.069] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.069] Resolving globals: FALSE [13:14:03.070] Tweak future expression to call with '...' arguments ... [13:14:03.070] { [13:14:03.070] do.call(function(...) { [13:14:03.070] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.070] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.070] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.070] on.exit(options(oopts), add = TRUE) [13:14:03.070] } [13:14:03.070] { [13:14:03.070] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.070] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.070] ...future.FUN(...future.X_jj, ...) [13:14:03.070] }) [13:14:03.070] } [13:14:03.070] }, args = future.call.arguments) [13:14:03.070] } [13:14:03.070] Tweak future expression to call with '...' arguments ... DONE [13:14:03.070] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.071] [13:14:03.071] getGlobalsAndPackages() ... DONE [13:14:03.071] run() for 'Future' ... [13:14:03.071] - state: 'created' [13:14:03.071] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.071] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.072] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.072] - Field: 'label' [13:14:03.072] - Field: 'local' [13:14:03.072] - Field: 'owner' [13:14:03.072] - Field: 'envir' [13:14:03.072] - Field: 'packages' [13:14:03.072] - Field: 'gc' [13:14:03.072] - Field: 'conditions' [13:14:03.073] - Field: 'expr' [13:14:03.073] - Field: 'uuid' [13:14:03.073] - Field: 'seed' [13:14:03.073] - Field: 'version' [13:14:03.073] - Field: 'result' [13:14:03.073] - Field: 'asynchronous' [13:14:03.073] - Field: 'calls' [13:14:03.073] - Field: 'globals' [13:14:03.074] - Field: 'stdout' [13:14:03.074] - Field: 'earlySignal' [13:14:03.074] - Field: 'lazy' [13:14:03.074] - Field: 'state' [13:14:03.074] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.074] - Launch lazy future ... [13:14:03.074] Packages needed by the future expression (n = 0): [13:14:03.074] Packages needed by future strategies (n = 0): [13:14:03.075] { [13:14:03.075] { [13:14:03.075] { [13:14:03.075] ...future.startTime <- base::Sys.time() [13:14:03.075] { [13:14:03.075] { [13:14:03.075] { [13:14:03.075] base::local({ [13:14:03.075] has_future <- base::requireNamespace("future", [13:14:03.075] quietly = TRUE) [13:14:03.075] if (has_future) { [13:14:03.075] ns <- base::getNamespace("future") [13:14:03.075] version <- ns[[".package"]][["version"]] [13:14:03.075] if (is.null(version)) [13:14:03.075] version <- utils::packageVersion("future") [13:14:03.075] } [13:14:03.075] else { [13:14:03.075] version <- NULL [13:14:03.075] } [13:14:03.075] if (!has_future || version < "1.8.0") { [13:14:03.075] info <- base::c(r_version = base::gsub("R version ", [13:14:03.075] "", base::R.version$version.string), [13:14:03.075] platform = base::sprintf("%s (%s-bit)", [13:14:03.075] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.075] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.075] "release", "version")], collapse = " "), [13:14:03.075] hostname = base::Sys.info()[["nodename"]]) [13:14:03.075] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.075] info) [13:14:03.075] info <- base::paste(info, collapse = "; ") [13:14:03.075] if (!has_future) { [13:14:03.075] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.075] info) [13:14:03.075] } [13:14:03.075] else { [13:14:03.075] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.075] info, version) [13:14:03.075] } [13:14:03.075] base::stop(msg) [13:14:03.075] } [13:14:03.075] }) [13:14:03.075] } [13:14:03.075] options(future.plan = NULL) [13:14:03.075] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.075] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.075] } [13:14:03.075] ...future.workdir <- getwd() [13:14:03.075] } [13:14:03.075] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.075] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.075] } [13:14:03.075] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.075] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.075] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.075] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.075] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.075] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.075] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.075] base::names(...future.oldOptions)) [13:14:03.075] } [13:14:03.075] if (FALSE) { [13:14:03.075] } [13:14:03.075] else { [13:14:03.075] if (TRUE) { [13:14:03.075] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.075] open = "w") [13:14:03.075] } [13:14:03.075] else { [13:14:03.075] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.075] windows = "NUL", "/dev/null"), open = "w") [13:14:03.075] } [13:14:03.075] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.075] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.075] base::sink(type = "output", split = FALSE) [13:14:03.075] base::close(...future.stdout) [13:14:03.075] }, add = TRUE) [13:14:03.075] } [13:14:03.075] ...future.frame <- base::sys.nframe() [13:14:03.075] ...future.conditions <- base::list() [13:14:03.075] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.075] if (FALSE) { [13:14:03.075] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.075] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.075] } [13:14:03.075] ...future.result <- base::tryCatch({ [13:14:03.075] base::withCallingHandlers({ [13:14:03.075] ...future.value <- base::withVisible(base::local({ [13:14:03.075] do.call(function(...) { [13:14:03.075] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.075] if (!identical(...future.globals.maxSize.org, [13:14:03.075] ...future.globals.maxSize)) { [13:14:03.075] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.075] on.exit(options(oopts), add = TRUE) [13:14:03.075] } [13:14:03.075] { [13:14:03.075] lapply(seq_along(...future.elements_ii), [13:14:03.075] FUN = function(jj) { [13:14:03.075] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.075] ...future.FUN(...future.X_jj, ...) [13:14:03.075] }) [13:14:03.075] } [13:14:03.075] }, args = future.call.arguments) [13:14:03.075] })) [13:14:03.075] future::FutureResult(value = ...future.value$value, [13:14:03.075] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.075] ...future.rng), globalenv = if (FALSE) [13:14:03.075] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.075] ...future.globalenv.names)) [13:14:03.075] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.075] }, condition = base::local({ [13:14:03.075] c <- base::c [13:14:03.075] inherits <- base::inherits [13:14:03.075] invokeRestart <- base::invokeRestart [13:14:03.075] length <- base::length [13:14:03.075] list <- base::list [13:14:03.075] seq.int <- base::seq.int [13:14:03.075] signalCondition <- base::signalCondition [13:14:03.075] sys.calls <- base::sys.calls [13:14:03.075] `[[` <- base::`[[` [13:14:03.075] `+` <- base::`+` [13:14:03.075] `<<-` <- base::`<<-` [13:14:03.075] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.075] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.075] 3L)] [13:14:03.075] } [13:14:03.075] function(cond) { [13:14:03.075] is_error <- inherits(cond, "error") [13:14:03.075] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.075] NULL) [13:14:03.075] if (is_error) { [13:14:03.075] sessionInformation <- function() { [13:14:03.075] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.075] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.075] search = base::search(), system = base::Sys.info()) [13:14:03.075] } [13:14:03.075] ...future.conditions[[length(...future.conditions) + [13:14:03.075] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.075] cond$call), session = sessionInformation(), [13:14:03.075] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.075] signalCondition(cond) [13:14:03.075] } [13:14:03.075] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.075] "immediateCondition"))) { [13:14:03.075] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.075] ...future.conditions[[length(...future.conditions) + [13:14:03.075] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.075] if (TRUE && !signal) { [13:14:03.075] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.075] { [13:14:03.075] inherits <- base::inherits [13:14:03.075] invokeRestart <- base::invokeRestart [13:14:03.075] is.null <- base::is.null [13:14:03.075] muffled <- FALSE [13:14:03.075] if (inherits(cond, "message")) { [13:14:03.075] muffled <- grepl(pattern, "muffleMessage") [13:14:03.075] if (muffled) [13:14:03.075] invokeRestart("muffleMessage") [13:14:03.075] } [13:14:03.075] else if (inherits(cond, "warning")) { [13:14:03.075] muffled <- grepl(pattern, "muffleWarning") [13:14:03.075] if (muffled) [13:14:03.075] invokeRestart("muffleWarning") [13:14:03.075] } [13:14:03.075] else if (inherits(cond, "condition")) { [13:14:03.075] if (!is.null(pattern)) { [13:14:03.075] computeRestarts <- base::computeRestarts [13:14:03.075] grepl <- base::grepl [13:14:03.075] restarts <- computeRestarts(cond) [13:14:03.075] for (restart in restarts) { [13:14:03.075] name <- restart$name [13:14:03.075] if (is.null(name)) [13:14:03.075] next [13:14:03.075] if (!grepl(pattern, name)) [13:14:03.075] next [13:14:03.075] invokeRestart(restart) [13:14:03.075] muffled <- TRUE [13:14:03.075] break [13:14:03.075] } [13:14:03.075] } [13:14:03.075] } [13:14:03.075] invisible(muffled) [13:14:03.075] } [13:14:03.075] muffleCondition(cond, pattern = "^muffle") [13:14:03.075] } [13:14:03.075] } [13:14:03.075] else { [13:14:03.075] if (TRUE) { [13:14:03.075] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.075] { [13:14:03.075] inherits <- base::inherits [13:14:03.075] invokeRestart <- base::invokeRestart [13:14:03.075] is.null <- base::is.null [13:14:03.075] muffled <- FALSE [13:14:03.075] if (inherits(cond, "message")) { [13:14:03.075] muffled <- grepl(pattern, "muffleMessage") [13:14:03.075] if (muffled) [13:14:03.075] invokeRestart("muffleMessage") [13:14:03.075] } [13:14:03.075] else if (inherits(cond, "warning")) { [13:14:03.075] muffled <- grepl(pattern, "muffleWarning") [13:14:03.075] if (muffled) [13:14:03.075] invokeRestart("muffleWarning") [13:14:03.075] } [13:14:03.075] else if (inherits(cond, "condition")) { [13:14:03.075] if (!is.null(pattern)) { [13:14:03.075] computeRestarts <- base::computeRestarts [13:14:03.075] grepl <- base::grepl [13:14:03.075] restarts <- computeRestarts(cond) [13:14:03.075] for (restart in restarts) { [13:14:03.075] name <- restart$name [13:14:03.075] if (is.null(name)) [13:14:03.075] next [13:14:03.075] if (!grepl(pattern, name)) [13:14:03.075] next [13:14:03.075] invokeRestart(restart) [13:14:03.075] muffled <- TRUE [13:14:03.075] break [13:14:03.075] } [13:14:03.075] } [13:14:03.075] } [13:14:03.075] invisible(muffled) [13:14:03.075] } [13:14:03.075] muffleCondition(cond, pattern = "^muffle") [13:14:03.075] } [13:14:03.075] } [13:14:03.075] } [13:14:03.075] })) [13:14:03.075] }, error = function(ex) { [13:14:03.075] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.075] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.075] ...future.rng), started = ...future.startTime, [13:14:03.075] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.075] version = "1.8"), class = "FutureResult") [13:14:03.075] }, finally = { [13:14:03.075] if (!identical(...future.workdir, getwd())) [13:14:03.075] setwd(...future.workdir) [13:14:03.075] { [13:14:03.075] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.075] ...future.oldOptions$nwarnings <- NULL [13:14:03.075] } [13:14:03.075] base::options(...future.oldOptions) [13:14:03.075] if (.Platform$OS.type == "windows") { [13:14:03.075] old_names <- names(...future.oldEnvVars) [13:14:03.075] envs <- base::Sys.getenv() [13:14:03.075] names <- names(envs) [13:14:03.075] common <- intersect(names, old_names) [13:14:03.075] added <- setdiff(names, old_names) [13:14:03.075] removed <- setdiff(old_names, names) [13:14:03.075] changed <- common[...future.oldEnvVars[common] != [13:14:03.075] envs[common]] [13:14:03.075] NAMES <- toupper(changed) [13:14:03.075] args <- list() [13:14:03.075] for (kk in seq_along(NAMES)) { [13:14:03.075] name <- changed[[kk]] [13:14:03.075] NAME <- NAMES[[kk]] [13:14:03.075] if (name != NAME && is.element(NAME, old_names)) [13:14:03.075] next [13:14:03.075] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.075] } [13:14:03.075] NAMES <- toupper(added) [13:14:03.075] for (kk in seq_along(NAMES)) { [13:14:03.075] name <- added[[kk]] [13:14:03.075] NAME <- NAMES[[kk]] [13:14:03.075] if (name != NAME && is.element(NAME, old_names)) [13:14:03.075] next [13:14:03.075] args[[name]] <- "" [13:14:03.075] } [13:14:03.075] NAMES <- toupper(removed) [13:14:03.075] for (kk in seq_along(NAMES)) { [13:14:03.075] name <- removed[[kk]] [13:14:03.075] NAME <- NAMES[[kk]] [13:14:03.075] if (name != NAME && is.element(NAME, old_names)) [13:14:03.075] next [13:14:03.075] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.075] } [13:14:03.075] if (length(args) > 0) [13:14:03.075] base::do.call(base::Sys.setenv, args = args) [13:14:03.075] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.075] } [13:14:03.075] else { [13:14:03.075] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.075] } [13:14:03.075] { [13:14:03.075] if (base::length(...future.futureOptionsAdded) > [13:14:03.075] 0L) { [13:14:03.075] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.075] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.075] base::options(opts) [13:14:03.075] } [13:14:03.075] { [13:14:03.075] { [13:14:03.075] NULL [13:14:03.075] RNGkind("Mersenne-Twister") [13:14:03.075] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.075] inherits = FALSE) [13:14:03.075] } [13:14:03.075] options(future.plan = NULL) [13:14:03.075] if (is.na(NA_character_)) [13:14:03.075] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.075] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.075] future::plan(list(function (..., envir = parent.frame()) [13:14:03.075] { [13:14:03.075] future <- SequentialFuture(..., envir = envir) [13:14:03.075] if (!future$lazy) [13:14:03.075] future <- run(future) [13:14:03.075] invisible(future) [13:14:03.075] }), .cleanup = FALSE, .init = FALSE) [13:14:03.075] } [13:14:03.075] } [13:14:03.075] } [13:14:03.075] }) [13:14:03.075] if (TRUE) { [13:14:03.075] base::sink(type = "output", split = FALSE) [13:14:03.075] if (TRUE) { [13:14:03.075] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.075] } [13:14:03.075] else { [13:14:03.075] ...future.result["stdout"] <- base::list(NULL) [13:14:03.075] } [13:14:03.075] base::close(...future.stdout) [13:14:03.075] ...future.stdout <- NULL [13:14:03.075] } [13:14:03.075] ...future.result$conditions <- ...future.conditions [13:14:03.075] ...future.result$finished <- base::Sys.time() [13:14:03.075] ...future.result [13:14:03.075] } [13:14:03.078] assign_globals() ... [13:14:03.078] List of 5 [13:14:03.078] $ ...future.FUN :function (x, ...) [13:14:03.078] $ future.call.arguments : list() [13:14:03.078] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.078] $ ...future.elements_ii :List of 4 [13:14:03.078] ..$ A: num 50 [13:14:03.078] ..$ B: num 60 [13:14:03.078] ..$ C: num 70 [13:14:03.078] ..$ D: num 80 [13:14:03.078] $ ...future.seeds_ii : NULL [13:14:03.078] $ ...future.globals.maxSize: NULL [13:14:03.078] - attr(*, "where")=List of 5 [13:14:03.078] ..$ ...future.FUN : [13:14:03.078] ..$ future.call.arguments : [13:14:03.078] ..$ ...future.elements_ii : [13:14:03.078] ..$ ...future.seeds_ii : [13:14:03.078] ..$ ...future.globals.maxSize: [13:14:03.078] - attr(*, "resolved")= logi FALSE [13:14:03.078] - attr(*, "total_size")= num 1248 [13:14:03.078] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.078] - attr(*, "already-done")= logi TRUE [13:14:03.083] - copied '...future.FUN' to environment [13:14:03.083] - copied 'future.call.arguments' to environment [13:14:03.083] - copied '...future.elements_ii' to environment [13:14:03.083] - copied '...future.seeds_ii' to environment [13:14:03.083] - copied '...future.globals.maxSize' to environment [13:14:03.083] assign_globals() ... done [13:14:03.084] plan(): Setting new future strategy stack: [13:14:03.084] List of future strategies: [13:14:03.084] 1. sequential: [13:14:03.084] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.084] - tweaked: FALSE [13:14:03.084] - call: NULL [13:14:03.084] plan(): nbrOfWorkers() = 1 [13:14:03.085] plan(): Setting new future strategy stack: [13:14:03.085] List of future strategies: [13:14:03.085] 1. sequential: [13:14:03.085] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.085] - tweaked: FALSE [13:14:03.085] - call: plan(strategy) [13:14:03.086] plan(): nbrOfWorkers() = 1 [13:14:03.086] SequentialFuture started (and completed) [13:14:03.086] - Launch lazy future ... done [13:14:03.086] run() for 'SequentialFuture' ... done [13:14:03.086] Created future: [13:14:03.086] SequentialFuture: [13:14:03.086] Label: 'future_sapply-1' [13:14:03.086] Expression: [13:14:03.086] { [13:14:03.086] do.call(function(...) { [13:14:03.086] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.086] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.086] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.086] on.exit(options(oopts), add = TRUE) [13:14:03.086] } [13:14:03.086] { [13:14:03.086] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.086] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.086] ...future.FUN(...future.X_jj, ...) [13:14:03.086] }) [13:14:03.086] } [13:14:03.086] }, args = future.call.arguments) [13:14:03.086] } [13:14:03.086] Lazy evaluation: FALSE [13:14:03.086] Asynchronous evaluation: FALSE [13:14:03.086] Local evaluation: TRUE [13:14:03.086] Environment: R_GlobalEnv [13:14:03.086] Capture standard output: TRUE [13:14:03.086] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.086] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.086] Packages: [13:14:03.086] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.086] Resolved: TRUE [13:14:03.086] Value: 896 bytes of class 'list' [13:14:03.086] Early signaling: FALSE [13:14:03.086] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.086] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.087] Chunk #1 of 1 ... DONE [13:14:03.087] Launching 1 futures (chunks) ... DONE [13:14:03.087] Resolving 1 futures (chunks) ... [13:14:03.088] resolve() on list ... [13:14:03.088] recursive: 0 [13:14:03.088] length: 1 [13:14:03.088] [13:14:03.088] resolved() for 'SequentialFuture' ... [13:14:03.088] - state: 'finished' [13:14:03.088] - run: TRUE [13:14:03.088] - result: 'FutureResult' [13:14:03.088] resolved() for 'SequentialFuture' ... done [13:14:03.089] Future #1 [13:14:03.089] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.089] - nx: 1 [13:14:03.089] - relay: TRUE [13:14:03.089] - stdout: TRUE [13:14:03.089] - signal: TRUE [13:14:03.089] - resignal: FALSE [13:14:03.089] - force: TRUE [13:14:03.090] - relayed: [n=1] FALSE [13:14:03.091] - queued futures: [n=1] FALSE [13:14:03.092] - until=1 [13:14:03.092] - relaying element #1 [13:14:03.092] - relayed: [n=1] TRUE [13:14:03.092] - queued futures: [n=1] TRUE [13:14:03.092] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.092] length: 0 (resolved future 1) [13:14:03.093] Relaying remaining futures [13:14:03.093] signalConditionsASAP(NULL, pos=0) ... [13:14:03.093] - nx: 1 [13:14:03.093] - relay: TRUE [13:14:03.093] - stdout: TRUE [13:14:03.093] - signal: TRUE [13:14:03.093] - resignal: FALSE [13:14:03.093] - force: TRUE [13:14:03.093] - relayed: [n=1] TRUE [13:14:03.094] - queued futures: [n=1] TRUE - flush all [13:14:03.094] - relayed: [n=1] TRUE [13:14:03.094] - queued futures: [n=1] TRUE [13:14:03.094] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.094] resolve() on list ... DONE [13:14:03.094] - Number of value chunks collected: 1 [13:14:03.094] Resolving 1 futures (chunks) ... DONE [13:14:03.094] Reducing values from 1 chunks ... [13:14:03.095] - Number of values collected after concatenation: 4 [13:14:03.095] - Number of values expected: 4 [13:14:03.095] Reducing values from 1 chunks ... DONE [13:14:03.095] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y1:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y2:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 [13:14:03.102] future_lapply() ... [13:14:03.103] Number of chunks: 1 [13:14:03.103] getGlobalsAndPackagesXApply() ... [13:14:03.103] - future.globals: TRUE [13:14:03.103] getGlobalsAndPackages() ... [13:14:03.103] Searching for globals... [13:14:03.105] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:03.105] Searching for globals ... DONE [13:14:03.105] Resolving globals: FALSE [13:14:03.105] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:03.106] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:03.106] - globals: [1] 'FUN' [13:14:03.106] [13:14:03.106] getGlobalsAndPackages() ... DONE [13:14:03.106] - globals found/used: [n=1] 'FUN' [13:14:03.106] - needed namespaces: [n=0] [13:14:03.107] Finding globals ... DONE [13:14:03.107] - use_args: TRUE [13:14:03.107] - Getting '...' globals ... [13:14:03.107] resolve() on list ... [13:14:03.107] recursive: 0 [13:14:03.107] length: 1 [13:14:03.108] elements: '...' [13:14:03.108] length: 0 (resolved future 1) [13:14:03.108] resolve() on list ... DONE [13:14:03.108] - '...' content: [n=0] [13:14:03.108] List of 1 [13:14:03.108] $ ...: list() [13:14:03.108] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.108] - attr(*, "where")=List of 1 [13:14:03.108] ..$ ...: [13:14:03.108] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.108] - attr(*, "resolved")= logi TRUE [13:14:03.108] - attr(*, "total_size")= num NA [13:14:03.111] - Getting '...' globals ... DONE [13:14:03.111] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.111] List of 2 [13:14:03.111] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:03.111] $ ... : list() [13:14:03.111] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.111] - attr(*, "where")=List of 2 [13:14:03.111] ..$ ...future.FUN: [13:14:03.111] ..$ ... : [13:14:03.111] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.111] - attr(*, "resolved")= logi FALSE [13:14:03.111] - attr(*, "total_size")= num 4728 [13:14:03.114] Packages to be attached in all futures: [n=0] [13:14:03.114] getGlobalsAndPackagesXApply() ... DONE [13:14:03.114] Number of futures (= number of chunks): 1 [13:14:03.114] Launching 1 futures (chunks) ... [13:14:03.115] Chunk #1 of 1 ... [13:14:03.115] - Finding globals in 'X' for chunk #1 ... [13:14:03.115] getGlobalsAndPackages() ... [13:14:03.115] Searching for globals... [13:14:03.115] [13:14:03.115] Searching for globals ... DONE [13:14:03.115] - globals: [0] [13:14:03.116] getGlobalsAndPackages() ... DONE [13:14:03.116] + additional globals found: [n=0] [13:14:03.116] + additional namespaces needed: [n=0] [13:14:03.116] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.116] - seeds: [13:14:03.116] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.116] getGlobalsAndPackages() ... [13:14:03.117] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.117] Resolving globals: FALSE [13:14:03.117] Tweak future expression to call with '...' arguments ... [13:14:03.117] { [13:14:03.117] do.call(function(...) { [13:14:03.117] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.117] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.117] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.117] on.exit(options(oopts), add = TRUE) [13:14:03.117] } [13:14:03.117] { [13:14:03.117] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.117] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.117] ...future.FUN(...future.X_jj, ...) [13:14:03.117] }) [13:14:03.117] } [13:14:03.117] }, args = future.call.arguments) [13:14:03.117] } [13:14:03.117] Tweak future expression to call with '...' arguments ... DONE [13:14:03.118] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.118] [13:14:03.118] getGlobalsAndPackages() ... DONE [13:14:03.118] run() for 'Future' ... [13:14:03.118] - state: 'created' [13:14:03.118] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.119] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.119] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.119] - Field: 'label' [13:14:03.119] - Field: 'local' [13:14:03.119] - Field: 'owner' [13:14:03.119] - Field: 'envir' [13:14:03.119] - Field: 'packages' [13:14:03.120] - Field: 'gc' [13:14:03.120] - Field: 'conditions' [13:14:03.120] - Field: 'expr' [13:14:03.120] - Field: 'uuid' [13:14:03.120] - Field: 'seed' [13:14:03.120] - Field: 'version' [13:14:03.120] - Field: 'result' [13:14:03.120] - Field: 'asynchronous' [13:14:03.121] - Field: 'calls' [13:14:03.121] - Field: 'globals' [13:14:03.121] - Field: 'stdout' [13:14:03.121] - Field: 'earlySignal' [13:14:03.121] - Field: 'lazy' [13:14:03.121] - Field: 'state' [13:14:03.121] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.121] - Launch lazy future ... [13:14:03.122] Packages needed by the future expression (n = 0): [13:14:03.122] Packages needed by future strategies (n = 0): [13:14:03.122] { [13:14:03.122] { [13:14:03.122] { [13:14:03.122] ...future.startTime <- base::Sys.time() [13:14:03.122] { [13:14:03.122] { [13:14:03.122] { [13:14:03.122] base::local({ [13:14:03.122] has_future <- base::requireNamespace("future", [13:14:03.122] quietly = TRUE) [13:14:03.122] if (has_future) { [13:14:03.122] ns <- base::getNamespace("future") [13:14:03.122] version <- ns[[".package"]][["version"]] [13:14:03.122] if (is.null(version)) [13:14:03.122] version <- utils::packageVersion("future") [13:14:03.122] } [13:14:03.122] else { [13:14:03.122] version <- NULL [13:14:03.122] } [13:14:03.122] if (!has_future || version < "1.8.0") { [13:14:03.122] info <- base::c(r_version = base::gsub("R version ", [13:14:03.122] "", base::R.version$version.string), [13:14:03.122] platform = base::sprintf("%s (%s-bit)", [13:14:03.122] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.122] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.122] "release", "version")], collapse = " "), [13:14:03.122] hostname = base::Sys.info()[["nodename"]]) [13:14:03.122] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.122] info) [13:14:03.122] info <- base::paste(info, collapse = "; ") [13:14:03.122] if (!has_future) { [13:14:03.122] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.122] info) [13:14:03.122] } [13:14:03.122] else { [13:14:03.122] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.122] info, version) [13:14:03.122] } [13:14:03.122] base::stop(msg) [13:14:03.122] } [13:14:03.122] }) [13:14:03.122] } [13:14:03.122] options(future.plan = NULL) [13:14:03.122] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.122] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.122] } [13:14:03.122] ...future.workdir <- getwd() [13:14:03.122] } [13:14:03.122] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.122] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.122] } [13:14:03.122] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.122] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.122] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.122] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.122] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.122] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.122] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.122] base::names(...future.oldOptions)) [13:14:03.122] } [13:14:03.122] if (FALSE) { [13:14:03.122] } [13:14:03.122] else { [13:14:03.122] if (TRUE) { [13:14:03.122] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.122] open = "w") [13:14:03.122] } [13:14:03.122] else { [13:14:03.122] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.122] windows = "NUL", "/dev/null"), open = "w") [13:14:03.122] } [13:14:03.122] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.122] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.122] base::sink(type = "output", split = FALSE) [13:14:03.122] base::close(...future.stdout) [13:14:03.122] }, add = TRUE) [13:14:03.122] } [13:14:03.122] ...future.frame <- base::sys.nframe() [13:14:03.122] ...future.conditions <- base::list() [13:14:03.122] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.122] if (FALSE) { [13:14:03.122] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.122] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.122] } [13:14:03.122] ...future.result <- base::tryCatch({ [13:14:03.122] base::withCallingHandlers({ [13:14:03.122] ...future.value <- base::withVisible(base::local({ [13:14:03.122] do.call(function(...) { [13:14:03.122] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.122] if (!identical(...future.globals.maxSize.org, [13:14:03.122] ...future.globals.maxSize)) { [13:14:03.122] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.122] on.exit(options(oopts), add = TRUE) [13:14:03.122] } [13:14:03.122] { [13:14:03.122] lapply(seq_along(...future.elements_ii), [13:14:03.122] FUN = function(jj) { [13:14:03.122] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.122] ...future.FUN(...future.X_jj, ...) [13:14:03.122] }) [13:14:03.122] } [13:14:03.122] }, args = future.call.arguments) [13:14:03.122] })) [13:14:03.122] future::FutureResult(value = ...future.value$value, [13:14:03.122] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.122] ...future.rng), globalenv = if (FALSE) [13:14:03.122] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.122] ...future.globalenv.names)) [13:14:03.122] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.122] }, condition = base::local({ [13:14:03.122] c <- base::c [13:14:03.122] inherits <- base::inherits [13:14:03.122] invokeRestart <- base::invokeRestart [13:14:03.122] length <- base::length [13:14:03.122] list <- base::list [13:14:03.122] seq.int <- base::seq.int [13:14:03.122] signalCondition <- base::signalCondition [13:14:03.122] sys.calls <- base::sys.calls [13:14:03.122] `[[` <- base::`[[` [13:14:03.122] `+` <- base::`+` [13:14:03.122] `<<-` <- base::`<<-` [13:14:03.122] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.122] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.122] 3L)] [13:14:03.122] } [13:14:03.122] function(cond) { [13:14:03.122] is_error <- inherits(cond, "error") [13:14:03.122] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.122] NULL) [13:14:03.122] if (is_error) { [13:14:03.122] sessionInformation <- function() { [13:14:03.122] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.122] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.122] search = base::search(), system = base::Sys.info()) [13:14:03.122] } [13:14:03.122] ...future.conditions[[length(...future.conditions) + [13:14:03.122] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.122] cond$call), session = sessionInformation(), [13:14:03.122] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.122] signalCondition(cond) [13:14:03.122] } [13:14:03.122] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.122] "immediateCondition"))) { [13:14:03.122] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.122] ...future.conditions[[length(...future.conditions) + [13:14:03.122] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.122] if (TRUE && !signal) { [13:14:03.122] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.122] { [13:14:03.122] inherits <- base::inherits [13:14:03.122] invokeRestart <- base::invokeRestart [13:14:03.122] is.null <- base::is.null [13:14:03.122] muffled <- FALSE [13:14:03.122] if (inherits(cond, "message")) { [13:14:03.122] muffled <- grepl(pattern, "muffleMessage") [13:14:03.122] if (muffled) [13:14:03.122] invokeRestart("muffleMessage") [13:14:03.122] } [13:14:03.122] else if (inherits(cond, "warning")) { [13:14:03.122] muffled <- grepl(pattern, "muffleWarning") [13:14:03.122] if (muffled) [13:14:03.122] invokeRestart("muffleWarning") [13:14:03.122] } [13:14:03.122] else if (inherits(cond, "condition")) { [13:14:03.122] if (!is.null(pattern)) { [13:14:03.122] computeRestarts <- base::computeRestarts [13:14:03.122] grepl <- base::grepl [13:14:03.122] restarts <- computeRestarts(cond) [13:14:03.122] for (restart in restarts) { [13:14:03.122] name <- restart$name [13:14:03.122] if (is.null(name)) [13:14:03.122] next [13:14:03.122] if (!grepl(pattern, name)) [13:14:03.122] next [13:14:03.122] invokeRestart(restart) [13:14:03.122] muffled <- TRUE [13:14:03.122] break [13:14:03.122] } [13:14:03.122] } [13:14:03.122] } [13:14:03.122] invisible(muffled) [13:14:03.122] } [13:14:03.122] muffleCondition(cond, pattern = "^muffle") [13:14:03.122] } [13:14:03.122] } [13:14:03.122] else { [13:14:03.122] if (TRUE) { [13:14:03.122] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.122] { [13:14:03.122] inherits <- base::inherits [13:14:03.122] invokeRestart <- base::invokeRestart [13:14:03.122] is.null <- base::is.null [13:14:03.122] muffled <- FALSE [13:14:03.122] if (inherits(cond, "message")) { [13:14:03.122] muffled <- grepl(pattern, "muffleMessage") [13:14:03.122] if (muffled) [13:14:03.122] invokeRestart("muffleMessage") [13:14:03.122] } [13:14:03.122] else if (inherits(cond, "warning")) { [13:14:03.122] muffled <- grepl(pattern, "muffleWarning") [13:14:03.122] if (muffled) [13:14:03.122] invokeRestart("muffleWarning") [13:14:03.122] } [13:14:03.122] else if (inherits(cond, "condition")) { [13:14:03.122] if (!is.null(pattern)) { [13:14:03.122] computeRestarts <- base::computeRestarts [13:14:03.122] grepl <- base::grepl [13:14:03.122] restarts <- computeRestarts(cond) [13:14:03.122] for (restart in restarts) { [13:14:03.122] name <- restart$name [13:14:03.122] if (is.null(name)) [13:14:03.122] next [13:14:03.122] if (!grepl(pattern, name)) [13:14:03.122] next [13:14:03.122] invokeRestart(restart) [13:14:03.122] muffled <- TRUE [13:14:03.122] break [13:14:03.122] } [13:14:03.122] } [13:14:03.122] } [13:14:03.122] invisible(muffled) [13:14:03.122] } [13:14:03.122] muffleCondition(cond, pattern = "^muffle") [13:14:03.122] } [13:14:03.122] } [13:14:03.122] } [13:14:03.122] })) [13:14:03.122] }, error = function(ex) { [13:14:03.122] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.122] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.122] ...future.rng), started = ...future.startTime, [13:14:03.122] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.122] version = "1.8"), class = "FutureResult") [13:14:03.122] }, finally = { [13:14:03.122] if (!identical(...future.workdir, getwd())) [13:14:03.122] setwd(...future.workdir) [13:14:03.122] { [13:14:03.122] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.122] ...future.oldOptions$nwarnings <- NULL [13:14:03.122] } [13:14:03.122] base::options(...future.oldOptions) [13:14:03.122] if (.Platform$OS.type == "windows") { [13:14:03.122] old_names <- names(...future.oldEnvVars) [13:14:03.122] envs <- base::Sys.getenv() [13:14:03.122] names <- names(envs) [13:14:03.122] common <- intersect(names, old_names) [13:14:03.122] added <- setdiff(names, old_names) [13:14:03.122] removed <- setdiff(old_names, names) [13:14:03.122] changed <- common[...future.oldEnvVars[common] != [13:14:03.122] envs[common]] [13:14:03.122] NAMES <- toupper(changed) [13:14:03.122] args <- list() [13:14:03.122] for (kk in seq_along(NAMES)) { [13:14:03.122] name <- changed[[kk]] [13:14:03.122] NAME <- NAMES[[kk]] [13:14:03.122] if (name != NAME && is.element(NAME, old_names)) [13:14:03.122] next [13:14:03.122] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.122] } [13:14:03.122] NAMES <- toupper(added) [13:14:03.122] for (kk in seq_along(NAMES)) { [13:14:03.122] name <- added[[kk]] [13:14:03.122] NAME <- NAMES[[kk]] [13:14:03.122] if (name != NAME && is.element(NAME, old_names)) [13:14:03.122] next [13:14:03.122] args[[name]] <- "" [13:14:03.122] } [13:14:03.122] NAMES <- toupper(removed) [13:14:03.122] for (kk in seq_along(NAMES)) { [13:14:03.122] name <- removed[[kk]] [13:14:03.122] NAME <- NAMES[[kk]] [13:14:03.122] if (name != NAME && is.element(NAME, old_names)) [13:14:03.122] next [13:14:03.122] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.122] } [13:14:03.122] if (length(args) > 0) [13:14:03.122] base::do.call(base::Sys.setenv, args = args) [13:14:03.122] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.122] } [13:14:03.122] else { [13:14:03.122] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.122] } [13:14:03.122] { [13:14:03.122] if (base::length(...future.futureOptionsAdded) > [13:14:03.122] 0L) { [13:14:03.122] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.122] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.122] base::options(opts) [13:14:03.122] } [13:14:03.122] { [13:14:03.122] { [13:14:03.122] NULL [13:14:03.122] RNGkind("Mersenne-Twister") [13:14:03.122] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.122] inherits = FALSE) [13:14:03.122] } [13:14:03.122] options(future.plan = NULL) [13:14:03.122] if (is.na(NA_character_)) [13:14:03.122] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.122] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.122] future::plan(list(function (..., envir = parent.frame()) [13:14:03.122] { [13:14:03.122] future <- SequentialFuture(..., envir = envir) [13:14:03.122] if (!future$lazy) [13:14:03.122] future <- run(future) [13:14:03.122] invisible(future) [13:14:03.122] }), .cleanup = FALSE, .init = FALSE) [13:14:03.122] } [13:14:03.122] } [13:14:03.122] } [13:14:03.122] }) [13:14:03.122] if (TRUE) { [13:14:03.122] base::sink(type = "output", split = FALSE) [13:14:03.122] if (TRUE) { [13:14:03.122] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.122] } [13:14:03.122] else { [13:14:03.122] ...future.result["stdout"] <- base::list(NULL) [13:14:03.122] } [13:14:03.122] base::close(...future.stdout) [13:14:03.122] ...future.stdout <- NULL [13:14:03.122] } [13:14:03.122] ...future.result$conditions <- ...future.conditions [13:14:03.122] ...future.result$finished <- base::Sys.time() [13:14:03.122] ...future.result [13:14:03.122] } [13:14:03.125] assign_globals() ... [13:14:03.125] List of 5 [13:14:03.125] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:03.125] $ future.call.arguments : list() [13:14:03.125] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.125] $ ...future.elements_ii :List of 4 [13:14:03.125] ..$ A: num 50 [13:14:03.125] ..$ B: num 60 [13:14:03.125] ..$ C: num 70 [13:14:03.125] ..$ D: num 80 [13:14:03.125] $ ...future.seeds_ii : NULL [13:14:03.125] $ ...future.globals.maxSize: NULL [13:14:03.125] - attr(*, "where")=List of 5 [13:14:03.125] ..$ ...future.FUN : [13:14:03.125] ..$ future.call.arguments : [13:14:03.125] ..$ ...future.elements_ii : [13:14:03.125] ..$ ...future.seeds_ii : [13:14:03.125] ..$ ...future.globals.maxSize: [13:14:03.125] - attr(*, "resolved")= logi FALSE [13:14:03.125] - attr(*, "total_size")= num 4728 [13:14:03.125] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.125] - attr(*, "already-done")= logi TRUE [13:14:03.130] - reassign environment for '...future.FUN' [13:14:03.130] - copied '...future.FUN' to environment [13:14:03.130] - copied 'future.call.arguments' to environment [13:14:03.130] - copied '...future.elements_ii' to environment [13:14:03.130] - copied '...future.seeds_ii' to environment [13:14:03.130] - copied '...future.globals.maxSize' to environment [13:14:03.131] assign_globals() ... done [13:14:03.131] plan(): Setting new future strategy stack: [13:14:03.131] List of future strategies: [13:14:03.131] 1. sequential: [13:14:03.131] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.131] - tweaked: FALSE [13:14:03.131] - call: NULL [13:14:03.131] plan(): nbrOfWorkers() = 1 [13:14:03.132] plan(): Setting new future strategy stack: [13:14:03.132] List of future strategies: [13:14:03.132] 1. sequential: [13:14:03.132] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.132] - tweaked: FALSE [13:14:03.132] - call: plan(strategy) [13:14:03.133] plan(): nbrOfWorkers() = 1 [13:14:03.133] SequentialFuture started (and completed) [13:14:03.133] - Launch lazy future ... done [13:14:03.133] run() for 'SequentialFuture' ... done [13:14:03.133] Created future: [13:14:03.133] SequentialFuture: [13:14:03.133] Label: 'future_sapply-1' [13:14:03.133] Expression: [13:14:03.133] { [13:14:03.133] do.call(function(...) { [13:14:03.133] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.133] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.133] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.133] on.exit(options(oopts), add = TRUE) [13:14:03.133] } [13:14:03.133] { [13:14:03.133] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.133] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.133] ...future.FUN(...future.X_jj, ...) [13:14:03.133] }) [13:14:03.133] } [13:14:03.133] }, args = future.call.arguments) [13:14:03.133] } [13:14:03.133] Lazy evaluation: FALSE [13:14:03.133] Asynchronous evaluation: FALSE [13:14:03.133] Local evaluation: TRUE [13:14:03.133] Environment: R_GlobalEnv [13:14:03.133] Capture standard output: TRUE [13:14:03.133] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.133] Globals: 5 objects totaling 4.84 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.133] Packages: [13:14:03.133] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.133] Resolved: TRUE [13:14:03.133] Value: 1.34 KiB of class 'list' [13:14:03.133] Early signaling: FALSE [13:14:03.133] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.133] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.134] Chunk #1 of 1 ... DONE [13:14:03.135] Launching 1 futures (chunks) ... DONE [13:14:03.135] Resolving 1 futures (chunks) ... [13:14:03.135] resolve() on list ... [13:14:03.135] recursive: 0 [13:14:03.135] length: 1 [13:14:03.135] [13:14:03.135] resolved() for 'SequentialFuture' ... [13:14:03.135] - state: 'finished' [13:14:03.136] - run: TRUE [13:14:03.136] - result: 'FutureResult' [13:14:03.136] resolved() for 'SequentialFuture' ... done [13:14:03.136] Future #1 [13:14:03.136] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.136] - nx: 1 [13:14:03.136] - relay: TRUE [13:14:03.136] - stdout: TRUE [13:14:03.136] - signal: TRUE [13:14:03.137] - resignal: FALSE [13:14:03.137] - force: TRUE [13:14:03.137] - relayed: [n=1] FALSE [13:14:03.137] - queued futures: [n=1] FALSE [13:14:03.137] - until=1 [13:14:03.137] - relaying element #1 [13:14:03.137] - relayed: [n=1] TRUE [13:14:03.137] - queued futures: [n=1] TRUE [13:14:03.138] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.138] length: 0 (resolved future 1) [13:14:03.138] Relaying remaining futures [13:14:03.138] signalConditionsASAP(NULL, pos=0) ... [13:14:03.138] - nx: 1 [13:14:03.138] - relay: TRUE [13:14:03.138] - stdout: TRUE [13:14:03.138] - signal: TRUE [13:14:03.138] - resignal: FALSE [13:14:03.139] - force: TRUE [13:14:03.139] - relayed: [n=1] TRUE [13:14:03.139] - queued futures: [n=1] TRUE - flush all [13:14:03.139] - relayed: [n=1] TRUE [13:14:03.139] - queued futures: [n=1] TRUE [13:14:03.139] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.139] resolve() on list ... DONE [13:14:03.139] - Number of value chunks collected: 1 [13:14:03.140] Resolving 1 futures (chunks) ... DONE [13:14:03.140] Reducing values from 1 chunks ... [13:14:03.140] - Number of values collected after concatenation: 4 [13:14:03.140] - Number of values expected: 4 [13:14:03.140] Reducing values from 1 chunks ... DONE [13:14:03.140] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y1:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y2:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... [13:14:03.147] future_lapply() ... [13:14:03.147] Number of chunks: 1 [13:14:03.147] getGlobalsAndPackagesXApply() ... [13:14:03.147] - future.globals: TRUE [13:14:03.147] getGlobalsAndPackages() ... [13:14:03.148] Searching for globals... [13:14:03.148] - globals found: [1] 'FUN' [13:14:03.149] Searching for globals ... DONE [13:14:03.149] Resolving globals: FALSE [13:14:03.149] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:03.149] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:03.149] - globals: [1] 'FUN' [13:14:03.149] [13:14:03.150] getGlobalsAndPackages() ... DONE [13:14:03.150] - globals found/used: [n=1] 'FUN' [13:14:03.150] - needed namespaces: [n=0] [13:14:03.150] Finding globals ... DONE [13:14:03.150] - use_args: TRUE [13:14:03.150] - Getting '...' globals ... [13:14:03.150] resolve() on list ... [13:14:03.151] recursive: 0 [13:14:03.151] length: 1 [13:14:03.151] elements: '...' [13:14:03.151] length: 0 (resolved future 1) [13:14:03.151] resolve() on list ... DONE [13:14:03.151] - '...' content: [n=0] [13:14:03.151] List of 1 [13:14:03.151] $ ...: list() [13:14:03.151] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.151] - attr(*, "where")=List of 1 [13:14:03.151] ..$ ...: [13:14:03.151] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.151] - attr(*, "resolved")= logi TRUE [13:14:03.151] - attr(*, "total_size")= num NA [13:14:03.153] - Getting '...' globals ... DONE [13:14:03.154] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.154] List of 2 [13:14:03.154] $ ...future.FUN:function (x) [13:14:03.154] $ ... : list() [13:14:03.154] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.154] - attr(*, "where")=List of 2 [13:14:03.154] ..$ ...future.FUN: [13:14:03.154] ..$ ... : [13:14:03.154] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.154] - attr(*, "resolved")= logi FALSE [13:14:03.154] - attr(*, "total_size")= num 848 [13:14:03.156] Packages to be attached in all futures: [n=0] [13:14:03.156] getGlobalsAndPackagesXApply() ... DONE [13:14:03.156] Number of futures (= number of chunks): 1 [13:14:03.157] Launching 1 futures (chunks) ... [13:14:03.157] Chunk #1 of 1 ... [13:14:03.157] - Finding globals in 'X' for chunk #1 ... [13:14:03.157] getGlobalsAndPackages() ... [13:14:03.157] Searching for globals... [13:14:03.157] [13:14:03.157] Searching for globals ... DONE [13:14:03.157] - globals: [0] [13:14:03.158] getGlobalsAndPackages() ... DONE [13:14:03.158] + additional globals found: [n=0] [13:14:03.158] + additional namespaces needed: [n=0] [13:14:03.158] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.158] - seeds: [13:14:03.158] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.158] getGlobalsAndPackages() ... [13:14:03.158] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.159] Resolving globals: FALSE [13:14:03.159] Tweak future expression to call with '...' arguments ... [13:14:03.159] { [13:14:03.159] do.call(function(...) { [13:14:03.159] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.159] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.159] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.159] on.exit(options(oopts), add = TRUE) [13:14:03.159] } [13:14:03.159] { [13:14:03.159] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.159] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.159] ...future.FUN(...future.X_jj, ...) [13:14:03.159] }) [13:14:03.159] } [13:14:03.159] }, args = future.call.arguments) [13:14:03.159] } [13:14:03.159] Tweak future expression to call with '...' arguments ... DONE [13:14:03.160] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.160] [13:14:03.160] getGlobalsAndPackages() ... DONE [13:14:03.160] run() for 'Future' ... [13:14:03.160] - state: 'created' [13:14:03.160] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.161] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.161] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.161] - Field: 'label' [13:14:03.161] - Field: 'local' [13:14:03.161] - Field: 'owner' [13:14:03.161] - Field: 'envir' [13:14:03.161] - Field: 'packages' [13:14:03.161] - Field: 'gc' [13:14:03.162] - Field: 'conditions' [13:14:03.162] - Field: 'expr' [13:14:03.162] - Field: 'uuid' [13:14:03.162] - Field: 'seed' [13:14:03.162] - Field: 'version' [13:14:03.162] - Field: 'result' [13:14:03.162] - Field: 'asynchronous' [13:14:03.162] - Field: 'calls' [13:14:03.163] - Field: 'globals' [13:14:03.163] - Field: 'stdout' [13:14:03.163] - Field: 'earlySignal' [13:14:03.163] - Field: 'lazy' [13:14:03.163] - Field: 'state' [13:14:03.163] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.163] - Launch lazy future ... [13:14:03.164] Packages needed by the future expression (n = 0): [13:14:03.164] Packages needed by future strategies (n = 0): [13:14:03.164] { [13:14:03.164] { [13:14:03.164] { [13:14:03.164] ...future.startTime <- base::Sys.time() [13:14:03.164] { [13:14:03.164] { [13:14:03.164] { [13:14:03.164] base::local({ [13:14:03.164] has_future <- base::requireNamespace("future", [13:14:03.164] quietly = TRUE) [13:14:03.164] if (has_future) { [13:14:03.164] ns <- base::getNamespace("future") [13:14:03.164] version <- ns[[".package"]][["version"]] [13:14:03.164] if (is.null(version)) [13:14:03.164] version <- utils::packageVersion("future") [13:14:03.164] } [13:14:03.164] else { [13:14:03.164] version <- NULL [13:14:03.164] } [13:14:03.164] if (!has_future || version < "1.8.0") { [13:14:03.164] info <- base::c(r_version = base::gsub("R version ", [13:14:03.164] "", base::R.version$version.string), [13:14:03.164] platform = base::sprintf("%s (%s-bit)", [13:14:03.164] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.164] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.164] "release", "version")], collapse = " "), [13:14:03.164] hostname = base::Sys.info()[["nodename"]]) [13:14:03.164] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.164] info) [13:14:03.164] info <- base::paste(info, collapse = "; ") [13:14:03.164] if (!has_future) { [13:14:03.164] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.164] info) [13:14:03.164] } [13:14:03.164] else { [13:14:03.164] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.164] info, version) [13:14:03.164] } [13:14:03.164] base::stop(msg) [13:14:03.164] } [13:14:03.164] }) [13:14:03.164] } [13:14:03.164] options(future.plan = NULL) [13:14:03.164] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.164] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.164] } [13:14:03.164] ...future.workdir <- getwd() [13:14:03.164] } [13:14:03.164] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.164] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.164] } [13:14:03.164] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.164] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.164] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.164] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.164] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.164] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.164] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.164] base::names(...future.oldOptions)) [13:14:03.164] } [13:14:03.164] if (FALSE) { [13:14:03.164] } [13:14:03.164] else { [13:14:03.164] if (TRUE) { [13:14:03.164] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.164] open = "w") [13:14:03.164] } [13:14:03.164] else { [13:14:03.164] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.164] windows = "NUL", "/dev/null"), open = "w") [13:14:03.164] } [13:14:03.164] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.164] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.164] base::sink(type = "output", split = FALSE) [13:14:03.164] base::close(...future.stdout) [13:14:03.164] }, add = TRUE) [13:14:03.164] } [13:14:03.164] ...future.frame <- base::sys.nframe() [13:14:03.164] ...future.conditions <- base::list() [13:14:03.164] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.164] if (FALSE) { [13:14:03.164] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.164] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.164] } [13:14:03.164] ...future.result <- base::tryCatch({ [13:14:03.164] base::withCallingHandlers({ [13:14:03.164] ...future.value <- base::withVisible(base::local({ [13:14:03.164] do.call(function(...) { [13:14:03.164] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.164] if (!identical(...future.globals.maxSize.org, [13:14:03.164] ...future.globals.maxSize)) { [13:14:03.164] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.164] on.exit(options(oopts), add = TRUE) [13:14:03.164] } [13:14:03.164] { [13:14:03.164] lapply(seq_along(...future.elements_ii), [13:14:03.164] FUN = function(jj) { [13:14:03.164] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.164] ...future.FUN(...future.X_jj, ...) [13:14:03.164] }) [13:14:03.164] } [13:14:03.164] }, args = future.call.arguments) [13:14:03.164] })) [13:14:03.164] future::FutureResult(value = ...future.value$value, [13:14:03.164] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.164] ...future.rng), globalenv = if (FALSE) [13:14:03.164] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.164] ...future.globalenv.names)) [13:14:03.164] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.164] }, condition = base::local({ [13:14:03.164] c <- base::c [13:14:03.164] inherits <- base::inherits [13:14:03.164] invokeRestart <- base::invokeRestart [13:14:03.164] length <- base::length [13:14:03.164] list <- base::list [13:14:03.164] seq.int <- base::seq.int [13:14:03.164] signalCondition <- base::signalCondition [13:14:03.164] sys.calls <- base::sys.calls [13:14:03.164] `[[` <- base::`[[` [13:14:03.164] `+` <- base::`+` [13:14:03.164] `<<-` <- base::`<<-` [13:14:03.164] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.164] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.164] 3L)] [13:14:03.164] } [13:14:03.164] function(cond) { [13:14:03.164] is_error <- inherits(cond, "error") [13:14:03.164] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.164] NULL) [13:14:03.164] if (is_error) { [13:14:03.164] sessionInformation <- function() { [13:14:03.164] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.164] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.164] search = base::search(), system = base::Sys.info()) [13:14:03.164] } [13:14:03.164] ...future.conditions[[length(...future.conditions) + [13:14:03.164] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.164] cond$call), session = sessionInformation(), [13:14:03.164] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.164] signalCondition(cond) [13:14:03.164] } [13:14:03.164] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.164] "immediateCondition"))) { [13:14:03.164] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.164] ...future.conditions[[length(...future.conditions) + [13:14:03.164] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.164] if (TRUE && !signal) { [13:14:03.164] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.164] { [13:14:03.164] inherits <- base::inherits [13:14:03.164] invokeRestart <- base::invokeRestart [13:14:03.164] is.null <- base::is.null [13:14:03.164] muffled <- FALSE [13:14:03.164] if (inherits(cond, "message")) { [13:14:03.164] muffled <- grepl(pattern, "muffleMessage") [13:14:03.164] if (muffled) [13:14:03.164] invokeRestart("muffleMessage") [13:14:03.164] } [13:14:03.164] else if (inherits(cond, "warning")) { [13:14:03.164] muffled <- grepl(pattern, "muffleWarning") [13:14:03.164] if (muffled) [13:14:03.164] invokeRestart("muffleWarning") [13:14:03.164] } [13:14:03.164] else if (inherits(cond, "condition")) { [13:14:03.164] if (!is.null(pattern)) { [13:14:03.164] computeRestarts <- base::computeRestarts [13:14:03.164] grepl <- base::grepl [13:14:03.164] restarts <- computeRestarts(cond) [13:14:03.164] for (restart in restarts) { [13:14:03.164] name <- restart$name [13:14:03.164] if (is.null(name)) [13:14:03.164] next [13:14:03.164] if (!grepl(pattern, name)) [13:14:03.164] next [13:14:03.164] invokeRestart(restart) [13:14:03.164] muffled <- TRUE [13:14:03.164] break [13:14:03.164] } [13:14:03.164] } [13:14:03.164] } [13:14:03.164] invisible(muffled) [13:14:03.164] } [13:14:03.164] muffleCondition(cond, pattern = "^muffle") [13:14:03.164] } [13:14:03.164] } [13:14:03.164] else { [13:14:03.164] if (TRUE) { [13:14:03.164] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.164] { [13:14:03.164] inherits <- base::inherits [13:14:03.164] invokeRestart <- base::invokeRestart [13:14:03.164] is.null <- base::is.null [13:14:03.164] muffled <- FALSE [13:14:03.164] if (inherits(cond, "message")) { [13:14:03.164] muffled <- grepl(pattern, "muffleMessage") [13:14:03.164] if (muffled) [13:14:03.164] invokeRestart("muffleMessage") [13:14:03.164] } [13:14:03.164] else if (inherits(cond, "warning")) { [13:14:03.164] muffled <- grepl(pattern, "muffleWarning") [13:14:03.164] if (muffled) [13:14:03.164] invokeRestart("muffleWarning") [13:14:03.164] } [13:14:03.164] else if (inherits(cond, "condition")) { [13:14:03.164] if (!is.null(pattern)) { [13:14:03.164] computeRestarts <- base::computeRestarts [13:14:03.164] grepl <- base::grepl [13:14:03.164] restarts <- computeRestarts(cond) [13:14:03.164] for (restart in restarts) { [13:14:03.164] name <- restart$name [13:14:03.164] if (is.null(name)) [13:14:03.164] next [13:14:03.164] if (!grepl(pattern, name)) [13:14:03.164] next [13:14:03.164] invokeRestart(restart) [13:14:03.164] muffled <- TRUE [13:14:03.164] break [13:14:03.164] } [13:14:03.164] } [13:14:03.164] } [13:14:03.164] invisible(muffled) [13:14:03.164] } [13:14:03.164] muffleCondition(cond, pattern = "^muffle") [13:14:03.164] } [13:14:03.164] } [13:14:03.164] } [13:14:03.164] })) [13:14:03.164] }, error = function(ex) { [13:14:03.164] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.164] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.164] ...future.rng), started = ...future.startTime, [13:14:03.164] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.164] version = "1.8"), class = "FutureResult") [13:14:03.164] }, finally = { [13:14:03.164] if (!identical(...future.workdir, getwd())) [13:14:03.164] setwd(...future.workdir) [13:14:03.164] { [13:14:03.164] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.164] ...future.oldOptions$nwarnings <- NULL [13:14:03.164] } [13:14:03.164] base::options(...future.oldOptions) [13:14:03.164] if (.Platform$OS.type == "windows") { [13:14:03.164] old_names <- names(...future.oldEnvVars) [13:14:03.164] envs <- base::Sys.getenv() [13:14:03.164] names <- names(envs) [13:14:03.164] common <- intersect(names, old_names) [13:14:03.164] added <- setdiff(names, old_names) [13:14:03.164] removed <- setdiff(old_names, names) [13:14:03.164] changed <- common[...future.oldEnvVars[common] != [13:14:03.164] envs[common]] [13:14:03.164] NAMES <- toupper(changed) [13:14:03.164] args <- list() [13:14:03.164] for (kk in seq_along(NAMES)) { [13:14:03.164] name <- changed[[kk]] [13:14:03.164] NAME <- NAMES[[kk]] [13:14:03.164] if (name != NAME && is.element(NAME, old_names)) [13:14:03.164] next [13:14:03.164] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.164] } [13:14:03.164] NAMES <- toupper(added) [13:14:03.164] for (kk in seq_along(NAMES)) { [13:14:03.164] name <- added[[kk]] [13:14:03.164] NAME <- NAMES[[kk]] [13:14:03.164] if (name != NAME && is.element(NAME, old_names)) [13:14:03.164] next [13:14:03.164] args[[name]] <- "" [13:14:03.164] } [13:14:03.164] NAMES <- toupper(removed) [13:14:03.164] for (kk in seq_along(NAMES)) { [13:14:03.164] name <- removed[[kk]] [13:14:03.164] NAME <- NAMES[[kk]] [13:14:03.164] if (name != NAME && is.element(NAME, old_names)) [13:14:03.164] next [13:14:03.164] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.164] } [13:14:03.164] if (length(args) > 0) [13:14:03.164] base::do.call(base::Sys.setenv, args = args) [13:14:03.164] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.164] } [13:14:03.164] else { [13:14:03.164] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.164] } [13:14:03.164] { [13:14:03.164] if (base::length(...future.futureOptionsAdded) > [13:14:03.164] 0L) { [13:14:03.164] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.164] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.164] base::options(opts) [13:14:03.164] } [13:14:03.164] { [13:14:03.164] { [13:14:03.164] NULL [13:14:03.164] RNGkind("Mersenne-Twister") [13:14:03.164] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.164] inherits = FALSE) [13:14:03.164] } [13:14:03.164] options(future.plan = NULL) [13:14:03.164] if (is.na(NA_character_)) [13:14:03.164] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.164] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.164] future::plan(list(function (..., envir = parent.frame()) [13:14:03.164] { [13:14:03.164] future <- SequentialFuture(..., envir = envir) [13:14:03.164] if (!future$lazy) [13:14:03.164] future <- run(future) [13:14:03.164] invisible(future) [13:14:03.164] }), .cleanup = FALSE, .init = FALSE) [13:14:03.164] } [13:14:03.164] } [13:14:03.164] } [13:14:03.164] }) [13:14:03.164] if (TRUE) { [13:14:03.164] base::sink(type = "output", split = FALSE) [13:14:03.164] if (TRUE) { [13:14:03.164] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.164] } [13:14:03.164] else { [13:14:03.164] ...future.result["stdout"] <- base::list(NULL) [13:14:03.164] } [13:14:03.164] base::close(...future.stdout) [13:14:03.164] ...future.stdout <- NULL [13:14:03.164] } [13:14:03.164] ...future.result$conditions <- ...future.conditions [13:14:03.164] ...future.result$finished <- base::Sys.time() [13:14:03.164] ...future.result [13:14:03.164] } [13:14:03.167] assign_globals() ... [13:14:03.167] List of 5 [13:14:03.167] $ ...future.FUN :function (x) [13:14:03.167] $ future.call.arguments : list() [13:14:03.167] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.167] $ ...future.elements_ii :List of 4 [13:14:03.167] ..$ A: num 50 [13:14:03.167] ..$ B: num 60 [13:14:03.167] ..$ C: num 70 [13:14:03.167] ..$ D: num 80 [13:14:03.167] $ ...future.seeds_ii : NULL [13:14:03.167] $ ...future.globals.maxSize: NULL [13:14:03.167] - attr(*, "where")=List of 5 [13:14:03.167] ..$ ...future.FUN : [13:14:03.167] ..$ future.call.arguments : [13:14:03.167] ..$ ...future.elements_ii : [13:14:03.167] ..$ ...future.seeds_ii : [13:14:03.167] ..$ ...future.globals.maxSize: [13:14:03.167] - attr(*, "resolved")= logi FALSE [13:14:03.167] - attr(*, "total_size")= num 848 [13:14:03.167] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.167] - attr(*, "already-done")= logi TRUE [13:14:03.174] - copied '...future.FUN' to environment [13:14:03.174] - copied 'future.call.arguments' to environment [13:14:03.174] - copied '...future.elements_ii' to environment [13:14:03.174] - copied '...future.seeds_ii' to environment [13:14:03.174] - copied '...future.globals.maxSize' to environment [13:14:03.174] assign_globals() ... done [13:14:03.175] plan(): Setting new future strategy stack: [13:14:03.175] List of future strategies: [13:14:03.175] 1. sequential: [13:14:03.175] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.175] - tweaked: FALSE [13:14:03.175] - call: NULL [13:14:03.175] plan(): nbrOfWorkers() = 1 [13:14:03.176] plan(): Setting new future strategy stack: [13:14:03.176] List of future strategies: [13:14:03.176] 1. sequential: [13:14:03.176] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.176] - tweaked: FALSE [13:14:03.176] - call: plan(strategy) [13:14:03.177] plan(): nbrOfWorkers() = 1 [13:14:03.177] SequentialFuture started (and completed) [13:14:03.177] - Launch lazy future ... done [13:14:03.177] run() for 'SequentialFuture' ... done [13:14:03.177] Created future: [13:14:03.178] SequentialFuture: [13:14:03.178] Label: 'future_sapply-1' [13:14:03.178] Expression: [13:14:03.178] { [13:14:03.178] do.call(function(...) { [13:14:03.178] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.178] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.178] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.178] on.exit(options(oopts), add = TRUE) [13:14:03.178] } [13:14:03.178] { [13:14:03.178] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.178] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.178] ...future.FUN(...future.X_jj, ...) [13:14:03.178] }) [13:14:03.178] } [13:14:03.178] }, args = future.call.arguments) [13:14:03.178] } [13:14:03.178] Lazy evaluation: FALSE [13:14:03.178] Asynchronous evaluation: FALSE [13:14:03.178] Local evaluation: TRUE [13:14:03.178] Environment: R_GlobalEnv [13:14:03.178] Capture standard output: TRUE [13:14:03.178] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.178] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.178] Packages: [13:14:03.178] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.178] Resolved: TRUE [13:14:03.178] Value: 224 bytes of class 'list' [13:14:03.178] Early signaling: FALSE [13:14:03.178] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.178] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.179] Chunk #1 of 1 ... DONE [13:14:03.179] Launching 1 futures (chunks) ... DONE [13:14:03.179] Resolving 1 futures (chunks) ... [13:14:03.179] resolve() on list ... [13:14:03.179] recursive: 0 [13:14:03.179] length: 1 [13:14:03.180] [13:14:03.180] resolved() for 'SequentialFuture' ... [13:14:03.180] - state: 'finished' [13:14:03.180] - run: TRUE [13:14:03.180] - result: 'FutureResult' [13:14:03.180] resolved() for 'SequentialFuture' ... done [13:14:03.180] Future #1 [13:14:03.181] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.181] - nx: 1 [13:14:03.181] - relay: TRUE [13:14:03.181] - stdout: TRUE [13:14:03.181] - signal: TRUE [13:14:03.181] - resignal: FALSE [13:14:03.181] - force: TRUE [13:14:03.182] - relayed: [n=1] FALSE [13:14:03.182] - queued futures: [n=1] FALSE [13:14:03.182] - until=1 [13:14:03.182] - relaying element #1 [13:14:03.182] - relayed: [n=1] TRUE [13:14:03.182] - queued futures: [n=1] TRUE [13:14:03.182] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.183] length: 0 (resolved future 1) [13:14:03.183] Relaying remaining futures [13:14:03.183] signalConditionsASAP(NULL, pos=0) ... [13:14:03.183] - nx: 1 [13:14:03.183] - relay: TRUE [13:14:03.183] - stdout: TRUE [13:14:03.183] - signal: TRUE [13:14:03.184] - resignal: FALSE [13:14:03.184] - force: TRUE [13:14:03.184] - relayed: [n=1] TRUE [13:14:03.184] - queued futures: [n=1] TRUE - flush all [13:14:03.184] - relayed: [n=1] TRUE [13:14:03.184] - queued futures: [n=1] TRUE [13:14:03.184] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.184] resolve() on list ... DONE [13:14:03.185] - Number of value chunks collected: 1 [13:14:03.185] Resolving 1 futures (chunks) ... DONE [13:14:03.185] Reducing values from 1 chunks ... [13:14:03.185] - Number of values collected after concatenation: 4 [13:14:03.185] - Number of values expected: 4 [13:14:03.185] Reducing values from 1 chunks ... DONE [13:14:03.185] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:03.187] future_lapply() ... [13:14:03.188] Number of chunks: 1 [13:14:03.188] getGlobalsAndPackagesXApply() ... [13:14:03.188] - future.globals: TRUE [13:14:03.188] getGlobalsAndPackages() ... [13:14:03.188] Searching for globals... [13:14:03.189] - globals found: [2] 'FUN', 'UseMethod' [13:14:03.189] Searching for globals ... DONE [13:14:03.190] Resolving globals: FALSE [13:14:03.190] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:03.190] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:03.190] - globals: [1] 'FUN' [13:14:03.191] [13:14:03.191] getGlobalsAndPackages() ... DONE [13:14:03.191] - globals found/used: [n=1] 'FUN' [13:14:03.191] - needed namespaces: [n=0] [13:14:03.191] Finding globals ... DONE [13:14:03.191] - use_args: TRUE [13:14:03.191] - Getting '...' globals ... [13:14:03.192] resolve() on list ... [13:14:03.192] recursive: 0 [13:14:03.192] length: 1 [13:14:03.192] elements: '...' [13:14:03.192] length: 0 (resolved future 1) [13:14:03.192] resolve() on list ... DONE [13:14:03.193] - '...' content: [n=0] [13:14:03.193] List of 1 [13:14:03.193] $ ...: list() [13:14:03.193] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.193] - attr(*, "where")=List of 1 [13:14:03.193] ..$ ...: [13:14:03.193] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.193] - attr(*, "resolved")= logi TRUE [13:14:03.193] - attr(*, "total_size")= num NA [13:14:03.195] - Getting '...' globals ... DONE [13:14:03.195] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.196] List of 2 [13:14:03.196] $ ...future.FUN:function (x, ...) [13:14:03.196] $ ... : list() [13:14:03.196] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.196] - attr(*, "where")=List of 2 [13:14:03.196] ..$ ...future.FUN: [13:14:03.196] ..$ ... : [13:14:03.196] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.196] - attr(*, "resolved")= logi FALSE [13:14:03.196] - attr(*, "total_size")= num 1248 [13:14:03.198] Packages to be attached in all futures: [n=0] [13:14:03.198] getGlobalsAndPackagesXApply() ... DONE [13:14:03.198] Number of futures (= number of chunks): 1 [13:14:03.199] Launching 1 futures (chunks) ... [13:14:03.199] Chunk #1 of 1 ... [13:14:03.199] - Finding globals in 'X' for chunk #1 ... [13:14:03.199] getGlobalsAndPackages() ... [13:14:03.199] Searching for globals... [13:14:03.199] [13:14:03.199] Searching for globals ... DONE [13:14:03.199] - globals: [0] [13:14:03.200] getGlobalsAndPackages() ... DONE [13:14:03.200] + additional globals found: [n=0] [13:14:03.200] + additional namespaces needed: [n=0] [13:14:03.200] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.200] - seeds: [13:14:03.200] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.200] getGlobalsAndPackages() ... [13:14:03.200] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.201] Resolving globals: FALSE [13:14:03.201] Tweak future expression to call with '...' arguments ... [13:14:03.201] { [13:14:03.201] do.call(function(...) { [13:14:03.201] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.201] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.201] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.201] on.exit(options(oopts), add = TRUE) [13:14:03.201] } [13:14:03.201] { [13:14:03.201] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.201] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.201] ...future.FUN(...future.X_jj, ...) [13:14:03.201] }) [13:14:03.201] } [13:14:03.201] }, args = future.call.arguments) [13:14:03.201] } [13:14:03.201] Tweak future expression to call with '...' arguments ... DONE [13:14:03.201] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.202] [13:14:03.202] getGlobalsAndPackages() ... DONE [13:14:03.202] run() for 'Future' ... [13:14:03.202] - state: 'created' [13:14:03.202] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.203] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.203] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.203] - Field: 'label' [13:14:03.203] - Field: 'local' [13:14:03.203] - Field: 'owner' [13:14:03.203] - Field: 'envir' [13:14:03.203] - Field: 'packages' [13:14:03.203] - Field: 'gc' [13:14:03.204] - Field: 'conditions' [13:14:03.204] - Field: 'expr' [13:14:03.204] - Field: 'uuid' [13:14:03.204] - Field: 'seed' [13:14:03.204] - Field: 'version' [13:14:03.204] - Field: 'result' [13:14:03.204] - Field: 'asynchronous' [13:14:03.204] - Field: 'calls' [13:14:03.205] - Field: 'globals' [13:14:03.205] - Field: 'stdout' [13:14:03.205] - Field: 'earlySignal' [13:14:03.205] - Field: 'lazy' [13:14:03.205] - Field: 'state' [13:14:03.205] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.205] - Launch lazy future ... [13:14:03.205] Packages needed by the future expression (n = 0): [13:14:03.206] Packages needed by future strategies (n = 0): [13:14:03.206] { [13:14:03.206] { [13:14:03.206] { [13:14:03.206] ...future.startTime <- base::Sys.time() [13:14:03.206] { [13:14:03.206] { [13:14:03.206] { [13:14:03.206] base::local({ [13:14:03.206] has_future <- base::requireNamespace("future", [13:14:03.206] quietly = TRUE) [13:14:03.206] if (has_future) { [13:14:03.206] ns <- base::getNamespace("future") [13:14:03.206] version <- ns[[".package"]][["version"]] [13:14:03.206] if (is.null(version)) [13:14:03.206] version <- utils::packageVersion("future") [13:14:03.206] } [13:14:03.206] else { [13:14:03.206] version <- NULL [13:14:03.206] } [13:14:03.206] if (!has_future || version < "1.8.0") { [13:14:03.206] info <- base::c(r_version = base::gsub("R version ", [13:14:03.206] "", base::R.version$version.string), [13:14:03.206] platform = base::sprintf("%s (%s-bit)", [13:14:03.206] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.206] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.206] "release", "version")], collapse = " "), [13:14:03.206] hostname = base::Sys.info()[["nodename"]]) [13:14:03.206] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.206] info) [13:14:03.206] info <- base::paste(info, collapse = "; ") [13:14:03.206] if (!has_future) { [13:14:03.206] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.206] info) [13:14:03.206] } [13:14:03.206] else { [13:14:03.206] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.206] info, version) [13:14:03.206] } [13:14:03.206] base::stop(msg) [13:14:03.206] } [13:14:03.206] }) [13:14:03.206] } [13:14:03.206] options(future.plan = NULL) [13:14:03.206] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.206] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.206] } [13:14:03.206] ...future.workdir <- getwd() [13:14:03.206] } [13:14:03.206] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.206] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.206] } [13:14:03.206] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.206] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.206] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.206] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.206] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.206] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.206] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.206] base::names(...future.oldOptions)) [13:14:03.206] } [13:14:03.206] if (FALSE) { [13:14:03.206] } [13:14:03.206] else { [13:14:03.206] if (TRUE) { [13:14:03.206] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.206] open = "w") [13:14:03.206] } [13:14:03.206] else { [13:14:03.206] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.206] windows = "NUL", "/dev/null"), open = "w") [13:14:03.206] } [13:14:03.206] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.206] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.206] base::sink(type = "output", split = FALSE) [13:14:03.206] base::close(...future.stdout) [13:14:03.206] }, add = TRUE) [13:14:03.206] } [13:14:03.206] ...future.frame <- base::sys.nframe() [13:14:03.206] ...future.conditions <- base::list() [13:14:03.206] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.206] if (FALSE) { [13:14:03.206] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.206] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.206] } [13:14:03.206] ...future.result <- base::tryCatch({ [13:14:03.206] base::withCallingHandlers({ [13:14:03.206] ...future.value <- base::withVisible(base::local({ [13:14:03.206] do.call(function(...) { [13:14:03.206] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.206] if (!identical(...future.globals.maxSize.org, [13:14:03.206] ...future.globals.maxSize)) { [13:14:03.206] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.206] on.exit(options(oopts), add = TRUE) [13:14:03.206] } [13:14:03.206] { [13:14:03.206] lapply(seq_along(...future.elements_ii), [13:14:03.206] FUN = function(jj) { [13:14:03.206] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.206] ...future.FUN(...future.X_jj, ...) [13:14:03.206] }) [13:14:03.206] } [13:14:03.206] }, args = future.call.arguments) [13:14:03.206] })) [13:14:03.206] future::FutureResult(value = ...future.value$value, [13:14:03.206] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.206] ...future.rng), globalenv = if (FALSE) [13:14:03.206] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.206] ...future.globalenv.names)) [13:14:03.206] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.206] }, condition = base::local({ [13:14:03.206] c <- base::c [13:14:03.206] inherits <- base::inherits [13:14:03.206] invokeRestart <- base::invokeRestart [13:14:03.206] length <- base::length [13:14:03.206] list <- base::list [13:14:03.206] seq.int <- base::seq.int [13:14:03.206] signalCondition <- base::signalCondition [13:14:03.206] sys.calls <- base::sys.calls [13:14:03.206] `[[` <- base::`[[` [13:14:03.206] `+` <- base::`+` [13:14:03.206] `<<-` <- base::`<<-` [13:14:03.206] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.206] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.206] 3L)] [13:14:03.206] } [13:14:03.206] function(cond) { [13:14:03.206] is_error <- inherits(cond, "error") [13:14:03.206] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.206] NULL) [13:14:03.206] if (is_error) { [13:14:03.206] sessionInformation <- function() { [13:14:03.206] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.206] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.206] search = base::search(), system = base::Sys.info()) [13:14:03.206] } [13:14:03.206] ...future.conditions[[length(...future.conditions) + [13:14:03.206] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.206] cond$call), session = sessionInformation(), [13:14:03.206] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.206] signalCondition(cond) [13:14:03.206] } [13:14:03.206] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.206] "immediateCondition"))) { [13:14:03.206] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.206] ...future.conditions[[length(...future.conditions) + [13:14:03.206] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.206] if (TRUE && !signal) { [13:14:03.206] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.206] { [13:14:03.206] inherits <- base::inherits [13:14:03.206] invokeRestart <- base::invokeRestart [13:14:03.206] is.null <- base::is.null [13:14:03.206] muffled <- FALSE [13:14:03.206] if (inherits(cond, "message")) { [13:14:03.206] muffled <- grepl(pattern, "muffleMessage") [13:14:03.206] if (muffled) [13:14:03.206] invokeRestart("muffleMessage") [13:14:03.206] } [13:14:03.206] else if (inherits(cond, "warning")) { [13:14:03.206] muffled <- grepl(pattern, "muffleWarning") [13:14:03.206] if (muffled) [13:14:03.206] invokeRestart("muffleWarning") [13:14:03.206] } [13:14:03.206] else if (inherits(cond, "condition")) { [13:14:03.206] if (!is.null(pattern)) { [13:14:03.206] computeRestarts <- base::computeRestarts [13:14:03.206] grepl <- base::grepl [13:14:03.206] restarts <- computeRestarts(cond) [13:14:03.206] for (restart in restarts) { [13:14:03.206] name <- restart$name [13:14:03.206] if (is.null(name)) [13:14:03.206] next [13:14:03.206] if (!grepl(pattern, name)) [13:14:03.206] next [13:14:03.206] invokeRestart(restart) [13:14:03.206] muffled <- TRUE [13:14:03.206] break [13:14:03.206] } [13:14:03.206] } [13:14:03.206] } [13:14:03.206] invisible(muffled) [13:14:03.206] } [13:14:03.206] muffleCondition(cond, pattern = "^muffle") [13:14:03.206] } [13:14:03.206] } [13:14:03.206] else { [13:14:03.206] if (TRUE) { [13:14:03.206] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.206] { [13:14:03.206] inherits <- base::inherits [13:14:03.206] invokeRestart <- base::invokeRestart [13:14:03.206] is.null <- base::is.null [13:14:03.206] muffled <- FALSE [13:14:03.206] if (inherits(cond, "message")) { [13:14:03.206] muffled <- grepl(pattern, "muffleMessage") [13:14:03.206] if (muffled) [13:14:03.206] invokeRestart("muffleMessage") [13:14:03.206] } [13:14:03.206] else if (inherits(cond, "warning")) { [13:14:03.206] muffled <- grepl(pattern, "muffleWarning") [13:14:03.206] if (muffled) [13:14:03.206] invokeRestart("muffleWarning") [13:14:03.206] } [13:14:03.206] else if (inherits(cond, "condition")) { [13:14:03.206] if (!is.null(pattern)) { [13:14:03.206] computeRestarts <- base::computeRestarts [13:14:03.206] grepl <- base::grepl [13:14:03.206] restarts <- computeRestarts(cond) [13:14:03.206] for (restart in restarts) { [13:14:03.206] name <- restart$name [13:14:03.206] if (is.null(name)) [13:14:03.206] next [13:14:03.206] if (!grepl(pattern, name)) [13:14:03.206] next [13:14:03.206] invokeRestart(restart) [13:14:03.206] muffled <- TRUE [13:14:03.206] break [13:14:03.206] } [13:14:03.206] } [13:14:03.206] } [13:14:03.206] invisible(muffled) [13:14:03.206] } [13:14:03.206] muffleCondition(cond, pattern = "^muffle") [13:14:03.206] } [13:14:03.206] } [13:14:03.206] } [13:14:03.206] })) [13:14:03.206] }, error = function(ex) { [13:14:03.206] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.206] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.206] ...future.rng), started = ...future.startTime, [13:14:03.206] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.206] version = "1.8"), class = "FutureResult") [13:14:03.206] }, finally = { [13:14:03.206] if (!identical(...future.workdir, getwd())) [13:14:03.206] setwd(...future.workdir) [13:14:03.206] { [13:14:03.206] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.206] ...future.oldOptions$nwarnings <- NULL [13:14:03.206] } [13:14:03.206] base::options(...future.oldOptions) [13:14:03.206] if (.Platform$OS.type == "windows") { [13:14:03.206] old_names <- names(...future.oldEnvVars) [13:14:03.206] envs <- base::Sys.getenv() [13:14:03.206] names <- names(envs) [13:14:03.206] common <- intersect(names, old_names) [13:14:03.206] added <- setdiff(names, old_names) [13:14:03.206] removed <- setdiff(old_names, names) [13:14:03.206] changed <- common[...future.oldEnvVars[common] != [13:14:03.206] envs[common]] [13:14:03.206] NAMES <- toupper(changed) [13:14:03.206] args <- list() [13:14:03.206] for (kk in seq_along(NAMES)) { [13:14:03.206] name <- changed[[kk]] [13:14:03.206] NAME <- NAMES[[kk]] [13:14:03.206] if (name != NAME && is.element(NAME, old_names)) [13:14:03.206] next [13:14:03.206] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.206] } [13:14:03.206] NAMES <- toupper(added) [13:14:03.206] for (kk in seq_along(NAMES)) { [13:14:03.206] name <- added[[kk]] [13:14:03.206] NAME <- NAMES[[kk]] [13:14:03.206] if (name != NAME && is.element(NAME, old_names)) [13:14:03.206] next [13:14:03.206] args[[name]] <- "" [13:14:03.206] } [13:14:03.206] NAMES <- toupper(removed) [13:14:03.206] for (kk in seq_along(NAMES)) { [13:14:03.206] name <- removed[[kk]] [13:14:03.206] NAME <- NAMES[[kk]] [13:14:03.206] if (name != NAME && is.element(NAME, old_names)) [13:14:03.206] next [13:14:03.206] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.206] } [13:14:03.206] if (length(args) > 0) [13:14:03.206] base::do.call(base::Sys.setenv, args = args) [13:14:03.206] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.206] } [13:14:03.206] else { [13:14:03.206] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.206] } [13:14:03.206] { [13:14:03.206] if (base::length(...future.futureOptionsAdded) > [13:14:03.206] 0L) { [13:14:03.206] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.206] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.206] base::options(opts) [13:14:03.206] } [13:14:03.206] { [13:14:03.206] { [13:14:03.206] NULL [13:14:03.206] RNGkind("Mersenne-Twister") [13:14:03.206] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.206] inherits = FALSE) [13:14:03.206] } [13:14:03.206] options(future.plan = NULL) [13:14:03.206] if (is.na(NA_character_)) [13:14:03.206] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.206] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.206] future::plan(list(function (..., envir = parent.frame()) [13:14:03.206] { [13:14:03.206] future <- SequentialFuture(..., envir = envir) [13:14:03.206] if (!future$lazy) [13:14:03.206] future <- run(future) [13:14:03.206] invisible(future) [13:14:03.206] }), .cleanup = FALSE, .init = FALSE) [13:14:03.206] } [13:14:03.206] } [13:14:03.206] } [13:14:03.206] }) [13:14:03.206] if (TRUE) { [13:14:03.206] base::sink(type = "output", split = FALSE) [13:14:03.206] if (TRUE) { [13:14:03.206] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.206] } [13:14:03.206] else { [13:14:03.206] ...future.result["stdout"] <- base::list(NULL) [13:14:03.206] } [13:14:03.206] base::close(...future.stdout) [13:14:03.206] ...future.stdout <- NULL [13:14:03.206] } [13:14:03.206] ...future.result$conditions <- ...future.conditions [13:14:03.206] ...future.result$finished <- base::Sys.time() [13:14:03.206] ...future.result [13:14:03.206] } [13:14:03.209] assign_globals() ... [13:14:03.209] List of 5 [13:14:03.209] $ ...future.FUN :function (x, ...) [13:14:03.209] $ future.call.arguments : list() [13:14:03.209] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.209] $ ...future.elements_ii :List of 4 [13:14:03.209] ..$ A: num 50 [13:14:03.209] ..$ B: num 60 [13:14:03.209] ..$ C: num 70 [13:14:03.209] ..$ D: num 80 [13:14:03.209] $ ...future.seeds_ii : NULL [13:14:03.209] $ ...future.globals.maxSize: NULL [13:14:03.209] - attr(*, "where")=List of 5 [13:14:03.209] ..$ ...future.FUN : [13:14:03.209] ..$ future.call.arguments : [13:14:03.209] ..$ ...future.elements_ii : [13:14:03.209] ..$ ...future.seeds_ii : [13:14:03.209] ..$ ...future.globals.maxSize: [13:14:03.209] - attr(*, "resolved")= logi FALSE [13:14:03.209] - attr(*, "total_size")= num 1248 [13:14:03.209] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.209] - attr(*, "already-done")= logi TRUE [13:14:03.214] - copied '...future.FUN' to environment [13:14:03.214] - copied 'future.call.arguments' to environment [13:14:03.214] - copied '...future.elements_ii' to environment [13:14:03.214] - copied '...future.seeds_ii' to environment [13:14:03.214] - copied '...future.globals.maxSize' to environment [13:14:03.214] assign_globals() ... done [13:14:03.215] plan(): Setting new future strategy stack: [13:14:03.215] List of future strategies: [13:14:03.215] 1. sequential: [13:14:03.215] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.215] - tweaked: FALSE [13:14:03.215] - call: NULL [13:14:03.215] plan(): nbrOfWorkers() = 1 [13:14:03.216] plan(): Setting new future strategy stack: [13:14:03.216] List of future strategies: [13:14:03.216] 1. sequential: [13:14:03.216] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.216] - tweaked: FALSE [13:14:03.216] - call: plan(strategy) [13:14:03.217] plan(): nbrOfWorkers() = 1 [13:14:03.217] SequentialFuture started (and completed) [13:14:03.217] - Launch lazy future ... done [13:14:03.217] run() for 'SequentialFuture' ... done [13:14:03.217] Created future: [13:14:03.217] SequentialFuture: [13:14:03.217] Label: 'future_sapply-1' [13:14:03.217] Expression: [13:14:03.217] { [13:14:03.217] do.call(function(...) { [13:14:03.217] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.217] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.217] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.217] on.exit(options(oopts), add = TRUE) [13:14:03.217] } [13:14:03.217] { [13:14:03.217] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.217] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.217] ...future.FUN(...future.X_jj, ...) [13:14:03.217] }) [13:14:03.217] } [13:14:03.217] }, args = future.call.arguments) [13:14:03.217] } [13:14:03.217] Lazy evaluation: FALSE [13:14:03.217] Asynchronous evaluation: FALSE [13:14:03.217] Local evaluation: TRUE [13:14:03.217] Environment: R_GlobalEnv [13:14:03.217] Capture standard output: TRUE [13:14:03.217] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.217] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.217] Packages: [13:14:03.217] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.217] Resolved: TRUE [13:14:03.217] Value: 896 bytes of class 'list' [13:14:03.217] Early signaling: FALSE [13:14:03.217] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.217] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.218] Chunk #1 of 1 ... DONE [13:14:03.218] Launching 1 futures (chunks) ... DONE [13:14:03.218] Resolving 1 futures (chunks) ... [13:14:03.219] resolve() on list ... [13:14:03.219] recursive: 0 [13:14:03.219] length: 1 [13:14:03.219] [13:14:03.219] resolved() for 'SequentialFuture' ... [13:14:03.219] - state: 'finished' [13:14:03.219] - run: TRUE [13:14:03.219] - result: 'FutureResult' [13:14:03.220] resolved() for 'SequentialFuture' ... done [13:14:03.220] Future #1 [13:14:03.220] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.220] - nx: 1 [13:14:03.220] - relay: TRUE [13:14:03.220] - stdout: TRUE [13:14:03.220] - signal: TRUE [13:14:03.220] - resignal: FALSE [13:14:03.220] - force: TRUE [13:14:03.221] - relayed: [n=1] FALSE [13:14:03.221] - queued futures: [n=1] FALSE [13:14:03.221] - until=1 [13:14:03.221] - relaying element #1 [13:14:03.221] - relayed: [n=1] TRUE [13:14:03.221] - queued futures: [n=1] TRUE [13:14:03.221] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.221] length: 0 (resolved future 1) [13:14:03.222] Relaying remaining futures [13:14:03.222] signalConditionsASAP(NULL, pos=0) ... [13:14:03.222] - nx: 1 [13:14:03.222] - relay: TRUE [13:14:03.222] - stdout: TRUE [13:14:03.222] - signal: TRUE [13:14:03.222] - resignal: FALSE [13:14:03.222] - force: TRUE [13:14:03.222] - relayed: [n=1] TRUE [13:14:03.223] - queued futures: [n=1] TRUE - flush all [13:14:03.223] - relayed: [n=1] TRUE [13:14:03.223] - queued futures: [n=1] TRUE [13:14:03.223] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.223] resolve() on list ... DONE [13:14:03.223] - Number of value chunks collected: 1 [13:14:03.223] Resolving 1 futures (chunks) ... DONE [13:14:03.223] Reducing values from 1 chunks ... [13:14:03.224] - Number of values collected after concatenation: 4 [13:14:03.224] - Number of values expected: 4 [13:14:03.224] Reducing values from 1 chunks ... DONE [13:14:03.224] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:03.225] future_lapply() ... [13:14:03.226] Number of chunks: 1 [13:14:03.226] getGlobalsAndPackagesXApply() ... [13:14:03.226] - future.globals: TRUE [13:14:03.226] getGlobalsAndPackages() ... [13:14:03.226] Searching for globals... [13:14:03.228] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:03.228] Searching for globals ... DONE [13:14:03.228] Resolving globals: FALSE [13:14:03.228] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:03.229] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:03.229] - globals: [1] 'FUN' [13:14:03.229] [13:14:03.229] getGlobalsAndPackages() ... DONE [13:14:03.229] - globals found/used: [n=1] 'FUN' [13:14:03.229] - needed namespaces: [n=0] [13:14:03.229] Finding globals ... DONE [13:14:03.230] - use_args: TRUE [13:14:03.230] - Getting '...' globals ... [13:14:03.230] resolve() on list ... [13:14:03.230] recursive: 0 [13:14:03.230] length: 1 [13:14:03.230] elements: '...' [13:14:03.230] length: 0 (resolved future 1) [13:14:03.231] resolve() on list ... DONE [13:14:03.231] - '...' content: [n=0] [13:14:03.231] List of 1 [13:14:03.231] $ ...: list() [13:14:03.231] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.231] - attr(*, "where")=List of 1 [13:14:03.231] ..$ ...: [13:14:03.231] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.231] - attr(*, "resolved")= logi TRUE [13:14:03.231] - attr(*, "total_size")= num NA [13:14:03.233] - Getting '...' globals ... DONE [13:14:03.233] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.233] List of 2 [13:14:03.233] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:03.233] $ ... : list() [13:14:03.233] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.233] - attr(*, "where")=List of 2 [13:14:03.233] ..$ ...future.FUN: [13:14:03.233] ..$ ... : [13:14:03.233] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.233] - attr(*, "resolved")= logi FALSE [13:14:03.233] - attr(*, "total_size")= num 4728 [13:14:03.236] Packages to be attached in all futures: [n=0] [13:14:03.236] getGlobalsAndPackagesXApply() ... DONE [13:14:03.236] Number of futures (= number of chunks): 1 [13:14:03.236] Launching 1 futures (chunks) ... [13:14:03.236] Chunk #1 of 1 ... [13:14:03.236] - Finding globals in 'X' for chunk #1 ... [13:14:03.236] getGlobalsAndPackages() ... [13:14:03.236] Searching for globals... [13:14:03.237] [13:14:03.237] Searching for globals ... DONE [13:14:03.237] - globals: [0] [13:14:03.237] getGlobalsAndPackages() ... DONE [13:14:03.237] + additional globals found: [n=0] [13:14:03.237] + additional namespaces needed: [n=0] [13:14:03.237] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.237] - seeds: [13:14:03.238] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.238] getGlobalsAndPackages() ... [13:14:03.238] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.238] Resolving globals: FALSE [13:14:03.238] Tweak future expression to call with '...' arguments ... [13:14:03.238] { [13:14:03.238] do.call(function(...) { [13:14:03.238] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.238] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.238] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.238] on.exit(options(oopts), add = TRUE) [13:14:03.238] } [13:14:03.238] { [13:14:03.238] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.238] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.238] ...future.FUN(...future.X_jj, ...) [13:14:03.238] }) [13:14:03.238] } [13:14:03.238] }, args = future.call.arguments) [13:14:03.238] } [13:14:03.239] Tweak future expression to call with '...' arguments ... DONE [13:14:03.239] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.239] [13:14:03.239] getGlobalsAndPackages() ... DONE [13:14:03.239] run() for 'Future' ... [13:14:03.240] - state: 'created' [13:14:03.240] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.240] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.240] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.240] - Field: 'label' [13:14:03.240] - Field: 'local' [13:14:03.241] - Field: 'owner' [13:14:03.241] - Field: 'envir' [13:14:03.241] - Field: 'packages' [13:14:03.241] - Field: 'gc' [13:14:03.241] - Field: 'conditions' [13:14:03.241] - Field: 'expr' [13:14:03.241] - Field: 'uuid' [13:14:03.241] - Field: 'seed' [13:14:03.242] - Field: 'version' [13:14:03.242] - Field: 'result' [13:14:03.242] - Field: 'asynchronous' [13:14:03.242] - Field: 'calls' [13:14:03.242] - Field: 'globals' [13:14:03.242] - Field: 'stdout' [13:14:03.242] - Field: 'earlySignal' [13:14:03.242] - Field: 'lazy' [13:14:03.243] - Field: 'state' [13:14:03.243] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.243] - Launch lazy future ... [13:14:03.243] Packages needed by the future expression (n = 0): [13:14:03.243] Packages needed by future strategies (n = 0): [13:14:03.244] { [13:14:03.244] { [13:14:03.244] { [13:14:03.244] ...future.startTime <- base::Sys.time() [13:14:03.244] { [13:14:03.244] { [13:14:03.244] { [13:14:03.244] base::local({ [13:14:03.244] has_future <- base::requireNamespace("future", [13:14:03.244] quietly = TRUE) [13:14:03.244] if (has_future) { [13:14:03.244] ns <- base::getNamespace("future") [13:14:03.244] version <- ns[[".package"]][["version"]] [13:14:03.244] if (is.null(version)) [13:14:03.244] version <- utils::packageVersion("future") [13:14:03.244] } [13:14:03.244] else { [13:14:03.244] version <- NULL [13:14:03.244] } [13:14:03.244] if (!has_future || version < "1.8.0") { [13:14:03.244] info <- base::c(r_version = base::gsub("R version ", [13:14:03.244] "", base::R.version$version.string), [13:14:03.244] platform = base::sprintf("%s (%s-bit)", [13:14:03.244] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.244] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.244] "release", "version")], collapse = " "), [13:14:03.244] hostname = base::Sys.info()[["nodename"]]) [13:14:03.244] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.244] info) [13:14:03.244] info <- base::paste(info, collapse = "; ") [13:14:03.244] if (!has_future) { [13:14:03.244] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.244] info) [13:14:03.244] } [13:14:03.244] else { [13:14:03.244] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.244] info, version) [13:14:03.244] } [13:14:03.244] base::stop(msg) [13:14:03.244] } [13:14:03.244] }) [13:14:03.244] } [13:14:03.244] options(future.plan = NULL) [13:14:03.244] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.244] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.244] } [13:14:03.244] ...future.workdir <- getwd() [13:14:03.244] } [13:14:03.244] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.244] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.244] } [13:14:03.244] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.244] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.244] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.244] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.244] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.244] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.244] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.244] base::names(...future.oldOptions)) [13:14:03.244] } [13:14:03.244] if (FALSE) { [13:14:03.244] } [13:14:03.244] else { [13:14:03.244] if (TRUE) { [13:14:03.244] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.244] open = "w") [13:14:03.244] } [13:14:03.244] else { [13:14:03.244] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.244] windows = "NUL", "/dev/null"), open = "w") [13:14:03.244] } [13:14:03.244] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.244] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.244] base::sink(type = "output", split = FALSE) [13:14:03.244] base::close(...future.stdout) [13:14:03.244] }, add = TRUE) [13:14:03.244] } [13:14:03.244] ...future.frame <- base::sys.nframe() [13:14:03.244] ...future.conditions <- base::list() [13:14:03.244] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.244] if (FALSE) { [13:14:03.244] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.244] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.244] } [13:14:03.244] ...future.result <- base::tryCatch({ [13:14:03.244] base::withCallingHandlers({ [13:14:03.244] ...future.value <- base::withVisible(base::local({ [13:14:03.244] do.call(function(...) { [13:14:03.244] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.244] if (!identical(...future.globals.maxSize.org, [13:14:03.244] ...future.globals.maxSize)) { [13:14:03.244] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.244] on.exit(options(oopts), add = TRUE) [13:14:03.244] } [13:14:03.244] { [13:14:03.244] lapply(seq_along(...future.elements_ii), [13:14:03.244] FUN = function(jj) { [13:14:03.244] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.244] ...future.FUN(...future.X_jj, ...) [13:14:03.244] }) [13:14:03.244] } [13:14:03.244] }, args = future.call.arguments) [13:14:03.244] })) [13:14:03.244] future::FutureResult(value = ...future.value$value, [13:14:03.244] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.244] ...future.rng), globalenv = if (FALSE) [13:14:03.244] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.244] ...future.globalenv.names)) [13:14:03.244] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.244] }, condition = base::local({ [13:14:03.244] c <- base::c [13:14:03.244] inherits <- base::inherits [13:14:03.244] invokeRestart <- base::invokeRestart [13:14:03.244] length <- base::length [13:14:03.244] list <- base::list [13:14:03.244] seq.int <- base::seq.int [13:14:03.244] signalCondition <- base::signalCondition [13:14:03.244] sys.calls <- base::sys.calls [13:14:03.244] `[[` <- base::`[[` [13:14:03.244] `+` <- base::`+` [13:14:03.244] `<<-` <- base::`<<-` [13:14:03.244] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.244] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.244] 3L)] [13:14:03.244] } [13:14:03.244] function(cond) { [13:14:03.244] is_error <- inherits(cond, "error") [13:14:03.244] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.244] NULL) [13:14:03.244] if (is_error) { [13:14:03.244] sessionInformation <- function() { [13:14:03.244] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.244] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.244] search = base::search(), system = base::Sys.info()) [13:14:03.244] } [13:14:03.244] ...future.conditions[[length(...future.conditions) + [13:14:03.244] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.244] cond$call), session = sessionInformation(), [13:14:03.244] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.244] signalCondition(cond) [13:14:03.244] } [13:14:03.244] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.244] "immediateCondition"))) { [13:14:03.244] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.244] ...future.conditions[[length(...future.conditions) + [13:14:03.244] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.244] if (TRUE && !signal) { [13:14:03.244] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.244] { [13:14:03.244] inherits <- base::inherits [13:14:03.244] invokeRestart <- base::invokeRestart [13:14:03.244] is.null <- base::is.null [13:14:03.244] muffled <- FALSE [13:14:03.244] if (inherits(cond, "message")) { [13:14:03.244] muffled <- grepl(pattern, "muffleMessage") [13:14:03.244] if (muffled) [13:14:03.244] invokeRestart("muffleMessage") [13:14:03.244] } [13:14:03.244] else if (inherits(cond, "warning")) { [13:14:03.244] muffled <- grepl(pattern, "muffleWarning") [13:14:03.244] if (muffled) [13:14:03.244] invokeRestart("muffleWarning") [13:14:03.244] } [13:14:03.244] else if (inherits(cond, "condition")) { [13:14:03.244] if (!is.null(pattern)) { [13:14:03.244] computeRestarts <- base::computeRestarts [13:14:03.244] grepl <- base::grepl [13:14:03.244] restarts <- computeRestarts(cond) [13:14:03.244] for (restart in restarts) { [13:14:03.244] name <- restart$name [13:14:03.244] if (is.null(name)) [13:14:03.244] next [13:14:03.244] if (!grepl(pattern, name)) [13:14:03.244] next [13:14:03.244] invokeRestart(restart) [13:14:03.244] muffled <- TRUE [13:14:03.244] break [13:14:03.244] } [13:14:03.244] } [13:14:03.244] } [13:14:03.244] invisible(muffled) [13:14:03.244] } [13:14:03.244] muffleCondition(cond, pattern = "^muffle") [13:14:03.244] } [13:14:03.244] } [13:14:03.244] else { [13:14:03.244] if (TRUE) { [13:14:03.244] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.244] { [13:14:03.244] inherits <- base::inherits [13:14:03.244] invokeRestart <- base::invokeRestart [13:14:03.244] is.null <- base::is.null [13:14:03.244] muffled <- FALSE [13:14:03.244] if (inherits(cond, "message")) { [13:14:03.244] muffled <- grepl(pattern, "muffleMessage") [13:14:03.244] if (muffled) [13:14:03.244] invokeRestart("muffleMessage") [13:14:03.244] } [13:14:03.244] else if (inherits(cond, "warning")) { [13:14:03.244] muffled <- grepl(pattern, "muffleWarning") [13:14:03.244] if (muffled) [13:14:03.244] invokeRestart("muffleWarning") [13:14:03.244] } [13:14:03.244] else if (inherits(cond, "condition")) { [13:14:03.244] if (!is.null(pattern)) { [13:14:03.244] computeRestarts <- base::computeRestarts [13:14:03.244] grepl <- base::grepl [13:14:03.244] restarts <- computeRestarts(cond) [13:14:03.244] for (restart in restarts) { [13:14:03.244] name <- restart$name [13:14:03.244] if (is.null(name)) [13:14:03.244] next [13:14:03.244] if (!grepl(pattern, name)) [13:14:03.244] next [13:14:03.244] invokeRestart(restart) [13:14:03.244] muffled <- TRUE [13:14:03.244] break [13:14:03.244] } [13:14:03.244] } [13:14:03.244] } [13:14:03.244] invisible(muffled) [13:14:03.244] } [13:14:03.244] muffleCondition(cond, pattern = "^muffle") [13:14:03.244] } [13:14:03.244] } [13:14:03.244] } [13:14:03.244] })) [13:14:03.244] }, error = function(ex) { [13:14:03.244] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.244] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.244] ...future.rng), started = ...future.startTime, [13:14:03.244] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.244] version = "1.8"), class = "FutureResult") [13:14:03.244] }, finally = { [13:14:03.244] if (!identical(...future.workdir, getwd())) [13:14:03.244] setwd(...future.workdir) [13:14:03.244] { [13:14:03.244] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.244] ...future.oldOptions$nwarnings <- NULL [13:14:03.244] } [13:14:03.244] base::options(...future.oldOptions) [13:14:03.244] if (.Platform$OS.type == "windows") { [13:14:03.244] old_names <- names(...future.oldEnvVars) [13:14:03.244] envs <- base::Sys.getenv() [13:14:03.244] names <- names(envs) [13:14:03.244] common <- intersect(names, old_names) [13:14:03.244] added <- setdiff(names, old_names) [13:14:03.244] removed <- setdiff(old_names, names) [13:14:03.244] changed <- common[...future.oldEnvVars[common] != [13:14:03.244] envs[common]] [13:14:03.244] NAMES <- toupper(changed) [13:14:03.244] args <- list() [13:14:03.244] for (kk in seq_along(NAMES)) { [13:14:03.244] name <- changed[[kk]] [13:14:03.244] NAME <- NAMES[[kk]] [13:14:03.244] if (name != NAME && is.element(NAME, old_names)) [13:14:03.244] next [13:14:03.244] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.244] } [13:14:03.244] NAMES <- toupper(added) [13:14:03.244] for (kk in seq_along(NAMES)) { [13:14:03.244] name <- added[[kk]] [13:14:03.244] NAME <- NAMES[[kk]] [13:14:03.244] if (name != NAME && is.element(NAME, old_names)) [13:14:03.244] next [13:14:03.244] args[[name]] <- "" [13:14:03.244] } [13:14:03.244] NAMES <- toupper(removed) [13:14:03.244] for (kk in seq_along(NAMES)) { [13:14:03.244] name <- removed[[kk]] [13:14:03.244] NAME <- NAMES[[kk]] [13:14:03.244] if (name != NAME && is.element(NAME, old_names)) [13:14:03.244] next [13:14:03.244] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.244] } [13:14:03.244] if (length(args) > 0) [13:14:03.244] base::do.call(base::Sys.setenv, args = args) [13:14:03.244] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.244] } [13:14:03.244] else { [13:14:03.244] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.244] } [13:14:03.244] { [13:14:03.244] if (base::length(...future.futureOptionsAdded) > [13:14:03.244] 0L) { [13:14:03.244] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.244] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.244] base::options(opts) [13:14:03.244] } [13:14:03.244] { [13:14:03.244] { [13:14:03.244] NULL [13:14:03.244] RNGkind("Mersenne-Twister") [13:14:03.244] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.244] inherits = FALSE) [13:14:03.244] } [13:14:03.244] options(future.plan = NULL) [13:14:03.244] if (is.na(NA_character_)) [13:14:03.244] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.244] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.244] future::plan(list(function (..., envir = parent.frame()) [13:14:03.244] { [13:14:03.244] future <- SequentialFuture(..., envir = envir) [13:14:03.244] if (!future$lazy) [13:14:03.244] future <- run(future) [13:14:03.244] invisible(future) [13:14:03.244] }), .cleanup = FALSE, .init = FALSE) [13:14:03.244] } [13:14:03.244] } [13:14:03.244] } [13:14:03.244] }) [13:14:03.244] if (TRUE) { [13:14:03.244] base::sink(type = "output", split = FALSE) [13:14:03.244] if (TRUE) { [13:14:03.244] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.244] } [13:14:03.244] else { [13:14:03.244] ...future.result["stdout"] <- base::list(NULL) [13:14:03.244] } [13:14:03.244] base::close(...future.stdout) [13:14:03.244] ...future.stdout <- NULL [13:14:03.244] } [13:14:03.244] ...future.result$conditions <- ...future.conditions [13:14:03.244] ...future.result$finished <- base::Sys.time() [13:14:03.244] ...future.result [13:14:03.244] } [13:14:03.246] assign_globals() ... [13:14:03.247] List of 5 [13:14:03.247] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:03.247] $ future.call.arguments : list() [13:14:03.247] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.247] $ ...future.elements_ii :List of 4 [13:14:03.247] ..$ A: num 50 [13:14:03.247] ..$ B: num 60 [13:14:03.247] ..$ C: num 70 [13:14:03.247] ..$ D: num 80 [13:14:03.247] $ ...future.seeds_ii : NULL [13:14:03.247] $ ...future.globals.maxSize: NULL [13:14:03.247] - attr(*, "where")=List of 5 [13:14:03.247] ..$ ...future.FUN : [13:14:03.247] ..$ future.call.arguments : [13:14:03.247] ..$ ...future.elements_ii : [13:14:03.247] ..$ ...future.seeds_ii : [13:14:03.247] ..$ ...future.globals.maxSize: [13:14:03.247] - attr(*, "resolved")= logi FALSE [13:14:03.247] - attr(*, "total_size")= num 4728 [13:14:03.247] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.247] - attr(*, "already-done")= logi TRUE [13:14:03.255] - reassign environment for '...future.FUN' [13:14:03.255] - copied '...future.FUN' to environment [13:14:03.255] - copied 'future.call.arguments' to environment [13:14:03.255] - copied '...future.elements_ii' to environment [13:14:03.255] - copied '...future.seeds_ii' to environment [13:14:03.255] - copied '...future.globals.maxSize' to environment [13:14:03.255] assign_globals() ... done [13:14:03.256] plan(): Setting new future strategy stack: [13:14:03.256] List of future strategies: [13:14:03.256] 1. sequential: [13:14:03.256] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.256] - tweaked: FALSE [13:14:03.256] - call: NULL [13:14:03.256] plan(): nbrOfWorkers() = 1 [13:14:03.257] plan(): Setting new future strategy stack: [13:14:03.257] List of future strategies: [13:14:03.257] 1. sequential: [13:14:03.257] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.257] - tweaked: FALSE [13:14:03.257] - call: plan(strategy) [13:14:03.258] plan(): nbrOfWorkers() = 1 [13:14:03.258] SequentialFuture started (and completed) [13:14:03.258] - Launch lazy future ... done [13:14:03.258] run() for 'SequentialFuture' ... done [13:14:03.258] Created future: [13:14:03.258] SequentialFuture: [13:14:03.258] Label: 'future_sapply-1' [13:14:03.258] Expression: [13:14:03.258] { [13:14:03.258] do.call(function(...) { [13:14:03.258] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.258] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.258] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.258] on.exit(options(oopts), add = TRUE) [13:14:03.258] } [13:14:03.258] { [13:14:03.258] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.258] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.258] ...future.FUN(...future.X_jj, ...) [13:14:03.258] }) [13:14:03.258] } [13:14:03.258] }, args = future.call.arguments) [13:14:03.258] } [13:14:03.258] Lazy evaluation: FALSE [13:14:03.258] Asynchronous evaluation: FALSE [13:14:03.258] Local evaluation: TRUE [13:14:03.258] Environment: R_GlobalEnv [13:14:03.258] Capture standard output: TRUE [13:14:03.258] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.258] Globals: 5 objects totaling 4.84 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.258] Packages: [13:14:03.258] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.258] Resolved: TRUE [13:14:03.258] Value: 1.34 KiB of class 'list' [13:14:03.258] Early signaling: FALSE [13:14:03.258] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.258] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.260] Chunk #1 of 1 ... DONE [13:14:03.260] Launching 1 futures (chunks) ... DONE [13:14:03.260] Resolving 1 futures (chunks) ... [13:14:03.260] resolve() on list ... [13:14:03.260] recursive: 0 [13:14:03.260] length: 1 [13:14:03.260] [13:14:03.260] resolved() for 'SequentialFuture' ... [13:14:03.261] - state: 'finished' [13:14:03.261] - run: TRUE [13:14:03.261] - result: 'FutureResult' [13:14:03.261] resolved() for 'SequentialFuture' ... done [13:14:03.261] Future #1 [13:14:03.261] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.262] - nx: 1 [13:14:03.262] - relay: TRUE [13:14:03.262] - stdout: TRUE [13:14:03.262] - signal: TRUE [13:14:03.262] - resignal: FALSE [13:14:03.262] - force: TRUE [13:14:03.262] - relayed: [n=1] FALSE [13:14:03.262] - queued futures: [n=1] FALSE [13:14:03.263] - until=1 [13:14:03.263] - relaying element #1 [13:14:03.263] - relayed: [n=1] TRUE [13:14:03.263] - queued futures: [n=1] TRUE [13:14:03.263] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.263] length: 0 (resolved future 1) [13:14:03.264] Relaying remaining futures [13:14:03.264] signalConditionsASAP(NULL, pos=0) ... [13:14:03.264] - nx: 1 [13:14:03.264] - relay: TRUE [13:14:03.264] - stdout: TRUE [13:14:03.264] - signal: TRUE [13:14:03.264] - resignal: FALSE [13:14:03.264] - force: TRUE [13:14:03.265] - relayed: [n=1] TRUE [13:14:03.265] - queued futures: [n=1] TRUE - flush all [13:14:03.265] - relayed: [n=1] TRUE [13:14:03.265] - queued futures: [n=1] TRUE [13:14:03.265] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.265] resolve() on list ... DONE [13:14:03.265] - Number of value chunks collected: 1 [13:14:03.266] Resolving 1 futures (chunks) ... DONE [13:14:03.266] Reducing values from 1 chunks ... [13:14:03.266] - Number of values collected after concatenation: 4 [13:14:03.266] - Number of values expected: 4 [13:14:03.266] Reducing values from 1 chunks ... DONE [13:14:03.266] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:03.269] future_lapply() ... [13:14:03.269] Number of chunks: 1 [13:14:03.270] getGlobalsAndPackagesXApply() ... [13:14:03.270] - future.globals: TRUE [13:14:03.270] getGlobalsAndPackages() ... [13:14:03.270] Searching for globals... [13:14:03.271] - globals found: [1] 'FUN' [13:14:03.271] Searching for globals ... DONE [13:14:03.271] Resolving globals: FALSE [13:14:03.272] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:03.272] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:03.272] - globals: [1] 'FUN' [13:14:03.272] [13:14:03.272] getGlobalsAndPackages() ... DONE [13:14:03.272] - globals found/used: [n=1] 'FUN' [13:14:03.273] - needed namespaces: [n=0] [13:14:03.273] Finding globals ... DONE [13:14:03.273] - use_args: TRUE [13:14:03.273] - Getting '...' globals ... [13:14:03.273] resolve() on list ... [13:14:03.273] recursive: 0 [13:14:03.274] length: 1 [13:14:03.274] elements: '...' [13:14:03.274] length: 0 (resolved future 1) [13:14:03.274] resolve() on list ... DONE [13:14:03.274] - '...' content: [n=0] [13:14:03.274] List of 1 [13:14:03.274] $ ...: list() [13:14:03.274] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.274] - attr(*, "where")=List of 1 [13:14:03.274] ..$ ...: [13:14:03.274] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.274] - attr(*, "resolved")= logi TRUE [13:14:03.274] - attr(*, "total_size")= num NA [13:14:03.277] - Getting '...' globals ... DONE [13:14:03.277] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.277] List of 2 [13:14:03.277] $ ...future.FUN:function (x) [13:14:03.277] $ ... : list() [13:14:03.277] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.277] - attr(*, "where")=List of 2 [13:14:03.277] ..$ ...future.FUN: [13:14:03.277] ..$ ... : [13:14:03.277] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.277] - attr(*, "resolved")= logi FALSE [13:14:03.277] - attr(*, "total_size")= num 848 [13:14:03.280] Packages to be attached in all futures: [n=0] [13:14:03.280] getGlobalsAndPackagesXApply() ... DONE [13:14:03.280] Number of futures (= number of chunks): 1 [13:14:03.280] Launching 1 futures (chunks) ... [13:14:03.281] Chunk #1 of 1 ... [13:14:03.281] - Finding globals in 'X' for chunk #1 ... [13:14:03.281] getGlobalsAndPackages() ... [13:14:03.281] Searching for globals... [13:14:03.281] [13:14:03.281] Searching for globals ... DONE [13:14:03.281] - globals: [0] [13:14:03.281] getGlobalsAndPackages() ... DONE [13:14:03.282] + additional globals found: [n=0] [13:14:03.282] + additional namespaces needed: [n=0] [13:14:03.282] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.282] - seeds: [13:14:03.282] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.282] getGlobalsAndPackages() ... [13:14:03.282] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.282] Resolving globals: FALSE [13:14:03.283] Tweak future expression to call with '...' arguments ... [13:14:03.283] { [13:14:03.283] do.call(function(...) { [13:14:03.283] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.283] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.283] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.283] on.exit(options(oopts), add = TRUE) [13:14:03.283] } [13:14:03.283] { [13:14:03.283] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.283] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.283] ...future.FUN(...future.X_jj, ...) [13:14:03.283] }) [13:14:03.283] } [13:14:03.283] }, args = future.call.arguments) [13:14:03.283] } [13:14:03.283] Tweak future expression to call with '...' arguments ... DONE [13:14:03.283] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.283] [13:14:03.284] getGlobalsAndPackages() ... DONE [13:14:03.284] run() for 'Future' ... [13:14:03.284] - state: 'created' [13:14:03.284] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.284] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.285] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.285] - Field: 'label' [13:14:03.285] - Field: 'local' [13:14:03.285] - Field: 'owner' [13:14:03.285] - Field: 'envir' [13:14:03.285] - Field: 'packages' [13:14:03.285] - Field: 'gc' [13:14:03.285] - Field: 'conditions' [13:14:03.286] - Field: 'expr' [13:14:03.286] - Field: 'uuid' [13:14:03.286] - Field: 'seed' [13:14:03.286] - Field: 'version' [13:14:03.286] - Field: 'result' [13:14:03.286] - Field: 'asynchronous' [13:14:03.286] - Field: 'calls' [13:14:03.286] - Field: 'globals' [13:14:03.287] - Field: 'stdout' [13:14:03.287] - Field: 'earlySignal' [13:14:03.287] - Field: 'lazy' [13:14:03.287] - Field: 'state' [13:14:03.287] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.287] - Launch lazy future ... [13:14:03.287] Packages needed by the future expression (n = 0): [13:14:03.287] Packages needed by future strategies (n = 0): [13:14:03.288] { [13:14:03.288] { [13:14:03.288] { [13:14:03.288] ...future.startTime <- base::Sys.time() [13:14:03.288] { [13:14:03.288] { [13:14:03.288] { [13:14:03.288] base::local({ [13:14:03.288] has_future <- base::requireNamespace("future", [13:14:03.288] quietly = TRUE) [13:14:03.288] if (has_future) { [13:14:03.288] ns <- base::getNamespace("future") [13:14:03.288] version <- ns[[".package"]][["version"]] [13:14:03.288] if (is.null(version)) [13:14:03.288] version <- utils::packageVersion("future") [13:14:03.288] } [13:14:03.288] else { [13:14:03.288] version <- NULL [13:14:03.288] } [13:14:03.288] if (!has_future || version < "1.8.0") { [13:14:03.288] info <- base::c(r_version = base::gsub("R version ", [13:14:03.288] "", base::R.version$version.string), [13:14:03.288] platform = base::sprintf("%s (%s-bit)", [13:14:03.288] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.288] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.288] "release", "version")], collapse = " "), [13:14:03.288] hostname = base::Sys.info()[["nodename"]]) [13:14:03.288] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.288] info) [13:14:03.288] info <- base::paste(info, collapse = "; ") [13:14:03.288] if (!has_future) { [13:14:03.288] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.288] info) [13:14:03.288] } [13:14:03.288] else { [13:14:03.288] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.288] info, version) [13:14:03.288] } [13:14:03.288] base::stop(msg) [13:14:03.288] } [13:14:03.288] }) [13:14:03.288] } [13:14:03.288] options(future.plan = NULL) [13:14:03.288] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.288] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.288] } [13:14:03.288] ...future.workdir <- getwd() [13:14:03.288] } [13:14:03.288] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.288] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.288] } [13:14:03.288] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.288] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.288] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.288] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.288] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.288] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.288] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.288] base::names(...future.oldOptions)) [13:14:03.288] } [13:14:03.288] if (FALSE) { [13:14:03.288] } [13:14:03.288] else { [13:14:03.288] if (TRUE) { [13:14:03.288] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.288] open = "w") [13:14:03.288] } [13:14:03.288] else { [13:14:03.288] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.288] windows = "NUL", "/dev/null"), open = "w") [13:14:03.288] } [13:14:03.288] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.288] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.288] base::sink(type = "output", split = FALSE) [13:14:03.288] base::close(...future.stdout) [13:14:03.288] }, add = TRUE) [13:14:03.288] } [13:14:03.288] ...future.frame <- base::sys.nframe() [13:14:03.288] ...future.conditions <- base::list() [13:14:03.288] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.288] if (FALSE) { [13:14:03.288] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.288] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.288] } [13:14:03.288] ...future.result <- base::tryCatch({ [13:14:03.288] base::withCallingHandlers({ [13:14:03.288] ...future.value <- base::withVisible(base::local({ [13:14:03.288] do.call(function(...) { [13:14:03.288] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.288] if (!identical(...future.globals.maxSize.org, [13:14:03.288] ...future.globals.maxSize)) { [13:14:03.288] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.288] on.exit(options(oopts), add = TRUE) [13:14:03.288] } [13:14:03.288] { [13:14:03.288] lapply(seq_along(...future.elements_ii), [13:14:03.288] FUN = function(jj) { [13:14:03.288] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.288] ...future.FUN(...future.X_jj, ...) [13:14:03.288] }) [13:14:03.288] } [13:14:03.288] }, args = future.call.arguments) [13:14:03.288] })) [13:14:03.288] future::FutureResult(value = ...future.value$value, [13:14:03.288] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.288] ...future.rng), globalenv = if (FALSE) [13:14:03.288] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.288] ...future.globalenv.names)) [13:14:03.288] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.288] }, condition = base::local({ [13:14:03.288] c <- base::c [13:14:03.288] inherits <- base::inherits [13:14:03.288] invokeRestart <- base::invokeRestart [13:14:03.288] length <- base::length [13:14:03.288] list <- base::list [13:14:03.288] seq.int <- base::seq.int [13:14:03.288] signalCondition <- base::signalCondition [13:14:03.288] sys.calls <- base::sys.calls [13:14:03.288] `[[` <- base::`[[` [13:14:03.288] `+` <- base::`+` [13:14:03.288] `<<-` <- base::`<<-` [13:14:03.288] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.288] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.288] 3L)] [13:14:03.288] } [13:14:03.288] function(cond) { [13:14:03.288] is_error <- inherits(cond, "error") [13:14:03.288] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.288] NULL) [13:14:03.288] if (is_error) { [13:14:03.288] sessionInformation <- function() { [13:14:03.288] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.288] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.288] search = base::search(), system = base::Sys.info()) [13:14:03.288] } [13:14:03.288] ...future.conditions[[length(...future.conditions) + [13:14:03.288] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.288] cond$call), session = sessionInformation(), [13:14:03.288] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.288] signalCondition(cond) [13:14:03.288] } [13:14:03.288] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.288] "immediateCondition"))) { [13:14:03.288] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.288] ...future.conditions[[length(...future.conditions) + [13:14:03.288] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.288] if (TRUE && !signal) { [13:14:03.288] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.288] { [13:14:03.288] inherits <- base::inherits [13:14:03.288] invokeRestart <- base::invokeRestart [13:14:03.288] is.null <- base::is.null [13:14:03.288] muffled <- FALSE [13:14:03.288] if (inherits(cond, "message")) { [13:14:03.288] muffled <- grepl(pattern, "muffleMessage") [13:14:03.288] if (muffled) [13:14:03.288] invokeRestart("muffleMessage") [13:14:03.288] } [13:14:03.288] else if (inherits(cond, "warning")) { [13:14:03.288] muffled <- grepl(pattern, "muffleWarning") [13:14:03.288] if (muffled) [13:14:03.288] invokeRestart("muffleWarning") [13:14:03.288] } [13:14:03.288] else if (inherits(cond, "condition")) { [13:14:03.288] if (!is.null(pattern)) { [13:14:03.288] computeRestarts <- base::computeRestarts [13:14:03.288] grepl <- base::grepl [13:14:03.288] restarts <- computeRestarts(cond) [13:14:03.288] for (restart in restarts) { [13:14:03.288] name <- restart$name [13:14:03.288] if (is.null(name)) [13:14:03.288] next [13:14:03.288] if (!grepl(pattern, name)) [13:14:03.288] next [13:14:03.288] invokeRestart(restart) [13:14:03.288] muffled <- TRUE [13:14:03.288] break [13:14:03.288] } [13:14:03.288] } [13:14:03.288] } [13:14:03.288] invisible(muffled) [13:14:03.288] } [13:14:03.288] muffleCondition(cond, pattern = "^muffle") [13:14:03.288] } [13:14:03.288] } [13:14:03.288] else { [13:14:03.288] if (TRUE) { [13:14:03.288] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.288] { [13:14:03.288] inherits <- base::inherits [13:14:03.288] invokeRestart <- base::invokeRestart [13:14:03.288] is.null <- base::is.null [13:14:03.288] muffled <- FALSE [13:14:03.288] if (inherits(cond, "message")) { [13:14:03.288] muffled <- grepl(pattern, "muffleMessage") [13:14:03.288] if (muffled) [13:14:03.288] invokeRestart("muffleMessage") [13:14:03.288] } [13:14:03.288] else if (inherits(cond, "warning")) { [13:14:03.288] muffled <- grepl(pattern, "muffleWarning") [13:14:03.288] if (muffled) [13:14:03.288] invokeRestart("muffleWarning") [13:14:03.288] } [13:14:03.288] else if (inherits(cond, "condition")) { [13:14:03.288] if (!is.null(pattern)) { [13:14:03.288] computeRestarts <- base::computeRestarts [13:14:03.288] grepl <- base::grepl [13:14:03.288] restarts <- computeRestarts(cond) [13:14:03.288] for (restart in restarts) { [13:14:03.288] name <- restart$name [13:14:03.288] if (is.null(name)) [13:14:03.288] next [13:14:03.288] if (!grepl(pattern, name)) [13:14:03.288] next [13:14:03.288] invokeRestart(restart) [13:14:03.288] muffled <- TRUE [13:14:03.288] break [13:14:03.288] } [13:14:03.288] } [13:14:03.288] } [13:14:03.288] invisible(muffled) [13:14:03.288] } [13:14:03.288] muffleCondition(cond, pattern = "^muffle") [13:14:03.288] } [13:14:03.288] } [13:14:03.288] } [13:14:03.288] })) [13:14:03.288] }, error = function(ex) { [13:14:03.288] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.288] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.288] ...future.rng), started = ...future.startTime, [13:14:03.288] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.288] version = "1.8"), class = "FutureResult") [13:14:03.288] }, finally = { [13:14:03.288] if (!identical(...future.workdir, getwd())) [13:14:03.288] setwd(...future.workdir) [13:14:03.288] { [13:14:03.288] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.288] ...future.oldOptions$nwarnings <- NULL [13:14:03.288] } [13:14:03.288] base::options(...future.oldOptions) [13:14:03.288] if (.Platform$OS.type == "windows") { [13:14:03.288] old_names <- names(...future.oldEnvVars) [13:14:03.288] envs <- base::Sys.getenv() [13:14:03.288] names <- names(envs) [13:14:03.288] common <- intersect(names, old_names) [13:14:03.288] added <- setdiff(names, old_names) [13:14:03.288] removed <- setdiff(old_names, names) [13:14:03.288] changed <- common[...future.oldEnvVars[common] != [13:14:03.288] envs[common]] [13:14:03.288] NAMES <- toupper(changed) [13:14:03.288] args <- list() [13:14:03.288] for (kk in seq_along(NAMES)) { [13:14:03.288] name <- changed[[kk]] [13:14:03.288] NAME <- NAMES[[kk]] [13:14:03.288] if (name != NAME && is.element(NAME, old_names)) [13:14:03.288] next [13:14:03.288] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.288] } [13:14:03.288] NAMES <- toupper(added) [13:14:03.288] for (kk in seq_along(NAMES)) { [13:14:03.288] name <- added[[kk]] [13:14:03.288] NAME <- NAMES[[kk]] [13:14:03.288] if (name != NAME && is.element(NAME, old_names)) [13:14:03.288] next [13:14:03.288] args[[name]] <- "" [13:14:03.288] } [13:14:03.288] NAMES <- toupper(removed) [13:14:03.288] for (kk in seq_along(NAMES)) { [13:14:03.288] name <- removed[[kk]] [13:14:03.288] NAME <- NAMES[[kk]] [13:14:03.288] if (name != NAME && is.element(NAME, old_names)) [13:14:03.288] next [13:14:03.288] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.288] } [13:14:03.288] if (length(args) > 0) [13:14:03.288] base::do.call(base::Sys.setenv, args = args) [13:14:03.288] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.288] } [13:14:03.288] else { [13:14:03.288] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.288] } [13:14:03.288] { [13:14:03.288] if (base::length(...future.futureOptionsAdded) > [13:14:03.288] 0L) { [13:14:03.288] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.288] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.288] base::options(opts) [13:14:03.288] } [13:14:03.288] { [13:14:03.288] { [13:14:03.288] NULL [13:14:03.288] RNGkind("Mersenne-Twister") [13:14:03.288] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.288] inherits = FALSE) [13:14:03.288] } [13:14:03.288] options(future.plan = NULL) [13:14:03.288] if (is.na(NA_character_)) [13:14:03.288] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.288] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.288] future::plan(list(function (..., envir = parent.frame()) [13:14:03.288] { [13:14:03.288] future <- SequentialFuture(..., envir = envir) [13:14:03.288] if (!future$lazy) [13:14:03.288] future <- run(future) [13:14:03.288] invisible(future) [13:14:03.288] }), .cleanup = FALSE, .init = FALSE) [13:14:03.288] } [13:14:03.288] } [13:14:03.288] } [13:14:03.288] }) [13:14:03.288] if (TRUE) { [13:14:03.288] base::sink(type = "output", split = FALSE) [13:14:03.288] if (TRUE) { [13:14:03.288] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.288] } [13:14:03.288] else { [13:14:03.288] ...future.result["stdout"] <- base::list(NULL) [13:14:03.288] } [13:14:03.288] base::close(...future.stdout) [13:14:03.288] ...future.stdout <- NULL [13:14:03.288] } [13:14:03.288] ...future.result$conditions <- ...future.conditions [13:14:03.288] ...future.result$finished <- base::Sys.time() [13:14:03.288] ...future.result [13:14:03.288] } [13:14:03.291] assign_globals() ... [13:14:03.291] List of 5 [13:14:03.291] $ ...future.FUN :function (x) [13:14:03.291] $ future.call.arguments : list() [13:14:03.291] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.291] $ ...future.elements_ii :List of 4 [13:14:03.291] ..$ A: num 50 [13:14:03.291] ..$ B: num 60 [13:14:03.291] ..$ C: num 70 [13:14:03.291] ..$ D: num 80 [13:14:03.291] $ ...future.seeds_ii : NULL [13:14:03.291] $ ...future.globals.maxSize: NULL [13:14:03.291] - attr(*, "where")=List of 5 [13:14:03.291] ..$ ...future.FUN : [13:14:03.291] ..$ future.call.arguments : [13:14:03.291] ..$ ...future.elements_ii : [13:14:03.291] ..$ ...future.seeds_ii : [13:14:03.291] ..$ ...future.globals.maxSize: [13:14:03.291] - attr(*, "resolved")= logi FALSE [13:14:03.291] - attr(*, "total_size")= num 848 [13:14:03.291] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.291] - attr(*, "already-done")= logi TRUE [13:14:03.296] - copied '...future.FUN' to environment [13:14:03.296] - copied 'future.call.arguments' to environment [13:14:03.296] - copied '...future.elements_ii' to environment [13:14:03.296] - copied '...future.seeds_ii' to environment [13:14:03.296] - copied '...future.globals.maxSize' to environment [13:14:03.296] assign_globals() ... done [13:14:03.297] plan(): Setting new future strategy stack: [13:14:03.297] List of future strategies: [13:14:03.297] 1. sequential: [13:14:03.297] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.297] - tweaked: FALSE [13:14:03.297] - call: NULL [13:14:03.297] plan(): nbrOfWorkers() = 1 [13:14:03.298] plan(): Setting new future strategy stack: [13:14:03.298] List of future strategies: [13:14:03.298] 1. sequential: [13:14:03.298] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.298] - tweaked: FALSE [13:14:03.298] - call: plan(strategy) [13:14:03.299] plan(): nbrOfWorkers() = 1 [13:14:03.299] SequentialFuture started (and completed) [13:14:03.299] - Launch lazy future ... done [13:14:03.299] run() for 'SequentialFuture' ... done [13:14:03.299] Created future: [13:14:03.299] SequentialFuture: [13:14:03.299] Label: 'future_sapply-1' [13:14:03.299] Expression: [13:14:03.299] { [13:14:03.299] do.call(function(...) { [13:14:03.299] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.299] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.299] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.299] on.exit(options(oopts), add = TRUE) [13:14:03.299] } [13:14:03.299] { [13:14:03.299] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.299] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.299] ...future.FUN(...future.X_jj, ...) [13:14:03.299] }) [13:14:03.299] } [13:14:03.299] }, args = future.call.arguments) [13:14:03.299] } [13:14:03.299] Lazy evaluation: FALSE [13:14:03.299] Asynchronous evaluation: FALSE [13:14:03.299] Local evaluation: TRUE [13:14:03.299] Environment: R_GlobalEnv [13:14:03.299] Capture standard output: TRUE [13:14:03.299] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.299] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.299] Packages: [13:14:03.299] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.299] Resolved: TRUE [13:14:03.299] Value: 224 bytes of class 'list' [13:14:03.299] Early signaling: FALSE [13:14:03.299] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.299] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.300] Chunk #1 of 1 ... DONE [13:14:03.300] Launching 1 futures (chunks) ... DONE [13:14:03.300] Resolving 1 futures (chunks) ... [13:14:03.301] resolve() on list ... [13:14:03.301] recursive: 0 [13:14:03.301] length: 1 [13:14:03.301] [13:14:03.301] resolved() for 'SequentialFuture' ... [13:14:03.301] - state: 'finished' [13:14:03.301] - run: TRUE [13:14:03.301] - result: 'FutureResult' [13:14:03.302] resolved() for 'SequentialFuture' ... done [13:14:03.302] Future #1 [13:14:03.302] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.302] - nx: 1 [13:14:03.302] - relay: TRUE [13:14:03.302] - stdout: TRUE [13:14:03.302] - signal: TRUE [13:14:03.302] - resignal: FALSE [13:14:03.303] - force: TRUE [13:14:03.303] - relayed: [n=1] FALSE [13:14:03.303] - queued futures: [n=1] FALSE [13:14:03.303] - until=1 [13:14:03.303] - relaying element #1 [13:14:03.303] - relayed: [n=1] TRUE [13:14:03.303] - queued futures: [n=1] TRUE [13:14:03.303] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.304] length: 0 (resolved future 1) [13:14:03.304] Relaying remaining futures [13:14:03.304] signalConditionsASAP(NULL, pos=0) ... [13:14:03.304] - nx: 1 [13:14:03.304] - relay: TRUE [13:14:03.304] - stdout: TRUE [13:14:03.304] - signal: TRUE [13:14:03.304] - resignal: FALSE [13:14:03.304] - force: TRUE [13:14:03.304] - relayed: [n=1] TRUE [13:14:03.305] - queued futures: [n=1] TRUE - flush all [13:14:03.305] - relayed: [n=1] TRUE [13:14:03.305] - queued futures: [n=1] TRUE [13:14:03.305] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.305] resolve() on list ... DONE [13:14:03.305] - Number of value chunks collected: 1 [13:14:03.305] Resolving 1 futures (chunks) ... DONE [13:14:03.306] Reducing values from 1 chunks ... [13:14:03.306] - Number of values collected after concatenation: 4 [13:14:03.306] - Number of values expected: 4 [13:14:03.306] Reducing values from 1 chunks ... DONE [13:14:03.306] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:03.307] future_lapply() ... [13:14:03.308] Number of chunks: 1 [13:14:03.308] getGlobalsAndPackagesXApply() ... [13:14:03.308] - future.globals: TRUE [13:14:03.308] getGlobalsAndPackages() ... [13:14:03.308] Searching for globals... [13:14:03.309] - globals found: [2] 'FUN', 'UseMethod' [13:14:03.309] Searching for globals ... DONE [13:14:03.309] Resolving globals: FALSE [13:14:03.310] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:03.310] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:03.310] - globals: [1] 'FUN' [13:14:03.310] [13:14:03.311] getGlobalsAndPackages() ... DONE [13:14:03.311] - globals found/used: [n=1] 'FUN' [13:14:03.311] - needed namespaces: [n=0] [13:14:03.311] Finding globals ... DONE [13:14:03.311] - use_args: TRUE [13:14:03.311] - Getting '...' globals ... [13:14:03.311] resolve() on list ... [13:14:03.312] recursive: 0 [13:14:03.312] length: 1 [13:14:03.312] elements: '...' [13:14:03.312] length: 0 (resolved future 1) [13:14:03.312] resolve() on list ... DONE [13:14:03.312] - '...' content: [n=0] [13:14:03.312] List of 1 [13:14:03.312] $ ...: list() [13:14:03.312] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.312] - attr(*, "where")=List of 1 [13:14:03.312] ..$ ...: [13:14:03.312] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.312] - attr(*, "resolved")= logi TRUE [13:14:03.312] - attr(*, "total_size")= num NA [13:14:03.314] - Getting '...' globals ... DONE [13:14:03.315] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.315] List of 2 [13:14:03.315] $ ...future.FUN:function (x, ...) [13:14:03.315] $ ... : list() [13:14:03.315] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.315] - attr(*, "where")=List of 2 [13:14:03.315] ..$ ...future.FUN: [13:14:03.315] ..$ ... : [13:14:03.315] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.315] - attr(*, "resolved")= logi FALSE [13:14:03.315] - attr(*, "total_size")= num 1248 [13:14:03.317] Packages to be attached in all futures: [n=0] [13:14:03.317] getGlobalsAndPackagesXApply() ... DONE [13:14:03.317] Number of futures (= number of chunks): 1 [13:14:03.317] Launching 1 futures (chunks) ... [13:14:03.318] Chunk #1 of 1 ... [13:14:03.318] - Finding globals in 'X' for chunk #1 ... [13:14:03.318] getGlobalsAndPackages() ... [13:14:03.318] Searching for globals... [13:14:03.318] [13:14:03.318] Searching for globals ... DONE [13:14:03.318] - globals: [0] [13:14:03.319] getGlobalsAndPackages() ... DONE [13:14:03.319] + additional globals found: [n=0] [13:14:03.319] + additional namespaces needed: [n=0] [13:14:03.319] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.319] - seeds: [13:14:03.319] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.319] getGlobalsAndPackages() ... [13:14:03.319] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.319] Resolving globals: FALSE [13:14:03.320] Tweak future expression to call with '...' arguments ... [13:14:03.320] { [13:14:03.320] do.call(function(...) { [13:14:03.320] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.320] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.320] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.320] on.exit(options(oopts), add = TRUE) [13:14:03.320] } [13:14:03.320] { [13:14:03.320] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.320] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.320] ...future.FUN(...future.X_jj, ...) [13:14:03.320] }) [13:14:03.320] } [13:14:03.320] }, args = future.call.arguments) [13:14:03.320] } [13:14:03.320] Tweak future expression to call with '...' arguments ... DONE [13:14:03.320] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.321] [13:14:03.321] getGlobalsAndPackages() ... DONE [13:14:03.321] run() for 'Future' ... [13:14:03.321] - state: 'created' [13:14:03.321] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.321] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.322] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.322] - Field: 'label' [13:14:03.322] - Field: 'local' [13:14:03.322] - Field: 'owner' [13:14:03.322] - Field: 'envir' [13:14:03.322] - Field: 'packages' [13:14:03.323] - Field: 'gc' [13:14:03.323] - Field: 'conditions' [13:14:03.323] - Field: 'expr' [13:14:03.323] - Field: 'uuid' [13:14:03.323] - Field: 'seed' [13:14:03.323] - Field: 'version' [13:14:03.323] - Field: 'result' [13:14:03.323] - Field: 'asynchronous' [13:14:03.324] - Field: 'calls' [13:14:03.324] - Field: 'globals' [13:14:03.324] - Field: 'stdout' [13:14:03.324] - Field: 'earlySignal' [13:14:03.324] - Field: 'lazy' [13:14:03.324] - Field: 'state' [13:14:03.324] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.324] - Launch lazy future ... [13:14:03.325] Packages needed by the future expression (n = 0): [13:14:03.325] Packages needed by future strategies (n = 0): [13:14:03.325] { [13:14:03.325] { [13:14:03.325] { [13:14:03.325] ...future.startTime <- base::Sys.time() [13:14:03.325] { [13:14:03.325] { [13:14:03.325] { [13:14:03.325] base::local({ [13:14:03.325] has_future <- base::requireNamespace("future", [13:14:03.325] quietly = TRUE) [13:14:03.325] if (has_future) { [13:14:03.325] ns <- base::getNamespace("future") [13:14:03.325] version <- ns[[".package"]][["version"]] [13:14:03.325] if (is.null(version)) [13:14:03.325] version <- utils::packageVersion("future") [13:14:03.325] } [13:14:03.325] else { [13:14:03.325] version <- NULL [13:14:03.325] } [13:14:03.325] if (!has_future || version < "1.8.0") { [13:14:03.325] info <- base::c(r_version = base::gsub("R version ", [13:14:03.325] "", base::R.version$version.string), [13:14:03.325] platform = base::sprintf("%s (%s-bit)", [13:14:03.325] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.325] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.325] "release", "version")], collapse = " "), [13:14:03.325] hostname = base::Sys.info()[["nodename"]]) [13:14:03.325] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.325] info) [13:14:03.325] info <- base::paste(info, collapse = "; ") [13:14:03.325] if (!has_future) { [13:14:03.325] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.325] info) [13:14:03.325] } [13:14:03.325] else { [13:14:03.325] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.325] info, version) [13:14:03.325] } [13:14:03.325] base::stop(msg) [13:14:03.325] } [13:14:03.325] }) [13:14:03.325] } [13:14:03.325] options(future.plan = NULL) [13:14:03.325] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.325] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.325] } [13:14:03.325] ...future.workdir <- getwd() [13:14:03.325] } [13:14:03.325] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.325] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.325] } [13:14:03.325] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.325] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.325] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.325] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.325] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.325] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.325] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.325] base::names(...future.oldOptions)) [13:14:03.325] } [13:14:03.325] if (FALSE) { [13:14:03.325] } [13:14:03.325] else { [13:14:03.325] if (TRUE) { [13:14:03.325] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.325] open = "w") [13:14:03.325] } [13:14:03.325] else { [13:14:03.325] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.325] windows = "NUL", "/dev/null"), open = "w") [13:14:03.325] } [13:14:03.325] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.325] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.325] base::sink(type = "output", split = FALSE) [13:14:03.325] base::close(...future.stdout) [13:14:03.325] }, add = TRUE) [13:14:03.325] } [13:14:03.325] ...future.frame <- base::sys.nframe() [13:14:03.325] ...future.conditions <- base::list() [13:14:03.325] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.325] if (FALSE) { [13:14:03.325] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.325] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.325] } [13:14:03.325] ...future.result <- base::tryCatch({ [13:14:03.325] base::withCallingHandlers({ [13:14:03.325] ...future.value <- base::withVisible(base::local({ [13:14:03.325] do.call(function(...) { [13:14:03.325] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.325] if (!identical(...future.globals.maxSize.org, [13:14:03.325] ...future.globals.maxSize)) { [13:14:03.325] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.325] on.exit(options(oopts), add = TRUE) [13:14:03.325] } [13:14:03.325] { [13:14:03.325] lapply(seq_along(...future.elements_ii), [13:14:03.325] FUN = function(jj) { [13:14:03.325] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.325] ...future.FUN(...future.X_jj, ...) [13:14:03.325] }) [13:14:03.325] } [13:14:03.325] }, args = future.call.arguments) [13:14:03.325] })) [13:14:03.325] future::FutureResult(value = ...future.value$value, [13:14:03.325] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.325] ...future.rng), globalenv = if (FALSE) [13:14:03.325] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.325] ...future.globalenv.names)) [13:14:03.325] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.325] }, condition = base::local({ [13:14:03.325] c <- base::c [13:14:03.325] inherits <- base::inherits [13:14:03.325] invokeRestart <- base::invokeRestart [13:14:03.325] length <- base::length [13:14:03.325] list <- base::list [13:14:03.325] seq.int <- base::seq.int [13:14:03.325] signalCondition <- base::signalCondition [13:14:03.325] sys.calls <- base::sys.calls [13:14:03.325] `[[` <- base::`[[` [13:14:03.325] `+` <- base::`+` [13:14:03.325] `<<-` <- base::`<<-` [13:14:03.325] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.325] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.325] 3L)] [13:14:03.325] } [13:14:03.325] function(cond) { [13:14:03.325] is_error <- inherits(cond, "error") [13:14:03.325] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.325] NULL) [13:14:03.325] if (is_error) { [13:14:03.325] sessionInformation <- function() { [13:14:03.325] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.325] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.325] search = base::search(), system = base::Sys.info()) [13:14:03.325] } [13:14:03.325] ...future.conditions[[length(...future.conditions) + [13:14:03.325] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.325] cond$call), session = sessionInformation(), [13:14:03.325] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.325] signalCondition(cond) [13:14:03.325] } [13:14:03.325] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.325] "immediateCondition"))) { [13:14:03.325] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.325] ...future.conditions[[length(...future.conditions) + [13:14:03.325] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.325] if (TRUE && !signal) { [13:14:03.325] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.325] { [13:14:03.325] inherits <- base::inherits [13:14:03.325] invokeRestart <- base::invokeRestart [13:14:03.325] is.null <- base::is.null [13:14:03.325] muffled <- FALSE [13:14:03.325] if (inherits(cond, "message")) { [13:14:03.325] muffled <- grepl(pattern, "muffleMessage") [13:14:03.325] if (muffled) [13:14:03.325] invokeRestart("muffleMessage") [13:14:03.325] } [13:14:03.325] else if (inherits(cond, "warning")) { [13:14:03.325] muffled <- grepl(pattern, "muffleWarning") [13:14:03.325] if (muffled) [13:14:03.325] invokeRestart("muffleWarning") [13:14:03.325] } [13:14:03.325] else if (inherits(cond, "condition")) { [13:14:03.325] if (!is.null(pattern)) { [13:14:03.325] computeRestarts <- base::computeRestarts [13:14:03.325] grepl <- base::grepl [13:14:03.325] restarts <- computeRestarts(cond) [13:14:03.325] for (restart in restarts) { [13:14:03.325] name <- restart$name [13:14:03.325] if (is.null(name)) [13:14:03.325] next [13:14:03.325] if (!grepl(pattern, name)) [13:14:03.325] next [13:14:03.325] invokeRestart(restart) [13:14:03.325] muffled <- TRUE [13:14:03.325] break [13:14:03.325] } [13:14:03.325] } [13:14:03.325] } [13:14:03.325] invisible(muffled) [13:14:03.325] } [13:14:03.325] muffleCondition(cond, pattern = "^muffle") [13:14:03.325] } [13:14:03.325] } [13:14:03.325] else { [13:14:03.325] if (TRUE) { [13:14:03.325] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.325] { [13:14:03.325] inherits <- base::inherits [13:14:03.325] invokeRestart <- base::invokeRestart [13:14:03.325] is.null <- base::is.null [13:14:03.325] muffled <- FALSE [13:14:03.325] if (inherits(cond, "message")) { [13:14:03.325] muffled <- grepl(pattern, "muffleMessage") [13:14:03.325] if (muffled) [13:14:03.325] invokeRestart("muffleMessage") [13:14:03.325] } [13:14:03.325] else if (inherits(cond, "warning")) { [13:14:03.325] muffled <- grepl(pattern, "muffleWarning") [13:14:03.325] if (muffled) [13:14:03.325] invokeRestart("muffleWarning") [13:14:03.325] } [13:14:03.325] else if (inherits(cond, "condition")) { [13:14:03.325] if (!is.null(pattern)) { [13:14:03.325] computeRestarts <- base::computeRestarts [13:14:03.325] grepl <- base::grepl [13:14:03.325] restarts <- computeRestarts(cond) [13:14:03.325] for (restart in restarts) { [13:14:03.325] name <- restart$name [13:14:03.325] if (is.null(name)) [13:14:03.325] next [13:14:03.325] if (!grepl(pattern, name)) [13:14:03.325] next [13:14:03.325] invokeRestart(restart) [13:14:03.325] muffled <- TRUE [13:14:03.325] break [13:14:03.325] } [13:14:03.325] } [13:14:03.325] } [13:14:03.325] invisible(muffled) [13:14:03.325] } [13:14:03.325] muffleCondition(cond, pattern = "^muffle") [13:14:03.325] } [13:14:03.325] } [13:14:03.325] } [13:14:03.325] })) [13:14:03.325] }, error = function(ex) { [13:14:03.325] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.325] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.325] ...future.rng), started = ...future.startTime, [13:14:03.325] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.325] version = "1.8"), class = "FutureResult") [13:14:03.325] }, finally = { [13:14:03.325] if (!identical(...future.workdir, getwd())) [13:14:03.325] setwd(...future.workdir) [13:14:03.325] { [13:14:03.325] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.325] ...future.oldOptions$nwarnings <- NULL [13:14:03.325] } [13:14:03.325] base::options(...future.oldOptions) [13:14:03.325] if (.Platform$OS.type == "windows") { [13:14:03.325] old_names <- names(...future.oldEnvVars) [13:14:03.325] envs <- base::Sys.getenv() [13:14:03.325] names <- names(envs) [13:14:03.325] common <- intersect(names, old_names) [13:14:03.325] added <- setdiff(names, old_names) [13:14:03.325] removed <- setdiff(old_names, names) [13:14:03.325] changed <- common[...future.oldEnvVars[common] != [13:14:03.325] envs[common]] [13:14:03.325] NAMES <- toupper(changed) [13:14:03.325] args <- list() [13:14:03.325] for (kk in seq_along(NAMES)) { [13:14:03.325] name <- changed[[kk]] [13:14:03.325] NAME <- NAMES[[kk]] [13:14:03.325] if (name != NAME && is.element(NAME, old_names)) [13:14:03.325] next [13:14:03.325] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.325] } [13:14:03.325] NAMES <- toupper(added) [13:14:03.325] for (kk in seq_along(NAMES)) { [13:14:03.325] name <- added[[kk]] [13:14:03.325] NAME <- NAMES[[kk]] [13:14:03.325] if (name != NAME && is.element(NAME, old_names)) [13:14:03.325] next [13:14:03.325] args[[name]] <- "" [13:14:03.325] } [13:14:03.325] NAMES <- toupper(removed) [13:14:03.325] for (kk in seq_along(NAMES)) { [13:14:03.325] name <- removed[[kk]] [13:14:03.325] NAME <- NAMES[[kk]] [13:14:03.325] if (name != NAME && is.element(NAME, old_names)) [13:14:03.325] next [13:14:03.325] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.325] } [13:14:03.325] if (length(args) > 0) [13:14:03.325] base::do.call(base::Sys.setenv, args = args) [13:14:03.325] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.325] } [13:14:03.325] else { [13:14:03.325] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.325] } [13:14:03.325] { [13:14:03.325] if (base::length(...future.futureOptionsAdded) > [13:14:03.325] 0L) { [13:14:03.325] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.325] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.325] base::options(opts) [13:14:03.325] } [13:14:03.325] { [13:14:03.325] { [13:14:03.325] NULL [13:14:03.325] RNGkind("Mersenne-Twister") [13:14:03.325] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.325] inherits = FALSE) [13:14:03.325] } [13:14:03.325] options(future.plan = NULL) [13:14:03.325] if (is.na(NA_character_)) [13:14:03.325] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.325] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.325] future::plan(list(function (..., envir = parent.frame()) [13:14:03.325] { [13:14:03.325] future <- SequentialFuture(..., envir = envir) [13:14:03.325] if (!future$lazy) [13:14:03.325] future <- run(future) [13:14:03.325] invisible(future) [13:14:03.325] }), .cleanup = FALSE, .init = FALSE) [13:14:03.325] } [13:14:03.325] } [13:14:03.325] } [13:14:03.325] }) [13:14:03.325] if (TRUE) { [13:14:03.325] base::sink(type = "output", split = FALSE) [13:14:03.325] if (TRUE) { [13:14:03.325] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.325] } [13:14:03.325] else { [13:14:03.325] ...future.result["stdout"] <- base::list(NULL) [13:14:03.325] } [13:14:03.325] base::close(...future.stdout) [13:14:03.325] ...future.stdout <- NULL [13:14:03.325] } [13:14:03.325] ...future.result$conditions <- ...future.conditions [13:14:03.325] ...future.result$finished <- base::Sys.time() [13:14:03.325] ...future.result [13:14:03.325] } [13:14:03.328] assign_globals() ... [13:14:03.328] List of 5 [13:14:03.328] $ ...future.FUN :function (x, ...) [13:14:03.328] $ future.call.arguments : list() [13:14:03.328] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.328] $ ...future.elements_ii :List of 4 [13:14:03.328] ..$ A: num 50 [13:14:03.328] ..$ B: num 60 [13:14:03.328] ..$ C: num 70 [13:14:03.328] ..$ D: num 80 [13:14:03.328] $ ...future.seeds_ii : NULL [13:14:03.328] $ ...future.globals.maxSize: NULL [13:14:03.328] - attr(*, "where")=List of 5 [13:14:03.328] ..$ ...future.FUN : [13:14:03.328] ..$ future.call.arguments : [13:14:03.328] ..$ ...future.elements_ii : [13:14:03.328] ..$ ...future.seeds_ii : [13:14:03.328] ..$ ...future.globals.maxSize: [13:14:03.328] - attr(*, "resolved")= logi FALSE [13:14:03.328] - attr(*, "total_size")= num 1248 [13:14:03.328] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.328] - attr(*, "already-done")= logi TRUE [13:14:03.335] - copied '...future.FUN' to environment [13:14:03.335] - copied 'future.call.arguments' to environment [13:14:03.335] - copied '...future.elements_ii' to environment [13:14:03.336] - copied '...future.seeds_ii' to environment [13:14:03.336] - copied '...future.globals.maxSize' to environment [13:14:03.336] assign_globals() ... done [13:14:03.336] plan(): Setting new future strategy stack: [13:14:03.336] List of future strategies: [13:14:03.336] 1. sequential: [13:14:03.336] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.336] - tweaked: FALSE [13:14:03.336] - call: NULL [13:14:03.337] plan(): nbrOfWorkers() = 1 [13:14:03.337] plan(): Setting new future strategy stack: [13:14:03.338] List of future strategies: [13:14:03.338] 1. sequential: [13:14:03.338] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.338] - tweaked: FALSE [13:14:03.338] - call: plan(strategy) [13:14:03.338] plan(): nbrOfWorkers() = 1 [13:14:03.338] SequentialFuture started (and completed) [13:14:03.338] - Launch lazy future ... done [13:14:03.338] run() for 'SequentialFuture' ... done [13:14:03.339] Created future: [13:14:03.339] SequentialFuture: [13:14:03.339] Label: 'future_sapply-1' [13:14:03.339] Expression: [13:14:03.339] { [13:14:03.339] do.call(function(...) { [13:14:03.339] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.339] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.339] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.339] on.exit(options(oopts), add = TRUE) [13:14:03.339] } [13:14:03.339] { [13:14:03.339] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.339] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.339] ...future.FUN(...future.X_jj, ...) [13:14:03.339] }) [13:14:03.339] } [13:14:03.339] }, args = future.call.arguments) [13:14:03.339] } [13:14:03.339] Lazy evaluation: FALSE [13:14:03.339] Asynchronous evaluation: FALSE [13:14:03.339] Local evaluation: TRUE [13:14:03.339] Environment: R_GlobalEnv [13:14:03.339] Capture standard output: TRUE [13:14:03.339] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.339] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.339] Packages: [13:14:03.339] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.339] Resolved: TRUE [13:14:03.339] Value: 896 bytes of class 'list' [13:14:03.339] Early signaling: FALSE [13:14:03.339] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.339] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.340] Chunk #1 of 1 ... DONE [13:14:03.340] Launching 1 futures (chunks) ... DONE [13:14:03.340] Resolving 1 futures (chunks) ... [13:14:03.340] resolve() on list ... [13:14:03.340] recursive: 0 [13:14:03.341] length: 1 [13:14:03.341] [13:14:03.341] resolved() for 'SequentialFuture' ... [13:14:03.341] - state: 'finished' [13:14:03.341] - run: TRUE [13:14:03.341] - result: 'FutureResult' [13:14:03.341] resolved() for 'SequentialFuture' ... done [13:14:03.342] Future #1 [13:14:03.342] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.342] - nx: 1 [13:14:03.342] - relay: TRUE [13:14:03.342] - stdout: TRUE [13:14:03.342] - signal: TRUE [13:14:03.342] - resignal: FALSE [13:14:03.343] - force: TRUE [13:14:03.343] - relayed: [n=1] FALSE [13:14:03.343] - queued futures: [n=1] FALSE [13:14:03.343] - until=1 [13:14:03.343] - relaying element #1 [13:14:03.343] - relayed: [n=1] TRUE [13:14:03.343] - queued futures: [n=1] TRUE [13:14:03.344] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.344] length: 0 (resolved future 1) [13:14:03.344] Relaying remaining futures [13:14:03.344] signalConditionsASAP(NULL, pos=0) ... [13:14:03.344] - nx: 1 [13:14:03.344] - relay: TRUE [13:14:03.344] - stdout: TRUE [13:14:03.344] - signal: TRUE [13:14:03.345] - resignal: FALSE [13:14:03.345] - force: TRUE [13:14:03.345] - relayed: [n=1] TRUE [13:14:03.345] - queued futures: [n=1] TRUE - flush all [13:14:03.345] - relayed: [n=1] TRUE [13:14:03.345] - queued futures: [n=1] TRUE [13:14:03.345] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.346] resolve() on list ... DONE [13:14:03.346] - Number of value chunks collected: 1 [13:14:03.346] Resolving 1 futures (chunks) ... DONE [13:14:03.346] Reducing values from 1 chunks ... [13:14:03.346] - Number of values collected after concatenation: 4 [13:14:03.346] - Number of values expected: 4 [13:14:03.347] Reducing values from 1 chunks ... DONE [13:14:03.347] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:03.348] future_lapply() ... [13:14:03.349] Number of chunks: 1 [13:14:03.349] getGlobalsAndPackagesXApply() ... [13:14:03.350] - future.globals: TRUE [13:14:03.350] getGlobalsAndPackages() ... [13:14:03.350] Searching for globals... [13:14:03.351] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:03.352] Searching for globals ... DONE [13:14:03.352] Resolving globals: FALSE [13:14:03.352] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:03.353] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:03.353] - globals: [1] 'FUN' [13:14:03.353] [13:14:03.353] getGlobalsAndPackages() ... DONE [13:14:03.353] - globals found/used: [n=1] 'FUN' [13:14:03.353] - needed namespaces: [n=0] [13:14:03.353] Finding globals ... DONE [13:14:03.354] - use_args: TRUE [13:14:03.354] - Getting '...' globals ... [13:14:03.354] resolve() on list ... [13:14:03.354] recursive: 0 [13:14:03.354] length: 1 [13:14:03.355] elements: '...' [13:14:03.355] length: 0 (resolved future 1) [13:14:03.355] resolve() on list ... DONE [13:14:03.355] - '...' content: [n=0] [13:14:03.355] List of 1 [13:14:03.355] $ ...: list() [13:14:03.355] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.355] - attr(*, "where")=List of 1 [13:14:03.355] ..$ ...: [13:14:03.355] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.355] - attr(*, "resolved")= logi TRUE [13:14:03.355] - attr(*, "total_size")= num NA [13:14:03.358] - Getting '...' globals ... DONE [13:14:03.358] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.358] List of 2 [13:14:03.358] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:03.358] $ ... : list() [13:14:03.358] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.358] - attr(*, "where")=List of 2 [13:14:03.358] ..$ ...future.FUN: [13:14:03.358] ..$ ... : [13:14:03.358] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.358] - attr(*, "resolved")= logi FALSE [13:14:03.358] - attr(*, "total_size")= num 4728 [13:14:03.361] Packages to be attached in all futures: [n=0] [13:14:03.361] getGlobalsAndPackagesXApply() ... DONE [13:14:03.361] Number of futures (= number of chunks): 1 [13:14:03.361] Launching 1 futures (chunks) ... [13:14:03.361] Chunk #1 of 1 ... [13:14:03.361] - Finding globals in 'X' for chunk #1 ... [13:14:03.362] getGlobalsAndPackages() ... [13:14:03.362] Searching for globals... [13:14:03.362] [13:14:03.362] Searching for globals ... DONE [13:14:03.362] - globals: [0] [13:14:03.362] getGlobalsAndPackages() ... DONE [13:14:03.362] + additional globals found: [n=0] [13:14:03.362] + additional namespaces needed: [n=0] [13:14:03.363] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.363] - seeds: [13:14:03.363] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.363] getGlobalsAndPackages() ... [13:14:03.363] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.363] Resolving globals: FALSE [13:14:03.363] Tweak future expression to call with '...' arguments ... [13:14:03.363] { [13:14:03.363] do.call(function(...) { [13:14:03.363] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.363] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.363] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.363] on.exit(options(oopts), add = TRUE) [13:14:03.363] } [13:14:03.363] { [13:14:03.363] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.363] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.363] ...future.FUN(...future.X_jj, ...) [13:14:03.363] }) [13:14:03.363] } [13:14:03.363] }, args = future.call.arguments) [13:14:03.363] } [13:14:03.364] Tweak future expression to call with '...' arguments ... DONE [13:14:03.364] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.364] [13:14:03.364] getGlobalsAndPackages() ... DONE [13:14:03.365] run() for 'Future' ... [13:14:03.365] - state: 'created' [13:14:03.365] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.365] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.365] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.365] - Field: 'label' [13:14:03.366] - Field: 'local' [13:14:03.366] - Field: 'owner' [13:14:03.366] - Field: 'envir' [13:14:03.366] - Field: 'packages' [13:14:03.366] - Field: 'gc' [13:14:03.366] - Field: 'conditions' [13:14:03.366] - Field: 'expr' [13:14:03.366] - Field: 'uuid' [13:14:03.367] - Field: 'seed' [13:14:03.367] - Field: 'version' [13:14:03.367] - Field: 'result' [13:14:03.367] - Field: 'asynchronous' [13:14:03.367] - Field: 'calls' [13:14:03.367] - Field: 'globals' [13:14:03.367] - Field: 'stdout' [13:14:03.367] - Field: 'earlySignal' [13:14:03.368] - Field: 'lazy' [13:14:03.368] - Field: 'state' [13:14:03.368] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.368] - Launch lazy future ... [13:14:03.368] Packages needed by the future expression (n = 0): [13:14:03.368] Packages needed by future strategies (n = 0): [13:14:03.369] { [13:14:03.369] { [13:14:03.369] { [13:14:03.369] ...future.startTime <- base::Sys.time() [13:14:03.369] { [13:14:03.369] { [13:14:03.369] { [13:14:03.369] base::local({ [13:14:03.369] has_future <- base::requireNamespace("future", [13:14:03.369] quietly = TRUE) [13:14:03.369] if (has_future) { [13:14:03.369] ns <- base::getNamespace("future") [13:14:03.369] version <- ns[[".package"]][["version"]] [13:14:03.369] if (is.null(version)) [13:14:03.369] version <- utils::packageVersion("future") [13:14:03.369] } [13:14:03.369] else { [13:14:03.369] version <- NULL [13:14:03.369] } [13:14:03.369] if (!has_future || version < "1.8.0") { [13:14:03.369] info <- base::c(r_version = base::gsub("R version ", [13:14:03.369] "", base::R.version$version.string), [13:14:03.369] platform = base::sprintf("%s (%s-bit)", [13:14:03.369] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.369] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.369] "release", "version")], collapse = " "), [13:14:03.369] hostname = base::Sys.info()[["nodename"]]) [13:14:03.369] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.369] info) [13:14:03.369] info <- base::paste(info, collapse = "; ") [13:14:03.369] if (!has_future) { [13:14:03.369] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.369] info) [13:14:03.369] } [13:14:03.369] else { [13:14:03.369] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.369] info, version) [13:14:03.369] } [13:14:03.369] base::stop(msg) [13:14:03.369] } [13:14:03.369] }) [13:14:03.369] } [13:14:03.369] options(future.plan = NULL) [13:14:03.369] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.369] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.369] } [13:14:03.369] ...future.workdir <- getwd() [13:14:03.369] } [13:14:03.369] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.369] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.369] } [13:14:03.369] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.369] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.369] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.369] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.369] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.369] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.369] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.369] base::names(...future.oldOptions)) [13:14:03.369] } [13:14:03.369] if (FALSE) { [13:14:03.369] } [13:14:03.369] else { [13:14:03.369] if (TRUE) { [13:14:03.369] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.369] open = "w") [13:14:03.369] } [13:14:03.369] else { [13:14:03.369] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.369] windows = "NUL", "/dev/null"), open = "w") [13:14:03.369] } [13:14:03.369] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.369] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.369] base::sink(type = "output", split = FALSE) [13:14:03.369] base::close(...future.stdout) [13:14:03.369] }, add = TRUE) [13:14:03.369] } [13:14:03.369] ...future.frame <- base::sys.nframe() [13:14:03.369] ...future.conditions <- base::list() [13:14:03.369] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.369] if (FALSE) { [13:14:03.369] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.369] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.369] } [13:14:03.369] ...future.result <- base::tryCatch({ [13:14:03.369] base::withCallingHandlers({ [13:14:03.369] ...future.value <- base::withVisible(base::local({ [13:14:03.369] do.call(function(...) { [13:14:03.369] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.369] if (!identical(...future.globals.maxSize.org, [13:14:03.369] ...future.globals.maxSize)) { [13:14:03.369] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.369] on.exit(options(oopts), add = TRUE) [13:14:03.369] } [13:14:03.369] { [13:14:03.369] lapply(seq_along(...future.elements_ii), [13:14:03.369] FUN = function(jj) { [13:14:03.369] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.369] ...future.FUN(...future.X_jj, ...) [13:14:03.369] }) [13:14:03.369] } [13:14:03.369] }, args = future.call.arguments) [13:14:03.369] })) [13:14:03.369] future::FutureResult(value = ...future.value$value, [13:14:03.369] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.369] ...future.rng), globalenv = if (FALSE) [13:14:03.369] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.369] ...future.globalenv.names)) [13:14:03.369] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.369] }, condition = base::local({ [13:14:03.369] c <- base::c [13:14:03.369] inherits <- base::inherits [13:14:03.369] invokeRestart <- base::invokeRestart [13:14:03.369] length <- base::length [13:14:03.369] list <- base::list [13:14:03.369] seq.int <- base::seq.int [13:14:03.369] signalCondition <- base::signalCondition [13:14:03.369] sys.calls <- base::sys.calls [13:14:03.369] `[[` <- base::`[[` [13:14:03.369] `+` <- base::`+` [13:14:03.369] `<<-` <- base::`<<-` [13:14:03.369] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.369] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.369] 3L)] [13:14:03.369] } [13:14:03.369] function(cond) { [13:14:03.369] is_error <- inherits(cond, "error") [13:14:03.369] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.369] NULL) [13:14:03.369] if (is_error) { [13:14:03.369] sessionInformation <- function() { [13:14:03.369] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.369] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.369] search = base::search(), system = base::Sys.info()) [13:14:03.369] } [13:14:03.369] ...future.conditions[[length(...future.conditions) + [13:14:03.369] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.369] cond$call), session = sessionInformation(), [13:14:03.369] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.369] signalCondition(cond) [13:14:03.369] } [13:14:03.369] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.369] "immediateCondition"))) { [13:14:03.369] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.369] ...future.conditions[[length(...future.conditions) + [13:14:03.369] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.369] if (TRUE && !signal) { [13:14:03.369] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.369] { [13:14:03.369] inherits <- base::inherits [13:14:03.369] invokeRestart <- base::invokeRestart [13:14:03.369] is.null <- base::is.null [13:14:03.369] muffled <- FALSE [13:14:03.369] if (inherits(cond, "message")) { [13:14:03.369] muffled <- grepl(pattern, "muffleMessage") [13:14:03.369] if (muffled) [13:14:03.369] invokeRestart("muffleMessage") [13:14:03.369] } [13:14:03.369] else if (inherits(cond, "warning")) { [13:14:03.369] muffled <- grepl(pattern, "muffleWarning") [13:14:03.369] if (muffled) [13:14:03.369] invokeRestart("muffleWarning") [13:14:03.369] } [13:14:03.369] else if (inherits(cond, "condition")) { [13:14:03.369] if (!is.null(pattern)) { [13:14:03.369] computeRestarts <- base::computeRestarts [13:14:03.369] grepl <- base::grepl [13:14:03.369] restarts <- computeRestarts(cond) [13:14:03.369] for (restart in restarts) { [13:14:03.369] name <- restart$name [13:14:03.369] if (is.null(name)) [13:14:03.369] next [13:14:03.369] if (!grepl(pattern, name)) [13:14:03.369] next [13:14:03.369] invokeRestart(restart) [13:14:03.369] muffled <- TRUE [13:14:03.369] break [13:14:03.369] } [13:14:03.369] } [13:14:03.369] } [13:14:03.369] invisible(muffled) [13:14:03.369] } [13:14:03.369] muffleCondition(cond, pattern = "^muffle") [13:14:03.369] } [13:14:03.369] } [13:14:03.369] else { [13:14:03.369] if (TRUE) { [13:14:03.369] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.369] { [13:14:03.369] inherits <- base::inherits [13:14:03.369] invokeRestart <- base::invokeRestart [13:14:03.369] is.null <- base::is.null [13:14:03.369] muffled <- FALSE [13:14:03.369] if (inherits(cond, "message")) { [13:14:03.369] muffled <- grepl(pattern, "muffleMessage") [13:14:03.369] if (muffled) [13:14:03.369] invokeRestart("muffleMessage") [13:14:03.369] } [13:14:03.369] else if (inherits(cond, "warning")) { [13:14:03.369] muffled <- grepl(pattern, "muffleWarning") [13:14:03.369] if (muffled) [13:14:03.369] invokeRestart("muffleWarning") [13:14:03.369] } [13:14:03.369] else if (inherits(cond, "condition")) { [13:14:03.369] if (!is.null(pattern)) { [13:14:03.369] computeRestarts <- base::computeRestarts [13:14:03.369] grepl <- base::grepl [13:14:03.369] restarts <- computeRestarts(cond) [13:14:03.369] for (restart in restarts) { [13:14:03.369] name <- restart$name [13:14:03.369] if (is.null(name)) [13:14:03.369] next [13:14:03.369] if (!grepl(pattern, name)) [13:14:03.369] next [13:14:03.369] invokeRestart(restart) [13:14:03.369] muffled <- TRUE [13:14:03.369] break [13:14:03.369] } [13:14:03.369] } [13:14:03.369] } [13:14:03.369] invisible(muffled) [13:14:03.369] } [13:14:03.369] muffleCondition(cond, pattern = "^muffle") [13:14:03.369] } [13:14:03.369] } [13:14:03.369] } [13:14:03.369] })) [13:14:03.369] }, error = function(ex) { [13:14:03.369] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.369] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.369] ...future.rng), started = ...future.startTime, [13:14:03.369] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.369] version = "1.8"), class = "FutureResult") [13:14:03.369] }, finally = { [13:14:03.369] if (!identical(...future.workdir, getwd())) [13:14:03.369] setwd(...future.workdir) [13:14:03.369] { [13:14:03.369] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.369] ...future.oldOptions$nwarnings <- NULL [13:14:03.369] } [13:14:03.369] base::options(...future.oldOptions) [13:14:03.369] if (.Platform$OS.type == "windows") { [13:14:03.369] old_names <- names(...future.oldEnvVars) [13:14:03.369] envs <- base::Sys.getenv() [13:14:03.369] names <- names(envs) [13:14:03.369] common <- intersect(names, old_names) [13:14:03.369] added <- setdiff(names, old_names) [13:14:03.369] removed <- setdiff(old_names, names) [13:14:03.369] changed <- common[...future.oldEnvVars[common] != [13:14:03.369] envs[common]] [13:14:03.369] NAMES <- toupper(changed) [13:14:03.369] args <- list() [13:14:03.369] for (kk in seq_along(NAMES)) { [13:14:03.369] name <- changed[[kk]] [13:14:03.369] NAME <- NAMES[[kk]] [13:14:03.369] if (name != NAME && is.element(NAME, old_names)) [13:14:03.369] next [13:14:03.369] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.369] } [13:14:03.369] NAMES <- toupper(added) [13:14:03.369] for (kk in seq_along(NAMES)) { [13:14:03.369] name <- added[[kk]] [13:14:03.369] NAME <- NAMES[[kk]] [13:14:03.369] if (name != NAME && is.element(NAME, old_names)) [13:14:03.369] next [13:14:03.369] args[[name]] <- "" [13:14:03.369] } [13:14:03.369] NAMES <- toupper(removed) [13:14:03.369] for (kk in seq_along(NAMES)) { [13:14:03.369] name <- removed[[kk]] [13:14:03.369] NAME <- NAMES[[kk]] [13:14:03.369] if (name != NAME && is.element(NAME, old_names)) [13:14:03.369] next [13:14:03.369] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.369] } [13:14:03.369] if (length(args) > 0) [13:14:03.369] base::do.call(base::Sys.setenv, args = args) [13:14:03.369] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.369] } [13:14:03.369] else { [13:14:03.369] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.369] } [13:14:03.369] { [13:14:03.369] if (base::length(...future.futureOptionsAdded) > [13:14:03.369] 0L) { [13:14:03.369] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.369] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.369] base::options(opts) [13:14:03.369] } [13:14:03.369] { [13:14:03.369] { [13:14:03.369] NULL [13:14:03.369] RNGkind("Mersenne-Twister") [13:14:03.369] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.369] inherits = FALSE) [13:14:03.369] } [13:14:03.369] options(future.plan = NULL) [13:14:03.369] if (is.na(NA_character_)) [13:14:03.369] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.369] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.369] future::plan(list(function (..., envir = parent.frame()) [13:14:03.369] { [13:14:03.369] future <- SequentialFuture(..., envir = envir) [13:14:03.369] if (!future$lazy) [13:14:03.369] future <- run(future) [13:14:03.369] invisible(future) [13:14:03.369] }), .cleanup = FALSE, .init = FALSE) [13:14:03.369] } [13:14:03.369] } [13:14:03.369] } [13:14:03.369] }) [13:14:03.369] if (TRUE) { [13:14:03.369] base::sink(type = "output", split = FALSE) [13:14:03.369] if (TRUE) { [13:14:03.369] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.369] } [13:14:03.369] else { [13:14:03.369] ...future.result["stdout"] <- base::list(NULL) [13:14:03.369] } [13:14:03.369] base::close(...future.stdout) [13:14:03.369] ...future.stdout <- NULL [13:14:03.369] } [13:14:03.369] ...future.result$conditions <- ...future.conditions [13:14:03.369] ...future.result$finished <- base::Sys.time() [13:14:03.369] ...future.result [13:14:03.369] } [13:14:03.371] assign_globals() ... [13:14:03.372] List of 5 [13:14:03.372] $ ...future.FUN :function (x, y = 2 * 1:5) [13:14:03.372] $ future.call.arguments : list() [13:14:03.372] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.372] $ ...future.elements_ii :List of 4 [13:14:03.372] ..$ A: num 50 [13:14:03.372] ..$ B: num 60 [13:14:03.372] ..$ C: num 70 [13:14:03.372] ..$ D: num 80 [13:14:03.372] $ ...future.seeds_ii : NULL [13:14:03.372] $ ...future.globals.maxSize: NULL [13:14:03.372] - attr(*, "where")=List of 5 [13:14:03.372] ..$ ...future.FUN : [13:14:03.372] ..$ future.call.arguments : [13:14:03.372] ..$ ...future.elements_ii : [13:14:03.372] ..$ ...future.seeds_ii : [13:14:03.372] ..$ ...future.globals.maxSize: [13:14:03.372] - attr(*, "resolved")= logi FALSE [13:14:03.372] - attr(*, "total_size")= num 4728 [13:14:03.372] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.372] - attr(*, "already-done")= logi TRUE [13:14:03.376] - reassign environment for '...future.FUN' [13:14:03.377] - copied '...future.FUN' to environment [13:14:03.377] - copied 'future.call.arguments' to environment [13:14:03.377] - copied '...future.elements_ii' to environment [13:14:03.377] - copied '...future.seeds_ii' to environment [13:14:03.377] - copied '...future.globals.maxSize' to environment [13:14:03.377] assign_globals() ... done [13:14:03.377] plan(): Setting new future strategy stack: [13:14:03.378] List of future strategies: [13:14:03.378] 1. sequential: [13:14:03.378] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.378] - tweaked: FALSE [13:14:03.378] - call: NULL [13:14:03.378] plan(): nbrOfWorkers() = 1 [13:14:03.379] plan(): Setting new future strategy stack: [13:14:03.379] List of future strategies: [13:14:03.379] 1. sequential: [13:14:03.379] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.379] - tweaked: FALSE [13:14:03.379] - call: plan(strategy) [13:14:03.379] plan(): nbrOfWorkers() = 1 [13:14:03.380] SequentialFuture started (and completed) [13:14:03.380] - Launch lazy future ... done [13:14:03.380] run() for 'SequentialFuture' ... done [13:14:03.380] Created future: [13:14:03.380] SequentialFuture: [13:14:03.380] Label: 'future_sapply-1' [13:14:03.380] Expression: [13:14:03.380] { [13:14:03.380] do.call(function(...) { [13:14:03.380] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.380] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.380] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.380] on.exit(options(oopts), add = TRUE) [13:14:03.380] } [13:14:03.380] { [13:14:03.380] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.380] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.380] ...future.FUN(...future.X_jj, ...) [13:14:03.380] }) [13:14:03.380] } [13:14:03.380] }, args = future.call.arguments) [13:14:03.380] } [13:14:03.380] Lazy evaluation: FALSE [13:14:03.380] Asynchronous evaluation: FALSE [13:14:03.380] Local evaluation: TRUE [13:14:03.380] Environment: R_GlobalEnv [13:14:03.380] Capture standard output: TRUE [13:14:03.380] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.380] Globals: 5 objects totaling 4.84 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.380] Packages: [13:14:03.380] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.380] Resolved: TRUE [13:14:03.380] Value: 1.34 KiB of class 'list' [13:14:03.380] Early signaling: FALSE [13:14:03.380] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.380] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.381] Chunk #1 of 1 ... DONE [13:14:03.381] Launching 1 futures (chunks) ... DONE [13:14:03.381] Resolving 1 futures (chunks) ... [13:14:03.381] resolve() on list ... [13:14:03.381] recursive: 0 [13:14:03.382] length: 1 [13:14:03.382] [13:14:03.382] resolved() for 'SequentialFuture' ... [13:14:03.382] - state: 'finished' [13:14:03.382] - run: TRUE [13:14:03.382] - result: 'FutureResult' [13:14:03.382] resolved() for 'SequentialFuture' ... done [13:14:03.382] Future #1 [13:14:03.383] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.383] - nx: 1 [13:14:03.383] - relay: TRUE [13:14:03.383] - stdout: TRUE [13:14:03.383] - signal: TRUE [13:14:03.383] - resignal: FALSE [13:14:03.383] - force: TRUE [13:14:03.383] - relayed: [n=1] FALSE [13:14:03.384] - queued futures: [n=1] FALSE [13:14:03.384] - until=1 [13:14:03.384] - relaying element #1 [13:14:03.384] - relayed: [n=1] TRUE [13:14:03.384] - queued futures: [n=1] TRUE [13:14:03.384] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.384] length: 0 (resolved future 1) [13:14:03.384] Relaying remaining futures [13:14:03.385] signalConditionsASAP(NULL, pos=0) ... [13:14:03.385] - nx: 1 [13:14:03.385] - relay: TRUE [13:14:03.385] - stdout: TRUE [13:14:03.385] - signal: TRUE [13:14:03.385] - resignal: FALSE [13:14:03.385] - force: TRUE [13:14:03.385] - relayed: [n=1] TRUE [13:14:03.385] - queued futures: [n=1] TRUE - flush all [13:14:03.386] - relayed: [n=1] TRUE [13:14:03.386] - queued futures: [n=1] TRUE [13:14:03.386] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.386] resolve() on list ... DONE [13:14:03.386] - Number of value chunks collected: 1 [13:14:03.386] Resolving 1 futures (chunks) ... DONE [13:14:03.386] Reducing values from 1 chunks ... [13:14:03.386] - Number of values collected after concatenation: 4 [13:14:03.387] - Number of values expected: 4 [13:14:03.387] Reducing values from 1 chunks ... DONE [13:14:03.387] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:03.389] future_lapply() ... [13:14:03.390] Number of chunks: 1 [13:14:03.390] getGlobalsAndPackagesXApply() ... [13:14:03.390] - future.globals: TRUE [13:14:03.390] getGlobalsAndPackages() ... [13:14:03.390] Searching for globals... [13:14:03.390] - globals found: [1] 'FUN' [13:14:03.391] Searching for globals ... DONE [13:14:03.391] Resolving globals: FALSE [13:14:03.391] The total size of the 1 globals is 56 bytes (56 bytes) [13:14:03.391] The total size of the 1 globals exported for future expression ('FUN()') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (56 bytes of class 'function') [13:14:03.391] - globals: [1] 'FUN' [13:14:03.392] [13:14:03.392] getGlobalsAndPackages() ... DONE [13:14:03.392] - globals found/used: [n=1] 'FUN' [13:14:03.392] - needed namespaces: [n=0] [13:14:03.392] Finding globals ... DONE [13:14:03.392] - use_args: TRUE [13:14:03.392] - Getting '...' globals ... [13:14:03.393] resolve() on list ... [13:14:03.393] recursive: 0 [13:14:03.393] length: 1 [13:14:03.393] elements: '...' [13:14:03.393] length: 0 (resolved future 1) [13:14:03.393] resolve() on list ... DONE [13:14:03.393] - '...' content: [n=0] [13:14:03.393] List of 1 [13:14:03.393] $ ...: list() [13:14:03.393] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.393] - attr(*, "where")=List of 1 [13:14:03.393] ..$ ...: [13:14:03.393] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.393] - attr(*, "resolved")= logi TRUE [13:14:03.393] - attr(*, "total_size")= num NA [13:14:03.395] - Getting '...' globals ... DONE [13:14:03.396] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:03.396] List of 2 [13:14:03.396] $ ...future.FUN:function (x) [13:14:03.396] $ ... : list() [13:14:03.396] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.396] - attr(*, "where")=List of 2 [13:14:03.396] ..$ ...future.FUN: [13:14:03.396] ..$ ... : [13:14:03.396] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.396] - attr(*, "resolved")= logi FALSE [13:14:03.396] - attr(*, "total_size")= num 56 [13:14:03.398] Packages to be attached in all futures: [n=0] [13:14:03.398] getGlobalsAndPackagesXApply() ... DONE [13:14:03.398] Number of futures (= number of chunks): 1 [13:14:03.399] Launching 1 futures (chunks) ... [13:14:03.399] Chunk #1 of 1 ... [13:14:03.399] - Finding globals in 'X' for chunk #1 ... [13:14:03.399] getGlobalsAndPackages() ... [13:14:03.399] Searching for globals... [13:14:03.399] [13:14:03.399] Searching for globals ... DONE [13:14:03.400] - globals: [0] [13:14:03.400] getGlobalsAndPackages() ... DONE [13:14:03.400] + additional globals found: [n=0] [13:14:03.400] + additional namespaces needed: [n=0] [13:14:03.400] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.400] - seeds: [13:14:03.400] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.400] getGlobalsAndPackages() ... [13:14:03.400] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.401] Resolving globals: FALSE [13:14:03.401] Tweak future expression to call with '...' arguments ... [13:14:03.401] { [13:14:03.401] do.call(function(...) { [13:14:03.401] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.401] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.401] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.401] on.exit(options(oopts), add = TRUE) [13:14:03.401] } [13:14:03.401] { [13:14:03.401] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.401] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.401] ...future.FUN(...future.X_jj, ...) [13:14:03.401] }) [13:14:03.401] } [13:14:03.401] }, args = future.call.arguments) [13:14:03.401] } [13:14:03.401] Tweak future expression to call with '...' arguments ... DONE [13:14:03.401] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.402] [13:14:03.402] getGlobalsAndPackages() ... DONE [13:14:03.402] run() for 'Future' ... [13:14:03.402] - state: 'created' [13:14:03.402] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.403] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.403] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.403] - Field: 'label' [13:14:03.403] - Field: 'local' [13:14:03.403] - Field: 'owner' [13:14:03.403] - Field: 'envir' [13:14:03.403] - Field: 'packages' [13:14:03.404] - Field: 'gc' [13:14:03.404] - Field: 'conditions' [13:14:03.404] - Field: 'expr' [13:14:03.404] - Field: 'uuid' [13:14:03.404] - Field: 'seed' [13:14:03.404] - Field: 'version' [13:14:03.404] - Field: 'result' [13:14:03.405] - Field: 'asynchronous' [13:14:03.405] - Field: 'calls' [13:14:03.405] - Field: 'globals' [13:14:03.405] - Field: 'stdout' [13:14:03.405] - Field: 'earlySignal' [13:14:03.405] - Field: 'lazy' [13:14:03.405] - Field: 'state' [13:14:03.405] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.406] - Launch lazy future ... [13:14:03.406] Packages needed by the future expression (n = 0): [13:14:03.406] Packages needed by future strategies (n = 0): [13:14:03.406] { [13:14:03.406] { [13:14:03.406] { [13:14:03.406] ...future.startTime <- base::Sys.time() [13:14:03.406] { [13:14:03.406] { [13:14:03.406] { [13:14:03.406] base::local({ [13:14:03.406] has_future <- base::requireNamespace("future", [13:14:03.406] quietly = TRUE) [13:14:03.406] if (has_future) { [13:14:03.406] ns <- base::getNamespace("future") [13:14:03.406] version <- ns[[".package"]][["version"]] [13:14:03.406] if (is.null(version)) [13:14:03.406] version <- utils::packageVersion("future") [13:14:03.406] } [13:14:03.406] else { [13:14:03.406] version <- NULL [13:14:03.406] } [13:14:03.406] if (!has_future || version < "1.8.0") { [13:14:03.406] info <- base::c(r_version = base::gsub("R version ", [13:14:03.406] "", base::R.version$version.string), [13:14:03.406] platform = base::sprintf("%s (%s-bit)", [13:14:03.406] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.406] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.406] "release", "version")], collapse = " "), [13:14:03.406] hostname = base::Sys.info()[["nodename"]]) [13:14:03.406] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.406] info) [13:14:03.406] info <- base::paste(info, collapse = "; ") [13:14:03.406] if (!has_future) { [13:14:03.406] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.406] info) [13:14:03.406] } [13:14:03.406] else { [13:14:03.406] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.406] info, version) [13:14:03.406] } [13:14:03.406] base::stop(msg) [13:14:03.406] } [13:14:03.406] }) [13:14:03.406] } [13:14:03.406] options(future.plan = NULL) [13:14:03.406] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.406] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.406] } [13:14:03.406] ...future.workdir <- getwd() [13:14:03.406] } [13:14:03.406] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.406] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.406] } [13:14:03.406] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.406] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.406] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.406] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.406] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.406] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.406] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.406] base::names(...future.oldOptions)) [13:14:03.406] } [13:14:03.406] if (FALSE) { [13:14:03.406] } [13:14:03.406] else { [13:14:03.406] if (TRUE) { [13:14:03.406] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.406] open = "w") [13:14:03.406] } [13:14:03.406] else { [13:14:03.406] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.406] windows = "NUL", "/dev/null"), open = "w") [13:14:03.406] } [13:14:03.406] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.406] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.406] base::sink(type = "output", split = FALSE) [13:14:03.406] base::close(...future.stdout) [13:14:03.406] }, add = TRUE) [13:14:03.406] } [13:14:03.406] ...future.frame <- base::sys.nframe() [13:14:03.406] ...future.conditions <- base::list() [13:14:03.406] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.406] if (FALSE) { [13:14:03.406] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.406] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.406] } [13:14:03.406] ...future.result <- base::tryCatch({ [13:14:03.406] base::withCallingHandlers({ [13:14:03.406] ...future.value <- base::withVisible(base::local({ [13:14:03.406] do.call(function(...) { [13:14:03.406] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.406] if (!identical(...future.globals.maxSize.org, [13:14:03.406] ...future.globals.maxSize)) { [13:14:03.406] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.406] on.exit(options(oopts), add = TRUE) [13:14:03.406] } [13:14:03.406] { [13:14:03.406] lapply(seq_along(...future.elements_ii), [13:14:03.406] FUN = function(jj) { [13:14:03.406] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.406] ...future.FUN(...future.X_jj, ...) [13:14:03.406] }) [13:14:03.406] } [13:14:03.406] }, args = future.call.arguments) [13:14:03.406] })) [13:14:03.406] future::FutureResult(value = ...future.value$value, [13:14:03.406] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.406] ...future.rng), globalenv = if (FALSE) [13:14:03.406] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.406] ...future.globalenv.names)) [13:14:03.406] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.406] }, condition = base::local({ [13:14:03.406] c <- base::c [13:14:03.406] inherits <- base::inherits [13:14:03.406] invokeRestart <- base::invokeRestart [13:14:03.406] length <- base::length [13:14:03.406] list <- base::list [13:14:03.406] seq.int <- base::seq.int [13:14:03.406] signalCondition <- base::signalCondition [13:14:03.406] sys.calls <- base::sys.calls [13:14:03.406] `[[` <- base::`[[` [13:14:03.406] `+` <- base::`+` [13:14:03.406] `<<-` <- base::`<<-` [13:14:03.406] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.406] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.406] 3L)] [13:14:03.406] } [13:14:03.406] function(cond) { [13:14:03.406] is_error <- inherits(cond, "error") [13:14:03.406] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.406] NULL) [13:14:03.406] if (is_error) { [13:14:03.406] sessionInformation <- function() { [13:14:03.406] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.406] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.406] search = base::search(), system = base::Sys.info()) [13:14:03.406] } [13:14:03.406] ...future.conditions[[length(...future.conditions) + [13:14:03.406] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.406] cond$call), session = sessionInformation(), [13:14:03.406] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.406] signalCondition(cond) [13:14:03.406] } [13:14:03.406] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.406] "immediateCondition"))) { [13:14:03.406] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.406] ...future.conditions[[length(...future.conditions) + [13:14:03.406] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.406] if (TRUE && !signal) { [13:14:03.406] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.406] { [13:14:03.406] inherits <- base::inherits [13:14:03.406] invokeRestart <- base::invokeRestart [13:14:03.406] is.null <- base::is.null [13:14:03.406] muffled <- FALSE [13:14:03.406] if (inherits(cond, "message")) { [13:14:03.406] muffled <- grepl(pattern, "muffleMessage") [13:14:03.406] if (muffled) [13:14:03.406] invokeRestart("muffleMessage") [13:14:03.406] } [13:14:03.406] else if (inherits(cond, "warning")) { [13:14:03.406] muffled <- grepl(pattern, "muffleWarning") [13:14:03.406] if (muffled) [13:14:03.406] invokeRestart("muffleWarning") [13:14:03.406] } [13:14:03.406] else if (inherits(cond, "condition")) { [13:14:03.406] if (!is.null(pattern)) { [13:14:03.406] computeRestarts <- base::computeRestarts [13:14:03.406] grepl <- base::grepl [13:14:03.406] restarts <- computeRestarts(cond) [13:14:03.406] for (restart in restarts) { [13:14:03.406] name <- restart$name [13:14:03.406] if (is.null(name)) [13:14:03.406] next [13:14:03.406] if (!grepl(pattern, name)) [13:14:03.406] next [13:14:03.406] invokeRestart(restart) [13:14:03.406] muffled <- TRUE [13:14:03.406] break [13:14:03.406] } [13:14:03.406] } [13:14:03.406] } [13:14:03.406] invisible(muffled) [13:14:03.406] } [13:14:03.406] muffleCondition(cond, pattern = "^muffle") [13:14:03.406] } [13:14:03.406] } [13:14:03.406] else { [13:14:03.406] if (TRUE) { [13:14:03.406] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.406] { [13:14:03.406] inherits <- base::inherits [13:14:03.406] invokeRestart <- base::invokeRestart [13:14:03.406] is.null <- base::is.null [13:14:03.406] muffled <- FALSE [13:14:03.406] if (inherits(cond, "message")) { [13:14:03.406] muffled <- grepl(pattern, "muffleMessage") [13:14:03.406] if (muffled) [13:14:03.406] invokeRestart("muffleMessage") [13:14:03.406] } [13:14:03.406] else if (inherits(cond, "warning")) { [13:14:03.406] muffled <- grepl(pattern, "muffleWarning") [13:14:03.406] if (muffled) [13:14:03.406] invokeRestart("muffleWarning") [13:14:03.406] } [13:14:03.406] else if (inherits(cond, "condition")) { [13:14:03.406] if (!is.null(pattern)) { [13:14:03.406] computeRestarts <- base::computeRestarts [13:14:03.406] grepl <- base::grepl [13:14:03.406] restarts <- computeRestarts(cond) [13:14:03.406] for (restart in restarts) { [13:14:03.406] name <- restart$name [13:14:03.406] if (is.null(name)) [13:14:03.406] next [13:14:03.406] if (!grepl(pattern, name)) [13:14:03.406] next [13:14:03.406] invokeRestart(restart) [13:14:03.406] muffled <- TRUE [13:14:03.406] break [13:14:03.406] } [13:14:03.406] } [13:14:03.406] } [13:14:03.406] invisible(muffled) [13:14:03.406] } [13:14:03.406] muffleCondition(cond, pattern = "^muffle") [13:14:03.406] } [13:14:03.406] } [13:14:03.406] } [13:14:03.406] })) [13:14:03.406] }, error = function(ex) { [13:14:03.406] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.406] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.406] ...future.rng), started = ...future.startTime, [13:14:03.406] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.406] version = "1.8"), class = "FutureResult") [13:14:03.406] }, finally = { [13:14:03.406] if (!identical(...future.workdir, getwd())) [13:14:03.406] setwd(...future.workdir) [13:14:03.406] { [13:14:03.406] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.406] ...future.oldOptions$nwarnings <- NULL [13:14:03.406] } [13:14:03.406] base::options(...future.oldOptions) [13:14:03.406] if (.Platform$OS.type == "windows") { [13:14:03.406] old_names <- names(...future.oldEnvVars) [13:14:03.406] envs <- base::Sys.getenv() [13:14:03.406] names <- names(envs) [13:14:03.406] common <- intersect(names, old_names) [13:14:03.406] added <- setdiff(names, old_names) [13:14:03.406] removed <- setdiff(old_names, names) [13:14:03.406] changed <- common[...future.oldEnvVars[common] != [13:14:03.406] envs[common]] [13:14:03.406] NAMES <- toupper(changed) [13:14:03.406] args <- list() [13:14:03.406] for (kk in seq_along(NAMES)) { [13:14:03.406] name <- changed[[kk]] [13:14:03.406] NAME <- NAMES[[kk]] [13:14:03.406] if (name != NAME && is.element(NAME, old_names)) [13:14:03.406] next [13:14:03.406] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.406] } [13:14:03.406] NAMES <- toupper(added) [13:14:03.406] for (kk in seq_along(NAMES)) { [13:14:03.406] name <- added[[kk]] [13:14:03.406] NAME <- NAMES[[kk]] [13:14:03.406] if (name != NAME && is.element(NAME, old_names)) [13:14:03.406] next [13:14:03.406] args[[name]] <- "" [13:14:03.406] } [13:14:03.406] NAMES <- toupper(removed) [13:14:03.406] for (kk in seq_along(NAMES)) { [13:14:03.406] name <- removed[[kk]] [13:14:03.406] NAME <- NAMES[[kk]] [13:14:03.406] if (name != NAME && is.element(NAME, old_names)) [13:14:03.406] next [13:14:03.406] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.406] } [13:14:03.406] if (length(args) > 0) [13:14:03.406] base::do.call(base::Sys.setenv, args = args) [13:14:03.406] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.406] } [13:14:03.406] else { [13:14:03.406] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.406] } [13:14:03.406] { [13:14:03.406] if (base::length(...future.futureOptionsAdded) > [13:14:03.406] 0L) { [13:14:03.406] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.406] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.406] base::options(opts) [13:14:03.406] } [13:14:03.406] { [13:14:03.406] { [13:14:03.406] NULL [13:14:03.406] RNGkind("Mersenne-Twister") [13:14:03.406] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.406] inherits = FALSE) [13:14:03.406] } [13:14:03.406] options(future.plan = NULL) [13:14:03.406] if (is.na(NA_character_)) [13:14:03.406] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.406] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.406] future::plan(list(function (..., envir = parent.frame()) [13:14:03.406] { [13:14:03.406] future <- SequentialFuture(..., envir = envir) [13:14:03.406] if (!future$lazy) [13:14:03.406] future <- run(future) [13:14:03.406] invisible(future) [13:14:03.406] }), .cleanup = FALSE, .init = FALSE) [13:14:03.406] } [13:14:03.406] } [13:14:03.406] } [13:14:03.406] }) [13:14:03.406] if (TRUE) { [13:14:03.406] base::sink(type = "output", split = FALSE) [13:14:03.406] if (TRUE) { [13:14:03.406] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.406] } [13:14:03.406] else { [13:14:03.406] ...future.result["stdout"] <- base::list(NULL) [13:14:03.406] } [13:14:03.406] base::close(...future.stdout) [13:14:03.406] ...future.stdout <- NULL [13:14:03.406] } [13:14:03.406] ...future.result$conditions <- ...future.conditions [13:14:03.406] ...future.result$finished <- base::Sys.time() [13:14:03.406] ...future.result [13:14:03.406] } [13:14:03.409] assign_globals() ... [13:14:03.409] List of 5 [13:14:03.409] $ ...future.FUN :function (x) [13:14:03.409] $ future.call.arguments : list() [13:14:03.409] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.409] $ ...future.elements_ii :List of 3 [13:14:03.409] ..$ : int 1 [13:14:03.409] ..$ : int 2 [13:14:03.409] ..$ : int 3 [13:14:03.409] $ ...future.seeds_ii : NULL [13:14:03.409] $ ...future.globals.maxSize: NULL [13:14:03.409] - attr(*, "where")=List of 5 [13:14:03.409] ..$ ...future.FUN : [13:14:03.409] ..$ future.call.arguments : [13:14:03.409] ..$ ...future.elements_ii : [13:14:03.409] ..$ ...future.seeds_ii : [13:14:03.409] ..$ ...future.globals.maxSize: [13:14:03.409] - attr(*, "resolved")= logi FALSE [13:14:03.409] - attr(*, "total_size")= num 56 [13:14:03.409] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.409] - attr(*, "already-done")= logi TRUE [13:14:03.416] - copied '...future.FUN' to environment [13:14:03.416] - copied 'future.call.arguments' to environment [13:14:03.416] - copied '...future.elements_ii' to environment [13:14:03.416] - copied '...future.seeds_ii' to environment [13:14:03.416] - copied '...future.globals.maxSize' to environment [13:14:03.416] assign_globals() ... done [13:14:03.416] plan(): Setting new future strategy stack: [13:14:03.417] List of future strategies: [13:14:03.417] 1. sequential: [13:14:03.417] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.417] - tweaked: FALSE [13:14:03.417] - call: NULL [13:14:03.417] plan(): nbrOfWorkers() = 1 [13:14:03.418] plan(): Setting new future strategy stack: [13:14:03.418] List of future strategies: [13:14:03.418] 1. sequential: [13:14:03.418] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.418] - tweaked: FALSE [13:14:03.418] - call: plan(strategy) [13:14:03.418] plan(): nbrOfWorkers() = 1 [13:14:03.419] SequentialFuture started (and completed) [13:14:03.419] - Launch lazy future ... done [13:14:03.419] run() for 'SequentialFuture' ... done [13:14:03.419] Created future: [13:14:03.419] SequentialFuture: [13:14:03.419] Label: 'future_sapply-1' [13:14:03.419] Expression: [13:14:03.419] { [13:14:03.419] do.call(function(...) { [13:14:03.419] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.419] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.419] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.419] on.exit(options(oopts), add = TRUE) [13:14:03.419] } [13:14:03.419] { [13:14:03.419] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.419] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.419] ...future.FUN(...future.X_jj, ...) [13:14:03.419] }) [13:14:03.419] } [13:14:03.419] }, args = future.call.arguments) [13:14:03.419] } [13:14:03.419] Lazy evaluation: FALSE [13:14:03.419] Asynchronous evaluation: FALSE [13:14:03.419] Local evaluation: TRUE [13:14:03.419] Environment: R_GlobalEnv [13:14:03.419] Capture standard output: TRUE [13:14:03.419] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.419] Globals: 5 objects totaling 224 bytes (function '...future.FUN' of 56 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:03.419] Packages: [13:14:03.419] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.419] Resolved: TRUE [13:14:03.419] Value: 168 bytes of class 'list' [13:14:03.419] Early signaling: FALSE [13:14:03.419] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.419] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.420] Chunk #1 of 1 ... DONE [13:14:03.420] Launching 1 futures (chunks) ... DONE [13:14:03.420] Resolving 1 futures (chunks) ... [13:14:03.420] resolve() on list ... [13:14:03.421] recursive: 0 [13:14:03.421] length: 1 [13:14:03.421] [13:14:03.421] resolved() for 'SequentialFuture' ... [13:14:03.421] - state: 'finished' [13:14:03.421] - run: TRUE [13:14:03.421] - result: 'FutureResult' [13:14:03.421] resolved() for 'SequentialFuture' ... done [13:14:03.422] Future #1 [13:14:03.422] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.422] - nx: 1 [13:14:03.422] - relay: TRUE [13:14:03.422] - stdout: TRUE [13:14:03.422] - signal: TRUE [13:14:03.422] - resignal: FALSE [13:14:03.422] - force: TRUE [13:14:03.423] - relayed: [n=1] FALSE [13:14:03.423] - queued futures: [n=1] FALSE [13:14:03.423] - until=1 [13:14:03.423] - relaying element #1 [13:14:03.423] - relayed: [n=1] TRUE [13:14:03.423] - queued futures: [n=1] TRUE [13:14:03.423] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.424] length: 0 (resolved future 1) [13:14:03.424] Relaying remaining futures [13:14:03.424] signalConditionsASAP(NULL, pos=0) ... [13:14:03.424] - nx: 1 [13:14:03.424] - relay: TRUE [13:14:03.424] - stdout: TRUE [13:14:03.424] - signal: TRUE [13:14:03.424] - resignal: FALSE [13:14:03.425] - force: TRUE [13:14:03.425] - relayed: [n=1] TRUE [13:14:03.425] - queued futures: [n=1] TRUE - flush all [13:14:03.425] - relayed: [n=1] TRUE [13:14:03.425] - queued futures: [n=1] TRUE [13:14:03.425] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.425] resolve() on list ... DONE [13:14:03.426] - Number of value chunks collected: 1 [13:14:03.426] Resolving 1 futures (chunks) ... DONE [13:14:03.426] Reducing values from 1 chunks ... [13:14:03.426] - Number of values collected after concatenation: 3 [13:14:03.426] - Number of values expected: 3 [13:14:03.426] Reducing values from 1 chunks ... DONE [13:14:03.426] future_lapply() ... DONE [13:14:03.426] future_lapply() ... [13:14:03.427] Number of chunks: 1 [13:14:03.428] getGlobalsAndPackagesXApply() ... [13:14:03.428] - future.globals: TRUE [13:14:03.428] getGlobalsAndPackages() ... [13:14:03.428] Searching for globals... [13:14:03.430] - globals found: [4] 'FUN', 'compute', '...', '+' [13:14:03.430] Searching for globals ... DONE [13:14:03.430] Resolving globals: FALSE [13:14:03.430] Tweak future expression to call with '...' arguments ... [13:14:03.430] { [13:14:03.430] do.call(function(...) FUN(), args = future.call.arguments) [13:14:03.430] } [13:14:03.430] Tweak future expression to call with '...' arguments ... DONE [13:14:03.431] The total size of the 3 globals is 3.92 KiB (4016 bytes) [13:14:03.431] The total size of the 3 globals exported for future expression ('FUN()') is 3.92 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are three globals: 'FUN' (2.43 KiB of class 'function'), 'compute' (1.44 KiB of class 'function') and 'future.call.arguments' (56 bytes of class 'list') [13:14:03.432] - globals: [3] 'FUN', 'compute', 'future.call.arguments' [13:14:03.432] [13:14:03.432] getGlobalsAndPackages() ... DONE [13:14:03.432] - globals found/used: [n=3] 'FUN', 'compute', 'future.call.arguments' [13:14:03.432] - needed namespaces: [n=0] [13:14:03.432] Finding globals ... DONE [13:14:03.432] - use_args: TRUE [13:14:03.433] - Getting '...' globals ... [13:14:03.433] resolve() on list ... [13:14:03.433] recursive: 0 [13:14:03.433] length: 1 [13:14:03.433] elements: '...' [13:14:03.433] length: 0 (resolved future 1) [13:14:03.434] resolve() on list ... DONE [13:14:03.434] - '...' content: [n=0] [13:14:03.434] List of 1 [13:14:03.434] $ ...: list() [13:14:03.434] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.434] - attr(*, "where")=List of 1 [13:14:03.434] ..$ ...: [13:14:03.434] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.434] - attr(*, "resolved")= logi TRUE [13:14:03.434] - attr(*, "total_size")= num NA [13:14:03.436] - Getting '...' globals ... DONE [13:14:03.436] Globals to be used in all futures (chunks): [n=4] '...future.FUN', 'compute', 'future.call.arguments', '...' [13:14:03.436] List of 4 [13:14:03.436] $ ...future.FUN :function (x) [13:14:03.436] $ compute :function (a, x_vec) [13:14:03.436] $ future.call.arguments:List of 1 [13:14:03.436] ..$ : int 0 [13:14:03.436] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.436] $ ... : list() [13:14:03.436] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.436] - attr(*, "where")=List of 4 [13:14:03.436] ..$ ...future.FUN : [13:14:03.436] ..$ compute : [13:14:03.436] ..$ future.call.arguments: [13:14:03.436] ..$ ... : [13:14:03.436] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.436] - attr(*, "resolved")= logi FALSE [13:14:03.436] - attr(*, "total_size")= num 4016 [13:14:03.440] Packages to be attached in all futures: [n=0] [13:14:03.441] getGlobalsAndPackagesXApply() ... DONE [13:14:03.441] Number of futures (= number of chunks): 1 [13:14:03.441] Launching 1 futures (chunks) ... [13:14:03.441] Chunk #1 of 1 ... [13:14:03.441] - Finding globals in 'X' for chunk #1 ... [13:14:03.441] getGlobalsAndPackages() ... [13:14:03.441] Searching for globals... [13:14:03.442] [13:14:03.442] Searching for globals ... DONE [13:14:03.442] - globals: [0] [13:14:03.442] getGlobalsAndPackages() ... DONE [13:14:03.442] + additional globals found: [n=0] [13:14:03.442] + additional namespaces needed: [n=0] [13:14:03.442] - Finding globals in 'X' for chunk #1 ... DONE [13:14:03.442] - seeds: [13:14:03.442] - All globals exported: [n=7] '...future.FUN', 'compute', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.443] getGlobalsAndPackages() ... [13:14:03.443] - globals passed as-is: [7] '...future.FUN', 'compute', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.443] Resolving globals: FALSE [13:14:03.443] Tweak future expression to call with '...' arguments ... [13:14:03.443] - Detected 2 'future.call.arguments' global entries: [13:14:03.443] List of 2 [13:14:03.443] $ future.call.arguments:List of 1 [13:14:03.443] ..$ : int 0 [13:14:03.443] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.443] $ future.call.arguments: list() [13:14:03.443] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.443] - attr(*, "where")=List of 2 [13:14:03.443] ..$ future.call.arguments: [13:14:03.443] ..$ future.call.arguments: [13:14:03.443] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.443] - attr(*, "resolved")= logi FALSE [13:14:03.443] - attr(*, "total_size")= num 4016 [13:14:03.446] future.call.arguments future.call.arguments [13:14:03.446] 1 0 [13:14:03.446] - 'future.call.arguments' global entries: [13:14:03.447] List of 2 [13:14:03.447] $ future.call.arguments:List of 1 [13:14:03.447] ..$ : int 0 [13:14:03.447] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.447] $ ...future.elements_ii:List of 2 [13:14:03.447] ..$ : int 1 [13:14:03.447] ..$ : int 2 [13:14:03.447] - attr(*, "where")=List of 2 [13:14:03.447] ..$ future.call.arguments: [13:14:03.447] ..$ ...future.elements_ii: [13:14:03.447] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.447] - attr(*, "resolved")= logi FALSE [13:14:03.447] - attr(*, "total_size")= num 4016 [13:14:03.450] { [13:14:03.450] do.call(function(...) { [13:14:03.450] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.450] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.450] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.450] on.exit(options(oopts), add = TRUE) [13:14:03.450] } [13:14:03.450] { [13:14:03.450] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.450] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.450] ...future.FUN(...future.X_jj) [13:14:03.450] }) [13:14:03.450] } [13:14:03.450] }, args = future.call.arguments) [13:14:03.450] } [13:14:03.450] Tweak future expression to call with '...' arguments ... DONE [13:14:03.451] - globals: [6] '...future.FUN', 'compute', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:03.451] [13:14:03.451] getGlobalsAndPackages() ... DONE [13:14:03.451] run() for 'Future' ... [13:14:03.451] - state: 'created' [13:14:03.451] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:14:03.452] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.452] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:14:03.452] - Field: 'label' [13:14:03.452] - Field: 'local' [13:14:03.452] - Field: 'owner' [13:14:03.452] - Field: 'envir' [13:14:03.452] - Field: 'packages' [13:14:03.453] - Field: 'gc' [13:14:03.453] - Field: 'conditions' [13:14:03.453] - Field: 'expr' [13:14:03.453] - Field: 'uuid' [13:14:03.453] - Field: 'seed' [13:14:03.453] - Field: 'version' [13:14:03.453] - Field: 'result' [13:14:03.453] - Field: 'asynchronous' [13:14:03.454] - Field: 'calls' [13:14:03.454] - Field: 'globals' [13:14:03.454] - Field: 'stdout' [13:14:03.454] - Field: 'earlySignal' [13:14:03.454] - Field: 'lazy' [13:14:03.454] - Field: 'state' [13:14:03.454] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:14:03.454] - Launch lazy future ... [13:14:03.455] Packages needed by the future expression (n = 0): [13:14:03.455] Packages needed by future strategies (n = 0): [13:14:03.455] { [13:14:03.455] { [13:14:03.455] { [13:14:03.455] ...future.startTime <- base::Sys.time() [13:14:03.455] { [13:14:03.455] { [13:14:03.455] { [13:14:03.455] base::local({ [13:14:03.455] has_future <- base::requireNamespace("future", [13:14:03.455] quietly = TRUE) [13:14:03.455] if (has_future) { [13:14:03.455] ns <- base::getNamespace("future") [13:14:03.455] version <- ns[[".package"]][["version"]] [13:14:03.455] if (is.null(version)) [13:14:03.455] version <- utils::packageVersion("future") [13:14:03.455] } [13:14:03.455] else { [13:14:03.455] version <- NULL [13:14:03.455] } [13:14:03.455] if (!has_future || version < "1.8.0") { [13:14:03.455] info <- base::c(r_version = base::gsub("R version ", [13:14:03.455] "", base::R.version$version.string), [13:14:03.455] platform = base::sprintf("%s (%s-bit)", [13:14:03.455] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:03.455] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:03.455] "release", "version")], collapse = " "), [13:14:03.455] hostname = base::Sys.info()[["nodename"]]) [13:14:03.455] info <- base::sprintf("%s: %s", base::names(info), [13:14:03.455] info) [13:14:03.455] info <- base::paste(info, collapse = "; ") [13:14:03.455] if (!has_future) { [13:14:03.455] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:03.455] info) [13:14:03.455] } [13:14:03.455] else { [13:14:03.455] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:03.455] info, version) [13:14:03.455] } [13:14:03.455] base::stop(msg) [13:14:03.455] } [13:14:03.455] }) [13:14:03.455] } [13:14:03.455] options(future.plan = NULL) [13:14:03.455] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.455] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:03.455] } [13:14:03.455] ...future.workdir <- getwd() [13:14:03.455] } [13:14:03.455] ...future.oldOptions <- base::as.list(base::.Options) [13:14:03.455] ...future.oldEnvVars <- base::Sys.getenv() [13:14:03.455] } [13:14:03.455] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:03.455] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:03.455] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:03.455] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:03.455] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:03.455] future.stdout.windows.reencode = NULL, width = 80L) [13:14:03.455] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:03.455] base::names(...future.oldOptions)) [13:14:03.455] } [13:14:03.455] if (FALSE) { [13:14:03.455] } [13:14:03.455] else { [13:14:03.455] if (TRUE) { [13:14:03.455] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:03.455] open = "w") [13:14:03.455] } [13:14:03.455] else { [13:14:03.455] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:03.455] windows = "NUL", "/dev/null"), open = "w") [13:14:03.455] } [13:14:03.455] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:03.455] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:03.455] base::sink(type = "output", split = FALSE) [13:14:03.455] base::close(...future.stdout) [13:14:03.455] }, add = TRUE) [13:14:03.455] } [13:14:03.455] ...future.frame <- base::sys.nframe() [13:14:03.455] ...future.conditions <- base::list() [13:14:03.455] ...future.rng <- base::globalenv()$.Random.seed [13:14:03.455] if (FALSE) { [13:14:03.455] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:03.455] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:03.455] } [13:14:03.455] ...future.result <- base::tryCatch({ [13:14:03.455] base::withCallingHandlers({ [13:14:03.455] ...future.value <- base::withVisible(base::local({ [13:14:03.455] do.call(function(...) { [13:14:03.455] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.455] if (!identical(...future.globals.maxSize.org, [13:14:03.455] ...future.globals.maxSize)) { [13:14:03.455] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.455] on.exit(options(oopts), add = TRUE) [13:14:03.455] } [13:14:03.455] { [13:14:03.455] lapply(seq_along(...future.elements_ii), [13:14:03.455] FUN = function(jj) { [13:14:03.455] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.455] ...future.FUN(...future.X_jj) [13:14:03.455] }) [13:14:03.455] } [13:14:03.455] }, args = future.call.arguments) [13:14:03.455] })) [13:14:03.455] future::FutureResult(value = ...future.value$value, [13:14:03.455] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.455] ...future.rng), globalenv = if (FALSE) [13:14:03.455] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:03.455] ...future.globalenv.names)) [13:14:03.455] else NULL, started = ...future.startTime, version = "1.8") [13:14:03.455] }, condition = base::local({ [13:14:03.455] c <- base::c [13:14:03.455] inherits <- base::inherits [13:14:03.455] invokeRestart <- base::invokeRestart [13:14:03.455] length <- base::length [13:14:03.455] list <- base::list [13:14:03.455] seq.int <- base::seq.int [13:14:03.455] signalCondition <- base::signalCondition [13:14:03.455] sys.calls <- base::sys.calls [13:14:03.455] `[[` <- base::`[[` [13:14:03.455] `+` <- base::`+` [13:14:03.455] `<<-` <- base::`<<-` [13:14:03.455] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:03.455] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:03.455] 3L)] [13:14:03.455] } [13:14:03.455] function(cond) { [13:14:03.455] is_error <- inherits(cond, "error") [13:14:03.455] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:03.455] NULL) [13:14:03.455] if (is_error) { [13:14:03.455] sessionInformation <- function() { [13:14:03.455] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:03.455] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:03.455] search = base::search(), system = base::Sys.info()) [13:14:03.455] } [13:14:03.455] ...future.conditions[[length(...future.conditions) + [13:14:03.455] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:03.455] cond$call), session = sessionInformation(), [13:14:03.455] timestamp = base::Sys.time(), signaled = 0L) [13:14:03.455] signalCondition(cond) [13:14:03.455] } [13:14:03.455] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:03.455] "immediateCondition"))) { [13:14:03.455] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:03.455] ...future.conditions[[length(...future.conditions) + [13:14:03.455] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:03.455] if (TRUE && !signal) { [13:14:03.455] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.455] { [13:14:03.455] inherits <- base::inherits [13:14:03.455] invokeRestart <- base::invokeRestart [13:14:03.455] is.null <- base::is.null [13:14:03.455] muffled <- FALSE [13:14:03.455] if (inherits(cond, "message")) { [13:14:03.455] muffled <- grepl(pattern, "muffleMessage") [13:14:03.455] if (muffled) [13:14:03.455] invokeRestart("muffleMessage") [13:14:03.455] } [13:14:03.455] else if (inherits(cond, "warning")) { [13:14:03.455] muffled <- grepl(pattern, "muffleWarning") [13:14:03.455] if (muffled) [13:14:03.455] invokeRestart("muffleWarning") [13:14:03.455] } [13:14:03.455] else if (inherits(cond, "condition")) { [13:14:03.455] if (!is.null(pattern)) { [13:14:03.455] computeRestarts <- base::computeRestarts [13:14:03.455] grepl <- base::grepl [13:14:03.455] restarts <- computeRestarts(cond) [13:14:03.455] for (restart in restarts) { [13:14:03.455] name <- restart$name [13:14:03.455] if (is.null(name)) [13:14:03.455] next [13:14:03.455] if (!grepl(pattern, name)) [13:14:03.455] next [13:14:03.455] invokeRestart(restart) [13:14:03.455] muffled <- TRUE [13:14:03.455] break [13:14:03.455] } [13:14:03.455] } [13:14:03.455] } [13:14:03.455] invisible(muffled) [13:14:03.455] } [13:14:03.455] muffleCondition(cond, pattern = "^muffle") [13:14:03.455] } [13:14:03.455] } [13:14:03.455] else { [13:14:03.455] if (TRUE) { [13:14:03.455] muffleCondition <- function (cond, pattern = "^muffle") [13:14:03.455] { [13:14:03.455] inherits <- base::inherits [13:14:03.455] invokeRestart <- base::invokeRestart [13:14:03.455] is.null <- base::is.null [13:14:03.455] muffled <- FALSE [13:14:03.455] if (inherits(cond, "message")) { [13:14:03.455] muffled <- grepl(pattern, "muffleMessage") [13:14:03.455] if (muffled) [13:14:03.455] invokeRestart("muffleMessage") [13:14:03.455] } [13:14:03.455] else if (inherits(cond, "warning")) { [13:14:03.455] muffled <- grepl(pattern, "muffleWarning") [13:14:03.455] if (muffled) [13:14:03.455] invokeRestart("muffleWarning") [13:14:03.455] } [13:14:03.455] else if (inherits(cond, "condition")) { [13:14:03.455] if (!is.null(pattern)) { [13:14:03.455] computeRestarts <- base::computeRestarts [13:14:03.455] grepl <- base::grepl [13:14:03.455] restarts <- computeRestarts(cond) [13:14:03.455] for (restart in restarts) { [13:14:03.455] name <- restart$name [13:14:03.455] if (is.null(name)) [13:14:03.455] next [13:14:03.455] if (!grepl(pattern, name)) [13:14:03.455] next [13:14:03.455] invokeRestart(restart) [13:14:03.455] muffled <- TRUE [13:14:03.455] break [13:14:03.455] } [13:14:03.455] } [13:14:03.455] } [13:14:03.455] invisible(muffled) [13:14:03.455] } [13:14:03.455] muffleCondition(cond, pattern = "^muffle") [13:14:03.455] } [13:14:03.455] } [13:14:03.455] } [13:14:03.455] })) [13:14:03.455] }, error = function(ex) { [13:14:03.455] base::structure(base::list(value = NULL, visible = NULL, [13:14:03.455] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:03.455] ...future.rng), started = ...future.startTime, [13:14:03.455] finished = Sys.time(), session_uuid = NA_character_, [13:14:03.455] version = "1.8"), class = "FutureResult") [13:14:03.455] }, finally = { [13:14:03.455] if (!identical(...future.workdir, getwd())) [13:14:03.455] setwd(...future.workdir) [13:14:03.455] { [13:14:03.455] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:03.455] ...future.oldOptions$nwarnings <- NULL [13:14:03.455] } [13:14:03.455] base::options(...future.oldOptions) [13:14:03.455] if (.Platform$OS.type == "windows") { [13:14:03.455] old_names <- names(...future.oldEnvVars) [13:14:03.455] envs <- base::Sys.getenv() [13:14:03.455] names <- names(envs) [13:14:03.455] common <- intersect(names, old_names) [13:14:03.455] added <- setdiff(names, old_names) [13:14:03.455] removed <- setdiff(old_names, names) [13:14:03.455] changed <- common[...future.oldEnvVars[common] != [13:14:03.455] envs[common]] [13:14:03.455] NAMES <- toupper(changed) [13:14:03.455] args <- list() [13:14:03.455] for (kk in seq_along(NAMES)) { [13:14:03.455] name <- changed[[kk]] [13:14:03.455] NAME <- NAMES[[kk]] [13:14:03.455] if (name != NAME && is.element(NAME, old_names)) [13:14:03.455] next [13:14:03.455] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.455] } [13:14:03.455] NAMES <- toupper(added) [13:14:03.455] for (kk in seq_along(NAMES)) { [13:14:03.455] name <- added[[kk]] [13:14:03.455] NAME <- NAMES[[kk]] [13:14:03.455] if (name != NAME && is.element(NAME, old_names)) [13:14:03.455] next [13:14:03.455] args[[name]] <- "" [13:14:03.455] } [13:14:03.455] NAMES <- toupper(removed) [13:14:03.455] for (kk in seq_along(NAMES)) { [13:14:03.455] name <- removed[[kk]] [13:14:03.455] NAME <- NAMES[[kk]] [13:14:03.455] if (name != NAME && is.element(NAME, old_names)) [13:14:03.455] next [13:14:03.455] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:03.455] } [13:14:03.455] if (length(args) > 0) [13:14:03.455] base::do.call(base::Sys.setenv, args = args) [13:14:03.455] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:03.455] } [13:14:03.455] else { [13:14:03.455] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:03.455] } [13:14:03.455] { [13:14:03.455] if (base::length(...future.futureOptionsAdded) > [13:14:03.455] 0L) { [13:14:03.455] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:03.455] base::names(opts) <- ...future.futureOptionsAdded [13:14:03.455] base::options(opts) [13:14:03.455] } [13:14:03.455] { [13:14:03.455] { [13:14:03.455] NULL [13:14:03.455] RNGkind("Mersenne-Twister") [13:14:03.455] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:14:03.455] inherits = FALSE) [13:14:03.455] } [13:14:03.455] options(future.plan = NULL) [13:14:03.455] if (is.na(NA_character_)) [13:14:03.455] Sys.unsetenv("R_FUTURE_PLAN") [13:14:03.455] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:03.455] future::plan(list(function (..., envir = parent.frame()) [13:14:03.455] { [13:14:03.455] future <- SequentialFuture(..., envir = envir) [13:14:03.455] if (!future$lazy) [13:14:03.455] future <- run(future) [13:14:03.455] invisible(future) [13:14:03.455] }), .cleanup = FALSE, .init = FALSE) [13:14:03.455] } [13:14:03.455] } [13:14:03.455] } [13:14:03.455] }) [13:14:03.455] if (TRUE) { [13:14:03.455] base::sink(type = "output", split = FALSE) [13:14:03.455] if (TRUE) { [13:14:03.455] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:03.455] } [13:14:03.455] else { [13:14:03.455] ...future.result["stdout"] <- base::list(NULL) [13:14:03.455] } [13:14:03.455] base::close(...future.stdout) [13:14:03.455] ...future.stdout <- NULL [13:14:03.455] } [13:14:03.455] ...future.result$conditions <- ...future.conditions [13:14:03.455] ...future.result$finished <- base::Sys.time() [13:14:03.455] ...future.result [13:14:03.455] } [13:14:03.458] assign_globals() ... [13:14:03.458] List of 6 [13:14:03.458] $ ...future.FUN :function (x) [13:14:03.458] $ compute :function (a, x_vec) [13:14:03.458] $ future.call.arguments :List of 1 [13:14:03.458] ..$ : int 0 [13:14:03.458] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:03.458] $ ...future.elements_ii :List of 2 [13:14:03.458] ..$ : int 1 [13:14:03.458] ..$ : int 2 [13:14:03.458] $ ...future.seeds_ii : NULL [13:14:03.458] $ ...future.globals.maxSize: NULL [13:14:03.458] - attr(*, "where")=List of 6 [13:14:03.458] ..$ ...future.FUN : [13:14:03.458] ..$ compute : [13:14:03.458] ..$ future.call.arguments : [13:14:03.458] ..$ ...future.elements_ii : [13:14:03.458] ..$ ...future.seeds_ii : [13:14:03.458] ..$ ...future.globals.maxSize: [13:14:03.458] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:03.458] - attr(*, "resolved")= logi FALSE [13:14:03.458] - attr(*, "total_size")= num 4016 [13:14:03.458] - attr(*, "already-done")= logi TRUE [13:14:03.463] - reassign environment for '...future.FUN' [13:14:03.463] - copied '...future.FUN' to environment [13:14:03.463] - reassign environment for 'compute' [13:14:03.463] - copied 'compute' to environment [13:14:03.463] - copied 'future.call.arguments' to environment [13:14:03.464] - copied '...future.elements_ii' to environment [13:14:03.464] - copied '...future.seeds_ii' to environment [13:14:03.464] - copied '...future.globals.maxSize' to environment [13:14:03.464] assign_globals() ... done [13:14:03.464] plan(): Setting new future strategy stack: [13:14:03.464] List of future strategies: [13:14:03.464] 1. sequential: [13:14:03.464] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.464] - tweaked: FALSE [13:14:03.464] - call: NULL [13:14:03.465] plan(): nbrOfWorkers() = 1 [13:14:03.466] plan(): Setting new future strategy stack: [13:14:03.466] List of future strategies: [13:14:03.466] 1. sequential: [13:14:03.466] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.466] - tweaked: FALSE [13:14:03.466] - call: plan(strategy) [13:14:03.466] plan(): nbrOfWorkers() = 1 [13:14:03.466] SequentialFuture started (and completed) [13:14:03.466] - Launch lazy future ... done [13:14:03.467] run() for 'SequentialFuture' ... done [13:14:03.467] Created future: [13:14:03.467] SequentialFuture: [13:14:03.467] Label: 'future_sapply-1' [13:14:03.467] Expression: [13:14:03.467] { [13:14:03.467] do.call(function(...) { [13:14:03.467] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:03.467] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:03.467] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:03.467] on.exit(options(oopts), add = TRUE) [13:14:03.467] } [13:14:03.467] { [13:14:03.467] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:03.467] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:03.467] ...future.FUN(...future.X_jj) [13:14:03.467] }) [13:14:03.467] } [13:14:03.467] }, args = future.call.arguments) [13:14:03.467] } [13:14:03.467] Lazy evaluation: FALSE [13:14:03.467] Asynchronous evaluation: FALSE [13:14:03.467] Local evaluation: TRUE [13:14:03.467] Environment: 0x000002d9525bcf10 [13:14:03.467] Capture standard output: TRUE [13:14:03.467] Capture condition classes: 'condition' (excluding 'nothing') [13:14:03.467] Globals: 6 objects totaling 4.03 KiB (function '...future.FUN' of 2.43 KiB, function 'compute' of 1.44 KiB, DotDotDotList 'future.call.arguments' of 56 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, ...) [13:14:03.467] Packages: [13:14:03.467] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:03.467] Resolved: TRUE [13:14:03.467] Value: 112 bytes of class 'list' [13:14:03.467] Early signaling: FALSE [13:14:03.467] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:03.467] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:14:03.468] Chunk #1 of 1 ... DONE [13:14:03.468] Launching 1 futures (chunks) ... DONE [13:14:03.468] Resolving 1 futures (chunks) ... [13:14:03.468] resolve() on list ... [13:14:03.468] recursive: 0 [13:14:03.468] length: 1 [13:14:03.469] [13:14:03.469] resolved() for 'SequentialFuture' ... [13:14:03.469] - state: 'finished' [13:14:03.469] - run: TRUE [13:14:03.469] - result: 'FutureResult' [13:14:03.469] resolved() for 'SequentialFuture' ... done [13:14:03.469] Future #1 [13:14:03.469] signalConditionsASAP(SequentialFuture, pos=1) ... [13:14:03.470] - nx: 1 [13:14:03.470] - relay: TRUE [13:14:03.470] - stdout: TRUE [13:14:03.470] - signal: TRUE [13:14:03.470] - resignal: FALSE [13:14:03.470] - force: TRUE [13:14:03.470] - relayed: [n=1] FALSE [13:14:03.470] - queued futures: [n=1] FALSE [13:14:03.470] - until=1 [13:14:03.471] - relaying element #1 [13:14:03.471] - relayed: [n=1] TRUE [13:14:03.471] - queued futures: [n=1] TRUE [13:14:03.471] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:14:03.471] length: 0 (resolved future 1) [13:14:03.471] Relaying remaining futures [13:14:03.471] signalConditionsASAP(NULL, pos=0) ... [13:14:03.471] - nx: 1 [13:14:03.472] - relay: TRUE [13:14:03.472] - stdout: TRUE [13:14:03.472] - signal: TRUE [13:14:03.472] - resignal: FALSE [13:14:03.472] - force: TRUE [13:14:03.472] - relayed: [n=1] TRUE [13:14:03.472] - queued futures: [n=1] TRUE - flush all [13:14:03.472] - relayed: [n=1] TRUE [13:14:03.473] - queued futures: [n=1] TRUE [13:14:03.473] signalConditionsASAP(NULL, pos=0) ... done [13:14:03.473] resolve() on list ... DONE [13:14:03.473] - Number of value chunks collected: 1 [13:14:03.473] Resolving 1 futures (chunks) ... DONE [13:14:03.473] Reducing values from 1 chunks ... [13:14:03.473] - Number of values collected after concatenation: 2 [13:14:03.473] - Number of values expected: 2 [13:14:03.473] Reducing values from 1 chunks ... DONE [13:14:03.474] future_lapply() ... DONE [1] 1 2 [13:14:03.474] plan(): Setting new future strategy stack: [13:14:03.474] List of future strategies: [13:14:03.474] 1. sequential: [13:14:03.474] - args: function (..., envir = parent.frame(), workers = "") [13:14:03.474] - tweaked: FALSE [13:14:03.474] - call: plan(sequential) [13:14:03.474] plan(): nbrOfWorkers() = 1 *** strategy = 'sequential' ... done *** strategy = 'multisession' ... [13:14:03.475] plan(): Setting new future strategy stack: [13:14:03.475] List of future strategies: [13:14:03.475] 1. multisession: [13:14:03.475] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [13:14:03.475] - tweaked: FALSE [13:14:03.475] - call: plan(strategy) [13:14:03.475] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [13:14:03.475] multisession: [13:14:03.475] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [13:14:03.475] - tweaked: FALSE [13:14:03.475] - call: plan(strategy) [13:14:03.479] getGlobalsAndPackages() ... [13:14:03.479] Not searching for globals [13:14:03.479] - globals: [0] [13:14:03.479] getGlobalsAndPackages() ... DONE [13:14:03.480] [local output] makeClusterPSOCK() ... [13:14:03.518] [local output] Workers: [n = 2] 'localhost', 'localhost' [13:14:03.523] [local output] Base port: 33919 [13:14:03.523] [local output] Getting setup options for 2 cluster nodes ... [13:14:03.523] [local output] - Node 1 of 2 ... [13:14:03.523] [local output] localMachine=TRUE => revtunnel=FALSE [13:14:03.524] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpqGhISI/worker.rank=1.parallelly.parent=10652.299c260b261e.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpqGhISI/worker.rank=1.parallelly.parent=10652.299c260b261e.pid\")"' [13:14:03.970] - Possible to infer worker's PID: TRUE [13:14:03.971] [local output] Rscript port: 33919 [13:14:03.972] [local output] - Node 2 of 2 ... [13:14:03.972] [local output] localMachine=TRUE => revtunnel=FALSE [13:14:03.973] [local output] Rscript port: 33919 [13:14:03.974] [local output] Getting setup options for 2 cluster nodes ... done [13:14:03.974] [local output] - Parallel setup requested for some PSOCK nodes [13:14:03.975] [local output] Setting up PSOCK nodes in parallel [13:14:03.975] List of 36 [13:14:03.975] $ worker : chr "localhost" [13:14:03.975] ..- attr(*, "localhost")= logi TRUE [13:14:03.975] $ master : chr "localhost" [13:14:03.975] $ port : int 33919 [13:14:03.975] $ connectTimeout : num 120 [13:14:03.975] $ timeout : num 120 [13:14:03.975] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [13:14:03.975] $ homogeneous : logi TRUE [13:14:03.975] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=future_sapply.R:10652:CRANWIN3:C"| __truncated__ [13:14:03.975] $ rscript_envs : NULL [13:14:03.975] $ rscript_libs : chr [1:2] "D:/temp/RtmpKkFYYg/RLIBS_20dc214b714b" "D:/RCompile/recent/R/library" [13:14:03.975] $ rscript_startup : NULL [13:14:03.975] $ rscript_sh : chr "cmd" [13:14:03.975] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [13:14:03.975] $ methods : logi TRUE [13:14:03.975] $ socketOptions : chr "no-delay" [13:14:03.975] $ useXDR : logi FALSE [13:14:03.975] $ outfile : chr "/dev/null" [13:14:03.975] $ renice : int NA [13:14:03.975] $ rshcmd : NULL [13:14:03.975] $ user : chr(0) [13:14:03.975] $ revtunnel : logi FALSE [13:14:03.975] $ rshlogfile : NULL [13:14:03.975] $ rshopts : chr(0) [13:14:03.975] $ rank : int 1 [13:14:03.975] $ manual : logi FALSE [13:14:03.975] $ dryrun : logi FALSE [13:14:03.975] $ quiet : logi FALSE [13:14:03.975] $ setup_strategy : chr "parallel" [13:14:03.975] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [13:14:03.975] $ pidfile : chr "D:/temp/RtmpqGhISI/worker.rank=1.parallelly.parent=10652.299c260b261e.pid" [13:14:03.975] $ rshcmd_label : NULL [13:14:03.975] $ rsh_call : NULL [13:14:03.975] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [13:14:03.975] $ localMachine : logi TRUE [13:14:03.975] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [13:14:03.975] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [13:14:03.975] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [13:14:03.975] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [13:14:03.975] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [13:14:03.975] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [13:14:03.975] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [13:14:03.975] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [13:14:03.975] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [13:14:03.975] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [13:14:03.975] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [13:14:03.975] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [13:14:03.975] "parallel"), action = c("launch", "options"), verbose = FALSE) [13:14:03.975] $ arguments :List of 28 [13:14:03.975] ..$ worker : chr "localhost" [13:14:03.975] ..$ master : NULL [13:14:03.975] ..$ port : int 33919 [13:14:03.975] ..$ connectTimeout : num 120 [13:14:03.975] ..$ timeout : num 120 [13:14:03.975] ..$ rscript : NULL [13:14:03.975] ..$ homogeneous : NULL [13:14:03.975] ..$ rscript_args : NULL [13:14:03.975] ..$ rscript_envs : NULL [13:14:03.975] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpKkFYYg/RLIBS_20dc214b714b" "D:/RCompile/recent/R/library" [13:14:03.975] ..$ rscript_startup : NULL [13:14:03.975] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [13:14:03.975] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [13:14:03.975] ..$ methods : logi TRUE [13:14:03.975] ..$ socketOptions : chr "no-delay" [13:14:03.975] ..$ useXDR : logi FALSE [13:14:03.975] ..$ outfile : chr "/dev/null" [13:14:03.975] ..$ renice : int NA [13:14:03.975] ..$ rshcmd : NULL [13:14:03.975] ..$ user : NULL [13:14:03.975] ..$ revtunnel : logi NA [13:14:03.975] ..$ rshlogfile : NULL [13:14:03.975] ..$ rshopts : NULL [13:14:03.975] ..$ rank : int 1 [13:14:03.975] ..$ manual : logi FALSE [13:14:03.975] ..$ dryrun : logi FALSE [13:14:03.975] ..$ quiet : logi FALSE [13:14:03.975] ..$ setup_strategy : chr "parallel" [13:14:03.975] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [13:14:03.997] [local output] System call to launch all workers: [13:14:03.997] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=future_sapply.R:10652:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpqGhISI/worker.rank=1.parallelly.parent=10652.299c260b261e.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/RtmpKkFYYg/RLIBS_20dc214b714b\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=33919 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [13:14:03.997] [local output] Starting PSOCK main server [13:14:04.003] [local output] Workers launched [13:14:04.003] [local output] Waiting for workers to connect back [13:14:04.003] - [local output] 0 workers out of 2 ready [13:14:04.174] - [local output] 0 workers out of 2 ready [13:14:04.175] - [local output] 1 workers out of 2 ready [13:14:04.176] - [local output] 1 workers out of 2 ready [13:14:04.176] - [local output] 2 workers out of 2 ready [13:14:04.177] [local output] Launching of workers completed [13:14:04.177] [local output] Collecting session information from workers [13:14:04.178] [local output] - Worker #1 of 2 [13:14:04.178] [local output] - Worker #2 of 2 [13:14:04.179] [local output] makeClusterPSOCK() ... done [13:14:04.192] Packages needed by the future expression (n = 0): [13:14:04.192] Packages needed by future strategies (n = 0): [13:14:04.192] { [13:14:04.192] { [13:14:04.192] { [13:14:04.192] ...future.startTime <- base::Sys.time() [13:14:04.192] { [13:14:04.192] { [13:14:04.192] { [13:14:04.192] { [13:14:04.192] base::local({ [13:14:04.192] has_future <- base::requireNamespace("future", [13:14:04.192] quietly = TRUE) [13:14:04.192] if (has_future) { [13:14:04.192] ns <- base::getNamespace("future") [13:14:04.192] version <- ns[[".package"]][["version"]] [13:14:04.192] if (is.null(version)) [13:14:04.192] version <- utils::packageVersion("future") [13:14:04.192] } [13:14:04.192] else { [13:14:04.192] version <- NULL [13:14:04.192] } [13:14:04.192] if (!has_future || version < "1.8.0") { [13:14:04.192] info <- base::c(r_version = base::gsub("R version ", [13:14:04.192] "", base::R.version$version.string), [13:14:04.192] platform = base::sprintf("%s (%s-bit)", [13:14:04.192] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.192] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.192] "release", "version")], collapse = " "), [13:14:04.192] hostname = base::Sys.info()[["nodename"]]) [13:14:04.192] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.192] info) [13:14:04.192] info <- base::paste(info, collapse = "; ") [13:14:04.192] if (!has_future) { [13:14:04.192] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.192] info) [13:14:04.192] } [13:14:04.192] else { [13:14:04.192] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.192] info, version) [13:14:04.192] } [13:14:04.192] base::stop(msg) [13:14:04.192] } [13:14:04.192] }) [13:14:04.192] } [13:14:04.192] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.192] base::options(mc.cores = 1L) [13:14:04.192] } [13:14:04.192] options(future.plan = NULL) [13:14:04.192] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.192] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.192] } [13:14:04.192] ...future.workdir <- getwd() [13:14:04.192] } [13:14:04.192] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.192] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.192] } [13:14:04.192] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.192] future.globals.maxSize = NULL, future.globals.method = NULL, [13:14:04.192] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.192] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.192] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.192] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.192] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.192] base::names(...future.oldOptions)) [13:14:04.192] } [13:14:04.192] if (FALSE) { [13:14:04.192] } [13:14:04.192] else { [13:14:04.192] if (TRUE) { [13:14:04.192] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.192] open = "w") [13:14:04.192] } [13:14:04.192] else { [13:14:04.192] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.192] windows = "NUL", "/dev/null"), open = "w") [13:14:04.192] } [13:14:04.192] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.192] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.192] base::sink(type = "output", split = FALSE) [13:14:04.192] base::close(...future.stdout) [13:14:04.192] }, add = TRUE) [13:14:04.192] } [13:14:04.192] ...future.frame <- base::sys.nframe() [13:14:04.192] ...future.conditions <- base::list() [13:14:04.192] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.192] if (FALSE) { [13:14:04.192] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.192] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.192] } [13:14:04.192] ...future.result <- base::tryCatch({ [13:14:04.192] base::withCallingHandlers({ [13:14:04.192] ...future.value <- base::withVisible(base::local({ [13:14:04.192] ...future.makeSendCondition <- local({ [13:14:04.192] sendCondition <- NULL [13:14:04.192] function(frame = 1L) { [13:14:04.192] if (is.function(sendCondition)) [13:14:04.192] return(sendCondition) [13:14:04.192] ns <- getNamespace("parallel") [13:14:04.192] if (exists("sendData", mode = "function", [13:14:04.192] envir = ns)) { [13:14:04.192] parallel_sendData <- get("sendData", mode = "function", [13:14:04.192] envir = ns) [13:14:04.192] envir <- sys.frame(frame) [13:14:04.192] master <- NULL [13:14:04.192] while (!identical(envir, .GlobalEnv) && [13:14:04.192] !identical(envir, emptyenv())) { [13:14:04.192] if (exists("master", mode = "list", envir = envir, [13:14:04.192] inherits = FALSE)) { [13:14:04.192] master <- get("master", mode = "list", [13:14:04.192] envir = envir, inherits = FALSE) [13:14:04.192] if (inherits(master, c("SOCKnode", [13:14:04.192] "SOCK0node"))) { [13:14:04.192] sendCondition <<- function(cond) { [13:14:04.192] data <- list(type = "VALUE", value = cond, [13:14:04.192] success = TRUE) [13:14:04.192] parallel_sendData(master, data) [13:14:04.192] } [13:14:04.192] return(sendCondition) [13:14:04.192] } [13:14:04.192] } [13:14:04.192] frame <- frame + 1L [13:14:04.192] envir <- sys.frame(frame) [13:14:04.192] } [13:14:04.192] } [13:14:04.192] sendCondition <<- function(cond) NULL [13:14:04.192] } [13:14:04.192] }) [13:14:04.192] withCallingHandlers({ [13:14:04.192] NA [13:14:04.192] }, immediateCondition = function(cond) { [13:14:04.192] sendCondition <- ...future.makeSendCondition() [13:14:04.192] sendCondition(cond) [13:14:04.192] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.192] { [13:14:04.192] inherits <- base::inherits [13:14:04.192] invokeRestart <- base::invokeRestart [13:14:04.192] is.null <- base::is.null [13:14:04.192] muffled <- FALSE [13:14:04.192] if (inherits(cond, "message")) { [13:14:04.192] muffled <- grepl(pattern, "muffleMessage") [13:14:04.192] if (muffled) [13:14:04.192] invokeRestart("muffleMessage") [13:14:04.192] } [13:14:04.192] else if (inherits(cond, "warning")) { [13:14:04.192] muffled <- grepl(pattern, "muffleWarning") [13:14:04.192] if (muffled) [13:14:04.192] invokeRestart("muffleWarning") [13:14:04.192] } [13:14:04.192] else if (inherits(cond, "condition")) { [13:14:04.192] if (!is.null(pattern)) { [13:14:04.192] computeRestarts <- base::computeRestarts [13:14:04.192] grepl <- base::grepl [13:14:04.192] restarts <- computeRestarts(cond) [13:14:04.192] for (restart in restarts) { [13:14:04.192] name <- restart$name [13:14:04.192] if (is.null(name)) [13:14:04.192] next [13:14:04.192] if (!grepl(pattern, name)) [13:14:04.192] next [13:14:04.192] invokeRestart(restart) [13:14:04.192] muffled <- TRUE [13:14:04.192] break [13:14:04.192] } [13:14:04.192] } [13:14:04.192] } [13:14:04.192] invisible(muffled) [13:14:04.192] } [13:14:04.192] muffleCondition(cond) [13:14:04.192] }) [13:14:04.192] })) [13:14:04.192] future::FutureResult(value = ...future.value$value, [13:14:04.192] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.192] ...future.rng), globalenv = if (FALSE) [13:14:04.192] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.192] ...future.globalenv.names)) [13:14:04.192] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.192] }, condition = base::local({ [13:14:04.192] c <- base::c [13:14:04.192] inherits <- base::inherits [13:14:04.192] invokeRestart <- base::invokeRestart [13:14:04.192] length <- base::length [13:14:04.192] list <- base::list [13:14:04.192] seq.int <- base::seq.int [13:14:04.192] signalCondition <- base::signalCondition [13:14:04.192] sys.calls <- base::sys.calls [13:14:04.192] `[[` <- base::`[[` [13:14:04.192] `+` <- base::`+` [13:14:04.192] `<<-` <- base::`<<-` [13:14:04.192] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.192] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.192] 3L)] [13:14:04.192] } [13:14:04.192] function(cond) { [13:14:04.192] is_error <- inherits(cond, "error") [13:14:04.192] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.192] NULL) [13:14:04.192] if (is_error) { [13:14:04.192] sessionInformation <- function() { [13:14:04.192] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.192] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.192] search = base::search(), system = base::Sys.info()) [13:14:04.192] } [13:14:04.192] ...future.conditions[[length(...future.conditions) + [13:14:04.192] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.192] cond$call), session = sessionInformation(), [13:14:04.192] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.192] signalCondition(cond) [13:14:04.192] } [13:14:04.192] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.192] "immediateCondition"))) { [13:14:04.192] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.192] ...future.conditions[[length(...future.conditions) + [13:14:04.192] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.192] if (TRUE && !signal) { [13:14:04.192] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.192] { [13:14:04.192] inherits <- base::inherits [13:14:04.192] invokeRestart <- base::invokeRestart [13:14:04.192] is.null <- base::is.null [13:14:04.192] muffled <- FALSE [13:14:04.192] if (inherits(cond, "message")) { [13:14:04.192] muffled <- grepl(pattern, "muffleMessage") [13:14:04.192] if (muffled) [13:14:04.192] invokeRestart("muffleMessage") [13:14:04.192] } [13:14:04.192] else if (inherits(cond, "warning")) { [13:14:04.192] muffled <- grepl(pattern, "muffleWarning") [13:14:04.192] if (muffled) [13:14:04.192] invokeRestart("muffleWarning") [13:14:04.192] } [13:14:04.192] else if (inherits(cond, "condition")) { [13:14:04.192] if (!is.null(pattern)) { [13:14:04.192] computeRestarts <- base::computeRestarts [13:14:04.192] grepl <- base::grepl [13:14:04.192] restarts <- computeRestarts(cond) [13:14:04.192] for (restart in restarts) { [13:14:04.192] name <- restart$name [13:14:04.192] if (is.null(name)) [13:14:04.192] next [13:14:04.192] if (!grepl(pattern, name)) [13:14:04.192] next [13:14:04.192] invokeRestart(restart) [13:14:04.192] muffled <- TRUE [13:14:04.192] break [13:14:04.192] } [13:14:04.192] } [13:14:04.192] } [13:14:04.192] invisible(muffled) [13:14:04.192] } [13:14:04.192] muffleCondition(cond, pattern = "^muffle") [13:14:04.192] } [13:14:04.192] } [13:14:04.192] else { [13:14:04.192] if (TRUE) { [13:14:04.192] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.192] { [13:14:04.192] inherits <- base::inherits [13:14:04.192] invokeRestart <- base::invokeRestart [13:14:04.192] is.null <- base::is.null [13:14:04.192] muffled <- FALSE [13:14:04.192] if (inherits(cond, "message")) { [13:14:04.192] muffled <- grepl(pattern, "muffleMessage") [13:14:04.192] if (muffled) [13:14:04.192] invokeRestart("muffleMessage") [13:14:04.192] } [13:14:04.192] else if (inherits(cond, "warning")) { [13:14:04.192] muffled <- grepl(pattern, "muffleWarning") [13:14:04.192] if (muffled) [13:14:04.192] invokeRestart("muffleWarning") [13:14:04.192] } [13:14:04.192] else if (inherits(cond, "condition")) { [13:14:04.192] if (!is.null(pattern)) { [13:14:04.192] computeRestarts <- base::computeRestarts [13:14:04.192] grepl <- base::grepl [13:14:04.192] restarts <- computeRestarts(cond) [13:14:04.192] for (restart in restarts) { [13:14:04.192] name <- restart$name [13:14:04.192] if (is.null(name)) [13:14:04.192] next [13:14:04.192] if (!grepl(pattern, name)) [13:14:04.192] next [13:14:04.192] invokeRestart(restart) [13:14:04.192] muffled <- TRUE [13:14:04.192] break [13:14:04.192] } [13:14:04.192] } [13:14:04.192] } [13:14:04.192] invisible(muffled) [13:14:04.192] } [13:14:04.192] muffleCondition(cond, pattern = "^muffle") [13:14:04.192] } [13:14:04.192] } [13:14:04.192] } [13:14:04.192] })) [13:14:04.192] }, error = function(ex) { [13:14:04.192] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.192] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.192] ...future.rng), started = ...future.startTime, [13:14:04.192] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.192] version = "1.8"), class = "FutureResult") [13:14:04.192] }, finally = { [13:14:04.192] if (!identical(...future.workdir, getwd())) [13:14:04.192] setwd(...future.workdir) [13:14:04.192] { [13:14:04.192] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.192] ...future.oldOptions$nwarnings <- NULL [13:14:04.192] } [13:14:04.192] base::options(...future.oldOptions) [13:14:04.192] if (.Platform$OS.type == "windows") { [13:14:04.192] old_names <- names(...future.oldEnvVars) [13:14:04.192] envs <- base::Sys.getenv() [13:14:04.192] names <- names(envs) [13:14:04.192] common <- intersect(names, old_names) [13:14:04.192] added <- setdiff(names, old_names) [13:14:04.192] removed <- setdiff(old_names, names) [13:14:04.192] changed <- common[...future.oldEnvVars[common] != [13:14:04.192] envs[common]] [13:14:04.192] NAMES <- toupper(changed) [13:14:04.192] args <- list() [13:14:04.192] for (kk in seq_along(NAMES)) { [13:14:04.192] name <- changed[[kk]] [13:14:04.192] NAME <- NAMES[[kk]] [13:14:04.192] if (name != NAME && is.element(NAME, old_names)) [13:14:04.192] next [13:14:04.192] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.192] } [13:14:04.192] NAMES <- toupper(added) [13:14:04.192] for (kk in seq_along(NAMES)) { [13:14:04.192] name <- added[[kk]] [13:14:04.192] NAME <- NAMES[[kk]] [13:14:04.192] if (name != NAME && is.element(NAME, old_names)) [13:14:04.192] next [13:14:04.192] args[[name]] <- "" [13:14:04.192] } [13:14:04.192] NAMES <- toupper(removed) [13:14:04.192] for (kk in seq_along(NAMES)) { [13:14:04.192] name <- removed[[kk]] [13:14:04.192] NAME <- NAMES[[kk]] [13:14:04.192] if (name != NAME && is.element(NAME, old_names)) [13:14:04.192] next [13:14:04.192] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.192] } [13:14:04.192] if (length(args) > 0) [13:14:04.192] base::do.call(base::Sys.setenv, args = args) [13:14:04.192] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.192] } [13:14:04.192] else { [13:14:04.192] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.192] } [13:14:04.192] { [13:14:04.192] if (base::length(...future.futureOptionsAdded) > [13:14:04.192] 0L) { [13:14:04.192] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.192] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.192] base::options(opts) [13:14:04.192] } [13:14:04.192] { [13:14:04.192] { [13:14:04.192] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.192] NULL [13:14:04.192] } [13:14:04.192] options(future.plan = NULL) [13:14:04.192] if (is.na(NA_character_)) [13:14:04.192] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.192] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.192] future::plan(list(function (..., workers = availableCores(), [13:14:04.192] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.192] envir = parent.frame()) [13:14:04.192] { [13:14:04.192] if (is.function(workers)) [13:14:04.192] workers <- workers() [13:14:04.192] workers <- structure(as.integer(workers), [13:14:04.192] class = class(workers)) [13:14:04.192] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.192] workers >= 1) [13:14:04.192] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.192] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.192] } [13:14:04.192] future <- MultisessionFuture(..., workers = workers, [13:14:04.192] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.192] envir = envir) [13:14:04.192] if (!future$lazy) [13:14:04.192] future <- run(future) [13:14:04.192] invisible(future) [13:14:04.192] }), .cleanup = FALSE, .init = FALSE) [13:14:04.192] } [13:14:04.192] } [13:14:04.192] } [13:14:04.192] }) [13:14:04.192] if (TRUE) { [13:14:04.192] base::sink(type = "output", split = FALSE) [13:14:04.192] if (TRUE) { [13:14:04.192] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.192] } [13:14:04.192] else { [13:14:04.192] ...future.result["stdout"] <- base::list(NULL) [13:14:04.192] } [13:14:04.192] base::close(...future.stdout) [13:14:04.192] ...future.stdout <- NULL [13:14:04.192] } [13:14:04.192] ...future.result$conditions <- ...future.conditions [13:14:04.192] ...future.result$finished <- base::Sys.time() [13:14:04.192] ...future.result [13:14:04.192] } [13:14:04.268] MultisessionFuture started [13:14:04.268] result() for ClusterFuture ... [13:14:04.269] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.269] - Validating connection of MultisessionFuture [13:14:04.326] - received message: FutureResult [13:14:04.326] - Received FutureResult [13:14:04.329] - Erased future from FutureRegistry [13:14:04.329] result() for ClusterFuture ... [13:14:04.329] - result already collected: FutureResult [13:14:04.329] result() for ClusterFuture ... done [13:14:04.330] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.330] result() for ClusterFuture ... done [13:14:04.330] result() for ClusterFuture ... [13:14:04.330] - result already collected: FutureResult [13:14:04.330] result() for ClusterFuture ... done [13:14:04.330] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [13:14:04.333] plan(): nbrOfWorkers() = 2 [13:14:04.333] future_lapply() ... [13:14:04.338] Number of chunks: 2 [13:14:04.338] getGlobalsAndPackagesXApply() ... [13:14:04.338] - future.globals: TRUE [13:14:04.338] getGlobalsAndPackages() ... [13:14:04.338] Searching for globals... [13:14:04.340] - globals found: [1] 'FUN' [13:14:04.340] Searching for globals ... DONE [13:14:04.340] Resolving globals: FALSE [13:14:04.341] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:04.341] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:04.341] - globals: [1] 'FUN' [13:14:04.342] [13:14:04.342] getGlobalsAndPackages() ... DONE [13:14:04.342] - globals found/used: [n=1] 'FUN' [13:14:04.342] - needed namespaces: [n=0] [13:14:04.342] Finding globals ... DONE [13:14:04.342] - use_args: TRUE [13:14:04.343] - Getting '...' globals ... [13:14:04.343] resolve() on list ... [13:14:04.343] recursive: 0 [13:14:04.343] length: 1 [13:14:04.344] elements: '...' [13:14:04.344] length: 0 (resolved future 1) [13:14:04.344] resolve() on list ... DONE [13:14:04.344] - '...' content: [n=0] [13:14:04.344] List of 1 [13:14:04.344] $ ...: list() [13:14:04.344] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.344] - attr(*, "where")=List of 1 [13:14:04.344] ..$ ...: [13:14:04.344] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.344] - attr(*, "resolved")= logi TRUE [13:14:04.344] - attr(*, "total_size")= num NA [13:14:04.348] - Getting '...' globals ... DONE [13:14:04.348] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:04.348] List of 2 [13:14:04.348] $ ...future.FUN:function (x) [13:14:04.348] $ ... : list() [13:14:04.348] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.348] - attr(*, "where")=List of 2 [13:14:04.348] ..$ ...future.FUN: [13:14:04.348] ..$ ... : [13:14:04.348] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.348] - attr(*, "resolved")= logi FALSE [13:14:04.348] - attr(*, "total_size")= num 848 [13:14:04.352] Packages to be attached in all futures: [n=0] [13:14:04.352] getGlobalsAndPackagesXApply() ... DONE [13:14:04.352] Number of futures (= number of chunks): 2 [13:14:04.352] Launching 2 futures (chunks) ... [13:14:04.352] Chunk #1 of 2 ... [13:14:04.353] - Finding globals in 'X' for chunk #1 ... [13:14:04.353] getGlobalsAndPackages() ... [13:14:04.353] Searching for globals... [13:14:04.353] [13:14:04.353] Searching for globals ... DONE [13:14:04.354] - globals: [0] [13:14:04.354] getGlobalsAndPackages() ... DONE [13:14:04.354] + additional globals found: [n=0] [13:14:04.354] + additional namespaces needed: [n=0] [13:14:04.354] - Finding globals in 'X' for chunk #1 ... DONE [13:14:04.354] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.354] - seeds: [13:14:04.355] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.355] getGlobalsAndPackages() ... [13:14:04.355] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.355] Resolving globals: FALSE [13:14:04.355] Tweak future expression to call with '...' arguments ... [13:14:04.356] { [13:14:04.356] do.call(function(...) { [13:14:04.356] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.356] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.356] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.356] on.exit(options(oopts), add = TRUE) [13:14:04.356] } [13:14:04.356] { [13:14:04.356] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.356] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.356] ...future.FUN(...future.X_jj, ...) [13:14:04.356] }) [13:14:04.356] } [13:14:04.356] }, args = future.call.arguments) [13:14:04.356] } [13:14:04.356] Tweak future expression to call with '...' arguments ... DONE [13:14:04.356] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.357] [13:14:04.357] getGlobalsAndPackages() ... DONE [13:14:04.357] run() for 'Future' ... [13:14:04.357] - state: 'created' [13:14:04.358] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.372] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.372] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.372] - Field: 'node' [13:14:04.372] - Field: 'label' [13:14:04.373] - Field: 'local' [13:14:04.373] - Field: 'owner' [13:14:04.373] - Field: 'envir' [13:14:04.373] - Field: 'workers' [13:14:04.373] - Field: 'packages' [13:14:04.374] - Field: 'gc' [13:14:04.374] - Field: 'conditions' [13:14:04.374] - Field: 'persistent' [13:14:04.374] - Field: 'expr' [13:14:04.374] - Field: 'uuid' [13:14:04.375] - Field: 'seed' [13:14:04.375] - Field: 'version' [13:14:04.375] - Field: 'result' [13:14:04.375] - Field: 'asynchronous' [13:14:04.375] - Field: 'calls' [13:14:04.376] - Field: 'globals' [13:14:04.376] - Field: 'stdout' [13:14:04.376] - Field: 'earlySignal' [13:14:04.376] - Field: 'lazy' [13:14:04.376] - Field: 'state' [13:14:04.376] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.377] - Launch lazy future ... [13:14:04.377] Packages needed by the future expression (n = 0): [13:14:04.377] Packages needed by future strategies (n = 0): [13:14:04.378] { [13:14:04.378] { [13:14:04.378] { [13:14:04.378] ...future.startTime <- base::Sys.time() [13:14:04.378] { [13:14:04.378] { [13:14:04.378] { [13:14:04.378] { [13:14:04.378] base::local({ [13:14:04.378] has_future <- base::requireNamespace("future", [13:14:04.378] quietly = TRUE) [13:14:04.378] if (has_future) { [13:14:04.378] ns <- base::getNamespace("future") [13:14:04.378] version <- ns[[".package"]][["version"]] [13:14:04.378] if (is.null(version)) [13:14:04.378] version <- utils::packageVersion("future") [13:14:04.378] } [13:14:04.378] else { [13:14:04.378] version <- NULL [13:14:04.378] } [13:14:04.378] if (!has_future || version < "1.8.0") { [13:14:04.378] info <- base::c(r_version = base::gsub("R version ", [13:14:04.378] "", base::R.version$version.string), [13:14:04.378] platform = base::sprintf("%s (%s-bit)", [13:14:04.378] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.378] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.378] "release", "version")], collapse = " "), [13:14:04.378] hostname = base::Sys.info()[["nodename"]]) [13:14:04.378] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.378] info) [13:14:04.378] info <- base::paste(info, collapse = "; ") [13:14:04.378] if (!has_future) { [13:14:04.378] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.378] info) [13:14:04.378] } [13:14:04.378] else { [13:14:04.378] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.378] info, version) [13:14:04.378] } [13:14:04.378] base::stop(msg) [13:14:04.378] } [13:14:04.378] }) [13:14:04.378] } [13:14:04.378] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.378] base::options(mc.cores = 1L) [13:14:04.378] } [13:14:04.378] options(future.plan = NULL) [13:14:04.378] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.378] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.378] } [13:14:04.378] ...future.workdir <- getwd() [13:14:04.378] } [13:14:04.378] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.378] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.378] } [13:14:04.378] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.378] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.378] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.378] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.378] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.378] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.378] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.378] base::names(...future.oldOptions)) [13:14:04.378] } [13:14:04.378] if (FALSE) { [13:14:04.378] } [13:14:04.378] else { [13:14:04.378] if (TRUE) { [13:14:04.378] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.378] open = "w") [13:14:04.378] } [13:14:04.378] else { [13:14:04.378] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.378] windows = "NUL", "/dev/null"), open = "w") [13:14:04.378] } [13:14:04.378] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.378] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.378] base::sink(type = "output", split = FALSE) [13:14:04.378] base::close(...future.stdout) [13:14:04.378] }, add = TRUE) [13:14:04.378] } [13:14:04.378] ...future.frame <- base::sys.nframe() [13:14:04.378] ...future.conditions <- base::list() [13:14:04.378] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.378] if (FALSE) { [13:14:04.378] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.378] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.378] } [13:14:04.378] ...future.result <- base::tryCatch({ [13:14:04.378] base::withCallingHandlers({ [13:14:04.378] ...future.value <- base::withVisible(base::local({ [13:14:04.378] ...future.makeSendCondition <- local({ [13:14:04.378] sendCondition <- NULL [13:14:04.378] function(frame = 1L) { [13:14:04.378] if (is.function(sendCondition)) [13:14:04.378] return(sendCondition) [13:14:04.378] ns <- getNamespace("parallel") [13:14:04.378] if (exists("sendData", mode = "function", [13:14:04.378] envir = ns)) { [13:14:04.378] parallel_sendData <- get("sendData", mode = "function", [13:14:04.378] envir = ns) [13:14:04.378] envir <- sys.frame(frame) [13:14:04.378] master <- NULL [13:14:04.378] while (!identical(envir, .GlobalEnv) && [13:14:04.378] !identical(envir, emptyenv())) { [13:14:04.378] if (exists("master", mode = "list", envir = envir, [13:14:04.378] inherits = FALSE)) { [13:14:04.378] master <- get("master", mode = "list", [13:14:04.378] envir = envir, inherits = FALSE) [13:14:04.378] if (inherits(master, c("SOCKnode", [13:14:04.378] "SOCK0node"))) { [13:14:04.378] sendCondition <<- function(cond) { [13:14:04.378] data <- list(type = "VALUE", value = cond, [13:14:04.378] success = TRUE) [13:14:04.378] parallel_sendData(master, data) [13:14:04.378] } [13:14:04.378] return(sendCondition) [13:14:04.378] } [13:14:04.378] } [13:14:04.378] frame <- frame + 1L [13:14:04.378] envir <- sys.frame(frame) [13:14:04.378] } [13:14:04.378] } [13:14:04.378] sendCondition <<- function(cond) NULL [13:14:04.378] } [13:14:04.378] }) [13:14:04.378] withCallingHandlers({ [13:14:04.378] { [13:14:04.378] do.call(function(...) { [13:14:04.378] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.378] if (!identical(...future.globals.maxSize.org, [13:14:04.378] ...future.globals.maxSize)) { [13:14:04.378] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.378] on.exit(options(oopts), add = TRUE) [13:14:04.378] } [13:14:04.378] { [13:14:04.378] lapply(seq_along(...future.elements_ii), [13:14:04.378] FUN = function(jj) { [13:14:04.378] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.378] ...future.FUN(...future.X_jj, ...) [13:14:04.378] }) [13:14:04.378] } [13:14:04.378] }, args = future.call.arguments) [13:14:04.378] } [13:14:04.378] }, immediateCondition = function(cond) { [13:14:04.378] sendCondition <- ...future.makeSendCondition() [13:14:04.378] sendCondition(cond) [13:14:04.378] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.378] { [13:14:04.378] inherits <- base::inherits [13:14:04.378] invokeRestart <- base::invokeRestart [13:14:04.378] is.null <- base::is.null [13:14:04.378] muffled <- FALSE [13:14:04.378] if (inherits(cond, "message")) { [13:14:04.378] muffled <- grepl(pattern, "muffleMessage") [13:14:04.378] if (muffled) [13:14:04.378] invokeRestart("muffleMessage") [13:14:04.378] } [13:14:04.378] else if (inherits(cond, "warning")) { [13:14:04.378] muffled <- grepl(pattern, "muffleWarning") [13:14:04.378] if (muffled) [13:14:04.378] invokeRestart("muffleWarning") [13:14:04.378] } [13:14:04.378] else if (inherits(cond, "condition")) { [13:14:04.378] if (!is.null(pattern)) { [13:14:04.378] computeRestarts <- base::computeRestarts [13:14:04.378] grepl <- base::grepl [13:14:04.378] restarts <- computeRestarts(cond) [13:14:04.378] for (restart in restarts) { [13:14:04.378] name <- restart$name [13:14:04.378] if (is.null(name)) [13:14:04.378] next [13:14:04.378] if (!grepl(pattern, name)) [13:14:04.378] next [13:14:04.378] invokeRestart(restart) [13:14:04.378] muffled <- TRUE [13:14:04.378] break [13:14:04.378] } [13:14:04.378] } [13:14:04.378] } [13:14:04.378] invisible(muffled) [13:14:04.378] } [13:14:04.378] muffleCondition(cond) [13:14:04.378] }) [13:14:04.378] })) [13:14:04.378] future::FutureResult(value = ...future.value$value, [13:14:04.378] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.378] ...future.rng), globalenv = if (FALSE) [13:14:04.378] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.378] ...future.globalenv.names)) [13:14:04.378] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.378] }, condition = base::local({ [13:14:04.378] c <- base::c [13:14:04.378] inherits <- base::inherits [13:14:04.378] invokeRestart <- base::invokeRestart [13:14:04.378] length <- base::length [13:14:04.378] list <- base::list [13:14:04.378] seq.int <- base::seq.int [13:14:04.378] signalCondition <- base::signalCondition [13:14:04.378] sys.calls <- base::sys.calls [13:14:04.378] `[[` <- base::`[[` [13:14:04.378] `+` <- base::`+` [13:14:04.378] `<<-` <- base::`<<-` [13:14:04.378] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.378] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.378] 3L)] [13:14:04.378] } [13:14:04.378] function(cond) { [13:14:04.378] is_error <- inherits(cond, "error") [13:14:04.378] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.378] NULL) [13:14:04.378] if (is_error) { [13:14:04.378] sessionInformation <- function() { [13:14:04.378] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.378] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.378] search = base::search(), system = base::Sys.info()) [13:14:04.378] } [13:14:04.378] ...future.conditions[[length(...future.conditions) + [13:14:04.378] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.378] cond$call), session = sessionInformation(), [13:14:04.378] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.378] signalCondition(cond) [13:14:04.378] } [13:14:04.378] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.378] "immediateCondition"))) { [13:14:04.378] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.378] ...future.conditions[[length(...future.conditions) + [13:14:04.378] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.378] if (TRUE && !signal) { [13:14:04.378] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.378] { [13:14:04.378] inherits <- base::inherits [13:14:04.378] invokeRestart <- base::invokeRestart [13:14:04.378] is.null <- base::is.null [13:14:04.378] muffled <- FALSE [13:14:04.378] if (inherits(cond, "message")) { [13:14:04.378] muffled <- grepl(pattern, "muffleMessage") [13:14:04.378] if (muffled) [13:14:04.378] invokeRestart("muffleMessage") [13:14:04.378] } [13:14:04.378] else if (inherits(cond, "warning")) { [13:14:04.378] muffled <- grepl(pattern, "muffleWarning") [13:14:04.378] if (muffled) [13:14:04.378] invokeRestart("muffleWarning") [13:14:04.378] } [13:14:04.378] else if (inherits(cond, "condition")) { [13:14:04.378] if (!is.null(pattern)) { [13:14:04.378] computeRestarts <- base::computeRestarts [13:14:04.378] grepl <- base::grepl [13:14:04.378] restarts <- computeRestarts(cond) [13:14:04.378] for (restart in restarts) { [13:14:04.378] name <- restart$name [13:14:04.378] if (is.null(name)) [13:14:04.378] next [13:14:04.378] if (!grepl(pattern, name)) [13:14:04.378] next [13:14:04.378] invokeRestart(restart) [13:14:04.378] muffled <- TRUE [13:14:04.378] break [13:14:04.378] } [13:14:04.378] } [13:14:04.378] } [13:14:04.378] invisible(muffled) [13:14:04.378] } [13:14:04.378] muffleCondition(cond, pattern = "^muffle") [13:14:04.378] } [13:14:04.378] } [13:14:04.378] else { [13:14:04.378] if (TRUE) { [13:14:04.378] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.378] { [13:14:04.378] inherits <- base::inherits [13:14:04.378] invokeRestart <- base::invokeRestart [13:14:04.378] is.null <- base::is.null [13:14:04.378] muffled <- FALSE [13:14:04.378] if (inherits(cond, "message")) { [13:14:04.378] muffled <- grepl(pattern, "muffleMessage") [13:14:04.378] if (muffled) [13:14:04.378] invokeRestart("muffleMessage") [13:14:04.378] } [13:14:04.378] else if (inherits(cond, "warning")) { [13:14:04.378] muffled <- grepl(pattern, "muffleWarning") [13:14:04.378] if (muffled) [13:14:04.378] invokeRestart("muffleWarning") [13:14:04.378] } [13:14:04.378] else if (inherits(cond, "condition")) { [13:14:04.378] if (!is.null(pattern)) { [13:14:04.378] computeRestarts <- base::computeRestarts [13:14:04.378] grepl <- base::grepl [13:14:04.378] restarts <- computeRestarts(cond) [13:14:04.378] for (restart in restarts) { [13:14:04.378] name <- restart$name [13:14:04.378] if (is.null(name)) [13:14:04.378] next [13:14:04.378] if (!grepl(pattern, name)) [13:14:04.378] next [13:14:04.378] invokeRestart(restart) [13:14:04.378] muffled <- TRUE [13:14:04.378] break [13:14:04.378] } [13:14:04.378] } [13:14:04.378] } [13:14:04.378] invisible(muffled) [13:14:04.378] } [13:14:04.378] muffleCondition(cond, pattern = "^muffle") [13:14:04.378] } [13:14:04.378] } [13:14:04.378] } [13:14:04.378] })) [13:14:04.378] }, error = function(ex) { [13:14:04.378] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.378] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.378] ...future.rng), started = ...future.startTime, [13:14:04.378] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.378] version = "1.8"), class = "FutureResult") [13:14:04.378] }, finally = { [13:14:04.378] if (!identical(...future.workdir, getwd())) [13:14:04.378] setwd(...future.workdir) [13:14:04.378] { [13:14:04.378] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.378] ...future.oldOptions$nwarnings <- NULL [13:14:04.378] } [13:14:04.378] base::options(...future.oldOptions) [13:14:04.378] if (.Platform$OS.type == "windows") { [13:14:04.378] old_names <- names(...future.oldEnvVars) [13:14:04.378] envs <- base::Sys.getenv() [13:14:04.378] names <- names(envs) [13:14:04.378] common <- intersect(names, old_names) [13:14:04.378] added <- setdiff(names, old_names) [13:14:04.378] removed <- setdiff(old_names, names) [13:14:04.378] changed <- common[...future.oldEnvVars[common] != [13:14:04.378] envs[common]] [13:14:04.378] NAMES <- toupper(changed) [13:14:04.378] args <- list() [13:14:04.378] for (kk in seq_along(NAMES)) { [13:14:04.378] name <- changed[[kk]] [13:14:04.378] NAME <- NAMES[[kk]] [13:14:04.378] if (name != NAME && is.element(NAME, old_names)) [13:14:04.378] next [13:14:04.378] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.378] } [13:14:04.378] NAMES <- toupper(added) [13:14:04.378] for (kk in seq_along(NAMES)) { [13:14:04.378] name <- added[[kk]] [13:14:04.378] NAME <- NAMES[[kk]] [13:14:04.378] if (name != NAME && is.element(NAME, old_names)) [13:14:04.378] next [13:14:04.378] args[[name]] <- "" [13:14:04.378] } [13:14:04.378] NAMES <- toupper(removed) [13:14:04.378] for (kk in seq_along(NAMES)) { [13:14:04.378] name <- removed[[kk]] [13:14:04.378] NAME <- NAMES[[kk]] [13:14:04.378] if (name != NAME && is.element(NAME, old_names)) [13:14:04.378] next [13:14:04.378] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.378] } [13:14:04.378] if (length(args) > 0) [13:14:04.378] base::do.call(base::Sys.setenv, args = args) [13:14:04.378] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.378] } [13:14:04.378] else { [13:14:04.378] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.378] } [13:14:04.378] { [13:14:04.378] if (base::length(...future.futureOptionsAdded) > [13:14:04.378] 0L) { [13:14:04.378] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.378] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.378] base::options(opts) [13:14:04.378] } [13:14:04.378] { [13:14:04.378] { [13:14:04.378] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.378] NULL [13:14:04.378] } [13:14:04.378] options(future.plan = NULL) [13:14:04.378] if (is.na(NA_character_)) [13:14:04.378] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.378] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.378] future::plan(list(function (..., workers = availableCores(), [13:14:04.378] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.378] envir = parent.frame()) [13:14:04.378] { [13:14:04.378] if (is.function(workers)) [13:14:04.378] workers <- workers() [13:14:04.378] workers <- structure(as.integer(workers), [13:14:04.378] class = class(workers)) [13:14:04.378] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.378] workers >= 1) [13:14:04.378] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.378] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.378] } [13:14:04.378] future <- MultisessionFuture(..., workers = workers, [13:14:04.378] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.378] envir = envir) [13:14:04.378] if (!future$lazy) [13:14:04.378] future <- run(future) [13:14:04.378] invisible(future) [13:14:04.378] }), .cleanup = FALSE, .init = FALSE) [13:14:04.378] } [13:14:04.378] } [13:14:04.378] } [13:14:04.378] }) [13:14:04.378] if (TRUE) { [13:14:04.378] base::sink(type = "output", split = FALSE) [13:14:04.378] if (TRUE) { [13:14:04.378] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.378] } [13:14:04.378] else { [13:14:04.378] ...future.result["stdout"] <- base::list(NULL) [13:14:04.378] } [13:14:04.378] base::close(...future.stdout) [13:14:04.378] ...future.stdout <- NULL [13:14:04.378] } [13:14:04.378] ...future.result$conditions <- ...future.conditions [13:14:04.378] ...future.result$finished <- base::Sys.time() [13:14:04.378] ...future.result [13:14:04.378] } [13:14:04.383] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:04.384] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:04.384] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:04.385] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.385] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.385] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:04.386] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:04.386] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.386] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.387] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.387] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.387] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:04.388] MultisessionFuture started [13:14:04.388] - Launch lazy future ... done [13:14:04.388] run() for 'MultisessionFuture' ... done [13:14:04.389] Created future: [13:14:04.405] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.405] - Validating connection of MultisessionFuture [13:14:04.406] - received message: FutureResult [13:14:04.406] - Received FutureResult [13:14:04.406] - Erased future from FutureRegistry [13:14:04.406] result() for ClusterFuture ... [13:14:04.406] - result already collected: FutureResult [13:14:04.406] result() for ClusterFuture ... done [13:14:04.407] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.389] MultisessionFuture: [13:14:04.389] Label: 'future_sapply-1' [13:14:04.389] Expression: [13:14:04.389] { [13:14:04.389] do.call(function(...) { [13:14:04.389] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.389] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.389] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.389] on.exit(options(oopts), add = TRUE) [13:14:04.389] } [13:14:04.389] { [13:14:04.389] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.389] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.389] ...future.FUN(...future.X_jj, ...) [13:14:04.389] }) [13:14:04.389] } [13:14:04.389] }, args = future.call.arguments) [13:14:04.389] } [13:14:04.389] Lazy evaluation: FALSE [13:14:04.389] Asynchronous evaluation: TRUE [13:14:04.389] Local evaluation: TRUE [13:14:04.389] Environment: R_GlobalEnv [13:14:04.389] Capture standard output: TRUE [13:14:04.389] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.389] Globals: 5 objects totaling 904 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.389] Packages: [13:14:04.389] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.389] Resolved: TRUE [13:14:04.389] Value: [13:14:04.389] Conditions captured: [13:14:04.389] Early signaling: FALSE [13:14:04.389] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.389] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.407] Chunk #1 of 2 ... DONE [13:14:04.407] Chunk #2 of 2 ... [13:14:04.407] - Finding globals in 'X' for chunk #2 ... [13:14:04.408] getGlobalsAndPackages() ... [13:14:04.408] Searching for globals... [13:14:04.408] [13:14:04.408] Searching for globals ... DONE [13:14:04.409] - globals: [0] [13:14:04.409] getGlobalsAndPackages() ... DONE [13:14:04.409] + additional globals found: [n=0] [13:14:04.409] + additional namespaces needed: [n=0] [13:14:04.409] - Finding globals in 'X' for chunk #2 ... DONE [13:14:04.409] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.409] - seeds: [13:14:04.410] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.410] getGlobalsAndPackages() ... [13:14:04.410] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.410] Resolving globals: FALSE [13:14:04.410] Tweak future expression to call with '...' arguments ... [13:14:04.411] { [13:14:04.411] do.call(function(...) { [13:14:04.411] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.411] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.411] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.411] on.exit(options(oopts), add = TRUE) [13:14:04.411] } [13:14:04.411] { [13:14:04.411] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.411] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.411] ...future.FUN(...future.X_jj, ...) [13:14:04.411] }) [13:14:04.411] } [13:14:04.411] }, args = future.call.arguments) [13:14:04.411] } [13:14:04.411] Tweak future expression to call with '...' arguments ... DONE [13:14:04.411] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.412] [13:14:04.412] getGlobalsAndPackages() ... DONE [13:14:04.412] run() for 'Future' ... [13:14:04.412] - state: 'created' [13:14:04.413] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.427] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.427] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.430] - Field: 'node' [13:14:04.430] - Field: 'label' [13:14:04.430] - Field: 'local' [13:14:04.430] - Field: 'owner' [13:14:04.431] - Field: 'envir' [13:14:04.431] - Field: 'workers' [13:14:04.431] - Field: 'packages' [13:14:04.431] - Field: 'gc' [13:14:04.431] - Field: 'conditions' [13:14:04.431] - Field: 'persistent' [13:14:04.432] - Field: 'expr' [13:14:04.432] - Field: 'uuid' [13:14:04.432] - Field: 'seed' [13:14:04.432] - Field: 'version' [13:14:04.432] - Field: 'result' [13:14:04.432] - Field: 'asynchronous' [13:14:04.433] - Field: 'calls' [13:14:04.433] - Field: 'globals' [13:14:04.433] - Field: 'stdout' [13:14:04.433] - Field: 'earlySignal' [13:14:04.433] - Field: 'lazy' [13:14:04.433] - Field: 'state' [13:14:04.434] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.434] - Launch lazy future ... [13:14:04.434] Packages needed by the future expression (n = 0): [13:14:04.434] Packages needed by future strategies (n = 0): [13:14:04.435] { [13:14:04.435] { [13:14:04.435] { [13:14:04.435] ...future.startTime <- base::Sys.time() [13:14:04.435] { [13:14:04.435] { [13:14:04.435] { [13:14:04.435] { [13:14:04.435] base::local({ [13:14:04.435] has_future <- base::requireNamespace("future", [13:14:04.435] quietly = TRUE) [13:14:04.435] if (has_future) { [13:14:04.435] ns <- base::getNamespace("future") [13:14:04.435] version <- ns[[".package"]][["version"]] [13:14:04.435] if (is.null(version)) [13:14:04.435] version <- utils::packageVersion("future") [13:14:04.435] } [13:14:04.435] else { [13:14:04.435] version <- NULL [13:14:04.435] } [13:14:04.435] if (!has_future || version < "1.8.0") { [13:14:04.435] info <- base::c(r_version = base::gsub("R version ", [13:14:04.435] "", base::R.version$version.string), [13:14:04.435] platform = base::sprintf("%s (%s-bit)", [13:14:04.435] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.435] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.435] "release", "version")], collapse = " "), [13:14:04.435] hostname = base::Sys.info()[["nodename"]]) [13:14:04.435] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.435] info) [13:14:04.435] info <- base::paste(info, collapse = "; ") [13:14:04.435] if (!has_future) { [13:14:04.435] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.435] info) [13:14:04.435] } [13:14:04.435] else { [13:14:04.435] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.435] info, version) [13:14:04.435] } [13:14:04.435] base::stop(msg) [13:14:04.435] } [13:14:04.435] }) [13:14:04.435] } [13:14:04.435] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.435] base::options(mc.cores = 1L) [13:14:04.435] } [13:14:04.435] options(future.plan = NULL) [13:14:04.435] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.435] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.435] } [13:14:04.435] ...future.workdir <- getwd() [13:14:04.435] } [13:14:04.435] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.435] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.435] } [13:14:04.435] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.435] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.435] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.435] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.435] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.435] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.435] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.435] base::names(...future.oldOptions)) [13:14:04.435] } [13:14:04.435] if (FALSE) { [13:14:04.435] } [13:14:04.435] else { [13:14:04.435] if (TRUE) { [13:14:04.435] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.435] open = "w") [13:14:04.435] } [13:14:04.435] else { [13:14:04.435] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.435] windows = "NUL", "/dev/null"), open = "w") [13:14:04.435] } [13:14:04.435] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.435] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.435] base::sink(type = "output", split = FALSE) [13:14:04.435] base::close(...future.stdout) [13:14:04.435] }, add = TRUE) [13:14:04.435] } [13:14:04.435] ...future.frame <- base::sys.nframe() [13:14:04.435] ...future.conditions <- base::list() [13:14:04.435] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.435] if (FALSE) { [13:14:04.435] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.435] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.435] } [13:14:04.435] ...future.result <- base::tryCatch({ [13:14:04.435] base::withCallingHandlers({ [13:14:04.435] ...future.value <- base::withVisible(base::local({ [13:14:04.435] ...future.makeSendCondition <- local({ [13:14:04.435] sendCondition <- NULL [13:14:04.435] function(frame = 1L) { [13:14:04.435] if (is.function(sendCondition)) [13:14:04.435] return(sendCondition) [13:14:04.435] ns <- getNamespace("parallel") [13:14:04.435] if (exists("sendData", mode = "function", [13:14:04.435] envir = ns)) { [13:14:04.435] parallel_sendData <- get("sendData", mode = "function", [13:14:04.435] envir = ns) [13:14:04.435] envir <- sys.frame(frame) [13:14:04.435] master <- NULL [13:14:04.435] while (!identical(envir, .GlobalEnv) && [13:14:04.435] !identical(envir, emptyenv())) { [13:14:04.435] if (exists("master", mode = "list", envir = envir, [13:14:04.435] inherits = FALSE)) { [13:14:04.435] master <- get("master", mode = "list", [13:14:04.435] envir = envir, inherits = FALSE) [13:14:04.435] if (inherits(master, c("SOCKnode", [13:14:04.435] "SOCK0node"))) { [13:14:04.435] sendCondition <<- function(cond) { [13:14:04.435] data <- list(type = "VALUE", value = cond, [13:14:04.435] success = TRUE) [13:14:04.435] parallel_sendData(master, data) [13:14:04.435] } [13:14:04.435] return(sendCondition) [13:14:04.435] } [13:14:04.435] } [13:14:04.435] frame <- frame + 1L [13:14:04.435] envir <- sys.frame(frame) [13:14:04.435] } [13:14:04.435] } [13:14:04.435] sendCondition <<- function(cond) NULL [13:14:04.435] } [13:14:04.435] }) [13:14:04.435] withCallingHandlers({ [13:14:04.435] { [13:14:04.435] do.call(function(...) { [13:14:04.435] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.435] if (!identical(...future.globals.maxSize.org, [13:14:04.435] ...future.globals.maxSize)) { [13:14:04.435] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.435] on.exit(options(oopts), add = TRUE) [13:14:04.435] } [13:14:04.435] { [13:14:04.435] lapply(seq_along(...future.elements_ii), [13:14:04.435] FUN = function(jj) { [13:14:04.435] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.435] ...future.FUN(...future.X_jj, ...) [13:14:04.435] }) [13:14:04.435] } [13:14:04.435] }, args = future.call.arguments) [13:14:04.435] } [13:14:04.435] }, immediateCondition = function(cond) { [13:14:04.435] sendCondition <- ...future.makeSendCondition() [13:14:04.435] sendCondition(cond) [13:14:04.435] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.435] { [13:14:04.435] inherits <- base::inherits [13:14:04.435] invokeRestart <- base::invokeRestart [13:14:04.435] is.null <- base::is.null [13:14:04.435] muffled <- FALSE [13:14:04.435] if (inherits(cond, "message")) { [13:14:04.435] muffled <- grepl(pattern, "muffleMessage") [13:14:04.435] if (muffled) [13:14:04.435] invokeRestart("muffleMessage") [13:14:04.435] } [13:14:04.435] else if (inherits(cond, "warning")) { [13:14:04.435] muffled <- grepl(pattern, "muffleWarning") [13:14:04.435] if (muffled) [13:14:04.435] invokeRestart("muffleWarning") [13:14:04.435] } [13:14:04.435] else if (inherits(cond, "condition")) { [13:14:04.435] if (!is.null(pattern)) { [13:14:04.435] computeRestarts <- base::computeRestarts [13:14:04.435] grepl <- base::grepl [13:14:04.435] restarts <- computeRestarts(cond) [13:14:04.435] for (restart in restarts) { [13:14:04.435] name <- restart$name [13:14:04.435] if (is.null(name)) [13:14:04.435] next [13:14:04.435] if (!grepl(pattern, name)) [13:14:04.435] next [13:14:04.435] invokeRestart(restart) [13:14:04.435] muffled <- TRUE [13:14:04.435] break [13:14:04.435] } [13:14:04.435] } [13:14:04.435] } [13:14:04.435] invisible(muffled) [13:14:04.435] } [13:14:04.435] muffleCondition(cond) [13:14:04.435] }) [13:14:04.435] })) [13:14:04.435] future::FutureResult(value = ...future.value$value, [13:14:04.435] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.435] ...future.rng), globalenv = if (FALSE) [13:14:04.435] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.435] ...future.globalenv.names)) [13:14:04.435] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.435] }, condition = base::local({ [13:14:04.435] c <- base::c [13:14:04.435] inherits <- base::inherits [13:14:04.435] invokeRestart <- base::invokeRestart [13:14:04.435] length <- base::length [13:14:04.435] list <- base::list [13:14:04.435] seq.int <- base::seq.int [13:14:04.435] signalCondition <- base::signalCondition [13:14:04.435] sys.calls <- base::sys.calls [13:14:04.435] `[[` <- base::`[[` [13:14:04.435] `+` <- base::`+` [13:14:04.435] `<<-` <- base::`<<-` [13:14:04.435] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.435] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.435] 3L)] [13:14:04.435] } [13:14:04.435] function(cond) { [13:14:04.435] is_error <- inherits(cond, "error") [13:14:04.435] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.435] NULL) [13:14:04.435] if (is_error) { [13:14:04.435] sessionInformation <- function() { [13:14:04.435] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.435] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.435] search = base::search(), system = base::Sys.info()) [13:14:04.435] } [13:14:04.435] ...future.conditions[[length(...future.conditions) + [13:14:04.435] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.435] cond$call), session = sessionInformation(), [13:14:04.435] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.435] signalCondition(cond) [13:14:04.435] } [13:14:04.435] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.435] "immediateCondition"))) { [13:14:04.435] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.435] ...future.conditions[[length(...future.conditions) + [13:14:04.435] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.435] if (TRUE && !signal) { [13:14:04.435] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.435] { [13:14:04.435] inherits <- base::inherits [13:14:04.435] invokeRestart <- base::invokeRestart [13:14:04.435] is.null <- base::is.null [13:14:04.435] muffled <- FALSE [13:14:04.435] if (inherits(cond, "message")) { [13:14:04.435] muffled <- grepl(pattern, "muffleMessage") [13:14:04.435] if (muffled) [13:14:04.435] invokeRestart("muffleMessage") [13:14:04.435] } [13:14:04.435] else if (inherits(cond, "warning")) { [13:14:04.435] muffled <- grepl(pattern, "muffleWarning") [13:14:04.435] if (muffled) [13:14:04.435] invokeRestart("muffleWarning") [13:14:04.435] } [13:14:04.435] else if (inherits(cond, "condition")) { [13:14:04.435] if (!is.null(pattern)) { [13:14:04.435] computeRestarts <- base::computeRestarts [13:14:04.435] grepl <- base::grepl [13:14:04.435] restarts <- computeRestarts(cond) [13:14:04.435] for (restart in restarts) { [13:14:04.435] name <- restart$name [13:14:04.435] if (is.null(name)) [13:14:04.435] next [13:14:04.435] if (!grepl(pattern, name)) [13:14:04.435] next [13:14:04.435] invokeRestart(restart) [13:14:04.435] muffled <- TRUE [13:14:04.435] break [13:14:04.435] } [13:14:04.435] } [13:14:04.435] } [13:14:04.435] invisible(muffled) [13:14:04.435] } [13:14:04.435] muffleCondition(cond, pattern = "^muffle") [13:14:04.435] } [13:14:04.435] } [13:14:04.435] else { [13:14:04.435] if (TRUE) { [13:14:04.435] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.435] { [13:14:04.435] inherits <- base::inherits [13:14:04.435] invokeRestart <- base::invokeRestart [13:14:04.435] is.null <- base::is.null [13:14:04.435] muffled <- FALSE [13:14:04.435] if (inherits(cond, "message")) { [13:14:04.435] muffled <- grepl(pattern, "muffleMessage") [13:14:04.435] if (muffled) [13:14:04.435] invokeRestart("muffleMessage") [13:14:04.435] } [13:14:04.435] else if (inherits(cond, "warning")) { [13:14:04.435] muffled <- grepl(pattern, "muffleWarning") [13:14:04.435] if (muffled) [13:14:04.435] invokeRestart("muffleWarning") [13:14:04.435] } [13:14:04.435] else if (inherits(cond, "condition")) { [13:14:04.435] if (!is.null(pattern)) { [13:14:04.435] computeRestarts <- base::computeRestarts [13:14:04.435] grepl <- base::grepl [13:14:04.435] restarts <- computeRestarts(cond) [13:14:04.435] for (restart in restarts) { [13:14:04.435] name <- restart$name [13:14:04.435] if (is.null(name)) [13:14:04.435] next [13:14:04.435] if (!grepl(pattern, name)) [13:14:04.435] next [13:14:04.435] invokeRestart(restart) [13:14:04.435] muffled <- TRUE [13:14:04.435] break [13:14:04.435] } [13:14:04.435] } [13:14:04.435] } [13:14:04.435] invisible(muffled) [13:14:04.435] } [13:14:04.435] muffleCondition(cond, pattern = "^muffle") [13:14:04.435] } [13:14:04.435] } [13:14:04.435] } [13:14:04.435] })) [13:14:04.435] }, error = function(ex) { [13:14:04.435] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.435] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.435] ...future.rng), started = ...future.startTime, [13:14:04.435] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.435] version = "1.8"), class = "FutureResult") [13:14:04.435] }, finally = { [13:14:04.435] if (!identical(...future.workdir, getwd())) [13:14:04.435] setwd(...future.workdir) [13:14:04.435] { [13:14:04.435] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.435] ...future.oldOptions$nwarnings <- NULL [13:14:04.435] } [13:14:04.435] base::options(...future.oldOptions) [13:14:04.435] if (.Platform$OS.type == "windows") { [13:14:04.435] old_names <- names(...future.oldEnvVars) [13:14:04.435] envs <- base::Sys.getenv() [13:14:04.435] names <- names(envs) [13:14:04.435] common <- intersect(names, old_names) [13:14:04.435] added <- setdiff(names, old_names) [13:14:04.435] removed <- setdiff(old_names, names) [13:14:04.435] changed <- common[...future.oldEnvVars[common] != [13:14:04.435] envs[common]] [13:14:04.435] NAMES <- toupper(changed) [13:14:04.435] args <- list() [13:14:04.435] for (kk in seq_along(NAMES)) { [13:14:04.435] name <- changed[[kk]] [13:14:04.435] NAME <- NAMES[[kk]] [13:14:04.435] if (name != NAME && is.element(NAME, old_names)) [13:14:04.435] next [13:14:04.435] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.435] } [13:14:04.435] NAMES <- toupper(added) [13:14:04.435] for (kk in seq_along(NAMES)) { [13:14:04.435] name <- added[[kk]] [13:14:04.435] NAME <- NAMES[[kk]] [13:14:04.435] if (name != NAME && is.element(NAME, old_names)) [13:14:04.435] next [13:14:04.435] args[[name]] <- "" [13:14:04.435] } [13:14:04.435] NAMES <- toupper(removed) [13:14:04.435] for (kk in seq_along(NAMES)) { [13:14:04.435] name <- removed[[kk]] [13:14:04.435] NAME <- NAMES[[kk]] [13:14:04.435] if (name != NAME && is.element(NAME, old_names)) [13:14:04.435] next [13:14:04.435] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.435] } [13:14:04.435] if (length(args) > 0) [13:14:04.435] base::do.call(base::Sys.setenv, args = args) [13:14:04.435] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.435] } [13:14:04.435] else { [13:14:04.435] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.435] } [13:14:04.435] { [13:14:04.435] if (base::length(...future.futureOptionsAdded) > [13:14:04.435] 0L) { [13:14:04.435] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.435] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.435] base::options(opts) [13:14:04.435] } [13:14:04.435] { [13:14:04.435] { [13:14:04.435] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.435] NULL [13:14:04.435] } [13:14:04.435] options(future.plan = NULL) [13:14:04.435] if (is.na(NA_character_)) [13:14:04.435] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.435] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.435] future::plan(list(function (..., workers = availableCores(), [13:14:04.435] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.435] envir = parent.frame()) [13:14:04.435] { [13:14:04.435] if (is.function(workers)) [13:14:04.435] workers <- workers() [13:14:04.435] workers <- structure(as.integer(workers), [13:14:04.435] class = class(workers)) [13:14:04.435] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.435] workers >= 1) [13:14:04.435] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.435] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.435] } [13:14:04.435] future <- MultisessionFuture(..., workers = workers, [13:14:04.435] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.435] envir = envir) [13:14:04.435] if (!future$lazy) [13:14:04.435] future <- run(future) [13:14:04.435] invisible(future) [13:14:04.435] }), .cleanup = FALSE, .init = FALSE) [13:14:04.435] } [13:14:04.435] } [13:14:04.435] } [13:14:04.435] }) [13:14:04.435] if (TRUE) { [13:14:04.435] base::sink(type = "output", split = FALSE) [13:14:04.435] if (TRUE) { [13:14:04.435] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.435] } [13:14:04.435] else { [13:14:04.435] ...future.result["stdout"] <- base::list(NULL) [13:14:04.435] } [13:14:04.435] base::close(...future.stdout) [13:14:04.435] ...future.stdout <- NULL [13:14:04.435] } [13:14:04.435] ...future.result$conditions <- ...future.conditions [13:14:04.435] ...future.result$finished <- base::Sys.time() [13:14:04.435] ...future.result [13:14:04.435] } [13:14:04.440] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:04.440] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:04.441] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:04.441] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.442] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.442] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:04.442] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:04.442] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.443] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.443] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.443] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.444] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:04.444] MultisessionFuture started [13:14:04.444] - Launch lazy future ... done [13:14:04.445] run() for 'MultisessionFuture' ... done [13:14:04.445] Created future: [13:14:04.461] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.461] - Validating connection of MultisessionFuture [13:14:04.461] - received message: FutureResult [13:14:04.461] - Received FutureResult [13:14:04.461] - Erased future from FutureRegistry [13:14:04.462] result() for ClusterFuture ... [13:14:04.462] - result already collected: FutureResult [13:14:04.462] result() for ClusterFuture ... done [13:14:04.462] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.445] MultisessionFuture: [13:14:04.445] Label: 'future_sapply-2' [13:14:04.445] Expression: [13:14:04.445] { [13:14:04.445] do.call(function(...) { [13:14:04.445] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.445] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.445] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.445] on.exit(options(oopts), add = TRUE) [13:14:04.445] } [13:14:04.445] { [13:14:04.445] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.445] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.445] ...future.FUN(...future.X_jj, ...) [13:14:04.445] }) [13:14:04.445] } [13:14:04.445] }, args = future.call.arguments) [13:14:04.445] } [13:14:04.445] Lazy evaluation: FALSE [13:14:04.445] Asynchronous evaluation: TRUE [13:14:04.445] Local evaluation: TRUE [13:14:04.445] Environment: R_GlobalEnv [13:14:04.445] Capture standard output: TRUE [13:14:04.445] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.445] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.445] Packages: [13:14:04.445] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.445] Resolved: TRUE [13:14:04.445] Value: [13:14:04.445] Conditions captured: [13:14:04.445] Early signaling: FALSE [13:14:04.445] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.445] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.462] Chunk #2 of 2 ... DONE [13:14:04.463] Launching 2 futures (chunks) ... DONE [13:14:04.463] Resolving 2 futures (chunks) ... [13:14:04.463] resolve() on list ... [13:14:04.463] recursive: 0 [13:14:04.463] length: 2 [13:14:04.463] [13:14:04.464] Future #1 [13:14:04.464] result() for ClusterFuture ... [13:14:04.464] - result already collected: FutureResult [13:14:04.464] result() for ClusterFuture ... done [13:14:04.464] result() for ClusterFuture ... [13:14:04.464] - result already collected: FutureResult [13:14:04.464] result() for ClusterFuture ... done [13:14:04.465] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:04.465] - nx: 2 [13:14:04.465] - relay: TRUE [13:14:04.465] - stdout: TRUE [13:14:04.465] - signal: TRUE [13:14:04.465] - resignal: FALSE [13:14:04.466] - force: TRUE [13:14:04.466] - relayed: [n=2] FALSE, FALSE [13:14:04.466] - queued futures: [n=2] FALSE, FALSE [13:14:04.466] - until=1 [13:14:04.466] - relaying element #1 [13:14:04.466] result() for ClusterFuture ... [13:14:04.466] - result already collected: FutureResult [13:14:04.467] result() for ClusterFuture ... done [13:14:04.467] result() for ClusterFuture ... [13:14:04.467] - result already collected: FutureResult [13:14:04.467] result() for ClusterFuture ... done [13:14:04.467] result() for ClusterFuture ... [13:14:04.467] - result already collected: FutureResult [13:14:04.468] result() for ClusterFuture ... done [13:14:04.468] result() for ClusterFuture ... [13:14:04.468] - result already collected: FutureResult [13:14:04.468] result() for ClusterFuture ... done [13:14:04.468] - relayed: [n=2] TRUE, FALSE [13:14:04.468] - queued futures: [n=2] TRUE, FALSE [13:14:04.469] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:04.469] length: 1 (resolved future 1) [13:14:04.469] Future #2 [13:14:04.469] result() for ClusterFuture ... [13:14:04.469] - result already collected: FutureResult [13:14:04.469] result() for ClusterFuture ... done [13:14:04.470] result() for ClusterFuture ... [13:14:04.470] - result already collected: FutureResult [13:14:04.470] result() for ClusterFuture ... done [13:14:04.470] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:04.470] - nx: 2 [13:14:04.470] - relay: TRUE [13:14:04.470] - stdout: TRUE [13:14:04.471] - signal: TRUE [13:14:04.471] - resignal: FALSE [13:14:04.471] - force: TRUE [13:14:04.471] - relayed: [n=2] TRUE, FALSE [13:14:04.471] - queued futures: [n=2] TRUE, FALSE [13:14:04.471] - until=2 [13:14:04.472] - relaying element #2 [13:14:04.472] result() for ClusterFuture ... [13:14:04.472] - result already collected: FutureResult [13:14:04.472] result() for ClusterFuture ... done [13:14:04.472] result() for ClusterFuture ... [13:14:04.472] - result already collected: FutureResult [13:14:04.472] result() for ClusterFuture ... done [13:14:04.473] result() for ClusterFuture ... [13:14:04.473] - result already collected: FutureResult [13:14:04.473] result() for ClusterFuture ... done [13:14:04.473] result() for ClusterFuture ... [13:14:04.473] - result already collected: FutureResult [13:14:04.473] result() for ClusterFuture ... done [13:14:04.474] - relayed: [n=2] TRUE, TRUE [13:14:04.474] - queued futures: [n=2] TRUE, TRUE [13:14:04.474] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:04.474] length: 0 (resolved future 2) [13:14:04.474] Relaying remaining futures [13:14:04.474] signalConditionsASAP(NULL, pos=0) ... [13:14:04.475] - nx: 2 [13:14:04.475] - relay: TRUE [13:14:04.475] - stdout: TRUE [13:14:04.475] - signal: TRUE [13:14:04.475] - resignal: FALSE [13:14:04.475] - force: TRUE [13:14:04.475] - relayed: [n=2] TRUE, TRUE [13:14:04.476] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:04.476] - relayed: [n=2] TRUE, TRUE [13:14:04.476] - queued futures: [n=2] TRUE, TRUE [13:14:04.476] signalConditionsASAP(NULL, pos=0) ... done [13:14:04.476] resolve() on list ... DONE [13:14:04.476] result() for ClusterFuture ... [13:14:04.477] - result already collected: FutureResult [13:14:04.477] result() for ClusterFuture ... done [13:14:04.477] result() for ClusterFuture ... [13:14:04.477] - result already collected: FutureResult [13:14:04.477] result() for ClusterFuture ... done [13:14:04.477] result() for ClusterFuture ... [13:14:04.478] - result already collected: FutureResult [13:14:04.478] result() for ClusterFuture ... done [13:14:04.478] result() for ClusterFuture ... [13:14:04.478] - result already collected: FutureResult [13:14:04.478] result() for ClusterFuture ... done [13:14:04.478] - Number of value chunks collected: 2 [13:14:04.479] Resolving 2 futures (chunks) ... DONE [13:14:04.479] Reducing values from 2 chunks ... [13:14:04.479] - Number of values collected after concatenation: 3 [13:14:04.479] - Number of values expected: 3 [13:14:04.479] Reducing values from 2 chunks ... DONE [13:14:04.479] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y1:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y2:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 [13:14:04.486] future_lapply() ... [13:14:04.489] Number of chunks: 2 [13:14:04.489] getGlobalsAndPackagesXApply() ... [13:14:04.489] - future.globals: TRUE [13:14:04.489] getGlobalsAndPackages() ... [13:14:04.489] Searching for globals... [13:14:04.490] - globals found: [2] 'FUN', 'UseMethod' [13:14:04.491] Searching for globals ... DONE [13:14:04.491] Resolving globals: FALSE [13:14:04.491] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:04.492] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:04.492] - globals: [1] 'FUN' [13:14:04.492] [13:14:04.492] getGlobalsAndPackages() ... DONE [13:14:04.492] - globals found/used: [n=1] 'FUN' [13:14:04.493] - needed namespaces: [n=0] [13:14:04.493] Finding globals ... DONE [13:14:04.493] - use_args: TRUE [13:14:04.493] - Getting '...' globals ... [13:14:04.493] resolve() on list ... [13:14:04.494] recursive: 0 [13:14:04.494] length: 1 [13:14:04.494] elements: '...' [13:14:04.494] length: 0 (resolved future 1) [13:14:04.494] resolve() on list ... DONE [13:14:04.494] - '...' content: [n=0] [13:14:04.495] List of 1 [13:14:04.495] $ ...: list() [13:14:04.495] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.495] - attr(*, "where")=List of 1 [13:14:04.495] ..$ ...: [13:14:04.495] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.495] - attr(*, "resolved")= logi TRUE [13:14:04.495] - attr(*, "total_size")= num NA [13:14:04.498] - Getting '...' globals ... DONE [13:14:04.498] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:04.498] List of 2 [13:14:04.498] $ ...future.FUN:function (x, ...) [13:14:04.498] $ ... : list() [13:14:04.498] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.498] - attr(*, "where")=List of 2 [13:14:04.498] ..$ ...future.FUN: [13:14:04.498] ..$ ... : [13:14:04.498] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.498] - attr(*, "resolved")= logi FALSE [13:14:04.498] - attr(*, "total_size")= num 1248 [13:14:04.501] Packages to be attached in all futures: [n=0] [13:14:04.502] getGlobalsAndPackagesXApply() ... DONE [13:14:04.502] Number of futures (= number of chunks): 2 [13:14:04.502] Launching 2 futures (chunks) ... [13:14:04.502] Chunk #1 of 2 ... [13:14:04.502] - Finding globals in 'X' for chunk #1 ... [13:14:04.503] getGlobalsAndPackages() ... [13:14:04.503] Searching for globals... [13:14:04.503] [13:14:04.503] Searching for globals ... DONE [13:14:04.503] - globals: [0] [13:14:04.504] getGlobalsAndPackages() ... DONE [13:14:04.504] + additional globals found: [n=0] [13:14:04.504] + additional namespaces needed: [n=0] [13:14:04.504] - Finding globals in 'X' for chunk #1 ... DONE [13:14:04.504] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.504] - seeds: [13:14:04.505] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.505] getGlobalsAndPackages() ... [13:14:04.505] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.505] Resolving globals: FALSE [13:14:04.505] Tweak future expression to call with '...' arguments ... [13:14:04.505] { [13:14:04.505] do.call(function(...) { [13:14:04.505] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.505] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.505] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.505] on.exit(options(oopts), add = TRUE) [13:14:04.505] } [13:14:04.505] { [13:14:04.505] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.505] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.505] ...future.FUN(...future.X_jj, ...) [13:14:04.505] }) [13:14:04.505] } [13:14:04.505] }, args = future.call.arguments) [13:14:04.505] } [13:14:04.506] Tweak future expression to call with '...' arguments ... DONE [13:14:04.506] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.507] [13:14:04.507] getGlobalsAndPackages() ... DONE [13:14:04.507] run() for 'Future' ... [13:14:04.507] - state: 'created' [13:14:04.507] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.521] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.522] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.522] - Field: 'node' [13:14:04.522] - Field: 'label' [13:14:04.522] - Field: 'local' [13:14:04.522] - Field: 'owner' [13:14:04.522] - Field: 'envir' [13:14:04.523] - Field: 'workers' [13:14:04.523] - Field: 'packages' [13:14:04.523] - Field: 'gc' [13:14:04.523] - Field: 'conditions' [13:14:04.523] - Field: 'persistent' [13:14:04.524] - Field: 'expr' [13:14:04.524] - Field: 'uuid' [13:14:04.524] - Field: 'seed' [13:14:04.524] - Field: 'version' [13:14:04.524] - Field: 'result' [13:14:04.524] - Field: 'asynchronous' [13:14:04.525] - Field: 'calls' [13:14:04.525] - Field: 'globals' [13:14:04.525] - Field: 'stdout' [13:14:04.525] - Field: 'earlySignal' [13:14:04.525] - Field: 'lazy' [13:14:04.525] - Field: 'state' [13:14:04.526] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.526] - Launch lazy future ... [13:14:04.526] Packages needed by the future expression (n = 0): [13:14:04.526] Packages needed by future strategies (n = 0): [13:14:04.527] { [13:14:04.527] { [13:14:04.527] { [13:14:04.527] ...future.startTime <- base::Sys.time() [13:14:04.527] { [13:14:04.527] { [13:14:04.527] { [13:14:04.527] { [13:14:04.527] base::local({ [13:14:04.527] has_future <- base::requireNamespace("future", [13:14:04.527] quietly = TRUE) [13:14:04.527] if (has_future) { [13:14:04.527] ns <- base::getNamespace("future") [13:14:04.527] version <- ns[[".package"]][["version"]] [13:14:04.527] if (is.null(version)) [13:14:04.527] version <- utils::packageVersion("future") [13:14:04.527] } [13:14:04.527] else { [13:14:04.527] version <- NULL [13:14:04.527] } [13:14:04.527] if (!has_future || version < "1.8.0") { [13:14:04.527] info <- base::c(r_version = base::gsub("R version ", [13:14:04.527] "", base::R.version$version.string), [13:14:04.527] platform = base::sprintf("%s (%s-bit)", [13:14:04.527] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.527] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.527] "release", "version")], collapse = " "), [13:14:04.527] hostname = base::Sys.info()[["nodename"]]) [13:14:04.527] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.527] info) [13:14:04.527] info <- base::paste(info, collapse = "; ") [13:14:04.527] if (!has_future) { [13:14:04.527] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.527] info) [13:14:04.527] } [13:14:04.527] else { [13:14:04.527] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.527] info, version) [13:14:04.527] } [13:14:04.527] base::stop(msg) [13:14:04.527] } [13:14:04.527] }) [13:14:04.527] } [13:14:04.527] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.527] base::options(mc.cores = 1L) [13:14:04.527] } [13:14:04.527] options(future.plan = NULL) [13:14:04.527] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.527] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.527] } [13:14:04.527] ...future.workdir <- getwd() [13:14:04.527] } [13:14:04.527] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.527] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.527] } [13:14:04.527] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.527] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.527] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.527] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.527] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.527] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.527] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.527] base::names(...future.oldOptions)) [13:14:04.527] } [13:14:04.527] if (FALSE) { [13:14:04.527] } [13:14:04.527] else { [13:14:04.527] if (TRUE) { [13:14:04.527] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.527] open = "w") [13:14:04.527] } [13:14:04.527] else { [13:14:04.527] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.527] windows = "NUL", "/dev/null"), open = "w") [13:14:04.527] } [13:14:04.527] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.527] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.527] base::sink(type = "output", split = FALSE) [13:14:04.527] base::close(...future.stdout) [13:14:04.527] }, add = TRUE) [13:14:04.527] } [13:14:04.527] ...future.frame <- base::sys.nframe() [13:14:04.527] ...future.conditions <- base::list() [13:14:04.527] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.527] if (FALSE) { [13:14:04.527] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.527] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.527] } [13:14:04.527] ...future.result <- base::tryCatch({ [13:14:04.527] base::withCallingHandlers({ [13:14:04.527] ...future.value <- base::withVisible(base::local({ [13:14:04.527] ...future.makeSendCondition <- local({ [13:14:04.527] sendCondition <- NULL [13:14:04.527] function(frame = 1L) { [13:14:04.527] if (is.function(sendCondition)) [13:14:04.527] return(sendCondition) [13:14:04.527] ns <- getNamespace("parallel") [13:14:04.527] if (exists("sendData", mode = "function", [13:14:04.527] envir = ns)) { [13:14:04.527] parallel_sendData <- get("sendData", mode = "function", [13:14:04.527] envir = ns) [13:14:04.527] envir <- sys.frame(frame) [13:14:04.527] master <- NULL [13:14:04.527] while (!identical(envir, .GlobalEnv) && [13:14:04.527] !identical(envir, emptyenv())) { [13:14:04.527] if (exists("master", mode = "list", envir = envir, [13:14:04.527] inherits = FALSE)) { [13:14:04.527] master <- get("master", mode = "list", [13:14:04.527] envir = envir, inherits = FALSE) [13:14:04.527] if (inherits(master, c("SOCKnode", [13:14:04.527] "SOCK0node"))) { [13:14:04.527] sendCondition <<- function(cond) { [13:14:04.527] data <- list(type = "VALUE", value = cond, [13:14:04.527] success = TRUE) [13:14:04.527] parallel_sendData(master, data) [13:14:04.527] } [13:14:04.527] return(sendCondition) [13:14:04.527] } [13:14:04.527] } [13:14:04.527] frame <- frame + 1L [13:14:04.527] envir <- sys.frame(frame) [13:14:04.527] } [13:14:04.527] } [13:14:04.527] sendCondition <<- function(cond) NULL [13:14:04.527] } [13:14:04.527] }) [13:14:04.527] withCallingHandlers({ [13:14:04.527] { [13:14:04.527] do.call(function(...) { [13:14:04.527] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.527] if (!identical(...future.globals.maxSize.org, [13:14:04.527] ...future.globals.maxSize)) { [13:14:04.527] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.527] on.exit(options(oopts), add = TRUE) [13:14:04.527] } [13:14:04.527] { [13:14:04.527] lapply(seq_along(...future.elements_ii), [13:14:04.527] FUN = function(jj) { [13:14:04.527] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.527] ...future.FUN(...future.X_jj, ...) [13:14:04.527] }) [13:14:04.527] } [13:14:04.527] }, args = future.call.arguments) [13:14:04.527] } [13:14:04.527] }, immediateCondition = function(cond) { [13:14:04.527] sendCondition <- ...future.makeSendCondition() [13:14:04.527] sendCondition(cond) [13:14:04.527] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.527] { [13:14:04.527] inherits <- base::inherits [13:14:04.527] invokeRestart <- base::invokeRestart [13:14:04.527] is.null <- base::is.null [13:14:04.527] muffled <- FALSE [13:14:04.527] if (inherits(cond, "message")) { [13:14:04.527] muffled <- grepl(pattern, "muffleMessage") [13:14:04.527] if (muffled) [13:14:04.527] invokeRestart("muffleMessage") [13:14:04.527] } [13:14:04.527] else if (inherits(cond, "warning")) { [13:14:04.527] muffled <- grepl(pattern, "muffleWarning") [13:14:04.527] if (muffled) [13:14:04.527] invokeRestart("muffleWarning") [13:14:04.527] } [13:14:04.527] else if (inherits(cond, "condition")) { [13:14:04.527] if (!is.null(pattern)) { [13:14:04.527] computeRestarts <- base::computeRestarts [13:14:04.527] grepl <- base::grepl [13:14:04.527] restarts <- computeRestarts(cond) [13:14:04.527] for (restart in restarts) { [13:14:04.527] name <- restart$name [13:14:04.527] if (is.null(name)) [13:14:04.527] next [13:14:04.527] if (!grepl(pattern, name)) [13:14:04.527] next [13:14:04.527] invokeRestart(restart) [13:14:04.527] muffled <- TRUE [13:14:04.527] break [13:14:04.527] } [13:14:04.527] } [13:14:04.527] } [13:14:04.527] invisible(muffled) [13:14:04.527] } [13:14:04.527] muffleCondition(cond) [13:14:04.527] }) [13:14:04.527] })) [13:14:04.527] future::FutureResult(value = ...future.value$value, [13:14:04.527] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.527] ...future.rng), globalenv = if (FALSE) [13:14:04.527] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.527] ...future.globalenv.names)) [13:14:04.527] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.527] }, condition = base::local({ [13:14:04.527] c <- base::c [13:14:04.527] inherits <- base::inherits [13:14:04.527] invokeRestart <- base::invokeRestart [13:14:04.527] length <- base::length [13:14:04.527] list <- base::list [13:14:04.527] seq.int <- base::seq.int [13:14:04.527] signalCondition <- base::signalCondition [13:14:04.527] sys.calls <- base::sys.calls [13:14:04.527] `[[` <- base::`[[` [13:14:04.527] `+` <- base::`+` [13:14:04.527] `<<-` <- base::`<<-` [13:14:04.527] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.527] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.527] 3L)] [13:14:04.527] } [13:14:04.527] function(cond) { [13:14:04.527] is_error <- inherits(cond, "error") [13:14:04.527] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.527] NULL) [13:14:04.527] if (is_error) { [13:14:04.527] sessionInformation <- function() { [13:14:04.527] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.527] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.527] search = base::search(), system = base::Sys.info()) [13:14:04.527] } [13:14:04.527] ...future.conditions[[length(...future.conditions) + [13:14:04.527] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.527] cond$call), session = sessionInformation(), [13:14:04.527] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.527] signalCondition(cond) [13:14:04.527] } [13:14:04.527] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.527] "immediateCondition"))) { [13:14:04.527] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.527] ...future.conditions[[length(...future.conditions) + [13:14:04.527] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.527] if (TRUE && !signal) { [13:14:04.527] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.527] { [13:14:04.527] inherits <- base::inherits [13:14:04.527] invokeRestart <- base::invokeRestart [13:14:04.527] is.null <- base::is.null [13:14:04.527] muffled <- FALSE [13:14:04.527] if (inherits(cond, "message")) { [13:14:04.527] muffled <- grepl(pattern, "muffleMessage") [13:14:04.527] if (muffled) [13:14:04.527] invokeRestart("muffleMessage") [13:14:04.527] } [13:14:04.527] else if (inherits(cond, "warning")) { [13:14:04.527] muffled <- grepl(pattern, "muffleWarning") [13:14:04.527] if (muffled) [13:14:04.527] invokeRestart("muffleWarning") [13:14:04.527] } [13:14:04.527] else if (inherits(cond, "condition")) { [13:14:04.527] if (!is.null(pattern)) { [13:14:04.527] computeRestarts <- base::computeRestarts [13:14:04.527] grepl <- base::grepl [13:14:04.527] restarts <- computeRestarts(cond) [13:14:04.527] for (restart in restarts) { [13:14:04.527] name <- restart$name [13:14:04.527] if (is.null(name)) [13:14:04.527] next [13:14:04.527] if (!grepl(pattern, name)) [13:14:04.527] next [13:14:04.527] invokeRestart(restart) [13:14:04.527] muffled <- TRUE [13:14:04.527] break [13:14:04.527] } [13:14:04.527] } [13:14:04.527] } [13:14:04.527] invisible(muffled) [13:14:04.527] } [13:14:04.527] muffleCondition(cond, pattern = "^muffle") [13:14:04.527] } [13:14:04.527] } [13:14:04.527] else { [13:14:04.527] if (TRUE) { [13:14:04.527] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.527] { [13:14:04.527] inherits <- base::inherits [13:14:04.527] invokeRestart <- base::invokeRestart [13:14:04.527] is.null <- base::is.null [13:14:04.527] muffled <- FALSE [13:14:04.527] if (inherits(cond, "message")) { [13:14:04.527] muffled <- grepl(pattern, "muffleMessage") [13:14:04.527] if (muffled) [13:14:04.527] invokeRestart("muffleMessage") [13:14:04.527] } [13:14:04.527] else if (inherits(cond, "warning")) { [13:14:04.527] muffled <- grepl(pattern, "muffleWarning") [13:14:04.527] if (muffled) [13:14:04.527] invokeRestart("muffleWarning") [13:14:04.527] } [13:14:04.527] else if (inherits(cond, "condition")) { [13:14:04.527] if (!is.null(pattern)) { [13:14:04.527] computeRestarts <- base::computeRestarts [13:14:04.527] grepl <- base::grepl [13:14:04.527] restarts <- computeRestarts(cond) [13:14:04.527] for (restart in restarts) { [13:14:04.527] name <- restart$name [13:14:04.527] if (is.null(name)) [13:14:04.527] next [13:14:04.527] if (!grepl(pattern, name)) [13:14:04.527] next [13:14:04.527] invokeRestart(restart) [13:14:04.527] muffled <- TRUE [13:14:04.527] break [13:14:04.527] } [13:14:04.527] } [13:14:04.527] } [13:14:04.527] invisible(muffled) [13:14:04.527] } [13:14:04.527] muffleCondition(cond, pattern = "^muffle") [13:14:04.527] } [13:14:04.527] } [13:14:04.527] } [13:14:04.527] })) [13:14:04.527] }, error = function(ex) { [13:14:04.527] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.527] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.527] ...future.rng), started = ...future.startTime, [13:14:04.527] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.527] version = "1.8"), class = "FutureResult") [13:14:04.527] }, finally = { [13:14:04.527] if (!identical(...future.workdir, getwd())) [13:14:04.527] setwd(...future.workdir) [13:14:04.527] { [13:14:04.527] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.527] ...future.oldOptions$nwarnings <- NULL [13:14:04.527] } [13:14:04.527] base::options(...future.oldOptions) [13:14:04.527] if (.Platform$OS.type == "windows") { [13:14:04.527] old_names <- names(...future.oldEnvVars) [13:14:04.527] envs <- base::Sys.getenv() [13:14:04.527] names <- names(envs) [13:14:04.527] common <- intersect(names, old_names) [13:14:04.527] added <- setdiff(names, old_names) [13:14:04.527] removed <- setdiff(old_names, names) [13:14:04.527] changed <- common[...future.oldEnvVars[common] != [13:14:04.527] envs[common]] [13:14:04.527] NAMES <- toupper(changed) [13:14:04.527] args <- list() [13:14:04.527] for (kk in seq_along(NAMES)) { [13:14:04.527] name <- changed[[kk]] [13:14:04.527] NAME <- NAMES[[kk]] [13:14:04.527] if (name != NAME && is.element(NAME, old_names)) [13:14:04.527] next [13:14:04.527] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.527] } [13:14:04.527] NAMES <- toupper(added) [13:14:04.527] for (kk in seq_along(NAMES)) { [13:14:04.527] name <- added[[kk]] [13:14:04.527] NAME <- NAMES[[kk]] [13:14:04.527] if (name != NAME && is.element(NAME, old_names)) [13:14:04.527] next [13:14:04.527] args[[name]] <- "" [13:14:04.527] } [13:14:04.527] NAMES <- toupper(removed) [13:14:04.527] for (kk in seq_along(NAMES)) { [13:14:04.527] name <- removed[[kk]] [13:14:04.527] NAME <- NAMES[[kk]] [13:14:04.527] if (name != NAME && is.element(NAME, old_names)) [13:14:04.527] next [13:14:04.527] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.527] } [13:14:04.527] if (length(args) > 0) [13:14:04.527] base::do.call(base::Sys.setenv, args = args) [13:14:04.527] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.527] } [13:14:04.527] else { [13:14:04.527] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.527] } [13:14:04.527] { [13:14:04.527] if (base::length(...future.futureOptionsAdded) > [13:14:04.527] 0L) { [13:14:04.527] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.527] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.527] base::options(opts) [13:14:04.527] } [13:14:04.527] { [13:14:04.527] { [13:14:04.527] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.527] NULL [13:14:04.527] } [13:14:04.527] options(future.plan = NULL) [13:14:04.527] if (is.na(NA_character_)) [13:14:04.527] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.527] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.527] future::plan(list(function (..., workers = availableCores(), [13:14:04.527] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.527] envir = parent.frame()) [13:14:04.527] { [13:14:04.527] if (is.function(workers)) [13:14:04.527] workers <- workers() [13:14:04.527] workers <- structure(as.integer(workers), [13:14:04.527] class = class(workers)) [13:14:04.527] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.527] workers >= 1) [13:14:04.527] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.527] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.527] } [13:14:04.527] future <- MultisessionFuture(..., workers = workers, [13:14:04.527] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.527] envir = envir) [13:14:04.527] if (!future$lazy) [13:14:04.527] future <- run(future) [13:14:04.527] invisible(future) [13:14:04.527] }), .cleanup = FALSE, .init = FALSE) [13:14:04.527] } [13:14:04.527] } [13:14:04.527] } [13:14:04.527] }) [13:14:04.527] if (TRUE) { [13:14:04.527] base::sink(type = "output", split = FALSE) [13:14:04.527] if (TRUE) { [13:14:04.527] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.527] } [13:14:04.527] else { [13:14:04.527] ...future.result["stdout"] <- base::list(NULL) [13:14:04.527] } [13:14:04.527] base::close(...future.stdout) [13:14:04.527] ...future.stdout <- NULL [13:14:04.527] } [13:14:04.527] ...future.result$conditions <- ...future.conditions [13:14:04.527] ...future.result$finished <- base::Sys.time() [13:14:04.527] ...future.result [13:14:04.527] } [13:14:04.532] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:04.533] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:04.533] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:04.533] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.534] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.534] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:04.535] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:04.535] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.535] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.535] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.536] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.536] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:04.537] MultisessionFuture started [13:14:04.537] - Launch lazy future ... done [13:14:04.537] run() for 'MultisessionFuture' ... done [13:14:04.537] Created future: [13:14:04.552] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.552] - Validating connection of MultisessionFuture [13:14:04.553] - received message: FutureResult [13:14:04.553] - Received FutureResult [13:14:04.553] - Erased future from FutureRegistry [13:14:04.553] result() for ClusterFuture ... [13:14:04.553] - result already collected: FutureResult [13:14:04.554] result() for ClusterFuture ... done [13:14:04.554] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.538] MultisessionFuture: [13:14:04.538] Label: 'future_sapply-1' [13:14:04.538] Expression: [13:14:04.538] { [13:14:04.538] do.call(function(...) { [13:14:04.538] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.538] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.538] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.538] on.exit(options(oopts), add = TRUE) [13:14:04.538] } [13:14:04.538] { [13:14:04.538] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.538] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.538] ...future.FUN(...future.X_jj, ...) [13:14:04.538] }) [13:14:04.538] } [13:14:04.538] }, args = future.call.arguments) [13:14:04.538] } [13:14:04.538] Lazy evaluation: FALSE [13:14:04.538] Asynchronous evaluation: TRUE [13:14:04.538] Local evaluation: TRUE [13:14:04.538] Environment: R_GlobalEnv [13:14:04.538] Capture standard output: TRUE [13:14:04.538] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.538] Globals: 5 objects totaling 1.27 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.538] Packages: [13:14:04.538] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.538] Resolved: TRUE [13:14:04.538] Value: [13:14:04.538] Conditions captured: [13:14:04.538] Early signaling: FALSE [13:14:04.538] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.538] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.554] Chunk #1 of 2 ... DONE [13:14:04.554] Chunk #2 of 2 ... [13:14:04.555] - Finding globals in 'X' for chunk #2 ... [13:14:04.555] getGlobalsAndPackages() ... [13:14:04.555] Searching for globals... [13:14:04.555] [13:14:04.555] Searching for globals ... DONE [13:14:04.556] - globals: [0] [13:14:04.556] getGlobalsAndPackages() ... DONE [13:14:04.556] + additional globals found: [n=0] [13:14:04.556] + additional namespaces needed: [n=0] [13:14:04.556] - Finding globals in 'X' for chunk #2 ... DONE [13:14:04.556] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.557] - seeds: [13:14:04.557] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.557] getGlobalsAndPackages() ... [13:14:04.557] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.557] Resolving globals: FALSE [13:14:04.557] Tweak future expression to call with '...' arguments ... [13:14:04.558] { [13:14:04.558] do.call(function(...) { [13:14:04.558] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.558] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.558] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.558] on.exit(options(oopts), add = TRUE) [13:14:04.558] } [13:14:04.558] { [13:14:04.558] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.558] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.558] ...future.FUN(...future.X_jj, ...) [13:14:04.558] }) [13:14:04.558] } [13:14:04.558] }, args = future.call.arguments) [13:14:04.558] } [13:14:04.558] Tweak future expression to call with '...' arguments ... DONE [13:14:04.558] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.559] [13:14:04.559] getGlobalsAndPackages() ... DONE [13:14:04.559] run() for 'Future' ... [13:14:04.559] - state: 'created' [13:14:04.560] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.573] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.574] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.574] - Field: 'node' [13:14:04.574] - Field: 'label' [13:14:04.574] - Field: 'local' [13:14:04.574] - Field: 'owner' [13:14:04.574] - Field: 'envir' [13:14:04.575] - Field: 'workers' [13:14:04.575] - Field: 'packages' [13:14:04.575] - Field: 'gc' [13:14:04.575] - Field: 'conditions' [13:14:04.575] - Field: 'persistent' [13:14:04.576] - Field: 'expr' [13:14:04.576] - Field: 'uuid' [13:14:04.576] - Field: 'seed' [13:14:04.576] - Field: 'version' [13:14:04.576] - Field: 'result' [13:14:04.576] - Field: 'asynchronous' [13:14:04.577] - Field: 'calls' [13:14:04.577] - Field: 'globals' [13:14:04.577] - Field: 'stdout' [13:14:04.577] - Field: 'earlySignal' [13:14:04.577] - Field: 'lazy' [13:14:04.577] - Field: 'state' [13:14:04.578] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.578] - Launch lazy future ... [13:14:04.578] Packages needed by the future expression (n = 0): [13:14:04.578] Packages needed by future strategies (n = 0): [13:14:04.579] { [13:14:04.579] { [13:14:04.579] { [13:14:04.579] ...future.startTime <- base::Sys.time() [13:14:04.579] { [13:14:04.579] { [13:14:04.579] { [13:14:04.579] { [13:14:04.579] base::local({ [13:14:04.579] has_future <- base::requireNamespace("future", [13:14:04.579] quietly = TRUE) [13:14:04.579] if (has_future) { [13:14:04.579] ns <- base::getNamespace("future") [13:14:04.579] version <- ns[[".package"]][["version"]] [13:14:04.579] if (is.null(version)) [13:14:04.579] version <- utils::packageVersion("future") [13:14:04.579] } [13:14:04.579] else { [13:14:04.579] version <- NULL [13:14:04.579] } [13:14:04.579] if (!has_future || version < "1.8.0") { [13:14:04.579] info <- base::c(r_version = base::gsub("R version ", [13:14:04.579] "", base::R.version$version.string), [13:14:04.579] platform = base::sprintf("%s (%s-bit)", [13:14:04.579] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.579] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.579] "release", "version")], collapse = " "), [13:14:04.579] hostname = base::Sys.info()[["nodename"]]) [13:14:04.579] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.579] info) [13:14:04.579] info <- base::paste(info, collapse = "; ") [13:14:04.579] if (!has_future) { [13:14:04.579] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.579] info) [13:14:04.579] } [13:14:04.579] else { [13:14:04.579] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.579] info, version) [13:14:04.579] } [13:14:04.579] base::stop(msg) [13:14:04.579] } [13:14:04.579] }) [13:14:04.579] } [13:14:04.579] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.579] base::options(mc.cores = 1L) [13:14:04.579] } [13:14:04.579] options(future.plan = NULL) [13:14:04.579] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.579] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.579] } [13:14:04.579] ...future.workdir <- getwd() [13:14:04.579] } [13:14:04.579] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.579] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.579] } [13:14:04.579] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.579] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.579] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.579] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.579] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.579] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.579] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.579] base::names(...future.oldOptions)) [13:14:04.579] } [13:14:04.579] if (FALSE) { [13:14:04.579] } [13:14:04.579] else { [13:14:04.579] if (TRUE) { [13:14:04.579] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.579] open = "w") [13:14:04.579] } [13:14:04.579] else { [13:14:04.579] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.579] windows = "NUL", "/dev/null"), open = "w") [13:14:04.579] } [13:14:04.579] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.579] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.579] base::sink(type = "output", split = FALSE) [13:14:04.579] base::close(...future.stdout) [13:14:04.579] }, add = TRUE) [13:14:04.579] } [13:14:04.579] ...future.frame <- base::sys.nframe() [13:14:04.579] ...future.conditions <- base::list() [13:14:04.579] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.579] if (FALSE) { [13:14:04.579] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.579] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.579] } [13:14:04.579] ...future.result <- base::tryCatch({ [13:14:04.579] base::withCallingHandlers({ [13:14:04.579] ...future.value <- base::withVisible(base::local({ [13:14:04.579] ...future.makeSendCondition <- local({ [13:14:04.579] sendCondition <- NULL [13:14:04.579] function(frame = 1L) { [13:14:04.579] if (is.function(sendCondition)) [13:14:04.579] return(sendCondition) [13:14:04.579] ns <- getNamespace("parallel") [13:14:04.579] if (exists("sendData", mode = "function", [13:14:04.579] envir = ns)) { [13:14:04.579] parallel_sendData <- get("sendData", mode = "function", [13:14:04.579] envir = ns) [13:14:04.579] envir <- sys.frame(frame) [13:14:04.579] master <- NULL [13:14:04.579] while (!identical(envir, .GlobalEnv) && [13:14:04.579] !identical(envir, emptyenv())) { [13:14:04.579] if (exists("master", mode = "list", envir = envir, [13:14:04.579] inherits = FALSE)) { [13:14:04.579] master <- get("master", mode = "list", [13:14:04.579] envir = envir, inherits = FALSE) [13:14:04.579] if (inherits(master, c("SOCKnode", [13:14:04.579] "SOCK0node"))) { [13:14:04.579] sendCondition <<- function(cond) { [13:14:04.579] data <- list(type = "VALUE", value = cond, [13:14:04.579] success = TRUE) [13:14:04.579] parallel_sendData(master, data) [13:14:04.579] } [13:14:04.579] return(sendCondition) [13:14:04.579] } [13:14:04.579] } [13:14:04.579] frame <- frame + 1L [13:14:04.579] envir <- sys.frame(frame) [13:14:04.579] } [13:14:04.579] } [13:14:04.579] sendCondition <<- function(cond) NULL [13:14:04.579] } [13:14:04.579] }) [13:14:04.579] withCallingHandlers({ [13:14:04.579] { [13:14:04.579] do.call(function(...) { [13:14:04.579] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.579] if (!identical(...future.globals.maxSize.org, [13:14:04.579] ...future.globals.maxSize)) { [13:14:04.579] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.579] on.exit(options(oopts), add = TRUE) [13:14:04.579] } [13:14:04.579] { [13:14:04.579] lapply(seq_along(...future.elements_ii), [13:14:04.579] FUN = function(jj) { [13:14:04.579] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.579] ...future.FUN(...future.X_jj, ...) [13:14:04.579] }) [13:14:04.579] } [13:14:04.579] }, args = future.call.arguments) [13:14:04.579] } [13:14:04.579] }, immediateCondition = function(cond) { [13:14:04.579] sendCondition <- ...future.makeSendCondition() [13:14:04.579] sendCondition(cond) [13:14:04.579] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.579] { [13:14:04.579] inherits <- base::inherits [13:14:04.579] invokeRestart <- base::invokeRestart [13:14:04.579] is.null <- base::is.null [13:14:04.579] muffled <- FALSE [13:14:04.579] if (inherits(cond, "message")) { [13:14:04.579] muffled <- grepl(pattern, "muffleMessage") [13:14:04.579] if (muffled) [13:14:04.579] invokeRestart("muffleMessage") [13:14:04.579] } [13:14:04.579] else if (inherits(cond, "warning")) { [13:14:04.579] muffled <- grepl(pattern, "muffleWarning") [13:14:04.579] if (muffled) [13:14:04.579] invokeRestart("muffleWarning") [13:14:04.579] } [13:14:04.579] else if (inherits(cond, "condition")) { [13:14:04.579] if (!is.null(pattern)) { [13:14:04.579] computeRestarts <- base::computeRestarts [13:14:04.579] grepl <- base::grepl [13:14:04.579] restarts <- computeRestarts(cond) [13:14:04.579] for (restart in restarts) { [13:14:04.579] name <- restart$name [13:14:04.579] if (is.null(name)) [13:14:04.579] next [13:14:04.579] if (!grepl(pattern, name)) [13:14:04.579] next [13:14:04.579] invokeRestart(restart) [13:14:04.579] muffled <- TRUE [13:14:04.579] break [13:14:04.579] } [13:14:04.579] } [13:14:04.579] } [13:14:04.579] invisible(muffled) [13:14:04.579] } [13:14:04.579] muffleCondition(cond) [13:14:04.579] }) [13:14:04.579] })) [13:14:04.579] future::FutureResult(value = ...future.value$value, [13:14:04.579] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.579] ...future.rng), globalenv = if (FALSE) [13:14:04.579] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.579] ...future.globalenv.names)) [13:14:04.579] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.579] }, condition = base::local({ [13:14:04.579] c <- base::c [13:14:04.579] inherits <- base::inherits [13:14:04.579] invokeRestart <- base::invokeRestart [13:14:04.579] length <- base::length [13:14:04.579] list <- base::list [13:14:04.579] seq.int <- base::seq.int [13:14:04.579] signalCondition <- base::signalCondition [13:14:04.579] sys.calls <- base::sys.calls [13:14:04.579] `[[` <- base::`[[` [13:14:04.579] `+` <- base::`+` [13:14:04.579] `<<-` <- base::`<<-` [13:14:04.579] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.579] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.579] 3L)] [13:14:04.579] } [13:14:04.579] function(cond) { [13:14:04.579] is_error <- inherits(cond, "error") [13:14:04.579] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.579] NULL) [13:14:04.579] if (is_error) { [13:14:04.579] sessionInformation <- function() { [13:14:04.579] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.579] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.579] search = base::search(), system = base::Sys.info()) [13:14:04.579] } [13:14:04.579] ...future.conditions[[length(...future.conditions) + [13:14:04.579] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.579] cond$call), session = sessionInformation(), [13:14:04.579] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.579] signalCondition(cond) [13:14:04.579] } [13:14:04.579] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.579] "immediateCondition"))) { [13:14:04.579] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.579] ...future.conditions[[length(...future.conditions) + [13:14:04.579] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.579] if (TRUE && !signal) { [13:14:04.579] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.579] { [13:14:04.579] inherits <- base::inherits [13:14:04.579] invokeRestart <- base::invokeRestart [13:14:04.579] is.null <- base::is.null [13:14:04.579] muffled <- FALSE [13:14:04.579] if (inherits(cond, "message")) { [13:14:04.579] muffled <- grepl(pattern, "muffleMessage") [13:14:04.579] if (muffled) [13:14:04.579] invokeRestart("muffleMessage") [13:14:04.579] } [13:14:04.579] else if (inherits(cond, "warning")) { [13:14:04.579] muffled <- grepl(pattern, "muffleWarning") [13:14:04.579] if (muffled) [13:14:04.579] invokeRestart("muffleWarning") [13:14:04.579] } [13:14:04.579] else if (inherits(cond, "condition")) { [13:14:04.579] if (!is.null(pattern)) { [13:14:04.579] computeRestarts <- base::computeRestarts [13:14:04.579] grepl <- base::grepl [13:14:04.579] restarts <- computeRestarts(cond) [13:14:04.579] for (restart in restarts) { [13:14:04.579] name <- restart$name [13:14:04.579] if (is.null(name)) [13:14:04.579] next [13:14:04.579] if (!grepl(pattern, name)) [13:14:04.579] next [13:14:04.579] invokeRestart(restart) [13:14:04.579] muffled <- TRUE [13:14:04.579] break [13:14:04.579] } [13:14:04.579] } [13:14:04.579] } [13:14:04.579] invisible(muffled) [13:14:04.579] } [13:14:04.579] muffleCondition(cond, pattern = "^muffle") [13:14:04.579] } [13:14:04.579] } [13:14:04.579] else { [13:14:04.579] if (TRUE) { [13:14:04.579] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.579] { [13:14:04.579] inherits <- base::inherits [13:14:04.579] invokeRestart <- base::invokeRestart [13:14:04.579] is.null <- base::is.null [13:14:04.579] muffled <- FALSE [13:14:04.579] if (inherits(cond, "message")) { [13:14:04.579] muffled <- grepl(pattern, "muffleMessage") [13:14:04.579] if (muffled) [13:14:04.579] invokeRestart("muffleMessage") [13:14:04.579] } [13:14:04.579] else if (inherits(cond, "warning")) { [13:14:04.579] muffled <- grepl(pattern, "muffleWarning") [13:14:04.579] if (muffled) [13:14:04.579] invokeRestart("muffleWarning") [13:14:04.579] } [13:14:04.579] else if (inherits(cond, "condition")) { [13:14:04.579] if (!is.null(pattern)) { [13:14:04.579] computeRestarts <- base::computeRestarts [13:14:04.579] grepl <- base::grepl [13:14:04.579] restarts <- computeRestarts(cond) [13:14:04.579] for (restart in restarts) { [13:14:04.579] name <- restart$name [13:14:04.579] if (is.null(name)) [13:14:04.579] next [13:14:04.579] if (!grepl(pattern, name)) [13:14:04.579] next [13:14:04.579] invokeRestart(restart) [13:14:04.579] muffled <- TRUE [13:14:04.579] break [13:14:04.579] } [13:14:04.579] } [13:14:04.579] } [13:14:04.579] invisible(muffled) [13:14:04.579] } [13:14:04.579] muffleCondition(cond, pattern = "^muffle") [13:14:04.579] } [13:14:04.579] } [13:14:04.579] } [13:14:04.579] })) [13:14:04.579] }, error = function(ex) { [13:14:04.579] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.579] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.579] ...future.rng), started = ...future.startTime, [13:14:04.579] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.579] version = "1.8"), class = "FutureResult") [13:14:04.579] }, finally = { [13:14:04.579] if (!identical(...future.workdir, getwd())) [13:14:04.579] setwd(...future.workdir) [13:14:04.579] { [13:14:04.579] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.579] ...future.oldOptions$nwarnings <- NULL [13:14:04.579] } [13:14:04.579] base::options(...future.oldOptions) [13:14:04.579] if (.Platform$OS.type == "windows") { [13:14:04.579] old_names <- names(...future.oldEnvVars) [13:14:04.579] envs <- base::Sys.getenv() [13:14:04.579] names <- names(envs) [13:14:04.579] common <- intersect(names, old_names) [13:14:04.579] added <- setdiff(names, old_names) [13:14:04.579] removed <- setdiff(old_names, names) [13:14:04.579] changed <- common[...future.oldEnvVars[common] != [13:14:04.579] envs[common]] [13:14:04.579] NAMES <- toupper(changed) [13:14:04.579] args <- list() [13:14:04.579] for (kk in seq_along(NAMES)) { [13:14:04.579] name <- changed[[kk]] [13:14:04.579] NAME <- NAMES[[kk]] [13:14:04.579] if (name != NAME && is.element(NAME, old_names)) [13:14:04.579] next [13:14:04.579] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.579] } [13:14:04.579] NAMES <- toupper(added) [13:14:04.579] for (kk in seq_along(NAMES)) { [13:14:04.579] name <- added[[kk]] [13:14:04.579] NAME <- NAMES[[kk]] [13:14:04.579] if (name != NAME && is.element(NAME, old_names)) [13:14:04.579] next [13:14:04.579] args[[name]] <- "" [13:14:04.579] } [13:14:04.579] NAMES <- toupper(removed) [13:14:04.579] for (kk in seq_along(NAMES)) { [13:14:04.579] name <- removed[[kk]] [13:14:04.579] NAME <- NAMES[[kk]] [13:14:04.579] if (name != NAME && is.element(NAME, old_names)) [13:14:04.579] next [13:14:04.579] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.579] } [13:14:04.579] if (length(args) > 0) [13:14:04.579] base::do.call(base::Sys.setenv, args = args) [13:14:04.579] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.579] } [13:14:04.579] else { [13:14:04.579] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.579] } [13:14:04.579] { [13:14:04.579] if (base::length(...future.futureOptionsAdded) > [13:14:04.579] 0L) { [13:14:04.579] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.579] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.579] base::options(opts) [13:14:04.579] } [13:14:04.579] { [13:14:04.579] { [13:14:04.579] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.579] NULL [13:14:04.579] } [13:14:04.579] options(future.plan = NULL) [13:14:04.579] if (is.na(NA_character_)) [13:14:04.579] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.579] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.579] future::plan(list(function (..., workers = availableCores(), [13:14:04.579] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.579] envir = parent.frame()) [13:14:04.579] { [13:14:04.579] if (is.function(workers)) [13:14:04.579] workers <- workers() [13:14:04.579] workers <- structure(as.integer(workers), [13:14:04.579] class = class(workers)) [13:14:04.579] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.579] workers >= 1) [13:14:04.579] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.579] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.579] } [13:14:04.579] future <- MultisessionFuture(..., workers = workers, [13:14:04.579] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.579] envir = envir) [13:14:04.579] if (!future$lazy) [13:14:04.579] future <- run(future) [13:14:04.579] invisible(future) [13:14:04.579] }), .cleanup = FALSE, .init = FALSE) [13:14:04.579] } [13:14:04.579] } [13:14:04.579] } [13:14:04.579] }) [13:14:04.579] if (TRUE) { [13:14:04.579] base::sink(type = "output", split = FALSE) [13:14:04.579] if (TRUE) { [13:14:04.579] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.579] } [13:14:04.579] else { [13:14:04.579] ...future.result["stdout"] <- base::list(NULL) [13:14:04.579] } [13:14:04.579] base::close(...future.stdout) [13:14:04.579] ...future.stdout <- NULL [13:14:04.579] } [13:14:04.579] ...future.result$conditions <- ...future.conditions [13:14:04.579] ...future.result$finished <- base::Sys.time() [13:14:04.579] ...future.result [13:14:04.579] } [13:14:04.584] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:04.584] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:04.585] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:04.585] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.586] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.586] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:04.586] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:04.586] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.587] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.587] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.587] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.588] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:04.588] MultisessionFuture started [13:14:04.588] - Launch lazy future ... done [13:14:04.589] run() for 'MultisessionFuture' ... done [13:14:04.589] Created future: [13:14:04.605] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.605] - Validating connection of MultisessionFuture [13:14:04.605] - received message: FutureResult [13:14:04.605] - Received FutureResult [13:14:04.606] - Erased future from FutureRegistry [13:14:04.606] result() for ClusterFuture ... [13:14:04.606] - result already collected: FutureResult [13:14:04.606] result() for ClusterFuture ... done [13:14:04.606] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.589] MultisessionFuture: [13:14:04.589] Label: 'future_sapply-2' [13:14:04.589] Expression: [13:14:04.589] { [13:14:04.589] do.call(function(...) { [13:14:04.589] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.589] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.589] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.589] on.exit(options(oopts), add = TRUE) [13:14:04.589] } [13:14:04.589] { [13:14:04.589] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.589] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.589] ...future.FUN(...future.X_jj, ...) [13:14:04.589] }) [13:14:04.589] } [13:14:04.589] }, args = future.call.arguments) [13:14:04.589] } [13:14:04.589] Lazy evaluation: FALSE [13:14:04.589] Asynchronous evaluation: TRUE [13:14:04.589] Local evaluation: TRUE [13:14:04.589] Environment: R_GlobalEnv [13:14:04.589] Capture standard output: TRUE [13:14:04.589] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.589] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.589] Packages: [13:14:04.589] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.589] Resolved: TRUE [13:14:04.589] Value: [13:14:04.589] Conditions captured: [13:14:04.589] Early signaling: FALSE [13:14:04.589] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.589] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.607] Chunk #2 of 2 ... DONE [13:14:04.607] Launching 2 futures (chunks) ... DONE [13:14:04.607] Resolving 2 futures (chunks) ... [13:14:04.607] resolve() on list ... [13:14:04.607] recursive: 0 [13:14:04.608] length: 2 [13:14:04.608] [13:14:04.608] Future #1 [13:14:04.608] result() for ClusterFuture ... [13:14:04.608] - result already collected: FutureResult [13:14:04.608] result() for ClusterFuture ... done [13:14:04.608] result() for ClusterFuture ... [13:14:04.609] - result already collected: FutureResult [13:14:04.609] result() for ClusterFuture ... done [13:14:04.609] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:04.609] - nx: 2 [13:14:04.609] - relay: TRUE [13:14:04.609] - stdout: TRUE [13:14:04.610] - signal: TRUE [13:14:04.610] - resignal: FALSE [13:14:04.610] - force: TRUE [13:14:04.610] - relayed: [n=2] FALSE, FALSE [13:14:04.610] - queued futures: [n=2] FALSE, FALSE [13:14:04.610] - until=1 [13:14:04.610] - relaying element #1 [13:14:04.611] result() for ClusterFuture ... [13:14:04.611] - result already collected: FutureResult [13:14:04.611] result() for ClusterFuture ... done [13:14:04.611] result() for ClusterFuture ... [13:14:04.611] - result already collected: FutureResult [13:14:04.611] result() for ClusterFuture ... done [13:14:04.613] result() for ClusterFuture ... [13:14:04.613] - result already collected: FutureResult [13:14:04.614] result() for ClusterFuture ... done [13:14:04.614] result() for ClusterFuture ... [13:14:04.614] - result already collected: FutureResult [13:14:04.614] result() for ClusterFuture ... done [13:14:04.614] - relayed: [n=2] TRUE, FALSE [13:14:04.614] - queued futures: [n=2] TRUE, FALSE [13:14:04.615] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:04.615] length: 1 (resolved future 1) [13:14:04.615] Future #2 [13:14:04.615] result() for ClusterFuture ... [13:14:04.615] - result already collected: FutureResult [13:14:04.615] result() for ClusterFuture ... done [13:14:04.616] result() for ClusterFuture ... [13:14:04.616] - result already collected: FutureResult [13:14:04.616] result() for ClusterFuture ... done [13:14:04.616] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:04.616] - nx: 2 [13:14:04.616] - relay: TRUE [13:14:04.616] - stdout: TRUE [13:14:04.617] - signal: TRUE [13:14:04.617] - resignal: FALSE [13:14:04.617] - force: TRUE [13:14:04.617] - relayed: [n=2] TRUE, FALSE [13:14:04.617] - queued futures: [n=2] TRUE, FALSE [13:14:04.617] - until=2 [13:14:04.618] - relaying element #2 [13:14:04.618] result() for ClusterFuture ... [13:14:04.618] - result already collected: FutureResult [13:14:04.618] result() for ClusterFuture ... done [13:14:04.618] result() for ClusterFuture ... [13:14:04.618] - result already collected: FutureResult [13:14:04.618] result() for ClusterFuture ... done [13:14:04.619] result() for ClusterFuture ... [13:14:04.619] - result already collected: FutureResult [13:14:04.619] result() for ClusterFuture ... done [13:14:04.619] result() for ClusterFuture ... [13:14:04.619] - result already collected: FutureResult [13:14:04.619] result() for ClusterFuture ... done [13:14:04.620] - relayed: [n=2] TRUE, TRUE [13:14:04.620] - queued futures: [n=2] TRUE, TRUE [13:14:04.620] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:04.620] length: 0 (resolved future 2) [13:14:04.620] Relaying remaining futures [13:14:04.620] signalConditionsASAP(NULL, pos=0) ... [13:14:04.621] - nx: 2 [13:14:04.621] - relay: TRUE [13:14:04.621] - stdout: TRUE [13:14:04.621] - signal: TRUE [13:14:04.621] - resignal: FALSE [13:14:04.621] - force: TRUE [13:14:04.621] - relayed: [n=2] TRUE, TRUE [13:14:04.622] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:04.622] - relayed: [n=2] TRUE, TRUE [13:14:04.622] - queued futures: [n=2] TRUE, TRUE [13:14:04.622] signalConditionsASAP(NULL, pos=0) ... done [13:14:04.622] resolve() on list ... DONE [13:14:04.622] result() for ClusterFuture ... [13:14:04.623] - result already collected: FutureResult [13:14:04.623] result() for ClusterFuture ... done [13:14:04.623] result() for ClusterFuture ... [13:14:04.623] - result already collected: FutureResult [13:14:04.623] result() for ClusterFuture ... done [13:14:04.623] result() for ClusterFuture ... [13:14:04.623] - result already collected: FutureResult [13:14:04.624] result() for ClusterFuture ... done [13:14:04.624] result() for ClusterFuture ... [13:14:04.624] - result already collected: FutureResult [13:14:04.624] result() for ClusterFuture ... done [13:14:04.624] - Number of value chunks collected: 2 [13:14:04.624] Resolving 2 futures (chunks) ... DONE [13:14:04.625] Reducing values from 2 chunks ... [13:14:04.625] - Number of values collected after concatenation: 3 [13:14:04.625] - Number of values expected: 3 [13:14:04.625] Reducing values from 2 chunks ... DONE [13:14:04.625] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y1:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y2:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 [13:14:04.632] future_lapply() ... [13:14:04.635] Number of chunks: 2 [13:14:04.635] getGlobalsAndPackagesXApply() ... [13:14:04.636] - future.globals: TRUE [13:14:04.636] getGlobalsAndPackages() ... [13:14:04.636] Searching for globals... [13:14:04.638] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:04.638] Searching for globals ... DONE [13:14:04.638] Resolving globals: FALSE [13:14:04.639] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:04.639] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:04.639] - globals: [1] 'FUN' [13:14:04.639] [13:14:04.640] getGlobalsAndPackages() ... DONE [13:14:04.640] - globals found/used: [n=1] 'FUN' [13:14:04.640] - needed namespaces: [n=0] [13:14:04.640] Finding globals ... DONE [13:14:04.640] - use_args: TRUE [13:14:04.640] - Getting '...' globals ... [13:14:04.641] resolve() on list ... [13:14:04.641] recursive: 0 [13:14:04.641] length: 1 [13:14:04.641] elements: '...' [13:14:04.641] length: 0 (resolved future 1) [13:14:04.642] resolve() on list ... DONE [13:14:04.642] - '...' content: [n=0] [13:14:04.642] List of 1 [13:14:04.642] $ ...: list() [13:14:04.642] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.642] - attr(*, "where")=List of 1 [13:14:04.642] ..$ ...: [13:14:04.642] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.642] - attr(*, "resolved")= logi TRUE [13:14:04.642] - attr(*, "total_size")= num NA [13:14:04.645] - Getting '...' globals ... DONE [13:14:04.645] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:04.645] List of 2 [13:14:04.645] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:04.645] $ ... : list() [13:14:04.645] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.645] - attr(*, "where")=List of 2 [13:14:04.645] ..$ ...future.FUN: [13:14:04.645] ..$ ... : [13:14:04.645] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.645] - attr(*, "resolved")= logi FALSE [13:14:04.645] - attr(*, "total_size")= num 4728 [13:14:04.649] Packages to be attached in all futures: [n=0] [13:14:04.649] getGlobalsAndPackagesXApply() ... DONE [13:14:04.649] Number of futures (= number of chunks): 2 [13:14:04.649] Launching 2 futures (chunks) ... [13:14:04.650] Chunk #1 of 2 ... [13:14:04.650] - Finding globals in 'X' for chunk #1 ... [13:14:04.650] getGlobalsAndPackages() ... [13:14:04.650] Searching for globals... [13:14:04.650] [13:14:04.651] Searching for globals ... DONE [13:14:04.651] - globals: [0] [13:14:04.651] getGlobalsAndPackages() ... DONE [13:14:04.651] + additional globals found: [n=0] [13:14:04.651] + additional namespaces needed: [n=0] [13:14:04.651] - Finding globals in 'X' for chunk #1 ... DONE [13:14:04.651] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.652] - seeds: [13:14:04.652] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.652] getGlobalsAndPackages() ... [13:14:04.652] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.652] Resolving globals: FALSE [13:14:04.652] Tweak future expression to call with '...' arguments ... [13:14:04.653] { [13:14:04.653] do.call(function(...) { [13:14:04.653] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.653] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.653] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.653] on.exit(options(oopts), add = TRUE) [13:14:04.653] } [13:14:04.653] { [13:14:04.653] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.653] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.653] ...future.FUN(...future.X_jj, ...) [13:14:04.653] }) [13:14:04.653] } [13:14:04.653] }, args = future.call.arguments) [13:14:04.653] } [13:14:04.653] Tweak future expression to call with '...' arguments ... DONE [13:14:04.654] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.654] [13:14:04.654] getGlobalsAndPackages() ... DONE [13:14:04.654] run() for 'Future' ... [13:14:04.654] - state: 'created' [13:14:04.655] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.669] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.669] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.669] - Field: 'node' [13:14:04.669] - Field: 'label' [13:14:04.669] - Field: 'local' [13:14:04.670] - Field: 'owner' [13:14:04.670] - Field: 'envir' [13:14:04.670] - Field: 'workers' [13:14:04.670] - Field: 'packages' [13:14:04.670] - Field: 'gc' [13:14:04.670] - Field: 'conditions' [13:14:04.671] - Field: 'persistent' [13:14:04.671] - Field: 'expr' [13:14:04.671] - Field: 'uuid' [13:14:04.671] - Field: 'seed' [13:14:04.671] - Field: 'version' [13:14:04.671] - Field: 'result' [13:14:04.672] - Field: 'asynchronous' [13:14:04.672] - Field: 'calls' [13:14:04.672] - Field: 'globals' [13:14:04.672] - Field: 'stdout' [13:14:04.672] - Field: 'earlySignal' [13:14:04.673] - Field: 'lazy' [13:14:04.673] - Field: 'state' [13:14:04.673] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.673] - Launch lazy future ... [13:14:04.673] Packages needed by the future expression (n = 0): [13:14:04.674] Packages needed by future strategies (n = 0): [13:14:04.674] { [13:14:04.674] { [13:14:04.674] { [13:14:04.674] ...future.startTime <- base::Sys.time() [13:14:04.674] { [13:14:04.674] { [13:14:04.674] { [13:14:04.674] { [13:14:04.674] base::local({ [13:14:04.674] has_future <- base::requireNamespace("future", [13:14:04.674] quietly = TRUE) [13:14:04.674] if (has_future) { [13:14:04.674] ns <- base::getNamespace("future") [13:14:04.674] version <- ns[[".package"]][["version"]] [13:14:04.674] if (is.null(version)) [13:14:04.674] version <- utils::packageVersion("future") [13:14:04.674] } [13:14:04.674] else { [13:14:04.674] version <- NULL [13:14:04.674] } [13:14:04.674] if (!has_future || version < "1.8.0") { [13:14:04.674] info <- base::c(r_version = base::gsub("R version ", [13:14:04.674] "", base::R.version$version.string), [13:14:04.674] platform = base::sprintf("%s (%s-bit)", [13:14:04.674] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.674] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.674] "release", "version")], collapse = " "), [13:14:04.674] hostname = base::Sys.info()[["nodename"]]) [13:14:04.674] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.674] info) [13:14:04.674] info <- base::paste(info, collapse = "; ") [13:14:04.674] if (!has_future) { [13:14:04.674] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.674] info) [13:14:04.674] } [13:14:04.674] else { [13:14:04.674] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.674] info, version) [13:14:04.674] } [13:14:04.674] base::stop(msg) [13:14:04.674] } [13:14:04.674] }) [13:14:04.674] } [13:14:04.674] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.674] base::options(mc.cores = 1L) [13:14:04.674] } [13:14:04.674] options(future.plan = NULL) [13:14:04.674] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.674] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.674] } [13:14:04.674] ...future.workdir <- getwd() [13:14:04.674] } [13:14:04.674] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.674] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.674] } [13:14:04.674] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.674] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.674] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.674] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.674] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.674] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.674] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.674] base::names(...future.oldOptions)) [13:14:04.674] } [13:14:04.674] if (FALSE) { [13:14:04.674] } [13:14:04.674] else { [13:14:04.674] if (TRUE) { [13:14:04.674] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.674] open = "w") [13:14:04.674] } [13:14:04.674] else { [13:14:04.674] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.674] windows = "NUL", "/dev/null"), open = "w") [13:14:04.674] } [13:14:04.674] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.674] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.674] base::sink(type = "output", split = FALSE) [13:14:04.674] base::close(...future.stdout) [13:14:04.674] }, add = TRUE) [13:14:04.674] } [13:14:04.674] ...future.frame <- base::sys.nframe() [13:14:04.674] ...future.conditions <- base::list() [13:14:04.674] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.674] if (FALSE) { [13:14:04.674] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.674] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.674] } [13:14:04.674] ...future.result <- base::tryCatch({ [13:14:04.674] base::withCallingHandlers({ [13:14:04.674] ...future.value <- base::withVisible(base::local({ [13:14:04.674] ...future.makeSendCondition <- local({ [13:14:04.674] sendCondition <- NULL [13:14:04.674] function(frame = 1L) { [13:14:04.674] if (is.function(sendCondition)) [13:14:04.674] return(sendCondition) [13:14:04.674] ns <- getNamespace("parallel") [13:14:04.674] if (exists("sendData", mode = "function", [13:14:04.674] envir = ns)) { [13:14:04.674] parallel_sendData <- get("sendData", mode = "function", [13:14:04.674] envir = ns) [13:14:04.674] envir <- sys.frame(frame) [13:14:04.674] master <- NULL [13:14:04.674] while (!identical(envir, .GlobalEnv) && [13:14:04.674] !identical(envir, emptyenv())) { [13:14:04.674] if (exists("master", mode = "list", envir = envir, [13:14:04.674] inherits = FALSE)) { [13:14:04.674] master <- get("master", mode = "list", [13:14:04.674] envir = envir, inherits = FALSE) [13:14:04.674] if (inherits(master, c("SOCKnode", [13:14:04.674] "SOCK0node"))) { [13:14:04.674] sendCondition <<- function(cond) { [13:14:04.674] data <- list(type = "VALUE", value = cond, [13:14:04.674] success = TRUE) [13:14:04.674] parallel_sendData(master, data) [13:14:04.674] } [13:14:04.674] return(sendCondition) [13:14:04.674] } [13:14:04.674] } [13:14:04.674] frame <- frame + 1L [13:14:04.674] envir <- sys.frame(frame) [13:14:04.674] } [13:14:04.674] } [13:14:04.674] sendCondition <<- function(cond) NULL [13:14:04.674] } [13:14:04.674] }) [13:14:04.674] withCallingHandlers({ [13:14:04.674] { [13:14:04.674] do.call(function(...) { [13:14:04.674] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.674] if (!identical(...future.globals.maxSize.org, [13:14:04.674] ...future.globals.maxSize)) { [13:14:04.674] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.674] on.exit(options(oopts), add = TRUE) [13:14:04.674] } [13:14:04.674] { [13:14:04.674] lapply(seq_along(...future.elements_ii), [13:14:04.674] FUN = function(jj) { [13:14:04.674] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.674] ...future.FUN(...future.X_jj, ...) [13:14:04.674] }) [13:14:04.674] } [13:14:04.674] }, args = future.call.arguments) [13:14:04.674] } [13:14:04.674] }, immediateCondition = function(cond) { [13:14:04.674] sendCondition <- ...future.makeSendCondition() [13:14:04.674] sendCondition(cond) [13:14:04.674] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.674] { [13:14:04.674] inherits <- base::inherits [13:14:04.674] invokeRestart <- base::invokeRestart [13:14:04.674] is.null <- base::is.null [13:14:04.674] muffled <- FALSE [13:14:04.674] if (inherits(cond, "message")) { [13:14:04.674] muffled <- grepl(pattern, "muffleMessage") [13:14:04.674] if (muffled) [13:14:04.674] invokeRestart("muffleMessage") [13:14:04.674] } [13:14:04.674] else if (inherits(cond, "warning")) { [13:14:04.674] muffled <- grepl(pattern, "muffleWarning") [13:14:04.674] if (muffled) [13:14:04.674] invokeRestart("muffleWarning") [13:14:04.674] } [13:14:04.674] else if (inherits(cond, "condition")) { [13:14:04.674] if (!is.null(pattern)) { [13:14:04.674] computeRestarts <- base::computeRestarts [13:14:04.674] grepl <- base::grepl [13:14:04.674] restarts <- computeRestarts(cond) [13:14:04.674] for (restart in restarts) { [13:14:04.674] name <- restart$name [13:14:04.674] if (is.null(name)) [13:14:04.674] next [13:14:04.674] if (!grepl(pattern, name)) [13:14:04.674] next [13:14:04.674] invokeRestart(restart) [13:14:04.674] muffled <- TRUE [13:14:04.674] break [13:14:04.674] } [13:14:04.674] } [13:14:04.674] } [13:14:04.674] invisible(muffled) [13:14:04.674] } [13:14:04.674] muffleCondition(cond) [13:14:04.674] }) [13:14:04.674] })) [13:14:04.674] future::FutureResult(value = ...future.value$value, [13:14:04.674] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.674] ...future.rng), globalenv = if (FALSE) [13:14:04.674] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.674] ...future.globalenv.names)) [13:14:04.674] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.674] }, condition = base::local({ [13:14:04.674] c <- base::c [13:14:04.674] inherits <- base::inherits [13:14:04.674] invokeRestart <- base::invokeRestart [13:14:04.674] length <- base::length [13:14:04.674] list <- base::list [13:14:04.674] seq.int <- base::seq.int [13:14:04.674] signalCondition <- base::signalCondition [13:14:04.674] sys.calls <- base::sys.calls [13:14:04.674] `[[` <- base::`[[` [13:14:04.674] `+` <- base::`+` [13:14:04.674] `<<-` <- base::`<<-` [13:14:04.674] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.674] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.674] 3L)] [13:14:04.674] } [13:14:04.674] function(cond) { [13:14:04.674] is_error <- inherits(cond, "error") [13:14:04.674] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.674] NULL) [13:14:04.674] if (is_error) { [13:14:04.674] sessionInformation <- function() { [13:14:04.674] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.674] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.674] search = base::search(), system = base::Sys.info()) [13:14:04.674] } [13:14:04.674] ...future.conditions[[length(...future.conditions) + [13:14:04.674] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.674] cond$call), session = sessionInformation(), [13:14:04.674] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.674] signalCondition(cond) [13:14:04.674] } [13:14:04.674] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.674] "immediateCondition"))) { [13:14:04.674] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.674] ...future.conditions[[length(...future.conditions) + [13:14:04.674] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.674] if (TRUE && !signal) { [13:14:04.674] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.674] { [13:14:04.674] inherits <- base::inherits [13:14:04.674] invokeRestart <- base::invokeRestart [13:14:04.674] is.null <- base::is.null [13:14:04.674] muffled <- FALSE [13:14:04.674] if (inherits(cond, "message")) { [13:14:04.674] muffled <- grepl(pattern, "muffleMessage") [13:14:04.674] if (muffled) [13:14:04.674] invokeRestart("muffleMessage") [13:14:04.674] } [13:14:04.674] else if (inherits(cond, "warning")) { [13:14:04.674] muffled <- grepl(pattern, "muffleWarning") [13:14:04.674] if (muffled) [13:14:04.674] invokeRestart("muffleWarning") [13:14:04.674] } [13:14:04.674] else if (inherits(cond, "condition")) { [13:14:04.674] if (!is.null(pattern)) { [13:14:04.674] computeRestarts <- base::computeRestarts [13:14:04.674] grepl <- base::grepl [13:14:04.674] restarts <- computeRestarts(cond) [13:14:04.674] for (restart in restarts) { [13:14:04.674] name <- restart$name [13:14:04.674] if (is.null(name)) [13:14:04.674] next [13:14:04.674] if (!grepl(pattern, name)) [13:14:04.674] next [13:14:04.674] invokeRestart(restart) [13:14:04.674] muffled <- TRUE [13:14:04.674] break [13:14:04.674] } [13:14:04.674] } [13:14:04.674] } [13:14:04.674] invisible(muffled) [13:14:04.674] } [13:14:04.674] muffleCondition(cond, pattern = "^muffle") [13:14:04.674] } [13:14:04.674] } [13:14:04.674] else { [13:14:04.674] if (TRUE) { [13:14:04.674] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.674] { [13:14:04.674] inherits <- base::inherits [13:14:04.674] invokeRestart <- base::invokeRestart [13:14:04.674] is.null <- base::is.null [13:14:04.674] muffled <- FALSE [13:14:04.674] if (inherits(cond, "message")) { [13:14:04.674] muffled <- grepl(pattern, "muffleMessage") [13:14:04.674] if (muffled) [13:14:04.674] invokeRestart("muffleMessage") [13:14:04.674] } [13:14:04.674] else if (inherits(cond, "warning")) { [13:14:04.674] muffled <- grepl(pattern, "muffleWarning") [13:14:04.674] if (muffled) [13:14:04.674] invokeRestart("muffleWarning") [13:14:04.674] } [13:14:04.674] else if (inherits(cond, "condition")) { [13:14:04.674] if (!is.null(pattern)) { [13:14:04.674] computeRestarts <- base::computeRestarts [13:14:04.674] grepl <- base::grepl [13:14:04.674] restarts <- computeRestarts(cond) [13:14:04.674] for (restart in restarts) { [13:14:04.674] name <- restart$name [13:14:04.674] if (is.null(name)) [13:14:04.674] next [13:14:04.674] if (!grepl(pattern, name)) [13:14:04.674] next [13:14:04.674] invokeRestart(restart) [13:14:04.674] muffled <- TRUE [13:14:04.674] break [13:14:04.674] } [13:14:04.674] } [13:14:04.674] } [13:14:04.674] invisible(muffled) [13:14:04.674] } [13:14:04.674] muffleCondition(cond, pattern = "^muffle") [13:14:04.674] } [13:14:04.674] } [13:14:04.674] } [13:14:04.674] })) [13:14:04.674] }, error = function(ex) { [13:14:04.674] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.674] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.674] ...future.rng), started = ...future.startTime, [13:14:04.674] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.674] version = "1.8"), class = "FutureResult") [13:14:04.674] }, finally = { [13:14:04.674] if (!identical(...future.workdir, getwd())) [13:14:04.674] setwd(...future.workdir) [13:14:04.674] { [13:14:04.674] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.674] ...future.oldOptions$nwarnings <- NULL [13:14:04.674] } [13:14:04.674] base::options(...future.oldOptions) [13:14:04.674] if (.Platform$OS.type == "windows") { [13:14:04.674] old_names <- names(...future.oldEnvVars) [13:14:04.674] envs <- base::Sys.getenv() [13:14:04.674] names <- names(envs) [13:14:04.674] common <- intersect(names, old_names) [13:14:04.674] added <- setdiff(names, old_names) [13:14:04.674] removed <- setdiff(old_names, names) [13:14:04.674] changed <- common[...future.oldEnvVars[common] != [13:14:04.674] envs[common]] [13:14:04.674] NAMES <- toupper(changed) [13:14:04.674] args <- list() [13:14:04.674] for (kk in seq_along(NAMES)) { [13:14:04.674] name <- changed[[kk]] [13:14:04.674] NAME <- NAMES[[kk]] [13:14:04.674] if (name != NAME && is.element(NAME, old_names)) [13:14:04.674] next [13:14:04.674] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.674] } [13:14:04.674] NAMES <- toupper(added) [13:14:04.674] for (kk in seq_along(NAMES)) { [13:14:04.674] name <- added[[kk]] [13:14:04.674] NAME <- NAMES[[kk]] [13:14:04.674] if (name != NAME && is.element(NAME, old_names)) [13:14:04.674] next [13:14:04.674] args[[name]] <- "" [13:14:04.674] } [13:14:04.674] NAMES <- toupper(removed) [13:14:04.674] for (kk in seq_along(NAMES)) { [13:14:04.674] name <- removed[[kk]] [13:14:04.674] NAME <- NAMES[[kk]] [13:14:04.674] if (name != NAME && is.element(NAME, old_names)) [13:14:04.674] next [13:14:04.674] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.674] } [13:14:04.674] if (length(args) > 0) [13:14:04.674] base::do.call(base::Sys.setenv, args = args) [13:14:04.674] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.674] } [13:14:04.674] else { [13:14:04.674] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.674] } [13:14:04.674] { [13:14:04.674] if (base::length(...future.futureOptionsAdded) > [13:14:04.674] 0L) { [13:14:04.674] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.674] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.674] base::options(opts) [13:14:04.674] } [13:14:04.674] { [13:14:04.674] { [13:14:04.674] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.674] NULL [13:14:04.674] } [13:14:04.674] options(future.plan = NULL) [13:14:04.674] if (is.na(NA_character_)) [13:14:04.674] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.674] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.674] future::plan(list(function (..., workers = availableCores(), [13:14:04.674] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.674] envir = parent.frame()) [13:14:04.674] { [13:14:04.674] if (is.function(workers)) [13:14:04.674] workers <- workers() [13:14:04.674] workers <- structure(as.integer(workers), [13:14:04.674] class = class(workers)) [13:14:04.674] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.674] workers >= 1) [13:14:04.674] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.674] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.674] } [13:14:04.674] future <- MultisessionFuture(..., workers = workers, [13:14:04.674] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.674] envir = envir) [13:14:04.674] if (!future$lazy) [13:14:04.674] future <- run(future) [13:14:04.674] invisible(future) [13:14:04.674] }), .cleanup = FALSE, .init = FALSE) [13:14:04.674] } [13:14:04.674] } [13:14:04.674] } [13:14:04.674] }) [13:14:04.674] if (TRUE) { [13:14:04.674] base::sink(type = "output", split = FALSE) [13:14:04.674] if (TRUE) { [13:14:04.674] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.674] } [13:14:04.674] else { [13:14:04.674] ...future.result["stdout"] <- base::list(NULL) [13:14:04.674] } [13:14:04.674] base::close(...future.stdout) [13:14:04.674] ...future.stdout <- NULL [13:14:04.674] } [13:14:04.674] ...future.result$conditions <- ...future.conditions [13:14:04.674] ...future.result$finished <- base::Sys.time() [13:14:04.674] ...future.result [13:14:04.674] } [13:14:04.680] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:04.680] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:04.680] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:04.681] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.681] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.681] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:04.682] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:04.682] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.682] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.682] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.683] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.683] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:04.684] MultisessionFuture started [13:14:04.684] - Launch lazy future ... done [13:14:04.684] run() for 'MultisessionFuture' ... done [13:14:04.684] Created future: [13:14:04.700] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.700] - Validating connection of MultisessionFuture [13:14:04.700] - received message: FutureResult [13:14:04.701] - Received FutureResult [13:14:04.701] - Erased future from FutureRegistry [13:14:04.701] result() for ClusterFuture ... [13:14:04.701] - result already collected: FutureResult [13:14:04.701] result() for ClusterFuture ... done [13:14:04.701] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.684] MultisessionFuture: [13:14:04.684] Label: 'future_sapply-1' [13:14:04.684] Expression: [13:14:04.684] { [13:14:04.684] do.call(function(...) { [13:14:04.684] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.684] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.684] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.684] on.exit(options(oopts), add = TRUE) [13:14:04.684] } [13:14:04.684] { [13:14:04.684] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.684] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.684] ...future.FUN(...future.X_jj, ...) [13:14:04.684] }) [13:14:04.684] } [13:14:04.684] }, args = future.call.arguments) [13:14:04.684] } [13:14:04.684] Lazy evaluation: FALSE [13:14:04.684] Asynchronous evaluation: TRUE [13:14:04.684] Local evaluation: TRUE [13:14:04.684] Environment: R_GlobalEnv [13:14:04.684] Capture standard output: TRUE [13:14:04.684] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.684] Globals: 5 objects totaling 4.67 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.684] Packages: [13:14:04.684] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.684] Resolved: TRUE [13:14:04.684] Value: [13:14:04.684] Conditions captured: [13:14:04.684] Early signaling: FALSE [13:14:04.684] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.684] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.702] Chunk #1 of 2 ... DONE [13:14:04.702] Chunk #2 of 2 ... [13:14:04.702] - Finding globals in 'X' for chunk #2 ... [13:14:04.702] getGlobalsAndPackages() ... [13:14:04.702] Searching for globals... [13:14:04.703] [13:14:04.703] Searching for globals ... DONE [13:14:04.703] - globals: [0] [13:14:04.703] getGlobalsAndPackages() ... DONE [13:14:04.703] + additional globals found: [n=0] [13:14:04.704] + additional namespaces needed: [n=0] [13:14:04.704] - Finding globals in 'X' for chunk #2 ... DONE [13:14:04.704] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.704] - seeds: [13:14:04.704] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.704] getGlobalsAndPackages() ... [13:14:04.705] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.705] Resolving globals: FALSE [13:14:04.705] Tweak future expression to call with '...' arguments ... [13:14:04.705] { [13:14:04.705] do.call(function(...) { [13:14:04.705] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.705] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.705] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.705] on.exit(options(oopts), add = TRUE) [13:14:04.705] } [13:14:04.705] { [13:14:04.705] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.705] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.705] ...future.FUN(...future.X_jj, ...) [13:14:04.705] }) [13:14:04.705] } [13:14:04.705] }, args = future.call.arguments) [13:14:04.705] } [13:14:04.706] Tweak future expression to call with '...' arguments ... DONE [13:14:04.706] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.706] [13:14:04.706] getGlobalsAndPackages() ... DONE [13:14:04.707] run() for 'Future' ... [13:14:04.707] - state: 'created' [13:14:04.707] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.721] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.721] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.721] - Field: 'node' [13:14:04.722] - Field: 'label' [13:14:04.722] - Field: 'local' [13:14:04.722] - Field: 'owner' [13:14:04.722] - Field: 'envir' [13:14:04.722] - Field: 'workers' [13:14:04.722] - Field: 'packages' [13:14:04.723] - Field: 'gc' [13:14:04.723] - Field: 'conditions' [13:14:04.723] - Field: 'persistent' [13:14:04.723] - Field: 'expr' [13:14:04.723] - Field: 'uuid' [13:14:04.723] - Field: 'seed' [13:14:04.724] - Field: 'version' [13:14:04.724] - Field: 'result' [13:14:04.724] - Field: 'asynchronous' [13:14:04.724] - Field: 'calls' [13:14:04.724] - Field: 'globals' [13:14:04.725] - Field: 'stdout' [13:14:04.725] - Field: 'earlySignal' [13:14:04.725] - Field: 'lazy' [13:14:04.725] - Field: 'state' [13:14:04.725] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.725] - Launch lazy future ... [13:14:04.726] Packages needed by the future expression (n = 0): [13:14:04.726] Packages needed by future strategies (n = 0): [13:14:04.726] { [13:14:04.726] { [13:14:04.726] { [13:14:04.726] ...future.startTime <- base::Sys.time() [13:14:04.726] { [13:14:04.726] { [13:14:04.726] { [13:14:04.726] { [13:14:04.726] base::local({ [13:14:04.726] has_future <- base::requireNamespace("future", [13:14:04.726] quietly = TRUE) [13:14:04.726] if (has_future) { [13:14:04.726] ns <- base::getNamespace("future") [13:14:04.726] version <- ns[[".package"]][["version"]] [13:14:04.726] if (is.null(version)) [13:14:04.726] version <- utils::packageVersion("future") [13:14:04.726] } [13:14:04.726] else { [13:14:04.726] version <- NULL [13:14:04.726] } [13:14:04.726] if (!has_future || version < "1.8.0") { [13:14:04.726] info <- base::c(r_version = base::gsub("R version ", [13:14:04.726] "", base::R.version$version.string), [13:14:04.726] platform = base::sprintf("%s (%s-bit)", [13:14:04.726] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.726] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.726] "release", "version")], collapse = " "), [13:14:04.726] hostname = base::Sys.info()[["nodename"]]) [13:14:04.726] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.726] info) [13:14:04.726] info <- base::paste(info, collapse = "; ") [13:14:04.726] if (!has_future) { [13:14:04.726] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.726] info) [13:14:04.726] } [13:14:04.726] else { [13:14:04.726] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.726] info, version) [13:14:04.726] } [13:14:04.726] base::stop(msg) [13:14:04.726] } [13:14:04.726] }) [13:14:04.726] } [13:14:04.726] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.726] base::options(mc.cores = 1L) [13:14:04.726] } [13:14:04.726] options(future.plan = NULL) [13:14:04.726] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.726] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.726] } [13:14:04.726] ...future.workdir <- getwd() [13:14:04.726] } [13:14:04.726] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.726] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.726] } [13:14:04.726] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.726] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.726] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.726] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.726] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.726] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.726] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.726] base::names(...future.oldOptions)) [13:14:04.726] } [13:14:04.726] if (FALSE) { [13:14:04.726] } [13:14:04.726] else { [13:14:04.726] if (TRUE) { [13:14:04.726] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.726] open = "w") [13:14:04.726] } [13:14:04.726] else { [13:14:04.726] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.726] windows = "NUL", "/dev/null"), open = "w") [13:14:04.726] } [13:14:04.726] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.726] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.726] base::sink(type = "output", split = FALSE) [13:14:04.726] base::close(...future.stdout) [13:14:04.726] }, add = TRUE) [13:14:04.726] } [13:14:04.726] ...future.frame <- base::sys.nframe() [13:14:04.726] ...future.conditions <- base::list() [13:14:04.726] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.726] if (FALSE) { [13:14:04.726] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.726] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.726] } [13:14:04.726] ...future.result <- base::tryCatch({ [13:14:04.726] base::withCallingHandlers({ [13:14:04.726] ...future.value <- base::withVisible(base::local({ [13:14:04.726] ...future.makeSendCondition <- local({ [13:14:04.726] sendCondition <- NULL [13:14:04.726] function(frame = 1L) { [13:14:04.726] if (is.function(sendCondition)) [13:14:04.726] return(sendCondition) [13:14:04.726] ns <- getNamespace("parallel") [13:14:04.726] if (exists("sendData", mode = "function", [13:14:04.726] envir = ns)) { [13:14:04.726] parallel_sendData <- get("sendData", mode = "function", [13:14:04.726] envir = ns) [13:14:04.726] envir <- sys.frame(frame) [13:14:04.726] master <- NULL [13:14:04.726] while (!identical(envir, .GlobalEnv) && [13:14:04.726] !identical(envir, emptyenv())) { [13:14:04.726] if (exists("master", mode = "list", envir = envir, [13:14:04.726] inherits = FALSE)) { [13:14:04.726] master <- get("master", mode = "list", [13:14:04.726] envir = envir, inherits = FALSE) [13:14:04.726] if (inherits(master, c("SOCKnode", [13:14:04.726] "SOCK0node"))) { [13:14:04.726] sendCondition <<- function(cond) { [13:14:04.726] data <- list(type = "VALUE", value = cond, [13:14:04.726] success = TRUE) [13:14:04.726] parallel_sendData(master, data) [13:14:04.726] } [13:14:04.726] return(sendCondition) [13:14:04.726] } [13:14:04.726] } [13:14:04.726] frame <- frame + 1L [13:14:04.726] envir <- sys.frame(frame) [13:14:04.726] } [13:14:04.726] } [13:14:04.726] sendCondition <<- function(cond) NULL [13:14:04.726] } [13:14:04.726] }) [13:14:04.726] withCallingHandlers({ [13:14:04.726] { [13:14:04.726] do.call(function(...) { [13:14:04.726] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.726] if (!identical(...future.globals.maxSize.org, [13:14:04.726] ...future.globals.maxSize)) { [13:14:04.726] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.726] on.exit(options(oopts), add = TRUE) [13:14:04.726] } [13:14:04.726] { [13:14:04.726] lapply(seq_along(...future.elements_ii), [13:14:04.726] FUN = function(jj) { [13:14:04.726] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.726] ...future.FUN(...future.X_jj, ...) [13:14:04.726] }) [13:14:04.726] } [13:14:04.726] }, args = future.call.arguments) [13:14:04.726] } [13:14:04.726] }, immediateCondition = function(cond) { [13:14:04.726] sendCondition <- ...future.makeSendCondition() [13:14:04.726] sendCondition(cond) [13:14:04.726] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.726] { [13:14:04.726] inherits <- base::inherits [13:14:04.726] invokeRestart <- base::invokeRestart [13:14:04.726] is.null <- base::is.null [13:14:04.726] muffled <- FALSE [13:14:04.726] if (inherits(cond, "message")) { [13:14:04.726] muffled <- grepl(pattern, "muffleMessage") [13:14:04.726] if (muffled) [13:14:04.726] invokeRestart("muffleMessage") [13:14:04.726] } [13:14:04.726] else if (inherits(cond, "warning")) { [13:14:04.726] muffled <- grepl(pattern, "muffleWarning") [13:14:04.726] if (muffled) [13:14:04.726] invokeRestart("muffleWarning") [13:14:04.726] } [13:14:04.726] else if (inherits(cond, "condition")) { [13:14:04.726] if (!is.null(pattern)) { [13:14:04.726] computeRestarts <- base::computeRestarts [13:14:04.726] grepl <- base::grepl [13:14:04.726] restarts <- computeRestarts(cond) [13:14:04.726] for (restart in restarts) { [13:14:04.726] name <- restart$name [13:14:04.726] if (is.null(name)) [13:14:04.726] next [13:14:04.726] if (!grepl(pattern, name)) [13:14:04.726] next [13:14:04.726] invokeRestart(restart) [13:14:04.726] muffled <- TRUE [13:14:04.726] break [13:14:04.726] } [13:14:04.726] } [13:14:04.726] } [13:14:04.726] invisible(muffled) [13:14:04.726] } [13:14:04.726] muffleCondition(cond) [13:14:04.726] }) [13:14:04.726] })) [13:14:04.726] future::FutureResult(value = ...future.value$value, [13:14:04.726] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.726] ...future.rng), globalenv = if (FALSE) [13:14:04.726] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.726] ...future.globalenv.names)) [13:14:04.726] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.726] }, condition = base::local({ [13:14:04.726] c <- base::c [13:14:04.726] inherits <- base::inherits [13:14:04.726] invokeRestart <- base::invokeRestart [13:14:04.726] length <- base::length [13:14:04.726] list <- base::list [13:14:04.726] seq.int <- base::seq.int [13:14:04.726] signalCondition <- base::signalCondition [13:14:04.726] sys.calls <- base::sys.calls [13:14:04.726] `[[` <- base::`[[` [13:14:04.726] `+` <- base::`+` [13:14:04.726] `<<-` <- base::`<<-` [13:14:04.726] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.726] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.726] 3L)] [13:14:04.726] } [13:14:04.726] function(cond) { [13:14:04.726] is_error <- inherits(cond, "error") [13:14:04.726] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.726] NULL) [13:14:04.726] if (is_error) { [13:14:04.726] sessionInformation <- function() { [13:14:04.726] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.726] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.726] search = base::search(), system = base::Sys.info()) [13:14:04.726] } [13:14:04.726] ...future.conditions[[length(...future.conditions) + [13:14:04.726] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.726] cond$call), session = sessionInformation(), [13:14:04.726] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.726] signalCondition(cond) [13:14:04.726] } [13:14:04.726] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.726] "immediateCondition"))) { [13:14:04.726] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.726] ...future.conditions[[length(...future.conditions) + [13:14:04.726] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.726] if (TRUE && !signal) { [13:14:04.726] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.726] { [13:14:04.726] inherits <- base::inherits [13:14:04.726] invokeRestart <- base::invokeRestart [13:14:04.726] is.null <- base::is.null [13:14:04.726] muffled <- FALSE [13:14:04.726] if (inherits(cond, "message")) { [13:14:04.726] muffled <- grepl(pattern, "muffleMessage") [13:14:04.726] if (muffled) [13:14:04.726] invokeRestart("muffleMessage") [13:14:04.726] } [13:14:04.726] else if (inherits(cond, "warning")) { [13:14:04.726] muffled <- grepl(pattern, "muffleWarning") [13:14:04.726] if (muffled) [13:14:04.726] invokeRestart("muffleWarning") [13:14:04.726] } [13:14:04.726] else if (inherits(cond, "condition")) { [13:14:04.726] if (!is.null(pattern)) { [13:14:04.726] computeRestarts <- base::computeRestarts [13:14:04.726] grepl <- base::grepl [13:14:04.726] restarts <- computeRestarts(cond) [13:14:04.726] for (restart in restarts) { [13:14:04.726] name <- restart$name [13:14:04.726] if (is.null(name)) [13:14:04.726] next [13:14:04.726] if (!grepl(pattern, name)) [13:14:04.726] next [13:14:04.726] invokeRestart(restart) [13:14:04.726] muffled <- TRUE [13:14:04.726] break [13:14:04.726] } [13:14:04.726] } [13:14:04.726] } [13:14:04.726] invisible(muffled) [13:14:04.726] } [13:14:04.726] muffleCondition(cond, pattern = "^muffle") [13:14:04.726] } [13:14:04.726] } [13:14:04.726] else { [13:14:04.726] if (TRUE) { [13:14:04.726] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.726] { [13:14:04.726] inherits <- base::inherits [13:14:04.726] invokeRestart <- base::invokeRestart [13:14:04.726] is.null <- base::is.null [13:14:04.726] muffled <- FALSE [13:14:04.726] if (inherits(cond, "message")) { [13:14:04.726] muffled <- grepl(pattern, "muffleMessage") [13:14:04.726] if (muffled) [13:14:04.726] invokeRestart("muffleMessage") [13:14:04.726] } [13:14:04.726] else if (inherits(cond, "warning")) { [13:14:04.726] muffled <- grepl(pattern, "muffleWarning") [13:14:04.726] if (muffled) [13:14:04.726] invokeRestart("muffleWarning") [13:14:04.726] } [13:14:04.726] else if (inherits(cond, "condition")) { [13:14:04.726] if (!is.null(pattern)) { [13:14:04.726] computeRestarts <- base::computeRestarts [13:14:04.726] grepl <- base::grepl [13:14:04.726] restarts <- computeRestarts(cond) [13:14:04.726] for (restart in restarts) { [13:14:04.726] name <- restart$name [13:14:04.726] if (is.null(name)) [13:14:04.726] next [13:14:04.726] if (!grepl(pattern, name)) [13:14:04.726] next [13:14:04.726] invokeRestart(restart) [13:14:04.726] muffled <- TRUE [13:14:04.726] break [13:14:04.726] } [13:14:04.726] } [13:14:04.726] } [13:14:04.726] invisible(muffled) [13:14:04.726] } [13:14:04.726] muffleCondition(cond, pattern = "^muffle") [13:14:04.726] } [13:14:04.726] } [13:14:04.726] } [13:14:04.726] })) [13:14:04.726] }, error = function(ex) { [13:14:04.726] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.726] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.726] ...future.rng), started = ...future.startTime, [13:14:04.726] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.726] version = "1.8"), class = "FutureResult") [13:14:04.726] }, finally = { [13:14:04.726] if (!identical(...future.workdir, getwd())) [13:14:04.726] setwd(...future.workdir) [13:14:04.726] { [13:14:04.726] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.726] ...future.oldOptions$nwarnings <- NULL [13:14:04.726] } [13:14:04.726] base::options(...future.oldOptions) [13:14:04.726] if (.Platform$OS.type == "windows") { [13:14:04.726] old_names <- names(...future.oldEnvVars) [13:14:04.726] envs <- base::Sys.getenv() [13:14:04.726] names <- names(envs) [13:14:04.726] common <- intersect(names, old_names) [13:14:04.726] added <- setdiff(names, old_names) [13:14:04.726] removed <- setdiff(old_names, names) [13:14:04.726] changed <- common[...future.oldEnvVars[common] != [13:14:04.726] envs[common]] [13:14:04.726] NAMES <- toupper(changed) [13:14:04.726] args <- list() [13:14:04.726] for (kk in seq_along(NAMES)) { [13:14:04.726] name <- changed[[kk]] [13:14:04.726] NAME <- NAMES[[kk]] [13:14:04.726] if (name != NAME && is.element(NAME, old_names)) [13:14:04.726] next [13:14:04.726] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.726] } [13:14:04.726] NAMES <- toupper(added) [13:14:04.726] for (kk in seq_along(NAMES)) { [13:14:04.726] name <- added[[kk]] [13:14:04.726] NAME <- NAMES[[kk]] [13:14:04.726] if (name != NAME && is.element(NAME, old_names)) [13:14:04.726] next [13:14:04.726] args[[name]] <- "" [13:14:04.726] } [13:14:04.726] NAMES <- toupper(removed) [13:14:04.726] for (kk in seq_along(NAMES)) { [13:14:04.726] name <- removed[[kk]] [13:14:04.726] NAME <- NAMES[[kk]] [13:14:04.726] if (name != NAME && is.element(NAME, old_names)) [13:14:04.726] next [13:14:04.726] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.726] } [13:14:04.726] if (length(args) > 0) [13:14:04.726] base::do.call(base::Sys.setenv, args = args) [13:14:04.726] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.726] } [13:14:04.726] else { [13:14:04.726] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.726] } [13:14:04.726] { [13:14:04.726] if (base::length(...future.futureOptionsAdded) > [13:14:04.726] 0L) { [13:14:04.726] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.726] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.726] base::options(opts) [13:14:04.726] } [13:14:04.726] { [13:14:04.726] { [13:14:04.726] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.726] NULL [13:14:04.726] } [13:14:04.726] options(future.plan = NULL) [13:14:04.726] if (is.na(NA_character_)) [13:14:04.726] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.726] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.726] future::plan(list(function (..., workers = availableCores(), [13:14:04.726] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.726] envir = parent.frame()) [13:14:04.726] { [13:14:04.726] if (is.function(workers)) [13:14:04.726] workers <- workers() [13:14:04.726] workers <- structure(as.integer(workers), [13:14:04.726] class = class(workers)) [13:14:04.726] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.726] workers >= 1) [13:14:04.726] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.726] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.726] } [13:14:04.726] future <- MultisessionFuture(..., workers = workers, [13:14:04.726] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.726] envir = envir) [13:14:04.726] if (!future$lazy) [13:14:04.726] future <- run(future) [13:14:04.726] invisible(future) [13:14:04.726] }), .cleanup = FALSE, .init = FALSE) [13:14:04.726] } [13:14:04.726] } [13:14:04.726] } [13:14:04.726] }) [13:14:04.726] if (TRUE) { [13:14:04.726] base::sink(type = "output", split = FALSE) [13:14:04.726] if (TRUE) { [13:14:04.726] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.726] } [13:14:04.726] else { [13:14:04.726] ...future.result["stdout"] <- base::list(NULL) [13:14:04.726] } [13:14:04.726] base::close(...future.stdout) [13:14:04.726] ...future.stdout <- NULL [13:14:04.726] } [13:14:04.726] ...future.result$conditions <- ...future.conditions [13:14:04.726] ...future.result$finished <- base::Sys.time() [13:14:04.726] ...future.result [13:14:04.726] } [13:14:04.732] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:04.732] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:04.732] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:04.733] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.733] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.733] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:04.734] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:04.734] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.734] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.735] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.735] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.735] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:04.736] MultisessionFuture started [13:14:04.736] - Launch lazy future ... done [13:14:04.736] run() for 'MultisessionFuture' ... done [13:14:04.736] Created future: [13:14:04.751] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.751] - Validating connection of MultisessionFuture [13:14:04.752] - received message: FutureResult [13:14:04.752] - Received FutureResult [13:14:04.752] - Erased future from FutureRegistry [13:14:04.752] result() for ClusterFuture ... [13:14:04.752] - result already collected: FutureResult [13:14:04.753] result() for ClusterFuture ... done [13:14:04.753] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.737] MultisessionFuture: [13:14:04.737] Label: 'future_sapply-2' [13:14:04.737] Expression: [13:14:04.737] { [13:14:04.737] do.call(function(...) { [13:14:04.737] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.737] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.737] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.737] on.exit(options(oopts), add = TRUE) [13:14:04.737] } [13:14:04.737] { [13:14:04.737] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.737] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.737] ...future.FUN(...future.X_jj, ...) [13:14:04.737] }) [13:14:04.737] } [13:14:04.737] }, args = future.call.arguments) [13:14:04.737] } [13:14:04.737] Lazy evaluation: FALSE [13:14:04.737] Asynchronous evaluation: TRUE [13:14:04.737] Local evaluation: TRUE [13:14:04.737] Environment: R_GlobalEnv [13:14:04.737] Capture standard output: TRUE [13:14:04.737] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.737] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.737] Packages: [13:14:04.737] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.737] Resolved: TRUE [13:14:04.737] Value: [13:14:04.737] Conditions captured: [13:14:04.737] Early signaling: FALSE [13:14:04.737] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.737] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.753] Chunk #2 of 2 ... DONE [13:14:04.753] Launching 2 futures (chunks) ... DONE [13:14:04.753] Resolving 2 futures (chunks) ... [13:14:04.754] resolve() on list ... [13:14:04.754] recursive: 0 [13:14:04.754] length: 2 [13:14:04.754] [13:14:04.754] Future #1 [13:14:04.754] result() for ClusterFuture ... [13:14:04.755] - result already collected: FutureResult [13:14:04.755] result() for ClusterFuture ... done [13:14:04.755] result() for ClusterFuture ... [13:14:04.755] - result already collected: FutureResult [13:14:04.755] result() for ClusterFuture ... done [13:14:04.755] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:04.756] - nx: 2 [13:14:04.756] - relay: TRUE [13:14:04.756] - stdout: TRUE [13:14:04.756] - signal: TRUE [13:14:04.756] - resignal: FALSE [13:14:04.756] - force: TRUE [13:14:04.757] - relayed: [n=2] FALSE, FALSE [13:14:04.757] - queued futures: [n=2] FALSE, FALSE [13:14:04.757] - until=1 [13:14:04.757] - relaying element #1 [13:14:04.757] result() for ClusterFuture ... [13:14:04.757] - result already collected: FutureResult [13:14:04.758] result() for ClusterFuture ... done [13:14:04.758] result() for ClusterFuture ... [13:14:04.758] - result already collected: FutureResult [13:14:04.758] result() for ClusterFuture ... done [13:14:04.758] result() for ClusterFuture ... [13:14:04.758] - result already collected: FutureResult [13:14:04.758] result() for ClusterFuture ... done [13:14:04.759] result() for ClusterFuture ... [13:14:04.759] - result already collected: FutureResult [13:14:04.759] result() for ClusterFuture ... done [13:14:04.759] - relayed: [n=2] TRUE, FALSE [13:14:04.759] - queued futures: [n=2] TRUE, FALSE [13:14:04.759] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:04.760] length: 1 (resolved future 1) [13:14:04.760] Future #2 [13:14:04.760] result() for ClusterFuture ... [13:14:04.760] - result already collected: FutureResult [13:14:04.760] result() for ClusterFuture ... done [13:14:04.761] result() for ClusterFuture ... [13:14:04.761] - result already collected: FutureResult [13:14:04.761] result() for ClusterFuture ... done [13:14:04.761] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:04.761] - nx: 2 [13:14:04.761] - relay: TRUE [13:14:04.761] - stdout: TRUE [13:14:04.762] - signal: TRUE [13:14:04.762] - resignal: FALSE [13:14:04.762] - force: TRUE [13:14:04.762] - relayed: [n=2] TRUE, FALSE [13:14:04.762] - queued futures: [n=2] TRUE, FALSE [13:14:04.762] - until=2 [13:14:04.763] - relaying element #2 [13:14:04.763] result() for ClusterFuture ... [13:14:04.763] - result already collected: FutureResult [13:14:04.763] result() for ClusterFuture ... done [13:14:04.763] result() for ClusterFuture ... [13:14:04.763] - result already collected: FutureResult [13:14:04.764] result() for ClusterFuture ... done [13:14:04.764] result() for ClusterFuture ... [13:14:04.764] - result already collected: FutureResult [13:14:04.764] result() for ClusterFuture ... done [13:14:04.764] result() for ClusterFuture ... [13:14:04.764] - result already collected: FutureResult [13:14:04.765] result() for ClusterFuture ... done [13:14:04.765] - relayed: [n=2] TRUE, TRUE [13:14:04.765] - queued futures: [n=2] TRUE, TRUE [13:14:04.765] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:04.765] length: 0 (resolved future 2) [13:14:04.765] Relaying remaining futures [13:14:04.765] signalConditionsASAP(NULL, pos=0) ... [13:14:04.766] - nx: 2 [13:14:04.766] - relay: TRUE [13:14:04.766] - stdout: TRUE [13:14:04.766] - signal: TRUE [13:14:04.766] - resignal: FALSE [13:14:04.766] - force: TRUE [13:14:04.767] - relayed: [n=2] TRUE, TRUE [13:14:04.767] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:04.767] - relayed: [n=2] TRUE, TRUE [13:14:04.767] - queued futures: [n=2] TRUE, TRUE [13:14:04.767] signalConditionsASAP(NULL, pos=0) ... done [13:14:04.767] resolve() on list ... DONE [13:14:04.768] result() for ClusterFuture ... [13:14:04.768] - result already collected: FutureResult [13:14:04.768] result() for ClusterFuture ... done [13:14:04.768] result() for ClusterFuture ... [13:14:04.768] - result already collected: FutureResult [13:14:04.768] result() for ClusterFuture ... done [13:14:04.769] result() for ClusterFuture ... [13:14:04.769] - result already collected: FutureResult [13:14:04.769] result() for ClusterFuture ... done [13:14:04.769] result() for ClusterFuture ... [13:14:04.769] - result already collected: FutureResult [13:14:04.769] result() for ClusterFuture ... done [13:14:04.769] - Number of value chunks collected: 2 [13:14:04.770] Resolving 2 futures (chunks) ... DONE [13:14:04.770] Reducing values from 2 chunks ... [13:14:04.770] - Number of values collected after concatenation: 3 [13:14:04.770] - Number of values expected: 3 [13:14:04.770] Reducing values from 2 chunks ... DONE [13:14:04.770] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y1:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y2:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... [13:14:04.779] future_lapply() ... [13:14:04.782] Number of chunks: 2 [13:14:04.782] getGlobalsAndPackagesXApply() ... [13:14:04.782] - future.globals: TRUE [13:14:04.783] getGlobalsAndPackages() ... [13:14:04.783] Searching for globals... [13:14:04.784] - globals found: [1] 'FUN' [13:14:04.784] Searching for globals ... DONE [13:14:04.785] Resolving globals: FALSE [13:14:04.785] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:04.786] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:04.786] - globals: [1] 'FUN' [13:14:04.786] [13:14:04.786] getGlobalsAndPackages() ... DONE [13:14:04.786] - globals found/used: [n=1] 'FUN' [13:14:04.787] - needed namespaces: [n=0] [13:14:04.787] Finding globals ... DONE [13:14:04.787] - use_args: TRUE [13:14:04.787] - Getting '...' globals ... [13:14:04.787] resolve() on list ... [13:14:04.788] recursive: 0 [13:14:04.788] length: 1 [13:14:04.788] elements: '...' [13:14:04.788] length: 0 (resolved future 1) [13:14:04.788] resolve() on list ... DONE [13:14:04.788] - '...' content: [n=0] [13:14:04.789] List of 1 [13:14:04.789] $ ...: list() [13:14:04.789] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.789] - attr(*, "where")=List of 1 [13:14:04.789] ..$ ...: [13:14:04.789] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.789] - attr(*, "resolved")= logi TRUE [13:14:04.789] - attr(*, "total_size")= num NA [13:14:04.792] - Getting '...' globals ... DONE [13:14:04.792] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:04.792] List of 2 [13:14:04.792] $ ...future.FUN:function (x) [13:14:04.792] $ ... : list() [13:14:04.792] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.792] - attr(*, "where")=List of 2 [13:14:04.792] ..$ ...future.FUN: [13:14:04.792] ..$ ... : [13:14:04.792] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.792] - attr(*, "resolved")= logi FALSE [13:14:04.792] - attr(*, "total_size")= num 848 [13:14:04.795] Packages to be attached in all futures: [n=0] [13:14:04.795] getGlobalsAndPackagesXApply() ... DONE [13:14:04.796] Number of futures (= number of chunks): 2 [13:14:04.796] Launching 2 futures (chunks) ... [13:14:04.796] Chunk #1 of 2 ... [13:14:04.796] - Finding globals in 'X' for chunk #1 ... [13:14:04.796] getGlobalsAndPackages() ... [13:14:04.796] Searching for globals... [13:14:04.797] [13:14:04.797] Searching for globals ... DONE [13:14:04.797] - globals: [0] [13:14:04.797] getGlobalsAndPackages() ... DONE [13:14:04.797] + additional globals found: [n=0] [13:14:04.798] + additional namespaces needed: [n=0] [13:14:04.798] - Finding globals in 'X' for chunk #1 ... DONE [13:14:04.798] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.798] - seeds: [13:14:04.798] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.798] getGlobalsAndPackages() ... [13:14:04.799] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.799] Resolving globals: FALSE [13:14:04.799] Tweak future expression to call with '...' arguments ... [13:14:04.799] { [13:14:04.799] do.call(function(...) { [13:14:04.799] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.799] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.799] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.799] on.exit(options(oopts), add = TRUE) [13:14:04.799] } [13:14:04.799] { [13:14:04.799] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.799] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.799] ...future.FUN(...future.X_jj, ...) [13:14:04.799] }) [13:14:04.799] } [13:14:04.799] }, args = future.call.arguments) [13:14:04.799] } [13:14:04.800] Tweak future expression to call with '...' arguments ... DONE [13:14:04.800] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.800] [13:14:04.800] getGlobalsAndPackages() ... DONE [13:14:04.801] run() for 'Future' ... [13:14:04.801] - state: 'created' [13:14:04.801] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.816] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.816] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.816] - Field: 'node' [13:14:04.816] - Field: 'label' [13:14:04.817] - Field: 'local' [13:14:04.817] - Field: 'owner' [13:14:04.817] - Field: 'envir' [13:14:04.817] - Field: 'workers' [13:14:04.817] - Field: 'packages' [13:14:04.818] - Field: 'gc' [13:14:04.818] - Field: 'conditions' [13:14:04.818] - Field: 'persistent' [13:14:04.818] - Field: 'expr' [13:14:04.818] - Field: 'uuid' [13:14:04.818] - Field: 'seed' [13:14:04.819] - Field: 'version' [13:14:04.819] - Field: 'result' [13:14:04.819] - Field: 'asynchronous' [13:14:04.819] - Field: 'calls' [13:14:04.819] - Field: 'globals' [13:14:04.819] - Field: 'stdout' [13:14:04.820] - Field: 'earlySignal' [13:14:04.820] - Field: 'lazy' [13:14:04.820] - Field: 'state' [13:14:04.820] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.820] - Launch lazy future ... [13:14:04.821] Packages needed by the future expression (n = 0): [13:14:04.821] Packages needed by future strategies (n = 0): [13:14:04.821] { [13:14:04.821] { [13:14:04.821] { [13:14:04.821] ...future.startTime <- base::Sys.time() [13:14:04.821] { [13:14:04.821] { [13:14:04.821] { [13:14:04.821] { [13:14:04.821] base::local({ [13:14:04.821] has_future <- base::requireNamespace("future", [13:14:04.821] quietly = TRUE) [13:14:04.821] if (has_future) { [13:14:04.821] ns <- base::getNamespace("future") [13:14:04.821] version <- ns[[".package"]][["version"]] [13:14:04.821] if (is.null(version)) [13:14:04.821] version <- utils::packageVersion("future") [13:14:04.821] } [13:14:04.821] else { [13:14:04.821] version <- NULL [13:14:04.821] } [13:14:04.821] if (!has_future || version < "1.8.0") { [13:14:04.821] info <- base::c(r_version = base::gsub("R version ", [13:14:04.821] "", base::R.version$version.string), [13:14:04.821] platform = base::sprintf("%s (%s-bit)", [13:14:04.821] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.821] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.821] "release", "version")], collapse = " "), [13:14:04.821] hostname = base::Sys.info()[["nodename"]]) [13:14:04.821] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.821] info) [13:14:04.821] info <- base::paste(info, collapse = "; ") [13:14:04.821] if (!has_future) { [13:14:04.821] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.821] info) [13:14:04.821] } [13:14:04.821] else { [13:14:04.821] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.821] info, version) [13:14:04.821] } [13:14:04.821] base::stop(msg) [13:14:04.821] } [13:14:04.821] }) [13:14:04.821] } [13:14:04.821] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.821] base::options(mc.cores = 1L) [13:14:04.821] } [13:14:04.821] options(future.plan = NULL) [13:14:04.821] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.821] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.821] } [13:14:04.821] ...future.workdir <- getwd() [13:14:04.821] } [13:14:04.821] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.821] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.821] } [13:14:04.821] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.821] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.821] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.821] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.821] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.821] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.821] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.821] base::names(...future.oldOptions)) [13:14:04.821] } [13:14:04.821] if (FALSE) { [13:14:04.821] } [13:14:04.821] else { [13:14:04.821] if (TRUE) { [13:14:04.821] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.821] open = "w") [13:14:04.821] } [13:14:04.821] else { [13:14:04.821] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.821] windows = "NUL", "/dev/null"), open = "w") [13:14:04.821] } [13:14:04.821] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.821] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.821] base::sink(type = "output", split = FALSE) [13:14:04.821] base::close(...future.stdout) [13:14:04.821] }, add = TRUE) [13:14:04.821] } [13:14:04.821] ...future.frame <- base::sys.nframe() [13:14:04.821] ...future.conditions <- base::list() [13:14:04.821] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.821] if (FALSE) { [13:14:04.821] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.821] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.821] } [13:14:04.821] ...future.result <- base::tryCatch({ [13:14:04.821] base::withCallingHandlers({ [13:14:04.821] ...future.value <- base::withVisible(base::local({ [13:14:04.821] ...future.makeSendCondition <- local({ [13:14:04.821] sendCondition <- NULL [13:14:04.821] function(frame = 1L) { [13:14:04.821] if (is.function(sendCondition)) [13:14:04.821] return(sendCondition) [13:14:04.821] ns <- getNamespace("parallel") [13:14:04.821] if (exists("sendData", mode = "function", [13:14:04.821] envir = ns)) { [13:14:04.821] parallel_sendData <- get("sendData", mode = "function", [13:14:04.821] envir = ns) [13:14:04.821] envir <- sys.frame(frame) [13:14:04.821] master <- NULL [13:14:04.821] while (!identical(envir, .GlobalEnv) && [13:14:04.821] !identical(envir, emptyenv())) { [13:14:04.821] if (exists("master", mode = "list", envir = envir, [13:14:04.821] inherits = FALSE)) { [13:14:04.821] master <- get("master", mode = "list", [13:14:04.821] envir = envir, inherits = FALSE) [13:14:04.821] if (inherits(master, c("SOCKnode", [13:14:04.821] "SOCK0node"))) { [13:14:04.821] sendCondition <<- function(cond) { [13:14:04.821] data <- list(type = "VALUE", value = cond, [13:14:04.821] success = TRUE) [13:14:04.821] parallel_sendData(master, data) [13:14:04.821] } [13:14:04.821] return(sendCondition) [13:14:04.821] } [13:14:04.821] } [13:14:04.821] frame <- frame + 1L [13:14:04.821] envir <- sys.frame(frame) [13:14:04.821] } [13:14:04.821] } [13:14:04.821] sendCondition <<- function(cond) NULL [13:14:04.821] } [13:14:04.821] }) [13:14:04.821] withCallingHandlers({ [13:14:04.821] { [13:14:04.821] do.call(function(...) { [13:14:04.821] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.821] if (!identical(...future.globals.maxSize.org, [13:14:04.821] ...future.globals.maxSize)) { [13:14:04.821] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.821] on.exit(options(oopts), add = TRUE) [13:14:04.821] } [13:14:04.821] { [13:14:04.821] lapply(seq_along(...future.elements_ii), [13:14:04.821] FUN = function(jj) { [13:14:04.821] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.821] ...future.FUN(...future.X_jj, ...) [13:14:04.821] }) [13:14:04.821] } [13:14:04.821] }, args = future.call.arguments) [13:14:04.821] } [13:14:04.821] }, immediateCondition = function(cond) { [13:14:04.821] sendCondition <- ...future.makeSendCondition() [13:14:04.821] sendCondition(cond) [13:14:04.821] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.821] { [13:14:04.821] inherits <- base::inherits [13:14:04.821] invokeRestart <- base::invokeRestart [13:14:04.821] is.null <- base::is.null [13:14:04.821] muffled <- FALSE [13:14:04.821] if (inherits(cond, "message")) { [13:14:04.821] muffled <- grepl(pattern, "muffleMessage") [13:14:04.821] if (muffled) [13:14:04.821] invokeRestart("muffleMessage") [13:14:04.821] } [13:14:04.821] else if (inherits(cond, "warning")) { [13:14:04.821] muffled <- grepl(pattern, "muffleWarning") [13:14:04.821] if (muffled) [13:14:04.821] invokeRestart("muffleWarning") [13:14:04.821] } [13:14:04.821] else if (inherits(cond, "condition")) { [13:14:04.821] if (!is.null(pattern)) { [13:14:04.821] computeRestarts <- base::computeRestarts [13:14:04.821] grepl <- base::grepl [13:14:04.821] restarts <- computeRestarts(cond) [13:14:04.821] for (restart in restarts) { [13:14:04.821] name <- restart$name [13:14:04.821] if (is.null(name)) [13:14:04.821] next [13:14:04.821] if (!grepl(pattern, name)) [13:14:04.821] next [13:14:04.821] invokeRestart(restart) [13:14:04.821] muffled <- TRUE [13:14:04.821] break [13:14:04.821] } [13:14:04.821] } [13:14:04.821] } [13:14:04.821] invisible(muffled) [13:14:04.821] } [13:14:04.821] muffleCondition(cond) [13:14:04.821] }) [13:14:04.821] })) [13:14:04.821] future::FutureResult(value = ...future.value$value, [13:14:04.821] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.821] ...future.rng), globalenv = if (FALSE) [13:14:04.821] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.821] ...future.globalenv.names)) [13:14:04.821] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.821] }, condition = base::local({ [13:14:04.821] c <- base::c [13:14:04.821] inherits <- base::inherits [13:14:04.821] invokeRestart <- base::invokeRestart [13:14:04.821] length <- base::length [13:14:04.821] list <- base::list [13:14:04.821] seq.int <- base::seq.int [13:14:04.821] signalCondition <- base::signalCondition [13:14:04.821] sys.calls <- base::sys.calls [13:14:04.821] `[[` <- base::`[[` [13:14:04.821] `+` <- base::`+` [13:14:04.821] `<<-` <- base::`<<-` [13:14:04.821] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.821] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.821] 3L)] [13:14:04.821] } [13:14:04.821] function(cond) { [13:14:04.821] is_error <- inherits(cond, "error") [13:14:04.821] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.821] NULL) [13:14:04.821] if (is_error) { [13:14:04.821] sessionInformation <- function() { [13:14:04.821] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.821] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.821] search = base::search(), system = base::Sys.info()) [13:14:04.821] } [13:14:04.821] ...future.conditions[[length(...future.conditions) + [13:14:04.821] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.821] cond$call), session = sessionInformation(), [13:14:04.821] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.821] signalCondition(cond) [13:14:04.821] } [13:14:04.821] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.821] "immediateCondition"))) { [13:14:04.821] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.821] ...future.conditions[[length(...future.conditions) + [13:14:04.821] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.821] if (TRUE && !signal) { [13:14:04.821] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.821] { [13:14:04.821] inherits <- base::inherits [13:14:04.821] invokeRestart <- base::invokeRestart [13:14:04.821] is.null <- base::is.null [13:14:04.821] muffled <- FALSE [13:14:04.821] if (inherits(cond, "message")) { [13:14:04.821] muffled <- grepl(pattern, "muffleMessage") [13:14:04.821] if (muffled) [13:14:04.821] invokeRestart("muffleMessage") [13:14:04.821] } [13:14:04.821] else if (inherits(cond, "warning")) { [13:14:04.821] muffled <- grepl(pattern, "muffleWarning") [13:14:04.821] if (muffled) [13:14:04.821] invokeRestart("muffleWarning") [13:14:04.821] } [13:14:04.821] else if (inherits(cond, "condition")) { [13:14:04.821] if (!is.null(pattern)) { [13:14:04.821] computeRestarts <- base::computeRestarts [13:14:04.821] grepl <- base::grepl [13:14:04.821] restarts <- computeRestarts(cond) [13:14:04.821] for (restart in restarts) { [13:14:04.821] name <- restart$name [13:14:04.821] if (is.null(name)) [13:14:04.821] next [13:14:04.821] if (!grepl(pattern, name)) [13:14:04.821] next [13:14:04.821] invokeRestart(restart) [13:14:04.821] muffled <- TRUE [13:14:04.821] break [13:14:04.821] } [13:14:04.821] } [13:14:04.821] } [13:14:04.821] invisible(muffled) [13:14:04.821] } [13:14:04.821] muffleCondition(cond, pattern = "^muffle") [13:14:04.821] } [13:14:04.821] } [13:14:04.821] else { [13:14:04.821] if (TRUE) { [13:14:04.821] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.821] { [13:14:04.821] inherits <- base::inherits [13:14:04.821] invokeRestart <- base::invokeRestart [13:14:04.821] is.null <- base::is.null [13:14:04.821] muffled <- FALSE [13:14:04.821] if (inherits(cond, "message")) { [13:14:04.821] muffled <- grepl(pattern, "muffleMessage") [13:14:04.821] if (muffled) [13:14:04.821] invokeRestart("muffleMessage") [13:14:04.821] } [13:14:04.821] else if (inherits(cond, "warning")) { [13:14:04.821] muffled <- grepl(pattern, "muffleWarning") [13:14:04.821] if (muffled) [13:14:04.821] invokeRestart("muffleWarning") [13:14:04.821] } [13:14:04.821] else if (inherits(cond, "condition")) { [13:14:04.821] if (!is.null(pattern)) { [13:14:04.821] computeRestarts <- base::computeRestarts [13:14:04.821] grepl <- base::grepl [13:14:04.821] restarts <- computeRestarts(cond) [13:14:04.821] for (restart in restarts) { [13:14:04.821] name <- restart$name [13:14:04.821] if (is.null(name)) [13:14:04.821] next [13:14:04.821] if (!grepl(pattern, name)) [13:14:04.821] next [13:14:04.821] invokeRestart(restart) [13:14:04.821] muffled <- TRUE [13:14:04.821] break [13:14:04.821] } [13:14:04.821] } [13:14:04.821] } [13:14:04.821] invisible(muffled) [13:14:04.821] } [13:14:04.821] muffleCondition(cond, pattern = "^muffle") [13:14:04.821] } [13:14:04.821] } [13:14:04.821] } [13:14:04.821] })) [13:14:04.821] }, error = function(ex) { [13:14:04.821] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.821] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.821] ...future.rng), started = ...future.startTime, [13:14:04.821] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.821] version = "1.8"), class = "FutureResult") [13:14:04.821] }, finally = { [13:14:04.821] if (!identical(...future.workdir, getwd())) [13:14:04.821] setwd(...future.workdir) [13:14:04.821] { [13:14:04.821] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.821] ...future.oldOptions$nwarnings <- NULL [13:14:04.821] } [13:14:04.821] base::options(...future.oldOptions) [13:14:04.821] if (.Platform$OS.type == "windows") { [13:14:04.821] old_names <- names(...future.oldEnvVars) [13:14:04.821] envs <- base::Sys.getenv() [13:14:04.821] names <- names(envs) [13:14:04.821] common <- intersect(names, old_names) [13:14:04.821] added <- setdiff(names, old_names) [13:14:04.821] removed <- setdiff(old_names, names) [13:14:04.821] changed <- common[...future.oldEnvVars[common] != [13:14:04.821] envs[common]] [13:14:04.821] NAMES <- toupper(changed) [13:14:04.821] args <- list() [13:14:04.821] for (kk in seq_along(NAMES)) { [13:14:04.821] name <- changed[[kk]] [13:14:04.821] NAME <- NAMES[[kk]] [13:14:04.821] if (name != NAME && is.element(NAME, old_names)) [13:14:04.821] next [13:14:04.821] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.821] } [13:14:04.821] NAMES <- toupper(added) [13:14:04.821] for (kk in seq_along(NAMES)) { [13:14:04.821] name <- added[[kk]] [13:14:04.821] NAME <- NAMES[[kk]] [13:14:04.821] if (name != NAME && is.element(NAME, old_names)) [13:14:04.821] next [13:14:04.821] args[[name]] <- "" [13:14:04.821] } [13:14:04.821] NAMES <- toupper(removed) [13:14:04.821] for (kk in seq_along(NAMES)) { [13:14:04.821] name <- removed[[kk]] [13:14:04.821] NAME <- NAMES[[kk]] [13:14:04.821] if (name != NAME && is.element(NAME, old_names)) [13:14:04.821] next [13:14:04.821] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.821] } [13:14:04.821] if (length(args) > 0) [13:14:04.821] base::do.call(base::Sys.setenv, args = args) [13:14:04.821] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.821] } [13:14:04.821] else { [13:14:04.821] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.821] } [13:14:04.821] { [13:14:04.821] if (base::length(...future.futureOptionsAdded) > [13:14:04.821] 0L) { [13:14:04.821] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.821] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.821] base::options(opts) [13:14:04.821] } [13:14:04.821] { [13:14:04.821] { [13:14:04.821] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.821] NULL [13:14:04.821] } [13:14:04.821] options(future.plan = NULL) [13:14:04.821] if (is.na(NA_character_)) [13:14:04.821] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.821] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.821] future::plan(list(function (..., workers = availableCores(), [13:14:04.821] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.821] envir = parent.frame()) [13:14:04.821] { [13:14:04.821] if (is.function(workers)) [13:14:04.821] workers <- workers() [13:14:04.821] workers <- structure(as.integer(workers), [13:14:04.821] class = class(workers)) [13:14:04.821] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.821] workers >= 1) [13:14:04.821] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.821] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.821] } [13:14:04.821] future <- MultisessionFuture(..., workers = workers, [13:14:04.821] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.821] envir = envir) [13:14:04.821] if (!future$lazy) [13:14:04.821] future <- run(future) [13:14:04.821] invisible(future) [13:14:04.821] }), .cleanup = FALSE, .init = FALSE) [13:14:04.821] } [13:14:04.821] } [13:14:04.821] } [13:14:04.821] }) [13:14:04.821] if (TRUE) { [13:14:04.821] base::sink(type = "output", split = FALSE) [13:14:04.821] if (TRUE) { [13:14:04.821] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.821] } [13:14:04.821] else { [13:14:04.821] ...future.result["stdout"] <- base::list(NULL) [13:14:04.821] } [13:14:04.821] base::close(...future.stdout) [13:14:04.821] ...future.stdout <- NULL [13:14:04.821] } [13:14:04.821] ...future.result$conditions <- ...future.conditions [13:14:04.821] ...future.result$finished <- base::Sys.time() [13:14:04.821] ...future.result [13:14:04.821] } [13:14:04.827] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:04.827] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:04.827] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:04.828] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.828] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.828] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:04.829] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:04.829] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.829] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.829] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.830] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.830] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:04.831] MultisessionFuture started [13:14:04.831] - Launch lazy future ... done [13:14:04.831] run() for 'MultisessionFuture' ... done [13:14:04.831] Created future: [13:14:04.847] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.847] - Validating connection of MultisessionFuture [13:14:04.847] - received message: FutureResult [13:14:04.848] - Received FutureResult [13:14:04.848] - Erased future from FutureRegistry [13:14:04.848] result() for ClusterFuture ... [13:14:04.848] - result already collected: FutureResult [13:14:04.848] result() for ClusterFuture ... done [13:14:04.848] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.831] MultisessionFuture: [13:14:04.831] Label: 'future_sapply-1' [13:14:04.831] Expression: [13:14:04.831] { [13:14:04.831] do.call(function(...) { [13:14:04.831] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.831] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.831] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.831] on.exit(options(oopts), add = TRUE) [13:14:04.831] } [13:14:04.831] { [13:14:04.831] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.831] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.831] ...future.FUN(...future.X_jj, ...) [13:14:04.831] }) [13:14:04.831] } [13:14:04.831] }, args = future.call.arguments) [13:14:04.831] } [13:14:04.831] Lazy evaluation: FALSE [13:14:04.831] Asynchronous evaluation: TRUE [13:14:04.831] Local evaluation: TRUE [13:14:04.831] Environment: R_GlobalEnv [13:14:04.831] Capture standard output: TRUE [13:14:04.831] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.831] Globals: 5 objects totaling 904 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.831] Packages: [13:14:04.831] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.831] Resolved: TRUE [13:14:04.831] Value: [13:14:04.831] Conditions captured: [13:14:04.831] Early signaling: FALSE [13:14:04.831] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.831] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.849] Chunk #1 of 2 ... DONE [13:14:04.849] Chunk #2 of 2 ... [13:14:04.849] - Finding globals in 'X' for chunk #2 ... [13:14:04.849] getGlobalsAndPackages() ... [13:14:04.849] Searching for globals... [13:14:04.850] [13:14:04.850] Searching for globals ... DONE [13:14:04.850] - globals: [0] [13:14:04.850] getGlobalsAndPackages() ... DONE [13:14:04.850] + additional globals found: [n=0] [13:14:04.851] + additional namespaces needed: [n=0] [13:14:04.851] - Finding globals in 'X' for chunk #2 ... DONE [13:14:04.851] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.851] - seeds: [13:14:04.851] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.851] getGlobalsAndPackages() ... [13:14:04.852] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.852] Resolving globals: FALSE [13:14:04.852] Tweak future expression to call with '...' arguments ... [13:14:04.852] { [13:14:04.852] do.call(function(...) { [13:14:04.852] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.852] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.852] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.852] on.exit(options(oopts), add = TRUE) [13:14:04.852] } [13:14:04.852] { [13:14:04.852] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.852] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.852] ...future.FUN(...future.X_jj, ...) [13:14:04.852] }) [13:14:04.852] } [13:14:04.852] }, args = future.call.arguments) [13:14:04.852] } [13:14:04.852] Tweak future expression to call with '...' arguments ... DONE [13:14:04.853] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.853] [13:14:04.853] getGlobalsAndPackages() ... DONE [13:14:04.854] run() for 'Future' ... [13:14:04.854] - state: 'created' [13:14:04.854] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.868] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.868] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.868] - Field: 'node' [13:14:04.868] - Field: 'label' [13:14:04.869] - Field: 'local' [13:14:04.869] - Field: 'owner' [13:14:04.869] - Field: 'envir' [13:14:04.869] - Field: 'workers' [13:14:04.869] - Field: 'packages' [13:14:04.870] - Field: 'gc' [13:14:04.870] - Field: 'conditions' [13:14:04.870] - Field: 'persistent' [13:14:04.870] - Field: 'expr' [13:14:04.870] - Field: 'uuid' [13:14:04.870] - Field: 'seed' [13:14:04.871] - Field: 'version' [13:14:04.871] - Field: 'result' [13:14:04.871] - Field: 'asynchronous' [13:14:04.871] - Field: 'calls' [13:14:04.871] - Field: 'globals' [13:14:04.871] - Field: 'stdout' [13:14:04.872] - Field: 'earlySignal' [13:14:04.872] - Field: 'lazy' [13:14:04.872] - Field: 'state' [13:14:04.872] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.872] - Launch lazy future ... [13:14:04.873] Packages needed by the future expression (n = 0): [13:14:04.873] Packages needed by future strategies (n = 0): [13:14:04.873] { [13:14:04.873] { [13:14:04.873] { [13:14:04.873] ...future.startTime <- base::Sys.time() [13:14:04.873] { [13:14:04.873] { [13:14:04.873] { [13:14:04.873] { [13:14:04.873] base::local({ [13:14:04.873] has_future <- base::requireNamespace("future", [13:14:04.873] quietly = TRUE) [13:14:04.873] if (has_future) { [13:14:04.873] ns <- base::getNamespace("future") [13:14:04.873] version <- ns[[".package"]][["version"]] [13:14:04.873] if (is.null(version)) [13:14:04.873] version <- utils::packageVersion("future") [13:14:04.873] } [13:14:04.873] else { [13:14:04.873] version <- NULL [13:14:04.873] } [13:14:04.873] if (!has_future || version < "1.8.0") { [13:14:04.873] info <- base::c(r_version = base::gsub("R version ", [13:14:04.873] "", base::R.version$version.string), [13:14:04.873] platform = base::sprintf("%s (%s-bit)", [13:14:04.873] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.873] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.873] "release", "version")], collapse = " "), [13:14:04.873] hostname = base::Sys.info()[["nodename"]]) [13:14:04.873] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.873] info) [13:14:04.873] info <- base::paste(info, collapse = "; ") [13:14:04.873] if (!has_future) { [13:14:04.873] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.873] info) [13:14:04.873] } [13:14:04.873] else { [13:14:04.873] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.873] info, version) [13:14:04.873] } [13:14:04.873] base::stop(msg) [13:14:04.873] } [13:14:04.873] }) [13:14:04.873] } [13:14:04.873] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.873] base::options(mc.cores = 1L) [13:14:04.873] } [13:14:04.873] options(future.plan = NULL) [13:14:04.873] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.873] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.873] } [13:14:04.873] ...future.workdir <- getwd() [13:14:04.873] } [13:14:04.873] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.873] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.873] } [13:14:04.873] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.873] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.873] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.873] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.873] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.873] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.873] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.873] base::names(...future.oldOptions)) [13:14:04.873] } [13:14:04.873] if (FALSE) { [13:14:04.873] } [13:14:04.873] else { [13:14:04.873] if (TRUE) { [13:14:04.873] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.873] open = "w") [13:14:04.873] } [13:14:04.873] else { [13:14:04.873] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.873] windows = "NUL", "/dev/null"), open = "w") [13:14:04.873] } [13:14:04.873] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.873] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.873] base::sink(type = "output", split = FALSE) [13:14:04.873] base::close(...future.stdout) [13:14:04.873] }, add = TRUE) [13:14:04.873] } [13:14:04.873] ...future.frame <- base::sys.nframe() [13:14:04.873] ...future.conditions <- base::list() [13:14:04.873] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.873] if (FALSE) { [13:14:04.873] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.873] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.873] } [13:14:04.873] ...future.result <- base::tryCatch({ [13:14:04.873] base::withCallingHandlers({ [13:14:04.873] ...future.value <- base::withVisible(base::local({ [13:14:04.873] ...future.makeSendCondition <- local({ [13:14:04.873] sendCondition <- NULL [13:14:04.873] function(frame = 1L) { [13:14:04.873] if (is.function(sendCondition)) [13:14:04.873] return(sendCondition) [13:14:04.873] ns <- getNamespace("parallel") [13:14:04.873] if (exists("sendData", mode = "function", [13:14:04.873] envir = ns)) { [13:14:04.873] parallel_sendData <- get("sendData", mode = "function", [13:14:04.873] envir = ns) [13:14:04.873] envir <- sys.frame(frame) [13:14:04.873] master <- NULL [13:14:04.873] while (!identical(envir, .GlobalEnv) && [13:14:04.873] !identical(envir, emptyenv())) { [13:14:04.873] if (exists("master", mode = "list", envir = envir, [13:14:04.873] inherits = FALSE)) { [13:14:04.873] master <- get("master", mode = "list", [13:14:04.873] envir = envir, inherits = FALSE) [13:14:04.873] if (inherits(master, c("SOCKnode", [13:14:04.873] "SOCK0node"))) { [13:14:04.873] sendCondition <<- function(cond) { [13:14:04.873] data <- list(type = "VALUE", value = cond, [13:14:04.873] success = TRUE) [13:14:04.873] parallel_sendData(master, data) [13:14:04.873] } [13:14:04.873] return(sendCondition) [13:14:04.873] } [13:14:04.873] } [13:14:04.873] frame <- frame + 1L [13:14:04.873] envir <- sys.frame(frame) [13:14:04.873] } [13:14:04.873] } [13:14:04.873] sendCondition <<- function(cond) NULL [13:14:04.873] } [13:14:04.873] }) [13:14:04.873] withCallingHandlers({ [13:14:04.873] { [13:14:04.873] do.call(function(...) { [13:14:04.873] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.873] if (!identical(...future.globals.maxSize.org, [13:14:04.873] ...future.globals.maxSize)) { [13:14:04.873] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.873] on.exit(options(oopts), add = TRUE) [13:14:04.873] } [13:14:04.873] { [13:14:04.873] lapply(seq_along(...future.elements_ii), [13:14:04.873] FUN = function(jj) { [13:14:04.873] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.873] ...future.FUN(...future.X_jj, ...) [13:14:04.873] }) [13:14:04.873] } [13:14:04.873] }, args = future.call.arguments) [13:14:04.873] } [13:14:04.873] }, immediateCondition = function(cond) { [13:14:04.873] sendCondition <- ...future.makeSendCondition() [13:14:04.873] sendCondition(cond) [13:14:04.873] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.873] { [13:14:04.873] inherits <- base::inherits [13:14:04.873] invokeRestart <- base::invokeRestart [13:14:04.873] is.null <- base::is.null [13:14:04.873] muffled <- FALSE [13:14:04.873] if (inherits(cond, "message")) { [13:14:04.873] muffled <- grepl(pattern, "muffleMessage") [13:14:04.873] if (muffled) [13:14:04.873] invokeRestart("muffleMessage") [13:14:04.873] } [13:14:04.873] else if (inherits(cond, "warning")) { [13:14:04.873] muffled <- grepl(pattern, "muffleWarning") [13:14:04.873] if (muffled) [13:14:04.873] invokeRestart("muffleWarning") [13:14:04.873] } [13:14:04.873] else if (inherits(cond, "condition")) { [13:14:04.873] if (!is.null(pattern)) { [13:14:04.873] computeRestarts <- base::computeRestarts [13:14:04.873] grepl <- base::grepl [13:14:04.873] restarts <- computeRestarts(cond) [13:14:04.873] for (restart in restarts) { [13:14:04.873] name <- restart$name [13:14:04.873] if (is.null(name)) [13:14:04.873] next [13:14:04.873] if (!grepl(pattern, name)) [13:14:04.873] next [13:14:04.873] invokeRestart(restart) [13:14:04.873] muffled <- TRUE [13:14:04.873] break [13:14:04.873] } [13:14:04.873] } [13:14:04.873] } [13:14:04.873] invisible(muffled) [13:14:04.873] } [13:14:04.873] muffleCondition(cond) [13:14:04.873] }) [13:14:04.873] })) [13:14:04.873] future::FutureResult(value = ...future.value$value, [13:14:04.873] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.873] ...future.rng), globalenv = if (FALSE) [13:14:04.873] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.873] ...future.globalenv.names)) [13:14:04.873] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.873] }, condition = base::local({ [13:14:04.873] c <- base::c [13:14:04.873] inherits <- base::inherits [13:14:04.873] invokeRestart <- base::invokeRestart [13:14:04.873] length <- base::length [13:14:04.873] list <- base::list [13:14:04.873] seq.int <- base::seq.int [13:14:04.873] signalCondition <- base::signalCondition [13:14:04.873] sys.calls <- base::sys.calls [13:14:04.873] `[[` <- base::`[[` [13:14:04.873] `+` <- base::`+` [13:14:04.873] `<<-` <- base::`<<-` [13:14:04.873] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.873] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.873] 3L)] [13:14:04.873] } [13:14:04.873] function(cond) { [13:14:04.873] is_error <- inherits(cond, "error") [13:14:04.873] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.873] NULL) [13:14:04.873] if (is_error) { [13:14:04.873] sessionInformation <- function() { [13:14:04.873] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.873] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.873] search = base::search(), system = base::Sys.info()) [13:14:04.873] } [13:14:04.873] ...future.conditions[[length(...future.conditions) + [13:14:04.873] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.873] cond$call), session = sessionInformation(), [13:14:04.873] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.873] signalCondition(cond) [13:14:04.873] } [13:14:04.873] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.873] "immediateCondition"))) { [13:14:04.873] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.873] ...future.conditions[[length(...future.conditions) + [13:14:04.873] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.873] if (TRUE && !signal) { [13:14:04.873] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.873] { [13:14:04.873] inherits <- base::inherits [13:14:04.873] invokeRestart <- base::invokeRestart [13:14:04.873] is.null <- base::is.null [13:14:04.873] muffled <- FALSE [13:14:04.873] if (inherits(cond, "message")) { [13:14:04.873] muffled <- grepl(pattern, "muffleMessage") [13:14:04.873] if (muffled) [13:14:04.873] invokeRestart("muffleMessage") [13:14:04.873] } [13:14:04.873] else if (inherits(cond, "warning")) { [13:14:04.873] muffled <- grepl(pattern, "muffleWarning") [13:14:04.873] if (muffled) [13:14:04.873] invokeRestart("muffleWarning") [13:14:04.873] } [13:14:04.873] else if (inherits(cond, "condition")) { [13:14:04.873] if (!is.null(pattern)) { [13:14:04.873] computeRestarts <- base::computeRestarts [13:14:04.873] grepl <- base::grepl [13:14:04.873] restarts <- computeRestarts(cond) [13:14:04.873] for (restart in restarts) { [13:14:04.873] name <- restart$name [13:14:04.873] if (is.null(name)) [13:14:04.873] next [13:14:04.873] if (!grepl(pattern, name)) [13:14:04.873] next [13:14:04.873] invokeRestart(restart) [13:14:04.873] muffled <- TRUE [13:14:04.873] break [13:14:04.873] } [13:14:04.873] } [13:14:04.873] } [13:14:04.873] invisible(muffled) [13:14:04.873] } [13:14:04.873] muffleCondition(cond, pattern = "^muffle") [13:14:04.873] } [13:14:04.873] } [13:14:04.873] else { [13:14:04.873] if (TRUE) { [13:14:04.873] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.873] { [13:14:04.873] inherits <- base::inherits [13:14:04.873] invokeRestart <- base::invokeRestart [13:14:04.873] is.null <- base::is.null [13:14:04.873] muffled <- FALSE [13:14:04.873] if (inherits(cond, "message")) { [13:14:04.873] muffled <- grepl(pattern, "muffleMessage") [13:14:04.873] if (muffled) [13:14:04.873] invokeRestart("muffleMessage") [13:14:04.873] } [13:14:04.873] else if (inherits(cond, "warning")) { [13:14:04.873] muffled <- grepl(pattern, "muffleWarning") [13:14:04.873] if (muffled) [13:14:04.873] invokeRestart("muffleWarning") [13:14:04.873] } [13:14:04.873] else if (inherits(cond, "condition")) { [13:14:04.873] if (!is.null(pattern)) { [13:14:04.873] computeRestarts <- base::computeRestarts [13:14:04.873] grepl <- base::grepl [13:14:04.873] restarts <- computeRestarts(cond) [13:14:04.873] for (restart in restarts) { [13:14:04.873] name <- restart$name [13:14:04.873] if (is.null(name)) [13:14:04.873] next [13:14:04.873] if (!grepl(pattern, name)) [13:14:04.873] next [13:14:04.873] invokeRestart(restart) [13:14:04.873] muffled <- TRUE [13:14:04.873] break [13:14:04.873] } [13:14:04.873] } [13:14:04.873] } [13:14:04.873] invisible(muffled) [13:14:04.873] } [13:14:04.873] muffleCondition(cond, pattern = "^muffle") [13:14:04.873] } [13:14:04.873] } [13:14:04.873] } [13:14:04.873] })) [13:14:04.873] }, error = function(ex) { [13:14:04.873] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.873] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.873] ...future.rng), started = ...future.startTime, [13:14:04.873] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.873] version = "1.8"), class = "FutureResult") [13:14:04.873] }, finally = { [13:14:04.873] if (!identical(...future.workdir, getwd())) [13:14:04.873] setwd(...future.workdir) [13:14:04.873] { [13:14:04.873] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.873] ...future.oldOptions$nwarnings <- NULL [13:14:04.873] } [13:14:04.873] base::options(...future.oldOptions) [13:14:04.873] if (.Platform$OS.type == "windows") { [13:14:04.873] old_names <- names(...future.oldEnvVars) [13:14:04.873] envs <- base::Sys.getenv() [13:14:04.873] names <- names(envs) [13:14:04.873] common <- intersect(names, old_names) [13:14:04.873] added <- setdiff(names, old_names) [13:14:04.873] removed <- setdiff(old_names, names) [13:14:04.873] changed <- common[...future.oldEnvVars[common] != [13:14:04.873] envs[common]] [13:14:04.873] NAMES <- toupper(changed) [13:14:04.873] args <- list() [13:14:04.873] for (kk in seq_along(NAMES)) { [13:14:04.873] name <- changed[[kk]] [13:14:04.873] NAME <- NAMES[[kk]] [13:14:04.873] if (name != NAME && is.element(NAME, old_names)) [13:14:04.873] next [13:14:04.873] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.873] } [13:14:04.873] NAMES <- toupper(added) [13:14:04.873] for (kk in seq_along(NAMES)) { [13:14:04.873] name <- added[[kk]] [13:14:04.873] NAME <- NAMES[[kk]] [13:14:04.873] if (name != NAME && is.element(NAME, old_names)) [13:14:04.873] next [13:14:04.873] args[[name]] <- "" [13:14:04.873] } [13:14:04.873] NAMES <- toupper(removed) [13:14:04.873] for (kk in seq_along(NAMES)) { [13:14:04.873] name <- removed[[kk]] [13:14:04.873] NAME <- NAMES[[kk]] [13:14:04.873] if (name != NAME && is.element(NAME, old_names)) [13:14:04.873] next [13:14:04.873] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.873] } [13:14:04.873] if (length(args) > 0) [13:14:04.873] base::do.call(base::Sys.setenv, args = args) [13:14:04.873] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.873] } [13:14:04.873] else { [13:14:04.873] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.873] } [13:14:04.873] { [13:14:04.873] if (base::length(...future.futureOptionsAdded) > [13:14:04.873] 0L) { [13:14:04.873] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.873] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.873] base::options(opts) [13:14:04.873] } [13:14:04.873] { [13:14:04.873] { [13:14:04.873] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.873] NULL [13:14:04.873] } [13:14:04.873] options(future.plan = NULL) [13:14:04.873] if (is.na(NA_character_)) [13:14:04.873] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.873] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.873] future::plan(list(function (..., workers = availableCores(), [13:14:04.873] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.873] envir = parent.frame()) [13:14:04.873] { [13:14:04.873] if (is.function(workers)) [13:14:04.873] workers <- workers() [13:14:04.873] workers <- structure(as.integer(workers), [13:14:04.873] class = class(workers)) [13:14:04.873] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.873] workers >= 1) [13:14:04.873] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.873] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.873] } [13:14:04.873] future <- MultisessionFuture(..., workers = workers, [13:14:04.873] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.873] envir = envir) [13:14:04.873] if (!future$lazy) [13:14:04.873] future <- run(future) [13:14:04.873] invisible(future) [13:14:04.873] }), .cleanup = FALSE, .init = FALSE) [13:14:04.873] } [13:14:04.873] } [13:14:04.873] } [13:14:04.873] }) [13:14:04.873] if (TRUE) { [13:14:04.873] base::sink(type = "output", split = FALSE) [13:14:04.873] if (TRUE) { [13:14:04.873] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.873] } [13:14:04.873] else { [13:14:04.873] ...future.result["stdout"] <- base::list(NULL) [13:14:04.873] } [13:14:04.873] base::close(...future.stdout) [13:14:04.873] ...future.stdout <- NULL [13:14:04.873] } [13:14:04.873] ...future.result$conditions <- ...future.conditions [13:14:04.873] ...future.result$finished <- base::Sys.time() [13:14:04.873] ...future.result [13:14:04.873] } [13:14:04.879] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:04.879] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:04.879] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:04.880] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.880] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.880] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:04.881] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:04.881] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.881] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.881] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.882] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.882] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:04.883] MultisessionFuture started [13:14:04.883] - Launch lazy future ... done [13:14:04.883] run() for 'MultisessionFuture' ... done [13:14:04.883] Created future: [13:14:04.899] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.899] - Validating connection of MultisessionFuture [13:14:04.899] - received message: FutureResult [13:14:04.900] - Received FutureResult [13:14:04.900] - Erased future from FutureRegistry [13:14:04.900] result() for ClusterFuture ... [13:14:04.900] - result already collected: FutureResult [13:14:04.900] result() for ClusterFuture ... done [13:14:04.900] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.883] MultisessionFuture: [13:14:04.883] Label: 'future_sapply-2' [13:14:04.883] Expression: [13:14:04.883] { [13:14:04.883] do.call(function(...) { [13:14:04.883] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.883] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.883] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.883] on.exit(options(oopts), add = TRUE) [13:14:04.883] } [13:14:04.883] { [13:14:04.883] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.883] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.883] ...future.FUN(...future.X_jj, ...) [13:14:04.883] }) [13:14:04.883] } [13:14:04.883] }, args = future.call.arguments) [13:14:04.883] } [13:14:04.883] Lazy evaluation: FALSE [13:14:04.883] Asynchronous evaluation: TRUE [13:14:04.883] Local evaluation: TRUE [13:14:04.883] Environment: R_GlobalEnv [13:14:04.883] Capture standard output: TRUE [13:14:04.883] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.883] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.883] Packages: [13:14:04.883] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.883] Resolved: TRUE [13:14:04.883] Value: [13:14:04.883] Conditions captured: [13:14:04.883] Early signaling: FALSE [13:14:04.883] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.883] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.901] Chunk #2 of 2 ... DONE [13:14:04.901] Launching 2 futures (chunks) ... DONE [13:14:04.901] Resolving 2 futures (chunks) ... [13:14:04.901] resolve() on list ... [13:14:04.901] recursive: 0 [13:14:04.902] length: 2 [13:14:04.902] [13:14:04.902] Future #1 [13:14:04.902] result() for ClusterFuture ... [13:14:04.902] - result already collected: FutureResult [13:14:04.902] result() for ClusterFuture ... done [13:14:04.903] result() for ClusterFuture ... [13:14:04.903] - result already collected: FutureResult [13:14:04.903] result() for ClusterFuture ... done [13:14:04.903] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:04.903] - nx: 2 [13:14:04.903] - relay: TRUE [13:14:04.903] - stdout: TRUE [13:14:04.904] - signal: TRUE [13:14:04.904] - resignal: FALSE [13:14:04.904] - force: TRUE [13:14:04.904] - relayed: [n=2] FALSE, FALSE [13:14:04.904] - queued futures: [n=2] FALSE, FALSE [13:14:04.904] - until=1 [13:14:04.905] - relaying element #1 [13:14:04.905] result() for ClusterFuture ... [13:14:04.905] - result already collected: FutureResult [13:14:04.905] result() for ClusterFuture ... done [13:14:04.905] result() for ClusterFuture ... [13:14:04.905] - result already collected: FutureResult [13:14:04.905] result() for ClusterFuture ... done [13:14:04.906] result() for ClusterFuture ... [13:14:04.906] - result already collected: FutureResult [13:14:04.906] result() for ClusterFuture ... done [13:14:04.906] result() for ClusterFuture ... [13:14:04.906] - result already collected: FutureResult [13:14:04.906] result() for ClusterFuture ... done [13:14:04.907] - relayed: [n=2] TRUE, FALSE [13:14:04.907] - queued futures: [n=2] TRUE, FALSE [13:14:04.907] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:04.907] length: 1 (resolved future 1) [13:14:04.907] Future #2 [13:14:04.907] result() for ClusterFuture ... [13:14:04.908] - result already collected: FutureResult [13:14:04.908] result() for ClusterFuture ... done [13:14:04.908] result() for ClusterFuture ... [13:14:04.908] - result already collected: FutureResult [13:14:04.908] result() for ClusterFuture ... done [13:14:04.908] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:04.909] - nx: 2 [13:14:04.909] - relay: TRUE [13:14:04.909] - stdout: TRUE [13:14:04.909] - signal: TRUE [13:14:04.909] - resignal: FALSE [13:14:04.909] - force: TRUE [13:14:04.909] - relayed: [n=2] TRUE, FALSE [13:14:04.910] - queued futures: [n=2] TRUE, FALSE [13:14:04.910] - until=2 [13:14:04.910] - relaying element #2 [13:14:04.910] result() for ClusterFuture ... [13:14:04.910] - result already collected: FutureResult [13:14:04.910] result() for ClusterFuture ... done [13:14:04.911] result() for ClusterFuture ... [13:14:04.911] - result already collected: FutureResult [13:14:04.911] result() for ClusterFuture ... done [13:14:04.911] result() for ClusterFuture ... [13:14:04.911] - result already collected: FutureResult [13:14:04.911] result() for ClusterFuture ... done [13:14:04.912] result() for ClusterFuture ... [13:14:04.912] - result already collected: FutureResult [13:14:04.912] result() for ClusterFuture ... done [13:14:04.912] - relayed: [n=2] TRUE, TRUE [13:14:04.912] - queued futures: [n=2] TRUE, TRUE [13:14:04.912] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:04.912] length: 0 (resolved future 2) [13:14:04.913] Relaying remaining futures [13:14:04.913] signalConditionsASAP(NULL, pos=0) ... [13:14:04.913] - nx: 2 [13:14:04.913] - relay: TRUE [13:14:04.913] - stdout: TRUE [13:14:04.913] - signal: TRUE [13:14:04.913] - resignal: FALSE [13:14:04.914] - force: TRUE [13:14:04.914] - relayed: [n=2] TRUE, TRUE [13:14:04.914] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:04.914] - relayed: [n=2] TRUE, TRUE [13:14:04.914] - queued futures: [n=2] TRUE, TRUE [13:14:04.915] signalConditionsASAP(NULL, pos=0) ... done [13:14:04.915] resolve() on list ... DONE [13:14:04.915] result() for ClusterFuture ... [13:14:04.915] - result already collected: FutureResult [13:14:04.915] result() for ClusterFuture ... done [13:14:04.915] result() for ClusterFuture ... [13:14:04.916] - result already collected: FutureResult [13:14:04.916] result() for ClusterFuture ... done [13:14:04.916] result() for ClusterFuture ... [13:14:04.916] - result already collected: FutureResult [13:14:04.916] result() for ClusterFuture ... done [13:14:04.916] result() for ClusterFuture ... [13:14:04.917] - result already collected: FutureResult [13:14:04.917] result() for ClusterFuture ... done [13:14:04.917] - Number of value chunks collected: 2 [13:14:04.917] Resolving 2 futures (chunks) ... DONE [13:14:04.917] Reducing values from 2 chunks ... [13:14:04.917] - Number of values collected after concatenation: 3 [13:14:04.918] - Number of values expected: 3 [13:14:04.918] Reducing values from 2 chunks ... DONE [13:14:04.918] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:04.920] future_lapply() ... [13:14:04.923] Number of chunks: 2 [13:14:04.923] getGlobalsAndPackagesXApply() ... [13:14:04.923] - future.globals: TRUE [13:14:04.923] getGlobalsAndPackages() ... [13:14:04.923] Searching for globals... [13:14:04.925] - globals found: [2] 'FUN', 'UseMethod' [13:14:04.925] Searching for globals ... DONE [13:14:04.925] Resolving globals: FALSE [13:14:04.925] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:04.926] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:04.926] - globals: [1] 'FUN' [13:14:04.926] [13:14:04.926] getGlobalsAndPackages() ... DONE [13:14:04.926] - globals found/used: [n=1] 'FUN' [13:14:04.927] - needed namespaces: [n=0] [13:14:04.927] Finding globals ... DONE [13:14:04.927] - use_args: TRUE [13:14:04.927] - Getting '...' globals ... [13:14:04.927] resolve() on list ... [13:14:04.928] recursive: 0 [13:14:04.928] length: 1 [13:14:04.928] elements: '...' [13:14:04.928] length: 0 (resolved future 1) [13:14:04.928] resolve() on list ... DONE [13:14:04.928] - '...' content: [n=0] [13:14:04.929] List of 1 [13:14:04.929] $ ...: list() [13:14:04.929] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.929] - attr(*, "where")=List of 1 [13:14:04.929] ..$ ...: [13:14:04.929] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.929] - attr(*, "resolved")= logi TRUE [13:14:04.929] - attr(*, "total_size")= num NA [13:14:04.932] - Getting '...' globals ... DONE [13:14:04.932] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:04.932] List of 2 [13:14:04.932] $ ...future.FUN:function (x, ...) [13:14:04.932] $ ... : list() [13:14:04.932] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:04.932] - attr(*, "where")=List of 2 [13:14:04.932] ..$ ...future.FUN: [13:14:04.932] ..$ ... : [13:14:04.932] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:04.932] - attr(*, "resolved")= logi FALSE [13:14:04.932] - attr(*, "total_size")= num 1248 [13:14:04.937] Packages to be attached in all futures: [n=0] [13:14:04.937] getGlobalsAndPackagesXApply() ... DONE [13:14:04.937] Number of futures (= number of chunks): 2 [13:14:04.938] Launching 2 futures (chunks) ... [13:14:04.938] Chunk #1 of 2 ... [13:14:04.938] - Finding globals in 'X' for chunk #1 ... [13:14:04.938] getGlobalsAndPackages() ... [13:14:04.938] Searching for globals... [13:14:04.939] [13:14:04.939] Searching for globals ... DONE [13:14:04.939] - globals: [0] [13:14:04.939] getGlobalsAndPackages() ... DONE [13:14:04.939] + additional globals found: [n=0] [13:14:04.940] + additional namespaces needed: [n=0] [13:14:04.940] - Finding globals in 'X' for chunk #1 ... DONE [13:14:04.940] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.940] - seeds: [13:14:04.940] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.940] getGlobalsAndPackages() ... [13:14:04.940] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.941] Resolving globals: FALSE [13:14:04.941] Tweak future expression to call with '...' arguments ... [13:14:04.941] { [13:14:04.941] do.call(function(...) { [13:14:04.941] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.941] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.941] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.941] on.exit(options(oopts), add = TRUE) [13:14:04.941] } [13:14:04.941] { [13:14:04.941] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.941] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.941] ...future.FUN(...future.X_jj, ...) [13:14:04.941] }) [13:14:04.941] } [13:14:04.941] }, args = future.call.arguments) [13:14:04.941] } [13:14:04.941] Tweak future expression to call with '...' arguments ... DONE [13:14:04.942] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:04.942] [13:14:04.942] getGlobalsAndPackages() ... DONE [13:14:04.943] run() for 'Future' ... [13:14:04.943] - state: 'created' [13:14:04.943] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:04.960] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.960] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:04.961] - Field: 'node' [13:14:04.961] - Field: 'label' [13:14:04.961] - Field: 'local' [13:14:04.961] - Field: 'owner' [13:14:04.961] - Field: 'envir' [13:14:04.962] - Field: 'workers' [13:14:04.962] - Field: 'packages' [13:14:04.962] - Field: 'gc' [13:14:04.962] - Field: 'conditions' [13:14:04.963] - Field: 'persistent' [13:14:04.963] - Field: 'expr' [13:14:04.963] - Field: 'uuid' [13:14:04.963] - Field: 'seed' [13:14:04.963] - Field: 'version' [13:14:04.964] - Field: 'result' [13:14:04.964] - Field: 'asynchronous' [13:14:04.964] - Field: 'calls' [13:14:04.964] - Field: 'globals' [13:14:04.965] - Field: 'stdout' [13:14:04.965] - Field: 'earlySignal' [13:14:04.965] - Field: 'lazy' [13:14:04.965] - Field: 'state' [13:14:04.966] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:04.966] - Launch lazy future ... [13:14:04.966] Packages needed by the future expression (n = 0): [13:14:04.967] Packages needed by future strategies (n = 0): [13:14:04.968] { [13:14:04.968] { [13:14:04.968] { [13:14:04.968] ...future.startTime <- base::Sys.time() [13:14:04.968] { [13:14:04.968] { [13:14:04.968] { [13:14:04.968] { [13:14:04.968] base::local({ [13:14:04.968] has_future <- base::requireNamespace("future", [13:14:04.968] quietly = TRUE) [13:14:04.968] if (has_future) { [13:14:04.968] ns <- base::getNamespace("future") [13:14:04.968] version <- ns[[".package"]][["version"]] [13:14:04.968] if (is.null(version)) [13:14:04.968] version <- utils::packageVersion("future") [13:14:04.968] } [13:14:04.968] else { [13:14:04.968] version <- NULL [13:14:04.968] } [13:14:04.968] if (!has_future || version < "1.8.0") { [13:14:04.968] info <- base::c(r_version = base::gsub("R version ", [13:14:04.968] "", base::R.version$version.string), [13:14:04.968] platform = base::sprintf("%s (%s-bit)", [13:14:04.968] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:04.968] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:04.968] "release", "version")], collapse = " "), [13:14:04.968] hostname = base::Sys.info()[["nodename"]]) [13:14:04.968] info <- base::sprintf("%s: %s", base::names(info), [13:14:04.968] info) [13:14:04.968] info <- base::paste(info, collapse = "; ") [13:14:04.968] if (!has_future) { [13:14:04.968] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:04.968] info) [13:14:04.968] } [13:14:04.968] else { [13:14:04.968] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:04.968] info, version) [13:14:04.968] } [13:14:04.968] base::stop(msg) [13:14:04.968] } [13:14:04.968] }) [13:14:04.968] } [13:14:04.968] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:04.968] base::options(mc.cores = 1L) [13:14:04.968] } [13:14:04.968] options(future.plan = NULL) [13:14:04.968] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.968] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:04.968] } [13:14:04.968] ...future.workdir <- getwd() [13:14:04.968] } [13:14:04.968] ...future.oldOptions <- base::as.list(base::.Options) [13:14:04.968] ...future.oldEnvVars <- base::Sys.getenv() [13:14:04.968] } [13:14:04.968] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:04.968] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:04.968] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:04.968] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:04.968] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:04.968] future.stdout.windows.reencode = NULL, width = 80L) [13:14:04.968] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:04.968] base::names(...future.oldOptions)) [13:14:04.968] } [13:14:04.968] if (FALSE) { [13:14:04.968] } [13:14:04.968] else { [13:14:04.968] if (TRUE) { [13:14:04.968] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:04.968] open = "w") [13:14:04.968] } [13:14:04.968] else { [13:14:04.968] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:04.968] windows = "NUL", "/dev/null"), open = "w") [13:14:04.968] } [13:14:04.968] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:04.968] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:04.968] base::sink(type = "output", split = FALSE) [13:14:04.968] base::close(...future.stdout) [13:14:04.968] }, add = TRUE) [13:14:04.968] } [13:14:04.968] ...future.frame <- base::sys.nframe() [13:14:04.968] ...future.conditions <- base::list() [13:14:04.968] ...future.rng <- base::globalenv()$.Random.seed [13:14:04.968] if (FALSE) { [13:14:04.968] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:04.968] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:04.968] } [13:14:04.968] ...future.result <- base::tryCatch({ [13:14:04.968] base::withCallingHandlers({ [13:14:04.968] ...future.value <- base::withVisible(base::local({ [13:14:04.968] ...future.makeSendCondition <- local({ [13:14:04.968] sendCondition <- NULL [13:14:04.968] function(frame = 1L) { [13:14:04.968] if (is.function(sendCondition)) [13:14:04.968] return(sendCondition) [13:14:04.968] ns <- getNamespace("parallel") [13:14:04.968] if (exists("sendData", mode = "function", [13:14:04.968] envir = ns)) { [13:14:04.968] parallel_sendData <- get("sendData", mode = "function", [13:14:04.968] envir = ns) [13:14:04.968] envir <- sys.frame(frame) [13:14:04.968] master <- NULL [13:14:04.968] while (!identical(envir, .GlobalEnv) && [13:14:04.968] !identical(envir, emptyenv())) { [13:14:04.968] if (exists("master", mode = "list", envir = envir, [13:14:04.968] inherits = FALSE)) { [13:14:04.968] master <- get("master", mode = "list", [13:14:04.968] envir = envir, inherits = FALSE) [13:14:04.968] if (inherits(master, c("SOCKnode", [13:14:04.968] "SOCK0node"))) { [13:14:04.968] sendCondition <<- function(cond) { [13:14:04.968] data <- list(type = "VALUE", value = cond, [13:14:04.968] success = TRUE) [13:14:04.968] parallel_sendData(master, data) [13:14:04.968] } [13:14:04.968] return(sendCondition) [13:14:04.968] } [13:14:04.968] } [13:14:04.968] frame <- frame + 1L [13:14:04.968] envir <- sys.frame(frame) [13:14:04.968] } [13:14:04.968] } [13:14:04.968] sendCondition <<- function(cond) NULL [13:14:04.968] } [13:14:04.968] }) [13:14:04.968] withCallingHandlers({ [13:14:04.968] { [13:14:04.968] do.call(function(...) { [13:14:04.968] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.968] if (!identical(...future.globals.maxSize.org, [13:14:04.968] ...future.globals.maxSize)) { [13:14:04.968] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.968] on.exit(options(oopts), add = TRUE) [13:14:04.968] } [13:14:04.968] { [13:14:04.968] lapply(seq_along(...future.elements_ii), [13:14:04.968] FUN = function(jj) { [13:14:04.968] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.968] ...future.FUN(...future.X_jj, ...) [13:14:04.968] }) [13:14:04.968] } [13:14:04.968] }, args = future.call.arguments) [13:14:04.968] } [13:14:04.968] }, immediateCondition = function(cond) { [13:14:04.968] sendCondition <- ...future.makeSendCondition() [13:14:04.968] sendCondition(cond) [13:14:04.968] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.968] { [13:14:04.968] inherits <- base::inherits [13:14:04.968] invokeRestart <- base::invokeRestart [13:14:04.968] is.null <- base::is.null [13:14:04.968] muffled <- FALSE [13:14:04.968] if (inherits(cond, "message")) { [13:14:04.968] muffled <- grepl(pattern, "muffleMessage") [13:14:04.968] if (muffled) [13:14:04.968] invokeRestart("muffleMessage") [13:14:04.968] } [13:14:04.968] else if (inherits(cond, "warning")) { [13:14:04.968] muffled <- grepl(pattern, "muffleWarning") [13:14:04.968] if (muffled) [13:14:04.968] invokeRestart("muffleWarning") [13:14:04.968] } [13:14:04.968] else if (inherits(cond, "condition")) { [13:14:04.968] if (!is.null(pattern)) { [13:14:04.968] computeRestarts <- base::computeRestarts [13:14:04.968] grepl <- base::grepl [13:14:04.968] restarts <- computeRestarts(cond) [13:14:04.968] for (restart in restarts) { [13:14:04.968] name <- restart$name [13:14:04.968] if (is.null(name)) [13:14:04.968] next [13:14:04.968] if (!grepl(pattern, name)) [13:14:04.968] next [13:14:04.968] invokeRestart(restart) [13:14:04.968] muffled <- TRUE [13:14:04.968] break [13:14:04.968] } [13:14:04.968] } [13:14:04.968] } [13:14:04.968] invisible(muffled) [13:14:04.968] } [13:14:04.968] muffleCondition(cond) [13:14:04.968] }) [13:14:04.968] })) [13:14:04.968] future::FutureResult(value = ...future.value$value, [13:14:04.968] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.968] ...future.rng), globalenv = if (FALSE) [13:14:04.968] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:04.968] ...future.globalenv.names)) [13:14:04.968] else NULL, started = ...future.startTime, version = "1.8") [13:14:04.968] }, condition = base::local({ [13:14:04.968] c <- base::c [13:14:04.968] inherits <- base::inherits [13:14:04.968] invokeRestart <- base::invokeRestart [13:14:04.968] length <- base::length [13:14:04.968] list <- base::list [13:14:04.968] seq.int <- base::seq.int [13:14:04.968] signalCondition <- base::signalCondition [13:14:04.968] sys.calls <- base::sys.calls [13:14:04.968] `[[` <- base::`[[` [13:14:04.968] `+` <- base::`+` [13:14:04.968] `<<-` <- base::`<<-` [13:14:04.968] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:04.968] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:04.968] 3L)] [13:14:04.968] } [13:14:04.968] function(cond) { [13:14:04.968] is_error <- inherits(cond, "error") [13:14:04.968] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:04.968] NULL) [13:14:04.968] if (is_error) { [13:14:04.968] sessionInformation <- function() { [13:14:04.968] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:04.968] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:04.968] search = base::search(), system = base::Sys.info()) [13:14:04.968] } [13:14:04.968] ...future.conditions[[length(...future.conditions) + [13:14:04.968] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:04.968] cond$call), session = sessionInformation(), [13:14:04.968] timestamp = base::Sys.time(), signaled = 0L) [13:14:04.968] signalCondition(cond) [13:14:04.968] } [13:14:04.968] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:04.968] "immediateCondition"))) { [13:14:04.968] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:04.968] ...future.conditions[[length(...future.conditions) + [13:14:04.968] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:04.968] if (TRUE && !signal) { [13:14:04.968] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.968] { [13:14:04.968] inherits <- base::inherits [13:14:04.968] invokeRestart <- base::invokeRestart [13:14:04.968] is.null <- base::is.null [13:14:04.968] muffled <- FALSE [13:14:04.968] if (inherits(cond, "message")) { [13:14:04.968] muffled <- grepl(pattern, "muffleMessage") [13:14:04.968] if (muffled) [13:14:04.968] invokeRestart("muffleMessage") [13:14:04.968] } [13:14:04.968] else if (inherits(cond, "warning")) { [13:14:04.968] muffled <- grepl(pattern, "muffleWarning") [13:14:04.968] if (muffled) [13:14:04.968] invokeRestart("muffleWarning") [13:14:04.968] } [13:14:04.968] else if (inherits(cond, "condition")) { [13:14:04.968] if (!is.null(pattern)) { [13:14:04.968] computeRestarts <- base::computeRestarts [13:14:04.968] grepl <- base::grepl [13:14:04.968] restarts <- computeRestarts(cond) [13:14:04.968] for (restart in restarts) { [13:14:04.968] name <- restart$name [13:14:04.968] if (is.null(name)) [13:14:04.968] next [13:14:04.968] if (!grepl(pattern, name)) [13:14:04.968] next [13:14:04.968] invokeRestart(restart) [13:14:04.968] muffled <- TRUE [13:14:04.968] break [13:14:04.968] } [13:14:04.968] } [13:14:04.968] } [13:14:04.968] invisible(muffled) [13:14:04.968] } [13:14:04.968] muffleCondition(cond, pattern = "^muffle") [13:14:04.968] } [13:14:04.968] } [13:14:04.968] else { [13:14:04.968] if (TRUE) { [13:14:04.968] muffleCondition <- function (cond, pattern = "^muffle") [13:14:04.968] { [13:14:04.968] inherits <- base::inherits [13:14:04.968] invokeRestart <- base::invokeRestart [13:14:04.968] is.null <- base::is.null [13:14:04.968] muffled <- FALSE [13:14:04.968] if (inherits(cond, "message")) { [13:14:04.968] muffled <- grepl(pattern, "muffleMessage") [13:14:04.968] if (muffled) [13:14:04.968] invokeRestart("muffleMessage") [13:14:04.968] } [13:14:04.968] else if (inherits(cond, "warning")) { [13:14:04.968] muffled <- grepl(pattern, "muffleWarning") [13:14:04.968] if (muffled) [13:14:04.968] invokeRestart("muffleWarning") [13:14:04.968] } [13:14:04.968] else if (inherits(cond, "condition")) { [13:14:04.968] if (!is.null(pattern)) { [13:14:04.968] computeRestarts <- base::computeRestarts [13:14:04.968] grepl <- base::grepl [13:14:04.968] restarts <- computeRestarts(cond) [13:14:04.968] for (restart in restarts) { [13:14:04.968] name <- restart$name [13:14:04.968] if (is.null(name)) [13:14:04.968] next [13:14:04.968] if (!grepl(pattern, name)) [13:14:04.968] next [13:14:04.968] invokeRestart(restart) [13:14:04.968] muffled <- TRUE [13:14:04.968] break [13:14:04.968] } [13:14:04.968] } [13:14:04.968] } [13:14:04.968] invisible(muffled) [13:14:04.968] } [13:14:04.968] muffleCondition(cond, pattern = "^muffle") [13:14:04.968] } [13:14:04.968] } [13:14:04.968] } [13:14:04.968] })) [13:14:04.968] }, error = function(ex) { [13:14:04.968] base::structure(base::list(value = NULL, visible = NULL, [13:14:04.968] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:04.968] ...future.rng), started = ...future.startTime, [13:14:04.968] finished = Sys.time(), session_uuid = NA_character_, [13:14:04.968] version = "1.8"), class = "FutureResult") [13:14:04.968] }, finally = { [13:14:04.968] if (!identical(...future.workdir, getwd())) [13:14:04.968] setwd(...future.workdir) [13:14:04.968] { [13:14:04.968] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:04.968] ...future.oldOptions$nwarnings <- NULL [13:14:04.968] } [13:14:04.968] base::options(...future.oldOptions) [13:14:04.968] if (.Platform$OS.type == "windows") { [13:14:04.968] old_names <- names(...future.oldEnvVars) [13:14:04.968] envs <- base::Sys.getenv() [13:14:04.968] names <- names(envs) [13:14:04.968] common <- intersect(names, old_names) [13:14:04.968] added <- setdiff(names, old_names) [13:14:04.968] removed <- setdiff(old_names, names) [13:14:04.968] changed <- common[...future.oldEnvVars[common] != [13:14:04.968] envs[common]] [13:14:04.968] NAMES <- toupper(changed) [13:14:04.968] args <- list() [13:14:04.968] for (kk in seq_along(NAMES)) { [13:14:04.968] name <- changed[[kk]] [13:14:04.968] NAME <- NAMES[[kk]] [13:14:04.968] if (name != NAME && is.element(NAME, old_names)) [13:14:04.968] next [13:14:04.968] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.968] } [13:14:04.968] NAMES <- toupper(added) [13:14:04.968] for (kk in seq_along(NAMES)) { [13:14:04.968] name <- added[[kk]] [13:14:04.968] NAME <- NAMES[[kk]] [13:14:04.968] if (name != NAME && is.element(NAME, old_names)) [13:14:04.968] next [13:14:04.968] args[[name]] <- "" [13:14:04.968] } [13:14:04.968] NAMES <- toupper(removed) [13:14:04.968] for (kk in seq_along(NAMES)) { [13:14:04.968] name <- removed[[kk]] [13:14:04.968] NAME <- NAMES[[kk]] [13:14:04.968] if (name != NAME && is.element(NAME, old_names)) [13:14:04.968] next [13:14:04.968] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:04.968] } [13:14:04.968] if (length(args) > 0) [13:14:04.968] base::do.call(base::Sys.setenv, args = args) [13:14:04.968] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:04.968] } [13:14:04.968] else { [13:14:04.968] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:04.968] } [13:14:04.968] { [13:14:04.968] if (base::length(...future.futureOptionsAdded) > [13:14:04.968] 0L) { [13:14:04.968] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:04.968] base::names(opts) <- ...future.futureOptionsAdded [13:14:04.968] base::options(opts) [13:14:04.968] } [13:14:04.968] { [13:14:04.968] { [13:14:04.968] base::options(mc.cores = ...future.mc.cores.old) [13:14:04.968] NULL [13:14:04.968] } [13:14:04.968] options(future.plan = NULL) [13:14:04.968] if (is.na(NA_character_)) [13:14:04.968] Sys.unsetenv("R_FUTURE_PLAN") [13:14:04.968] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:04.968] future::plan(list(function (..., workers = availableCores(), [13:14:04.968] lazy = FALSE, rscript_libs = .libPaths(), [13:14:04.968] envir = parent.frame()) [13:14:04.968] { [13:14:04.968] if (is.function(workers)) [13:14:04.968] workers <- workers() [13:14:04.968] workers <- structure(as.integer(workers), [13:14:04.968] class = class(workers)) [13:14:04.968] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:04.968] workers >= 1) [13:14:04.968] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:04.968] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:04.968] } [13:14:04.968] future <- MultisessionFuture(..., workers = workers, [13:14:04.968] lazy = lazy, rscript_libs = rscript_libs, [13:14:04.968] envir = envir) [13:14:04.968] if (!future$lazy) [13:14:04.968] future <- run(future) [13:14:04.968] invisible(future) [13:14:04.968] }), .cleanup = FALSE, .init = FALSE) [13:14:04.968] } [13:14:04.968] } [13:14:04.968] } [13:14:04.968] }) [13:14:04.968] if (TRUE) { [13:14:04.968] base::sink(type = "output", split = FALSE) [13:14:04.968] if (TRUE) { [13:14:04.968] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:04.968] } [13:14:04.968] else { [13:14:04.968] ...future.result["stdout"] <- base::list(NULL) [13:14:04.968] } [13:14:04.968] base::close(...future.stdout) [13:14:04.968] ...future.stdout <- NULL [13:14:04.968] } [13:14:04.968] ...future.result$conditions <- ...future.conditions [13:14:04.968] ...future.result$finished <- base::Sys.time() [13:14:04.968] ...future.result [13:14:04.968] } [13:14:04.975] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:04.975] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:04.976] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:04.976] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:04.977] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:04.977] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:04.977] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:04.977] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:04.978] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:04.978] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:04.979] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:04.979] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:04.980] MultisessionFuture started [13:14:04.980] - Launch lazy future ... done [13:14:04.980] run() for 'MultisessionFuture' ... done [13:14:04.980] Created future: [13:14:04.995] receiveMessageFromWorker() for ClusterFuture ... [13:14:04.995] - Validating connection of MultisessionFuture [13:14:04.995] - received message: FutureResult [13:14:04.996] - Received FutureResult [13:14:04.996] - Erased future from FutureRegistry [13:14:04.996] result() for ClusterFuture ... [13:14:04.996] - result already collected: FutureResult [13:14:04.996] result() for ClusterFuture ... done [13:14:04.996] receiveMessageFromWorker() for ClusterFuture ... done [13:14:04.980] MultisessionFuture: [13:14:04.980] Label: 'future_sapply-1' [13:14:04.980] Expression: [13:14:04.980] { [13:14:04.980] do.call(function(...) { [13:14:04.980] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:04.980] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:04.980] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:04.980] on.exit(options(oopts), add = TRUE) [13:14:04.980] } [13:14:04.980] { [13:14:04.980] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:04.980] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:04.980] ...future.FUN(...future.X_jj, ...) [13:14:04.980] }) [13:14:04.980] } [13:14:04.980] }, args = future.call.arguments) [13:14:04.980] } [13:14:04.980] Lazy evaluation: FALSE [13:14:04.980] Asynchronous evaluation: TRUE [13:14:04.980] Local evaluation: TRUE [13:14:04.980] Environment: R_GlobalEnv [13:14:04.980] Capture standard output: TRUE [13:14:04.980] Capture condition classes: 'condition' (excluding 'nothing') [13:14:04.980] Globals: 5 objects totaling 1.27 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:04.980] Packages: [13:14:04.980] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:04.980] Resolved: TRUE [13:14:04.980] Value: [13:14:04.980] Conditions captured: [13:14:04.980] Early signaling: FALSE [13:14:04.980] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:04.980] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:04.997] Chunk #1 of 2 ... DONE [13:14:04.997] Chunk #2 of 2 ... [13:14:04.997] - Finding globals in 'X' for chunk #2 ... [13:14:04.997] getGlobalsAndPackages() ... [13:14:04.998] Searching for globals... [13:14:04.998] [13:14:04.998] Searching for globals ... DONE [13:14:04.998] - globals: [0] [13:14:04.998] getGlobalsAndPackages() ... DONE [13:14:04.999] + additional globals found: [n=0] [13:14:04.999] + additional namespaces needed: [n=0] [13:14:04.999] - Finding globals in 'X' for chunk #2 ... DONE [13:14:04.999] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:04.999] - seeds: [13:14:04.999] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.000] getGlobalsAndPackages() ... [13:14:05.000] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.000] Resolving globals: FALSE [13:14:05.000] Tweak future expression to call with '...' arguments ... [13:14:05.000] { [13:14:05.000] do.call(function(...) { [13:14:05.000] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.000] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.000] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.000] on.exit(options(oopts), add = TRUE) [13:14:05.000] } [13:14:05.000] { [13:14:05.000] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.000] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.000] ...future.FUN(...future.X_jj, ...) [13:14:05.000] }) [13:14:05.000] } [13:14:05.000] }, args = future.call.arguments) [13:14:05.000] } [13:14:05.001] Tweak future expression to call with '...' arguments ... DONE [13:14:05.001] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.001] [13:14:05.002] getGlobalsAndPackages() ... DONE [13:14:05.002] run() for 'Future' ... [13:14:05.002] - state: 'created' [13:14:05.002] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.016] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.017] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.017] - Field: 'node' [13:14:05.017] - Field: 'label' [13:14:05.017] - Field: 'local' [13:14:05.017] - Field: 'owner' [13:14:05.018] - Field: 'envir' [13:14:05.018] - Field: 'workers' [13:14:05.018] - Field: 'packages' [13:14:05.018] - Field: 'gc' [13:14:05.018] - Field: 'conditions' [13:14:05.019] - Field: 'persistent' [13:14:05.019] - Field: 'expr' [13:14:05.019] - Field: 'uuid' [13:14:05.019] - Field: 'seed' [13:14:05.019] - Field: 'version' [13:14:05.019] - Field: 'result' [13:14:05.020] - Field: 'asynchronous' [13:14:05.020] - Field: 'calls' [13:14:05.020] - Field: 'globals' [13:14:05.020] - Field: 'stdout' [13:14:05.020] - Field: 'earlySignal' [13:14:05.021] - Field: 'lazy' [13:14:05.021] - Field: 'state' [13:14:05.021] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.021] - Launch lazy future ... [13:14:05.021] Packages needed by the future expression (n = 0): [13:14:05.022] Packages needed by future strategies (n = 0): [13:14:05.022] { [13:14:05.022] { [13:14:05.022] { [13:14:05.022] ...future.startTime <- base::Sys.time() [13:14:05.022] { [13:14:05.022] { [13:14:05.022] { [13:14:05.022] { [13:14:05.022] base::local({ [13:14:05.022] has_future <- base::requireNamespace("future", [13:14:05.022] quietly = TRUE) [13:14:05.022] if (has_future) { [13:14:05.022] ns <- base::getNamespace("future") [13:14:05.022] version <- ns[[".package"]][["version"]] [13:14:05.022] if (is.null(version)) [13:14:05.022] version <- utils::packageVersion("future") [13:14:05.022] } [13:14:05.022] else { [13:14:05.022] version <- NULL [13:14:05.022] } [13:14:05.022] if (!has_future || version < "1.8.0") { [13:14:05.022] info <- base::c(r_version = base::gsub("R version ", [13:14:05.022] "", base::R.version$version.string), [13:14:05.022] platform = base::sprintf("%s (%s-bit)", [13:14:05.022] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.022] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.022] "release", "version")], collapse = " "), [13:14:05.022] hostname = base::Sys.info()[["nodename"]]) [13:14:05.022] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.022] info) [13:14:05.022] info <- base::paste(info, collapse = "; ") [13:14:05.022] if (!has_future) { [13:14:05.022] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.022] info) [13:14:05.022] } [13:14:05.022] else { [13:14:05.022] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.022] info, version) [13:14:05.022] } [13:14:05.022] base::stop(msg) [13:14:05.022] } [13:14:05.022] }) [13:14:05.022] } [13:14:05.022] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.022] base::options(mc.cores = 1L) [13:14:05.022] } [13:14:05.022] options(future.plan = NULL) [13:14:05.022] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.022] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.022] } [13:14:05.022] ...future.workdir <- getwd() [13:14:05.022] } [13:14:05.022] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.022] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.022] } [13:14:05.022] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.022] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.022] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.022] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.022] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.022] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.022] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.022] base::names(...future.oldOptions)) [13:14:05.022] } [13:14:05.022] if (FALSE) { [13:14:05.022] } [13:14:05.022] else { [13:14:05.022] if (TRUE) { [13:14:05.022] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.022] open = "w") [13:14:05.022] } [13:14:05.022] else { [13:14:05.022] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.022] windows = "NUL", "/dev/null"), open = "w") [13:14:05.022] } [13:14:05.022] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.022] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.022] base::sink(type = "output", split = FALSE) [13:14:05.022] base::close(...future.stdout) [13:14:05.022] }, add = TRUE) [13:14:05.022] } [13:14:05.022] ...future.frame <- base::sys.nframe() [13:14:05.022] ...future.conditions <- base::list() [13:14:05.022] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.022] if (FALSE) { [13:14:05.022] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.022] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.022] } [13:14:05.022] ...future.result <- base::tryCatch({ [13:14:05.022] base::withCallingHandlers({ [13:14:05.022] ...future.value <- base::withVisible(base::local({ [13:14:05.022] ...future.makeSendCondition <- local({ [13:14:05.022] sendCondition <- NULL [13:14:05.022] function(frame = 1L) { [13:14:05.022] if (is.function(sendCondition)) [13:14:05.022] return(sendCondition) [13:14:05.022] ns <- getNamespace("parallel") [13:14:05.022] if (exists("sendData", mode = "function", [13:14:05.022] envir = ns)) { [13:14:05.022] parallel_sendData <- get("sendData", mode = "function", [13:14:05.022] envir = ns) [13:14:05.022] envir <- sys.frame(frame) [13:14:05.022] master <- NULL [13:14:05.022] while (!identical(envir, .GlobalEnv) && [13:14:05.022] !identical(envir, emptyenv())) { [13:14:05.022] if (exists("master", mode = "list", envir = envir, [13:14:05.022] inherits = FALSE)) { [13:14:05.022] master <- get("master", mode = "list", [13:14:05.022] envir = envir, inherits = FALSE) [13:14:05.022] if (inherits(master, c("SOCKnode", [13:14:05.022] "SOCK0node"))) { [13:14:05.022] sendCondition <<- function(cond) { [13:14:05.022] data <- list(type = "VALUE", value = cond, [13:14:05.022] success = TRUE) [13:14:05.022] parallel_sendData(master, data) [13:14:05.022] } [13:14:05.022] return(sendCondition) [13:14:05.022] } [13:14:05.022] } [13:14:05.022] frame <- frame + 1L [13:14:05.022] envir <- sys.frame(frame) [13:14:05.022] } [13:14:05.022] } [13:14:05.022] sendCondition <<- function(cond) NULL [13:14:05.022] } [13:14:05.022] }) [13:14:05.022] withCallingHandlers({ [13:14:05.022] { [13:14:05.022] do.call(function(...) { [13:14:05.022] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.022] if (!identical(...future.globals.maxSize.org, [13:14:05.022] ...future.globals.maxSize)) { [13:14:05.022] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.022] on.exit(options(oopts), add = TRUE) [13:14:05.022] } [13:14:05.022] { [13:14:05.022] lapply(seq_along(...future.elements_ii), [13:14:05.022] FUN = function(jj) { [13:14:05.022] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.022] ...future.FUN(...future.X_jj, ...) [13:14:05.022] }) [13:14:05.022] } [13:14:05.022] }, args = future.call.arguments) [13:14:05.022] } [13:14:05.022] }, immediateCondition = function(cond) { [13:14:05.022] sendCondition <- ...future.makeSendCondition() [13:14:05.022] sendCondition(cond) [13:14:05.022] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.022] { [13:14:05.022] inherits <- base::inherits [13:14:05.022] invokeRestart <- base::invokeRestart [13:14:05.022] is.null <- base::is.null [13:14:05.022] muffled <- FALSE [13:14:05.022] if (inherits(cond, "message")) { [13:14:05.022] muffled <- grepl(pattern, "muffleMessage") [13:14:05.022] if (muffled) [13:14:05.022] invokeRestart("muffleMessage") [13:14:05.022] } [13:14:05.022] else if (inherits(cond, "warning")) { [13:14:05.022] muffled <- grepl(pattern, "muffleWarning") [13:14:05.022] if (muffled) [13:14:05.022] invokeRestart("muffleWarning") [13:14:05.022] } [13:14:05.022] else if (inherits(cond, "condition")) { [13:14:05.022] if (!is.null(pattern)) { [13:14:05.022] computeRestarts <- base::computeRestarts [13:14:05.022] grepl <- base::grepl [13:14:05.022] restarts <- computeRestarts(cond) [13:14:05.022] for (restart in restarts) { [13:14:05.022] name <- restart$name [13:14:05.022] if (is.null(name)) [13:14:05.022] next [13:14:05.022] if (!grepl(pattern, name)) [13:14:05.022] next [13:14:05.022] invokeRestart(restart) [13:14:05.022] muffled <- TRUE [13:14:05.022] break [13:14:05.022] } [13:14:05.022] } [13:14:05.022] } [13:14:05.022] invisible(muffled) [13:14:05.022] } [13:14:05.022] muffleCondition(cond) [13:14:05.022] }) [13:14:05.022] })) [13:14:05.022] future::FutureResult(value = ...future.value$value, [13:14:05.022] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.022] ...future.rng), globalenv = if (FALSE) [13:14:05.022] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.022] ...future.globalenv.names)) [13:14:05.022] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.022] }, condition = base::local({ [13:14:05.022] c <- base::c [13:14:05.022] inherits <- base::inherits [13:14:05.022] invokeRestart <- base::invokeRestart [13:14:05.022] length <- base::length [13:14:05.022] list <- base::list [13:14:05.022] seq.int <- base::seq.int [13:14:05.022] signalCondition <- base::signalCondition [13:14:05.022] sys.calls <- base::sys.calls [13:14:05.022] `[[` <- base::`[[` [13:14:05.022] `+` <- base::`+` [13:14:05.022] `<<-` <- base::`<<-` [13:14:05.022] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.022] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.022] 3L)] [13:14:05.022] } [13:14:05.022] function(cond) { [13:14:05.022] is_error <- inherits(cond, "error") [13:14:05.022] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.022] NULL) [13:14:05.022] if (is_error) { [13:14:05.022] sessionInformation <- function() { [13:14:05.022] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.022] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.022] search = base::search(), system = base::Sys.info()) [13:14:05.022] } [13:14:05.022] ...future.conditions[[length(...future.conditions) + [13:14:05.022] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.022] cond$call), session = sessionInformation(), [13:14:05.022] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.022] signalCondition(cond) [13:14:05.022] } [13:14:05.022] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.022] "immediateCondition"))) { [13:14:05.022] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.022] ...future.conditions[[length(...future.conditions) + [13:14:05.022] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.022] if (TRUE && !signal) { [13:14:05.022] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.022] { [13:14:05.022] inherits <- base::inherits [13:14:05.022] invokeRestart <- base::invokeRestart [13:14:05.022] is.null <- base::is.null [13:14:05.022] muffled <- FALSE [13:14:05.022] if (inherits(cond, "message")) { [13:14:05.022] muffled <- grepl(pattern, "muffleMessage") [13:14:05.022] if (muffled) [13:14:05.022] invokeRestart("muffleMessage") [13:14:05.022] } [13:14:05.022] else if (inherits(cond, "warning")) { [13:14:05.022] muffled <- grepl(pattern, "muffleWarning") [13:14:05.022] if (muffled) [13:14:05.022] invokeRestart("muffleWarning") [13:14:05.022] } [13:14:05.022] else if (inherits(cond, "condition")) { [13:14:05.022] if (!is.null(pattern)) { [13:14:05.022] computeRestarts <- base::computeRestarts [13:14:05.022] grepl <- base::grepl [13:14:05.022] restarts <- computeRestarts(cond) [13:14:05.022] for (restart in restarts) { [13:14:05.022] name <- restart$name [13:14:05.022] if (is.null(name)) [13:14:05.022] next [13:14:05.022] if (!grepl(pattern, name)) [13:14:05.022] next [13:14:05.022] invokeRestart(restart) [13:14:05.022] muffled <- TRUE [13:14:05.022] break [13:14:05.022] } [13:14:05.022] } [13:14:05.022] } [13:14:05.022] invisible(muffled) [13:14:05.022] } [13:14:05.022] muffleCondition(cond, pattern = "^muffle") [13:14:05.022] } [13:14:05.022] } [13:14:05.022] else { [13:14:05.022] if (TRUE) { [13:14:05.022] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.022] { [13:14:05.022] inherits <- base::inherits [13:14:05.022] invokeRestart <- base::invokeRestart [13:14:05.022] is.null <- base::is.null [13:14:05.022] muffled <- FALSE [13:14:05.022] if (inherits(cond, "message")) { [13:14:05.022] muffled <- grepl(pattern, "muffleMessage") [13:14:05.022] if (muffled) [13:14:05.022] invokeRestart("muffleMessage") [13:14:05.022] } [13:14:05.022] else if (inherits(cond, "warning")) { [13:14:05.022] muffled <- grepl(pattern, "muffleWarning") [13:14:05.022] if (muffled) [13:14:05.022] invokeRestart("muffleWarning") [13:14:05.022] } [13:14:05.022] else if (inherits(cond, "condition")) { [13:14:05.022] if (!is.null(pattern)) { [13:14:05.022] computeRestarts <- base::computeRestarts [13:14:05.022] grepl <- base::grepl [13:14:05.022] restarts <- computeRestarts(cond) [13:14:05.022] for (restart in restarts) { [13:14:05.022] name <- restart$name [13:14:05.022] if (is.null(name)) [13:14:05.022] next [13:14:05.022] if (!grepl(pattern, name)) [13:14:05.022] next [13:14:05.022] invokeRestart(restart) [13:14:05.022] muffled <- TRUE [13:14:05.022] break [13:14:05.022] } [13:14:05.022] } [13:14:05.022] } [13:14:05.022] invisible(muffled) [13:14:05.022] } [13:14:05.022] muffleCondition(cond, pattern = "^muffle") [13:14:05.022] } [13:14:05.022] } [13:14:05.022] } [13:14:05.022] })) [13:14:05.022] }, error = function(ex) { [13:14:05.022] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.022] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.022] ...future.rng), started = ...future.startTime, [13:14:05.022] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.022] version = "1.8"), class = "FutureResult") [13:14:05.022] }, finally = { [13:14:05.022] if (!identical(...future.workdir, getwd())) [13:14:05.022] setwd(...future.workdir) [13:14:05.022] { [13:14:05.022] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.022] ...future.oldOptions$nwarnings <- NULL [13:14:05.022] } [13:14:05.022] base::options(...future.oldOptions) [13:14:05.022] if (.Platform$OS.type == "windows") { [13:14:05.022] old_names <- names(...future.oldEnvVars) [13:14:05.022] envs <- base::Sys.getenv() [13:14:05.022] names <- names(envs) [13:14:05.022] common <- intersect(names, old_names) [13:14:05.022] added <- setdiff(names, old_names) [13:14:05.022] removed <- setdiff(old_names, names) [13:14:05.022] changed <- common[...future.oldEnvVars[common] != [13:14:05.022] envs[common]] [13:14:05.022] NAMES <- toupper(changed) [13:14:05.022] args <- list() [13:14:05.022] for (kk in seq_along(NAMES)) { [13:14:05.022] name <- changed[[kk]] [13:14:05.022] NAME <- NAMES[[kk]] [13:14:05.022] if (name != NAME && is.element(NAME, old_names)) [13:14:05.022] next [13:14:05.022] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.022] } [13:14:05.022] NAMES <- toupper(added) [13:14:05.022] for (kk in seq_along(NAMES)) { [13:14:05.022] name <- added[[kk]] [13:14:05.022] NAME <- NAMES[[kk]] [13:14:05.022] if (name != NAME && is.element(NAME, old_names)) [13:14:05.022] next [13:14:05.022] args[[name]] <- "" [13:14:05.022] } [13:14:05.022] NAMES <- toupper(removed) [13:14:05.022] for (kk in seq_along(NAMES)) { [13:14:05.022] name <- removed[[kk]] [13:14:05.022] NAME <- NAMES[[kk]] [13:14:05.022] if (name != NAME && is.element(NAME, old_names)) [13:14:05.022] next [13:14:05.022] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.022] } [13:14:05.022] if (length(args) > 0) [13:14:05.022] base::do.call(base::Sys.setenv, args = args) [13:14:05.022] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.022] } [13:14:05.022] else { [13:14:05.022] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.022] } [13:14:05.022] { [13:14:05.022] if (base::length(...future.futureOptionsAdded) > [13:14:05.022] 0L) { [13:14:05.022] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.022] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.022] base::options(opts) [13:14:05.022] } [13:14:05.022] { [13:14:05.022] { [13:14:05.022] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.022] NULL [13:14:05.022] } [13:14:05.022] options(future.plan = NULL) [13:14:05.022] if (is.na(NA_character_)) [13:14:05.022] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.022] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.022] future::plan(list(function (..., workers = availableCores(), [13:14:05.022] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.022] envir = parent.frame()) [13:14:05.022] { [13:14:05.022] if (is.function(workers)) [13:14:05.022] workers <- workers() [13:14:05.022] workers <- structure(as.integer(workers), [13:14:05.022] class = class(workers)) [13:14:05.022] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.022] workers >= 1) [13:14:05.022] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.022] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.022] } [13:14:05.022] future <- MultisessionFuture(..., workers = workers, [13:14:05.022] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.022] envir = envir) [13:14:05.022] if (!future$lazy) [13:14:05.022] future <- run(future) [13:14:05.022] invisible(future) [13:14:05.022] }), .cleanup = FALSE, .init = FALSE) [13:14:05.022] } [13:14:05.022] } [13:14:05.022] } [13:14:05.022] }) [13:14:05.022] if (TRUE) { [13:14:05.022] base::sink(type = "output", split = FALSE) [13:14:05.022] if (TRUE) { [13:14:05.022] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.022] } [13:14:05.022] else { [13:14:05.022] ...future.result["stdout"] <- base::list(NULL) [13:14:05.022] } [13:14:05.022] base::close(...future.stdout) [13:14:05.022] ...future.stdout <- NULL [13:14:05.022] } [13:14:05.022] ...future.result$conditions <- ...future.conditions [13:14:05.022] ...future.result$finished <- base::Sys.time() [13:14:05.022] ...future.result [13:14:05.022] } [13:14:05.028] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:05.028] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:05.029] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:05.029] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.029] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.030] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:05.030] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:05.030] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.031] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.031] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.031] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.031] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:05.032] MultisessionFuture started [13:14:05.032] - Launch lazy future ... done [13:14:05.032] run() for 'MultisessionFuture' ... done [13:14:05.033] Created future: [13:14:05.048] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.049] - Validating connection of MultisessionFuture [13:14:05.049] - received message: FutureResult [13:14:05.049] - Received FutureResult [13:14:05.049] - Erased future from FutureRegistry [13:14:05.049] result() for ClusterFuture ... [13:14:05.049] - result already collected: FutureResult [13:14:05.050] result() for ClusterFuture ... done [13:14:05.050] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.033] MultisessionFuture: [13:14:05.033] Label: 'future_sapply-2' [13:14:05.033] Expression: [13:14:05.033] { [13:14:05.033] do.call(function(...) { [13:14:05.033] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.033] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.033] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.033] on.exit(options(oopts), add = TRUE) [13:14:05.033] } [13:14:05.033] { [13:14:05.033] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.033] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.033] ...future.FUN(...future.X_jj, ...) [13:14:05.033] }) [13:14:05.033] } [13:14:05.033] }, args = future.call.arguments) [13:14:05.033] } [13:14:05.033] Lazy evaluation: FALSE [13:14:05.033] Asynchronous evaluation: TRUE [13:14:05.033] Local evaluation: TRUE [13:14:05.033] Environment: R_GlobalEnv [13:14:05.033] Capture standard output: TRUE [13:14:05.033] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.033] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.033] Packages: [13:14:05.033] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.033] Resolved: TRUE [13:14:05.033] Value: [13:14:05.033] Conditions captured: [13:14:05.033] Early signaling: FALSE [13:14:05.033] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.033] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.050] Chunk #2 of 2 ... DONE [13:14:05.050] Launching 2 futures (chunks) ... DONE [13:14:05.051] Resolving 2 futures (chunks) ... [13:14:05.051] resolve() on list ... [13:14:05.051] recursive: 0 [13:14:05.051] length: 2 [13:14:05.051] [13:14:05.051] Future #1 [13:14:05.052] result() for ClusterFuture ... [13:14:05.052] - result already collected: FutureResult [13:14:05.052] result() for ClusterFuture ... done [13:14:05.052] result() for ClusterFuture ... [13:14:05.052] - result already collected: FutureResult [13:14:05.052] result() for ClusterFuture ... done [13:14:05.052] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:05.053] - nx: 2 [13:14:05.053] - relay: TRUE [13:14:05.053] - stdout: TRUE [13:14:05.053] - signal: TRUE [13:14:05.053] - resignal: FALSE [13:14:05.053] - force: TRUE [13:14:05.054] - relayed: [n=2] FALSE, FALSE [13:14:05.054] - queued futures: [n=2] FALSE, FALSE [13:14:05.054] - until=1 [13:14:05.054] - relaying element #1 [13:14:05.054] result() for ClusterFuture ... [13:14:05.054] - result already collected: FutureResult [13:14:05.054] result() for ClusterFuture ... done [13:14:05.055] result() for ClusterFuture ... [13:14:05.055] - result already collected: FutureResult [13:14:05.055] result() for ClusterFuture ... done [13:14:05.055] result() for ClusterFuture ... [13:14:05.055] - result already collected: FutureResult [13:14:05.055] result() for ClusterFuture ... done [13:14:05.056] result() for ClusterFuture ... [13:14:05.056] - result already collected: FutureResult [13:14:05.056] result() for ClusterFuture ... done [13:14:05.056] - relayed: [n=2] TRUE, FALSE [13:14:05.056] - queued futures: [n=2] TRUE, FALSE [13:14:05.056] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:05.057] length: 1 (resolved future 1) [13:14:05.057] Future #2 [13:14:05.057] result() for ClusterFuture ... [13:14:05.057] - result already collected: FutureResult [13:14:05.057] result() for ClusterFuture ... done [13:14:05.057] result() for ClusterFuture ... [13:14:05.058] - result already collected: FutureResult [13:14:05.058] result() for ClusterFuture ... done [13:14:05.058] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:05.058] - nx: 2 [13:14:05.058] - relay: TRUE [13:14:05.058] - stdout: TRUE [13:14:05.058] - signal: TRUE [13:14:05.059] - resignal: FALSE [13:14:05.059] - force: TRUE [13:14:05.059] - relayed: [n=2] TRUE, FALSE [13:14:05.059] - queued futures: [n=2] TRUE, FALSE [13:14:05.059] - until=2 [13:14:05.059] - relaying element #2 [13:14:05.060] result() for ClusterFuture ... [13:14:05.060] - result already collected: FutureResult [13:14:05.060] result() for ClusterFuture ... done [13:14:05.060] result() for ClusterFuture ... [13:14:05.060] - result already collected: FutureResult [13:14:05.060] result() for ClusterFuture ... done [13:14:05.061] result() for ClusterFuture ... [13:14:05.061] - result already collected: FutureResult [13:14:05.061] result() for ClusterFuture ... done [13:14:05.061] result() for ClusterFuture ... [13:14:05.061] - result already collected: FutureResult [13:14:05.061] result() for ClusterFuture ... done [13:14:05.061] - relayed: [n=2] TRUE, TRUE [13:14:05.062] - queued futures: [n=2] TRUE, TRUE [13:14:05.062] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:05.062] length: 0 (resolved future 2) [13:14:05.062] Relaying remaining futures [13:14:05.062] signalConditionsASAP(NULL, pos=0) ... [13:14:05.062] - nx: 2 [13:14:05.063] - relay: TRUE [13:14:05.063] - stdout: TRUE [13:14:05.063] - signal: TRUE [13:14:05.063] - resignal: FALSE [13:14:05.063] - force: TRUE [13:14:05.063] - relayed: [n=2] TRUE, TRUE [13:14:05.063] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:05.064] - relayed: [n=2] TRUE, TRUE [13:14:05.064] - queued futures: [n=2] TRUE, TRUE [13:14:05.064] signalConditionsASAP(NULL, pos=0) ... done [13:14:05.064] resolve() on list ... DONE [13:14:05.064] result() for ClusterFuture ... [13:14:05.064] - result already collected: FutureResult [13:14:05.065] result() for ClusterFuture ... done [13:14:05.065] result() for ClusterFuture ... [13:14:05.065] - result already collected: FutureResult [13:14:05.065] result() for ClusterFuture ... done [13:14:05.066] result() for ClusterFuture ... [13:14:05.066] - result already collected: FutureResult [13:14:05.066] result() for ClusterFuture ... done [13:14:05.066] result() for ClusterFuture ... [13:14:05.066] - result already collected: FutureResult [13:14:05.066] result() for ClusterFuture ... done [13:14:05.066] - Number of value chunks collected: 2 [13:14:05.067] Resolving 2 futures (chunks) ... DONE [13:14:05.067] Reducing values from 2 chunks ... [13:14:05.067] - Number of values collected after concatenation: 3 [13:14:05.067] - Number of values expected: 3 [13:14:05.067] Reducing values from 2 chunks ... DONE [13:14:05.067] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:05.069] future_lapply() ... [13:14:05.073] Number of chunks: 2 [13:14:05.073] getGlobalsAndPackagesXApply() ... [13:14:05.073] - future.globals: TRUE [13:14:05.073] getGlobalsAndPackages() ... [13:14:05.073] Searching for globals... [13:14:05.075] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:05.075] Searching for globals ... DONE [13:14:05.075] Resolving globals: FALSE [13:14:05.076] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:05.076] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:05.077] - globals: [1] 'FUN' [13:14:05.077] [13:14:05.077] getGlobalsAndPackages() ... DONE [13:14:05.077] - globals found/used: [n=1] 'FUN' [13:14:05.077] - needed namespaces: [n=0] [13:14:05.077] Finding globals ... DONE [13:14:05.078] - use_args: TRUE [13:14:05.078] - Getting '...' globals ... [13:14:05.078] resolve() on list ... [13:14:05.078] recursive: 0 [13:14:05.079] length: 1 [13:14:05.079] elements: '...' [13:14:05.079] length: 0 (resolved future 1) [13:14:05.079] resolve() on list ... DONE [13:14:05.079] - '...' content: [n=0] [13:14:05.079] List of 1 [13:14:05.079] $ ...: list() [13:14:05.079] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.079] - attr(*, "where")=List of 1 [13:14:05.079] ..$ ...: [13:14:05.079] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.079] - attr(*, "resolved")= logi TRUE [13:14:05.079] - attr(*, "total_size")= num NA [13:14:05.082] - Getting '...' globals ... DONE [13:14:05.083] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:05.083] List of 2 [13:14:05.083] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:05.083] $ ... : list() [13:14:05.083] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.083] - attr(*, "where")=List of 2 [13:14:05.083] ..$ ...future.FUN: [13:14:05.083] ..$ ... : [13:14:05.083] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.083] - attr(*, "resolved")= logi FALSE [13:14:05.083] - attr(*, "total_size")= num 4728 [13:14:05.086] Packages to be attached in all futures: [n=0] [13:14:05.086] getGlobalsAndPackagesXApply() ... DONE [13:14:05.087] Number of futures (= number of chunks): 2 [13:14:05.087] Launching 2 futures (chunks) ... [13:14:05.087] Chunk #1 of 2 ... [13:14:05.087] - Finding globals in 'X' for chunk #1 ... [13:14:05.087] getGlobalsAndPackages() ... [13:14:05.088] Searching for globals... [13:14:05.088] [13:14:05.088] Searching for globals ... DONE [13:14:05.088] - globals: [0] [13:14:05.088] getGlobalsAndPackages() ... DONE [13:14:05.088] + additional globals found: [n=0] [13:14:05.089] + additional namespaces needed: [n=0] [13:14:05.089] - Finding globals in 'X' for chunk #1 ... DONE [13:14:05.089] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.089] - seeds: [13:14:05.089] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.089] getGlobalsAndPackages() ... [13:14:05.090] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.090] Resolving globals: FALSE [13:14:05.090] Tweak future expression to call with '...' arguments ... [13:14:05.090] { [13:14:05.090] do.call(function(...) { [13:14:05.090] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.090] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.090] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.090] on.exit(options(oopts), add = TRUE) [13:14:05.090] } [13:14:05.090] { [13:14:05.090] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.090] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.090] ...future.FUN(...future.X_jj, ...) [13:14:05.090] }) [13:14:05.090] } [13:14:05.090] }, args = future.call.arguments) [13:14:05.090] } [13:14:05.091] Tweak future expression to call with '...' arguments ... DONE [13:14:05.091] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.091] [13:14:05.091] getGlobalsAndPackages() ... DONE [13:14:05.092] run() for 'Future' ... [13:14:05.092] - state: 'created' [13:14:05.092] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.106] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.107] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.107] - Field: 'node' [13:14:05.107] - Field: 'label' [13:14:05.107] - Field: 'local' [13:14:05.107] - Field: 'owner' [13:14:05.108] - Field: 'envir' [13:14:05.108] - Field: 'workers' [13:14:05.108] - Field: 'packages' [13:14:05.108] - Field: 'gc' [13:14:05.108] - Field: 'conditions' [13:14:05.108] - Field: 'persistent' [13:14:05.109] - Field: 'expr' [13:14:05.109] - Field: 'uuid' [13:14:05.109] - Field: 'seed' [13:14:05.109] - Field: 'version' [13:14:05.109] - Field: 'result' [13:14:05.109] - Field: 'asynchronous' [13:14:05.110] - Field: 'calls' [13:14:05.110] - Field: 'globals' [13:14:05.110] - Field: 'stdout' [13:14:05.110] - Field: 'earlySignal' [13:14:05.110] - Field: 'lazy' [13:14:05.111] - Field: 'state' [13:14:05.111] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.111] - Launch lazy future ... [13:14:05.111] Packages needed by the future expression (n = 0): [13:14:05.111] Packages needed by future strategies (n = 0): [13:14:05.112] { [13:14:05.112] { [13:14:05.112] { [13:14:05.112] ...future.startTime <- base::Sys.time() [13:14:05.112] { [13:14:05.112] { [13:14:05.112] { [13:14:05.112] { [13:14:05.112] base::local({ [13:14:05.112] has_future <- base::requireNamespace("future", [13:14:05.112] quietly = TRUE) [13:14:05.112] if (has_future) { [13:14:05.112] ns <- base::getNamespace("future") [13:14:05.112] version <- ns[[".package"]][["version"]] [13:14:05.112] if (is.null(version)) [13:14:05.112] version <- utils::packageVersion("future") [13:14:05.112] } [13:14:05.112] else { [13:14:05.112] version <- NULL [13:14:05.112] } [13:14:05.112] if (!has_future || version < "1.8.0") { [13:14:05.112] info <- base::c(r_version = base::gsub("R version ", [13:14:05.112] "", base::R.version$version.string), [13:14:05.112] platform = base::sprintf("%s (%s-bit)", [13:14:05.112] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.112] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.112] "release", "version")], collapse = " "), [13:14:05.112] hostname = base::Sys.info()[["nodename"]]) [13:14:05.112] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.112] info) [13:14:05.112] info <- base::paste(info, collapse = "; ") [13:14:05.112] if (!has_future) { [13:14:05.112] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.112] info) [13:14:05.112] } [13:14:05.112] else { [13:14:05.112] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.112] info, version) [13:14:05.112] } [13:14:05.112] base::stop(msg) [13:14:05.112] } [13:14:05.112] }) [13:14:05.112] } [13:14:05.112] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.112] base::options(mc.cores = 1L) [13:14:05.112] } [13:14:05.112] options(future.plan = NULL) [13:14:05.112] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.112] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.112] } [13:14:05.112] ...future.workdir <- getwd() [13:14:05.112] } [13:14:05.112] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.112] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.112] } [13:14:05.112] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.112] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.112] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.112] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.112] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.112] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.112] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.112] base::names(...future.oldOptions)) [13:14:05.112] } [13:14:05.112] if (FALSE) { [13:14:05.112] } [13:14:05.112] else { [13:14:05.112] if (TRUE) { [13:14:05.112] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.112] open = "w") [13:14:05.112] } [13:14:05.112] else { [13:14:05.112] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.112] windows = "NUL", "/dev/null"), open = "w") [13:14:05.112] } [13:14:05.112] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.112] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.112] base::sink(type = "output", split = FALSE) [13:14:05.112] base::close(...future.stdout) [13:14:05.112] }, add = TRUE) [13:14:05.112] } [13:14:05.112] ...future.frame <- base::sys.nframe() [13:14:05.112] ...future.conditions <- base::list() [13:14:05.112] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.112] if (FALSE) { [13:14:05.112] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.112] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.112] } [13:14:05.112] ...future.result <- base::tryCatch({ [13:14:05.112] base::withCallingHandlers({ [13:14:05.112] ...future.value <- base::withVisible(base::local({ [13:14:05.112] ...future.makeSendCondition <- local({ [13:14:05.112] sendCondition <- NULL [13:14:05.112] function(frame = 1L) { [13:14:05.112] if (is.function(sendCondition)) [13:14:05.112] return(sendCondition) [13:14:05.112] ns <- getNamespace("parallel") [13:14:05.112] if (exists("sendData", mode = "function", [13:14:05.112] envir = ns)) { [13:14:05.112] parallel_sendData <- get("sendData", mode = "function", [13:14:05.112] envir = ns) [13:14:05.112] envir <- sys.frame(frame) [13:14:05.112] master <- NULL [13:14:05.112] while (!identical(envir, .GlobalEnv) && [13:14:05.112] !identical(envir, emptyenv())) { [13:14:05.112] if (exists("master", mode = "list", envir = envir, [13:14:05.112] inherits = FALSE)) { [13:14:05.112] master <- get("master", mode = "list", [13:14:05.112] envir = envir, inherits = FALSE) [13:14:05.112] if (inherits(master, c("SOCKnode", [13:14:05.112] "SOCK0node"))) { [13:14:05.112] sendCondition <<- function(cond) { [13:14:05.112] data <- list(type = "VALUE", value = cond, [13:14:05.112] success = TRUE) [13:14:05.112] parallel_sendData(master, data) [13:14:05.112] } [13:14:05.112] return(sendCondition) [13:14:05.112] } [13:14:05.112] } [13:14:05.112] frame <- frame + 1L [13:14:05.112] envir <- sys.frame(frame) [13:14:05.112] } [13:14:05.112] } [13:14:05.112] sendCondition <<- function(cond) NULL [13:14:05.112] } [13:14:05.112] }) [13:14:05.112] withCallingHandlers({ [13:14:05.112] { [13:14:05.112] do.call(function(...) { [13:14:05.112] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.112] if (!identical(...future.globals.maxSize.org, [13:14:05.112] ...future.globals.maxSize)) { [13:14:05.112] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.112] on.exit(options(oopts), add = TRUE) [13:14:05.112] } [13:14:05.112] { [13:14:05.112] lapply(seq_along(...future.elements_ii), [13:14:05.112] FUN = function(jj) { [13:14:05.112] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.112] ...future.FUN(...future.X_jj, ...) [13:14:05.112] }) [13:14:05.112] } [13:14:05.112] }, args = future.call.arguments) [13:14:05.112] } [13:14:05.112] }, immediateCondition = function(cond) { [13:14:05.112] sendCondition <- ...future.makeSendCondition() [13:14:05.112] sendCondition(cond) [13:14:05.112] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.112] { [13:14:05.112] inherits <- base::inherits [13:14:05.112] invokeRestart <- base::invokeRestart [13:14:05.112] is.null <- base::is.null [13:14:05.112] muffled <- FALSE [13:14:05.112] if (inherits(cond, "message")) { [13:14:05.112] muffled <- grepl(pattern, "muffleMessage") [13:14:05.112] if (muffled) [13:14:05.112] invokeRestart("muffleMessage") [13:14:05.112] } [13:14:05.112] else if (inherits(cond, "warning")) { [13:14:05.112] muffled <- grepl(pattern, "muffleWarning") [13:14:05.112] if (muffled) [13:14:05.112] invokeRestart("muffleWarning") [13:14:05.112] } [13:14:05.112] else if (inherits(cond, "condition")) { [13:14:05.112] if (!is.null(pattern)) { [13:14:05.112] computeRestarts <- base::computeRestarts [13:14:05.112] grepl <- base::grepl [13:14:05.112] restarts <- computeRestarts(cond) [13:14:05.112] for (restart in restarts) { [13:14:05.112] name <- restart$name [13:14:05.112] if (is.null(name)) [13:14:05.112] next [13:14:05.112] if (!grepl(pattern, name)) [13:14:05.112] next [13:14:05.112] invokeRestart(restart) [13:14:05.112] muffled <- TRUE [13:14:05.112] break [13:14:05.112] } [13:14:05.112] } [13:14:05.112] } [13:14:05.112] invisible(muffled) [13:14:05.112] } [13:14:05.112] muffleCondition(cond) [13:14:05.112] }) [13:14:05.112] })) [13:14:05.112] future::FutureResult(value = ...future.value$value, [13:14:05.112] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.112] ...future.rng), globalenv = if (FALSE) [13:14:05.112] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.112] ...future.globalenv.names)) [13:14:05.112] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.112] }, condition = base::local({ [13:14:05.112] c <- base::c [13:14:05.112] inherits <- base::inherits [13:14:05.112] invokeRestart <- base::invokeRestart [13:14:05.112] length <- base::length [13:14:05.112] list <- base::list [13:14:05.112] seq.int <- base::seq.int [13:14:05.112] signalCondition <- base::signalCondition [13:14:05.112] sys.calls <- base::sys.calls [13:14:05.112] `[[` <- base::`[[` [13:14:05.112] `+` <- base::`+` [13:14:05.112] `<<-` <- base::`<<-` [13:14:05.112] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.112] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.112] 3L)] [13:14:05.112] } [13:14:05.112] function(cond) { [13:14:05.112] is_error <- inherits(cond, "error") [13:14:05.112] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.112] NULL) [13:14:05.112] if (is_error) { [13:14:05.112] sessionInformation <- function() { [13:14:05.112] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.112] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.112] search = base::search(), system = base::Sys.info()) [13:14:05.112] } [13:14:05.112] ...future.conditions[[length(...future.conditions) + [13:14:05.112] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.112] cond$call), session = sessionInformation(), [13:14:05.112] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.112] signalCondition(cond) [13:14:05.112] } [13:14:05.112] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.112] "immediateCondition"))) { [13:14:05.112] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.112] ...future.conditions[[length(...future.conditions) + [13:14:05.112] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.112] if (TRUE && !signal) { [13:14:05.112] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.112] { [13:14:05.112] inherits <- base::inherits [13:14:05.112] invokeRestart <- base::invokeRestart [13:14:05.112] is.null <- base::is.null [13:14:05.112] muffled <- FALSE [13:14:05.112] if (inherits(cond, "message")) { [13:14:05.112] muffled <- grepl(pattern, "muffleMessage") [13:14:05.112] if (muffled) [13:14:05.112] invokeRestart("muffleMessage") [13:14:05.112] } [13:14:05.112] else if (inherits(cond, "warning")) { [13:14:05.112] muffled <- grepl(pattern, "muffleWarning") [13:14:05.112] if (muffled) [13:14:05.112] invokeRestart("muffleWarning") [13:14:05.112] } [13:14:05.112] else if (inherits(cond, "condition")) { [13:14:05.112] if (!is.null(pattern)) { [13:14:05.112] computeRestarts <- base::computeRestarts [13:14:05.112] grepl <- base::grepl [13:14:05.112] restarts <- computeRestarts(cond) [13:14:05.112] for (restart in restarts) { [13:14:05.112] name <- restart$name [13:14:05.112] if (is.null(name)) [13:14:05.112] next [13:14:05.112] if (!grepl(pattern, name)) [13:14:05.112] next [13:14:05.112] invokeRestart(restart) [13:14:05.112] muffled <- TRUE [13:14:05.112] break [13:14:05.112] } [13:14:05.112] } [13:14:05.112] } [13:14:05.112] invisible(muffled) [13:14:05.112] } [13:14:05.112] muffleCondition(cond, pattern = "^muffle") [13:14:05.112] } [13:14:05.112] } [13:14:05.112] else { [13:14:05.112] if (TRUE) { [13:14:05.112] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.112] { [13:14:05.112] inherits <- base::inherits [13:14:05.112] invokeRestart <- base::invokeRestart [13:14:05.112] is.null <- base::is.null [13:14:05.112] muffled <- FALSE [13:14:05.112] if (inherits(cond, "message")) { [13:14:05.112] muffled <- grepl(pattern, "muffleMessage") [13:14:05.112] if (muffled) [13:14:05.112] invokeRestart("muffleMessage") [13:14:05.112] } [13:14:05.112] else if (inherits(cond, "warning")) { [13:14:05.112] muffled <- grepl(pattern, "muffleWarning") [13:14:05.112] if (muffled) [13:14:05.112] invokeRestart("muffleWarning") [13:14:05.112] } [13:14:05.112] else if (inherits(cond, "condition")) { [13:14:05.112] if (!is.null(pattern)) { [13:14:05.112] computeRestarts <- base::computeRestarts [13:14:05.112] grepl <- base::grepl [13:14:05.112] restarts <- computeRestarts(cond) [13:14:05.112] for (restart in restarts) { [13:14:05.112] name <- restart$name [13:14:05.112] if (is.null(name)) [13:14:05.112] next [13:14:05.112] if (!grepl(pattern, name)) [13:14:05.112] next [13:14:05.112] invokeRestart(restart) [13:14:05.112] muffled <- TRUE [13:14:05.112] break [13:14:05.112] } [13:14:05.112] } [13:14:05.112] } [13:14:05.112] invisible(muffled) [13:14:05.112] } [13:14:05.112] muffleCondition(cond, pattern = "^muffle") [13:14:05.112] } [13:14:05.112] } [13:14:05.112] } [13:14:05.112] })) [13:14:05.112] }, error = function(ex) { [13:14:05.112] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.112] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.112] ...future.rng), started = ...future.startTime, [13:14:05.112] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.112] version = "1.8"), class = "FutureResult") [13:14:05.112] }, finally = { [13:14:05.112] if (!identical(...future.workdir, getwd())) [13:14:05.112] setwd(...future.workdir) [13:14:05.112] { [13:14:05.112] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.112] ...future.oldOptions$nwarnings <- NULL [13:14:05.112] } [13:14:05.112] base::options(...future.oldOptions) [13:14:05.112] if (.Platform$OS.type == "windows") { [13:14:05.112] old_names <- names(...future.oldEnvVars) [13:14:05.112] envs <- base::Sys.getenv() [13:14:05.112] names <- names(envs) [13:14:05.112] common <- intersect(names, old_names) [13:14:05.112] added <- setdiff(names, old_names) [13:14:05.112] removed <- setdiff(old_names, names) [13:14:05.112] changed <- common[...future.oldEnvVars[common] != [13:14:05.112] envs[common]] [13:14:05.112] NAMES <- toupper(changed) [13:14:05.112] args <- list() [13:14:05.112] for (kk in seq_along(NAMES)) { [13:14:05.112] name <- changed[[kk]] [13:14:05.112] NAME <- NAMES[[kk]] [13:14:05.112] if (name != NAME && is.element(NAME, old_names)) [13:14:05.112] next [13:14:05.112] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.112] } [13:14:05.112] NAMES <- toupper(added) [13:14:05.112] for (kk in seq_along(NAMES)) { [13:14:05.112] name <- added[[kk]] [13:14:05.112] NAME <- NAMES[[kk]] [13:14:05.112] if (name != NAME && is.element(NAME, old_names)) [13:14:05.112] next [13:14:05.112] args[[name]] <- "" [13:14:05.112] } [13:14:05.112] NAMES <- toupper(removed) [13:14:05.112] for (kk in seq_along(NAMES)) { [13:14:05.112] name <- removed[[kk]] [13:14:05.112] NAME <- NAMES[[kk]] [13:14:05.112] if (name != NAME && is.element(NAME, old_names)) [13:14:05.112] next [13:14:05.112] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.112] } [13:14:05.112] if (length(args) > 0) [13:14:05.112] base::do.call(base::Sys.setenv, args = args) [13:14:05.112] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.112] } [13:14:05.112] else { [13:14:05.112] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.112] } [13:14:05.112] { [13:14:05.112] if (base::length(...future.futureOptionsAdded) > [13:14:05.112] 0L) { [13:14:05.112] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.112] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.112] base::options(opts) [13:14:05.112] } [13:14:05.112] { [13:14:05.112] { [13:14:05.112] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.112] NULL [13:14:05.112] } [13:14:05.112] options(future.plan = NULL) [13:14:05.112] if (is.na(NA_character_)) [13:14:05.112] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.112] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.112] future::plan(list(function (..., workers = availableCores(), [13:14:05.112] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.112] envir = parent.frame()) [13:14:05.112] { [13:14:05.112] if (is.function(workers)) [13:14:05.112] workers <- workers() [13:14:05.112] workers <- structure(as.integer(workers), [13:14:05.112] class = class(workers)) [13:14:05.112] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.112] workers >= 1) [13:14:05.112] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.112] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.112] } [13:14:05.112] future <- MultisessionFuture(..., workers = workers, [13:14:05.112] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.112] envir = envir) [13:14:05.112] if (!future$lazy) [13:14:05.112] future <- run(future) [13:14:05.112] invisible(future) [13:14:05.112] }), .cleanup = FALSE, .init = FALSE) [13:14:05.112] } [13:14:05.112] } [13:14:05.112] } [13:14:05.112] }) [13:14:05.112] if (TRUE) { [13:14:05.112] base::sink(type = "output", split = FALSE) [13:14:05.112] if (TRUE) { [13:14:05.112] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.112] } [13:14:05.112] else { [13:14:05.112] ...future.result["stdout"] <- base::list(NULL) [13:14:05.112] } [13:14:05.112] base::close(...future.stdout) [13:14:05.112] ...future.stdout <- NULL [13:14:05.112] } [13:14:05.112] ...future.result$conditions <- ...future.conditions [13:14:05.112] ...future.result$finished <- base::Sys.time() [13:14:05.112] ...future.result [13:14:05.112] } [13:14:05.117] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:05.118] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:05.118] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:05.118] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.119] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.119] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:05.120] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:05.120] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.120] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.121] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.121] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.121] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:05.124] MultisessionFuture started [13:14:05.125] - Launch lazy future ... done [13:14:05.125] run() for 'MultisessionFuture' ... done [13:14:05.125] Created future: [13:14:05.138] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.138] - Validating connection of MultisessionFuture [13:14:05.138] - received message: FutureResult [13:14:05.139] - Received FutureResult [13:14:05.139] - Erased future from FutureRegistry [13:14:05.139] result() for ClusterFuture ... [13:14:05.139] - result already collected: FutureResult [13:14:05.139] result() for ClusterFuture ... done [13:14:05.139] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.125] MultisessionFuture: [13:14:05.125] Label: 'future_sapply-1' [13:14:05.125] Expression: [13:14:05.125] { [13:14:05.125] do.call(function(...) { [13:14:05.125] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.125] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.125] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.125] on.exit(options(oopts), add = TRUE) [13:14:05.125] } [13:14:05.125] { [13:14:05.125] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.125] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.125] ...future.FUN(...future.X_jj, ...) [13:14:05.125] }) [13:14:05.125] } [13:14:05.125] }, args = future.call.arguments) [13:14:05.125] } [13:14:05.125] Lazy evaluation: FALSE [13:14:05.125] Asynchronous evaluation: TRUE [13:14:05.125] Local evaluation: TRUE [13:14:05.125] Environment: R_GlobalEnv [13:14:05.125] Capture standard output: TRUE [13:14:05.125] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.125] Globals: 5 objects totaling 4.67 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.125] Packages: [13:14:05.125] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.125] Resolved: TRUE [13:14:05.125] Value: [13:14:05.125] Conditions captured: [13:14:05.125] Early signaling: FALSE [13:14:05.125] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.125] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.140] Chunk #1 of 2 ... DONE [13:14:05.140] Chunk #2 of 2 ... [13:14:05.140] - Finding globals in 'X' for chunk #2 ... [13:14:05.140] getGlobalsAndPackages() ... [13:14:05.141] Searching for globals... [13:14:05.141] [13:14:05.141] Searching for globals ... DONE [13:14:05.141] - globals: [0] [13:14:05.141] getGlobalsAndPackages() ... DONE [13:14:05.141] + additional globals found: [n=0] [13:14:05.142] + additional namespaces needed: [n=0] [13:14:05.142] - Finding globals in 'X' for chunk #2 ... DONE [13:14:05.142] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.142] - seeds: [13:14:05.142] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.143] getGlobalsAndPackages() ... [13:14:05.143] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.143] Resolving globals: FALSE [13:14:05.143] Tweak future expression to call with '...' arguments ... [13:14:05.143] { [13:14:05.143] do.call(function(...) { [13:14:05.143] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.143] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.143] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.143] on.exit(options(oopts), add = TRUE) [13:14:05.143] } [13:14:05.143] { [13:14:05.143] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.143] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.143] ...future.FUN(...future.X_jj, ...) [13:14:05.143] }) [13:14:05.143] } [13:14:05.143] }, args = future.call.arguments) [13:14:05.143] } [13:14:05.144] Tweak future expression to call with '...' arguments ... DONE [13:14:05.144] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.144] [13:14:05.145] getGlobalsAndPackages() ... DONE [13:14:05.145] run() for 'Future' ... [13:14:05.145] - state: 'created' [13:14:05.145] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.161] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.161] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.161] - Field: 'node' [13:14:05.161] - Field: 'label' [13:14:05.162] - Field: 'local' [13:14:05.162] - Field: 'owner' [13:14:05.162] - Field: 'envir' [13:14:05.162] - Field: 'workers' [13:14:05.163] - Field: 'packages' [13:14:05.163] - Field: 'gc' [13:14:05.163] - Field: 'conditions' [13:14:05.163] - Field: 'persistent' [13:14:05.163] - Field: 'expr' [13:14:05.164] - Field: 'uuid' [13:14:05.164] - Field: 'seed' [13:14:05.164] - Field: 'version' [13:14:05.164] - Field: 'result' [13:14:05.165] - Field: 'asynchronous' [13:14:05.165] - Field: 'calls' [13:14:05.165] - Field: 'globals' [13:14:05.165] - Field: 'stdout' [13:14:05.166] - Field: 'earlySignal' [13:14:05.166] - Field: 'lazy' [13:14:05.166] - Field: 'state' [13:14:05.166] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.167] - Launch lazy future ... [13:14:05.167] Packages needed by the future expression (n = 0): [13:14:05.167] Packages needed by future strategies (n = 0): [13:14:05.168] { [13:14:05.168] { [13:14:05.168] { [13:14:05.168] ...future.startTime <- base::Sys.time() [13:14:05.168] { [13:14:05.168] { [13:14:05.168] { [13:14:05.168] { [13:14:05.168] base::local({ [13:14:05.168] has_future <- base::requireNamespace("future", [13:14:05.168] quietly = TRUE) [13:14:05.168] if (has_future) { [13:14:05.168] ns <- base::getNamespace("future") [13:14:05.168] version <- ns[[".package"]][["version"]] [13:14:05.168] if (is.null(version)) [13:14:05.168] version <- utils::packageVersion("future") [13:14:05.168] } [13:14:05.168] else { [13:14:05.168] version <- NULL [13:14:05.168] } [13:14:05.168] if (!has_future || version < "1.8.0") { [13:14:05.168] info <- base::c(r_version = base::gsub("R version ", [13:14:05.168] "", base::R.version$version.string), [13:14:05.168] platform = base::sprintf("%s (%s-bit)", [13:14:05.168] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.168] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.168] "release", "version")], collapse = " "), [13:14:05.168] hostname = base::Sys.info()[["nodename"]]) [13:14:05.168] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.168] info) [13:14:05.168] info <- base::paste(info, collapse = "; ") [13:14:05.168] if (!has_future) { [13:14:05.168] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.168] info) [13:14:05.168] } [13:14:05.168] else { [13:14:05.168] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.168] info, version) [13:14:05.168] } [13:14:05.168] base::stop(msg) [13:14:05.168] } [13:14:05.168] }) [13:14:05.168] } [13:14:05.168] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.168] base::options(mc.cores = 1L) [13:14:05.168] } [13:14:05.168] options(future.plan = NULL) [13:14:05.168] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.168] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.168] } [13:14:05.168] ...future.workdir <- getwd() [13:14:05.168] } [13:14:05.168] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.168] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.168] } [13:14:05.168] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.168] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.168] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.168] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.168] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.168] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.168] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.168] base::names(...future.oldOptions)) [13:14:05.168] } [13:14:05.168] if (FALSE) { [13:14:05.168] } [13:14:05.168] else { [13:14:05.168] if (TRUE) { [13:14:05.168] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.168] open = "w") [13:14:05.168] } [13:14:05.168] else { [13:14:05.168] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.168] windows = "NUL", "/dev/null"), open = "w") [13:14:05.168] } [13:14:05.168] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.168] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.168] base::sink(type = "output", split = FALSE) [13:14:05.168] base::close(...future.stdout) [13:14:05.168] }, add = TRUE) [13:14:05.168] } [13:14:05.168] ...future.frame <- base::sys.nframe() [13:14:05.168] ...future.conditions <- base::list() [13:14:05.168] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.168] if (FALSE) { [13:14:05.168] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.168] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.168] } [13:14:05.168] ...future.result <- base::tryCatch({ [13:14:05.168] base::withCallingHandlers({ [13:14:05.168] ...future.value <- base::withVisible(base::local({ [13:14:05.168] ...future.makeSendCondition <- local({ [13:14:05.168] sendCondition <- NULL [13:14:05.168] function(frame = 1L) { [13:14:05.168] if (is.function(sendCondition)) [13:14:05.168] return(sendCondition) [13:14:05.168] ns <- getNamespace("parallel") [13:14:05.168] if (exists("sendData", mode = "function", [13:14:05.168] envir = ns)) { [13:14:05.168] parallel_sendData <- get("sendData", mode = "function", [13:14:05.168] envir = ns) [13:14:05.168] envir <- sys.frame(frame) [13:14:05.168] master <- NULL [13:14:05.168] while (!identical(envir, .GlobalEnv) && [13:14:05.168] !identical(envir, emptyenv())) { [13:14:05.168] if (exists("master", mode = "list", envir = envir, [13:14:05.168] inherits = FALSE)) { [13:14:05.168] master <- get("master", mode = "list", [13:14:05.168] envir = envir, inherits = FALSE) [13:14:05.168] if (inherits(master, c("SOCKnode", [13:14:05.168] "SOCK0node"))) { [13:14:05.168] sendCondition <<- function(cond) { [13:14:05.168] data <- list(type = "VALUE", value = cond, [13:14:05.168] success = TRUE) [13:14:05.168] parallel_sendData(master, data) [13:14:05.168] } [13:14:05.168] return(sendCondition) [13:14:05.168] } [13:14:05.168] } [13:14:05.168] frame <- frame + 1L [13:14:05.168] envir <- sys.frame(frame) [13:14:05.168] } [13:14:05.168] } [13:14:05.168] sendCondition <<- function(cond) NULL [13:14:05.168] } [13:14:05.168] }) [13:14:05.168] withCallingHandlers({ [13:14:05.168] { [13:14:05.168] do.call(function(...) { [13:14:05.168] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.168] if (!identical(...future.globals.maxSize.org, [13:14:05.168] ...future.globals.maxSize)) { [13:14:05.168] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.168] on.exit(options(oopts), add = TRUE) [13:14:05.168] } [13:14:05.168] { [13:14:05.168] lapply(seq_along(...future.elements_ii), [13:14:05.168] FUN = function(jj) { [13:14:05.168] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.168] ...future.FUN(...future.X_jj, ...) [13:14:05.168] }) [13:14:05.168] } [13:14:05.168] }, args = future.call.arguments) [13:14:05.168] } [13:14:05.168] }, immediateCondition = function(cond) { [13:14:05.168] sendCondition <- ...future.makeSendCondition() [13:14:05.168] sendCondition(cond) [13:14:05.168] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.168] { [13:14:05.168] inherits <- base::inherits [13:14:05.168] invokeRestart <- base::invokeRestart [13:14:05.168] is.null <- base::is.null [13:14:05.168] muffled <- FALSE [13:14:05.168] if (inherits(cond, "message")) { [13:14:05.168] muffled <- grepl(pattern, "muffleMessage") [13:14:05.168] if (muffled) [13:14:05.168] invokeRestart("muffleMessage") [13:14:05.168] } [13:14:05.168] else if (inherits(cond, "warning")) { [13:14:05.168] muffled <- grepl(pattern, "muffleWarning") [13:14:05.168] if (muffled) [13:14:05.168] invokeRestart("muffleWarning") [13:14:05.168] } [13:14:05.168] else if (inherits(cond, "condition")) { [13:14:05.168] if (!is.null(pattern)) { [13:14:05.168] computeRestarts <- base::computeRestarts [13:14:05.168] grepl <- base::grepl [13:14:05.168] restarts <- computeRestarts(cond) [13:14:05.168] for (restart in restarts) { [13:14:05.168] name <- restart$name [13:14:05.168] if (is.null(name)) [13:14:05.168] next [13:14:05.168] if (!grepl(pattern, name)) [13:14:05.168] next [13:14:05.168] invokeRestart(restart) [13:14:05.168] muffled <- TRUE [13:14:05.168] break [13:14:05.168] } [13:14:05.168] } [13:14:05.168] } [13:14:05.168] invisible(muffled) [13:14:05.168] } [13:14:05.168] muffleCondition(cond) [13:14:05.168] }) [13:14:05.168] })) [13:14:05.168] future::FutureResult(value = ...future.value$value, [13:14:05.168] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.168] ...future.rng), globalenv = if (FALSE) [13:14:05.168] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.168] ...future.globalenv.names)) [13:14:05.168] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.168] }, condition = base::local({ [13:14:05.168] c <- base::c [13:14:05.168] inherits <- base::inherits [13:14:05.168] invokeRestart <- base::invokeRestart [13:14:05.168] length <- base::length [13:14:05.168] list <- base::list [13:14:05.168] seq.int <- base::seq.int [13:14:05.168] signalCondition <- base::signalCondition [13:14:05.168] sys.calls <- base::sys.calls [13:14:05.168] `[[` <- base::`[[` [13:14:05.168] `+` <- base::`+` [13:14:05.168] `<<-` <- base::`<<-` [13:14:05.168] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.168] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.168] 3L)] [13:14:05.168] } [13:14:05.168] function(cond) { [13:14:05.168] is_error <- inherits(cond, "error") [13:14:05.168] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.168] NULL) [13:14:05.168] if (is_error) { [13:14:05.168] sessionInformation <- function() { [13:14:05.168] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.168] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.168] search = base::search(), system = base::Sys.info()) [13:14:05.168] } [13:14:05.168] ...future.conditions[[length(...future.conditions) + [13:14:05.168] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.168] cond$call), session = sessionInformation(), [13:14:05.168] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.168] signalCondition(cond) [13:14:05.168] } [13:14:05.168] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.168] "immediateCondition"))) { [13:14:05.168] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.168] ...future.conditions[[length(...future.conditions) + [13:14:05.168] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.168] if (TRUE && !signal) { [13:14:05.168] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.168] { [13:14:05.168] inherits <- base::inherits [13:14:05.168] invokeRestart <- base::invokeRestart [13:14:05.168] is.null <- base::is.null [13:14:05.168] muffled <- FALSE [13:14:05.168] if (inherits(cond, "message")) { [13:14:05.168] muffled <- grepl(pattern, "muffleMessage") [13:14:05.168] if (muffled) [13:14:05.168] invokeRestart("muffleMessage") [13:14:05.168] } [13:14:05.168] else if (inherits(cond, "warning")) { [13:14:05.168] muffled <- grepl(pattern, "muffleWarning") [13:14:05.168] if (muffled) [13:14:05.168] invokeRestart("muffleWarning") [13:14:05.168] } [13:14:05.168] else if (inherits(cond, "condition")) { [13:14:05.168] if (!is.null(pattern)) { [13:14:05.168] computeRestarts <- base::computeRestarts [13:14:05.168] grepl <- base::grepl [13:14:05.168] restarts <- computeRestarts(cond) [13:14:05.168] for (restart in restarts) { [13:14:05.168] name <- restart$name [13:14:05.168] if (is.null(name)) [13:14:05.168] next [13:14:05.168] if (!grepl(pattern, name)) [13:14:05.168] next [13:14:05.168] invokeRestart(restart) [13:14:05.168] muffled <- TRUE [13:14:05.168] break [13:14:05.168] } [13:14:05.168] } [13:14:05.168] } [13:14:05.168] invisible(muffled) [13:14:05.168] } [13:14:05.168] muffleCondition(cond, pattern = "^muffle") [13:14:05.168] } [13:14:05.168] } [13:14:05.168] else { [13:14:05.168] if (TRUE) { [13:14:05.168] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.168] { [13:14:05.168] inherits <- base::inherits [13:14:05.168] invokeRestart <- base::invokeRestart [13:14:05.168] is.null <- base::is.null [13:14:05.168] muffled <- FALSE [13:14:05.168] if (inherits(cond, "message")) { [13:14:05.168] muffled <- grepl(pattern, "muffleMessage") [13:14:05.168] if (muffled) [13:14:05.168] invokeRestart("muffleMessage") [13:14:05.168] } [13:14:05.168] else if (inherits(cond, "warning")) { [13:14:05.168] muffled <- grepl(pattern, "muffleWarning") [13:14:05.168] if (muffled) [13:14:05.168] invokeRestart("muffleWarning") [13:14:05.168] } [13:14:05.168] else if (inherits(cond, "condition")) { [13:14:05.168] if (!is.null(pattern)) { [13:14:05.168] computeRestarts <- base::computeRestarts [13:14:05.168] grepl <- base::grepl [13:14:05.168] restarts <- computeRestarts(cond) [13:14:05.168] for (restart in restarts) { [13:14:05.168] name <- restart$name [13:14:05.168] if (is.null(name)) [13:14:05.168] next [13:14:05.168] if (!grepl(pattern, name)) [13:14:05.168] next [13:14:05.168] invokeRestart(restart) [13:14:05.168] muffled <- TRUE [13:14:05.168] break [13:14:05.168] } [13:14:05.168] } [13:14:05.168] } [13:14:05.168] invisible(muffled) [13:14:05.168] } [13:14:05.168] muffleCondition(cond, pattern = "^muffle") [13:14:05.168] } [13:14:05.168] } [13:14:05.168] } [13:14:05.168] })) [13:14:05.168] }, error = function(ex) { [13:14:05.168] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.168] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.168] ...future.rng), started = ...future.startTime, [13:14:05.168] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.168] version = "1.8"), class = "FutureResult") [13:14:05.168] }, finally = { [13:14:05.168] if (!identical(...future.workdir, getwd())) [13:14:05.168] setwd(...future.workdir) [13:14:05.168] { [13:14:05.168] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.168] ...future.oldOptions$nwarnings <- NULL [13:14:05.168] } [13:14:05.168] base::options(...future.oldOptions) [13:14:05.168] if (.Platform$OS.type == "windows") { [13:14:05.168] old_names <- names(...future.oldEnvVars) [13:14:05.168] envs <- base::Sys.getenv() [13:14:05.168] names <- names(envs) [13:14:05.168] common <- intersect(names, old_names) [13:14:05.168] added <- setdiff(names, old_names) [13:14:05.168] removed <- setdiff(old_names, names) [13:14:05.168] changed <- common[...future.oldEnvVars[common] != [13:14:05.168] envs[common]] [13:14:05.168] NAMES <- toupper(changed) [13:14:05.168] args <- list() [13:14:05.168] for (kk in seq_along(NAMES)) { [13:14:05.168] name <- changed[[kk]] [13:14:05.168] NAME <- NAMES[[kk]] [13:14:05.168] if (name != NAME && is.element(NAME, old_names)) [13:14:05.168] next [13:14:05.168] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.168] } [13:14:05.168] NAMES <- toupper(added) [13:14:05.168] for (kk in seq_along(NAMES)) { [13:14:05.168] name <- added[[kk]] [13:14:05.168] NAME <- NAMES[[kk]] [13:14:05.168] if (name != NAME && is.element(NAME, old_names)) [13:14:05.168] next [13:14:05.168] args[[name]] <- "" [13:14:05.168] } [13:14:05.168] NAMES <- toupper(removed) [13:14:05.168] for (kk in seq_along(NAMES)) { [13:14:05.168] name <- removed[[kk]] [13:14:05.168] NAME <- NAMES[[kk]] [13:14:05.168] if (name != NAME && is.element(NAME, old_names)) [13:14:05.168] next [13:14:05.168] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.168] } [13:14:05.168] if (length(args) > 0) [13:14:05.168] base::do.call(base::Sys.setenv, args = args) [13:14:05.168] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.168] } [13:14:05.168] else { [13:14:05.168] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.168] } [13:14:05.168] { [13:14:05.168] if (base::length(...future.futureOptionsAdded) > [13:14:05.168] 0L) { [13:14:05.168] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.168] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.168] base::options(opts) [13:14:05.168] } [13:14:05.168] { [13:14:05.168] { [13:14:05.168] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.168] NULL [13:14:05.168] } [13:14:05.168] options(future.plan = NULL) [13:14:05.168] if (is.na(NA_character_)) [13:14:05.168] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.168] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.168] future::plan(list(function (..., workers = availableCores(), [13:14:05.168] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.168] envir = parent.frame()) [13:14:05.168] { [13:14:05.168] if (is.function(workers)) [13:14:05.168] workers <- workers() [13:14:05.168] workers <- structure(as.integer(workers), [13:14:05.168] class = class(workers)) [13:14:05.168] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.168] workers >= 1) [13:14:05.168] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.168] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.168] } [13:14:05.168] future <- MultisessionFuture(..., workers = workers, [13:14:05.168] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.168] envir = envir) [13:14:05.168] if (!future$lazy) [13:14:05.168] future <- run(future) [13:14:05.168] invisible(future) [13:14:05.168] }), .cleanup = FALSE, .init = FALSE) [13:14:05.168] } [13:14:05.168] } [13:14:05.168] } [13:14:05.168] }) [13:14:05.168] if (TRUE) { [13:14:05.168] base::sink(type = "output", split = FALSE) [13:14:05.168] if (TRUE) { [13:14:05.168] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.168] } [13:14:05.168] else { [13:14:05.168] ...future.result["stdout"] <- base::list(NULL) [13:14:05.168] } [13:14:05.168] base::close(...future.stdout) [13:14:05.168] ...future.stdout <- NULL [13:14:05.168] } [13:14:05.168] ...future.result$conditions <- ...future.conditions [13:14:05.168] ...future.result$finished <- base::Sys.time() [13:14:05.168] ...future.result [13:14:05.168] } [13:14:05.174] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:05.174] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:05.175] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:05.175] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.175] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.176] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:05.176] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:05.176] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.177] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.177] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.177] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.178] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:05.178] MultisessionFuture started [13:14:05.179] - Launch lazy future ... done [13:14:05.179] run() for 'MultisessionFuture' ... done [13:14:05.179] Created future: [13:14:05.194] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.194] - Validating connection of MultisessionFuture [13:14:05.194] - received message: FutureResult [13:14:05.195] - Received FutureResult [13:14:05.195] - Erased future from FutureRegistry [13:14:05.195] result() for ClusterFuture ... [13:14:05.195] - result already collected: FutureResult [13:14:05.195] result() for ClusterFuture ... done [13:14:05.195] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.179] MultisessionFuture: [13:14:05.179] Label: 'future_sapply-2' [13:14:05.179] Expression: [13:14:05.179] { [13:14:05.179] do.call(function(...) { [13:14:05.179] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.179] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.179] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.179] on.exit(options(oopts), add = TRUE) [13:14:05.179] } [13:14:05.179] { [13:14:05.179] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.179] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.179] ...future.FUN(...future.X_jj, ...) [13:14:05.179] }) [13:14:05.179] } [13:14:05.179] }, args = future.call.arguments) [13:14:05.179] } [13:14:05.179] Lazy evaluation: FALSE [13:14:05.179] Asynchronous evaluation: TRUE [13:14:05.179] Local evaluation: TRUE [13:14:05.179] Environment: R_GlobalEnv [13:14:05.179] Capture standard output: TRUE [13:14:05.179] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.179] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.179] Packages: [13:14:05.179] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.179] Resolved: TRUE [13:14:05.179] Value: [13:14:05.179] Conditions captured: [13:14:05.179] Early signaling: FALSE [13:14:05.179] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.179] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.196] Chunk #2 of 2 ... DONE [13:14:05.196] Launching 2 futures (chunks) ... DONE [13:14:05.196] Resolving 2 futures (chunks) ... [13:14:05.196] resolve() on list ... [13:14:05.196] recursive: 0 [13:14:05.197] length: 2 [13:14:05.197] [13:14:05.197] Future #1 [13:14:05.197] result() for ClusterFuture ... [13:14:05.197] - result already collected: FutureResult [13:14:05.197] result() for ClusterFuture ... done [13:14:05.198] result() for ClusterFuture ... [13:14:05.198] - result already collected: FutureResult [13:14:05.198] result() for ClusterFuture ... done [13:14:05.198] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:05.198] - nx: 2 [13:14:05.198] - relay: TRUE [13:14:05.198] - stdout: TRUE [13:14:05.199] - signal: TRUE [13:14:05.199] - resignal: FALSE [13:14:05.199] - force: TRUE [13:14:05.199] - relayed: [n=2] FALSE, FALSE [13:14:05.199] - queued futures: [n=2] FALSE, FALSE [13:14:05.199] - until=1 [13:14:05.200] - relaying element #1 [13:14:05.200] result() for ClusterFuture ... [13:14:05.200] - result already collected: FutureResult [13:14:05.200] result() for ClusterFuture ... done [13:14:05.200] result() for ClusterFuture ... [13:14:05.200] - result already collected: FutureResult [13:14:05.200] result() for ClusterFuture ... done [13:14:05.201] result() for ClusterFuture ... [13:14:05.201] - result already collected: FutureResult [13:14:05.201] result() for ClusterFuture ... done [13:14:05.201] result() for ClusterFuture ... [13:14:05.201] - result already collected: FutureResult [13:14:05.201] result() for ClusterFuture ... done [13:14:05.202] - relayed: [n=2] TRUE, FALSE [13:14:05.202] - queued futures: [n=2] TRUE, FALSE [13:14:05.202] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:05.202] length: 1 (resolved future 1) [13:14:05.202] Future #2 [13:14:05.202] result() for ClusterFuture ... [13:14:05.203] - result already collected: FutureResult [13:14:05.203] result() for ClusterFuture ... done [13:14:05.203] result() for ClusterFuture ... [13:14:05.203] - result already collected: FutureResult [13:14:05.203] result() for ClusterFuture ... done [13:14:05.203] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:05.204] - nx: 2 [13:14:05.204] - relay: TRUE [13:14:05.204] - stdout: TRUE [13:14:05.204] - signal: TRUE [13:14:05.204] - resignal: FALSE [13:14:05.204] - force: TRUE [13:14:05.204] - relayed: [n=2] TRUE, FALSE [13:14:05.205] - queued futures: [n=2] TRUE, FALSE [13:14:05.205] - until=2 [13:14:05.205] - relaying element #2 [13:14:05.205] result() for ClusterFuture ... [13:14:05.205] - result already collected: FutureResult [13:14:05.205] result() for ClusterFuture ... done [13:14:05.206] result() for ClusterFuture ... [13:14:05.206] - result already collected: FutureResult [13:14:05.206] result() for ClusterFuture ... done [13:14:05.206] result() for ClusterFuture ... [13:14:05.206] - result already collected: FutureResult [13:14:05.206] result() for ClusterFuture ... done [13:14:05.207] result() for ClusterFuture ... [13:14:05.207] - result already collected: FutureResult [13:14:05.207] result() for ClusterFuture ... done [13:14:05.207] - relayed: [n=2] TRUE, TRUE [13:14:05.207] - queued futures: [n=2] TRUE, TRUE [13:14:05.207] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:05.208] length: 0 (resolved future 2) [13:14:05.208] Relaying remaining futures [13:14:05.208] signalConditionsASAP(NULL, pos=0) ... [13:14:05.208] - nx: 2 [13:14:05.208] - relay: TRUE [13:14:05.208] - stdout: TRUE [13:14:05.208] - signal: TRUE [13:14:05.209] - resignal: FALSE [13:14:05.209] - force: TRUE [13:14:05.209] - relayed: [n=2] TRUE, TRUE [13:14:05.209] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:05.209] - relayed: [n=2] TRUE, TRUE [13:14:05.209] - queued futures: [n=2] TRUE, TRUE [13:14:05.210] signalConditionsASAP(NULL, pos=0) ... done [13:14:05.210] resolve() on list ... DONE [13:14:05.210] result() for ClusterFuture ... [13:14:05.210] - result already collected: FutureResult [13:14:05.210] result() for ClusterFuture ... done [13:14:05.210] result() for ClusterFuture ... [13:14:05.211] - result already collected: FutureResult [13:14:05.211] result() for ClusterFuture ... done [13:14:05.211] result() for ClusterFuture ... [13:14:05.211] - result already collected: FutureResult [13:14:05.211] result() for ClusterFuture ... done [13:14:05.211] result() for ClusterFuture ... [13:14:05.211] - result already collected: FutureResult [13:14:05.212] result() for ClusterFuture ... done [13:14:05.212] - Number of value chunks collected: 2 [13:14:05.212] Resolving 2 futures (chunks) ... DONE [13:14:05.212] Reducing values from 2 chunks ... [13:14:05.212] - Number of values collected after concatenation: 3 [13:14:05.212] - Number of values expected: 3 [13:14:05.213] Reducing values from 2 chunks ... DONE [13:14:05.213] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:05.216] future_lapply() ... [13:14:05.219] Number of chunks: 2 [13:14:05.219] getGlobalsAndPackagesXApply() ... [13:14:05.219] - future.globals: TRUE [13:14:05.219] getGlobalsAndPackages() ... [13:14:05.219] Searching for globals... [13:14:05.221] - globals found: [1] 'FUN' [13:14:05.221] Searching for globals ... DONE [13:14:05.221] Resolving globals: FALSE [13:14:05.221] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:05.222] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:05.222] - globals: [1] 'FUN' [13:14:05.222] [13:14:05.222] getGlobalsAndPackages() ... DONE [13:14:05.222] - globals found/used: [n=1] 'FUN' [13:14:05.223] - needed namespaces: [n=0] [13:14:05.223] Finding globals ... DONE [13:14:05.223] - use_args: TRUE [13:14:05.223] - Getting '...' globals ... [13:14:05.223] resolve() on list ... [13:14:05.224] recursive: 0 [13:14:05.224] length: 1 [13:14:05.224] elements: '...' [13:14:05.224] length: 0 (resolved future 1) [13:14:05.224] resolve() on list ... DONE [13:14:05.224] - '...' content: [n=0] [13:14:05.225] List of 1 [13:14:05.225] $ ...: list() [13:14:05.225] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.225] - attr(*, "where")=List of 1 [13:14:05.225] ..$ ...: [13:14:05.225] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.225] - attr(*, "resolved")= logi TRUE [13:14:05.225] - attr(*, "total_size")= num NA [13:14:05.228] - Getting '...' globals ... DONE [13:14:05.228] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:05.228] List of 2 [13:14:05.228] $ ...future.FUN:function (x) [13:14:05.228] $ ... : list() [13:14:05.228] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.228] - attr(*, "where")=List of 2 [13:14:05.228] ..$ ...future.FUN: [13:14:05.228] ..$ ... : [13:14:05.228] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.228] - attr(*, "resolved")= logi FALSE [13:14:05.228] - attr(*, "total_size")= num 848 [13:14:05.231] Packages to be attached in all futures: [n=0] [13:14:05.232] getGlobalsAndPackagesXApply() ... DONE [13:14:05.232] Number of futures (= number of chunks): 2 [13:14:05.232] Launching 2 futures (chunks) ... [13:14:05.232] Chunk #1 of 2 ... [13:14:05.232] - Finding globals in 'X' for chunk #1 ... [13:14:05.233] getGlobalsAndPackages() ... [13:14:05.233] Searching for globals... [13:14:05.233] [13:14:05.233] Searching for globals ... DONE [13:14:05.233] - globals: [0] [13:14:05.234] getGlobalsAndPackages() ... DONE [13:14:05.234] + additional globals found: [n=0] [13:14:05.234] + additional namespaces needed: [n=0] [13:14:05.234] - Finding globals in 'X' for chunk #1 ... DONE [13:14:05.234] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.234] - seeds: [13:14:05.234] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.235] getGlobalsAndPackages() ... [13:14:05.235] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.235] Resolving globals: FALSE [13:14:05.235] Tweak future expression to call with '...' arguments ... [13:14:05.235] { [13:14:05.235] do.call(function(...) { [13:14:05.235] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.235] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.235] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.235] on.exit(options(oopts), add = TRUE) [13:14:05.235] } [13:14:05.235] { [13:14:05.235] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.235] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.235] ...future.FUN(...future.X_jj, ...) [13:14:05.235] }) [13:14:05.235] } [13:14:05.235] }, args = future.call.arguments) [13:14:05.235] } [13:14:05.236] Tweak future expression to call with '...' arguments ... DONE [13:14:05.236] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.237] [13:14:05.237] getGlobalsAndPackages() ... DONE [13:14:05.237] run() for 'Future' ... [13:14:05.237] - state: 'created' [13:14:05.237] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.251] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.252] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.252] - Field: 'node' [13:14:05.252] - Field: 'label' [13:14:05.252] - Field: 'local' [13:14:05.252] - Field: 'owner' [13:14:05.252] - Field: 'envir' [13:14:05.253] - Field: 'workers' [13:14:05.253] - Field: 'packages' [13:14:05.253] - Field: 'gc' [13:14:05.253] - Field: 'conditions' [13:14:05.253] - Field: 'persistent' [13:14:05.254] - Field: 'expr' [13:14:05.254] - Field: 'uuid' [13:14:05.254] - Field: 'seed' [13:14:05.254] - Field: 'version' [13:14:05.254] - Field: 'result' [13:14:05.254] - Field: 'asynchronous' [13:14:05.255] - Field: 'calls' [13:14:05.255] - Field: 'globals' [13:14:05.255] - Field: 'stdout' [13:14:05.255] - Field: 'earlySignal' [13:14:05.255] - Field: 'lazy' [13:14:05.255] - Field: 'state' [13:14:05.256] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.256] - Launch lazy future ... [13:14:05.256] Packages needed by the future expression (n = 0): [13:14:05.256] Packages needed by future strategies (n = 0): [13:14:05.257] { [13:14:05.257] { [13:14:05.257] { [13:14:05.257] ...future.startTime <- base::Sys.time() [13:14:05.257] { [13:14:05.257] { [13:14:05.257] { [13:14:05.257] { [13:14:05.257] base::local({ [13:14:05.257] has_future <- base::requireNamespace("future", [13:14:05.257] quietly = TRUE) [13:14:05.257] if (has_future) { [13:14:05.257] ns <- base::getNamespace("future") [13:14:05.257] version <- ns[[".package"]][["version"]] [13:14:05.257] if (is.null(version)) [13:14:05.257] version <- utils::packageVersion("future") [13:14:05.257] } [13:14:05.257] else { [13:14:05.257] version <- NULL [13:14:05.257] } [13:14:05.257] if (!has_future || version < "1.8.0") { [13:14:05.257] info <- base::c(r_version = base::gsub("R version ", [13:14:05.257] "", base::R.version$version.string), [13:14:05.257] platform = base::sprintf("%s (%s-bit)", [13:14:05.257] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.257] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.257] "release", "version")], collapse = " "), [13:14:05.257] hostname = base::Sys.info()[["nodename"]]) [13:14:05.257] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.257] info) [13:14:05.257] info <- base::paste(info, collapse = "; ") [13:14:05.257] if (!has_future) { [13:14:05.257] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.257] info) [13:14:05.257] } [13:14:05.257] else { [13:14:05.257] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.257] info, version) [13:14:05.257] } [13:14:05.257] base::stop(msg) [13:14:05.257] } [13:14:05.257] }) [13:14:05.257] } [13:14:05.257] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.257] base::options(mc.cores = 1L) [13:14:05.257] } [13:14:05.257] options(future.plan = NULL) [13:14:05.257] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.257] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.257] } [13:14:05.257] ...future.workdir <- getwd() [13:14:05.257] } [13:14:05.257] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.257] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.257] } [13:14:05.257] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.257] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.257] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.257] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.257] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.257] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.257] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.257] base::names(...future.oldOptions)) [13:14:05.257] } [13:14:05.257] if (FALSE) { [13:14:05.257] } [13:14:05.257] else { [13:14:05.257] if (TRUE) { [13:14:05.257] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.257] open = "w") [13:14:05.257] } [13:14:05.257] else { [13:14:05.257] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.257] windows = "NUL", "/dev/null"), open = "w") [13:14:05.257] } [13:14:05.257] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.257] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.257] base::sink(type = "output", split = FALSE) [13:14:05.257] base::close(...future.stdout) [13:14:05.257] }, add = TRUE) [13:14:05.257] } [13:14:05.257] ...future.frame <- base::sys.nframe() [13:14:05.257] ...future.conditions <- base::list() [13:14:05.257] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.257] if (FALSE) { [13:14:05.257] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.257] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.257] } [13:14:05.257] ...future.result <- base::tryCatch({ [13:14:05.257] base::withCallingHandlers({ [13:14:05.257] ...future.value <- base::withVisible(base::local({ [13:14:05.257] ...future.makeSendCondition <- local({ [13:14:05.257] sendCondition <- NULL [13:14:05.257] function(frame = 1L) { [13:14:05.257] if (is.function(sendCondition)) [13:14:05.257] return(sendCondition) [13:14:05.257] ns <- getNamespace("parallel") [13:14:05.257] if (exists("sendData", mode = "function", [13:14:05.257] envir = ns)) { [13:14:05.257] parallel_sendData <- get("sendData", mode = "function", [13:14:05.257] envir = ns) [13:14:05.257] envir <- sys.frame(frame) [13:14:05.257] master <- NULL [13:14:05.257] while (!identical(envir, .GlobalEnv) && [13:14:05.257] !identical(envir, emptyenv())) { [13:14:05.257] if (exists("master", mode = "list", envir = envir, [13:14:05.257] inherits = FALSE)) { [13:14:05.257] master <- get("master", mode = "list", [13:14:05.257] envir = envir, inherits = FALSE) [13:14:05.257] if (inherits(master, c("SOCKnode", [13:14:05.257] "SOCK0node"))) { [13:14:05.257] sendCondition <<- function(cond) { [13:14:05.257] data <- list(type = "VALUE", value = cond, [13:14:05.257] success = TRUE) [13:14:05.257] parallel_sendData(master, data) [13:14:05.257] } [13:14:05.257] return(sendCondition) [13:14:05.257] } [13:14:05.257] } [13:14:05.257] frame <- frame + 1L [13:14:05.257] envir <- sys.frame(frame) [13:14:05.257] } [13:14:05.257] } [13:14:05.257] sendCondition <<- function(cond) NULL [13:14:05.257] } [13:14:05.257] }) [13:14:05.257] withCallingHandlers({ [13:14:05.257] { [13:14:05.257] do.call(function(...) { [13:14:05.257] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.257] if (!identical(...future.globals.maxSize.org, [13:14:05.257] ...future.globals.maxSize)) { [13:14:05.257] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.257] on.exit(options(oopts), add = TRUE) [13:14:05.257] } [13:14:05.257] { [13:14:05.257] lapply(seq_along(...future.elements_ii), [13:14:05.257] FUN = function(jj) { [13:14:05.257] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.257] ...future.FUN(...future.X_jj, ...) [13:14:05.257] }) [13:14:05.257] } [13:14:05.257] }, args = future.call.arguments) [13:14:05.257] } [13:14:05.257] }, immediateCondition = function(cond) { [13:14:05.257] sendCondition <- ...future.makeSendCondition() [13:14:05.257] sendCondition(cond) [13:14:05.257] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.257] { [13:14:05.257] inherits <- base::inherits [13:14:05.257] invokeRestart <- base::invokeRestart [13:14:05.257] is.null <- base::is.null [13:14:05.257] muffled <- FALSE [13:14:05.257] if (inherits(cond, "message")) { [13:14:05.257] muffled <- grepl(pattern, "muffleMessage") [13:14:05.257] if (muffled) [13:14:05.257] invokeRestart("muffleMessage") [13:14:05.257] } [13:14:05.257] else if (inherits(cond, "warning")) { [13:14:05.257] muffled <- grepl(pattern, "muffleWarning") [13:14:05.257] if (muffled) [13:14:05.257] invokeRestart("muffleWarning") [13:14:05.257] } [13:14:05.257] else if (inherits(cond, "condition")) { [13:14:05.257] if (!is.null(pattern)) { [13:14:05.257] computeRestarts <- base::computeRestarts [13:14:05.257] grepl <- base::grepl [13:14:05.257] restarts <- computeRestarts(cond) [13:14:05.257] for (restart in restarts) { [13:14:05.257] name <- restart$name [13:14:05.257] if (is.null(name)) [13:14:05.257] next [13:14:05.257] if (!grepl(pattern, name)) [13:14:05.257] next [13:14:05.257] invokeRestart(restart) [13:14:05.257] muffled <- TRUE [13:14:05.257] break [13:14:05.257] } [13:14:05.257] } [13:14:05.257] } [13:14:05.257] invisible(muffled) [13:14:05.257] } [13:14:05.257] muffleCondition(cond) [13:14:05.257] }) [13:14:05.257] })) [13:14:05.257] future::FutureResult(value = ...future.value$value, [13:14:05.257] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.257] ...future.rng), globalenv = if (FALSE) [13:14:05.257] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.257] ...future.globalenv.names)) [13:14:05.257] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.257] }, condition = base::local({ [13:14:05.257] c <- base::c [13:14:05.257] inherits <- base::inherits [13:14:05.257] invokeRestart <- base::invokeRestart [13:14:05.257] length <- base::length [13:14:05.257] list <- base::list [13:14:05.257] seq.int <- base::seq.int [13:14:05.257] signalCondition <- base::signalCondition [13:14:05.257] sys.calls <- base::sys.calls [13:14:05.257] `[[` <- base::`[[` [13:14:05.257] `+` <- base::`+` [13:14:05.257] `<<-` <- base::`<<-` [13:14:05.257] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.257] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.257] 3L)] [13:14:05.257] } [13:14:05.257] function(cond) { [13:14:05.257] is_error <- inherits(cond, "error") [13:14:05.257] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.257] NULL) [13:14:05.257] if (is_error) { [13:14:05.257] sessionInformation <- function() { [13:14:05.257] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.257] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.257] search = base::search(), system = base::Sys.info()) [13:14:05.257] } [13:14:05.257] ...future.conditions[[length(...future.conditions) + [13:14:05.257] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.257] cond$call), session = sessionInformation(), [13:14:05.257] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.257] signalCondition(cond) [13:14:05.257] } [13:14:05.257] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.257] "immediateCondition"))) { [13:14:05.257] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.257] ...future.conditions[[length(...future.conditions) + [13:14:05.257] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.257] if (TRUE && !signal) { [13:14:05.257] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.257] { [13:14:05.257] inherits <- base::inherits [13:14:05.257] invokeRestart <- base::invokeRestart [13:14:05.257] is.null <- base::is.null [13:14:05.257] muffled <- FALSE [13:14:05.257] if (inherits(cond, "message")) { [13:14:05.257] muffled <- grepl(pattern, "muffleMessage") [13:14:05.257] if (muffled) [13:14:05.257] invokeRestart("muffleMessage") [13:14:05.257] } [13:14:05.257] else if (inherits(cond, "warning")) { [13:14:05.257] muffled <- grepl(pattern, "muffleWarning") [13:14:05.257] if (muffled) [13:14:05.257] invokeRestart("muffleWarning") [13:14:05.257] } [13:14:05.257] else if (inherits(cond, "condition")) { [13:14:05.257] if (!is.null(pattern)) { [13:14:05.257] computeRestarts <- base::computeRestarts [13:14:05.257] grepl <- base::grepl [13:14:05.257] restarts <- computeRestarts(cond) [13:14:05.257] for (restart in restarts) { [13:14:05.257] name <- restart$name [13:14:05.257] if (is.null(name)) [13:14:05.257] next [13:14:05.257] if (!grepl(pattern, name)) [13:14:05.257] next [13:14:05.257] invokeRestart(restart) [13:14:05.257] muffled <- TRUE [13:14:05.257] break [13:14:05.257] } [13:14:05.257] } [13:14:05.257] } [13:14:05.257] invisible(muffled) [13:14:05.257] } [13:14:05.257] muffleCondition(cond, pattern = "^muffle") [13:14:05.257] } [13:14:05.257] } [13:14:05.257] else { [13:14:05.257] if (TRUE) { [13:14:05.257] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.257] { [13:14:05.257] inherits <- base::inherits [13:14:05.257] invokeRestart <- base::invokeRestart [13:14:05.257] is.null <- base::is.null [13:14:05.257] muffled <- FALSE [13:14:05.257] if (inherits(cond, "message")) { [13:14:05.257] muffled <- grepl(pattern, "muffleMessage") [13:14:05.257] if (muffled) [13:14:05.257] invokeRestart("muffleMessage") [13:14:05.257] } [13:14:05.257] else if (inherits(cond, "warning")) { [13:14:05.257] muffled <- grepl(pattern, "muffleWarning") [13:14:05.257] if (muffled) [13:14:05.257] invokeRestart("muffleWarning") [13:14:05.257] } [13:14:05.257] else if (inherits(cond, "condition")) { [13:14:05.257] if (!is.null(pattern)) { [13:14:05.257] computeRestarts <- base::computeRestarts [13:14:05.257] grepl <- base::grepl [13:14:05.257] restarts <- computeRestarts(cond) [13:14:05.257] for (restart in restarts) { [13:14:05.257] name <- restart$name [13:14:05.257] if (is.null(name)) [13:14:05.257] next [13:14:05.257] if (!grepl(pattern, name)) [13:14:05.257] next [13:14:05.257] invokeRestart(restart) [13:14:05.257] muffled <- TRUE [13:14:05.257] break [13:14:05.257] } [13:14:05.257] } [13:14:05.257] } [13:14:05.257] invisible(muffled) [13:14:05.257] } [13:14:05.257] muffleCondition(cond, pattern = "^muffle") [13:14:05.257] } [13:14:05.257] } [13:14:05.257] } [13:14:05.257] })) [13:14:05.257] }, error = function(ex) { [13:14:05.257] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.257] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.257] ...future.rng), started = ...future.startTime, [13:14:05.257] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.257] version = "1.8"), class = "FutureResult") [13:14:05.257] }, finally = { [13:14:05.257] if (!identical(...future.workdir, getwd())) [13:14:05.257] setwd(...future.workdir) [13:14:05.257] { [13:14:05.257] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.257] ...future.oldOptions$nwarnings <- NULL [13:14:05.257] } [13:14:05.257] base::options(...future.oldOptions) [13:14:05.257] if (.Platform$OS.type == "windows") { [13:14:05.257] old_names <- names(...future.oldEnvVars) [13:14:05.257] envs <- base::Sys.getenv() [13:14:05.257] names <- names(envs) [13:14:05.257] common <- intersect(names, old_names) [13:14:05.257] added <- setdiff(names, old_names) [13:14:05.257] removed <- setdiff(old_names, names) [13:14:05.257] changed <- common[...future.oldEnvVars[common] != [13:14:05.257] envs[common]] [13:14:05.257] NAMES <- toupper(changed) [13:14:05.257] args <- list() [13:14:05.257] for (kk in seq_along(NAMES)) { [13:14:05.257] name <- changed[[kk]] [13:14:05.257] NAME <- NAMES[[kk]] [13:14:05.257] if (name != NAME && is.element(NAME, old_names)) [13:14:05.257] next [13:14:05.257] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.257] } [13:14:05.257] NAMES <- toupper(added) [13:14:05.257] for (kk in seq_along(NAMES)) { [13:14:05.257] name <- added[[kk]] [13:14:05.257] NAME <- NAMES[[kk]] [13:14:05.257] if (name != NAME && is.element(NAME, old_names)) [13:14:05.257] next [13:14:05.257] args[[name]] <- "" [13:14:05.257] } [13:14:05.257] NAMES <- toupper(removed) [13:14:05.257] for (kk in seq_along(NAMES)) { [13:14:05.257] name <- removed[[kk]] [13:14:05.257] NAME <- NAMES[[kk]] [13:14:05.257] if (name != NAME && is.element(NAME, old_names)) [13:14:05.257] next [13:14:05.257] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.257] } [13:14:05.257] if (length(args) > 0) [13:14:05.257] base::do.call(base::Sys.setenv, args = args) [13:14:05.257] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.257] } [13:14:05.257] else { [13:14:05.257] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.257] } [13:14:05.257] { [13:14:05.257] if (base::length(...future.futureOptionsAdded) > [13:14:05.257] 0L) { [13:14:05.257] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.257] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.257] base::options(opts) [13:14:05.257] } [13:14:05.257] { [13:14:05.257] { [13:14:05.257] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.257] NULL [13:14:05.257] } [13:14:05.257] options(future.plan = NULL) [13:14:05.257] if (is.na(NA_character_)) [13:14:05.257] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.257] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.257] future::plan(list(function (..., workers = availableCores(), [13:14:05.257] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.257] envir = parent.frame()) [13:14:05.257] { [13:14:05.257] if (is.function(workers)) [13:14:05.257] workers <- workers() [13:14:05.257] workers <- structure(as.integer(workers), [13:14:05.257] class = class(workers)) [13:14:05.257] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.257] workers >= 1) [13:14:05.257] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.257] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.257] } [13:14:05.257] future <- MultisessionFuture(..., workers = workers, [13:14:05.257] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.257] envir = envir) [13:14:05.257] if (!future$lazy) [13:14:05.257] future <- run(future) [13:14:05.257] invisible(future) [13:14:05.257] }), .cleanup = FALSE, .init = FALSE) [13:14:05.257] } [13:14:05.257] } [13:14:05.257] } [13:14:05.257] }) [13:14:05.257] if (TRUE) { [13:14:05.257] base::sink(type = "output", split = FALSE) [13:14:05.257] if (TRUE) { [13:14:05.257] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.257] } [13:14:05.257] else { [13:14:05.257] ...future.result["stdout"] <- base::list(NULL) [13:14:05.257] } [13:14:05.257] base::close(...future.stdout) [13:14:05.257] ...future.stdout <- NULL [13:14:05.257] } [13:14:05.257] ...future.result$conditions <- ...future.conditions [13:14:05.257] ...future.result$finished <- base::Sys.time() [13:14:05.257] ...future.result [13:14:05.257] } [13:14:05.262] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:05.263] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:05.263] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:05.263] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.264] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.264] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:05.264] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:05.265] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.265] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.265] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.266] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.266] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:05.266] MultisessionFuture started [13:14:05.267] - Launch lazy future ... done [13:14:05.267] run() for 'MultisessionFuture' ... done [13:14:05.267] Created future: [13:14:05.282] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.283] - Validating connection of MultisessionFuture [13:14:05.283] - received message: FutureResult [13:14:05.283] - Received FutureResult [13:14:05.283] - Erased future from FutureRegistry [13:14:05.284] result() for ClusterFuture ... [13:14:05.284] - result already collected: FutureResult [13:14:05.284] result() for ClusterFuture ... done [13:14:05.284] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.267] MultisessionFuture: [13:14:05.267] Label: 'future_sapply-1' [13:14:05.267] Expression: [13:14:05.267] { [13:14:05.267] do.call(function(...) { [13:14:05.267] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.267] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.267] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.267] on.exit(options(oopts), add = TRUE) [13:14:05.267] } [13:14:05.267] { [13:14:05.267] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.267] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.267] ...future.FUN(...future.X_jj, ...) [13:14:05.267] }) [13:14:05.267] } [13:14:05.267] }, args = future.call.arguments) [13:14:05.267] } [13:14:05.267] Lazy evaluation: FALSE [13:14:05.267] Asynchronous evaluation: TRUE [13:14:05.267] Local evaluation: TRUE [13:14:05.267] Environment: R_GlobalEnv [13:14:05.267] Capture standard output: TRUE [13:14:05.267] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.267] Globals: 5 objects totaling 904 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.267] Packages: [13:14:05.267] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.267] Resolved: TRUE [13:14:05.267] Value: [13:14:05.267] Conditions captured: [13:14:05.267] Early signaling: FALSE [13:14:05.267] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.267] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.284] Chunk #1 of 2 ... DONE [13:14:05.285] Chunk #2 of 2 ... [13:14:05.285] - Finding globals in 'X' for chunk #2 ... [13:14:05.285] getGlobalsAndPackages() ... [13:14:05.285] Searching for globals... [13:14:05.285] [13:14:05.286] Searching for globals ... DONE [13:14:05.286] - globals: [0] [13:14:05.286] getGlobalsAndPackages() ... DONE [13:14:05.286] + additional globals found: [n=0] [13:14:05.286] + additional namespaces needed: [n=0] [13:14:05.286] - Finding globals in 'X' for chunk #2 ... DONE [13:14:05.287] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.287] - seeds: [13:14:05.287] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.287] getGlobalsAndPackages() ... [13:14:05.287] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.287] Resolving globals: FALSE [13:14:05.288] Tweak future expression to call with '...' arguments ... [13:14:05.288] { [13:14:05.288] do.call(function(...) { [13:14:05.288] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.288] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.288] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.288] on.exit(options(oopts), add = TRUE) [13:14:05.288] } [13:14:05.288] { [13:14:05.288] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.288] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.288] ...future.FUN(...future.X_jj, ...) [13:14:05.288] }) [13:14:05.288] } [13:14:05.288] }, args = future.call.arguments) [13:14:05.288] } [13:14:05.288] Tweak future expression to call with '...' arguments ... DONE [13:14:05.289] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.289] [13:14:05.289] getGlobalsAndPackages() ... DONE [13:14:05.289] run() for 'Future' ... [13:14:05.290] - state: 'created' [13:14:05.290] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.304] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.304] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.304] - Field: 'node' [13:14:05.304] - Field: 'label' [13:14:05.305] - Field: 'local' [13:14:05.305] - Field: 'owner' [13:14:05.305] - Field: 'envir' [13:14:05.305] - Field: 'workers' [13:14:05.305] - Field: 'packages' [13:14:05.305] - Field: 'gc' [13:14:05.306] - Field: 'conditions' [13:14:05.306] - Field: 'persistent' [13:14:05.306] - Field: 'expr' [13:14:05.306] - Field: 'uuid' [13:14:05.306] - Field: 'seed' [13:14:05.306] - Field: 'version' [13:14:05.307] - Field: 'result' [13:14:05.307] - Field: 'asynchronous' [13:14:05.307] - Field: 'calls' [13:14:05.307] - Field: 'globals' [13:14:05.307] - Field: 'stdout' [13:14:05.308] - Field: 'earlySignal' [13:14:05.308] - Field: 'lazy' [13:14:05.308] - Field: 'state' [13:14:05.308] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.308] - Launch lazy future ... [13:14:05.309] Packages needed by the future expression (n = 0): [13:14:05.309] Packages needed by future strategies (n = 0): [13:14:05.309] { [13:14:05.309] { [13:14:05.309] { [13:14:05.309] ...future.startTime <- base::Sys.time() [13:14:05.309] { [13:14:05.309] { [13:14:05.309] { [13:14:05.309] { [13:14:05.309] base::local({ [13:14:05.309] has_future <- base::requireNamespace("future", [13:14:05.309] quietly = TRUE) [13:14:05.309] if (has_future) { [13:14:05.309] ns <- base::getNamespace("future") [13:14:05.309] version <- ns[[".package"]][["version"]] [13:14:05.309] if (is.null(version)) [13:14:05.309] version <- utils::packageVersion("future") [13:14:05.309] } [13:14:05.309] else { [13:14:05.309] version <- NULL [13:14:05.309] } [13:14:05.309] if (!has_future || version < "1.8.0") { [13:14:05.309] info <- base::c(r_version = base::gsub("R version ", [13:14:05.309] "", base::R.version$version.string), [13:14:05.309] platform = base::sprintf("%s (%s-bit)", [13:14:05.309] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.309] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.309] "release", "version")], collapse = " "), [13:14:05.309] hostname = base::Sys.info()[["nodename"]]) [13:14:05.309] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.309] info) [13:14:05.309] info <- base::paste(info, collapse = "; ") [13:14:05.309] if (!has_future) { [13:14:05.309] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.309] info) [13:14:05.309] } [13:14:05.309] else { [13:14:05.309] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.309] info, version) [13:14:05.309] } [13:14:05.309] base::stop(msg) [13:14:05.309] } [13:14:05.309] }) [13:14:05.309] } [13:14:05.309] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.309] base::options(mc.cores = 1L) [13:14:05.309] } [13:14:05.309] options(future.plan = NULL) [13:14:05.309] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.309] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.309] } [13:14:05.309] ...future.workdir <- getwd() [13:14:05.309] } [13:14:05.309] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.309] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.309] } [13:14:05.309] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.309] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.309] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.309] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.309] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.309] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.309] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.309] base::names(...future.oldOptions)) [13:14:05.309] } [13:14:05.309] if (FALSE) { [13:14:05.309] } [13:14:05.309] else { [13:14:05.309] if (TRUE) { [13:14:05.309] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.309] open = "w") [13:14:05.309] } [13:14:05.309] else { [13:14:05.309] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.309] windows = "NUL", "/dev/null"), open = "w") [13:14:05.309] } [13:14:05.309] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.309] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.309] base::sink(type = "output", split = FALSE) [13:14:05.309] base::close(...future.stdout) [13:14:05.309] }, add = TRUE) [13:14:05.309] } [13:14:05.309] ...future.frame <- base::sys.nframe() [13:14:05.309] ...future.conditions <- base::list() [13:14:05.309] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.309] if (FALSE) { [13:14:05.309] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.309] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.309] } [13:14:05.309] ...future.result <- base::tryCatch({ [13:14:05.309] base::withCallingHandlers({ [13:14:05.309] ...future.value <- base::withVisible(base::local({ [13:14:05.309] ...future.makeSendCondition <- local({ [13:14:05.309] sendCondition <- NULL [13:14:05.309] function(frame = 1L) { [13:14:05.309] if (is.function(sendCondition)) [13:14:05.309] return(sendCondition) [13:14:05.309] ns <- getNamespace("parallel") [13:14:05.309] if (exists("sendData", mode = "function", [13:14:05.309] envir = ns)) { [13:14:05.309] parallel_sendData <- get("sendData", mode = "function", [13:14:05.309] envir = ns) [13:14:05.309] envir <- sys.frame(frame) [13:14:05.309] master <- NULL [13:14:05.309] while (!identical(envir, .GlobalEnv) && [13:14:05.309] !identical(envir, emptyenv())) { [13:14:05.309] if (exists("master", mode = "list", envir = envir, [13:14:05.309] inherits = FALSE)) { [13:14:05.309] master <- get("master", mode = "list", [13:14:05.309] envir = envir, inherits = FALSE) [13:14:05.309] if (inherits(master, c("SOCKnode", [13:14:05.309] "SOCK0node"))) { [13:14:05.309] sendCondition <<- function(cond) { [13:14:05.309] data <- list(type = "VALUE", value = cond, [13:14:05.309] success = TRUE) [13:14:05.309] parallel_sendData(master, data) [13:14:05.309] } [13:14:05.309] return(sendCondition) [13:14:05.309] } [13:14:05.309] } [13:14:05.309] frame <- frame + 1L [13:14:05.309] envir <- sys.frame(frame) [13:14:05.309] } [13:14:05.309] } [13:14:05.309] sendCondition <<- function(cond) NULL [13:14:05.309] } [13:14:05.309] }) [13:14:05.309] withCallingHandlers({ [13:14:05.309] { [13:14:05.309] do.call(function(...) { [13:14:05.309] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.309] if (!identical(...future.globals.maxSize.org, [13:14:05.309] ...future.globals.maxSize)) { [13:14:05.309] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.309] on.exit(options(oopts), add = TRUE) [13:14:05.309] } [13:14:05.309] { [13:14:05.309] lapply(seq_along(...future.elements_ii), [13:14:05.309] FUN = function(jj) { [13:14:05.309] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.309] ...future.FUN(...future.X_jj, ...) [13:14:05.309] }) [13:14:05.309] } [13:14:05.309] }, args = future.call.arguments) [13:14:05.309] } [13:14:05.309] }, immediateCondition = function(cond) { [13:14:05.309] sendCondition <- ...future.makeSendCondition() [13:14:05.309] sendCondition(cond) [13:14:05.309] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.309] { [13:14:05.309] inherits <- base::inherits [13:14:05.309] invokeRestart <- base::invokeRestart [13:14:05.309] is.null <- base::is.null [13:14:05.309] muffled <- FALSE [13:14:05.309] if (inherits(cond, "message")) { [13:14:05.309] muffled <- grepl(pattern, "muffleMessage") [13:14:05.309] if (muffled) [13:14:05.309] invokeRestart("muffleMessage") [13:14:05.309] } [13:14:05.309] else if (inherits(cond, "warning")) { [13:14:05.309] muffled <- grepl(pattern, "muffleWarning") [13:14:05.309] if (muffled) [13:14:05.309] invokeRestart("muffleWarning") [13:14:05.309] } [13:14:05.309] else if (inherits(cond, "condition")) { [13:14:05.309] if (!is.null(pattern)) { [13:14:05.309] computeRestarts <- base::computeRestarts [13:14:05.309] grepl <- base::grepl [13:14:05.309] restarts <- computeRestarts(cond) [13:14:05.309] for (restart in restarts) { [13:14:05.309] name <- restart$name [13:14:05.309] if (is.null(name)) [13:14:05.309] next [13:14:05.309] if (!grepl(pattern, name)) [13:14:05.309] next [13:14:05.309] invokeRestart(restart) [13:14:05.309] muffled <- TRUE [13:14:05.309] break [13:14:05.309] } [13:14:05.309] } [13:14:05.309] } [13:14:05.309] invisible(muffled) [13:14:05.309] } [13:14:05.309] muffleCondition(cond) [13:14:05.309] }) [13:14:05.309] })) [13:14:05.309] future::FutureResult(value = ...future.value$value, [13:14:05.309] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.309] ...future.rng), globalenv = if (FALSE) [13:14:05.309] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.309] ...future.globalenv.names)) [13:14:05.309] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.309] }, condition = base::local({ [13:14:05.309] c <- base::c [13:14:05.309] inherits <- base::inherits [13:14:05.309] invokeRestart <- base::invokeRestart [13:14:05.309] length <- base::length [13:14:05.309] list <- base::list [13:14:05.309] seq.int <- base::seq.int [13:14:05.309] signalCondition <- base::signalCondition [13:14:05.309] sys.calls <- base::sys.calls [13:14:05.309] `[[` <- base::`[[` [13:14:05.309] `+` <- base::`+` [13:14:05.309] `<<-` <- base::`<<-` [13:14:05.309] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.309] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.309] 3L)] [13:14:05.309] } [13:14:05.309] function(cond) { [13:14:05.309] is_error <- inherits(cond, "error") [13:14:05.309] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.309] NULL) [13:14:05.309] if (is_error) { [13:14:05.309] sessionInformation <- function() { [13:14:05.309] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.309] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.309] search = base::search(), system = base::Sys.info()) [13:14:05.309] } [13:14:05.309] ...future.conditions[[length(...future.conditions) + [13:14:05.309] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.309] cond$call), session = sessionInformation(), [13:14:05.309] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.309] signalCondition(cond) [13:14:05.309] } [13:14:05.309] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.309] "immediateCondition"))) { [13:14:05.309] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.309] ...future.conditions[[length(...future.conditions) + [13:14:05.309] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.309] if (TRUE && !signal) { [13:14:05.309] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.309] { [13:14:05.309] inherits <- base::inherits [13:14:05.309] invokeRestart <- base::invokeRestart [13:14:05.309] is.null <- base::is.null [13:14:05.309] muffled <- FALSE [13:14:05.309] if (inherits(cond, "message")) { [13:14:05.309] muffled <- grepl(pattern, "muffleMessage") [13:14:05.309] if (muffled) [13:14:05.309] invokeRestart("muffleMessage") [13:14:05.309] } [13:14:05.309] else if (inherits(cond, "warning")) { [13:14:05.309] muffled <- grepl(pattern, "muffleWarning") [13:14:05.309] if (muffled) [13:14:05.309] invokeRestart("muffleWarning") [13:14:05.309] } [13:14:05.309] else if (inherits(cond, "condition")) { [13:14:05.309] if (!is.null(pattern)) { [13:14:05.309] computeRestarts <- base::computeRestarts [13:14:05.309] grepl <- base::grepl [13:14:05.309] restarts <- computeRestarts(cond) [13:14:05.309] for (restart in restarts) { [13:14:05.309] name <- restart$name [13:14:05.309] if (is.null(name)) [13:14:05.309] next [13:14:05.309] if (!grepl(pattern, name)) [13:14:05.309] next [13:14:05.309] invokeRestart(restart) [13:14:05.309] muffled <- TRUE [13:14:05.309] break [13:14:05.309] } [13:14:05.309] } [13:14:05.309] } [13:14:05.309] invisible(muffled) [13:14:05.309] } [13:14:05.309] muffleCondition(cond, pattern = "^muffle") [13:14:05.309] } [13:14:05.309] } [13:14:05.309] else { [13:14:05.309] if (TRUE) { [13:14:05.309] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.309] { [13:14:05.309] inherits <- base::inherits [13:14:05.309] invokeRestart <- base::invokeRestart [13:14:05.309] is.null <- base::is.null [13:14:05.309] muffled <- FALSE [13:14:05.309] if (inherits(cond, "message")) { [13:14:05.309] muffled <- grepl(pattern, "muffleMessage") [13:14:05.309] if (muffled) [13:14:05.309] invokeRestart("muffleMessage") [13:14:05.309] } [13:14:05.309] else if (inherits(cond, "warning")) { [13:14:05.309] muffled <- grepl(pattern, "muffleWarning") [13:14:05.309] if (muffled) [13:14:05.309] invokeRestart("muffleWarning") [13:14:05.309] } [13:14:05.309] else if (inherits(cond, "condition")) { [13:14:05.309] if (!is.null(pattern)) { [13:14:05.309] computeRestarts <- base::computeRestarts [13:14:05.309] grepl <- base::grepl [13:14:05.309] restarts <- computeRestarts(cond) [13:14:05.309] for (restart in restarts) { [13:14:05.309] name <- restart$name [13:14:05.309] if (is.null(name)) [13:14:05.309] next [13:14:05.309] if (!grepl(pattern, name)) [13:14:05.309] next [13:14:05.309] invokeRestart(restart) [13:14:05.309] muffled <- TRUE [13:14:05.309] break [13:14:05.309] } [13:14:05.309] } [13:14:05.309] } [13:14:05.309] invisible(muffled) [13:14:05.309] } [13:14:05.309] muffleCondition(cond, pattern = "^muffle") [13:14:05.309] } [13:14:05.309] } [13:14:05.309] } [13:14:05.309] })) [13:14:05.309] }, error = function(ex) { [13:14:05.309] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.309] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.309] ...future.rng), started = ...future.startTime, [13:14:05.309] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.309] version = "1.8"), class = "FutureResult") [13:14:05.309] }, finally = { [13:14:05.309] if (!identical(...future.workdir, getwd())) [13:14:05.309] setwd(...future.workdir) [13:14:05.309] { [13:14:05.309] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.309] ...future.oldOptions$nwarnings <- NULL [13:14:05.309] } [13:14:05.309] base::options(...future.oldOptions) [13:14:05.309] if (.Platform$OS.type == "windows") { [13:14:05.309] old_names <- names(...future.oldEnvVars) [13:14:05.309] envs <- base::Sys.getenv() [13:14:05.309] names <- names(envs) [13:14:05.309] common <- intersect(names, old_names) [13:14:05.309] added <- setdiff(names, old_names) [13:14:05.309] removed <- setdiff(old_names, names) [13:14:05.309] changed <- common[...future.oldEnvVars[common] != [13:14:05.309] envs[common]] [13:14:05.309] NAMES <- toupper(changed) [13:14:05.309] args <- list() [13:14:05.309] for (kk in seq_along(NAMES)) { [13:14:05.309] name <- changed[[kk]] [13:14:05.309] NAME <- NAMES[[kk]] [13:14:05.309] if (name != NAME && is.element(NAME, old_names)) [13:14:05.309] next [13:14:05.309] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.309] } [13:14:05.309] NAMES <- toupper(added) [13:14:05.309] for (kk in seq_along(NAMES)) { [13:14:05.309] name <- added[[kk]] [13:14:05.309] NAME <- NAMES[[kk]] [13:14:05.309] if (name != NAME && is.element(NAME, old_names)) [13:14:05.309] next [13:14:05.309] args[[name]] <- "" [13:14:05.309] } [13:14:05.309] NAMES <- toupper(removed) [13:14:05.309] for (kk in seq_along(NAMES)) { [13:14:05.309] name <- removed[[kk]] [13:14:05.309] NAME <- NAMES[[kk]] [13:14:05.309] if (name != NAME && is.element(NAME, old_names)) [13:14:05.309] next [13:14:05.309] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.309] } [13:14:05.309] if (length(args) > 0) [13:14:05.309] base::do.call(base::Sys.setenv, args = args) [13:14:05.309] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.309] } [13:14:05.309] else { [13:14:05.309] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.309] } [13:14:05.309] { [13:14:05.309] if (base::length(...future.futureOptionsAdded) > [13:14:05.309] 0L) { [13:14:05.309] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.309] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.309] base::options(opts) [13:14:05.309] } [13:14:05.309] { [13:14:05.309] { [13:14:05.309] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.309] NULL [13:14:05.309] } [13:14:05.309] options(future.plan = NULL) [13:14:05.309] if (is.na(NA_character_)) [13:14:05.309] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.309] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.309] future::plan(list(function (..., workers = availableCores(), [13:14:05.309] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.309] envir = parent.frame()) [13:14:05.309] { [13:14:05.309] if (is.function(workers)) [13:14:05.309] workers <- workers() [13:14:05.309] workers <- structure(as.integer(workers), [13:14:05.309] class = class(workers)) [13:14:05.309] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.309] workers >= 1) [13:14:05.309] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.309] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.309] } [13:14:05.309] future <- MultisessionFuture(..., workers = workers, [13:14:05.309] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.309] envir = envir) [13:14:05.309] if (!future$lazy) [13:14:05.309] future <- run(future) [13:14:05.309] invisible(future) [13:14:05.309] }), .cleanup = FALSE, .init = FALSE) [13:14:05.309] } [13:14:05.309] } [13:14:05.309] } [13:14:05.309] }) [13:14:05.309] if (TRUE) { [13:14:05.309] base::sink(type = "output", split = FALSE) [13:14:05.309] if (TRUE) { [13:14:05.309] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.309] } [13:14:05.309] else { [13:14:05.309] ...future.result["stdout"] <- base::list(NULL) [13:14:05.309] } [13:14:05.309] base::close(...future.stdout) [13:14:05.309] ...future.stdout <- NULL [13:14:05.309] } [13:14:05.309] ...future.result$conditions <- ...future.conditions [13:14:05.309] ...future.result$finished <- base::Sys.time() [13:14:05.309] ...future.result [13:14:05.309] } [13:14:05.315] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:05.315] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:05.315] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:05.316] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.316] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.316] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:05.317] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:05.317] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.320] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.320] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.320] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.321] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:05.321] MultisessionFuture started [13:14:05.321] - Launch lazy future ... done [13:14:05.322] run() for 'MultisessionFuture' ... done [13:14:05.322] Created future: [13:14:05.337] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.337] - Validating connection of MultisessionFuture [13:14:05.338] - received message: FutureResult [13:14:05.338] - Received FutureResult [13:14:05.338] - Erased future from FutureRegistry [13:14:05.338] result() for ClusterFuture ... [13:14:05.338] - result already collected: FutureResult [13:14:05.339] result() for ClusterFuture ... done [13:14:05.339] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.322] MultisessionFuture: [13:14:05.322] Label: 'future_sapply-2' [13:14:05.322] Expression: [13:14:05.322] { [13:14:05.322] do.call(function(...) { [13:14:05.322] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.322] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.322] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.322] on.exit(options(oopts), add = TRUE) [13:14:05.322] } [13:14:05.322] { [13:14:05.322] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.322] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.322] ...future.FUN(...future.X_jj, ...) [13:14:05.322] }) [13:14:05.322] } [13:14:05.322] }, args = future.call.arguments) [13:14:05.322] } [13:14:05.322] Lazy evaluation: FALSE [13:14:05.322] Asynchronous evaluation: TRUE [13:14:05.322] Local evaluation: TRUE [13:14:05.322] Environment: R_GlobalEnv [13:14:05.322] Capture standard output: TRUE [13:14:05.322] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.322] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.322] Packages: [13:14:05.322] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.322] Resolved: TRUE [13:14:05.322] Value: [13:14:05.322] Conditions captured: [13:14:05.322] Early signaling: FALSE [13:14:05.322] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.322] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.339] Chunk #2 of 2 ... DONE [13:14:05.339] Launching 2 futures (chunks) ... DONE [13:14:05.339] Resolving 2 futures (chunks) ... [13:14:05.340] resolve() on list ... [13:14:05.340] recursive: 0 [13:14:05.340] length: 2 [13:14:05.340] [13:14:05.340] Future #1 [13:14:05.340] result() for ClusterFuture ... [13:14:05.341] - result already collected: FutureResult [13:14:05.341] result() for ClusterFuture ... done [13:14:05.341] result() for ClusterFuture ... [13:14:05.341] - result already collected: FutureResult [13:14:05.341] result() for ClusterFuture ... done [13:14:05.341] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:05.342] - nx: 2 [13:14:05.342] - relay: TRUE [13:14:05.342] - stdout: TRUE [13:14:05.342] - signal: TRUE [13:14:05.342] - resignal: FALSE [13:14:05.342] - force: TRUE [13:14:05.342] - relayed: [n=2] FALSE, FALSE [13:14:05.343] - queued futures: [n=2] FALSE, FALSE [13:14:05.343] - until=1 [13:14:05.343] - relaying element #1 [13:14:05.343] result() for ClusterFuture ... [13:14:05.343] - result already collected: FutureResult [13:14:05.343] result() for ClusterFuture ... done [13:14:05.344] result() for ClusterFuture ... [13:14:05.344] - result already collected: FutureResult [13:14:05.344] result() for ClusterFuture ... done [13:14:05.344] result() for ClusterFuture ... [13:14:05.344] - result already collected: FutureResult [13:14:05.344] result() for ClusterFuture ... done [13:14:05.345] result() for ClusterFuture ... [13:14:05.345] - result already collected: FutureResult [13:14:05.345] result() for ClusterFuture ... done [13:14:05.345] - relayed: [n=2] TRUE, FALSE [13:14:05.345] - queued futures: [n=2] TRUE, FALSE [13:14:05.345] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:05.346] length: 1 (resolved future 1) [13:14:05.346] Future #2 [13:14:05.346] result() for ClusterFuture ... [13:14:05.346] - result already collected: FutureResult [13:14:05.346] result() for ClusterFuture ... done [13:14:05.346] result() for ClusterFuture ... [13:14:05.347] - result already collected: FutureResult [13:14:05.347] result() for ClusterFuture ... done [13:14:05.347] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:05.347] - nx: 2 [13:14:05.347] - relay: TRUE [13:14:05.347] - stdout: TRUE [13:14:05.348] - signal: TRUE [13:14:05.348] - resignal: FALSE [13:14:05.348] - force: TRUE [13:14:05.348] - relayed: [n=2] TRUE, FALSE [13:14:05.348] - queued futures: [n=2] TRUE, FALSE [13:14:05.348] - until=2 [13:14:05.349] - relaying element #2 [13:14:05.349] result() for ClusterFuture ... [13:14:05.349] - result already collected: FutureResult [13:14:05.349] result() for ClusterFuture ... done [13:14:05.349] result() for ClusterFuture ... [13:14:05.350] - result already collected: FutureResult [13:14:05.350] result() for ClusterFuture ... done [13:14:05.350] result() for ClusterFuture ... [13:14:05.350] - result already collected: FutureResult [13:14:05.350] result() for ClusterFuture ... done [13:14:05.351] result() for ClusterFuture ... [13:14:05.351] - result already collected: FutureResult [13:14:05.351] result() for ClusterFuture ... done [13:14:05.351] - relayed: [n=2] TRUE, TRUE [13:14:05.351] - queued futures: [n=2] TRUE, TRUE [13:14:05.351] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:05.352] length: 0 (resolved future 2) [13:14:05.352] Relaying remaining futures [13:14:05.352] signalConditionsASAP(NULL, pos=0) ... [13:14:05.352] - nx: 2 [13:14:05.352] - relay: TRUE [13:14:05.353] - stdout: TRUE [13:14:05.353] - signal: TRUE [13:14:05.353] - resignal: FALSE [13:14:05.353] - force: TRUE [13:14:05.353] - relayed: [n=2] TRUE, TRUE [13:14:05.353] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:05.354] - relayed: [n=2] TRUE, TRUE [13:14:05.354] - queued futures: [n=2] TRUE, TRUE [13:14:05.354] signalConditionsASAP(NULL, pos=0) ... done [13:14:05.354] resolve() on list ... DONE [13:14:05.354] result() for ClusterFuture ... [13:14:05.355] - result already collected: FutureResult [13:14:05.355] result() for ClusterFuture ... done [13:14:05.355] result() for ClusterFuture ... [13:14:05.355] - result already collected: FutureResult [13:14:05.355] result() for ClusterFuture ... done [13:14:05.355] result() for ClusterFuture ... [13:14:05.356] - result already collected: FutureResult [13:14:05.356] result() for ClusterFuture ... done [13:14:05.356] result() for ClusterFuture ... [13:14:05.356] - result already collected: FutureResult [13:14:05.356] result() for ClusterFuture ... done [13:14:05.356] - Number of value chunks collected: 2 [13:14:05.357] Resolving 2 futures (chunks) ... DONE [13:14:05.357] Reducing values from 2 chunks ... [13:14:05.357] - Number of values collected after concatenation: 3 [13:14:05.357] - Number of values expected: 3 [13:14:05.357] Reducing values from 2 chunks ... DONE [13:14:05.357] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:05.359] future_lapply() ... [13:14:05.362] Number of chunks: 2 [13:14:05.362] getGlobalsAndPackagesXApply() ... [13:14:05.363] - future.globals: TRUE [13:14:05.363] getGlobalsAndPackages() ... [13:14:05.363] Searching for globals... [13:14:05.364] - globals found: [2] 'FUN', 'UseMethod' [13:14:05.364] Searching for globals ... DONE [13:14:05.365] Resolving globals: FALSE [13:14:05.365] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:05.365] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:05.366] - globals: [1] 'FUN' [13:14:05.366] [13:14:05.366] getGlobalsAndPackages() ... DONE [13:14:05.366] - globals found/used: [n=1] 'FUN' [13:14:05.366] - needed namespaces: [n=0] [13:14:05.366] Finding globals ... DONE [13:14:05.367] - use_args: TRUE [13:14:05.367] - Getting '...' globals ... [13:14:05.367] resolve() on list ... [13:14:05.367] recursive: 0 [13:14:05.367] length: 1 [13:14:05.368] elements: '...' [13:14:05.368] length: 0 (resolved future 1) [13:14:05.368] resolve() on list ... DONE [13:14:05.368] - '...' content: [n=0] [13:14:05.368] List of 1 [13:14:05.368] $ ...: list() [13:14:05.368] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.368] - attr(*, "where")=List of 1 [13:14:05.368] ..$ ...: [13:14:05.368] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.368] - attr(*, "resolved")= logi TRUE [13:14:05.368] - attr(*, "total_size")= num NA [13:14:05.371] - Getting '...' globals ... DONE [13:14:05.372] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:05.372] List of 2 [13:14:05.372] $ ...future.FUN:function (x, ...) [13:14:05.372] $ ... : list() [13:14:05.372] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.372] - attr(*, "where")=List of 2 [13:14:05.372] ..$ ...future.FUN: [13:14:05.372] ..$ ... : [13:14:05.372] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.372] - attr(*, "resolved")= logi FALSE [13:14:05.372] - attr(*, "total_size")= num 1248 [13:14:05.375] Packages to be attached in all futures: [n=0] [13:14:05.375] getGlobalsAndPackagesXApply() ... DONE [13:14:05.376] Number of futures (= number of chunks): 2 [13:14:05.376] Launching 2 futures (chunks) ... [13:14:05.376] Chunk #1 of 2 ... [13:14:05.376] - Finding globals in 'X' for chunk #1 ... [13:14:05.376] getGlobalsAndPackages() ... [13:14:05.376] Searching for globals... [13:14:05.377] [13:14:05.377] Searching for globals ... DONE [13:14:05.377] - globals: [0] [13:14:05.377] getGlobalsAndPackages() ... DONE [13:14:05.377] + additional globals found: [n=0] [13:14:05.378] + additional namespaces needed: [n=0] [13:14:05.378] - Finding globals in 'X' for chunk #1 ... DONE [13:14:05.378] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.378] - seeds: [13:14:05.378] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.378] getGlobalsAndPackages() ... [13:14:05.379] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.379] Resolving globals: FALSE [13:14:05.379] Tweak future expression to call with '...' arguments ... [13:14:05.379] { [13:14:05.379] do.call(function(...) { [13:14:05.379] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.379] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.379] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.379] on.exit(options(oopts), add = TRUE) [13:14:05.379] } [13:14:05.379] { [13:14:05.379] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.379] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.379] ...future.FUN(...future.X_jj, ...) [13:14:05.379] }) [13:14:05.379] } [13:14:05.379] }, args = future.call.arguments) [13:14:05.379] } [13:14:05.380] Tweak future expression to call with '...' arguments ... DONE [13:14:05.380] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.380] [13:14:05.380] getGlobalsAndPackages() ... DONE [13:14:05.381] run() for 'Future' ... [13:14:05.381] - state: 'created' [13:14:05.381] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.395] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.395] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.396] - Field: 'node' [13:14:05.396] - Field: 'label' [13:14:05.396] - Field: 'local' [13:14:05.396] - Field: 'owner' [13:14:05.396] - Field: 'envir' [13:14:05.397] - Field: 'workers' [13:14:05.397] - Field: 'packages' [13:14:05.397] - Field: 'gc' [13:14:05.397] - Field: 'conditions' [13:14:05.397] - Field: 'persistent' [13:14:05.397] - Field: 'expr' [13:14:05.398] - Field: 'uuid' [13:14:05.398] - Field: 'seed' [13:14:05.398] - Field: 'version' [13:14:05.398] - Field: 'result' [13:14:05.398] - Field: 'asynchronous' [13:14:05.398] - Field: 'calls' [13:14:05.399] - Field: 'globals' [13:14:05.399] - Field: 'stdout' [13:14:05.399] - Field: 'earlySignal' [13:14:05.399] - Field: 'lazy' [13:14:05.399] - Field: 'state' [13:14:05.400] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.400] - Launch lazy future ... [13:14:05.400] Packages needed by the future expression (n = 0): [13:14:05.400] Packages needed by future strategies (n = 0): [13:14:05.401] { [13:14:05.401] { [13:14:05.401] { [13:14:05.401] ...future.startTime <- base::Sys.time() [13:14:05.401] { [13:14:05.401] { [13:14:05.401] { [13:14:05.401] { [13:14:05.401] base::local({ [13:14:05.401] has_future <- base::requireNamespace("future", [13:14:05.401] quietly = TRUE) [13:14:05.401] if (has_future) { [13:14:05.401] ns <- base::getNamespace("future") [13:14:05.401] version <- ns[[".package"]][["version"]] [13:14:05.401] if (is.null(version)) [13:14:05.401] version <- utils::packageVersion("future") [13:14:05.401] } [13:14:05.401] else { [13:14:05.401] version <- NULL [13:14:05.401] } [13:14:05.401] if (!has_future || version < "1.8.0") { [13:14:05.401] info <- base::c(r_version = base::gsub("R version ", [13:14:05.401] "", base::R.version$version.string), [13:14:05.401] platform = base::sprintf("%s (%s-bit)", [13:14:05.401] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.401] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.401] "release", "version")], collapse = " "), [13:14:05.401] hostname = base::Sys.info()[["nodename"]]) [13:14:05.401] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.401] info) [13:14:05.401] info <- base::paste(info, collapse = "; ") [13:14:05.401] if (!has_future) { [13:14:05.401] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.401] info) [13:14:05.401] } [13:14:05.401] else { [13:14:05.401] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.401] info, version) [13:14:05.401] } [13:14:05.401] base::stop(msg) [13:14:05.401] } [13:14:05.401] }) [13:14:05.401] } [13:14:05.401] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.401] base::options(mc.cores = 1L) [13:14:05.401] } [13:14:05.401] options(future.plan = NULL) [13:14:05.401] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.401] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.401] } [13:14:05.401] ...future.workdir <- getwd() [13:14:05.401] } [13:14:05.401] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.401] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.401] } [13:14:05.401] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.401] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.401] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.401] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.401] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.401] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.401] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.401] base::names(...future.oldOptions)) [13:14:05.401] } [13:14:05.401] if (FALSE) { [13:14:05.401] } [13:14:05.401] else { [13:14:05.401] if (TRUE) { [13:14:05.401] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.401] open = "w") [13:14:05.401] } [13:14:05.401] else { [13:14:05.401] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.401] windows = "NUL", "/dev/null"), open = "w") [13:14:05.401] } [13:14:05.401] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.401] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.401] base::sink(type = "output", split = FALSE) [13:14:05.401] base::close(...future.stdout) [13:14:05.401] }, add = TRUE) [13:14:05.401] } [13:14:05.401] ...future.frame <- base::sys.nframe() [13:14:05.401] ...future.conditions <- base::list() [13:14:05.401] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.401] if (FALSE) { [13:14:05.401] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.401] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.401] } [13:14:05.401] ...future.result <- base::tryCatch({ [13:14:05.401] base::withCallingHandlers({ [13:14:05.401] ...future.value <- base::withVisible(base::local({ [13:14:05.401] ...future.makeSendCondition <- local({ [13:14:05.401] sendCondition <- NULL [13:14:05.401] function(frame = 1L) { [13:14:05.401] if (is.function(sendCondition)) [13:14:05.401] return(sendCondition) [13:14:05.401] ns <- getNamespace("parallel") [13:14:05.401] if (exists("sendData", mode = "function", [13:14:05.401] envir = ns)) { [13:14:05.401] parallel_sendData <- get("sendData", mode = "function", [13:14:05.401] envir = ns) [13:14:05.401] envir <- sys.frame(frame) [13:14:05.401] master <- NULL [13:14:05.401] while (!identical(envir, .GlobalEnv) && [13:14:05.401] !identical(envir, emptyenv())) { [13:14:05.401] if (exists("master", mode = "list", envir = envir, [13:14:05.401] inherits = FALSE)) { [13:14:05.401] master <- get("master", mode = "list", [13:14:05.401] envir = envir, inherits = FALSE) [13:14:05.401] if (inherits(master, c("SOCKnode", [13:14:05.401] "SOCK0node"))) { [13:14:05.401] sendCondition <<- function(cond) { [13:14:05.401] data <- list(type = "VALUE", value = cond, [13:14:05.401] success = TRUE) [13:14:05.401] parallel_sendData(master, data) [13:14:05.401] } [13:14:05.401] return(sendCondition) [13:14:05.401] } [13:14:05.401] } [13:14:05.401] frame <- frame + 1L [13:14:05.401] envir <- sys.frame(frame) [13:14:05.401] } [13:14:05.401] } [13:14:05.401] sendCondition <<- function(cond) NULL [13:14:05.401] } [13:14:05.401] }) [13:14:05.401] withCallingHandlers({ [13:14:05.401] { [13:14:05.401] do.call(function(...) { [13:14:05.401] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.401] if (!identical(...future.globals.maxSize.org, [13:14:05.401] ...future.globals.maxSize)) { [13:14:05.401] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.401] on.exit(options(oopts), add = TRUE) [13:14:05.401] } [13:14:05.401] { [13:14:05.401] lapply(seq_along(...future.elements_ii), [13:14:05.401] FUN = function(jj) { [13:14:05.401] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.401] ...future.FUN(...future.X_jj, ...) [13:14:05.401] }) [13:14:05.401] } [13:14:05.401] }, args = future.call.arguments) [13:14:05.401] } [13:14:05.401] }, immediateCondition = function(cond) { [13:14:05.401] sendCondition <- ...future.makeSendCondition() [13:14:05.401] sendCondition(cond) [13:14:05.401] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.401] { [13:14:05.401] inherits <- base::inherits [13:14:05.401] invokeRestart <- base::invokeRestart [13:14:05.401] is.null <- base::is.null [13:14:05.401] muffled <- FALSE [13:14:05.401] if (inherits(cond, "message")) { [13:14:05.401] muffled <- grepl(pattern, "muffleMessage") [13:14:05.401] if (muffled) [13:14:05.401] invokeRestart("muffleMessage") [13:14:05.401] } [13:14:05.401] else if (inherits(cond, "warning")) { [13:14:05.401] muffled <- grepl(pattern, "muffleWarning") [13:14:05.401] if (muffled) [13:14:05.401] invokeRestart("muffleWarning") [13:14:05.401] } [13:14:05.401] else if (inherits(cond, "condition")) { [13:14:05.401] if (!is.null(pattern)) { [13:14:05.401] computeRestarts <- base::computeRestarts [13:14:05.401] grepl <- base::grepl [13:14:05.401] restarts <- computeRestarts(cond) [13:14:05.401] for (restart in restarts) { [13:14:05.401] name <- restart$name [13:14:05.401] if (is.null(name)) [13:14:05.401] next [13:14:05.401] if (!grepl(pattern, name)) [13:14:05.401] next [13:14:05.401] invokeRestart(restart) [13:14:05.401] muffled <- TRUE [13:14:05.401] break [13:14:05.401] } [13:14:05.401] } [13:14:05.401] } [13:14:05.401] invisible(muffled) [13:14:05.401] } [13:14:05.401] muffleCondition(cond) [13:14:05.401] }) [13:14:05.401] })) [13:14:05.401] future::FutureResult(value = ...future.value$value, [13:14:05.401] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.401] ...future.rng), globalenv = if (FALSE) [13:14:05.401] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.401] ...future.globalenv.names)) [13:14:05.401] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.401] }, condition = base::local({ [13:14:05.401] c <- base::c [13:14:05.401] inherits <- base::inherits [13:14:05.401] invokeRestart <- base::invokeRestart [13:14:05.401] length <- base::length [13:14:05.401] list <- base::list [13:14:05.401] seq.int <- base::seq.int [13:14:05.401] signalCondition <- base::signalCondition [13:14:05.401] sys.calls <- base::sys.calls [13:14:05.401] `[[` <- base::`[[` [13:14:05.401] `+` <- base::`+` [13:14:05.401] `<<-` <- base::`<<-` [13:14:05.401] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.401] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.401] 3L)] [13:14:05.401] } [13:14:05.401] function(cond) { [13:14:05.401] is_error <- inherits(cond, "error") [13:14:05.401] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.401] NULL) [13:14:05.401] if (is_error) { [13:14:05.401] sessionInformation <- function() { [13:14:05.401] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.401] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.401] search = base::search(), system = base::Sys.info()) [13:14:05.401] } [13:14:05.401] ...future.conditions[[length(...future.conditions) + [13:14:05.401] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.401] cond$call), session = sessionInformation(), [13:14:05.401] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.401] signalCondition(cond) [13:14:05.401] } [13:14:05.401] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.401] "immediateCondition"))) { [13:14:05.401] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.401] ...future.conditions[[length(...future.conditions) + [13:14:05.401] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.401] if (TRUE && !signal) { [13:14:05.401] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.401] { [13:14:05.401] inherits <- base::inherits [13:14:05.401] invokeRestart <- base::invokeRestart [13:14:05.401] is.null <- base::is.null [13:14:05.401] muffled <- FALSE [13:14:05.401] if (inherits(cond, "message")) { [13:14:05.401] muffled <- grepl(pattern, "muffleMessage") [13:14:05.401] if (muffled) [13:14:05.401] invokeRestart("muffleMessage") [13:14:05.401] } [13:14:05.401] else if (inherits(cond, "warning")) { [13:14:05.401] muffled <- grepl(pattern, "muffleWarning") [13:14:05.401] if (muffled) [13:14:05.401] invokeRestart("muffleWarning") [13:14:05.401] } [13:14:05.401] else if (inherits(cond, "condition")) { [13:14:05.401] if (!is.null(pattern)) { [13:14:05.401] computeRestarts <- base::computeRestarts [13:14:05.401] grepl <- base::grepl [13:14:05.401] restarts <- computeRestarts(cond) [13:14:05.401] for (restart in restarts) { [13:14:05.401] name <- restart$name [13:14:05.401] if (is.null(name)) [13:14:05.401] next [13:14:05.401] if (!grepl(pattern, name)) [13:14:05.401] next [13:14:05.401] invokeRestart(restart) [13:14:05.401] muffled <- TRUE [13:14:05.401] break [13:14:05.401] } [13:14:05.401] } [13:14:05.401] } [13:14:05.401] invisible(muffled) [13:14:05.401] } [13:14:05.401] muffleCondition(cond, pattern = "^muffle") [13:14:05.401] } [13:14:05.401] } [13:14:05.401] else { [13:14:05.401] if (TRUE) { [13:14:05.401] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.401] { [13:14:05.401] inherits <- base::inherits [13:14:05.401] invokeRestart <- base::invokeRestart [13:14:05.401] is.null <- base::is.null [13:14:05.401] muffled <- FALSE [13:14:05.401] if (inherits(cond, "message")) { [13:14:05.401] muffled <- grepl(pattern, "muffleMessage") [13:14:05.401] if (muffled) [13:14:05.401] invokeRestart("muffleMessage") [13:14:05.401] } [13:14:05.401] else if (inherits(cond, "warning")) { [13:14:05.401] muffled <- grepl(pattern, "muffleWarning") [13:14:05.401] if (muffled) [13:14:05.401] invokeRestart("muffleWarning") [13:14:05.401] } [13:14:05.401] else if (inherits(cond, "condition")) { [13:14:05.401] if (!is.null(pattern)) { [13:14:05.401] computeRestarts <- base::computeRestarts [13:14:05.401] grepl <- base::grepl [13:14:05.401] restarts <- computeRestarts(cond) [13:14:05.401] for (restart in restarts) { [13:14:05.401] name <- restart$name [13:14:05.401] if (is.null(name)) [13:14:05.401] next [13:14:05.401] if (!grepl(pattern, name)) [13:14:05.401] next [13:14:05.401] invokeRestart(restart) [13:14:05.401] muffled <- TRUE [13:14:05.401] break [13:14:05.401] } [13:14:05.401] } [13:14:05.401] } [13:14:05.401] invisible(muffled) [13:14:05.401] } [13:14:05.401] muffleCondition(cond, pattern = "^muffle") [13:14:05.401] } [13:14:05.401] } [13:14:05.401] } [13:14:05.401] })) [13:14:05.401] }, error = function(ex) { [13:14:05.401] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.401] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.401] ...future.rng), started = ...future.startTime, [13:14:05.401] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.401] version = "1.8"), class = "FutureResult") [13:14:05.401] }, finally = { [13:14:05.401] if (!identical(...future.workdir, getwd())) [13:14:05.401] setwd(...future.workdir) [13:14:05.401] { [13:14:05.401] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.401] ...future.oldOptions$nwarnings <- NULL [13:14:05.401] } [13:14:05.401] base::options(...future.oldOptions) [13:14:05.401] if (.Platform$OS.type == "windows") { [13:14:05.401] old_names <- names(...future.oldEnvVars) [13:14:05.401] envs <- base::Sys.getenv() [13:14:05.401] names <- names(envs) [13:14:05.401] common <- intersect(names, old_names) [13:14:05.401] added <- setdiff(names, old_names) [13:14:05.401] removed <- setdiff(old_names, names) [13:14:05.401] changed <- common[...future.oldEnvVars[common] != [13:14:05.401] envs[common]] [13:14:05.401] NAMES <- toupper(changed) [13:14:05.401] args <- list() [13:14:05.401] for (kk in seq_along(NAMES)) { [13:14:05.401] name <- changed[[kk]] [13:14:05.401] NAME <- NAMES[[kk]] [13:14:05.401] if (name != NAME && is.element(NAME, old_names)) [13:14:05.401] next [13:14:05.401] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.401] } [13:14:05.401] NAMES <- toupper(added) [13:14:05.401] for (kk in seq_along(NAMES)) { [13:14:05.401] name <- added[[kk]] [13:14:05.401] NAME <- NAMES[[kk]] [13:14:05.401] if (name != NAME && is.element(NAME, old_names)) [13:14:05.401] next [13:14:05.401] args[[name]] <- "" [13:14:05.401] } [13:14:05.401] NAMES <- toupper(removed) [13:14:05.401] for (kk in seq_along(NAMES)) { [13:14:05.401] name <- removed[[kk]] [13:14:05.401] NAME <- NAMES[[kk]] [13:14:05.401] if (name != NAME && is.element(NAME, old_names)) [13:14:05.401] next [13:14:05.401] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.401] } [13:14:05.401] if (length(args) > 0) [13:14:05.401] base::do.call(base::Sys.setenv, args = args) [13:14:05.401] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.401] } [13:14:05.401] else { [13:14:05.401] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.401] } [13:14:05.401] { [13:14:05.401] if (base::length(...future.futureOptionsAdded) > [13:14:05.401] 0L) { [13:14:05.401] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.401] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.401] base::options(opts) [13:14:05.401] } [13:14:05.401] { [13:14:05.401] { [13:14:05.401] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.401] NULL [13:14:05.401] } [13:14:05.401] options(future.plan = NULL) [13:14:05.401] if (is.na(NA_character_)) [13:14:05.401] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.401] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.401] future::plan(list(function (..., workers = availableCores(), [13:14:05.401] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.401] envir = parent.frame()) [13:14:05.401] { [13:14:05.401] if (is.function(workers)) [13:14:05.401] workers <- workers() [13:14:05.401] workers <- structure(as.integer(workers), [13:14:05.401] class = class(workers)) [13:14:05.401] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.401] workers >= 1) [13:14:05.401] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.401] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.401] } [13:14:05.401] future <- MultisessionFuture(..., workers = workers, [13:14:05.401] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.401] envir = envir) [13:14:05.401] if (!future$lazy) [13:14:05.401] future <- run(future) [13:14:05.401] invisible(future) [13:14:05.401] }), .cleanup = FALSE, .init = FALSE) [13:14:05.401] } [13:14:05.401] } [13:14:05.401] } [13:14:05.401] }) [13:14:05.401] if (TRUE) { [13:14:05.401] base::sink(type = "output", split = FALSE) [13:14:05.401] if (TRUE) { [13:14:05.401] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.401] } [13:14:05.401] else { [13:14:05.401] ...future.result["stdout"] <- base::list(NULL) [13:14:05.401] } [13:14:05.401] base::close(...future.stdout) [13:14:05.401] ...future.stdout <- NULL [13:14:05.401] } [13:14:05.401] ...future.result$conditions <- ...future.conditions [13:14:05.401] ...future.result$finished <- base::Sys.time() [13:14:05.401] ...future.result [13:14:05.401] } [13:14:05.406] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:05.406] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:05.407] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:05.407] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.408] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.408] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:05.408] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:05.408] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.409] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.409] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.409] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.410] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:05.410] MultisessionFuture started [13:14:05.410] - Launch lazy future ... done [13:14:05.411] run() for 'MultisessionFuture' ... done [13:14:05.411] Created future: [13:14:05.425] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.426] - Validating connection of MultisessionFuture [13:14:05.426] - received message: FutureResult [13:14:05.426] - Received FutureResult [13:14:05.426] - Erased future from FutureRegistry [13:14:05.427] result() for ClusterFuture ... [13:14:05.427] - result already collected: FutureResult [13:14:05.427] result() for ClusterFuture ... done [13:14:05.427] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.411] MultisessionFuture: [13:14:05.411] Label: 'future_sapply-1' [13:14:05.411] Expression: [13:14:05.411] { [13:14:05.411] do.call(function(...) { [13:14:05.411] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.411] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.411] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.411] on.exit(options(oopts), add = TRUE) [13:14:05.411] } [13:14:05.411] { [13:14:05.411] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.411] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.411] ...future.FUN(...future.X_jj, ...) [13:14:05.411] }) [13:14:05.411] } [13:14:05.411] }, args = future.call.arguments) [13:14:05.411] } [13:14:05.411] Lazy evaluation: FALSE [13:14:05.411] Asynchronous evaluation: TRUE [13:14:05.411] Local evaluation: TRUE [13:14:05.411] Environment: R_GlobalEnv [13:14:05.411] Capture standard output: TRUE [13:14:05.411] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.411] Globals: 5 objects totaling 1.27 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.411] Packages: [13:14:05.411] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.411] Resolved: TRUE [13:14:05.411] Value: [13:14:05.411] Conditions captured: [13:14:05.411] Early signaling: FALSE [13:14:05.411] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.411] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.427] Chunk #1 of 2 ... DONE [13:14:05.428] Chunk #2 of 2 ... [13:14:05.428] - Finding globals in 'X' for chunk #2 ... [13:14:05.428] getGlobalsAndPackages() ... [13:14:05.428] Searching for globals... [13:14:05.428] [13:14:05.429] Searching for globals ... DONE [13:14:05.429] - globals: [0] [13:14:05.429] getGlobalsAndPackages() ... DONE [13:14:05.429] + additional globals found: [n=0] [13:14:05.429] + additional namespaces needed: [n=0] [13:14:05.429] - Finding globals in 'X' for chunk #2 ... DONE [13:14:05.430] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.430] - seeds: [13:14:05.430] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.430] getGlobalsAndPackages() ... [13:14:05.430] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.430] Resolving globals: FALSE [13:14:05.431] Tweak future expression to call with '...' arguments ... [13:14:05.431] { [13:14:05.431] do.call(function(...) { [13:14:05.431] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.431] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.431] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.431] on.exit(options(oopts), add = TRUE) [13:14:05.431] } [13:14:05.431] { [13:14:05.431] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.431] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.431] ...future.FUN(...future.X_jj, ...) [13:14:05.431] }) [13:14:05.431] } [13:14:05.431] }, args = future.call.arguments) [13:14:05.431] } [13:14:05.431] Tweak future expression to call with '...' arguments ... DONE [13:14:05.432] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.432] [13:14:05.432] getGlobalsAndPackages() ... DONE [13:14:05.432] run() for 'Future' ... [13:14:05.433] - state: 'created' [13:14:05.433] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.447] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.447] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.447] - Field: 'node' [13:14:05.448] - Field: 'label' [13:14:05.448] - Field: 'local' [13:14:05.448] - Field: 'owner' [13:14:05.448] - Field: 'envir' [13:14:05.448] - Field: 'workers' [13:14:05.448] - Field: 'packages' [13:14:05.449] - Field: 'gc' [13:14:05.449] - Field: 'conditions' [13:14:05.449] - Field: 'persistent' [13:14:05.449] - Field: 'expr' [13:14:05.450] - Field: 'uuid' [13:14:05.450] - Field: 'seed' [13:14:05.450] - Field: 'version' [13:14:05.450] - Field: 'result' [13:14:05.450] - Field: 'asynchronous' [13:14:05.450] - Field: 'calls' [13:14:05.451] - Field: 'globals' [13:14:05.451] - Field: 'stdout' [13:14:05.451] - Field: 'earlySignal' [13:14:05.451] - Field: 'lazy' [13:14:05.451] - Field: 'state' [13:14:05.452] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.452] - Launch lazy future ... [13:14:05.452] Packages needed by the future expression (n = 0): [13:14:05.452] Packages needed by future strategies (n = 0): [13:14:05.453] { [13:14:05.453] { [13:14:05.453] { [13:14:05.453] ...future.startTime <- base::Sys.time() [13:14:05.453] { [13:14:05.453] { [13:14:05.453] { [13:14:05.453] { [13:14:05.453] base::local({ [13:14:05.453] has_future <- base::requireNamespace("future", [13:14:05.453] quietly = TRUE) [13:14:05.453] if (has_future) { [13:14:05.453] ns <- base::getNamespace("future") [13:14:05.453] version <- ns[[".package"]][["version"]] [13:14:05.453] if (is.null(version)) [13:14:05.453] version <- utils::packageVersion("future") [13:14:05.453] } [13:14:05.453] else { [13:14:05.453] version <- NULL [13:14:05.453] } [13:14:05.453] if (!has_future || version < "1.8.0") { [13:14:05.453] info <- base::c(r_version = base::gsub("R version ", [13:14:05.453] "", base::R.version$version.string), [13:14:05.453] platform = base::sprintf("%s (%s-bit)", [13:14:05.453] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.453] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.453] "release", "version")], collapse = " "), [13:14:05.453] hostname = base::Sys.info()[["nodename"]]) [13:14:05.453] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.453] info) [13:14:05.453] info <- base::paste(info, collapse = "; ") [13:14:05.453] if (!has_future) { [13:14:05.453] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.453] info) [13:14:05.453] } [13:14:05.453] else { [13:14:05.453] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.453] info, version) [13:14:05.453] } [13:14:05.453] base::stop(msg) [13:14:05.453] } [13:14:05.453] }) [13:14:05.453] } [13:14:05.453] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.453] base::options(mc.cores = 1L) [13:14:05.453] } [13:14:05.453] options(future.plan = NULL) [13:14:05.453] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.453] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.453] } [13:14:05.453] ...future.workdir <- getwd() [13:14:05.453] } [13:14:05.453] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.453] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.453] } [13:14:05.453] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.453] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.453] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.453] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.453] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.453] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.453] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.453] base::names(...future.oldOptions)) [13:14:05.453] } [13:14:05.453] if (FALSE) { [13:14:05.453] } [13:14:05.453] else { [13:14:05.453] if (TRUE) { [13:14:05.453] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.453] open = "w") [13:14:05.453] } [13:14:05.453] else { [13:14:05.453] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.453] windows = "NUL", "/dev/null"), open = "w") [13:14:05.453] } [13:14:05.453] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.453] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.453] base::sink(type = "output", split = FALSE) [13:14:05.453] base::close(...future.stdout) [13:14:05.453] }, add = TRUE) [13:14:05.453] } [13:14:05.453] ...future.frame <- base::sys.nframe() [13:14:05.453] ...future.conditions <- base::list() [13:14:05.453] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.453] if (FALSE) { [13:14:05.453] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.453] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.453] } [13:14:05.453] ...future.result <- base::tryCatch({ [13:14:05.453] base::withCallingHandlers({ [13:14:05.453] ...future.value <- base::withVisible(base::local({ [13:14:05.453] ...future.makeSendCondition <- local({ [13:14:05.453] sendCondition <- NULL [13:14:05.453] function(frame = 1L) { [13:14:05.453] if (is.function(sendCondition)) [13:14:05.453] return(sendCondition) [13:14:05.453] ns <- getNamespace("parallel") [13:14:05.453] if (exists("sendData", mode = "function", [13:14:05.453] envir = ns)) { [13:14:05.453] parallel_sendData <- get("sendData", mode = "function", [13:14:05.453] envir = ns) [13:14:05.453] envir <- sys.frame(frame) [13:14:05.453] master <- NULL [13:14:05.453] while (!identical(envir, .GlobalEnv) && [13:14:05.453] !identical(envir, emptyenv())) { [13:14:05.453] if (exists("master", mode = "list", envir = envir, [13:14:05.453] inherits = FALSE)) { [13:14:05.453] master <- get("master", mode = "list", [13:14:05.453] envir = envir, inherits = FALSE) [13:14:05.453] if (inherits(master, c("SOCKnode", [13:14:05.453] "SOCK0node"))) { [13:14:05.453] sendCondition <<- function(cond) { [13:14:05.453] data <- list(type = "VALUE", value = cond, [13:14:05.453] success = TRUE) [13:14:05.453] parallel_sendData(master, data) [13:14:05.453] } [13:14:05.453] return(sendCondition) [13:14:05.453] } [13:14:05.453] } [13:14:05.453] frame <- frame + 1L [13:14:05.453] envir <- sys.frame(frame) [13:14:05.453] } [13:14:05.453] } [13:14:05.453] sendCondition <<- function(cond) NULL [13:14:05.453] } [13:14:05.453] }) [13:14:05.453] withCallingHandlers({ [13:14:05.453] { [13:14:05.453] do.call(function(...) { [13:14:05.453] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.453] if (!identical(...future.globals.maxSize.org, [13:14:05.453] ...future.globals.maxSize)) { [13:14:05.453] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.453] on.exit(options(oopts), add = TRUE) [13:14:05.453] } [13:14:05.453] { [13:14:05.453] lapply(seq_along(...future.elements_ii), [13:14:05.453] FUN = function(jj) { [13:14:05.453] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.453] ...future.FUN(...future.X_jj, ...) [13:14:05.453] }) [13:14:05.453] } [13:14:05.453] }, args = future.call.arguments) [13:14:05.453] } [13:14:05.453] }, immediateCondition = function(cond) { [13:14:05.453] sendCondition <- ...future.makeSendCondition() [13:14:05.453] sendCondition(cond) [13:14:05.453] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.453] { [13:14:05.453] inherits <- base::inherits [13:14:05.453] invokeRestart <- base::invokeRestart [13:14:05.453] is.null <- base::is.null [13:14:05.453] muffled <- FALSE [13:14:05.453] if (inherits(cond, "message")) { [13:14:05.453] muffled <- grepl(pattern, "muffleMessage") [13:14:05.453] if (muffled) [13:14:05.453] invokeRestart("muffleMessage") [13:14:05.453] } [13:14:05.453] else if (inherits(cond, "warning")) { [13:14:05.453] muffled <- grepl(pattern, "muffleWarning") [13:14:05.453] if (muffled) [13:14:05.453] invokeRestart("muffleWarning") [13:14:05.453] } [13:14:05.453] else if (inherits(cond, "condition")) { [13:14:05.453] if (!is.null(pattern)) { [13:14:05.453] computeRestarts <- base::computeRestarts [13:14:05.453] grepl <- base::grepl [13:14:05.453] restarts <- computeRestarts(cond) [13:14:05.453] for (restart in restarts) { [13:14:05.453] name <- restart$name [13:14:05.453] if (is.null(name)) [13:14:05.453] next [13:14:05.453] if (!grepl(pattern, name)) [13:14:05.453] next [13:14:05.453] invokeRestart(restart) [13:14:05.453] muffled <- TRUE [13:14:05.453] break [13:14:05.453] } [13:14:05.453] } [13:14:05.453] } [13:14:05.453] invisible(muffled) [13:14:05.453] } [13:14:05.453] muffleCondition(cond) [13:14:05.453] }) [13:14:05.453] })) [13:14:05.453] future::FutureResult(value = ...future.value$value, [13:14:05.453] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.453] ...future.rng), globalenv = if (FALSE) [13:14:05.453] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.453] ...future.globalenv.names)) [13:14:05.453] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.453] }, condition = base::local({ [13:14:05.453] c <- base::c [13:14:05.453] inherits <- base::inherits [13:14:05.453] invokeRestart <- base::invokeRestart [13:14:05.453] length <- base::length [13:14:05.453] list <- base::list [13:14:05.453] seq.int <- base::seq.int [13:14:05.453] signalCondition <- base::signalCondition [13:14:05.453] sys.calls <- base::sys.calls [13:14:05.453] `[[` <- base::`[[` [13:14:05.453] `+` <- base::`+` [13:14:05.453] `<<-` <- base::`<<-` [13:14:05.453] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.453] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.453] 3L)] [13:14:05.453] } [13:14:05.453] function(cond) { [13:14:05.453] is_error <- inherits(cond, "error") [13:14:05.453] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.453] NULL) [13:14:05.453] if (is_error) { [13:14:05.453] sessionInformation <- function() { [13:14:05.453] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.453] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.453] search = base::search(), system = base::Sys.info()) [13:14:05.453] } [13:14:05.453] ...future.conditions[[length(...future.conditions) + [13:14:05.453] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.453] cond$call), session = sessionInformation(), [13:14:05.453] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.453] signalCondition(cond) [13:14:05.453] } [13:14:05.453] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.453] "immediateCondition"))) { [13:14:05.453] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.453] ...future.conditions[[length(...future.conditions) + [13:14:05.453] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.453] if (TRUE && !signal) { [13:14:05.453] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.453] { [13:14:05.453] inherits <- base::inherits [13:14:05.453] invokeRestart <- base::invokeRestart [13:14:05.453] is.null <- base::is.null [13:14:05.453] muffled <- FALSE [13:14:05.453] if (inherits(cond, "message")) { [13:14:05.453] muffled <- grepl(pattern, "muffleMessage") [13:14:05.453] if (muffled) [13:14:05.453] invokeRestart("muffleMessage") [13:14:05.453] } [13:14:05.453] else if (inherits(cond, "warning")) { [13:14:05.453] muffled <- grepl(pattern, "muffleWarning") [13:14:05.453] if (muffled) [13:14:05.453] invokeRestart("muffleWarning") [13:14:05.453] } [13:14:05.453] else if (inherits(cond, "condition")) { [13:14:05.453] if (!is.null(pattern)) { [13:14:05.453] computeRestarts <- base::computeRestarts [13:14:05.453] grepl <- base::grepl [13:14:05.453] restarts <- computeRestarts(cond) [13:14:05.453] for (restart in restarts) { [13:14:05.453] name <- restart$name [13:14:05.453] if (is.null(name)) [13:14:05.453] next [13:14:05.453] if (!grepl(pattern, name)) [13:14:05.453] next [13:14:05.453] invokeRestart(restart) [13:14:05.453] muffled <- TRUE [13:14:05.453] break [13:14:05.453] } [13:14:05.453] } [13:14:05.453] } [13:14:05.453] invisible(muffled) [13:14:05.453] } [13:14:05.453] muffleCondition(cond, pattern = "^muffle") [13:14:05.453] } [13:14:05.453] } [13:14:05.453] else { [13:14:05.453] if (TRUE) { [13:14:05.453] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.453] { [13:14:05.453] inherits <- base::inherits [13:14:05.453] invokeRestart <- base::invokeRestart [13:14:05.453] is.null <- base::is.null [13:14:05.453] muffled <- FALSE [13:14:05.453] if (inherits(cond, "message")) { [13:14:05.453] muffled <- grepl(pattern, "muffleMessage") [13:14:05.453] if (muffled) [13:14:05.453] invokeRestart("muffleMessage") [13:14:05.453] } [13:14:05.453] else if (inherits(cond, "warning")) { [13:14:05.453] muffled <- grepl(pattern, "muffleWarning") [13:14:05.453] if (muffled) [13:14:05.453] invokeRestart("muffleWarning") [13:14:05.453] } [13:14:05.453] else if (inherits(cond, "condition")) { [13:14:05.453] if (!is.null(pattern)) { [13:14:05.453] computeRestarts <- base::computeRestarts [13:14:05.453] grepl <- base::grepl [13:14:05.453] restarts <- computeRestarts(cond) [13:14:05.453] for (restart in restarts) { [13:14:05.453] name <- restart$name [13:14:05.453] if (is.null(name)) [13:14:05.453] next [13:14:05.453] if (!grepl(pattern, name)) [13:14:05.453] next [13:14:05.453] invokeRestart(restart) [13:14:05.453] muffled <- TRUE [13:14:05.453] break [13:14:05.453] } [13:14:05.453] } [13:14:05.453] } [13:14:05.453] invisible(muffled) [13:14:05.453] } [13:14:05.453] muffleCondition(cond, pattern = "^muffle") [13:14:05.453] } [13:14:05.453] } [13:14:05.453] } [13:14:05.453] })) [13:14:05.453] }, error = function(ex) { [13:14:05.453] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.453] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.453] ...future.rng), started = ...future.startTime, [13:14:05.453] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.453] version = "1.8"), class = "FutureResult") [13:14:05.453] }, finally = { [13:14:05.453] if (!identical(...future.workdir, getwd())) [13:14:05.453] setwd(...future.workdir) [13:14:05.453] { [13:14:05.453] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.453] ...future.oldOptions$nwarnings <- NULL [13:14:05.453] } [13:14:05.453] base::options(...future.oldOptions) [13:14:05.453] if (.Platform$OS.type == "windows") { [13:14:05.453] old_names <- names(...future.oldEnvVars) [13:14:05.453] envs <- base::Sys.getenv() [13:14:05.453] names <- names(envs) [13:14:05.453] common <- intersect(names, old_names) [13:14:05.453] added <- setdiff(names, old_names) [13:14:05.453] removed <- setdiff(old_names, names) [13:14:05.453] changed <- common[...future.oldEnvVars[common] != [13:14:05.453] envs[common]] [13:14:05.453] NAMES <- toupper(changed) [13:14:05.453] args <- list() [13:14:05.453] for (kk in seq_along(NAMES)) { [13:14:05.453] name <- changed[[kk]] [13:14:05.453] NAME <- NAMES[[kk]] [13:14:05.453] if (name != NAME && is.element(NAME, old_names)) [13:14:05.453] next [13:14:05.453] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.453] } [13:14:05.453] NAMES <- toupper(added) [13:14:05.453] for (kk in seq_along(NAMES)) { [13:14:05.453] name <- added[[kk]] [13:14:05.453] NAME <- NAMES[[kk]] [13:14:05.453] if (name != NAME && is.element(NAME, old_names)) [13:14:05.453] next [13:14:05.453] args[[name]] <- "" [13:14:05.453] } [13:14:05.453] NAMES <- toupper(removed) [13:14:05.453] for (kk in seq_along(NAMES)) { [13:14:05.453] name <- removed[[kk]] [13:14:05.453] NAME <- NAMES[[kk]] [13:14:05.453] if (name != NAME && is.element(NAME, old_names)) [13:14:05.453] next [13:14:05.453] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.453] } [13:14:05.453] if (length(args) > 0) [13:14:05.453] base::do.call(base::Sys.setenv, args = args) [13:14:05.453] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.453] } [13:14:05.453] else { [13:14:05.453] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.453] } [13:14:05.453] { [13:14:05.453] if (base::length(...future.futureOptionsAdded) > [13:14:05.453] 0L) { [13:14:05.453] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.453] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.453] base::options(opts) [13:14:05.453] } [13:14:05.453] { [13:14:05.453] { [13:14:05.453] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.453] NULL [13:14:05.453] } [13:14:05.453] options(future.plan = NULL) [13:14:05.453] if (is.na(NA_character_)) [13:14:05.453] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.453] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.453] future::plan(list(function (..., workers = availableCores(), [13:14:05.453] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.453] envir = parent.frame()) [13:14:05.453] { [13:14:05.453] if (is.function(workers)) [13:14:05.453] workers <- workers() [13:14:05.453] workers <- structure(as.integer(workers), [13:14:05.453] class = class(workers)) [13:14:05.453] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.453] workers >= 1) [13:14:05.453] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.453] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.453] } [13:14:05.453] future <- MultisessionFuture(..., workers = workers, [13:14:05.453] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.453] envir = envir) [13:14:05.453] if (!future$lazy) [13:14:05.453] future <- run(future) [13:14:05.453] invisible(future) [13:14:05.453] }), .cleanup = FALSE, .init = FALSE) [13:14:05.453] } [13:14:05.453] } [13:14:05.453] } [13:14:05.453] }) [13:14:05.453] if (TRUE) { [13:14:05.453] base::sink(type = "output", split = FALSE) [13:14:05.453] if (TRUE) { [13:14:05.453] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.453] } [13:14:05.453] else { [13:14:05.453] ...future.result["stdout"] <- base::list(NULL) [13:14:05.453] } [13:14:05.453] base::close(...future.stdout) [13:14:05.453] ...future.stdout <- NULL [13:14:05.453] } [13:14:05.453] ...future.result$conditions <- ...future.conditions [13:14:05.453] ...future.result$finished <- base::Sys.time() [13:14:05.453] ...future.result [13:14:05.453] } [13:14:05.458] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:05.458] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:05.459] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:05.459] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.460] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.460] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:05.460] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:05.460] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.461] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.461] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.462] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.462] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:05.463] MultisessionFuture started [13:14:05.463] - Launch lazy future ... done [13:14:05.463] run() for 'MultisessionFuture' ... done [13:14:05.464] Created future: [13:14:05.478] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.479] - Validating connection of MultisessionFuture [13:14:05.479] - received message: FutureResult [13:14:05.479] - Received FutureResult [13:14:05.479] - Erased future from FutureRegistry [13:14:05.479] result() for ClusterFuture ... [13:14:05.479] - result already collected: FutureResult [13:14:05.480] result() for ClusterFuture ... done [13:14:05.480] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.464] MultisessionFuture: [13:14:05.464] Label: 'future_sapply-2' [13:14:05.464] Expression: [13:14:05.464] { [13:14:05.464] do.call(function(...) { [13:14:05.464] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.464] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.464] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.464] on.exit(options(oopts), add = TRUE) [13:14:05.464] } [13:14:05.464] { [13:14:05.464] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.464] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.464] ...future.FUN(...future.X_jj, ...) [13:14:05.464] }) [13:14:05.464] } [13:14:05.464] }, args = future.call.arguments) [13:14:05.464] } [13:14:05.464] Lazy evaluation: FALSE [13:14:05.464] Asynchronous evaluation: TRUE [13:14:05.464] Local evaluation: TRUE [13:14:05.464] Environment: R_GlobalEnv [13:14:05.464] Capture standard output: TRUE [13:14:05.464] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.464] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.464] Packages: [13:14:05.464] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.464] Resolved: TRUE [13:14:05.464] Value: [13:14:05.464] Conditions captured: [13:14:05.464] Early signaling: FALSE [13:14:05.464] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.464] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.480] Chunk #2 of 2 ... DONE [13:14:05.480] Launching 2 futures (chunks) ... DONE [13:14:05.481] Resolving 2 futures (chunks) ... [13:14:05.481] resolve() on list ... [13:14:05.481] recursive: 0 [13:14:05.481] length: 2 [13:14:05.481] [13:14:05.481] Future #1 [13:14:05.482] result() for ClusterFuture ... [13:14:05.482] - result already collected: FutureResult [13:14:05.482] result() for ClusterFuture ... done [13:14:05.482] result() for ClusterFuture ... [13:14:05.482] - result already collected: FutureResult [13:14:05.482] result() for ClusterFuture ... done [13:14:05.483] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:05.483] - nx: 2 [13:14:05.483] - relay: TRUE [13:14:05.483] - stdout: TRUE [13:14:05.483] - signal: TRUE [13:14:05.483] - resignal: FALSE [13:14:05.483] - force: TRUE [13:14:05.484] - relayed: [n=2] FALSE, FALSE [13:14:05.484] - queued futures: [n=2] FALSE, FALSE [13:14:05.484] - until=1 [13:14:05.484] - relaying element #1 [13:14:05.484] result() for ClusterFuture ... [13:14:05.484] - result already collected: FutureResult [13:14:05.484] result() for ClusterFuture ... done [13:14:05.485] result() for ClusterFuture ... [13:14:05.485] - result already collected: FutureResult [13:14:05.485] result() for ClusterFuture ... done [13:14:05.485] result() for ClusterFuture ... [13:14:05.485] - result already collected: FutureResult [13:14:05.485] result() for ClusterFuture ... done [13:14:05.486] result() for ClusterFuture ... [13:14:05.486] - result already collected: FutureResult [13:14:05.486] result() for ClusterFuture ... done [13:14:05.486] - relayed: [n=2] TRUE, FALSE [13:14:05.486] - queued futures: [n=2] TRUE, FALSE [13:14:05.486] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:05.487] length: 1 (resolved future 1) [13:14:05.487] Future #2 [13:14:05.487] result() for ClusterFuture ... [13:14:05.487] - result already collected: FutureResult [13:14:05.487] result() for ClusterFuture ... done [13:14:05.487] result() for ClusterFuture ... [13:14:05.488] - result already collected: FutureResult [13:14:05.488] result() for ClusterFuture ... done [13:14:05.488] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:05.488] - nx: 2 [13:14:05.488] - relay: TRUE [13:14:05.488] - stdout: TRUE [13:14:05.488] - signal: TRUE [13:14:05.489] - resignal: FALSE [13:14:05.489] - force: TRUE [13:14:05.489] - relayed: [n=2] TRUE, FALSE [13:14:05.489] - queued futures: [n=2] TRUE, FALSE [13:14:05.489] - until=2 [13:14:05.489] - relaying element #2 [13:14:05.490] result() for ClusterFuture ... [13:14:05.490] - result already collected: FutureResult [13:14:05.490] result() for ClusterFuture ... done [13:14:05.490] result() for ClusterFuture ... [13:14:05.490] - result already collected: FutureResult [13:14:05.490] result() for ClusterFuture ... done [13:14:05.491] result() for ClusterFuture ... [13:14:05.491] - result already collected: FutureResult [13:14:05.491] result() for ClusterFuture ... done [13:14:05.491] result() for ClusterFuture ... [13:14:05.491] - result already collected: FutureResult [13:14:05.491] result() for ClusterFuture ... done [13:14:05.491] - relayed: [n=2] TRUE, TRUE [13:14:05.492] - queued futures: [n=2] TRUE, TRUE [13:14:05.492] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:05.492] length: 0 (resolved future 2) [13:14:05.492] Relaying remaining futures [13:14:05.492] signalConditionsASAP(NULL, pos=0) ... [13:14:05.492] - nx: 2 [13:14:05.493] - relay: TRUE [13:14:05.493] - stdout: TRUE [13:14:05.493] - signal: TRUE [13:14:05.493] - resignal: FALSE [13:14:05.493] - force: TRUE [13:14:05.493] - relayed: [n=2] TRUE, TRUE [13:14:05.493] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:05.494] - relayed: [n=2] TRUE, TRUE [13:14:05.494] - queued futures: [n=2] TRUE, TRUE [13:14:05.494] signalConditionsASAP(NULL, pos=0) ... done [13:14:05.494] resolve() on list ... DONE [13:14:05.494] result() for ClusterFuture ... [13:14:05.494] - result already collected: FutureResult [13:14:05.495] result() for ClusterFuture ... done [13:14:05.495] result() for ClusterFuture ... [13:14:05.495] - result already collected: FutureResult [13:14:05.495] result() for ClusterFuture ... done [13:14:05.495] result() for ClusterFuture ... [13:14:05.495] - result already collected: FutureResult [13:14:05.496] result() for ClusterFuture ... done [13:14:05.496] result() for ClusterFuture ... [13:14:05.496] - result already collected: FutureResult [13:14:05.496] result() for ClusterFuture ... done [13:14:05.496] - Number of value chunks collected: 2 [13:14:05.496] Resolving 2 futures (chunks) ... DONE [13:14:05.497] Reducing values from 2 chunks ... [13:14:05.497] - Number of values collected after concatenation: 3 [13:14:05.497] - Number of values expected: 3 [13:14:05.499] Reducing values from 2 chunks ... DONE [13:14:05.499] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:05.501] future_lapply() ... [13:14:05.505] Number of chunks: 2 [13:14:05.505] getGlobalsAndPackagesXApply() ... [13:14:05.505] - future.globals: TRUE [13:14:05.505] getGlobalsAndPackages() ... [13:14:05.505] Searching for globals... [13:14:05.507] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:05.507] Searching for globals ... DONE [13:14:05.507] Resolving globals: FALSE [13:14:05.508] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:05.508] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:05.509] - globals: [1] 'FUN' [13:14:05.509] [13:14:05.509] getGlobalsAndPackages() ... DONE [13:14:05.509] - globals found/used: [n=1] 'FUN' [13:14:05.509] - needed namespaces: [n=0] [13:14:05.509] Finding globals ... DONE [13:14:05.510] - use_args: TRUE [13:14:05.510] - Getting '...' globals ... [13:14:05.510] resolve() on list ... [13:14:05.510] recursive: 0 [13:14:05.511] length: 1 [13:14:05.511] elements: '...' [13:14:05.511] length: 0 (resolved future 1) [13:14:05.511] resolve() on list ... DONE [13:14:05.511] - '...' content: [n=0] [13:14:05.511] List of 1 [13:14:05.511] $ ...: list() [13:14:05.511] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.511] - attr(*, "where")=List of 1 [13:14:05.511] ..$ ...: [13:14:05.511] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.511] - attr(*, "resolved")= logi TRUE [13:14:05.511] - attr(*, "total_size")= num NA [13:14:05.515] - Getting '...' globals ... DONE [13:14:05.515] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:05.515] List of 2 [13:14:05.515] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:05.515] $ ... : list() [13:14:05.515] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.515] - attr(*, "where")=List of 2 [13:14:05.515] ..$ ...future.FUN: [13:14:05.515] ..$ ... : [13:14:05.515] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.515] - attr(*, "resolved")= logi FALSE [13:14:05.515] - attr(*, "total_size")= num 4728 [13:14:05.519] Packages to be attached in all futures: [n=0] [13:14:05.519] getGlobalsAndPackagesXApply() ... DONE [13:14:05.519] Number of futures (= number of chunks): 2 [13:14:05.520] Launching 2 futures (chunks) ... [13:14:05.520] Chunk #1 of 2 ... [13:14:05.520] - Finding globals in 'X' for chunk #1 ... [13:14:05.520] getGlobalsAndPackages() ... [13:14:05.520] Searching for globals... [13:14:05.521] [13:14:05.521] Searching for globals ... DONE [13:14:05.521] - globals: [0] [13:14:05.521] getGlobalsAndPackages() ... DONE [13:14:05.521] + additional globals found: [n=0] [13:14:05.521] + additional namespaces needed: [n=0] [13:14:05.521] - Finding globals in 'X' for chunk #1 ... DONE [13:14:05.522] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.522] - seeds: [13:14:05.522] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.522] getGlobalsAndPackages() ... [13:14:05.522] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.522] Resolving globals: FALSE [13:14:05.523] Tweak future expression to call with '...' arguments ... [13:14:05.523] { [13:14:05.523] do.call(function(...) { [13:14:05.523] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.523] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.523] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.523] on.exit(options(oopts), add = TRUE) [13:14:05.523] } [13:14:05.523] { [13:14:05.523] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.523] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.523] ...future.FUN(...future.X_jj, ...) [13:14:05.523] }) [13:14:05.523] } [13:14:05.523] }, args = future.call.arguments) [13:14:05.523] } [13:14:05.523] Tweak future expression to call with '...' arguments ... DONE [13:14:05.524] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.524] [13:14:05.524] getGlobalsAndPackages() ... DONE [13:14:05.524] run() for 'Future' ... [13:14:05.525] - state: 'created' [13:14:05.525] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.539] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.539] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.539] - Field: 'node' [13:14:05.539] - Field: 'label' [13:14:05.539] - Field: 'local' [13:14:05.540] - Field: 'owner' [13:14:05.540] - Field: 'envir' [13:14:05.540] - Field: 'workers' [13:14:05.540] - Field: 'packages' [13:14:05.540] - Field: 'gc' [13:14:05.541] - Field: 'conditions' [13:14:05.541] - Field: 'persistent' [13:14:05.541] - Field: 'expr' [13:14:05.541] - Field: 'uuid' [13:14:05.541] - Field: 'seed' [13:14:05.541] - Field: 'version' [13:14:05.542] - Field: 'result' [13:14:05.542] - Field: 'asynchronous' [13:14:05.542] - Field: 'calls' [13:14:05.542] - Field: 'globals' [13:14:05.542] - Field: 'stdout' [13:14:05.542] - Field: 'earlySignal' [13:14:05.543] - Field: 'lazy' [13:14:05.543] - Field: 'state' [13:14:05.543] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.543] - Launch lazy future ... [13:14:05.543] Packages needed by the future expression (n = 0): [13:14:05.544] Packages needed by future strategies (n = 0): [13:14:05.544] { [13:14:05.544] { [13:14:05.544] { [13:14:05.544] ...future.startTime <- base::Sys.time() [13:14:05.544] { [13:14:05.544] { [13:14:05.544] { [13:14:05.544] { [13:14:05.544] base::local({ [13:14:05.544] has_future <- base::requireNamespace("future", [13:14:05.544] quietly = TRUE) [13:14:05.544] if (has_future) { [13:14:05.544] ns <- base::getNamespace("future") [13:14:05.544] version <- ns[[".package"]][["version"]] [13:14:05.544] if (is.null(version)) [13:14:05.544] version <- utils::packageVersion("future") [13:14:05.544] } [13:14:05.544] else { [13:14:05.544] version <- NULL [13:14:05.544] } [13:14:05.544] if (!has_future || version < "1.8.0") { [13:14:05.544] info <- base::c(r_version = base::gsub("R version ", [13:14:05.544] "", base::R.version$version.string), [13:14:05.544] platform = base::sprintf("%s (%s-bit)", [13:14:05.544] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.544] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.544] "release", "version")], collapse = " "), [13:14:05.544] hostname = base::Sys.info()[["nodename"]]) [13:14:05.544] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.544] info) [13:14:05.544] info <- base::paste(info, collapse = "; ") [13:14:05.544] if (!has_future) { [13:14:05.544] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.544] info) [13:14:05.544] } [13:14:05.544] else { [13:14:05.544] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.544] info, version) [13:14:05.544] } [13:14:05.544] base::stop(msg) [13:14:05.544] } [13:14:05.544] }) [13:14:05.544] } [13:14:05.544] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.544] base::options(mc.cores = 1L) [13:14:05.544] } [13:14:05.544] options(future.plan = NULL) [13:14:05.544] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.544] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.544] } [13:14:05.544] ...future.workdir <- getwd() [13:14:05.544] } [13:14:05.544] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.544] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.544] } [13:14:05.544] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.544] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.544] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.544] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.544] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.544] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.544] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.544] base::names(...future.oldOptions)) [13:14:05.544] } [13:14:05.544] if (FALSE) { [13:14:05.544] } [13:14:05.544] else { [13:14:05.544] if (TRUE) { [13:14:05.544] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.544] open = "w") [13:14:05.544] } [13:14:05.544] else { [13:14:05.544] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.544] windows = "NUL", "/dev/null"), open = "w") [13:14:05.544] } [13:14:05.544] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.544] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.544] base::sink(type = "output", split = FALSE) [13:14:05.544] base::close(...future.stdout) [13:14:05.544] }, add = TRUE) [13:14:05.544] } [13:14:05.544] ...future.frame <- base::sys.nframe() [13:14:05.544] ...future.conditions <- base::list() [13:14:05.544] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.544] if (FALSE) { [13:14:05.544] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.544] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.544] } [13:14:05.544] ...future.result <- base::tryCatch({ [13:14:05.544] base::withCallingHandlers({ [13:14:05.544] ...future.value <- base::withVisible(base::local({ [13:14:05.544] ...future.makeSendCondition <- local({ [13:14:05.544] sendCondition <- NULL [13:14:05.544] function(frame = 1L) { [13:14:05.544] if (is.function(sendCondition)) [13:14:05.544] return(sendCondition) [13:14:05.544] ns <- getNamespace("parallel") [13:14:05.544] if (exists("sendData", mode = "function", [13:14:05.544] envir = ns)) { [13:14:05.544] parallel_sendData <- get("sendData", mode = "function", [13:14:05.544] envir = ns) [13:14:05.544] envir <- sys.frame(frame) [13:14:05.544] master <- NULL [13:14:05.544] while (!identical(envir, .GlobalEnv) && [13:14:05.544] !identical(envir, emptyenv())) { [13:14:05.544] if (exists("master", mode = "list", envir = envir, [13:14:05.544] inherits = FALSE)) { [13:14:05.544] master <- get("master", mode = "list", [13:14:05.544] envir = envir, inherits = FALSE) [13:14:05.544] if (inherits(master, c("SOCKnode", [13:14:05.544] "SOCK0node"))) { [13:14:05.544] sendCondition <<- function(cond) { [13:14:05.544] data <- list(type = "VALUE", value = cond, [13:14:05.544] success = TRUE) [13:14:05.544] parallel_sendData(master, data) [13:14:05.544] } [13:14:05.544] return(sendCondition) [13:14:05.544] } [13:14:05.544] } [13:14:05.544] frame <- frame + 1L [13:14:05.544] envir <- sys.frame(frame) [13:14:05.544] } [13:14:05.544] } [13:14:05.544] sendCondition <<- function(cond) NULL [13:14:05.544] } [13:14:05.544] }) [13:14:05.544] withCallingHandlers({ [13:14:05.544] { [13:14:05.544] do.call(function(...) { [13:14:05.544] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.544] if (!identical(...future.globals.maxSize.org, [13:14:05.544] ...future.globals.maxSize)) { [13:14:05.544] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.544] on.exit(options(oopts), add = TRUE) [13:14:05.544] } [13:14:05.544] { [13:14:05.544] lapply(seq_along(...future.elements_ii), [13:14:05.544] FUN = function(jj) { [13:14:05.544] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.544] ...future.FUN(...future.X_jj, ...) [13:14:05.544] }) [13:14:05.544] } [13:14:05.544] }, args = future.call.arguments) [13:14:05.544] } [13:14:05.544] }, immediateCondition = function(cond) { [13:14:05.544] sendCondition <- ...future.makeSendCondition() [13:14:05.544] sendCondition(cond) [13:14:05.544] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.544] { [13:14:05.544] inherits <- base::inherits [13:14:05.544] invokeRestart <- base::invokeRestart [13:14:05.544] is.null <- base::is.null [13:14:05.544] muffled <- FALSE [13:14:05.544] if (inherits(cond, "message")) { [13:14:05.544] muffled <- grepl(pattern, "muffleMessage") [13:14:05.544] if (muffled) [13:14:05.544] invokeRestart("muffleMessage") [13:14:05.544] } [13:14:05.544] else if (inherits(cond, "warning")) { [13:14:05.544] muffled <- grepl(pattern, "muffleWarning") [13:14:05.544] if (muffled) [13:14:05.544] invokeRestart("muffleWarning") [13:14:05.544] } [13:14:05.544] else if (inherits(cond, "condition")) { [13:14:05.544] if (!is.null(pattern)) { [13:14:05.544] computeRestarts <- base::computeRestarts [13:14:05.544] grepl <- base::grepl [13:14:05.544] restarts <- computeRestarts(cond) [13:14:05.544] for (restart in restarts) { [13:14:05.544] name <- restart$name [13:14:05.544] if (is.null(name)) [13:14:05.544] next [13:14:05.544] if (!grepl(pattern, name)) [13:14:05.544] next [13:14:05.544] invokeRestart(restart) [13:14:05.544] muffled <- TRUE [13:14:05.544] break [13:14:05.544] } [13:14:05.544] } [13:14:05.544] } [13:14:05.544] invisible(muffled) [13:14:05.544] } [13:14:05.544] muffleCondition(cond) [13:14:05.544] }) [13:14:05.544] })) [13:14:05.544] future::FutureResult(value = ...future.value$value, [13:14:05.544] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.544] ...future.rng), globalenv = if (FALSE) [13:14:05.544] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.544] ...future.globalenv.names)) [13:14:05.544] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.544] }, condition = base::local({ [13:14:05.544] c <- base::c [13:14:05.544] inherits <- base::inherits [13:14:05.544] invokeRestart <- base::invokeRestart [13:14:05.544] length <- base::length [13:14:05.544] list <- base::list [13:14:05.544] seq.int <- base::seq.int [13:14:05.544] signalCondition <- base::signalCondition [13:14:05.544] sys.calls <- base::sys.calls [13:14:05.544] `[[` <- base::`[[` [13:14:05.544] `+` <- base::`+` [13:14:05.544] `<<-` <- base::`<<-` [13:14:05.544] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.544] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.544] 3L)] [13:14:05.544] } [13:14:05.544] function(cond) { [13:14:05.544] is_error <- inherits(cond, "error") [13:14:05.544] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.544] NULL) [13:14:05.544] if (is_error) { [13:14:05.544] sessionInformation <- function() { [13:14:05.544] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.544] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.544] search = base::search(), system = base::Sys.info()) [13:14:05.544] } [13:14:05.544] ...future.conditions[[length(...future.conditions) + [13:14:05.544] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.544] cond$call), session = sessionInformation(), [13:14:05.544] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.544] signalCondition(cond) [13:14:05.544] } [13:14:05.544] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.544] "immediateCondition"))) { [13:14:05.544] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.544] ...future.conditions[[length(...future.conditions) + [13:14:05.544] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.544] if (TRUE && !signal) { [13:14:05.544] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.544] { [13:14:05.544] inherits <- base::inherits [13:14:05.544] invokeRestart <- base::invokeRestart [13:14:05.544] is.null <- base::is.null [13:14:05.544] muffled <- FALSE [13:14:05.544] if (inherits(cond, "message")) { [13:14:05.544] muffled <- grepl(pattern, "muffleMessage") [13:14:05.544] if (muffled) [13:14:05.544] invokeRestart("muffleMessage") [13:14:05.544] } [13:14:05.544] else if (inherits(cond, "warning")) { [13:14:05.544] muffled <- grepl(pattern, "muffleWarning") [13:14:05.544] if (muffled) [13:14:05.544] invokeRestart("muffleWarning") [13:14:05.544] } [13:14:05.544] else if (inherits(cond, "condition")) { [13:14:05.544] if (!is.null(pattern)) { [13:14:05.544] computeRestarts <- base::computeRestarts [13:14:05.544] grepl <- base::grepl [13:14:05.544] restarts <- computeRestarts(cond) [13:14:05.544] for (restart in restarts) { [13:14:05.544] name <- restart$name [13:14:05.544] if (is.null(name)) [13:14:05.544] next [13:14:05.544] if (!grepl(pattern, name)) [13:14:05.544] next [13:14:05.544] invokeRestart(restart) [13:14:05.544] muffled <- TRUE [13:14:05.544] break [13:14:05.544] } [13:14:05.544] } [13:14:05.544] } [13:14:05.544] invisible(muffled) [13:14:05.544] } [13:14:05.544] muffleCondition(cond, pattern = "^muffle") [13:14:05.544] } [13:14:05.544] } [13:14:05.544] else { [13:14:05.544] if (TRUE) { [13:14:05.544] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.544] { [13:14:05.544] inherits <- base::inherits [13:14:05.544] invokeRestart <- base::invokeRestart [13:14:05.544] is.null <- base::is.null [13:14:05.544] muffled <- FALSE [13:14:05.544] if (inherits(cond, "message")) { [13:14:05.544] muffled <- grepl(pattern, "muffleMessage") [13:14:05.544] if (muffled) [13:14:05.544] invokeRestart("muffleMessage") [13:14:05.544] } [13:14:05.544] else if (inherits(cond, "warning")) { [13:14:05.544] muffled <- grepl(pattern, "muffleWarning") [13:14:05.544] if (muffled) [13:14:05.544] invokeRestart("muffleWarning") [13:14:05.544] } [13:14:05.544] else if (inherits(cond, "condition")) { [13:14:05.544] if (!is.null(pattern)) { [13:14:05.544] computeRestarts <- base::computeRestarts [13:14:05.544] grepl <- base::grepl [13:14:05.544] restarts <- computeRestarts(cond) [13:14:05.544] for (restart in restarts) { [13:14:05.544] name <- restart$name [13:14:05.544] if (is.null(name)) [13:14:05.544] next [13:14:05.544] if (!grepl(pattern, name)) [13:14:05.544] next [13:14:05.544] invokeRestart(restart) [13:14:05.544] muffled <- TRUE [13:14:05.544] break [13:14:05.544] } [13:14:05.544] } [13:14:05.544] } [13:14:05.544] invisible(muffled) [13:14:05.544] } [13:14:05.544] muffleCondition(cond, pattern = "^muffle") [13:14:05.544] } [13:14:05.544] } [13:14:05.544] } [13:14:05.544] })) [13:14:05.544] }, error = function(ex) { [13:14:05.544] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.544] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.544] ...future.rng), started = ...future.startTime, [13:14:05.544] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.544] version = "1.8"), class = "FutureResult") [13:14:05.544] }, finally = { [13:14:05.544] if (!identical(...future.workdir, getwd())) [13:14:05.544] setwd(...future.workdir) [13:14:05.544] { [13:14:05.544] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.544] ...future.oldOptions$nwarnings <- NULL [13:14:05.544] } [13:14:05.544] base::options(...future.oldOptions) [13:14:05.544] if (.Platform$OS.type == "windows") { [13:14:05.544] old_names <- names(...future.oldEnvVars) [13:14:05.544] envs <- base::Sys.getenv() [13:14:05.544] names <- names(envs) [13:14:05.544] common <- intersect(names, old_names) [13:14:05.544] added <- setdiff(names, old_names) [13:14:05.544] removed <- setdiff(old_names, names) [13:14:05.544] changed <- common[...future.oldEnvVars[common] != [13:14:05.544] envs[common]] [13:14:05.544] NAMES <- toupper(changed) [13:14:05.544] args <- list() [13:14:05.544] for (kk in seq_along(NAMES)) { [13:14:05.544] name <- changed[[kk]] [13:14:05.544] NAME <- NAMES[[kk]] [13:14:05.544] if (name != NAME && is.element(NAME, old_names)) [13:14:05.544] next [13:14:05.544] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.544] } [13:14:05.544] NAMES <- toupper(added) [13:14:05.544] for (kk in seq_along(NAMES)) { [13:14:05.544] name <- added[[kk]] [13:14:05.544] NAME <- NAMES[[kk]] [13:14:05.544] if (name != NAME && is.element(NAME, old_names)) [13:14:05.544] next [13:14:05.544] args[[name]] <- "" [13:14:05.544] } [13:14:05.544] NAMES <- toupper(removed) [13:14:05.544] for (kk in seq_along(NAMES)) { [13:14:05.544] name <- removed[[kk]] [13:14:05.544] NAME <- NAMES[[kk]] [13:14:05.544] if (name != NAME && is.element(NAME, old_names)) [13:14:05.544] next [13:14:05.544] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.544] } [13:14:05.544] if (length(args) > 0) [13:14:05.544] base::do.call(base::Sys.setenv, args = args) [13:14:05.544] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.544] } [13:14:05.544] else { [13:14:05.544] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.544] } [13:14:05.544] { [13:14:05.544] if (base::length(...future.futureOptionsAdded) > [13:14:05.544] 0L) { [13:14:05.544] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.544] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.544] base::options(opts) [13:14:05.544] } [13:14:05.544] { [13:14:05.544] { [13:14:05.544] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.544] NULL [13:14:05.544] } [13:14:05.544] options(future.plan = NULL) [13:14:05.544] if (is.na(NA_character_)) [13:14:05.544] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.544] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.544] future::plan(list(function (..., workers = availableCores(), [13:14:05.544] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.544] envir = parent.frame()) [13:14:05.544] { [13:14:05.544] if (is.function(workers)) [13:14:05.544] workers <- workers() [13:14:05.544] workers <- structure(as.integer(workers), [13:14:05.544] class = class(workers)) [13:14:05.544] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.544] workers >= 1) [13:14:05.544] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.544] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.544] } [13:14:05.544] future <- MultisessionFuture(..., workers = workers, [13:14:05.544] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.544] envir = envir) [13:14:05.544] if (!future$lazy) [13:14:05.544] future <- run(future) [13:14:05.544] invisible(future) [13:14:05.544] }), .cleanup = FALSE, .init = FALSE) [13:14:05.544] } [13:14:05.544] } [13:14:05.544] } [13:14:05.544] }) [13:14:05.544] if (TRUE) { [13:14:05.544] base::sink(type = "output", split = FALSE) [13:14:05.544] if (TRUE) { [13:14:05.544] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.544] } [13:14:05.544] else { [13:14:05.544] ...future.result["stdout"] <- base::list(NULL) [13:14:05.544] } [13:14:05.544] base::close(...future.stdout) [13:14:05.544] ...future.stdout <- NULL [13:14:05.544] } [13:14:05.544] ...future.result$conditions <- ...future.conditions [13:14:05.544] ...future.result$finished <- base::Sys.time() [13:14:05.544] ...future.result [13:14:05.544] } [13:14:05.550] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:05.550] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:05.551] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:05.551] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.551] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.552] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:05.552] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:05.552] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.553] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.553] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.553] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.553] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:05.554] MultisessionFuture started [13:14:05.554] - Launch lazy future ... done [13:14:05.554] run() for 'MultisessionFuture' ... done [13:14:05.555] Created future: [13:14:05.570] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.570] - Validating connection of MultisessionFuture [13:14:05.571] - received message: FutureResult [13:14:05.571] - Received FutureResult [13:14:05.571] - Erased future from FutureRegistry [13:14:05.571] result() for ClusterFuture ... [13:14:05.571] - result already collected: FutureResult [13:14:05.571] result() for ClusterFuture ... done [13:14:05.572] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.555] MultisessionFuture: [13:14:05.555] Label: 'future_sapply-1' [13:14:05.555] Expression: [13:14:05.555] { [13:14:05.555] do.call(function(...) { [13:14:05.555] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.555] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.555] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.555] on.exit(options(oopts), add = TRUE) [13:14:05.555] } [13:14:05.555] { [13:14:05.555] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.555] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.555] ...future.FUN(...future.X_jj, ...) [13:14:05.555] }) [13:14:05.555] } [13:14:05.555] }, args = future.call.arguments) [13:14:05.555] } [13:14:05.555] Lazy evaluation: FALSE [13:14:05.555] Asynchronous evaluation: TRUE [13:14:05.555] Local evaluation: TRUE [13:14:05.555] Environment: R_GlobalEnv [13:14:05.555] Capture standard output: TRUE [13:14:05.555] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.555] Globals: 5 objects totaling 4.67 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.555] Packages: [13:14:05.555] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.555] Resolved: TRUE [13:14:05.555] Value: [13:14:05.555] Conditions captured: [13:14:05.555] Early signaling: FALSE [13:14:05.555] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.555] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.572] Chunk #1 of 2 ... DONE [13:14:05.572] Chunk #2 of 2 ... [13:14:05.572] - Finding globals in 'X' for chunk #2 ... [13:14:05.573] getGlobalsAndPackages() ... [13:14:05.573] Searching for globals... [13:14:05.573] [13:14:05.573] Searching for globals ... DONE [13:14:05.573] - globals: [0] [13:14:05.574] getGlobalsAndPackages() ... DONE [13:14:05.574] + additional globals found: [n=0] [13:14:05.574] + additional namespaces needed: [n=0] [13:14:05.574] - Finding globals in 'X' for chunk #2 ... DONE [13:14:05.574] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.574] - seeds: [13:14:05.574] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.575] getGlobalsAndPackages() ... [13:14:05.575] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.575] Resolving globals: FALSE [13:14:05.575] Tweak future expression to call with '...' arguments ... [13:14:05.575] { [13:14:05.575] do.call(function(...) { [13:14:05.575] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.575] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.575] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.575] on.exit(options(oopts), add = TRUE) [13:14:05.575] } [13:14:05.575] { [13:14:05.575] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.575] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.575] ...future.FUN(...future.X_jj, ...) [13:14:05.575] }) [13:14:05.575] } [13:14:05.575] }, args = future.call.arguments) [13:14:05.575] } [13:14:05.576] Tweak future expression to call with '...' arguments ... DONE [13:14:05.576] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.576] [13:14:05.577] getGlobalsAndPackages() ... DONE [13:14:05.577] run() for 'Future' ... [13:14:05.577] - state: 'created' [13:14:05.577] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.591] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.592] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.592] - Field: 'node' [13:14:05.592] - Field: 'label' [13:14:05.592] - Field: 'local' [13:14:05.592] - Field: 'owner' [13:14:05.592] - Field: 'envir' [13:14:05.593] - Field: 'workers' [13:14:05.593] - Field: 'packages' [13:14:05.593] - Field: 'gc' [13:14:05.593] - Field: 'conditions' [13:14:05.593] - Field: 'persistent' [13:14:05.593] - Field: 'expr' [13:14:05.594] - Field: 'uuid' [13:14:05.594] - Field: 'seed' [13:14:05.594] - Field: 'version' [13:14:05.594] - Field: 'result' [13:14:05.594] - Field: 'asynchronous' [13:14:05.595] - Field: 'calls' [13:14:05.595] - Field: 'globals' [13:14:05.595] - Field: 'stdout' [13:14:05.595] - Field: 'earlySignal' [13:14:05.595] - Field: 'lazy' [13:14:05.595] - Field: 'state' [13:14:05.596] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.596] - Launch lazy future ... [13:14:05.596] Packages needed by the future expression (n = 0): [13:14:05.596] Packages needed by future strategies (n = 0): [13:14:05.597] { [13:14:05.597] { [13:14:05.597] { [13:14:05.597] ...future.startTime <- base::Sys.time() [13:14:05.597] { [13:14:05.597] { [13:14:05.597] { [13:14:05.597] { [13:14:05.597] base::local({ [13:14:05.597] has_future <- base::requireNamespace("future", [13:14:05.597] quietly = TRUE) [13:14:05.597] if (has_future) { [13:14:05.597] ns <- base::getNamespace("future") [13:14:05.597] version <- ns[[".package"]][["version"]] [13:14:05.597] if (is.null(version)) [13:14:05.597] version <- utils::packageVersion("future") [13:14:05.597] } [13:14:05.597] else { [13:14:05.597] version <- NULL [13:14:05.597] } [13:14:05.597] if (!has_future || version < "1.8.0") { [13:14:05.597] info <- base::c(r_version = base::gsub("R version ", [13:14:05.597] "", base::R.version$version.string), [13:14:05.597] platform = base::sprintf("%s (%s-bit)", [13:14:05.597] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.597] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.597] "release", "version")], collapse = " "), [13:14:05.597] hostname = base::Sys.info()[["nodename"]]) [13:14:05.597] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.597] info) [13:14:05.597] info <- base::paste(info, collapse = "; ") [13:14:05.597] if (!has_future) { [13:14:05.597] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.597] info) [13:14:05.597] } [13:14:05.597] else { [13:14:05.597] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.597] info, version) [13:14:05.597] } [13:14:05.597] base::stop(msg) [13:14:05.597] } [13:14:05.597] }) [13:14:05.597] } [13:14:05.597] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.597] base::options(mc.cores = 1L) [13:14:05.597] } [13:14:05.597] options(future.plan = NULL) [13:14:05.597] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.597] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.597] } [13:14:05.597] ...future.workdir <- getwd() [13:14:05.597] } [13:14:05.597] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.597] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.597] } [13:14:05.597] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.597] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.597] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.597] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.597] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.597] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.597] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.597] base::names(...future.oldOptions)) [13:14:05.597] } [13:14:05.597] if (FALSE) { [13:14:05.597] } [13:14:05.597] else { [13:14:05.597] if (TRUE) { [13:14:05.597] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.597] open = "w") [13:14:05.597] } [13:14:05.597] else { [13:14:05.597] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.597] windows = "NUL", "/dev/null"), open = "w") [13:14:05.597] } [13:14:05.597] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.597] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.597] base::sink(type = "output", split = FALSE) [13:14:05.597] base::close(...future.stdout) [13:14:05.597] }, add = TRUE) [13:14:05.597] } [13:14:05.597] ...future.frame <- base::sys.nframe() [13:14:05.597] ...future.conditions <- base::list() [13:14:05.597] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.597] if (FALSE) { [13:14:05.597] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.597] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.597] } [13:14:05.597] ...future.result <- base::tryCatch({ [13:14:05.597] base::withCallingHandlers({ [13:14:05.597] ...future.value <- base::withVisible(base::local({ [13:14:05.597] ...future.makeSendCondition <- local({ [13:14:05.597] sendCondition <- NULL [13:14:05.597] function(frame = 1L) { [13:14:05.597] if (is.function(sendCondition)) [13:14:05.597] return(sendCondition) [13:14:05.597] ns <- getNamespace("parallel") [13:14:05.597] if (exists("sendData", mode = "function", [13:14:05.597] envir = ns)) { [13:14:05.597] parallel_sendData <- get("sendData", mode = "function", [13:14:05.597] envir = ns) [13:14:05.597] envir <- sys.frame(frame) [13:14:05.597] master <- NULL [13:14:05.597] while (!identical(envir, .GlobalEnv) && [13:14:05.597] !identical(envir, emptyenv())) { [13:14:05.597] if (exists("master", mode = "list", envir = envir, [13:14:05.597] inherits = FALSE)) { [13:14:05.597] master <- get("master", mode = "list", [13:14:05.597] envir = envir, inherits = FALSE) [13:14:05.597] if (inherits(master, c("SOCKnode", [13:14:05.597] "SOCK0node"))) { [13:14:05.597] sendCondition <<- function(cond) { [13:14:05.597] data <- list(type = "VALUE", value = cond, [13:14:05.597] success = TRUE) [13:14:05.597] parallel_sendData(master, data) [13:14:05.597] } [13:14:05.597] return(sendCondition) [13:14:05.597] } [13:14:05.597] } [13:14:05.597] frame <- frame + 1L [13:14:05.597] envir <- sys.frame(frame) [13:14:05.597] } [13:14:05.597] } [13:14:05.597] sendCondition <<- function(cond) NULL [13:14:05.597] } [13:14:05.597] }) [13:14:05.597] withCallingHandlers({ [13:14:05.597] { [13:14:05.597] do.call(function(...) { [13:14:05.597] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.597] if (!identical(...future.globals.maxSize.org, [13:14:05.597] ...future.globals.maxSize)) { [13:14:05.597] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.597] on.exit(options(oopts), add = TRUE) [13:14:05.597] } [13:14:05.597] { [13:14:05.597] lapply(seq_along(...future.elements_ii), [13:14:05.597] FUN = function(jj) { [13:14:05.597] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.597] ...future.FUN(...future.X_jj, ...) [13:14:05.597] }) [13:14:05.597] } [13:14:05.597] }, args = future.call.arguments) [13:14:05.597] } [13:14:05.597] }, immediateCondition = function(cond) { [13:14:05.597] sendCondition <- ...future.makeSendCondition() [13:14:05.597] sendCondition(cond) [13:14:05.597] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.597] { [13:14:05.597] inherits <- base::inherits [13:14:05.597] invokeRestart <- base::invokeRestart [13:14:05.597] is.null <- base::is.null [13:14:05.597] muffled <- FALSE [13:14:05.597] if (inherits(cond, "message")) { [13:14:05.597] muffled <- grepl(pattern, "muffleMessage") [13:14:05.597] if (muffled) [13:14:05.597] invokeRestart("muffleMessage") [13:14:05.597] } [13:14:05.597] else if (inherits(cond, "warning")) { [13:14:05.597] muffled <- grepl(pattern, "muffleWarning") [13:14:05.597] if (muffled) [13:14:05.597] invokeRestart("muffleWarning") [13:14:05.597] } [13:14:05.597] else if (inherits(cond, "condition")) { [13:14:05.597] if (!is.null(pattern)) { [13:14:05.597] computeRestarts <- base::computeRestarts [13:14:05.597] grepl <- base::grepl [13:14:05.597] restarts <- computeRestarts(cond) [13:14:05.597] for (restart in restarts) { [13:14:05.597] name <- restart$name [13:14:05.597] if (is.null(name)) [13:14:05.597] next [13:14:05.597] if (!grepl(pattern, name)) [13:14:05.597] next [13:14:05.597] invokeRestart(restart) [13:14:05.597] muffled <- TRUE [13:14:05.597] break [13:14:05.597] } [13:14:05.597] } [13:14:05.597] } [13:14:05.597] invisible(muffled) [13:14:05.597] } [13:14:05.597] muffleCondition(cond) [13:14:05.597] }) [13:14:05.597] })) [13:14:05.597] future::FutureResult(value = ...future.value$value, [13:14:05.597] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.597] ...future.rng), globalenv = if (FALSE) [13:14:05.597] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.597] ...future.globalenv.names)) [13:14:05.597] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.597] }, condition = base::local({ [13:14:05.597] c <- base::c [13:14:05.597] inherits <- base::inherits [13:14:05.597] invokeRestart <- base::invokeRestart [13:14:05.597] length <- base::length [13:14:05.597] list <- base::list [13:14:05.597] seq.int <- base::seq.int [13:14:05.597] signalCondition <- base::signalCondition [13:14:05.597] sys.calls <- base::sys.calls [13:14:05.597] `[[` <- base::`[[` [13:14:05.597] `+` <- base::`+` [13:14:05.597] `<<-` <- base::`<<-` [13:14:05.597] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.597] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.597] 3L)] [13:14:05.597] } [13:14:05.597] function(cond) { [13:14:05.597] is_error <- inherits(cond, "error") [13:14:05.597] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.597] NULL) [13:14:05.597] if (is_error) { [13:14:05.597] sessionInformation <- function() { [13:14:05.597] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.597] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.597] search = base::search(), system = base::Sys.info()) [13:14:05.597] } [13:14:05.597] ...future.conditions[[length(...future.conditions) + [13:14:05.597] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.597] cond$call), session = sessionInformation(), [13:14:05.597] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.597] signalCondition(cond) [13:14:05.597] } [13:14:05.597] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.597] "immediateCondition"))) { [13:14:05.597] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.597] ...future.conditions[[length(...future.conditions) + [13:14:05.597] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.597] if (TRUE && !signal) { [13:14:05.597] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.597] { [13:14:05.597] inherits <- base::inherits [13:14:05.597] invokeRestart <- base::invokeRestart [13:14:05.597] is.null <- base::is.null [13:14:05.597] muffled <- FALSE [13:14:05.597] if (inherits(cond, "message")) { [13:14:05.597] muffled <- grepl(pattern, "muffleMessage") [13:14:05.597] if (muffled) [13:14:05.597] invokeRestart("muffleMessage") [13:14:05.597] } [13:14:05.597] else if (inherits(cond, "warning")) { [13:14:05.597] muffled <- grepl(pattern, "muffleWarning") [13:14:05.597] if (muffled) [13:14:05.597] invokeRestart("muffleWarning") [13:14:05.597] } [13:14:05.597] else if (inherits(cond, "condition")) { [13:14:05.597] if (!is.null(pattern)) { [13:14:05.597] computeRestarts <- base::computeRestarts [13:14:05.597] grepl <- base::grepl [13:14:05.597] restarts <- computeRestarts(cond) [13:14:05.597] for (restart in restarts) { [13:14:05.597] name <- restart$name [13:14:05.597] if (is.null(name)) [13:14:05.597] next [13:14:05.597] if (!grepl(pattern, name)) [13:14:05.597] next [13:14:05.597] invokeRestart(restart) [13:14:05.597] muffled <- TRUE [13:14:05.597] break [13:14:05.597] } [13:14:05.597] } [13:14:05.597] } [13:14:05.597] invisible(muffled) [13:14:05.597] } [13:14:05.597] muffleCondition(cond, pattern = "^muffle") [13:14:05.597] } [13:14:05.597] } [13:14:05.597] else { [13:14:05.597] if (TRUE) { [13:14:05.597] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.597] { [13:14:05.597] inherits <- base::inherits [13:14:05.597] invokeRestart <- base::invokeRestart [13:14:05.597] is.null <- base::is.null [13:14:05.597] muffled <- FALSE [13:14:05.597] if (inherits(cond, "message")) { [13:14:05.597] muffled <- grepl(pattern, "muffleMessage") [13:14:05.597] if (muffled) [13:14:05.597] invokeRestart("muffleMessage") [13:14:05.597] } [13:14:05.597] else if (inherits(cond, "warning")) { [13:14:05.597] muffled <- grepl(pattern, "muffleWarning") [13:14:05.597] if (muffled) [13:14:05.597] invokeRestart("muffleWarning") [13:14:05.597] } [13:14:05.597] else if (inherits(cond, "condition")) { [13:14:05.597] if (!is.null(pattern)) { [13:14:05.597] computeRestarts <- base::computeRestarts [13:14:05.597] grepl <- base::grepl [13:14:05.597] restarts <- computeRestarts(cond) [13:14:05.597] for (restart in restarts) { [13:14:05.597] name <- restart$name [13:14:05.597] if (is.null(name)) [13:14:05.597] next [13:14:05.597] if (!grepl(pattern, name)) [13:14:05.597] next [13:14:05.597] invokeRestart(restart) [13:14:05.597] muffled <- TRUE [13:14:05.597] break [13:14:05.597] } [13:14:05.597] } [13:14:05.597] } [13:14:05.597] invisible(muffled) [13:14:05.597] } [13:14:05.597] muffleCondition(cond, pattern = "^muffle") [13:14:05.597] } [13:14:05.597] } [13:14:05.597] } [13:14:05.597] })) [13:14:05.597] }, error = function(ex) { [13:14:05.597] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.597] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.597] ...future.rng), started = ...future.startTime, [13:14:05.597] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.597] version = "1.8"), class = "FutureResult") [13:14:05.597] }, finally = { [13:14:05.597] if (!identical(...future.workdir, getwd())) [13:14:05.597] setwd(...future.workdir) [13:14:05.597] { [13:14:05.597] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.597] ...future.oldOptions$nwarnings <- NULL [13:14:05.597] } [13:14:05.597] base::options(...future.oldOptions) [13:14:05.597] if (.Platform$OS.type == "windows") { [13:14:05.597] old_names <- names(...future.oldEnvVars) [13:14:05.597] envs <- base::Sys.getenv() [13:14:05.597] names <- names(envs) [13:14:05.597] common <- intersect(names, old_names) [13:14:05.597] added <- setdiff(names, old_names) [13:14:05.597] removed <- setdiff(old_names, names) [13:14:05.597] changed <- common[...future.oldEnvVars[common] != [13:14:05.597] envs[common]] [13:14:05.597] NAMES <- toupper(changed) [13:14:05.597] args <- list() [13:14:05.597] for (kk in seq_along(NAMES)) { [13:14:05.597] name <- changed[[kk]] [13:14:05.597] NAME <- NAMES[[kk]] [13:14:05.597] if (name != NAME && is.element(NAME, old_names)) [13:14:05.597] next [13:14:05.597] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.597] } [13:14:05.597] NAMES <- toupper(added) [13:14:05.597] for (kk in seq_along(NAMES)) { [13:14:05.597] name <- added[[kk]] [13:14:05.597] NAME <- NAMES[[kk]] [13:14:05.597] if (name != NAME && is.element(NAME, old_names)) [13:14:05.597] next [13:14:05.597] args[[name]] <- "" [13:14:05.597] } [13:14:05.597] NAMES <- toupper(removed) [13:14:05.597] for (kk in seq_along(NAMES)) { [13:14:05.597] name <- removed[[kk]] [13:14:05.597] NAME <- NAMES[[kk]] [13:14:05.597] if (name != NAME && is.element(NAME, old_names)) [13:14:05.597] next [13:14:05.597] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.597] } [13:14:05.597] if (length(args) > 0) [13:14:05.597] base::do.call(base::Sys.setenv, args = args) [13:14:05.597] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.597] } [13:14:05.597] else { [13:14:05.597] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.597] } [13:14:05.597] { [13:14:05.597] if (base::length(...future.futureOptionsAdded) > [13:14:05.597] 0L) { [13:14:05.597] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.597] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.597] base::options(opts) [13:14:05.597] } [13:14:05.597] { [13:14:05.597] { [13:14:05.597] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.597] NULL [13:14:05.597] } [13:14:05.597] options(future.plan = NULL) [13:14:05.597] if (is.na(NA_character_)) [13:14:05.597] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.597] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.597] future::plan(list(function (..., workers = availableCores(), [13:14:05.597] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.597] envir = parent.frame()) [13:14:05.597] { [13:14:05.597] if (is.function(workers)) [13:14:05.597] workers <- workers() [13:14:05.597] workers <- structure(as.integer(workers), [13:14:05.597] class = class(workers)) [13:14:05.597] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.597] workers >= 1) [13:14:05.597] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.597] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.597] } [13:14:05.597] future <- MultisessionFuture(..., workers = workers, [13:14:05.597] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.597] envir = envir) [13:14:05.597] if (!future$lazy) [13:14:05.597] future <- run(future) [13:14:05.597] invisible(future) [13:14:05.597] }), .cleanup = FALSE, .init = FALSE) [13:14:05.597] } [13:14:05.597] } [13:14:05.597] } [13:14:05.597] }) [13:14:05.597] if (TRUE) { [13:14:05.597] base::sink(type = "output", split = FALSE) [13:14:05.597] if (TRUE) { [13:14:05.597] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.597] } [13:14:05.597] else { [13:14:05.597] ...future.result["stdout"] <- base::list(NULL) [13:14:05.597] } [13:14:05.597] base::close(...future.stdout) [13:14:05.597] ...future.stdout <- NULL [13:14:05.597] } [13:14:05.597] ...future.result$conditions <- ...future.conditions [13:14:05.597] ...future.result$finished <- base::Sys.time() [13:14:05.597] ...future.result [13:14:05.597] } [13:14:05.602] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:05.603] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:05.603] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:05.603] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.604] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.604] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:05.604] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:05.605] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.605] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.605] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.606] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.606] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:05.606] MultisessionFuture started [13:14:05.607] - Launch lazy future ... done [13:14:05.607] run() for 'MultisessionFuture' ... done [13:14:05.607] Created future: [13:14:05.622] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.623] - Validating connection of MultisessionFuture [13:14:05.623] - received message: FutureResult [13:14:05.623] - Received FutureResult [13:14:05.623] - Erased future from FutureRegistry [13:14:05.623] result() for ClusterFuture ... [13:14:05.624] - result already collected: FutureResult [13:14:05.624] result() for ClusterFuture ... done [13:14:05.624] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.607] MultisessionFuture: [13:14:05.607] Label: 'future_sapply-2' [13:14:05.607] Expression: [13:14:05.607] { [13:14:05.607] do.call(function(...) { [13:14:05.607] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.607] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.607] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.607] on.exit(options(oopts), add = TRUE) [13:14:05.607] } [13:14:05.607] { [13:14:05.607] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.607] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.607] ...future.FUN(...future.X_jj, ...) [13:14:05.607] }) [13:14:05.607] } [13:14:05.607] }, args = future.call.arguments) [13:14:05.607] } [13:14:05.607] Lazy evaluation: FALSE [13:14:05.607] Asynchronous evaluation: TRUE [13:14:05.607] Local evaluation: TRUE [13:14:05.607] Environment: R_GlobalEnv [13:14:05.607] Capture standard output: TRUE [13:14:05.607] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.607] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.607] Packages: [13:14:05.607] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.607] Resolved: TRUE [13:14:05.607] Value: [13:14:05.607] Conditions captured: [13:14:05.607] Early signaling: FALSE [13:14:05.607] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.607] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.624] Chunk #2 of 2 ... DONE [13:14:05.624] Launching 2 futures (chunks) ... DONE [13:14:05.625] Resolving 2 futures (chunks) ... [13:14:05.625] resolve() on list ... [13:14:05.625] recursive: 0 [13:14:05.625] length: 2 [13:14:05.625] [13:14:05.625] Future #1 [13:14:05.626] result() for ClusterFuture ... [13:14:05.626] - result already collected: FutureResult [13:14:05.626] result() for ClusterFuture ... done [13:14:05.626] result() for ClusterFuture ... [13:14:05.626] - result already collected: FutureResult [13:14:05.626] result() for ClusterFuture ... done [13:14:05.627] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:05.627] - nx: 2 [13:14:05.627] - relay: TRUE [13:14:05.627] - stdout: TRUE [13:14:05.627] - signal: TRUE [13:14:05.627] - resignal: FALSE [13:14:05.627] - force: TRUE [13:14:05.628] - relayed: [n=2] FALSE, FALSE [13:14:05.628] - queued futures: [n=2] FALSE, FALSE [13:14:05.628] - until=1 [13:14:05.628] - relaying element #1 [13:14:05.628] result() for ClusterFuture ... [13:14:05.628] - result already collected: FutureResult [13:14:05.629] result() for ClusterFuture ... done [13:14:05.629] result() for ClusterFuture ... [13:14:05.629] - result already collected: FutureResult [13:14:05.629] result() for ClusterFuture ... done [13:14:05.629] result() for ClusterFuture ... [13:14:05.629] - result already collected: FutureResult [13:14:05.630] result() for ClusterFuture ... done [13:14:05.630] result() for ClusterFuture ... [13:14:05.630] - result already collected: FutureResult [13:14:05.630] result() for ClusterFuture ... done [13:14:05.630] - relayed: [n=2] TRUE, FALSE [13:14:05.630] - queued futures: [n=2] TRUE, FALSE [13:14:05.630] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:05.631] length: 1 (resolved future 1) [13:14:05.631] Future #2 [13:14:05.631] result() for ClusterFuture ... [13:14:05.631] - result already collected: FutureResult [13:14:05.631] result() for ClusterFuture ... done [13:14:05.631] result() for ClusterFuture ... [13:14:05.632] - result already collected: FutureResult [13:14:05.632] result() for ClusterFuture ... done [13:14:05.632] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:05.632] - nx: 2 [13:14:05.632] - relay: TRUE [13:14:05.632] - stdout: TRUE [13:14:05.633] - signal: TRUE [13:14:05.633] - resignal: FALSE [13:14:05.633] - force: TRUE [13:14:05.633] - relayed: [n=2] TRUE, FALSE [13:14:05.633] - queued futures: [n=2] TRUE, FALSE [13:14:05.633] - until=2 [13:14:05.633] - relaying element #2 [13:14:05.634] result() for ClusterFuture ... [13:14:05.634] - result already collected: FutureResult [13:14:05.634] result() for ClusterFuture ... done [13:14:05.634] result() for ClusterFuture ... [13:14:05.634] - result already collected: FutureResult [13:14:05.634] result() for ClusterFuture ... done [13:14:05.635] result() for ClusterFuture ... [13:14:05.635] - result already collected: FutureResult [13:14:05.635] result() for ClusterFuture ... done [13:14:05.635] result() for ClusterFuture ... [13:14:05.635] - result already collected: FutureResult [13:14:05.635] result() for ClusterFuture ... done [13:14:05.635] - relayed: [n=2] TRUE, TRUE [13:14:05.636] - queued futures: [n=2] TRUE, TRUE [13:14:05.636] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:05.636] length: 0 (resolved future 2) [13:14:05.636] Relaying remaining futures [13:14:05.636] signalConditionsASAP(NULL, pos=0) ... [13:14:05.636] - nx: 2 [13:14:05.637] - relay: TRUE [13:14:05.637] - stdout: TRUE [13:14:05.637] - signal: TRUE [13:14:05.637] - resignal: FALSE [13:14:05.637] - force: TRUE [13:14:05.637] - relayed: [n=2] TRUE, TRUE [13:14:05.637] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:05.638] - relayed: [n=2] TRUE, TRUE [13:14:05.638] - queued futures: [n=2] TRUE, TRUE [13:14:05.638] signalConditionsASAP(NULL, pos=0) ... done [13:14:05.638] resolve() on list ... DONE [13:14:05.638] result() for ClusterFuture ... [13:14:05.639] - result already collected: FutureResult [13:14:05.639] result() for ClusterFuture ... done [13:14:05.639] result() for ClusterFuture ... [13:14:05.639] - result already collected: FutureResult [13:14:05.639] result() for ClusterFuture ... done [13:14:05.639] result() for ClusterFuture ... [13:14:05.639] - result already collected: FutureResult [13:14:05.640] result() for ClusterFuture ... done [13:14:05.640] result() for ClusterFuture ... [13:14:05.640] - result already collected: FutureResult [13:14:05.640] result() for ClusterFuture ... done [13:14:05.640] - Number of value chunks collected: 2 [13:14:05.640] Resolving 2 futures (chunks) ... DONE [13:14:05.641] Reducing values from 2 chunks ... [13:14:05.641] - Number of values collected after concatenation: 3 [13:14:05.641] - Number of values expected: 3 [13:14:05.641] Reducing values from 2 chunks ... DONE [13:14:05.641] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:05.645] future_lapply() ... [13:14:05.648] Number of chunks: 2 [13:14:05.648] getGlobalsAndPackagesXApply() ... [13:14:05.648] - future.globals: TRUE [13:14:05.648] getGlobalsAndPackages() ... [13:14:05.648] Searching for globals... [13:14:05.650] - globals found: [1] 'FUN' [13:14:05.650] Searching for globals ... DONE [13:14:05.650] Resolving globals: FALSE [13:14:05.650] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:05.651] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:05.651] - globals: [1] 'FUN' [13:14:05.651] [13:14:05.651] getGlobalsAndPackages() ... DONE [13:14:05.651] - globals found/used: [n=1] 'FUN' [13:14:05.652] - needed namespaces: [n=0] [13:14:05.652] Finding globals ... DONE [13:14:05.652] - use_args: TRUE [13:14:05.652] - Getting '...' globals ... [13:14:05.652] resolve() on list ... [13:14:05.653] recursive: 0 [13:14:05.653] length: 1 [13:14:05.653] elements: '...' [13:14:05.653] length: 0 (resolved future 1) [13:14:05.653] resolve() on list ... DONE [13:14:05.653] - '...' content: [n=0] [13:14:05.654] List of 1 [13:14:05.654] $ ...: list() [13:14:05.654] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.654] - attr(*, "where")=List of 1 [13:14:05.654] ..$ ...: [13:14:05.654] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.654] - attr(*, "resolved")= logi TRUE [13:14:05.654] - attr(*, "total_size")= num NA [13:14:05.657] - Getting '...' globals ... DONE [13:14:05.657] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:05.657] List of 2 [13:14:05.657] $ ...future.FUN:function (x) [13:14:05.657] $ ... : list() [13:14:05.657] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.657] - attr(*, "where")=List of 2 [13:14:05.657] ..$ ...future.FUN: [13:14:05.657] ..$ ... : [13:14:05.657] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.657] - attr(*, "resolved")= logi FALSE [13:14:05.657] - attr(*, "total_size")= num 848 [13:14:05.663] Packages to be attached in all futures: [n=0] [13:14:05.663] getGlobalsAndPackagesXApply() ... DONE [13:14:05.663] Number of futures (= number of chunks): 2 [13:14:05.663] Launching 2 futures (chunks) ... [13:14:05.663] Chunk #1 of 2 ... [13:14:05.664] - Finding globals in 'X' for chunk #1 ... [13:14:05.664] getGlobalsAndPackages() ... [13:14:05.664] Searching for globals... [13:14:05.664] [13:14:05.664] Searching for globals ... DONE [13:14:05.665] - globals: [0] [13:14:05.665] getGlobalsAndPackages() ... DONE [13:14:05.665] + additional globals found: [n=0] [13:14:05.665] + additional namespaces needed: [n=0] [13:14:05.665] - Finding globals in 'X' for chunk #1 ... DONE [13:14:05.665] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.666] - seeds: [13:14:05.666] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.666] getGlobalsAndPackages() ... [13:14:05.666] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.666] Resolving globals: FALSE [13:14:05.666] Tweak future expression to call with '...' arguments ... [13:14:05.667] { [13:14:05.667] do.call(function(...) { [13:14:05.667] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.667] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.667] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.667] on.exit(options(oopts), add = TRUE) [13:14:05.667] } [13:14:05.667] { [13:14:05.667] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.667] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.667] ...future.FUN(...future.X_jj, ...) [13:14:05.667] }) [13:14:05.667] } [13:14:05.667] }, args = future.call.arguments) [13:14:05.667] } [13:14:05.667] Tweak future expression to call with '...' arguments ... DONE [13:14:05.667] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.668] [13:14:05.668] getGlobalsAndPackages() ... DONE [13:14:05.668] run() for 'Future' ... [13:14:05.668] - state: 'created' [13:14:05.669] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.683] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.683] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.683] - Field: 'node' [13:14:05.683] - Field: 'label' [13:14:05.684] - Field: 'local' [13:14:05.684] - Field: 'owner' [13:14:05.684] - Field: 'envir' [13:14:05.684] - Field: 'workers' [13:14:05.684] - Field: 'packages' [13:14:05.685] - Field: 'gc' [13:14:05.685] - Field: 'conditions' [13:14:05.685] - Field: 'persistent' [13:14:05.685] - Field: 'expr' [13:14:05.685] - Field: 'uuid' [13:14:05.686] - Field: 'seed' [13:14:05.686] - Field: 'version' [13:14:05.686] - Field: 'result' [13:14:05.686] - Field: 'asynchronous' [13:14:05.686] - Field: 'calls' [13:14:05.687] - Field: 'globals' [13:14:05.687] - Field: 'stdout' [13:14:05.687] - Field: 'earlySignal' [13:14:05.687] - Field: 'lazy' [13:14:05.687] - Field: 'state' [13:14:05.688] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.688] - Launch lazy future ... [13:14:05.688] Packages needed by the future expression (n = 0): [13:14:05.688] Packages needed by future strategies (n = 0): [13:14:05.689] { [13:14:05.689] { [13:14:05.689] { [13:14:05.689] ...future.startTime <- base::Sys.time() [13:14:05.689] { [13:14:05.689] { [13:14:05.689] { [13:14:05.689] { [13:14:05.689] base::local({ [13:14:05.689] has_future <- base::requireNamespace("future", [13:14:05.689] quietly = TRUE) [13:14:05.689] if (has_future) { [13:14:05.689] ns <- base::getNamespace("future") [13:14:05.689] version <- ns[[".package"]][["version"]] [13:14:05.689] if (is.null(version)) [13:14:05.689] version <- utils::packageVersion("future") [13:14:05.689] } [13:14:05.689] else { [13:14:05.689] version <- NULL [13:14:05.689] } [13:14:05.689] if (!has_future || version < "1.8.0") { [13:14:05.689] info <- base::c(r_version = base::gsub("R version ", [13:14:05.689] "", base::R.version$version.string), [13:14:05.689] platform = base::sprintf("%s (%s-bit)", [13:14:05.689] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.689] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.689] "release", "version")], collapse = " "), [13:14:05.689] hostname = base::Sys.info()[["nodename"]]) [13:14:05.689] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.689] info) [13:14:05.689] info <- base::paste(info, collapse = "; ") [13:14:05.689] if (!has_future) { [13:14:05.689] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.689] info) [13:14:05.689] } [13:14:05.689] else { [13:14:05.689] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.689] info, version) [13:14:05.689] } [13:14:05.689] base::stop(msg) [13:14:05.689] } [13:14:05.689] }) [13:14:05.689] } [13:14:05.689] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.689] base::options(mc.cores = 1L) [13:14:05.689] } [13:14:05.689] options(future.plan = NULL) [13:14:05.689] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.689] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.689] } [13:14:05.689] ...future.workdir <- getwd() [13:14:05.689] } [13:14:05.689] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.689] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.689] } [13:14:05.689] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.689] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.689] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.689] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.689] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.689] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.689] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.689] base::names(...future.oldOptions)) [13:14:05.689] } [13:14:05.689] if (FALSE) { [13:14:05.689] } [13:14:05.689] else { [13:14:05.689] if (TRUE) { [13:14:05.689] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.689] open = "w") [13:14:05.689] } [13:14:05.689] else { [13:14:05.689] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.689] windows = "NUL", "/dev/null"), open = "w") [13:14:05.689] } [13:14:05.689] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.689] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.689] base::sink(type = "output", split = FALSE) [13:14:05.689] base::close(...future.stdout) [13:14:05.689] }, add = TRUE) [13:14:05.689] } [13:14:05.689] ...future.frame <- base::sys.nframe() [13:14:05.689] ...future.conditions <- base::list() [13:14:05.689] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.689] if (FALSE) { [13:14:05.689] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.689] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.689] } [13:14:05.689] ...future.result <- base::tryCatch({ [13:14:05.689] base::withCallingHandlers({ [13:14:05.689] ...future.value <- base::withVisible(base::local({ [13:14:05.689] ...future.makeSendCondition <- local({ [13:14:05.689] sendCondition <- NULL [13:14:05.689] function(frame = 1L) { [13:14:05.689] if (is.function(sendCondition)) [13:14:05.689] return(sendCondition) [13:14:05.689] ns <- getNamespace("parallel") [13:14:05.689] if (exists("sendData", mode = "function", [13:14:05.689] envir = ns)) { [13:14:05.689] parallel_sendData <- get("sendData", mode = "function", [13:14:05.689] envir = ns) [13:14:05.689] envir <- sys.frame(frame) [13:14:05.689] master <- NULL [13:14:05.689] while (!identical(envir, .GlobalEnv) && [13:14:05.689] !identical(envir, emptyenv())) { [13:14:05.689] if (exists("master", mode = "list", envir = envir, [13:14:05.689] inherits = FALSE)) { [13:14:05.689] master <- get("master", mode = "list", [13:14:05.689] envir = envir, inherits = FALSE) [13:14:05.689] if (inherits(master, c("SOCKnode", [13:14:05.689] "SOCK0node"))) { [13:14:05.689] sendCondition <<- function(cond) { [13:14:05.689] data <- list(type = "VALUE", value = cond, [13:14:05.689] success = TRUE) [13:14:05.689] parallel_sendData(master, data) [13:14:05.689] } [13:14:05.689] return(sendCondition) [13:14:05.689] } [13:14:05.689] } [13:14:05.689] frame <- frame + 1L [13:14:05.689] envir <- sys.frame(frame) [13:14:05.689] } [13:14:05.689] } [13:14:05.689] sendCondition <<- function(cond) NULL [13:14:05.689] } [13:14:05.689] }) [13:14:05.689] withCallingHandlers({ [13:14:05.689] { [13:14:05.689] do.call(function(...) { [13:14:05.689] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.689] if (!identical(...future.globals.maxSize.org, [13:14:05.689] ...future.globals.maxSize)) { [13:14:05.689] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.689] on.exit(options(oopts), add = TRUE) [13:14:05.689] } [13:14:05.689] { [13:14:05.689] lapply(seq_along(...future.elements_ii), [13:14:05.689] FUN = function(jj) { [13:14:05.689] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.689] ...future.FUN(...future.X_jj, ...) [13:14:05.689] }) [13:14:05.689] } [13:14:05.689] }, args = future.call.arguments) [13:14:05.689] } [13:14:05.689] }, immediateCondition = function(cond) { [13:14:05.689] sendCondition <- ...future.makeSendCondition() [13:14:05.689] sendCondition(cond) [13:14:05.689] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.689] { [13:14:05.689] inherits <- base::inherits [13:14:05.689] invokeRestart <- base::invokeRestart [13:14:05.689] is.null <- base::is.null [13:14:05.689] muffled <- FALSE [13:14:05.689] if (inherits(cond, "message")) { [13:14:05.689] muffled <- grepl(pattern, "muffleMessage") [13:14:05.689] if (muffled) [13:14:05.689] invokeRestart("muffleMessage") [13:14:05.689] } [13:14:05.689] else if (inherits(cond, "warning")) { [13:14:05.689] muffled <- grepl(pattern, "muffleWarning") [13:14:05.689] if (muffled) [13:14:05.689] invokeRestart("muffleWarning") [13:14:05.689] } [13:14:05.689] else if (inherits(cond, "condition")) { [13:14:05.689] if (!is.null(pattern)) { [13:14:05.689] computeRestarts <- base::computeRestarts [13:14:05.689] grepl <- base::grepl [13:14:05.689] restarts <- computeRestarts(cond) [13:14:05.689] for (restart in restarts) { [13:14:05.689] name <- restart$name [13:14:05.689] if (is.null(name)) [13:14:05.689] next [13:14:05.689] if (!grepl(pattern, name)) [13:14:05.689] next [13:14:05.689] invokeRestart(restart) [13:14:05.689] muffled <- TRUE [13:14:05.689] break [13:14:05.689] } [13:14:05.689] } [13:14:05.689] } [13:14:05.689] invisible(muffled) [13:14:05.689] } [13:14:05.689] muffleCondition(cond) [13:14:05.689] }) [13:14:05.689] })) [13:14:05.689] future::FutureResult(value = ...future.value$value, [13:14:05.689] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.689] ...future.rng), globalenv = if (FALSE) [13:14:05.689] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.689] ...future.globalenv.names)) [13:14:05.689] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.689] }, condition = base::local({ [13:14:05.689] c <- base::c [13:14:05.689] inherits <- base::inherits [13:14:05.689] invokeRestart <- base::invokeRestart [13:14:05.689] length <- base::length [13:14:05.689] list <- base::list [13:14:05.689] seq.int <- base::seq.int [13:14:05.689] signalCondition <- base::signalCondition [13:14:05.689] sys.calls <- base::sys.calls [13:14:05.689] `[[` <- base::`[[` [13:14:05.689] `+` <- base::`+` [13:14:05.689] `<<-` <- base::`<<-` [13:14:05.689] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.689] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.689] 3L)] [13:14:05.689] } [13:14:05.689] function(cond) { [13:14:05.689] is_error <- inherits(cond, "error") [13:14:05.689] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.689] NULL) [13:14:05.689] if (is_error) { [13:14:05.689] sessionInformation <- function() { [13:14:05.689] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.689] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.689] search = base::search(), system = base::Sys.info()) [13:14:05.689] } [13:14:05.689] ...future.conditions[[length(...future.conditions) + [13:14:05.689] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.689] cond$call), session = sessionInformation(), [13:14:05.689] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.689] signalCondition(cond) [13:14:05.689] } [13:14:05.689] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.689] "immediateCondition"))) { [13:14:05.689] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.689] ...future.conditions[[length(...future.conditions) + [13:14:05.689] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.689] if (TRUE && !signal) { [13:14:05.689] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.689] { [13:14:05.689] inherits <- base::inherits [13:14:05.689] invokeRestart <- base::invokeRestart [13:14:05.689] is.null <- base::is.null [13:14:05.689] muffled <- FALSE [13:14:05.689] if (inherits(cond, "message")) { [13:14:05.689] muffled <- grepl(pattern, "muffleMessage") [13:14:05.689] if (muffled) [13:14:05.689] invokeRestart("muffleMessage") [13:14:05.689] } [13:14:05.689] else if (inherits(cond, "warning")) { [13:14:05.689] muffled <- grepl(pattern, "muffleWarning") [13:14:05.689] if (muffled) [13:14:05.689] invokeRestart("muffleWarning") [13:14:05.689] } [13:14:05.689] else if (inherits(cond, "condition")) { [13:14:05.689] if (!is.null(pattern)) { [13:14:05.689] computeRestarts <- base::computeRestarts [13:14:05.689] grepl <- base::grepl [13:14:05.689] restarts <- computeRestarts(cond) [13:14:05.689] for (restart in restarts) { [13:14:05.689] name <- restart$name [13:14:05.689] if (is.null(name)) [13:14:05.689] next [13:14:05.689] if (!grepl(pattern, name)) [13:14:05.689] next [13:14:05.689] invokeRestart(restart) [13:14:05.689] muffled <- TRUE [13:14:05.689] break [13:14:05.689] } [13:14:05.689] } [13:14:05.689] } [13:14:05.689] invisible(muffled) [13:14:05.689] } [13:14:05.689] muffleCondition(cond, pattern = "^muffle") [13:14:05.689] } [13:14:05.689] } [13:14:05.689] else { [13:14:05.689] if (TRUE) { [13:14:05.689] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.689] { [13:14:05.689] inherits <- base::inherits [13:14:05.689] invokeRestart <- base::invokeRestart [13:14:05.689] is.null <- base::is.null [13:14:05.689] muffled <- FALSE [13:14:05.689] if (inherits(cond, "message")) { [13:14:05.689] muffled <- grepl(pattern, "muffleMessage") [13:14:05.689] if (muffled) [13:14:05.689] invokeRestart("muffleMessage") [13:14:05.689] } [13:14:05.689] else if (inherits(cond, "warning")) { [13:14:05.689] muffled <- grepl(pattern, "muffleWarning") [13:14:05.689] if (muffled) [13:14:05.689] invokeRestart("muffleWarning") [13:14:05.689] } [13:14:05.689] else if (inherits(cond, "condition")) { [13:14:05.689] if (!is.null(pattern)) { [13:14:05.689] computeRestarts <- base::computeRestarts [13:14:05.689] grepl <- base::grepl [13:14:05.689] restarts <- computeRestarts(cond) [13:14:05.689] for (restart in restarts) { [13:14:05.689] name <- restart$name [13:14:05.689] if (is.null(name)) [13:14:05.689] next [13:14:05.689] if (!grepl(pattern, name)) [13:14:05.689] next [13:14:05.689] invokeRestart(restart) [13:14:05.689] muffled <- TRUE [13:14:05.689] break [13:14:05.689] } [13:14:05.689] } [13:14:05.689] } [13:14:05.689] invisible(muffled) [13:14:05.689] } [13:14:05.689] muffleCondition(cond, pattern = "^muffle") [13:14:05.689] } [13:14:05.689] } [13:14:05.689] } [13:14:05.689] })) [13:14:05.689] }, error = function(ex) { [13:14:05.689] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.689] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.689] ...future.rng), started = ...future.startTime, [13:14:05.689] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.689] version = "1.8"), class = "FutureResult") [13:14:05.689] }, finally = { [13:14:05.689] if (!identical(...future.workdir, getwd())) [13:14:05.689] setwd(...future.workdir) [13:14:05.689] { [13:14:05.689] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.689] ...future.oldOptions$nwarnings <- NULL [13:14:05.689] } [13:14:05.689] base::options(...future.oldOptions) [13:14:05.689] if (.Platform$OS.type == "windows") { [13:14:05.689] old_names <- names(...future.oldEnvVars) [13:14:05.689] envs <- base::Sys.getenv() [13:14:05.689] names <- names(envs) [13:14:05.689] common <- intersect(names, old_names) [13:14:05.689] added <- setdiff(names, old_names) [13:14:05.689] removed <- setdiff(old_names, names) [13:14:05.689] changed <- common[...future.oldEnvVars[common] != [13:14:05.689] envs[common]] [13:14:05.689] NAMES <- toupper(changed) [13:14:05.689] args <- list() [13:14:05.689] for (kk in seq_along(NAMES)) { [13:14:05.689] name <- changed[[kk]] [13:14:05.689] NAME <- NAMES[[kk]] [13:14:05.689] if (name != NAME && is.element(NAME, old_names)) [13:14:05.689] next [13:14:05.689] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.689] } [13:14:05.689] NAMES <- toupper(added) [13:14:05.689] for (kk in seq_along(NAMES)) { [13:14:05.689] name <- added[[kk]] [13:14:05.689] NAME <- NAMES[[kk]] [13:14:05.689] if (name != NAME && is.element(NAME, old_names)) [13:14:05.689] next [13:14:05.689] args[[name]] <- "" [13:14:05.689] } [13:14:05.689] NAMES <- toupper(removed) [13:14:05.689] for (kk in seq_along(NAMES)) { [13:14:05.689] name <- removed[[kk]] [13:14:05.689] NAME <- NAMES[[kk]] [13:14:05.689] if (name != NAME && is.element(NAME, old_names)) [13:14:05.689] next [13:14:05.689] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.689] } [13:14:05.689] if (length(args) > 0) [13:14:05.689] base::do.call(base::Sys.setenv, args = args) [13:14:05.689] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.689] } [13:14:05.689] else { [13:14:05.689] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.689] } [13:14:05.689] { [13:14:05.689] if (base::length(...future.futureOptionsAdded) > [13:14:05.689] 0L) { [13:14:05.689] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.689] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.689] base::options(opts) [13:14:05.689] } [13:14:05.689] { [13:14:05.689] { [13:14:05.689] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.689] NULL [13:14:05.689] } [13:14:05.689] options(future.plan = NULL) [13:14:05.689] if (is.na(NA_character_)) [13:14:05.689] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.689] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.689] future::plan(list(function (..., workers = availableCores(), [13:14:05.689] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.689] envir = parent.frame()) [13:14:05.689] { [13:14:05.689] if (is.function(workers)) [13:14:05.689] workers <- workers() [13:14:05.689] workers <- structure(as.integer(workers), [13:14:05.689] class = class(workers)) [13:14:05.689] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.689] workers >= 1) [13:14:05.689] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.689] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.689] } [13:14:05.689] future <- MultisessionFuture(..., workers = workers, [13:14:05.689] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.689] envir = envir) [13:14:05.689] if (!future$lazy) [13:14:05.689] future <- run(future) [13:14:05.689] invisible(future) [13:14:05.689] }), .cleanup = FALSE, .init = FALSE) [13:14:05.689] } [13:14:05.689] } [13:14:05.689] } [13:14:05.689] }) [13:14:05.689] if (TRUE) { [13:14:05.689] base::sink(type = "output", split = FALSE) [13:14:05.689] if (TRUE) { [13:14:05.689] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.689] } [13:14:05.689] else { [13:14:05.689] ...future.result["stdout"] <- base::list(NULL) [13:14:05.689] } [13:14:05.689] base::close(...future.stdout) [13:14:05.689] ...future.stdout <- NULL [13:14:05.689] } [13:14:05.689] ...future.result$conditions <- ...future.conditions [13:14:05.689] ...future.result$finished <- base::Sys.time() [13:14:05.689] ...future.result [13:14:05.689] } [13:14:05.695] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:05.695] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:05.695] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:05.696] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.696] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.696] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:05.697] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:05.697] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.697] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.697] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.698] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.698] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:05.699] MultisessionFuture started [13:14:05.699] - Launch lazy future ... done [13:14:05.699] run() for 'MultisessionFuture' ... done [13:14:05.699] Created future: [13:14:05.714] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.714] - Validating connection of MultisessionFuture [13:14:05.714] - received message: FutureResult [13:14:05.715] - Received FutureResult [13:14:05.715] - Erased future from FutureRegistry [13:14:05.715] result() for ClusterFuture ... [13:14:05.715] - result already collected: FutureResult [13:14:05.715] result() for ClusterFuture ... done [13:14:05.715] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.699] MultisessionFuture: [13:14:05.699] Label: 'future_sapply-1' [13:14:05.699] Expression: [13:14:05.699] { [13:14:05.699] do.call(function(...) { [13:14:05.699] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.699] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.699] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.699] on.exit(options(oopts), add = TRUE) [13:14:05.699] } [13:14:05.699] { [13:14:05.699] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.699] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.699] ...future.FUN(...future.X_jj, ...) [13:14:05.699] }) [13:14:05.699] } [13:14:05.699] }, args = future.call.arguments) [13:14:05.699] } [13:14:05.699] Lazy evaluation: FALSE [13:14:05.699] Asynchronous evaluation: TRUE [13:14:05.699] Local evaluation: TRUE [13:14:05.699] Environment: R_GlobalEnv [13:14:05.699] Capture standard output: TRUE [13:14:05.699] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.699] Globals: 5 objects totaling 904 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.699] Packages: [13:14:05.699] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.699] Resolved: TRUE [13:14:05.699] Value: [13:14:05.699] Conditions captured: [13:14:05.699] Early signaling: FALSE [13:14:05.699] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.699] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.716] Chunk #1 of 2 ... DONE [13:14:05.716] Chunk #2 of 2 ... [13:14:05.716] - Finding globals in 'X' for chunk #2 ... [13:14:05.716] getGlobalsAndPackages() ... [13:14:05.717] Searching for globals... [13:14:05.717] [13:14:05.717] Searching for globals ... DONE [13:14:05.717] - globals: [0] [13:14:05.717] getGlobalsAndPackages() ... DONE [13:14:05.717] + additional globals found: [n=0] [13:14:05.718] + additional namespaces needed: [n=0] [13:14:05.718] - Finding globals in 'X' for chunk #2 ... DONE [13:14:05.718] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.718] - seeds: [13:14:05.718] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.718] getGlobalsAndPackages() ... [13:14:05.719] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.719] Resolving globals: FALSE [13:14:05.719] Tweak future expression to call with '...' arguments ... [13:14:05.719] { [13:14:05.719] do.call(function(...) { [13:14:05.719] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.719] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.719] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.719] on.exit(options(oopts), add = TRUE) [13:14:05.719] } [13:14:05.719] { [13:14:05.719] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.719] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.719] ...future.FUN(...future.X_jj, ...) [13:14:05.719] }) [13:14:05.719] } [13:14:05.719] }, args = future.call.arguments) [13:14:05.719] } [13:14:05.720] Tweak future expression to call with '...' arguments ... DONE [13:14:05.720] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.720] [13:14:05.720] getGlobalsAndPackages() ... DONE [13:14:05.721] run() for 'Future' ... [13:14:05.721] - state: 'created' [13:14:05.721] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.737] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.738] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.738] - Field: 'node' [13:14:05.738] - Field: 'label' [13:14:05.738] - Field: 'local' [13:14:05.738] - Field: 'owner' [13:14:05.738] - Field: 'envir' [13:14:05.739] - Field: 'workers' [13:14:05.739] - Field: 'packages' [13:14:05.739] - Field: 'gc' [13:14:05.739] - Field: 'conditions' [13:14:05.739] - Field: 'persistent' [13:14:05.740] - Field: 'expr' [13:14:05.740] - Field: 'uuid' [13:14:05.740] - Field: 'seed' [13:14:05.740] - Field: 'version' [13:14:05.740] - Field: 'result' [13:14:05.740] - Field: 'asynchronous' [13:14:05.741] - Field: 'calls' [13:14:05.741] - Field: 'globals' [13:14:05.741] - Field: 'stdout' [13:14:05.741] - Field: 'earlySignal' [13:14:05.741] - Field: 'lazy' [13:14:05.741] - Field: 'state' [13:14:05.742] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.742] - Launch lazy future ... [13:14:05.742] Packages needed by the future expression (n = 0): [13:14:05.742] Packages needed by future strategies (n = 0): [13:14:05.743] { [13:14:05.743] { [13:14:05.743] { [13:14:05.743] ...future.startTime <- base::Sys.time() [13:14:05.743] { [13:14:05.743] { [13:14:05.743] { [13:14:05.743] { [13:14:05.743] base::local({ [13:14:05.743] has_future <- base::requireNamespace("future", [13:14:05.743] quietly = TRUE) [13:14:05.743] if (has_future) { [13:14:05.743] ns <- base::getNamespace("future") [13:14:05.743] version <- ns[[".package"]][["version"]] [13:14:05.743] if (is.null(version)) [13:14:05.743] version <- utils::packageVersion("future") [13:14:05.743] } [13:14:05.743] else { [13:14:05.743] version <- NULL [13:14:05.743] } [13:14:05.743] if (!has_future || version < "1.8.0") { [13:14:05.743] info <- base::c(r_version = base::gsub("R version ", [13:14:05.743] "", base::R.version$version.string), [13:14:05.743] platform = base::sprintf("%s (%s-bit)", [13:14:05.743] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.743] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.743] "release", "version")], collapse = " "), [13:14:05.743] hostname = base::Sys.info()[["nodename"]]) [13:14:05.743] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.743] info) [13:14:05.743] info <- base::paste(info, collapse = "; ") [13:14:05.743] if (!has_future) { [13:14:05.743] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.743] info) [13:14:05.743] } [13:14:05.743] else { [13:14:05.743] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.743] info, version) [13:14:05.743] } [13:14:05.743] base::stop(msg) [13:14:05.743] } [13:14:05.743] }) [13:14:05.743] } [13:14:05.743] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.743] base::options(mc.cores = 1L) [13:14:05.743] } [13:14:05.743] options(future.plan = NULL) [13:14:05.743] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.743] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.743] } [13:14:05.743] ...future.workdir <- getwd() [13:14:05.743] } [13:14:05.743] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.743] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.743] } [13:14:05.743] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.743] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.743] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.743] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.743] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.743] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.743] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.743] base::names(...future.oldOptions)) [13:14:05.743] } [13:14:05.743] if (FALSE) { [13:14:05.743] } [13:14:05.743] else { [13:14:05.743] if (TRUE) { [13:14:05.743] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.743] open = "w") [13:14:05.743] } [13:14:05.743] else { [13:14:05.743] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.743] windows = "NUL", "/dev/null"), open = "w") [13:14:05.743] } [13:14:05.743] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.743] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.743] base::sink(type = "output", split = FALSE) [13:14:05.743] base::close(...future.stdout) [13:14:05.743] }, add = TRUE) [13:14:05.743] } [13:14:05.743] ...future.frame <- base::sys.nframe() [13:14:05.743] ...future.conditions <- base::list() [13:14:05.743] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.743] if (FALSE) { [13:14:05.743] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.743] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.743] } [13:14:05.743] ...future.result <- base::tryCatch({ [13:14:05.743] base::withCallingHandlers({ [13:14:05.743] ...future.value <- base::withVisible(base::local({ [13:14:05.743] ...future.makeSendCondition <- local({ [13:14:05.743] sendCondition <- NULL [13:14:05.743] function(frame = 1L) { [13:14:05.743] if (is.function(sendCondition)) [13:14:05.743] return(sendCondition) [13:14:05.743] ns <- getNamespace("parallel") [13:14:05.743] if (exists("sendData", mode = "function", [13:14:05.743] envir = ns)) { [13:14:05.743] parallel_sendData <- get("sendData", mode = "function", [13:14:05.743] envir = ns) [13:14:05.743] envir <- sys.frame(frame) [13:14:05.743] master <- NULL [13:14:05.743] while (!identical(envir, .GlobalEnv) && [13:14:05.743] !identical(envir, emptyenv())) { [13:14:05.743] if (exists("master", mode = "list", envir = envir, [13:14:05.743] inherits = FALSE)) { [13:14:05.743] master <- get("master", mode = "list", [13:14:05.743] envir = envir, inherits = FALSE) [13:14:05.743] if (inherits(master, c("SOCKnode", [13:14:05.743] "SOCK0node"))) { [13:14:05.743] sendCondition <<- function(cond) { [13:14:05.743] data <- list(type = "VALUE", value = cond, [13:14:05.743] success = TRUE) [13:14:05.743] parallel_sendData(master, data) [13:14:05.743] } [13:14:05.743] return(sendCondition) [13:14:05.743] } [13:14:05.743] } [13:14:05.743] frame <- frame + 1L [13:14:05.743] envir <- sys.frame(frame) [13:14:05.743] } [13:14:05.743] } [13:14:05.743] sendCondition <<- function(cond) NULL [13:14:05.743] } [13:14:05.743] }) [13:14:05.743] withCallingHandlers({ [13:14:05.743] { [13:14:05.743] do.call(function(...) { [13:14:05.743] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.743] if (!identical(...future.globals.maxSize.org, [13:14:05.743] ...future.globals.maxSize)) { [13:14:05.743] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.743] on.exit(options(oopts), add = TRUE) [13:14:05.743] } [13:14:05.743] { [13:14:05.743] lapply(seq_along(...future.elements_ii), [13:14:05.743] FUN = function(jj) { [13:14:05.743] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.743] ...future.FUN(...future.X_jj, ...) [13:14:05.743] }) [13:14:05.743] } [13:14:05.743] }, args = future.call.arguments) [13:14:05.743] } [13:14:05.743] }, immediateCondition = function(cond) { [13:14:05.743] sendCondition <- ...future.makeSendCondition() [13:14:05.743] sendCondition(cond) [13:14:05.743] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.743] { [13:14:05.743] inherits <- base::inherits [13:14:05.743] invokeRestart <- base::invokeRestart [13:14:05.743] is.null <- base::is.null [13:14:05.743] muffled <- FALSE [13:14:05.743] if (inherits(cond, "message")) { [13:14:05.743] muffled <- grepl(pattern, "muffleMessage") [13:14:05.743] if (muffled) [13:14:05.743] invokeRestart("muffleMessage") [13:14:05.743] } [13:14:05.743] else if (inherits(cond, "warning")) { [13:14:05.743] muffled <- grepl(pattern, "muffleWarning") [13:14:05.743] if (muffled) [13:14:05.743] invokeRestart("muffleWarning") [13:14:05.743] } [13:14:05.743] else if (inherits(cond, "condition")) { [13:14:05.743] if (!is.null(pattern)) { [13:14:05.743] computeRestarts <- base::computeRestarts [13:14:05.743] grepl <- base::grepl [13:14:05.743] restarts <- computeRestarts(cond) [13:14:05.743] for (restart in restarts) { [13:14:05.743] name <- restart$name [13:14:05.743] if (is.null(name)) [13:14:05.743] next [13:14:05.743] if (!grepl(pattern, name)) [13:14:05.743] next [13:14:05.743] invokeRestart(restart) [13:14:05.743] muffled <- TRUE [13:14:05.743] break [13:14:05.743] } [13:14:05.743] } [13:14:05.743] } [13:14:05.743] invisible(muffled) [13:14:05.743] } [13:14:05.743] muffleCondition(cond) [13:14:05.743] }) [13:14:05.743] })) [13:14:05.743] future::FutureResult(value = ...future.value$value, [13:14:05.743] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.743] ...future.rng), globalenv = if (FALSE) [13:14:05.743] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.743] ...future.globalenv.names)) [13:14:05.743] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.743] }, condition = base::local({ [13:14:05.743] c <- base::c [13:14:05.743] inherits <- base::inherits [13:14:05.743] invokeRestart <- base::invokeRestart [13:14:05.743] length <- base::length [13:14:05.743] list <- base::list [13:14:05.743] seq.int <- base::seq.int [13:14:05.743] signalCondition <- base::signalCondition [13:14:05.743] sys.calls <- base::sys.calls [13:14:05.743] `[[` <- base::`[[` [13:14:05.743] `+` <- base::`+` [13:14:05.743] `<<-` <- base::`<<-` [13:14:05.743] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.743] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.743] 3L)] [13:14:05.743] } [13:14:05.743] function(cond) { [13:14:05.743] is_error <- inherits(cond, "error") [13:14:05.743] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.743] NULL) [13:14:05.743] if (is_error) { [13:14:05.743] sessionInformation <- function() { [13:14:05.743] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.743] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.743] search = base::search(), system = base::Sys.info()) [13:14:05.743] } [13:14:05.743] ...future.conditions[[length(...future.conditions) + [13:14:05.743] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.743] cond$call), session = sessionInformation(), [13:14:05.743] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.743] signalCondition(cond) [13:14:05.743] } [13:14:05.743] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.743] "immediateCondition"))) { [13:14:05.743] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.743] ...future.conditions[[length(...future.conditions) + [13:14:05.743] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.743] if (TRUE && !signal) { [13:14:05.743] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.743] { [13:14:05.743] inherits <- base::inherits [13:14:05.743] invokeRestart <- base::invokeRestart [13:14:05.743] is.null <- base::is.null [13:14:05.743] muffled <- FALSE [13:14:05.743] if (inherits(cond, "message")) { [13:14:05.743] muffled <- grepl(pattern, "muffleMessage") [13:14:05.743] if (muffled) [13:14:05.743] invokeRestart("muffleMessage") [13:14:05.743] } [13:14:05.743] else if (inherits(cond, "warning")) { [13:14:05.743] muffled <- grepl(pattern, "muffleWarning") [13:14:05.743] if (muffled) [13:14:05.743] invokeRestart("muffleWarning") [13:14:05.743] } [13:14:05.743] else if (inherits(cond, "condition")) { [13:14:05.743] if (!is.null(pattern)) { [13:14:05.743] computeRestarts <- base::computeRestarts [13:14:05.743] grepl <- base::grepl [13:14:05.743] restarts <- computeRestarts(cond) [13:14:05.743] for (restart in restarts) { [13:14:05.743] name <- restart$name [13:14:05.743] if (is.null(name)) [13:14:05.743] next [13:14:05.743] if (!grepl(pattern, name)) [13:14:05.743] next [13:14:05.743] invokeRestart(restart) [13:14:05.743] muffled <- TRUE [13:14:05.743] break [13:14:05.743] } [13:14:05.743] } [13:14:05.743] } [13:14:05.743] invisible(muffled) [13:14:05.743] } [13:14:05.743] muffleCondition(cond, pattern = "^muffle") [13:14:05.743] } [13:14:05.743] } [13:14:05.743] else { [13:14:05.743] if (TRUE) { [13:14:05.743] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.743] { [13:14:05.743] inherits <- base::inherits [13:14:05.743] invokeRestart <- base::invokeRestart [13:14:05.743] is.null <- base::is.null [13:14:05.743] muffled <- FALSE [13:14:05.743] if (inherits(cond, "message")) { [13:14:05.743] muffled <- grepl(pattern, "muffleMessage") [13:14:05.743] if (muffled) [13:14:05.743] invokeRestart("muffleMessage") [13:14:05.743] } [13:14:05.743] else if (inherits(cond, "warning")) { [13:14:05.743] muffled <- grepl(pattern, "muffleWarning") [13:14:05.743] if (muffled) [13:14:05.743] invokeRestart("muffleWarning") [13:14:05.743] } [13:14:05.743] else if (inherits(cond, "condition")) { [13:14:05.743] if (!is.null(pattern)) { [13:14:05.743] computeRestarts <- base::computeRestarts [13:14:05.743] grepl <- base::grepl [13:14:05.743] restarts <- computeRestarts(cond) [13:14:05.743] for (restart in restarts) { [13:14:05.743] name <- restart$name [13:14:05.743] if (is.null(name)) [13:14:05.743] next [13:14:05.743] if (!grepl(pattern, name)) [13:14:05.743] next [13:14:05.743] invokeRestart(restart) [13:14:05.743] muffled <- TRUE [13:14:05.743] break [13:14:05.743] } [13:14:05.743] } [13:14:05.743] } [13:14:05.743] invisible(muffled) [13:14:05.743] } [13:14:05.743] muffleCondition(cond, pattern = "^muffle") [13:14:05.743] } [13:14:05.743] } [13:14:05.743] } [13:14:05.743] })) [13:14:05.743] }, error = function(ex) { [13:14:05.743] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.743] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.743] ...future.rng), started = ...future.startTime, [13:14:05.743] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.743] version = "1.8"), class = "FutureResult") [13:14:05.743] }, finally = { [13:14:05.743] if (!identical(...future.workdir, getwd())) [13:14:05.743] setwd(...future.workdir) [13:14:05.743] { [13:14:05.743] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.743] ...future.oldOptions$nwarnings <- NULL [13:14:05.743] } [13:14:05.743] base::options(...future.oldOptions) [13:14:05.743] if (.Platform$OS.type == "windows") { [13:14:05.743] old_names <- names(...future.oldEnvVars) [13:14:05.743] envs <- base::Sys.getenv() [13:14:05.743] names <- names(envs) [13:14:05.743] common <- intersect(names, old_names) [13:14:05.743] added <- setdiff(names, old_names) [13:14:05.743] removed <- setdiff(old_names, names) [13:14:05.743] changed <- common[...future.oldEnvVars[common] != [13:14:05.743] envs[common]] [13:14:05.743] NAMES <- toupper(changed) [13:14:05.743] args <- list() [13:14:05.743] for (kk in seq_along(NAMES)) { [13:14:05.743] name <- changed[[kk]] [13:14:05.743] NAME <- NAMES[[kk]] [13:14:05.743] if (name != NAME && is.element(NAME, old_names)) [13:14:05.743] next [13:14:05.743] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.743] } [13:14:05.743] NAMES <- toupper(added) [13:14:05.743] for (kk in seq_along(NAMES)) { [13:14:05.743] name <- added[[kk]] [13:14:05.743] NAME <- NAMES[[kk]] [13:14:05.743] if (name != NAME && is.element(NAME, old_names)) [13:14:05.743] next [13:14:05.743] args[[name]] <- "" [13:14:05.743] } [13:14:05.743] NAMES <- toupper(removed) [13:14:05.743] for (kk in seq_along(NAMES)) { [13:14:05.743] name <- removed[[kk]] [13:14:05.743] NAME <- NAMES[[kk]] [13:14:05.743] if (name != NAME && is.element(NAME, old_names)) [13:14:05.743] next [13:14:05.743] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.743] } [13:14:05.743] if (length(args) > 0) [13:14:05.743] base::do.call(base::Sys.setenv, args = args) [13:14:05.743] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.743] } [13:14:05.743] else { [13:14:05.743] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.743] } [13:14:05.743] { [13:14:05.743] if (base::length(...future.futureOptionsAdded) > [13:14:05.743] 0L) { [13:14:05.743] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.743] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.743] base::options(opts) [13:14:05.743] } [13:14:05.743] { [13:14:05.743] { [13:14:05.743] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.743] NULL [13:14:05.743] } [13:14:05.743] options(future.plan = NULL) [13:14:05.743] if (is.na(NA_character_)) [13:14:05.743] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.743] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.743] future::plan(list(function (..., workers = availableCores(), [13:14:05.743] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.743] envir = parent.frame()) [13:14:05.743] { [13:14:05.743] if (is.function(workers)) [13:14:05.743] workers <- workers() [13:14:05.743] workers <- structure(as.integer(workers), [13:14:05.743] class = class(workers)) [13:14:05.743] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.743] workers >= 1) [13:14:05.743] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.743] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.743] } [13:14:05.743] future <- MultisessionFuture(..., workers = workers, [13:14:05.743] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.743] envir = envir) [13:14:05.743] if (!future$lazy) [13:14:05.743] future <- run(future) [13:14:05.743] invisible(future) [13:14:05.743] }), .cleanup = FALSE, .init = FALSE) [13:14:05.743] } [13:14:05.743] } [13:14:05.743] } [13:14:05.743] }) [13:14:05.743] if (TRUE) { [13:14:05.743] base::sink(type = "output", split = FALSE) [13:14:05.743] if (TRUE) { [13:14:05.743] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.743] } [13:14:05.743] else { [13:14:05.743] ...future.result["stdout"] <- base::list(NULL) [13:14:05.743] } [13:14:05.743] base::close(...future.stdout) [13:14:05.743] ...future.stdout <- NULL [13:14:05.743] } [13:14:05.743] ...future.result$conditions <- ...future.conditions [13:14:05.743] ...future.result$finished <- base::Sys.time() [13:14:05.743] ...future.result [13:14:05.743] } [13:14:05.749] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:05.749] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:05.750] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:05.750] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.750] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.750] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:05.751] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:05.751] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.752] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.752] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.752] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.753] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:05.753] MultisessionFuture started [13:14:05.753] - Launch lazy future ... done [13:14:05.754] run() for 'MultisessionFuture' ... done [13:14:05.754] Created future: [13:14:05.768] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.769] - Validating connection of MultisessionFuture [13:14:05.769] - received message: FutureResult [13:14:05.769] - Received FutureResult [13:14:05.769] - Erased future from FutureRegistry [13:14:05.769] result() for ClusterFuture ... [13:14:05.770] - result already collected: FutureResult [13:14:05.770] result() for ClusterFuture ... done [13:14:05.770] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.754] MultisessionFuture: [13:14:05.754] Label: 'future_sapply-2' [13:14:05.754] Expression: [13:14:05.754] { [13:14:05.754] do.call(function(...) { [13:14:05.754] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.754] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.754] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.754] on.exit(options(oopts), add = TRUE) [13:14:05.754] } [13:14:05.754] { [13:14:05.754] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.754] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.754] ...future.FUN(...future.X_jj, ...) [13:14:05.754] }) [13:14:05.754] } [13:14:05.754] }, args = future.call.arguments) [13:14:05.754] } [13:14:05.754] Lazy evaluation: FALSE [13:14:05.754] Asynchronous evaluation: TRUE [13:14:05.754] Local evaluation: TRUE [13:14:05.754] Environment: R_GlobalEnv [13:14:05.754] Capture standard output: TRUE [13:14:05.754] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.754] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.754] Packages: [13:14:05.754] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.754] Resolved: TRUE [13:14:05.754] Value: [13:14:05.754] Conditions captured: [13:14:05.754] Early signaling: FALSE [13:14:05.754] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.754] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.770] Chunk #2 of 2 ... DONE [13:14:05.771] Launching 2 futures (chunks) ... DONE [13:14:05.771] Resolving 2 futures (chunks) ... [13:14:05.771] resolve() on list ... [13:14:05.771] recursive: 0 [13:14:05.771] length: 2 [13:14:05.771] [13:14:05.772] Future #1 [13:14:05.772] result() for ClusterFuture ... [13:14:05.772] - result already collected: FutureResult [13:14:05.772] result() for ClusterFuture ... done [13:14:05.772] result() for ClusterFuture ... [13:14:05.772] - result already collected: FutureResult [13:14:05.772] result() for ClusterFuture ... done [13:14:05.773] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:05.773] - nx: 2 [13:14:05.773] - relay: TRUE [13:14:05.773] - stdout: TRUE [13:14:05.773] - signal: TRUE [13:14:05.773] - resignal: FALSE [13:14:05.774] - force: TRUE [13:14:05.774] - relayed: [n=2] FALSE, FALSE [13:14:05.774] - queued futures: [n=2] FALSE, FALSE [13:14:05.774] - until=1 [13:14:05.774] - relaying element #1 [13:14:05.774] result() for ClusterFuture ... [13:14:05.774] - result already collected: FutureResult [13:14:05.775] result() for ClusterFuture ... done [13:14:05.775] result() for ClusterFuture ... [13:14:05.775] - result already collected: FutureResult [13:14:05.775] result() for ClusterFuture ... done [13:14:05.775] result() for ClusterFuture ... [13:14:05.775] - result already collected: FutureResult [13:14:05.776] result() for ClusterFuture ... done [13:14:05.776] result() for ClusterFuture ... [13:14:05.776] - result already collected: FutureResult [13:14:05.776] result() for ClusterFuture ... done [13:14:05.776] - relayed: [n=2] TRUE, FALSE [13:14:05.776] - queued futures: [n=2] TRUE, FALSE [13:14:05.777] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:05.777] length: 1 (resolved future 1) [13:14:05.777] Future #2 [13:14:05.777] result() for ClusterFuture ... [13:14:05.777] - result already collected: FutureResult [13:14:05.777] result() for ClusterFuture ... done [13:14:05.778] result() for ClusterFuture ... [13:14:05.778] - result already collected: FutureResult [13:14:05.778] result() for ClusterFuture ... done [13:14:05.778] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:05.778] - nx: 2 [13:14:05.778] - relay: TRUE [13:14:05.778] - stdout: TRUE [13:14:05.779] - signal: TRUE [13:14:05.779] - resignal: FALSE [13:14:05.779] - force: TRUE [13:14:05.779] - relayed: [n=2] TRUE, FALSE [13:14:05.779] - queued futures: [n=2] TRUE, FALSE [13:14:05.779] - until=2 [13:14:05.780] - relaying element #2 [13:14:05.780] result() for ClusterFuture ... [13:14:05.780] - result already collected: FutureResult [13:14:05.780] result() for ClusterFuture ... done [13:14:05.780] result() for ClusterFuture ... [13:14:05.780] - result already collected: FutureResult [13:14:05.781] result() for ClusterFuture ... done [13:14:05.781] result() for ClusterFuture ... [13:14:05.781] - result already collected: FutureResult [13:14:05.781] result() for ClusterFuture ... done [13:14:05.781] result() for ClusterFuture ... [13:14:05.781] - result already collected: FutureResult [13:14:05.782] result() for ClusterFuture ... done [13:14:05.782] - relayed: [n=2] TRUE, TRUE [13:14:05.782] - queued futures: [n=2] TRUE, TRUE [13:14:05.782] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:05.782] length: 0 (resolved future 2) [13:14:05.782] Relaying remaining futures [13:14:05.782] signalConditionsASAP(NULL, pos=0) ... [13:14:05.783] - nx: 2 [13:14:05.783] - relay: TRUE [13:14:05.783] - stdout: TRUE [13:14:05.783] - signal: TRUE [13:14:05.783] - resignal: FALSE [13:14:05.783] - force: TRUE [13:14:05.784] - relayed: [n=2] TRUE, TRUE [13:14:05.784] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:05.784] - relayed: [n=2] TRUE, TRUE [13:14:05.784] - queued futures: [n=2] TRUE, TRUE [13:14:05.784] signalConditionsASAP(NULL, pos=0) ... done [13:14:05.785] resolve() on list ... DONE [13:14:05.785] result() for ClusterFuture ... [13:14:05.785] - result already collected: FutureResult [13:14:05.785] result() for ClusterFuture ... done [13:14:05.785] result() for ClusterFuture ... [13:14:05.785] - result already collected: FutureResult [13:14:05.786] result() for ClusterFuture ... done [13:14:05.786] result() for ClusterFuture ... [13:14:05.786] - result already collected: FutureResult [13:14:05.786] result() for ClusterFuture ... done [13:14:05.786] result() for ClusterFuture ... [13:14:05.786] - result already collected: FutureResult [13:14:05.787] result() for ClusterFuture ... done [13:14:05.787] - Number of value chunks collected: 2 [13:14:05.787] Resolving 2 futures (chunks) ... DONE [13:14:05.787] Reducing values from 2 chunks ... [13:14:05.787] - Number of values collected after concatenation: 3 [13:14:05.787] - Number of values expected: 3 [13:14:05.788] Reducing values from 2 chunks ... DONE [13:14:05.788] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y1:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 List of 2 $ y0:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 $ y2:List of 3 ..$ a: num 1 ..$ b: num 2 ..$ c: num 3 [13:14:05.794] future_lapply() ... [13:14:05.797] Number of chunks: 2 [13:14:05.797] getGlobalsAndPackagesXApply() ... [13:14:05.797] - future.globals: TRUE [13:14:05.797] getGlobalsAndPackages() ... [13:14:05.798] Searching for globals... [13:14:05.799] - globals found: [2] 'FUN', 'UseMethod' [13:14:05.799] Searching for globals ... DONE [13:14:05.799] Resolving globals: FALSE [13:14:05.800] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:05.800] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:05.800] - globals: [1] 'FUN' [13:14:05.801] [13:14:05.801] getGlobalsAndPackages() ... DONE [13:14:05.801] - globals found/used: [n=1] 'FUN' [13:14:05.801] - needed namespaces: [n=0] [13:14:05.801] Finding globals ... DONE [13:14:05.801] - use_args: TRUE [13:14:05.802] - Getting '...' globals ... [13:14:05.802] resolve() on list ... [13:14:05.802] recursive: 0 [13:14:05.802] length: 1 [13:14:05.802] elements: '...' [13:14:05.803] length: 0 (resolved future 1) [13:14:05.803] resolve() on list ... DONE [13:14:05.803] - '...' content: [n=0] [13:14:05.803] List of 1 [13:14:05.803] $ ...: list() [13:14:05.803] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.803] - attr(*, "where")=List of 1 [13:14:05.803] ..$ ...: [13:14:05.803] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.803] - attr(*, "resolved")= logi TRUE [13:14:05.803] - attr(*, "total_size")= num NA [13:14:05.806] - Getting '...' globals ... DONE [13:14:05.806] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:05.807] List of 2 [13:14:05.807] $ ...future.FUN:function (x, ...) [13:14:05.807] $ ... : list() [13:14:05.807] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.807] - attr(*, "where")=List of 2 [13:14:05.807] ..$ ...future.FUN: [13:14:05.807] ..$ ... : [13:14:05.807] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.807] - attr(*, "resolved")= logi FALSE [13:14:05.807] - attr(*, "total_size")= num 1248 [13:14:05.810] Packages to be attached in all futures: [n=0] [13:14:05.810] getGlobalsAndPackagesXApply() ... DONE [13:14:05.810] Number of futures (= number of chunks): 2 [13:14:05.811] Launching 2 futures (chunks) ... [13:14:05.811] Chunk #1 of 2 ... [13:14:05.811] - Finding globals in 'X' for chunk #1 ... [13:14:05.811] getGlobalsAndPackages() ... [13:14:05.811] Searching for globals... [13:14:05.812] [13:14:05.812] Searching for globals ... DONE [13:14:05.812] - globals: [0] [13:14:05.812] getGlobalsAndPackages() ... DONE [13:14:05.812] + additional globals found: [n=0] [13:14:05.812] + additional namespaces needed: [n=0] [13:14:05.813] - Finding globals in 'X' for chunk #1 ... DONE [13:14:05.813] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.813] - seeds: [13:14:05.813] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.813] getGlobalsAndPackages() ... [13:14:05.813] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.814] Resolving globals: FALSE [13:14:05.814] Tweak future expression to call with '...' arguments ... [13:14:05.814] { [13:14:05.814] do.call(function(...) { [13:14:05.814] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.814] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.814] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.814] on.exit(options(oopts), add = TRUE) [13:14:05.814] } [13:14:05.814] { [13:14:05.814] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.814] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.814] ...future.FUN(...future.X_jj, ...) [13:14:05.814] }) [13:14:05.814] } [13:14:05.814] }, args = future.call.arguments) [13:14:05.814] } [13:14:05.814] Tweak future expression to call with '...' arguments ... DONE [13:14:05.815] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.815] [13:14:05.815] getGlobalsAndPackages() ... DONE [13:14:05.816] run() for 'Future' ... [13:14:05.816] - state: 'created' [13:14:05.816] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.831] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.831] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.831] - Field: 'node' [13:14:05.831] - Field: 'label' [13:14:05.831] - Field: 'local' [13:14:05.832] - Field: 'owner' [13:14:05.834] - Field: 'envir' [13:14:05.834] - Field: 'workers' [13:14:05.835] - Field: 'packages' [13:14:05.835] - Field: 'gc' [13:14:05.835] - Field: 'conditions' [13:14:05.835] - Field: 'persistent' [13:14:05.835] - Field: 'expr' [13:14:05.835] - Field: 'uuid' [13:14:05.836] - Field: 'seed' [13:14:05.836] - Field: 'version' [13:14:05.836] - Field: 'result' [13:14:05.836] - Field: 'asynchronous' [13:14:05.836] - Field: 'calls' [13:14:05.836] - Field: 'globals' [13:14:05.837] - Field: 'stdout' [13:14:05.837] - Field: 'earlySignal' [13:14:05.837] - Field: 'lazy' [13:14:05.837] - Field: 'state' [13:14:05.837] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.838] - Launch lazy future ... [13:14:05.838] Packages needed by the future expression (n = 0): [13:14:05.838] Packages needed by future strategies (n = 0): [13:14:05.839] { [13:14:05.839] { [13:14:05.839] { [13:14:05.839] ...future.startTime <- base::Sys.time() [13:14:05.839] { [13:14:05.839] { [13:14:05.839] { [13:14:05.839] { [13:14:05.839] base::local({ [13:14:05.839] has_future <- base::requireNamespace("future", [13:14:05.839] quietly = TRUE) [13:14:05.839] if (has_future) { [13:14:05.839] ns <- base::getNamespace("future") [13:14:05.839] version <- ns[[".package"]][["version"]] [13:14:05.839] if (is.null(version)) [13:14:05.839] version <- utils::packageVersion("future") [13:14:05.839] } [13:14:05.839] else { [13:14:05.839] version <- NULL [13:14:05.839] } [13:14:05.839] if (!has_future || version < "1.8.0") { [13:14:05.839] info <- base::c(r_version = base::gsub("R version ", [13:14:05.839] "", base::R.version$version.string), [13:14:05.839] platform = base::sprintf("%s (%s-bit)", [13:14:05.839] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.839] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.839] "release", "version")], collapse = " "), [13:14:05.839] hostname = base::Sys.info()[["nodename"]]) [13:14:05.839] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.839] info) [13:14:05.839] info <- base::paste(info, collapse = "; ") [13:14:05.839] if (!has_future) { [13:14:05.839] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.839] info) [13:14:05.839] } [13:14:05.839] else { [13:14:05.839] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.839] info, version) [13:14:05.839] } [13:14:05.839] base::stop(msg) [13:14:05.839] } [13:14:05.839] }) [13:14:05.839] } [13:14:05.839] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.839] base::options(mc.cores = 1L) [13:14:05.839] } [13:14:05.839] options(future.plan = NULL) [13:14:05.839] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.839] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.839] } [13:14:05.839] ...future.workdir <- getwd() [13:14:05.839] } [13:14:05.839] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.839] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.839] } [13:14:05.839] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.839] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.839] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.839] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.839] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.839] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.839] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.839] base::names(...future.oldOptions)) [13:14:05.839] } [13:14:05.839] if (FALSE) { [13:14:05.839] } [13:14:05.839] else { [13:14:05.839] if (TRUE) { [13:14:05.839] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.839] open = "w") [13:14:05.839] } [13:14:05.839] else { [13:14:05.839] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.839] windows = "NUL", "/dev/null"), open = "w") [13:14:05.839] } [13:14:05.839] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.839] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.839] base::sink(type = "output", split = FALSE) [13:14:05.839] base::close(...future.stdout) [13:14:05.839] }, add = TRUE) [13:14:05.839] } [13:14:05.839] ...future.frame <- base::sys.nframe() [13:14:05.839] ...future.conditions <- base::list() [13:14:05.839] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.839] if (FALSE) { [13:14:05.839] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.839] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.839] } [13:14:05.839] ...future.result <- base::tryCatch({ [13:14:05.839] base::withCallingHandlers({ [13:14:05.839] ...future.value <- base::withVisible(base::local({ [13:14:05.839] ...future.makeSendCondition <- local({ [13:14:05.839] sendCondition <- NULL [13:14:05.839] function(frame = 1L) { [13:14:05.839] if (is.function(sendCondition)) [13:14:05.839] return(sendCondition) [13:14:05.839] ns <- getNamespace("parallel") [13:14:05.839] if (exists("sendData", mode = "function", [13:14:05.839] envir = ns)) { [13:14:05.839] parallel_sendData <- get("sendData", mode = "function", [13:14:05.839] envir = ns) [13:14:05.839] envir <- sys.frame(frame) [13:14:05.839] master <- NULL [13:14:05.839] while (!identical(envir, .GlobalEnv) && [13:14:05.839] !identical(envir, emptyenv())) { [13:14:05.839] if (exists("master", mode = "list", envir = envir, [13:14:05.839] inherits = FALSE)) { [13:14:05.839] master <- get("master", mode = "list", [13:14:05.839] envir = envir, inherits = FALSE) [13:14:05.839] if (inherits(master, c("SOCKnode", [13:14:05.839] "SOCK0node"))) { [13:14:05.839] sendCondition <<- function(cond) { [13:14:05.839] data <- list(type = "VALUE", value = cond, [13:14:05.839] success = TRUE) [13:14:05.839] parallel_sendData(master, data) [13:14:05.839] } [13:14:05.839] return(sendCondition) [13:14:05.839] } [13:14:05.839] } [13:14:05.839] frame <- frame + 1L [13:14:05.839] envir <- sys.frame(frame) [13:14:05.839] } [13:14:05.839] } [13:14:05.839] sendCondition <<- function(cond) NULL [13:14:05.839] } [13:14:05.839] }) [13:14:05.839] withCallingHandlers({ [13:14:05.839] { [13:14:05.839] do.call(function(...) { [13:14:05.839] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.839] if (!identical(...future.globals.maxSize.org, [13:14:05.839] ...future.globals.maxSize)) { [13:14:05.839] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.839] on.exit(options(oopts), add = TRUE) [13:14:05.839] } [13:14:05.839] { [13:14:05.839] lapply(seq_along(...future.elements_ii), [13:14:05.839] FUN = function(jj) { [13:14:05.839] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.839] ...future.FUN(...future.X_jj, ...) [13:14:05.839] }) [13:14:05.839] } [13:14:05.839] }, args = future.call.arguments) [13:14:05.839] } [13:14:05.839] }, immediateCondition = function(cond) { [13:14:05.839] sendCondition <- ...future.makeSendCondition() [13:14:05.839] sendCondition(cond) [13:14:05.839] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.839] { [13:14:05.839] inherits <- base::inherits [13:14:05.839] invokeRestart <- base::invokeRestart [13:14:05.839] is.null <- base::is.null [13:14:05.839] muffled <- FALSE [13:14:05.839] if (inherits(cond, "message")) { [13:14:05.839] muffled <- grepl(pattern, "muffleMessage") [13:14:05.839] if (muffled) [13:14:05.839] invokeRestart("muffleMessage") [13:14:05.839] } [13:14:05.839] else if (inherits(cond, "warning")) { [13:14:05.839] muffled <- grepl(pattern, "muffleWarning") [13:14:05.839] if (muffled) [13:14:05.839] invokeRestart("muffleWarning") [13:14:05.839] } [13:14:05.839] else if (inherits(cond, "condition")) { [13:14:05.839] if (!is.null(pattern)) { [13:14:05.839] computeRestarts <- base::computeRestarts [13:14:05.839] grepl <- base::grepl [13:14:05.839] restarts <- computeRestarts(cond) [13:14:05.839] for (restart in restarts) { [13:14:05.839] name <- restart$name [13:14:05.839] if (is.null(name)) [13:14:05.839] next [13:14:05.839] if (!grepl(pattern, name)) [13:14:05.839] next [13:14:05.839] invokeRestart(restart) [13:14:05.839] muffled <- TRUE [13:14:05.839] break [13:14:05.839] } [13:14:05.839] } [13:14:05.839] } [13:14:05.839] invisible(muffled) [13:14:05.839] } [13:14:05.839] muffleCondition(cond) [13:14:05.839] }) [13:14:05.839] })) [13:14:05.839] future::FutureResult(value = ...future.value$value, [13:14:05.839] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.839] ...future.rng), globalenv = if (FALSE) [13:14:05.839] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.839] ...future.globalenv.names)) [13:14:05.839] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.839] }, condition = base::local({ [13:14:05.839] c <- base::c [13:14:05.839] inherits <- base::inherits [13:14:05.839] invokeRestart <- base::invokeRestart [13:14:05.839] length <- base::length [13:14:05.839] list <- base::list [13:14:05.839] seq.int <- base::seq.int [13:14:05.839] signalCondition <- base::signalCondition [13:14:05.839] sys.calls <- base::sys.calls [13:14:05.839] `[[` <- base::`[[` [13:14:05.839] `+` <- base::`+` [13:14:05.839] `<<-` <- base::`<<-` [13:14:05.839] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.839] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.839] 3L)] [13:14:05.839] } [13:14:05.839] function(cond) { [13:14:05.839] is_error <- inherits(cond, "error") [13:14:05.839] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.839] NULL) [13:14:05.839] if (is_error) { [13:14:05.839] sessionInformation <- function() { [13:14:05.839] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.839] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.839] search = base::search(), system = base::Sys.info()) [13:14:05.839] } [13:14:05.839] ...future.conditions[[length(...future.conditions) + [13:14:05.839] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.839] cond$call), session = sessionInformation(), [13:14:05.839] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.839] signalCondition(cond) [13:14:05.839] } [13:14:05.839] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.839] "immediateCondition"))) { [13:14:05.839] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.839] ...future.conditions[[length(...future.conditions) + [13:14:05.839] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.839] if (TRUE && !signal) { [13:14:05.839] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.839] { [13:14:05.839] inherits <- base::inherits [13:14:05.839] invokeRestart <- base::invokeRestart [13:14:05.839] is.null <- base::is.null [13:14:05.839] muffled <- FALSE [13:14:05.839] if (inherits(cond, "message")) { [13:14:05.839] muffled <- grepl(pattern, "muffleMessage") [13:14:05.839] if (muffled) [13:14:05.839] invokeRestart("muffleMessage") [13:14:05.839] } [13:14:05.839] else if (inherits(cond, "warning")) { [13:14:05.839] muffled <- grepl(pattern, "muffleWarning") [13:14:05.839] if (muffled) [13:14:05.839] invokeRestart("muffleWarning") [13:14:05.839] } [13:14:05.839] else if (inherits(cond, "condition")) { [13:14:05.839] if (!is.null(pattern)) { [13:14:05.839] computeRestarts <- base::computeRestarts [13:14:05.839] grepl <- base::grepl [13:14:05.839] restarts <- computeRestarts(cond) [13:14:05.839] for (restart in restarts) { [13:14:05.839] name <- restart$name [13:14:05.839] if (is.null(name)) [13:14:05.839] next [13:14:05.839] if (!grepl(pattern, name)) [13:14:05.839] next [13:14:05.839] invokeRestart(restart) [13:14:05.839] muffled <- TRUE [13:14:05.839] break [13:14:05.839] } [13:14:05.839] } [13:14:05.839] } [13:14:05.839] invisible(muffled) [13:14:05.839] } [13:14:05.839] muffleCondition(cond, pattern = "^muffle") [13:14:05.839] } [13:14:05.839] } [13:14:05.839] else { [13:14:05.839] if (TRUE) { [13:14:05.839] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.839] { [13:14:05.839] inherits <- base::inherits [13:14:05.839] invokeRestart <- base::invokeRestart [13:14:05.839] is.null <- base::is.null [13:14:05.839] muffled <- FALSE [13:14:05.839] if (inherits(cond, "message")) { [13:14:05.839] muffled <- grepl(pattern, "muffleMessage") [13:14:05.839] if (muffled) [13:14:05.839] invokeRestart("muffleMessage") [13:14:05.839] } [13:14:05.839] else if (inherits(cond, "warning")) { [13:14:05.839] muffled <- grepl(pattern, "muffleWarning") [13:14:05.839] if (muffled) [13:14:05.839] invokeRestart("muffleWarning") [13:14:05.839] } [13:14:05.839] else if (inherits(cond, "condition")) { [13:14:05.839] if (!is.null(pattern)) { [13:14:05.839] computeRestarts <- base::computeRestarts [13:14:05.839] grepl <- base::grepl [13:14:05.839] restarts <- computeRestarts(cond) [13:14:05.839] for (restart in restarts) { [13:14:05.839] name <- restart$name [13:14:05.839] if (is.null(name)) [13:14:05.839] next [13:14:05.839] if (!grepl(pattern, name)) [13:14:05.839] next [13:14:05.839] invokeRestart(restart) [13:14:05.839] muffled <- TRUE [13:14:05.839] break [13:14:05.839] } [13:14:05.839] } [13:14:05.839] } [13:14:05.839] invisible(muffled) [13:14:05.839] } [13:14:05.839] muffleCondition(cond, pattern = "^muffle") [13:14:05.839] } [13:14:05.839] } [13:14:05.839] } [13:14:05.839] })) [13:14:05.839] }, error = function(ex) { [13:14:05.839] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.839] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.839] ...future.rng), started = ...future.startTime, [13:14:05.839] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.839] version = "1.8"), class = "FutureResult") [13:14:05.839] }, finally = { [13:14:05.839] if (!identical(...future.workdir, getwd())) [13:14:05.839] setwd(...future.workdir) [13:14:05.839] { [13:14:05.839] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.839] ...future.oldOptions$nwarnings <- NULL [13:14:05.839] } [13:14:05.839] base::options(...future.oldOptions) [13:14:05.839] if (.Platform$OS.type == "windows") { [13:14:05.839] old_names <- names(...future.oldEnvVars) [13:14:05.839] envs <- base::Sys.getenv() [13:14:05.839] names <- names(envs) [13:14:05.839] common <- intersect(names, old_names) [13:14:05.839] added <- setdiff(names, old_names) [13:14:05.839] removed <- setdiff(old_names, names) [13:14:05.839] changed <- common[...future.oldEnvVars[common] != [13:14:05.839] envs[common]] [13:14:05.839] NAMES <- toupper(changed) [13:14:05.839] args <- list() [13:14:05.839] for (kk in seq_along(NAMES)) { [13:14:05.839] name <- changed[[kk]] [13:14:05.839] NAME <- NAMES[[kk]] [13:14:05.839] if (name != NAME && is.element(NAME, old_names)) [13:14:05.839] next [13:14:05.839] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.839] } [13:14:05.839] NAMES <- toupper(added) [13:14:05.839] for (kk in seq_along(NAMES)) { [13:14:05.839] name <- added[[kk]] [13:14:05.839] NAME <- NAMES[[kk]] [13:14:05.839] if (name != NAME && is.element(NAME, old_names)) [13:14:05.839] next [13:14:05.839] args[[name]] <- "" [13:14:05.839] } [13:14:05.839] NAMES <- toupper(removed) [13:14:05.839] for (kk in seq_along(NAMES)) { [13:14:05.839] name <- removed[[kk]] [13:14:05.839] NAME <- NAMES[[kk]] [13:14:05.839] if (name != NAME && is.element(NAME, old_names)) [13:14:05.839] next [13:14:05.839] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.839] } [13:14:05.839] if (length(args) > 0) [13:14:05.839] base::do.call(base::Sys.setenv, args = args) [13:14:05.839] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.839] } [13:14:05.839] else { [13:14:05.839] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.839] } [13:14:05.839] { [13:14:05.839] if (base::length(...future.futureOptionsAdded) > [13:14:05.839] 0L) { [13:14:05.839] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.839] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.839] base::options(opts) [13:14:05.839] } [13:14:05.839] { [13:14:05.839] { [13:14:05.839] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.839] NULL [13:14:05.839] } [13:14:05.839] options(future.plan = NULL) [13:14:05.839] if (is.na(NA_character_)) [13:14:05.839] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.839] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.839] future::plan(list(function (..., workers = availableCores(), [13:14:05.839] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.839] envir = parent.frame()) [13:14:05.839] { [13:14:05.839] if (is.function(workers)) [13:14:05.839] workers <- workers() [13:14:05.839] workers <- structure(as.integer(workers), [13:14:05.839] class = class(workers)) [13:14:05.839] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.839] workers >= 1) [13:14:05.839] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.839] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.839] } [13:14:05.839] future <- MultisessionFuture(..., workers = workers, [13:14:05.839] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.839] envir = envir) [13:14:05.839] if (!future$lazy) [13:14:05.839] future <- run(future) [13:14:05.839] invisible(future) [13:14:05.839] }), .cleanup = FALSE, .init = FALSE) [13:14:05.839] } [13:14:05.839] } [13:14:05.839] } [13:14:05.839] }) [13:14:05.839] if (TRUE) { [13:14:05.839] base::sink(type = "output", split = FALSE) [13:14:05.839] if (TRUE) { [13:14:05.839] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.839] } [13:14:05.839] else { [13:14:05.839] ...future.result["stdout"] <- base::list(NULL) [13:14:05.839] } [13:14:05.839] base::close(...future.stdout) [13:14:05.839] ...future.stdout <- NULL [13:14:05.839] } [13:14:05.839] ...future.result$conditions <- ...future.conditions [13:14:05.839] ...future.result$finished <- base::Sys.time() [13:14:05.839] ...future.result [13:14:05.839] } [13:14:05.844] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:05.844] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:05.845] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:05.845] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.846] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.846] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:05.846] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:05.846] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.847] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.847] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.847] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.848] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:05.848] MultisessionFuture started [13:14:05.849] - Launch lazy future ... done [13:14:05.849] run() for 'MultisessionFuture' ... done [13:14:05.849] Created future: [13:14:05.864] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.865] - Validating connection of MultisessionFuture [13:14:05.865] - received message: FutureResult [13:14:05.865] - Received FutureResult [13:14:05.865] - Erased future from FutureRegistry [13:14:05.866] result() for ClusterFuture ... [13:14:05.866] - result already collected: FutureResult [13:14:05.866] result() for ClusterFuture ... done [13:14:05.866] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.849] MultisessionFuture: [13:14:05.849] Label: 'future_sapply-1' [13:14:05.849] Expression: [13:14:05.849] { [13:14:05.849] do.call(function(...) { [13:14:05.849] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.849] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.849] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.849] on.exit(options(oopts), add = TRUE) [13:14:05.849] } [13:14:05.849] { [13:14:05.849] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.849] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.849] ...future.FUN(...future.X_jj, ...) [13:14:05.849] }) [13:14:05.849] } [13:14:05.849] }, args = future.call.arguments) [13:14:05.849] } [13:14:05.849] Lazy evaluation: FALSE [13:14:05.849] Asynchronous evaluation: TRUE [13:14:05.849] Local evaluation: TRUE [13:14:05.849] Environment: R_GlobalEnv [13:14:05.849] Capture standard output: TRUE [13:14:05.849] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.849] Globals: 5 objects totaling 1.27 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.849] Packages: [13:14:05.849] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.849] Resolved: TRUE [13:14:05.849] Value: [13:14:05.849] Conditions captured: [13:14:05.849] Early signaling: FALSE [13:14:05.849] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.849] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.866] Chunk #1 of 2 ... DONE [13:14:05.867] Chunk #2 of 2 ... [13:14:05.867] - Finding globals in 'X' for chunk #2 ... [13:14:05.867] getGlobalsAndPackages() ... [13:14:05.867] Searching for globals... [13:14:05.868] [13:14:05.868] Searching for globals ... DONE [13:14:05.868] - globals: [0] [13:14:05.868] getGlobalsAndPackages() ... DONE [13:14:05.868] + additional globals found: [n=0] [13:14:05.868] + additional namespaces needed: [n=0] [13:14:05.869] - Finding globals in 'X' for chunk #2 ... DONE [13:14:05.869] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.869] - seeds: [13:14:05.869] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.870] getGlobalsAndPackages() ... [13:14:05.870] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.870] Resolving globals: FALSE [13:14:05.870] Tweak future expression to call with '...' arguments ... [13:14:05.870] { [13:14:05.870] do.call(function(...) { [13:14:05.870] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.870] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.870] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.870] on.exit(options(oopts), add = TRUE) [13:14:05.870] } [13:14:05.870] { [13:14:05.870] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.870] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.870] ...future.FUN(...future.X_jj, ...) [13:14:05.870] }) [13:14:05.870] } [13:14:05.870] }, args = future.call.arguments) [13:14:05.870] } [13:14:05.871] Tweak future expression to call with '...' arguments ... DONE [13:14:05.871] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.872] [13:14:05.872] getGlobalsAndPackages() ... DONE [13:14:05.872] run() for 'Future' ... [13:14:05.873] - state: 'created' [13:14:05.873] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.887] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.887] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.888] - Field: 'node' [13:14:05.888] - Field: 'label' [13:14:05.888] - Field: 'local' [13:14:05.888] - Field: 'owner' [13:14:05.888] - Field: 'envir' [13:14:05.888] - Field: 'workers' [13:14:05.889] - Field: 'packages' [13:14:05.889] - Field: 'gc' [13:14:05.889] - Field: 'conditions' [13:14:05.889] - Field: 'persistent' [13:14:05.889] - Field: 'expr' [13:14:05.890] - Field: 'uuid' [13:14:05.890] - Field: 'seed' [13:14:05.890] - Field: 'version' [13:14:05.890] - Field: 'result' [13:14:05.890] - Field: 'asynchronous' [13:14:05.890] - Field: 'calls' [13:14:05.891] - Field: 'globals' [13:14:05.891] - Field: 'stdout' [13:14:05.891] - Field: 'earlySignal' [13:14:05.891] - Field: 'lazy' [13:14:05.891] - Field: 'state' [13:14:05.891] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.892] - Launch lazy future ... [13:14:05.892] Packages needed by the future expression (n = 0): [13:14:05.892] Packages needed by future strategies (n = 0): [13:14:05.893] { [13:14:05.893] { [13:14:05.893] { [13:14:05.893] ...future.startTime <- base::Sys.time() [13:14:05.893] { [13:14:05.893] { [13:14:05.893] { [13:14:05.893] { [13:14:05.893] base::local({ [13:14:05.893] has_future <- base::requireNamespace("future", [13:14:05.893] quietly = TRUE) [13:14:05.893] if (has_future) { [13:14:05.893] ns <- base::getNamespace("future") [13:14:05.893] version <- ns[[".package"]][["version"]] [13:14:05.893] if (is.null(version)) [13:14:05.893] version <- utils::packageVersion("future") [13:14:05.893] } [13:14:05.893] else { [13:14:05.893] version <- NULL [13:14:05.893] } [13:14:05.893] if (!has_future || version < "1.8.0") { [13:14:05.893] info <- base::c(r_version = base::gsub("R version ", [13:14:05.893] "", base::R.version$version.string), [13:14:05.893] platform = base::sprintf("%s (%s-bit)", [13:14:05.893] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.893] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.893] "release", "version")], collapse = " "), [13:14:05.893] hostname = base::Sys.info()[["nodename"]]) [13:14:05.893] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.893] info) [13:14:05.893] info <- base::paste(info, collapse = "; ") [13:14:05.893] if (!has_future) { [13:14:05.893] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.893] info) [13:14:05.893] } [13:14:05.893] else { [13:14:05.893] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.893] info, version) [13:14:05.893] } [13:14:05.893] base::stop(msg) [13:14:05.893] } [13:14:05.893] }) [13:14:05.893] } [13:14:05.893] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.893] base::options(mc.cores = 1L) [13:14:05.893] } [13:14:05.893] options(future.plan = NULL) [13:14:05.893] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.893] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.893] } [13:14:05.893] ...future.workdir <- getwd() [13:14:05.893] } [13:14:05.893] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.893] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.893] } [13:14:05.893] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.893] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.893] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.893] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.893] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.893] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.893] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.893] base::names(...future.oldOptions)) [13:14:05.893] } [13:14:05.893] if (FALSE) { [13:14:05.893] } [13:14:05.893] else { [13:14:05.893] if (TRUE) { [13:14:05.893] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.893] open = "w") [13:14:05.893] } [13:14:05.893] else { [13:14:05.893] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.893] windows = "NUL", "/dev/null"), open = "w") [13:14:05.893] } [13:14:05.893] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.893] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.893] base::sink(type = "output", split = FALSE) [13:14:05.893] base::close(...future.stdout) [13:14:05.893] }, add = TRUE) [13:14:05.893] } [13:14:05.893] ...future.frame <- base::sys.nframe() [13:14:05.893] ...future.conditions <- base::list() [13:14:05.893] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.893] if (FALSE) { [13:14:05.893] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.893] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.893] } [13:14:05.893] ...future.result <- base::tryCatch({ [13:14:05.893] base::withCallingHandlers({ [13:14:05.893] ...future.value <- base::withVisible(base::local({ [13:14:05.893] ...future.makeSendCondition <- local({ [13:14:05.893] sendCondition <- NULL [13:14:05.893] function(frame = 1L) { [13:14:05.893] if (is.function(sendCondition)) [13:14:05.893] return(sendCondition) [13:14:05.893] ns <- getNamespace("parallel") [13:14:05.893] if (exists("sendData", mode = "function", [13:14:05.893] envir = ns)) { [13:14:05.893] parallel_sendData <- get("sendData", mode = "function", [13:14:05.893] envir = ns) [13:14:05.893] envir <- sys.frame(frame) [13:14:05.893] master <- NULL [13:14:05.893] while (!identical(envir, .GlobalEnv) && [13:14:05.893] !identical(envir, emptyenv())) { [13:14:05.893] if (exists("master", mode = "list", envir = envir, [13:14:05.893] inherits = FALSE)) { [13:14:05.893] master <- get("master", mode = "list", [13:14:05.893] envir = envir, inherits = FALSE) [13:14:05.893] if (inherits(master, c("SOCKnode", [13:14:05.893] "SOCK0node"))) { [13:14:05.893] sendCondition <<- function(cond) { [13:14:05.893] data <- list(type = "VALUE", value = cond, [13:14:05.893] success = TRUE) [13:14:05.893] parallel_sendData(master, data) [13:14:05.893] } [13:14:05.893] return(sendCondition) [13:14:05.893] } [13:14:05.893] } [13:14:05.893] frame <- frame + 1L [13:14:05.893] envir <- sys.frame(frame) [13:14:05.893] } [13:14:05.893] } [13:14:05.893] sendCondition <<- function(cond) NULL [13:14:05.893] } [13:14:05.893] }) [13:14:05.893] withCallingHandlers({ [13:14:05.893] { [13:14:05.893] do.call(function(...) { [13:14:05.893] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.893] if (!identical(...future.globals.maxSize.org, [13:14:05.893] ...future.globals.maxSize)) { [13:14:05.893] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.893] on.exit(options(oopts), add = TRUE) [13:14:05.893] } [13:14:05.893] { [13:14:05.893] lapply(seq_along(...future.elements_ii), [13:14:05.893] FUN = function(jj) { [13:14:05.893] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.893] ...future.FUN(...future.X_jj, ...) [13:14:05.893] }) [13:14:05.893] } [13:14:05.893] }, args = future.call.arguments) [13:14:05.893] } [13:14:05.893] }, immediateCondition = function(cond) { [13:14:05.893] sendCondition <- ...future.makeSendCondition() [13:14:05.893] sendCondition(cond) [13:14:05.893] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.893] { [13:14:05.893] inherits <- base::inherits [13:14:05.893] invokeRestart <- base::invokeRestart [13:14:05.893] is.null <- base::is.null [13:14:05.893] muffled <- FALSE [13:14:05.893] if (inherits(cond, "message")) { [13:14:05.893] muffled <- grepl(pattern, "muffleMessage") [13:14:05.893] if (muffled) [13:14:05.893] invokeRestart("muffleMessage") [13:14:05.893] } [13:14:05.893] else if (inherits(cond, "warning")) { [13:14:05.893] muffled <- grepl(pattern, "muffleWarning") [13:14:05.893] if (muffled) [13:14:05.893] invokeRestart("muffleWarning") [13:14:05.893] } [13:14:05.893] else if (inherits(cond, "condition")) { [13:14:05.893] if (!is.null(pattern)) { [13:14:05.893] computeRestarts <- base::computeRestarts [13:14:05.893] grepl <- base::grepl [13:14:05.893] restarts <- computeRestarts(cond) [13:14:05.893] for (restart in restarts) { [13:14:05.893] name <- restart$name [13:14:05.893] if (is.null(name)) [13:14:05.893] next [13:14:05.893] if (!grepl(pattern, name)) [13:14:05.893] next [13:14:05.893] invokeRestart(restart) [13:14:05.893] muffled <- TRUE [13:14:05.893] break [13:14:05.893] } [13:14:05.893] } [13:14:05.893] } [13:14:05.893] invisible(muffled) [13:14:05.893] } [13:14:05.893] muffleCondition(cond) [13:14:05.893] }) [13:14:05.893] })) [13:14:05.893] future::FutureResult(value = ...future.value$value, [13:14:05.893] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.893] ...future.rng), globalenv = if (FALSE) [13:14:05.893] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.893] ...future.globalenv.names)) [13:14:05.893] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.893] }, condition = base::local({ [13:14:05.893] c <- base::c [13:14:05.893] inherits <- base::inherits [13:14:05.893] invokeRestart <- base::invokeRestart [13:14:05.893] length <- base::length [13:14:05.893] list <- base::list [13:14:05.893] seq.int <- base::seq.int [13:14:05.893] signalCondition <- base::signalCondition [13:14:05.893] sys.calls <- base::sys.calls [13:14:05.893] `[[` <- base::`[[` [13:14:05.893] `+` <- base::`+` [13:14:05.893] `<<-` <- base::`<<-` [13:14:05.893] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.893] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.893] 3L)] [13:14:05.893] } [13:14:05.893] function(cond) { [13:14:05.893] is_error <- inherits(cond, "error") [13:14:05.893] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.893] NULL) [13:14:05.893] if (is_error) { [13:14:05.893] sessionInformation <- function() { [13:14:05.893] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.893] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.893] search = base::search(), system = base::Sys.info()) [13:14:05.893] } [13:14:05.893] ...future.conditions[[length(...future.conditions) + [13:14:05.893] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.893] cond$call), session = sessionInformation(), [13:14:05.893] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.893] signalCondition(cond) [13:14:05.893] } [13:14:05.893] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.893] "immediateCondition"))) { [13:14:05.893] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.893] ...future.conditions[[length(...future.conditions) + [13:14:05.893] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.893] if (TRUE && !signal) { [13:14:05.893] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.893] { [13:14:05.893] inherits <- base::inherits [13:14:05.893] invokeRestart <- base::invokeRestart [13:14:05.893] is.null <- base::is.null [13:14:05.893] muffled <- FALSE [13:14:05.893] if (inherits(cond, "message")) { [13:14:05.893] muffled <- grepl(pattern, "muffleMessage") [13:14:05.893] if (muffled) [13:14:05.893] invokeRestart("muffleMessage") [13:14:05.893] } [13:14:05.893] else if (inherits(cond, "warning")) { [13:14:05.893] muffled <- grepl(pattern, "muffleWarning") [13:14:05.893] if (muffled) [13:14:05.893] invokeRestart("muffleWarning") [13:14:05.893] } [13:14:05.893] else if (inherits(cond, "condition")) { [13:14:05.893] if (!is.null(pattern)) { [13:14:05.893] computeRestarts <- base::computeRestarts [13:14:05.893] grepl <- base::grepl [13:14:05.893] restarts <- computeRestarts(cond) [13:14:05.893] for (restart in restarts) { [13:14:05.893] name <- restart$name [13:14:05.893] if (is.null(name)) [13:14:05.893] next [13:14:05.893] if (!grepl(pattern, name)) [13:14:05.893] next [13:14:05.893] invokeRestart(restart) [13:14:05.893] muffled <- TRUE [13:14:05.893] break [13:14:05.893] } [13:14:05.893] } [13:14:05.893] } [13:14:05.893] invisible(muffled) [13:14:05.893] } [13:14:05.893] muffleCondition(cond, pattern = "^muffle") [13:14:05.893] } [13:14:05.893] } [13:14:05.893] else { [13:14:05.893] if (TRUE) { [13:14:05.893] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.893] { [13:14:05.893] inherits <- base::inherits [13:14:05.893] invokeRestart <- base::invokeRestart [13:14:05.893] is.null <- base::is.null [13:14:05.893] muffled <- FALSE [13:14:05.893] if (inherits(cond, "message")) { [13:14:05.893] muffled <- grepl(pattern, "muffleMessage") [13:14:05.893] if (muffled) [13:14:05.893] invokeRestart("muffleMessage") [13:14:05.893] } [13:14:05.893] else if (inherits(cond, "warning")) { [13:14:05.893] muffled <- grepl(pattern, "muffleWarning") [13:14:05.893] if (muffled) [13:14:05.893] invokeRestart("muffleWarning") [13:14:05.893] } [13:14:05.893] else if (inherits(cond, "condition")) { [13:14:05.893] if (!is.null(pattern)) { [13:14:05.893] computeRestarts <- base::computeRestarts [13:14:05.893] grepl <- base::grepl [13:14:05.893] restarts <- computeRestarts(cond) [13:14:05.893] for (restart in restarts) { [13:14:05.893] name <- restart$name [13:14:05.893] if (is.null(name)) [13:14:05.893] next [13:14:05.893] if (!grepl(pattern, name)) [13:14:05.893] next [13:14:05.893] invokeRestart(restart) [13:14:05.893] muffled <- TRUE [13:14:05.893] break [13:14:05.893] } [13:14:05.893] } [13:14:05.893] } [13:14:05.893] invisible(muffled) [13:14:05.893] } [13:14:05.893] muffleCondition(cond, pattern = "^muffle") [13:14:05.893] } [13:14:05.893] } [13:14:05.893] } [13:14:05.893] })) [13:14:05.893] }, error = function(ex) { [13:14:05.893] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.893] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.893] ...future.rng), started = ...future.startTime, [13:14:05.893] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.893] version = "1.8"), class = "FutureResult") [13:14:05.893] }, finally = { [13:14:05.893] if (!identical(...future.workdir, getwd())) [13:14:05.893] setwd(...future.workdir) [13:14:05.893] { [13:14:05.893] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.893] ...future.oldOptions$nwarnings <- NULL [13:14:05.893] } [13:14:05.893] base::options(...future.oldOptions) [13:14:05.893] if (.Platform$OS.type == "windows") { [13:14:05.893] old_names <- names(...future.oldEnvVars) [13:14:05.893] envs <- base::Sys.getenv() [13:14:05.893] names <- names(envs) [13:14:05.893] common <- intersect(names, old_names) [13:14:05.893] added <- setdiff(names, old_names) [13:14:05.893] removed <- setdiff(old_names, names) [13:14:05.893] changed <- common[...future.oldEnvVars[common] != [13:14:05.893] envs[common]] [13:14:05.893] NAMES <- toupper(changed) [13:14:05.893] args <- list() [13:14:05.893] for (kk in seq_along(NAMES)) { [13:14:05.893] name <- changed[[kk]] [13:14:05.893] NAME <- NAMES[[kk]] [13:14:05.893] if (name != NAME && is.element(NAME, old_names)) [13:14:05.893] next [13:14:05.893] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.893] } [13:14:05.893] NAMES <- toupper(added) [13:14:05.893] for (kk in seq_along(NAMES)) { [13:14:05.893] name <- added[[kk]] [13:14:05.893] NAME <- NAMES[[kk]] [13:14:05.893] if (name != NAME && is.element(NAME, old_names)) [13:14:05.893] next [13:14:05.893] args[[name]] <- "" [13:14:05.893] } [13:14:05.893] NAMES <- toupper(removed) [13:14:05.893] for (kk in seq_along(NAMES)) { [13:14:05.893] name <- removed[[kk]] [13:14:05.893] NAME <- NAMES[[kk]] [13:14:05.893] if (name != NAME && is.element(NAME, old_names)) [13:14:05.893] next [13:14:05.893] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.893] } [13:14:05.893] if (length(args) > 0) [13:14:05.893] base::do.call(base::Sys.setenv, args = args) [13:14:05.893] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.893] } [13:14:05.893] else { [13:14:05.893] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.893] } [13:14:05.893] { [13:14:05.893] if (base::length(...future.futureOptionsAdded) > [13:14:05.893] 0L) { [13:14:05.893] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.893] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.893] base::options(opts) [13:14:05.893] } [13:14:05.893] { [13:14:05.893] { [13:14:05.893] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.893] NULL [13:14:05.893] } [13:14:05.893] options(future.plan = NULL) [13:14:05.893] if (is.na(NA_character_)) [13:14:05.893] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.893] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.893] future::plan(list(function (..., workers = availableCores(), [13:14:05.893] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.893] envir = parent.frame()) [13:14:05.893] { [13:14:05.893] if (is.function(workers)) [13:14:05.893] workers <- workers() [13:14:05.893] workers <- structure(as.integer(workers), [13:14:05.893] class = class(workers)) [13:14:05.893] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.893] workers >= 1) [13:14:05.893] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.893] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.893] } [13:14:05.893] future <- MultisessionFuture(..., workers = workers, [13:14:05.893] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.893] envir = envir) [13:14:05.893] if (!future$lazy) [13:14:05.893] future <- run(future) [13:14:05.893] invisible(future) [13:14:05.893] }), .cleanup = FALSE, .init = FALSE) [13:14:05.893] } [13:14:05.893] } [13:14:05.893] } [13:14:05.893] }) [13:14:05.893] if (TRUE) { [13:14:05.893] base::sink(type = "output", split = FALSE) [13:14:05.893] if (TRUE) { [13:14:05.893] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.893] } [13:14:05.893] else { [13:14:05.893] ...future.result["stdout"] <- base::list(NULL) [13:14:05.893] } [13:14:05.893] base::close(...future.stdout) [13:14:05.893] ...future.stdout <- NULL [13:14:05.893] } [13:14:05.893] ...future.result$conditions <- ...future.conditions [13:14:05.893] ...future.result$finished <- base::Sys.time() [13:14:05.893] ...future.result [13:14:05.893] } [13:14:05.898] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:05.898] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:05.899] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:05.899] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.899] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.900] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:05.900] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:05.900] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.901] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.901] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.901] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.901] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:05.902] MultisessionFuture started [13:14:05.902] - Launch lazy future ... done [13:14:05.903] run() for 'MultisessionFuture' ... done [13:14:05.903] Created future: [13:14:05.918] receiveMessageFromWorker() for ClusterFuture ... [13:14:05.918] - Validating connection of MultisessionFuture [13:14:05.919] - received message: FutureResult [13:14:05.919] - Received FutureResult [13:14:05.919] - Erased future from FutureRegistry [13:14:05.919] result() for ClusterFuture ... [13:14:05.919] - result already collected: FutureResult [13:14:05.920] result() for ClusterFuture ... done [13:14:05.920] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.903] MultisessionFuture: [13:14:05.903] Label: 'future_sapply-2' [13:14:05.903] Expression: [13:14:05.903] { [13:14:05.903] do.call(function(...) { [13:14:05.903] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.903] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.903] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.903] on.exit(options(oopts), add = TRUE) [13:14:05.903] } [13:14:05.903] { [13:14:05.903] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.903] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.903] ...future.FUN(...future.X_jj, ...) [13:14:05.903] }) [13:14:05.903] } [13:14:05.903] }, args = future.call.arguments) [13:14:05.903] } [13:14:05.903] Lazy evaluation: FALSE [13:14:05.903] Asynchronous evaluation: TRUE [13:14:05.903] Local evaluation: TRUE [13:14:05.903] Environment: R_GlobalEnv [13:14:05.903] Capture standard output: TRUE [13:14:05.903] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.903] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.903] Packages: [13:14:05.903] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.903] Resolved: TRUE [13:14:05.903] Value: [13:14:05.903] Conditions captured: [13:14:05.903] Early signaling: FALSE [13:14:05.903] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.903] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.920] Chunk #2 of 2 ... DONE [13:14:05.920] Launching 2 futures (chunks) ... DONE [13:14:05.920] Resolving 2 futures (chunks) ... [13:14:05.921] resolve() on list ... [13:14:05.921] recursive: 0 [13:14:05.921] length: 2 [13:14:05.921] [13:14:05.921] Future #1 [13:14:05.921] result() for ClusterFuture ... [13:14:05.922] - result already collected: FutureResult [13:14:05.922] result() for ClusterFuture ... done [13:14:05.922] result() for ClusterFuture ... [13:14:05.922] - result already collected: FutureResult [13:14:05.922] result() for ClusterFuture ... done [13:14:05.922] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:05.923] - nx: 2 [13:14:05.923] - relay: TRUE [13:14:05.923] - stdout: TRUE [13:14:05.923] - signal: TRUE [13:14:05.923] - resignal: FALSE [13:14:05.923] - force: TRUE [13:14:05.923] - relayed: [n=2] FALSE, FALSE [13:14:05.924] - queued futures: [n=2] FALSE, FALSE [13:14:05.924] - until=1 [13:14:05.924] - relaying element #1 [13:14:05.924] result() for ClusterFuture ... [13:14:05.924] - result already collected: FutureResult [13:14:05.924] result() for ClusterFuture ... done [13:14:05.925] result() for ClusterFuture ... [13:14:05.925] - result already collected: FutureResult [13:14:05.925] result() for ClusterFuture ... done [13:14:05.925] result() for ClusterFuture ... [13:14:05.925] - result already collected: FutureResult [13:14:05.925] result() for ClusterFuture ... done [13:14:05.926] result() for ClusterFuture ... [13:14:05.926] - result already collected: FutureResult [13:14:05.926] result() for ClusterFuture ... done [13:14:05.926] - relayed: [n=2] TRUE, FALSE [13:14:05.926] - queued futures: [n=2] TRUE, FALSE [13:14:05.926] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:05.927] length: 1 (resolved future 1) [13:14:05.927] Future #2 [13:14:05.927] result() for ClusterFuture ... [13:14:05.927] - result already collected: FutureResult [13:14:05.927] result() for ClusterFuture ... done [13:14:05.927] result() for ClusterFuture ... [13:14:05.928] - result already collected: FutureResult [13:14:05.928] result() for ClusterFuture ... done [13:14:05.928] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:05.928] - nx: 2 [13:14:05.928] - relay: TRUE [13:14:05.928] - stdout: TRUE [13:14:05.928] - signal: TRUE [13:14:05.929] - resignal: FALSE [13:14:05.929] - force: TRUE [13:14:05.929] - relayed: [n=2] TRUE, FALSE [13:14:05.929] - queued futures: [n=2] TRUE, FALSE [13:14:05.929] - until=2 [13:14:05.929] - relaying element #2 [13:14:05.930] result() for ClusterFuture ... [13:14:05.930] - result already collected: FutureResult [13:14:05.930] result() for ClusterFuture ... done [13:14:05.930] result() for ClusterFuture ... [13:14:05.930] - result already collected: FutureResult [13:14:05.930] result() for ClusterFuture ... done [13:14:05.931] result() for ClusterFuture ... [13:14:05.931] - result already collected: FutureResult [13:14:05.931] result() for ClusterFuture ... done [13:14:05.931] result() for ClusterFuture ... [13:14:05.931] - result already collected: FutureResult [13:14:05.931] result() for ClusterFuture ... done [13:14:05.931] - relayed: [n=2] TRUE, TRUE [13:14:05.932] - queued futures: [n=2] TRUE, TRUE [13:14:05.932] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:05.932] length: 0 (resolved future 2) [13:14:05.932] Relaying remaining futures [13:14:05.932] signalConditionsASAP(NULL, pos=0) ... [13:14:05.932] - nx: 2 [13:14:05.933] - relay: TRUE [13:14:05.933] - stdout: TRUE [13:14:05.933] - signal: TRUE [13:14:05.933] - resignal: FALSE [13:14:05.933] - force: TRUE [13:14:05.933] - relayed: [n=2] TRUE, TRUE [13:14:05.933] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:05.934] - relayed: [n=2] TRUE, TRUE [13:14:05.934] - queued futures: [n=2] TRUE, TRUE [13:14:05.934] signalConditionsASAP(NULL, pos=0) ... done [13:14:05.934] resolve() on list ... DONE [13:14:05.934] result() for ClusterFuture ... [13:14:05.934] - result already collected: FutureResult [13:14:05.935] result() for ClusterFuture ... done [13:14:05.935] result() for ClusterFuture ... [13:14:05.935] - result already collected: FutureResult [13:14:05.935] result() for ClusterFuture ... done [13:14:05.935] result() for ClusterFuture ... [13:14:05.935] - result already collected: FutureResult [13:14:05.936] result() for ClusterFuture ... done [13:14:05.936] result() for ClusterFuture ... [13:14:05.936] - result already collected: FutureResult [13:14:05.936] result() for ClusterFuture ... done [13:14:05.936] - Number of value chunks collected: 2 [13:14:05.936] Resolving 2 futures (chunks) ... DONE [13:14:05.937] Reducing values from 2 chunks ... [13:14:05.937] - Number of values collected after concatenation: 3 [13:14:05.937] - Number of values expected: 3 [13:14:05.937] Reducing values from 2 chunks ... DONE [13:14:05.937] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y1:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 List of 2 $ y0:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 $ y2:List of 3 ..$ a: num [1, 1] 1 ..$ b: num [1, 1] 2 ..$ c: num [1, 1] 3 [13:14:05.944] future_lapply() ... [13:14:05.948] Number of chunks: 2 [13:14:05.948] getGlobalsAndPackagesXApply() ... [13:14:05.948] - future.globals: TRUE [13:14:05.948] getGlobalsAndPackages() ... [13:14:05.948] Searching for globals... [13:14:05.950] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:05.950] Searching for globals ... DONE [13:14:05.950] Resolving globals: FALSE [13:14:05.951] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:05.951] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:05.952] - globals: [1] 'FUN' [13:14:05.952] [13:14:05.952] getGlobalsAndPackages() ... DONE [13:14:05.952] - globals found/used: [n=1] 'FUN' [13:14:05.952] - needed namespaces: [n=0] [13:14:05.952] Finding globals ... DONE [13:14:05.953] - use_args: TRUE [13:14:05.953] - Getting '...' globals ... [13:14:05.953] resolve() on list ... [13:14:05.953] recursive: 0 [13:14:05.953] length: 1 [13:14:05.954] elements: '...' [13:14:05.954] length: 0 (resolved future 1) [13:14:05.954] resolve() on list ... DONE [13:14:05.954] - '...' content: [n=0] [13:14:05.954] List of 1 [13:14:05.954] $ ...: list() [13:14:05.954] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.954] - attr(*, "where")=List of 1 [13:14:05.954] ..$ ...: [13:14:05.954] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.954] - attr(*, "resolved")= logi TRUE [13:14:05.954] - attr(*, "total_size")= num NA [13:14:05.957] - Getting '...' globals ... DONE [13:14:05.958] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:05.958] List of 2 [13:14:05.958] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:05.958] $ ... : list() [13:14:05.958] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:05.958] - attr(*, "where")=List of 2 [13:14:05.958] ..$ ...future.FUN: [13:14:05.958] ..$ ... : [13:14:05.958] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:05.958] - attr(*, "resolved")= logi FALSE [13:14:05.958] - attr(*, "total_size")= num 4728 [13:14:05.961] Packages to be attached in all futures: [n=0] [13:14:05.961] getGlobalsAndPackagesXApply() ... DONE [13:14:05.962] Number of futures (= number of chunks): 2 [13:14:05.962] Launching 2 futures (chunks) ... [13:14:05.962] Chunk #1 of 2 ... [13:14:05.962] - Finding globals in 'X' for chunk #1 ... [13:14:05.962] getGlobalsAndPackages() ... [13:14:05.962] Searching for globals... [13:14:05.963] [13:14:05.963] Searching for globals ... DONE [13:14:05.963] - globals: [0] [13:14:05.963] getGlobalsAndPackages() ... DONE [13:14:05.963] + additional globals found: [n=0] [13:14:05.964] + additional namespaces needed: [n=0] [13:14:05.964] - Finding globals in 'X' for chunk #1 ... DONE [13:14:05.964] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:05.964] - seeds: [13:14:05.964] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.964] getGlobalsAndPackages() ... [13:14:05.965] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.965] Resolving globals: FALSE [13:14:05.965] Tweak future expression to call with '...' arguments ... [13:14:05.965] { [13:14:05.965] do.call(function(...) { [13:14:05.965] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.965] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.965] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.965] on.exit(options(oopts), add = TRUE) [13:14:05.965] } [13:14:05.965] { [13:14:05.965] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.965] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.965] ...future.FUN(...future.X_jj, ...) [13:14:05.965] }) [13:14:05.965] } [13:14:05.965] }, args = future.call.arguments) [13:14:05.965] } [13:14:05.966] Tweak future expression to call with '...' arguments ... DONE [13:14:05.966] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:05.966] [13:14:05.966] getGlobalsAndPackages() ... DONE [13:14:05.967] run() for 'Future' ... [13:14:05.967] - state: 'created' [13:14:05.967] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:05.981] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:05.981] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:05.982] - Field: 'node' [13:14:05.982] - Field: 'label' [13:14:05.982] - Field: 'local' [13:14:05.982] - Field: 'owner' [13:14:05.982] - Field: 'envir' [13:14:05.983] - Field: 'workers' [13:14:05.983] - Field: 'packages' [13:14:05.983] - Field: 'gc' [13:14:05.983] - Field: 'conditions' [13:14:05.983] - Field: 'persistent' [13:14:05.983] - Field: 'expr' [13:14:05.984] - Field: 'uuid' [13:14:05.984] - Field: 'seed' [13:14:05.984] - Field: 'version' [13:14:05.984] - Field: 'result' [13:14:05.984] - Field: 'asynchronous' [13:14:05.984] - Field: 'calls' [13:14:05.985] - Field: 'globals' [13:14:05.985] - Field: 'stdout' [13:14:05.985] - Field: 'earlySignal' [13:14:05.985] - Field: 'lazy' [13:14:05.985] - Field: 'state' [13:14:05.986] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:05.986] - Launch lazy future ... [13:14:05.986] Packages needed by the future expression (n = 0): [13:14:05.986] Packages needed by future strategies (n = 0): [13:14:05.987] { [13:14:05.987] { [13:14:05.987] { [13:14:05.987] ...future.startTime <- base::Sys.time() [13:14:05.987] { [13:14:05.987] { [13:14:05.987] { [13:14:05.987] { [13:14:05.987] base::local({ [13:14:05.987] has_future <- base::requireNamespace("future", [13:14:05.987] quietly = TRUE) [13:14:05.987] if (has_future) { [13:14:05.987] ns <- base::getNamespace("future") [13:14:05.987] version <- ns[[".package"]][["version"]] [13:14:05.987] if (is.null(version)) [13:14:05.987] version <- utils::packageVersion("future") [13:14:05.987] } [13:14:05.987] else { [13:14:05.987] version <- NULL [13:14:05.987] } [13:14:05.987] if (!has_future || version < "1.8.0") { [13:14:05.987] info <- base::c(r_version = base::gsub("R version ", [13:14:05.987] "", base::R.version$version.string), [13:14:05.987] platform = base::sprintf("%s (%s-bit)", [13:14:05.987] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:05.987] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:05.987] "release", "version")], collapse = " "), [13:14:05.987] hostname = base::Sys.info()[["nodename"]]) [13:14:05.987] info <- base::sprintf("%s: %s", base::names(info), [13:14:05.987] info) [13:14:05.987] info <- base::paste(info, collapse = "; ") [13:14:05.987] if (!has_future) { [13:14:05.987] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:05.987] info) [13:14:05.987] } [13:14:05.987] else { [13:14:05.987] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:05.987] info, version) [13:14:05.987] } [13:14:05.987] base::stop(msg) [13:14:05.987] } [13:14:05.987] }) [13:14:05.987] } [13:14:05.987] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:05.987] base::options(mc.cores = 1L) [13:14:05.987] } [13:14:05.987] options(future.plan = NULL) [13:14:05.987] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.987] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:05.987] } [13:14:05.987] ...future.workdir <- getwd() [13:14:05.987] } [13:14:05.987] ...future.oldOptions <- base::as.list(base::.Options) [13:14:05.987] ...future.oldEnvVars <- base::Sys.getenv() [13:14:05.987] } [13:14:05.987] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:05.987] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:05.987] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:05.987] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:05.987] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:05.987] future.stdout.windows.reencode = NULL, width = 80L) [13:14:05.987] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:05.987] base::names(...future.oldOptions)) [13:14:05.987] } [13:14:05.987] if (FALSE) { [13:14:05.987] } [13:14:05.987] else { [13:14:05.987] if (TRUE) { [13:14:05.987] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:05.987] open = "w") [13:14:05.987] } [13:14:05.987] else { [13:14:05.987] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:05.987] windows = "NUL", "/dev/null"), open = "w") [13:14:05.987] } [13:14:05.987] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:05.987] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:05.987] base::sink(type = "output", split = FALSE) [13:14:05.987] base::close(...future.stdout) [13:14:05.987] }, add = TRUE) [13:14:05.987] } [13:14:05.987] ...future.frame <- base::sys.nframe() [13:14:05.987] ...future.conditions <- base::list() [13:14:05.987] ...future.rng <- base::globalenv()$.Random.seed [13:14:05.987] if (FALSE) { [13:14:05.987] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:05.987] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:05.987] } [13:14:05.987] ...future.result <- base::tryCatch({ [13:14:05.987] base::withCallingHandlers({ [13:14:05.987] ...future.value <- base::withVisible(base::local({ [13:14:05.987] ...future.makeSendCondition <- local({ [13:14:05.987] sendCondition <- NULL [13:14:05.987] function(frame = 1L) { [13:14:05.987] if (is.function(sendCondition)) [13:14:05.987] return(sendCondition) [13:14:05.987] ns <- getNamespace("parallel") [13:14:05.987] if (exists("sendData", mode = "function", [13:14:05.987] envir = ns)) { [13:14:05.987] parallel_sendData <- get("sendData", mode = "function", [13:14:05.987] envir = ns) [13:14:05.987] envir <- sys.frame(frame) [13:14:05.987] master <- NULL [13:14:05.987] while (!identical(envir, .GlobalEnv) && [13:14:05.987] !identical(envir, emptyenv())) { [13:14:05.987] if (exists("master", mode = "list", envir = envir, [13:14:05.987] inherits = FALSE)) { [13:14:05.987] master <- get("master", mode = "list", [13:14:05.987] envir = envir, inherits = FALSE) [13:14:05.987] if (inherits(master, c("SOCKnode", [13:14:05.987] "SOCK0node"))) { [13:14:05.987] sendCondition <<- function(cond) { [13:14:05.987] data <- list(type = "VALUE", value = cond, [13:14:05.987] success = TRUE) [13:14:05.987] parallel_sendData(master, data) [13:14:05.987] } [13:14:05.987] return(sendCondition) [13:14:05.987] } [13:14:05.987] } [13:14:05.987] frame <- frame + 1L [13:14:05.987] envir <- sys.frame(frame) [13:14:05.987] } [13:14:05.987] } [13:14:05.987] sendCondition <<- function(cond) NULL [13:14:05.987] } [13:14:05.987] }) [13:14:05.987] withCallingHandlers({ [13:14:05.987] { [13:14:05.987] do.call(function(...) { [13:14:05.987] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.987] if (!identical(...future.globals.maxSize.org, [13:14:05.987] ...future.globals.maxSize)) { [13:14:05.987] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.987] on.exit(options(oopts), add = TRUE) [13:14:05.987] } [13:14:05.987] { [13:14:05.987] lapply(seq_along(...future.elements_ii), [13:14:05.987] FUN = function(jj) { [13:14:05.987] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.987] ...future.FUN(...future.X_jj, ...) [13:14:05.987] }) [13:14:05.987] } [13:14:05.987] }, args = future.call.arguments) [13:14:05.987] } [13:14:05.987] }, immediateCondition = function(cond) { [13:14:05.987] sendCondition <- ...future.makeSendCondition() [13:14:05.987] sendCondition(cond) [13:14:05.987] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.987] { [13:14:05.987] inherits <- base::inherits [13:14:05.987] invokeRestart <- base::invokeRestart [13:14:05.987] is.null <- base::is.null [13:14:05.987] muffled <- FALSE [13:14:05.987] if (inherits(cond, "message")) { [13:14:05.987] muffled <- grepl(pattern, "muffleMessage") [13:14:05.987] if (muffled) [13:14:05.987] invokeRestart("muffleMessage") [13:14:05.987] } [13:14:05.987] else if (inherits(cond, "warning")) { [13:14:05.987] muffled <- grepl(pattern, "muffleWarning") [13:14:05.987] if (muffled) [13:14:05.987] invokeRestart("muffleWarning") [13:14:05.987] } [13:14:05.987] else if (inherits(cond, "condition")) { [13:14:05.987] if (!is.null(pattern)) { [13:14:05.987] computeRestarts <- base::computeRestarts [13:14:05.987] grepl <- base::grepl [13:14:05.987] restarts <- computeRestarts(cond) [13:14:05.987] for (restart in restarts) { [13:14:05.987] name <- restart$name [13:14:05.987] if (is.null(name)) [13:14:05.987] next [13:14:05.987] if (!grepl(pattern, name)) [13:14:05.987] next [13:14:05.987] invokeRestart(restart) [13:14:05.987] muffled <- TRUE [13:14:05.987] break [13:14:05.987] } [13:14:05.987] } [13:14:05.987] } [13:14:05.987] invisible(muffled) [13:14:05.987] } [13:14:05.987] muffleCondition(cond) [13:14:05.987] }) [13:14:05.987] })) [13:14:05.987] future::FutureResult(value = ...future.value$value, [13:14:05.987] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.987] ...future.rng), globalenv = if (FALSE) [13:14:05.987] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:05.987] ...future.globalenv.names)) [13:14:05.987] else NULL, started = ...future.startTime, version = "1.8") [13:14:05.987] }, condition = base::local({ [13:14:05.987] c <- base::c [13:14:05.987] inherits <- base::inherits [13:14:05.987] invokeRestart <- base::invokeRestart [13:14:05.987] length <- base::length [13:14:05.987] list <- base::list [13:14:05.987] seq.int <- base::seq.int [13:14:05.987] signalCondition <- base::signalCondition [13:14:05.987] sys.calls <- base::sys.calls [13:14:05.987] `[[` <- base::`[[` [13:14:05.987] `+` <- base::`+` [13:14:05.987] `<<-` <- base::`<<-` [13:14:05.987] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:05.987] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:05.987] 3L)] [13:14:05.987] } [13:14:05.987] function(cond) { [13:14:05.987] is_error <- inherits(cond, "error") [13:14:05.987] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:05.987] NULL) [13:14:05.987] if (is_error) { [13:14:05.987] sessionInformation <- function() { [13:14:05.987] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:05.987] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:05.987] search = base::search(), system = base::Sys.info()) [13:14:05.987] } [13:14:05.987] ...future.conditions[[length(...future.conditions) + [13:14:05.987] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:05.987] cond$call), session = sessionInformation(), [13:14:05.987] timestamp = base::Sys.time(), signaled = 0L) [13:14:05.987] signalCondition(cond) [13:14:05.987] } [13:14:05.987] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:05.987] "immediateCondition"))) { [13:14:05.987] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:05.987] ...future.conditions[[length(...future.conditions) + [13:14:05.987] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:05.987] if (TRUE && !signal) { [13:14:05.987] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.987] { [13:14:05.987] inherits <- base::inherits [13:14:05.987] invokeRestart <- base::invokeRestart [13:14:05.987] is.null <- base::is.null [13:14:05.987] muffled <- FALSE [13:14:05.987] if (inherits(cond, "message")) { [13:14:05.987] muffled <- grepl(pattern, "muffleMessage") [13:14:05.987] if (muffled) [13:14:05.987] invokeRestart("muffleMessage") [13:14:05.987] } [13:14:05.987] else if (inherits(cond, "warning")) { [13:14:05.987] muffled <- grepl(pattern, "muffleWarning") [13:14:05.987] if (muffled) [13:14:05.987] invokeRestart("muffleWarning") [13:14:05.987] } [13:14:05.987] else if (inherits(cond, "condition")) { [13:14:05.987] if (!is.null(pattern)) { [13:14:05.987] computeRestarts <- base::computeRestarts [13:14:05.987] grepl <- base::grepl [13:14:05.987] restarts <- computeRestarts(cond) [13:14:05.987] for (restart in restarts) { [13:14:05.987] name <- restart$name [13:14:05.987] if (is.null(name)) [13:14:05.987] next [13:14:05.987] if (!grepl(pattern, name)) [13:14:05.987] next [13:14:05.987] invokeRestart(restart) [13:14:05.987] muffled <- TRUE [13:14:05.987] break [13:14:05.987] } [13:14:05.987] } [13:14:05.987] } [13:14:05.987] invisible(muffled) [13:14:05.987] } [13:14:05.987] muffleCondition(cond, pattern = "^muffle") [13:14:05.987] } [13:14:05.987] } [13:14:05.987] else { [13:14:05.987] if (TRUE) { [13:14:05.987] muffleCondition <- function (cond, pattern = "^muffle") [13:14:05.987] { [13:14:05.987] inherits <- base::inherits [13:14:05.987] invokeRestart <- base::invokeRestart [13:14:05.987] is.null <- base::is.null [13:14:05.987] muffled <- FALSE [13:14:05.987] if (inherits(cond, "message")) { [13:14:05.987] muffled <- grepl(pattern, "muffleMessage") [13:14:05.987] if (muffled) [13:14:05.987] invokeRestart("muffleMessage") [13:14:05.987] } [13:14:05.987] else if (inherits(cond, "warning")) { [13:14:05.987] muffled <- grepl(pattern, "muffleWarning") [13:14:05.987] if (muffled) [13:14:05.987] invokeRestart("muffleWarning") [13:14:05.987] } [13:14:05.987] else if (inherits(cond, "condition")) { [13:14:05.987] if (!is.null(pattern)) { [13:14:05.987] computeRestarts <- base::computeRestarts [13:14:05.987] grepl <- base::grepl [13:14:05.987] restarts <- computeRestarts(cond) [13:14:05.987] for (restart in restarts) { [13:14:05.987] name <- restart$name [13:14:05.987] if (is.null(name)) [13:14:05.987] next [13:14:05.987] if (!grepl(pattern, name)) [13:14:05.987] next [13:14:05.987] invokeRestart(restart) [13:14:05.987] muffled <- TRUE [13:14:05.987] break [13:14:05.987] } [13:14:05.987] } [13:14:05.987] } [13:14:05.987] invisible(muffled) [13:14:05.987] } [13:14:05.987] muffleCondition(cond, pattern = "^muffle") [13:14:05.987] } [13:14:05.987] } [13:14:05.987] } [13:14:05.987] })) [13:14:05.987] }, error = function(ex) { [13:14:05.987] base::structure(base::list(value = NULL, visible = NULL, [13:14:05.987] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:05.987] ...future.rng), started = ...future.startTime, [13:14:05.987] finished = Sys.time(), session_uuid = NA_character_, [13:14:05.987] version = "1.8"), class = "FutureResult") [13:14:05.987] }, finally = { [13:14:05.987] if (!identical(...future.workdir, getwd())) [13:14:05.987] setwd(...future.workdir) [13:14:05.987] { [13:14:05.987] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:05.987] ...future.oldOptions$nwarnings <- NULL [13:14:05.987] } [13:14:05.987] base::options(...future.oldOptions) [13:14:05.987] if (.Platform$OS.type == "windows") { [13:14:05.987] old_names <- names(...future.oldEnvVars) [13:14:05.987] envs <- base::Sys.getenv() [13:14:05.987] names <- names(envs) [13:14:05.987] common <- intersect(names, old_names) [13:14:05.987] added <- setdiff(names, old_names) [13:14:05.987] removed <- setdiff(old_names, names) [13:14:05.987] changed <- common[...future.oldEnvVars[common] != [13:14:05.987] envs[common]] [13:14:05.987] NAMES <- toupper(changed) [13:14:05.987] args <- list() [13:14:05.987] for (kk in seq_along(NAMES)) { [13:14:05.987] name <- changed[[kk]] [13:14:05.987] NAME <- NAMES[[kk]] [13:14:05.987] if (name != NAME && is.element(NAME, old_names)) [13:14:05.987] next [13:14:05.987] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.987] } [13:14:05.987] NAMES <- toupper(added) [13:14:05.987] for (kk in seq_along(NAMES)) { [13:14:05.987] name <- added[[kk]] [13:14:05.987] NAME <- NAMES[[kk]] [13:14:05.987] if (name != NAME && is.element(NAME, old_names)) [13:14:05.987] next [13:14:05.987] args[[name]] <- "" [13:14:05.987] } [13:14:05.987] NAMES <- toupper(removed) [13:14:05.987] for (kk in seq_along(NAMES)) { [13:14:05.987] name <- removed[[kk]] [13:14:05.987] NAME <- NAMES[[kk]] [13:14:05.987] if (name != NAME && is.element(NAME, old_names)) [13:14:05.987] next [13:14:05.987] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:05.987] } [13:14:05.987] if (length(args) > 0) [13:14:05.987] base::do.call(base::Sys.setenv, args = args) [13:14:05.987] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:05.987] } [13:14:05.987] else { [13:14:05.987] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:05.987] } [13:14:05.987] { [13:14:05.987] if (base::length(...future.futureOptionsAdded) > [13:14:05.987] 0L) { [13:14:05.987] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:05.987] base::names(opts) <- ...future.futureOptionsAdded [13:14:05.987] base::options(opts) [13:14:05.987] } [13:14:05.987] { [13:14:05.987] { [13:14:05.987] base::options(mc.cores = ...future.mc.cores.old) [13:14:05.987] NULL [13:14:05.987] } [13:14:05.987] options(future.plan = NULL) [13:14:05.987] if (is.na(NA_character_)) [13:14:05.987] Sys.unsetenv("R_FUTURE_PLAN") [13:14:05.987] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:05.987] future::plan(list(function (..., workers = availableCores(), [13:14:05.987] lazy = FALSE, rscript_libs = .libPaths(), [13:14:05.987] envir = parent.frame()) [13:14:05.987] { [13:14:05.987] if (is.function(workers)) [13:14:05.987] workers <- workers() [13:14:05.987] workers <- structure(as.integer(workers), [13:14:05.987] class = class(workers)) [13:14:05.987] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:05.987] workers >= 1) [13:14:05.987] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:05.987] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:05.987] } [13:14:05.987] future <- MultisessionFuture(..., workers = workers, [13:14:05.987] lazy = lazy, rscript_libs = rscript_libs, [13:14:05.987] envir = envir) [13:14:05.987] if (!future$lazy) [13:14:05.987] future <- run(future) [13:14:05.987] invisible(future) [13:14:05.987] }), .cleanup = FALSE, .init = FALSE) [13:14:05.987] } [13:14:05.987] } [13:14:05.987] } [13:14:05.987] }) [13:14:05.987] if (TRUE) { [13:14:05.987] base::sink(type = "output", split = FALSE) [13:14:05.987] if (TRUE) { [13:14:05.987] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:05.987] } [13:14:05.987] else { [13:14:05.987] ...future.result["stdout"] <- base::list(NULL) [13:14:05.987] } [13:14:05.987] base::close(...future.stdout) [13:14:05.987] ...future.stdout <- NULL [13:14:05.987] } [13:14:05.987] ...future.result$conditions <- ...future.conditions [13:14:05.987] ...future.result$finished <- base::Sys.time() [13:14:05.987] ...future.result [13:14:05.987] } [13:14:05.992] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:05.993] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:05.993] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:05.993] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:05.994] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:05.994] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:05.994] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:05.995] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:05.995] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:05.995] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:05.996] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:05.996] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:05.997] MultisessionFuture started [13:14:05.997] - Launch lazy future ... done [13:14:05.997] run() for 'MultisessionFuture' ... done [13:14:05.997] Created future: [13:14:06.013] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.013] - Validating connection of MultisessionFuture [13:14:06.013] - received message: FutureResult [13:14:06.013] - Received FutureResult [13:14:06.014] - Erased future from FutureRegistry [13:14:06.014] result() for ClusterFuture ... [13:14:06.016] - result already collected: FutureResult [13:14:06.017] result() for ClusterFuture ... done [13:14:06.017] receiveMessageFromWorker() for ClusterFuture ... done [13:14:05.997] MultisessionFuture: [13:14:05.997] Label: 'future_sapply-1' [13:14:05.997] Expression: [13:14:05.997] { [13:14:05.997] do.call(function(...) { [13:14:05.997] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:05.997] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:05.997] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:05.997] on.exit(options(oopts), add = TRUE) [13:14:05.997] } [13:14:05.997] { [13:14:05.997] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:05.997] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:05.997] ...future.FUN(...future.X_jj, ...) [13:14:05.997] }) [13:14:05.997] } [13:14:05.997] }, args = future.call.arguments) [13:14:05.997] } [13:14:05.997] Lazy evaluation: FALSE [13:14:05.997] Asynchronous evaluation: TRUE [13:14:05.997] Local evaluation: TRUE [13:14:05.997] Environment: R_GlobalEnv [13:14:05.997] Capture standard output: TRUE [13:14:05.997] Capture condition classes: 'condition' (excluding 'nothing') [13:14:05.997] Globals: 5 objects totaling 4.67 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:05.997] Packages: [13:14:05.997] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:05.997] Resolved: TRUE [13:14:05.997] Value: [13:14:05.997] Conditions captured: [13:14:05.997] Early signaling: FALSE [13:14:05.997] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:05.997] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.017] Chunk #1 of 2 ... DONE [13:14:06.017] Chunk #2 of 2 ... [13:14:06.017] - Finding globals in 'X' for chunk #2 ... [13:14:06.018] getGlobalsAndPackages() ... [13:14:06.018] Searching for globals... [13:14:06.018] [13:14:06.018] Searching for globals ... DONE [13:14:06.018] - globals: [0] [13:14:06.019] getGlobalsAndPackages() ... DONE [13:14:06.019] + additional globals found: [n=0] [13:14:06.019] + additional namespaces needed: [n=0] [13:14:06.019] - Finding globals in 'X' for chunk #2 ... DONE [13:14:06.019] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.019] - seeds: [13:14:06.020] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.020] getGlobalsAndPackages() ... [13:14:06.020] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.020] Resolving globals: FALSE [13:14:06.020] Tweak future expression to call with '...' arguments ... [13:14:06.020] { [13:14:06.020] do.call(function(...) { [13:14:06.020] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.020] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.020] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.020] on.exit(options(oopts), add = TRUE) [13:14:06.020] } [13:14:06.020] { [13:14:06.020] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.020] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.020] ...future.FUN(...future.X_jj, ...) [13:14:06.020] }) [13:14:06.020] } [13:14:06.020] }, args = future.call.arguments) [13:14:06.020] } [13:14:06.021] Tweak future expression to call with '...' arguments ... DONE [13:14:06.021] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.022] [13:14:06.022] getGlobalsAndPackages() ... DONE [13:14:06.022] run() for 'Future' ... [13:14:06.022] - state: 'created' [13:14:06.022] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.036] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.037] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.037] - Field: 'node' [13:14:06.037] - Field: 'label' [13:14:06.037] - Field: 'local' [13:14:06.037] - Field: 'owner' [13:14:06.037] - Field: 'envir' [13:14:06.038] - Field: 'workers' [13:14:06.038] - Field: 'packages' [13:14:06.038] - Field: 'gc' [13:14:06.038] - Field: 'conditions' [13:14:06.038] - Field: 'persistent' [13:14:06.039] - Field: 'expr' [13:14:06.039] - Field: 'uuid' [13:14:06.039] - Field: 'seed' [13:14:06.039] - Field: 'version' [13:14:06.039] - Field: 'result' [13:14:06.039] - Field: 'asynchronous' [13:14:06.040] - Field: 'calls' [13:14:06.040] - Field: 'globals' [13:14:06.040] - Field: 'stdout' [13:14:06.040] - Field: 'earlySignal' [13:14:06.040] - Field: 'lazy' [13:14:06.040] - Field: 'state' [13:14:06.041] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.041] - Launch lazy future ... [13:14:06.041] Packages needed by the future expression (n = 0): [13:14:06.041] Packages needed by future strategies (n = 0): [13:14:06.042] { [13:14:06.042] { [13:14:06.042] { [13:14:06.042] ...future.startTime <- base::Sys.time() [13:14:06.042] { [13:14:06.042] { [13:14:06.042] { [13:14:06.042] { [13:14:06.042] base::local({ [13:14:06.042] has_future <- base::requireNamespace("future", [13:14:06.042] quietly = TRUE) [13:14:06.042] if (has_future) { [13:14:06.042] ns <- base::getNamespace("future") [13:14:06.042] version <- ns[[".package"]][["version"]] [13:14:06.042] if (is.null(version)) [13:14:06.042] version <- utils::packageVersion("future") [13:14:06.042] } [13:14:06.042] else { [13:14:06.042] version <- NULL [13:14:06.042] } [13:14:06.042] if (!has_future || version < "1.8.0") { [13:14:06.042] info <- base::c(r_version = base::gsub("R version ", [13:14:06.042] "", base::R.version$version.string), [13:14:06.042] platform = base::sprintf("%s (%s-bit)", [13:14:06.042] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.042] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.042] "release", "version")], collapse = " "), [13:14:06.042] hostname = base::Sys.info()[["nodename"]]) [13:14:06.042] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.042] info) [13:14:06.042] info <- base::paste(info, collapse = "; ") [13:14:06.042] if (!has_future) { [13:14:06.042] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.042] info) [13:14:06.042] } [13:14:06.042] else { [13:14:06.042] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.042] info, version) [13:14:06.042] } [13:14:06.042] base::stop(msg) [13:14:06.042] } [13:14:06.042] }) [13:14:06.042] } [13:14:06.042] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.042] base::options(mc.cores = 1L) [13:14:06.042] } [13:14:06.042] options(future.plan = NULL) [13:14:06.042] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.042] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.042] } [13:14:06.042] ...future.workdir <- getwd() [13:14:06.042] } [13:14:06.042] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.042] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.042] } [13:14:06.042] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.042] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.042] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.042] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.042] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.042] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.042] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.042] base::names(...future.oldOptions)) [13:14:06.042] } [13:14:06.042] if (FALSE) { [13:14:06.042] } [13:14:06.042] else { [13:14:06.042] if (TRUE) { [13:14:06.042] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.042] open = "w") [13:14:06.042] } [13:14:06.042] else { [13:14:06.042] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.042] windows = "NUL", "/dev/null"), open = "w") [13:14:06.042] } [13:14:06.042] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.042] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.042] base::sink(type = "output", split = FALSE) [13:14:06.042] base::close(...future.stdout) [13:14:06.042] }, add = TRUE) [13:14:06.042] } [13:14:06.042] ...future.frame <- base::sys.nframe() [13:14:06.042] ...future.conditions <- base::list() [13:14:06.042] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.042] if (FALSE) { [13:14:06.042] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.042] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.042] } [13:14:06.042] ...future.result <- base::tryCatch({ [13:14:06.042] base::withCallingHandlers({ [13:14:06.042] ...future.value <- base::withVisible(base::local({ [13:14:06.042] ...future.makeSendCondition <- local({ [13:14:06.042] sendCondition <- NULL [13:14:06.042] function(frame = 1L) { [13:14:06.042] if (is.function(sendCondition)) [13:14:06.042] return(sendCondition) [13:14:06.042] ns <- getNamespace("parallel") [13:14:06.042] if (exists("sendData", mode = "function", [13:14:06.042] envir = ns)) { [13:14:06.042] parallel_sendData <- get("sendData", mode = "function", [13:14:06.042] envir = ns) [13:14:06.042] envir <- sys.frame(frame) [13:14:06.042] master <- NULL [13:14:06.042] while (!identical(envir, .GlobalEnv) && [13:14:06.042] !identical(envir, emptyenv())) { [13:14:06.042] if (exists("master", mode = "list", envir = envir, [13:14:06.042] inherits = FALSE)) { [13:14:06.042] master <- get("master", mode = "list", [13:14:06.042] envir = envir, inherits = FALSE) [13:14:06.042] if (inherits(master, c("SOCKnode", [13:14:06.042] "SOCK0node"))) { [13:14:06.042] sendCondition <<- function(cond) { [13:14:06.042] data <- list(type = "VALUE", value = cond, [13:14:06.042] success = TRUE) [13:14:06.042] parallel_sendData(master, data) [13:14:06.042] } [13:14:06.042] return(sendCondition) [13:14:06.042] } [13:14:06.042] } [13:14:06.042] frame <- frame + 1L [13:14:06.042] envir <- sys.frame(frame) [13:14:06.042] } [13:14:06.042] } [13:14:06.042] sendCondition <<- function(cond) NULL [13:14:06.042] } [13:14:06.042] }) [13:14:06.042] withCallingHandlers({ [13:14:06.042] { [13:14:06.042] do.call(function(...) { [13:14:06.042] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.042] if (!identical(...future.globals.maxSize.org, [13:14:06.042] ...future.globals.maxSize)) { [13:14:06.042] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.042] on.exit(options(oopts), add = TRUE) [13:14:06.042] } [13:14:06.042] { [13:14:06.042] lapply(seq_along(...future.elements_ii), [13:14:06.042] FUN = function(jj) { [13:14:06.042] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.042] ...future.FUN(...future.X_jj, ...) [13:14:06.042] }) [13:14:06.042] } [13:14:06.042] }, args = future.call.arguments) [13:14:06.042] } [13:14:06.042] }, immediateCondition = function(cond) { [13:14:06.042] sendCondition <- ...future.makeSendCondition() [13:14:06.042] sendCondition(cond) [13:14:06.042] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.042] { [13:14:06.042] inherits <- base::inherits [13:14:06.042] invokeRestart <- base::invokeRestart [13:14:06.042] is.null <- base::is.null [13:14:06.042] muffled <- FALSE [13:14:06.042] if (inherits(cond, "message")) { [13:14:06.042] muffled <- grepl(pattern, "muffleMessage") [13:14:06.042] if (muffled) [13:14:06.042] invokeRestart("muffleMessage") [13:14:06.042] } [13:14:06.042] else if (inherits(cond, "warning")) { [13:14:06.042] muffled <- grepl(pattern, "muffleWarning") [13:14:06.042] if (muffled) [13:14:06.042] invokeRestart("muffleWarning") [13:14:06.042] } [13:14:06.042] else if (inherits(cond, "condition")) { [13:14:06.042] if (!is.null(pattern)) { [13:14:06.042] computeRestarts <- base::computeRestarts [13:14:06.042] grepl <- base::grepl [13:14:06.042] restarts <- computeRestarts(cond) [13:14:06.042] for (restart in restarts) { [13:14:06.042] name <- restart$name [13:14:06.042] if (is.null(name)) [13:14:06.042] next [13:14:06.042] if (!grepl(pattern, name)) [13:14:06.042] next [13:14:06.042] invokeRestart(restart) [13:14:06.042] muffled <- TRUE [13:14:06.042] break [13:14:06.042] } [13:14:06.042] } [13:14:06.042] } [13:14:06.042] invisible(muffled) [13:14:06.042] } [13:14:06.042] muffleCondition(cond) [13:14:06.042] }) [13:14:06.042] })) [13:14:06.042] future::FutureResult(value = ...future.value$value, [13:14:06.042] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.042] ...future.rng), globalenv = if (FALSE) [13:14:06.042] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.042] ...future.globalenv.names)) [13:14:06.042] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.042] }, condition = base::local({ [13:14:06.042] c <- base::c [13:14:06.042] inherits <- base::inherits [13:14:06.042] invokeRestart <- base::invokeRestart [13:14:06.042] length <- base::length [13:14:06.042] list <- base::list [13:14:06.042] seq.int <- base::seq.int [13:14:06.042] signalCondition <- base::signalCondition [13:14:06.042] sys.calls <- base::sys.calls [13:14:06.042] `[[` <- base::`[[` [13:14:06.042] `+` <- base::`+` [13:14:06.042] `<<-` <- base::`<<-` [13:14:06.042] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.042] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.042] 3L)] [13:14:06.042] } [13:14:06.042] function(cond) { [13:14:06.042] is_error <- inherits(cond, "error") [13:14:06.042] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.042] NULL) [13:14:06.042] if (is_error) { [13:14:06.042] sessionInformation <- function() { [13:14:06.042] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.042] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.042] search = base::search(), system = base::Sys.info()) [13:14:06.042] } [13:14:06.042] ...future.conditions[[length(...future.conditions) + [13:14:06.042] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.042] cond$call), session = sessionInformation(), [13:14:06.042] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.042] signalCondition(cond) [13:14:06.042] } [13:14:06.042] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.042] "immediateCondition"))) { [13:14:06.042] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.042] ...future.conditions[[length(...future.conditions) + [13:14:06.042] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.042] if (TRUE && !signal) { [13:14:06.042] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.042] { [13:14:06.042] inherits <- base::inherits [13:14:06.042] invokeRestart <- base::invokeRestart [13:14:06.042] is.null <- base::is.null [13:14:06.042] muffled <- FALSE [13:14:06.042] if (inherits(cond, "message")) { [13:14:06.042] muffled <- grepl(pattern, "muffleMessage") [13:14:06.042] if (muffled) [13:14:06.042] invokeRestart("muffleMessage") [13:14:06.042] } [13:14:06.042] else if (inherits(cond, "warning")) { [13:14:06.042] muffled <- grepl(pattern, "muffleWarning") [13:14:06.042] if (muffled) [13:14:06.042] invokeRestart("muffleWarning") [13:14:06.042] } [13:14:06.042] else if (inherits(cond, "condition")) { [13:14:06.042] if (!is.null(pattern)) { [13:14:06.042] computeRestarts <- base::computeRestarts [13:14:06.042] grepl <- base::grepl [13:14:06.042] restarts <- computeRestarts(cond) [13:14:06.042] for (restart in restarts) { [13:14:06.042] name <- restart$name [13:14:06.042] if (is.null(name)) [13:14:06.042] next [13:14:06.042] if (!grepl(pattern, name)) [13:14:06.042] next [13:14:06.042] invokeRestart(restart) [13:14:06.042] muffled <- TRUE [13:14:06.042] break [13:14:06.042] } [13:14:06.042] } [13:14:06.042] } [13:14:06.042] invisible(muffled) [13:14:06.042] } [13:14:06.042] muffleCondition(cond, pattern = "^muffle") [13:14:06.042] } [13:14:06.042] } [13:14:06.042] else { [13:14:06.042] if (TRUE) { [13:14:06.042] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.042] { [13:14:06.042] inherits <- base::inherits [13:14:06.042] invokeRestart <- base::invokeRestart [13:14:06.042] is.null <- base::is.null [13:14:06.042] muffled <- FALSE [13:14:06.042] if (inherits(cond, "message")) { [13:14:06.042] muffled <- grepl(pattern, "muffleMessage") [13:14:06.042] if (muffled) [13:14:06.042] invokeRestart("muffleMessage") [13:14:06.042] } [13:14:06.042] else if (inherits(cond, "warning")) { [13:14:06.042] muffled <- grepl(pattern, "muffleWarning") [13:14:06.042] if (muffled) [13:14:06.042] invokeRestart("muffleWarning") [13:14:06.042] } [13:14:06.042] else if (inherits(cond, "condition")) { [13:14:06.042] if (!is.null(pattern)) { [13:14:06.042] computeRestarts <- base::computeRestarts [13:14:06.042] grepl <- base::grepl [13:14:06.042] restarts <- computeRestarts(cond) [13:14:06.042] for (restart in restarts) { [13:14:06.042] name <- restart$name [13:14:06.042] if (is.null(name)) [13:14:06.042] next [13:14:06.042] if (!grepl(pattern, name)) [13:14:06.042] next [13:14:06.042] invokeRestart(restart) [13:14:06.042] muffled <- TRUE [13:14:06.042] break [13:14:06.042] } [13:14:06.042] } [13:14:06.042] } [13:14:06.042] invisible(muffled) [13:14:06.042] } [13:14:06.042] muffleCondition(cond, pattern = "^muffle") [13:14:06.042] } [13:14:06.042] } [13:14:06.042] } [13:14:06.042] })) [13:14:06.042] }, error = function(ex) { [13:14:06.042] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.042] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.042] ...future.rng), started = ...future.startTime, [13:14:06.042] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.042] version = "1.8"), class = "FutureResult") [13:14:06.042] }, finally = { [13:14:06.042] if (!identical(...future.workdir, getwd())) [13:14:06.042] setwd(...future.workdir) [13:14:06.042] { [13:14:06.042] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.042] ...future.oldOptions$nwarnings <- NULL [13:14:06.042] } [13:14:06.042] base::options(...future.oldOptions) [13:14:06.042] if (.Platform$OS.type == "windows") { [13:14:06.042] old_names <- names(...future.oldEnvVars) [13:14:06.042] envs <- base::Sys.getenv() [13:14:06.042] names <- names(envs) [13:14:06.042] common <- intersect(names, old_names) [13:14:06.042] added <- setdiff(names, old_names) [13:14:06.042] removed <- setdiff(old_names, names) [13:14:06.042] changed <- common[...future.oldEnvVars[common] != [13:14:06.042] envs[common]] [13:14:06.042] NAMES <- toupper(changed) [13:14:06.042] args <- list() [13:14:06.042] for (kk in seq_along(NAMES)) { [13:14:06.042] name <- changed[[kk]] [13:14:06.042] NAME <- NAMES[[kk]] [13:14:06.042] if (name != NAME && is.element(NAME, old_names)) [13:14:06.042] next [13:14:06.042] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.042] } [13:14:06.042] NAMES <- toupper(added) [13:14:06.042] for (kk in seq_along(NAMES)) { [13:14:06.042] name <- added[[kk]] [13:14:06.042] NAME <- NAMES[[kk]] [13:14:06.042] if (name != NAME && is.element(NAME, old_names)) [13:14:06.042] next [13:14:06.042] args[[name]] <- "" [13:14:06.042] } [13:14:06.042] NAMES <- toupper(removed) [13:14:06.042] for (kk in seq_along(NAMES)) { [13:14:06.042] name <- removed[[kk]] [13:14:06.042] NAME <- NAMES[[kk]] [13:14:06.042] if (name != NAME && is.element(NAME, old_names)) [13:14:06.042] next [13:14:06.042] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.042] } [13:14:06.042] if (length(args) > 0) [13:14:06.042] base::do.call(base::Sys.setenv, args = args) [13:14:06.042] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.042] } [13:14:06.042] else { [13:14:06.042] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.042] } [13:14:06.042] { [13:14:06.042] if (base::length(...future.futureOptionsAdded) > [13:14:06.042] 0L) { [13:14:06.042] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.042] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.042] base::options(opts) [13:14:06.042] } [13:14:06.042] { [13:14:06.042] { [13:14:06.042] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.042] NULL [13:14:06.042] } [13:14:06.042] options(future.plan = NULL) [13:14:06.042] if (is.na(NA_character_)) [13:14:06.042] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.042] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.042] future::plan(list(function (..., workers = availableCores(), [13:14:06.042] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.042] envir = parent.frame()) [13:14:06.042] { [13:14:06.042] if (is.function(workers)) [13:14:06.042] workers <- workers() [13:14:06.042] workers <- structure(as.integer(workers), [13:14:06.042] class = class(workers)) [13:14:06.042] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.042] workers >= 1) [13:14:06.042] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.042] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.042] } [13:14:06.042] future <- MultisessionFuture(..., workers = workers, [13:14:06.042] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.042] envir = envir) [13:14:06.042] if (!future$lazy) [13:14:06.042] future <- run(future) [13:14:06.042] invisible(future) [13:14:06.042] }), .cleanup = FALSE, .init = FALSE) [13:14:06.042] } [13:14:06.042] } [13:14:06.042] } [13:14:06.042] }) [13:14:06.042] if (TRUE) { [13:14:06.042] base::sink(type = "output", split = FALSE) [13:14:06.042] if (TRUE) { [13:14:06.042] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.042] } [13:14:06.042] else { [13:14:06.042] ...future.result["stdout"] <- base::list(NULL) [13:14:06.042] } [13:14:06.042] base::close(...future.stdout) [13:14:06.042] ...future.stdout <- NULL [13:14:06.042] } [13:14:06.042] ...future.result$conditions <- ...future.conditions [13:14:06.042] ...future.result$finished <- base::Sys.time() [13:14:06.042] ...future.result [13:14:06.042] } [13:14:06.047] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:06.048] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:06.048] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:06.049] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.049] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.049] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:06.050] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:06.050] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.051] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.051] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.051] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.051] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:06.052] MultisessionFuture started [13:14:06.052] - Launch lazy future ... done [13:14:06.052] run() for 'MultisessionFuture' ... done [13:14:06.053] Created future: [13:14:06.067] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.068] - Validating connection of MultisessionFuture [13:14:06.068] - received message: FutureResult [13:14:06.068] - Received FutureResult [13:14:06.068] - Erased future from FutureRegistry [13:14:06.068] result() for ClusterFuture ... [13:14:06.069] - result already collected: FutureResult [13:14:06.069] result() for ClusterFuture ... done [13:14:06.069] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.053] MultisessionFuture: [13:14:06.053] Label: 'future_sapply-2' [13:14:06.053] Expression: [13:14:06.053] { [13:14:06.053] do.call(function(...) { [13:14:06.053] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.053] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.053] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.053] on.exit(options(oopts), add = TRUE) [13:14:06.053] } [13:14:06.053] { [13:14:06.053] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.053] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.053] ...future.FUN(...future.X_jj, ...) [13:14:06.053] }) [13:14:06.053] } [13:14:06.053] }, args = future.call.arguments) [13:14:06.053] } [13:14:06.053] Lazy evaluation: FALSE [13:14:06.053] Asynchronous evaluation: TRUE [13:14:06.053] Local evaluation: TRUE [13:14:06.053] Environment: R_GlobalEnv [13:14:06.053] Capture standard output: TRUE [13:14:06.053] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.053] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.053] Packages: [13:14:06.053] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.053] Resolved: TRUE [13:14:06.053] Value: [13:14:06.053] Conditions captured: [13:14:06.053] Early signaling: FALSE [13:14:06.053] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.053] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.069] Chunk #2 of 2 ... DONE [13:14:06.069] Launching 2 futures (chunks) ... DONE [13:14:06.070] Resolving 2 futures (chunks) ... [13:14:06.070] resolve() on list ... [13:14:06.070] recursive: 0 [13:14:06.070] length: 2 [13:14:06.070] [13:14:06.070] Future #1 [13:14:06.071] result() for ClusterFuture ... [13:14:06.071] - result already collected: FutureResult [13:14:06.071] result() for ClusterFuture ... done [13:14:06.071] result() for ClusterFuture ... [13:14:06.071] - result already collected: FutureResult [13:14:06.071] result() for ClusterFuture ... done [13:14:06.072] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:06.072] - nx: 2 [13:14:06.072] - relay: TRUE [13:14:06.072] - stdout: TRUE [13:14:06.072] - signal: TRUE [13:14:06.072] - resignal: FALSE [13:14:06.073] - force: TRUE [13:14:06.073] - relayed: [n=2] FALSE, FALSE [13:14:06.073] - queued futures: [n=2] FALSE, FALSE [13:14:06.073] - until=1 [13:14:06.073] - relaying element #1 [13:14:06.073] result() for ClusterFuture ... [13:14:06.074] - result already collected: FutureResult [13:14:06.074] result() for ClusterFuture ... done [13:14:06.074] result() for ClusterFuture ... [13:14:06.074] - result already collected: FutureResult [13:14:06.074] result() for ClusterFuture ... done [13:14:06.074] result() for ClusterFuture ... [13:14:06.075] - result already collected: FutureResult [13:14:06.075] result() for ClusterFuture ... done [13:14:06.075] result() for ClusterFuture ... [13:14:06.075] - result already collected: FutureResult [13:14:06.075] result() for ClusterFuture ... done [13:14:06.075] - relayed: [n=2] TRUE, FALSE [13:14:06.075] - queued futures: [n=2] TRUE, FALSE [13:14:06.076] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:06.076] length: 1 (resolved future 1) [13:14:06.076] Future #2 [13:14:06.076] result() for ClusterFuture ... [13:14:06.076] - result already collected: FutureResult [13:14:06.076] result() for ClusterFuture ... done [13:14:06.077] result() for ClusterFuture ... [13:14:06.077] - result already collected: FutureResult [13:14:06.077] result() for ClusterFuture ... done [13:14:06.077] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:06.077] - nx: 2 [13:14:06.077] - relay: TRUE [13:14:06.078] - stdout: TRUE [13:14:06.078] - signal: TRUE [13:14:06.078] - resignal: FALSE [13:14:06.078] - force: TRUE [13:14:06.078] - relayed: [n=2] TRUE, FALSE [13:14:06.078] - queued futures: [n=2] TRUE, FALSE [13:14:06.078] - until=2 [13:14:06.079] - relaying element #2 [13:14:06.079] result() for ClusterFuture ... [13:14:06.079] - result already collected: FutureResult [13:14:06.079] result() for ClusterFuture ... done [13:14:06.079] result() for ClusterFuture ... [13:14:06.079] - result already collected: FutureResult [13:14:06.080] result() for ClusterFuture ... done [13:14:06.080] result() for ClusterFuture ... [13:14:06.080] - result already collected: FutureResult [13:14:06.080] result() for ClusterFuture ... done [13:14:06.080] result() for ClusterFuture ... [13:14:06.080] - result already collected: FutureResult [13:14:06.081] result() for ClusterFuture ... done [13:14:06.081] - relayed: [n=2] TRUE, TRUE [13:14:06.081] - queued futures: [n=2] TRUE, TRUE [13:14:06.081] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:06.081] length: 0 (resolved future 2) [13:14:06.081] Relaying remaining futures [13:14:06.081] signalConditionsASAP(NULL, pos=0) ... [13:14:06.082] - nx: 2 [13:14:06.082] - relay: TRUE [13:14:06.082] - stdout: TRUE [13:14:06.082] - signal: TRUE [13:14:06.082] - resignal: FALSE [13:14:06.082] - force: TRUE [13:14:06.083] - relayed: [n=2] TRUE, TRUE [13:14:06.083] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:06.083] - relayed: [n=2] TRUE, TRUE [13:14:06.083] - queued futures: [n=2] TRUE, TRUE [13:14:06.083] signalConditionsASAP(NULL, pos=0) ... done [13:14:06.083] resolve() on list ... DONE [13:14:06.084] result() for ClusterFuture ... [13:14:06.084] - result already collected: FutureResult [13:14:06.084] result() for ClusterFuture ... done [13:14:06.084] result() for ClusterFuture ... [13:14:06.084] - result already collected: FutureResult [13:14:06.084] result() for ClusterFuture ... done [13:14:06.085] result() for ClusterFuture ... [13:14:06.085] - result already collected: FutureResult [13:14:06.085] result() for ClusterFuture ... done [13:14:06.085] result() for ClusterFuture ... [13:14:06.085] - result already collected: FutureResult [13:14:06.085] result() for ClusterFuture ... done [13:14:06.086] - Number of value chunks collected: 2 [13:14:06.086] Resolving 2 futures (chunks) ... DONE [13:14:06.086] Reducing values from 2 chunks ... [13:14:06.086] - Number of values collected after concatenation: 3 [13:14:06.086] - Number of values expected: 3 [13:14:06.086] Reducing values from 2 chunks ... DONE [13:14:06.086] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y1:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... List of 2 $ y0:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... $ y2:List of 3 ..$ a: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ b: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ c: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... [13:14:06.094] future_lapply() ... [13:14:06.097] Number of chunks: 2 [13:14:06.097] getGlobalsAndPackagesXApply() ... [13:14:06.097] - future.globals: TRUE [13:14:06.097] getGlobalsAndPackages() ... [13:14:06.098] Searching for globals... [13:14:06.099] - globals found: [1] 'FUN' [13:14:06.099] Searching for globals ... DONE [13:14:06.099] Resolving globals: FALSE [13:14:06.099] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:06.100] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:06.100] - globals: [1] 'FUN' [13:14:06.100] [13:14:06.100] getGlobalsAndPackages() ... DONE [13:14:06.101] - globals found/used: [n=1] 'FUN' [13:14:06.101] - needed namespaces: [n=0] [13:14:06.101] Finding globals ... DONE [13:14:06.101] - use_args: TRUE [13:14:06.101] - Getting '...' globals ... [13:14:06.102] resolve() on list ... [13:14:06.102] recursive: 0 [13:14:06.102] length: 1 [13:14:06.102] elements: '...' [13:14:06.102] length: 0 (resolved future 1) [13:14:06.102] resolve() on list ... DONE [13:14:06.103] - '...' content: [n=0] [13:14:06.103] List of 1 [13:14:06.103] $ ...: list() [13:14:06.103] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.103] - attr(*, "where")=List of 1 [13:14:06.103] ..$ ...: [13:14:06.103] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.103] - attr(*, "resolved")= logi TRUE [13:14:06.103] - attr(*, "total_size")= num NA [13:14:06.106] - Getting '...' globals ... DONE [13:14:06.106] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:06.106] List of 2 [13:14:06.106] $ ...future.FUN:function (x) [13:14:06.106] $ ... : list() [13:14:06.106] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.106] - attr(*, "where")=List of 2 [13:14:06.106] ..$ ...future.FUN: [13:14:06.106] ..$ ... : [13:14:06.106] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.106] - attr(*, "resolved")= logi FALSE [13:14:06.106] - attr(*, "total_size")= num 848 [13:14:06.110] Packages to be attached in all futures: [n=0] [13:14:06.110] getGlobalsAndPackagesXApply() ... DONE [13:14:06.110] Number of futures (= number of chunks): 2 [13:14:06.110] Launching 2 futures (chunks) ... [13:14:06.110] Chunk #1 of 2 ... [13:14:06.111] - Finding globals in 'X' for chunk #1 ... [13:14:06.111] getGlobalsAndPackages() ... [13:14:06.111] Searching for globals... [13:14:06.111] [13:14:06.111] Searching for globals ... DONE [13:14:06.112] - globals: [0] [13:14:06.112] getGlobalsAndPackages() ... DONE [13:14:06.112] + additional globals found: [n=0] [13:14:06.112] + additional namespaces needed: [n=0] [13:14:06.112] - Finding globals in 'X' for chunk #1 ... DONE [13:14:06.112] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.112] - seeds: [13:14:06.113] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.113] getGlobalsAndPackages() ... [13:14:06.113] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.113] Resolving globals: FALSE [13:14:06.113] Tweak future expression to call with '...' arguments ... [13:14:06.114] { [13:14:06.114] do.call(function(...) { [13:14:06.114] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.114] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.114] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.114] on.exit(options(oopts), add = TRUE) [13:14:06.114] } [13:14:06.114] { [13:14:06.114] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.114] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.114] ...future.FUN(...future.X_jj, ...) [13:14:06.114] }) [13:14:06.114] } [13:14:06.114] }, args = future.call.arguments) [13:14:06.114] } [13:14:06.114] Tweak future expression to call with '...' arguments ... DONE [13:14:06.114] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.115] [13:14:06.115] getGlobalsAndPackages() ... DONE [13:14:06.115] run() for 'Future' ... [13:14:06.115] - state: 'created' [13:14:06.116] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.130] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.130] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.130] - Field: 'node' [13:14:06.130] - Field: 'label' [13:14:06.130] - Field: 'local' [13:14:06.131] - Field: 'owner' [13:14:06.131] - Field: 'envir' [13:14:06.131] - Field: 'workers' [13:14:06.131] - Field: 'packages' [13:14:06.131] - Field: 'gc' [13:14:06.131] - Field: 'conditions' [13:14:06.132] - Field: 'persistent' [13:14:06.132] - Field: 'expr' [13:14:06.132] - Field: 'uuid' [13:14:06.132] - Field: 'seed' [13:14:06.132] - Field: 'version' [13:14:06.132] - Field: 'result' [13:14:06.133] - Field: 'asynchronous' [13:14:06.133] - Field: 'calls' [13:14:06.133] - Field: 'globals' [13:14:06.133] - Field: 'stdout' [13:14:06.133] - Field: 'earlySignal' [13:14:06.134] - Field: 'lazy' [13:14:06.134] - Field: 'state' [13:14:06.134] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.134] - Launch lazy future ... [13:14:06.134] Packages needed by the future expression (n = 0): [13:14:06.135] Packages needed by future strategies (n = 0): [13:14:06.135] { [13:14:06.135] { [13:14:06.135] { [13:14:06.135] ...future.startTime <- base::Sys.time() [13:14:06.135] { [13:14:06.135] { [13:14:06.135] { [13:14:06.135] { [13:14:06.135] base::local({ [13:14:06.135] has_future <- base::requireNamespace("future", [13:14:06.135] quietly = TRUE) [13:14:06.135] if (has_future) { [13:14:06.135] ns <- base::getNamespace("future") [13:14:06.135] version <- ns[[".package"]][["version"]] [13:14:06.135] if (is.null(version)) [13:14:06.135] version <- utils::packageVersion("future") [13:14:06.135] } [13:14:06.135] else { [13:14:06.135] version <- NULL [13:14:06.135] } [13:14:06.135] if (!has_future || version < "1.8.0") { [13:14:06.135] info <- base::c(r_version = base::gsub("R version ", [13:14:06.135] "", base::R.version$version.string), [13:14:06.135] platform = base::sprintf("%s (%s-bit)", [13:14:06.135] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.135] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.135] "release", "version")], collapse = " "), [13:14:06.135] hostname = base::Sys.info()[["nodename"]]) [13:14:06.135] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.135] info) [13:14:06.135] info <- base::paste(info, collapse = "; ") [13:14:06.135] if (!has_future) { [13:14:06.135] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.135] info) [13:14:06.135] } [13:14:06.135] else { [13:14:06.135] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.135] info, version) [13:14:06.135] } [13:14:06.135] base::stop(msg) [13:14:06.135] } [13:14:06.135] }) [13:14:06.135] } [13:14:06.135] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.135] base::options(mc.cores = 1L) [13:14:06.135] } [13:14:06.135] options(future.plan = NULL) [13:14:06.135] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.135] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.135] } [13:14:06.135] ...future.workdir <- getwd() [13:14:06.135] } [13:14:06.135] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.135] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.135] } [13:14:06.135] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.135] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.135] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.135] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.135] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.135] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.135] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.135] base::names(...future.oldOptions)) [13:14:06.135] } [13:14:06.135] if (FALSE) { [13:14:06.135] } [13:14:06.135] else { [13:14:06.135] if (TRUE) { [13:14:06.135] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.135] open = "w") [13:14:06.135] } [13:14:06.135] else { [13:14:06.135] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.135] windows = "NUL", "/dev/null"), open = "w") [13:14:06.135] } [13:14:06.135] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.135] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.135] base::sink(type = "output", split = FALSE) [13:14:06.135] base::close(...future.stdout) [13:14:06.135] }, add = TRUE) [13:14:06.135] } [13:14:06.135] ...future.frame <- base::sys.nframe() [13:14:06.135] ...future.conditions <- base::list() [13:14:06.135] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.135] if (FALSE) { [13:14:06.135] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.135] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.135] } [13:14:06.135] ...future.result <- base::tryCatch({ [13:14:06.135] base::withCallingHandlers({ [13:14:06.135] ...future.value <- base::withVisible(base::local({ [13:14:06.135] ...future.makeSendCondition <- local({ [13:14:06.135] sendCondition <- NULL [13:14:06.135] function(frame = 1L) { [13:14:06.135] if (is.function(sendCondition)) [13:14:06.135] return(sendCondition) [13:14:06.135] ns <- getNamespace("parallel") [13:14:06.135] if (exists("sendData", mode = "function", [13:14:06.135] envir = ns)) { [13:14:06.135] parallel_sendData <- get("sendData", mode = "function", [13:14:06.135] envir = ns) [13:14:06.135] envir <- sys.frame(frame) [13:14:06.135] master <- NULL [13:14:06.135] while (!identical(envir, .GlobalEnv) && [13:14:06.135] !identical(envir, emptyenv())) { [13:14:06.135] if (exists("master", mode = "list", envir = envir, [13:14:06.135] inherits = FALSE)) { [13:14:06.135] master <- get("master", mode = "list", [13:14:06.135] envir = envir, inherits = FALSE) [13:14:06.135] if (inherits(master, c("SOCKnode", [13:14:06.135] "SOCK0node"))) { [13:14:06.135] sendCondition <<- function(cond) { [13:14:06.135] data <- list(type = "VALUE", value = cond, [13:14:06.135] success = TRUE) [13:14:06.135] parallel_sendData(master, data) [13:14:06.135] } [13:14:06.135] return(sendCondition) [13:14:06.135] } [13:14:06.135] } [13:14:06.135] frame <- frame + 1L [13:14:06.135] envir <- sys.frame(frame) [13:14:06.135] } [13:14:06.135] } [13:14:06.135] sendCondition <<- function(cond) NULL [13:14:06.135] } [13:14:06.135] }) [13:14:06.135] withCallingHandlers({ [13:14:06.135] { [13:14:06.135] do.call(function(...) { [13:14:06.135] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.135] if (!identical(...future.globals.maxSize.org, [13:14:06.135] ...future.globals.maxSize)) { [13:14:06.135] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.135] on.exit(options(oopts), add = TRUE) [13:14:06.135] } [13:14:06.135] { [13:14:06.135] lapply(seq_along(...future.elements_ii), [13:14:06.135] FUN = function(jj) { [13:14:06.135] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.135] ...future.FUN(...future.X_jj, ...) [13:14:06.135] }) [13:14:06.135] } [13:14:06.135] }, args = future.call.arguments) [13:14:06.135] } [13:14:06.135] }, immediateCondition = function(cond) { [13:14:06.135] sendCondition <- ...future.makeSendCondition() [13:14:06.135] sendCondition(cond) [13:14:06.135] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.135] { [13:14:06.135] inherits <- base::inherits [13:14:06.135] invokeRestart <- base::invokeRestart [13:14:06.135] is.null <- base::is.null [13:14:06.135] muffled <- FALSE [13:14:06.135] if (inherits(cond, "message")) { [13:14:06.135] muffled <- grepl(pattern, "muffleMessage") [13:14:06.135] if (muffled) [13:14:06.135] invokeRestart("muffleMessage") [13:14:06.135] } [13:14:06.135] else if (inherits(cond, "warning")) { [13:14:06.135] muffled <- grepl(pattern, "muffleWarning") [13:14:06.135] if (muffled) [13:14:06.135] invokeRestart("muffleWarning") [13:14:06.135] } [13:14:06.135] else if (inherits(cond, "condition")) { [13:14:06.135] if (!is.null(pattern)) { [13:14:06.135] computeRestarts <- base::computeRestarts [13:14:06.135] grepl <- base::grepl [13:14:06.135] restarts <- computeRestarts(cond) [13:14:06.135] for (restart in restarts) { [13:14:06.135] name <- restart$name [13:14:06.135] if (is.null(name)) [13:14:06.135] next [13:14:06.135] if (!grepl(pattern, name)) [13:14:06.135] next [13:14:06.135] invokeRestart(restart) [13:14:06.135] muffled <- TRUE [13:14:06.135] break [13:14:06.135] } [13:14:06.135] } [13:14:06.135] } [13:14:06.135] invisible(muffled) [13:14:06.135] } [13:14:06.135] muffleCondition(cond) [13:14:06.135] }) [13:14:06.135] })) [13:14:06.135] future::FutureResult(value = ...future.value$value, [13:14:06.135] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.135] ...future.rng), globalenv = if (FALSE) [13:14:06.135] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.135] ...future.globalenv.names)) [13:14:06.135] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.135] }, condition = base::local({ [13:14:06.135] c <- base::c [13:14:06.135] inherits <- base::inherits [13:14:06.135] invokeRestart <- base::invokeRestart [13:14:06.135] length <- base::length [13:14:06.135] list <- base::list [13:14:06.135] seq.int <- base::seq.int [13:14:06.135] signalCondition <- base::signalCondition [13:14:06.135] sys.calls <- base::sys.calls [13:14:06.135] `[[` <- base::`[[` [13:14:06.135] `+` <- base::`+` [13:14:06.135] `<<-` <- base::`<<-` [13:14:06.135] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.135] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.135] 3L)] [13:14:06.135] } [13:14:06.135] function(cond) { [13:14:06.135] is_error <- inherits(cond, "error") [13:14:06.135] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.135] NULL) [13:14:06.135] if (is_error) { [13:14:06.135] sessionInformation <- function() { [13:14:06.135] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.135] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.135] search = base::search(), system = base::Sys.info()) [13:14:06.135] } [13:14:06.135] ...future.conditions[[length(...future.conditions) + [13:14:06.135] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.135] cond$call), session = sessionInformation(), [13:14:06.135] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.135] signalCondition(cond) [13:14:06.135] } [13:14:06.135] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.135] "immediateCondition"))) { [13:14:06.135] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.135] ...future.conditions[[length(...future.conditions) + [13:14:06.135] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.135] if (TRUE && !signal) { [13:14:06.135] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.135] { [13:14:06.135] inherits <- base::inherits [13:14:06.135] invokeRestart <- base::invokeRestart [13:14:06.135] is.null <- base::is.null [13:14:06.135] muffled <- FALSE [13:14:06.135] if (inherits(cond, "message")) { [13:14:06.135] muffled <- grepl(pattern, "muffleMessage") [13:14:06.135] if (muffled) [13:14:06.135] invokeRestart("muffleMessage") [13:14:06.135] } [13:14:06.135] else if (inherits(cond, "warning")) { [13:14:06.135] muffled <- grepl(pattern, "muffleWarning") [13:14:06.135] if (muffled) [13:14:06.135] invokeRestart("muffleWarning") [13:14:06.135] } [13:14:06.135] else if (inherits(cond, "condition")) { [13:14:06.135] if (!is.null(pattern)) { [13:14:06.135] computeRestarts <- base::computeRestarts [13:14:06.135] grepl <- base::grepl [13:14:06.135] restarts <- computeRestarts(cond) [13:14:06.135] for (restart in restarts) { [13:14:06.135] name <- restart$name [13:14:06.135] if (is.null(name)) [13:14:06.135] next [13:14:06.135] if (!grepl(pattern, name)) [13:14:06.135] next [13:14:06.135] invokeRestart(restart) [13:14:06.135] muffled <- TRUE [13:14:06.135] break [13:14:06.135] } [13:14:06.135] } [13:14:06.135] } [13:14:06.135] invisible(muffled) [13:14:06.135] } [13:14:06.135] muffleCondition(cond, pattern = "^muffle") [13:14:06.135] } [13:14:06.135] } [13:14:06.135] else { [13:14:06.135] if (TRUE) { [13:14:06.135] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.135] { [13:14:06.135] inherits <- base::inherits [13:14:06.135] invokeRestart <- base::invokeRestart [13:14:06.135] is.null <- base::is.null [13:14:06.135] muffled <- FALSE [13:14:06.135] if (inherits(cond, "message")) { [13:14:06.135] muffled <- grepl(pattern, "muffleMessage") [13:14:06.135] if (muffled) [13:14:06.135] invokeRestart("muffleMessage") [13:14:06.135] } [13:14:06.135] else if (inherits(cond, "warning")) { [13:14:06.135] muffled <- grepl(pattern, "muffleWarning") [13:14:06.135] if (muffled) [13:14:06.135] invokeRestart("muffleWarning") [13:14:06.135] } [13:14:06.135] else if (inherits(cond, "condition")) { [13:14:06.135] if (!is.null(pattern)) { [13:14:06.135] computeRestarts <- base::computeRestarts [13:14:06.135] grepl <- base::grepl [13:14:06.135] restarts <- computeRestarts(cond) [13:14:06.135] for (restart in restarts) { [13:14:06.135] name <- restart$name [13:14:06.135] if (is.null(name)) [13:14:06.135] next [13:14:06.135] if (!grepl(pattern, name)) [13:14:06.135] next [13:14:06.135] invokeRestart(restart) [13:14:06.135] muffled <- TRUE [13:14:06.135] break [13:14:06.135] } [13:14:06.135] } [13:14:06.135] } [13:14:06.135] invisible(muffled) [13:14:06.135] } [13:14:06.135] muffleCondition(cond, pattern = "^muffle") [13:14:06.135] } [13:14:06.135] } [13:14:06.135] } [13:14:06.135] })) [13:14:06.135] }, error = function(ex) { [13:14:06.135] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.135] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.135] ...future.rng), started = ...future.startTime, [13:14:06.135] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.135] version = "1.8"), class = "FutureResult") [13:14:06.135] }, finally = { [13:14:06.135] if (!identical(...future.workdir, getwd())) [13:14:06.135] setwd(...future.workdir) [13:14:06.135] { [13:14:06.135] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.135] ...future.oldOptions$nwarnings <- NULL [13:14:06.135] } [13:14:06.135] base::options(...future.oldOptions) [13:14:06.135] if (.Platform$OS.type == "windows") { [13:14:06.135] old_names <- names(...future.oldEnvVars) [13:14:06.135] envs <- base::Sys.getenv() [13:14:06.135] names <- names(envs) [13:14:06.135] common <- intersect(names, old_names) [13:14:06.135] added <- setdiff(names, old_names) [13:14:06.135] removed <- setdiff(old_names, names) [13:14:06.135] changed <- common[...future.oldEnvVars[common] != [13:14:06.135] envs[common]] [13:14:06.135] NAMES <- toupper(changed) [13:14:06.135] args <- list() [13:14:06.135] for (kk in seq_along(NAMES)) { [13:14:06.135] name <- changed[[kk]] [13:14:06.135] NAME <- NAMES[[kk]] [13:14:06.135] if (name != NAME && is.element(NAME, old_names)) [13:14:06.135] next [13:14:06.135] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.135] } [13:14:06.135] NAMES <- toupper(added) [13:14:06.135] for (kk in seq_along(NAMES)) { [13:14:06.135] name <- added[[kk]] [13:14:06.135] NAME <- NAMES[[kk]] [13:14:06.135] if (name != NAME && is.element(NAME, old_names)) [13:14:06.135] next [13:14:06.135] args[[name]] <- "" [13:14:06.135] } [13:14:06.135] NAMES <- toupper(removed) [13:14:06.135] for (kk in seq_along(NAMES)) { [13:14:06.135] name <- removed[[kk]] [13:14:06.135] NAME <- NAMES[[kk]] [13:14:06.135] if (name != NAME && is.element(NAME, old_names)) [13:14:06.135] next [13:14:06.135] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.135] } [13:14:06.135] if (length(args) > 0) [13:14:06.135] base::do.call(base::Sys.setenv, args = args) [13:14:06.135] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.135] } [13:14:06.135] else { [13:14:06.135] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.135] } [13:14:06.135] { [13:14:06.135] if (base::length(...future.futureOptionsAdded) > [13:14:06.135] 0L) { [13:14:06.135] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.135] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.135] base::options(opts) [13:14:06.135] } [13:14:06.135] { [13:14:06.135] { [13:14:06.135] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.135] NULL [13:14:06.135] } [13:14:06.135] options(future.plan = NULL) [13:14:06.135] if (is.na(NA_character_)) [13:14:06.135] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.135] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.135] future::plan(list(function (..., workers = availableCores(), [13:14:06.135] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.135] envir = parent.frame()) [13:14:06.135] { [13:14:06.135] if (is.function(workers)) [13:14:06.135] workers <- workers() [13:14:06.135] workers <- structure(as.integer(workers), [13:14:06.135] class = class(workers)) [13:14:06.135] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.135] workers >= 1) [13:14:06.135] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.135] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.135] } [13:14:06.135] future <- MultisessionFuture(..., workers = workers, [13:14:06.135] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.135] envir = envir) [13:14:06.135] if (!future$lazy) [13:14:06.135] future <- run(future) [13:14:06.135] invisible(future) [13:14:06.135] }), .cleanup = FALSE, .init = FALSE) [13:14:06.135] } [13:14:06.135] } [13:14:06.135] } [13:14:06.135] }) [13:14:06.135] if (TRUE) { [13:14:06.135] base::sink(type = "output", split = FALSE) [13:14:06.135] if (TRUE) { [13:14:06.135] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.135] } [13:14:06.135] else { [13:14:06.135] ...future.result["stdout"] <- base::list(NULL) [13:14:06.135] } [13:14:06.135] base::close(...future.stdout) [13:14:06.135] ...future.stdout <- NULL [13:14:06.135] } [13:14:06.135] ...future.result$conditions <- ...future.conditions [13:14:06.135] ...future.result$finished <- base::Sys.time() [13:14:06.135] ...future.result [13:14:06.135] } [13:14:06.141] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:06.141] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:06.141] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:06.142] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.142] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.142] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:06.143] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:06.143] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.144] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.145] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.145] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.145] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:06.146] MultisessionFuture started [13:14:06.146] - Launch lazy future ... done [13:14:06.146] run() for 'MultisessionFuture' ... done [13:14:06.147] Created future: [13:14:06.161] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.161] - Validating connection of MultisessionFuture [13:14:06.162] - received message: FutureResult [13:14:06.162] - Received FutureResult [13:14:06.162] - Erased future from FutureRegistry [13:14:06.162] result() for ClusterFuture ... [13:14:06.162] - result already collected: FutureResult [13:14:06.163] result() for ClusterFuture ... done [13:14:06.163] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.147] MultisessionFuture: [13:14:06.147] Label: 'future_sapply-1' [13:14:06.147] Expression: [13:14:06.147] { [13:14:06.147] do.call(function(...) { [13:14:06.147] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.147] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.147] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.147] on.exit(options(oopts), add = TRUE) [13:14:06.147] } [13:14:06.147] { [13:14:06.147] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.147] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.147] ...future.FUN(...future.X_jj, ...) [13:14:06.147] }) [13:14:06.147] } [13:14:06.147] }, args = future.call.arguments) [13:14:06.147] } [13:14:06.147] Lazy evaluation: FALSE [13:14:06.147] Asynchronous evaluation: TRUE [13:14:06.147] Local evaluation: TRUE [13:14:06.147] Environment: R_GlobalEnv [13:14:06.147] Capture standard output: TRUE [13:14:06.147] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.147] Globals: 5 objects totaling 904 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.147] Packages: [13:14:06.147] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.147] Resolved: TRUE [13:14:06.147] Value: [13:14:06.147] Conditions captured: [13:14:06.147] Early signaling: FALSE [13:14:06.147] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.147] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.163] Chunk #1 of 2 ... DONE [13:14:06.163] Chunk #2 of 2 ... [13:14:06.164] - Finding globals in 'X' for chunk #2 ... [13:14:06.164] getGlobalsAndPackages() ... [13:14:06.164] Searching for globals... [13:14:06.164] [13:14:06.164] Searching for globals ... DONE [13:14:06.164] - globals: [0] [13:14:06.165] getGlobalsAndPackages() ... DONE [13:14:06.165] + additional globals found: [n=0] [13:14:06.165] + additional namespaces needed: [n=0] [13:14:06.165] - Finding globals in 'X' for chunk #2 ... DONE [13:14:06.165] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.165] - seeds: [13:14:06.166] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.166] getGlobalsAndPackages() ... [13:14:06.166] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.166] Resolving globals: FALSE [13:14:06.166] Tweak future expression to call with '...' arguments ... [13:14:06.167] { [13:14:06.167] do.call(function(...) { [13:14:06.167] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.167] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.167] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.167] on.exit(options(oopts), add = TRUE) [13:14:06.167] } [13:14:06.167] { [13:14:06.167] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.167] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.167] ...future.FUN(...future.X_jj, ...) [13:14:06.167] }) [13:14:06.167] } [13:14:06.167] }, args = future.call.arguments) [13:14:06.167] } [13:14:06.167] Tweak future expression to call with '...' arguments ... DONE [13:14:06.167] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.168] [13:14:06.168] getGlobalsAndPackages() ... DONE [13:14:06.168] run() for 'Future' ... [13:14:06.168] - state: 'created' [13:14:06.168] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.183] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.183] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.183] - Field: 'node' [13:14:06.183] - Field: 'label' [13:14:06.183] - Field: 'local' [13:14:06.184] - Field: 'owner' [13:14:06.184] - Field: 'envir' [13:14:06.184] - Field: 'workers' [13:14:06.184] - Field: 'packages' [13:14:06.184] - Field: 'gc' [13:14:06.185] - Field: 'conditions' [13:14:06.185] - Field: 'persistent' [13:14:06.185] - Field: 'expr' [13:14:06.185] - Field: 'uuid' [13:14:06.185] - Field: 'seed' [13:14:06.185] - Field: 'version' [13:14:06.188] - Field: 'result' [13:14:06.188] - Field: 'asynchronous' [13:14:06.188] - Field: 'calls' [13:14:06.189] - Field: 'globals' [13:14:06.189] - Field: 'stdout' [13:14:06.189] - Field: 'earlySignal' [13:14:06.189] - Field: 'lazy' [13:14:06.189] - Field: 'state' [13:14:06.190] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.190] - Launch lazy future ... [13:14:06.190] Packages needed by the future expression (n = 0): [13:14:06.190] Packages needed by future strategies (n = 0): [13:14:06.191] { [13:14:06.191] { [13:14:06.191] { [13:14:06.191] ...future.startTime <- base::Sys.time() [13:14:06.191] { [13:14:06.191] { [13:14:06.191] { [13:14:06.191] { [13:14:06.191] base::local({ [13:14:06.191] has_future <- base::requireNamespace("future", [13:14:06.191] quietly = TRUE) [13:14:06.191] if (has_future) { [13:14:06.191] ns <- base::getNamespace("future") [13:14:06.191] version <- ns[[".package"]][["version"]] [13:14:06.191] if (is.null(version)) [13:14:06.191] version <- utils::packageVersion("future") [13:14:06.191] } [13:14:06.191] else { [13:14:06.191] version <- NULL [13:14:06.191] } [13:14:06.191] if (!has_future || version < "1.8.0") { [13:14:06.191] info <- base::c(r_version = base::gsub("R version ", [13:14:06.191] "", base::R.version$version.string), [13:14:06.191] platform = base::sprintf("%s (%s-bit)", [13:14:06.191] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.191] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.191] "release", "version")], collapse = " "), [13:14:06.191] hostname = base::Sys.info()[["nodename"]]) [13:14:06.191] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.191] info) [13:14:06.191] info <- base::paste(info, collapse = "; ") [13:14:06.191] if (!has_future) { [13:14:06.191] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.191] info) [13:14:06.191] } [13:14:06.191] else { [13:14:06.191] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.191] info, version) [13:14:06.191] } [13:14:06.191] base::stop(msg) [13:14:06.191] } [13:14:06.191] }) [13:14:06.191] } [13:14:06.191] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.191] base::options(mc.cores = 1L) [13:14:06.191] } [13:14:06.191] options(future.plan = NULL) [13:14:06.191] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.191] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.191] } [13:14:06.191] ...future.workdir <- getwd() [13:14:06.191] } [13:14:06.191] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.191] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.191] } [13:14:06.191] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.191] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.191] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.191] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.191] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.191] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.191] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.191] base::names(...future.oldOptions)) [13:14:06.191] } [13:14:06.191] if (FALSE) { [13:14:06.191] } [13:14:06.191] else { [13:14:06.191] if (TRUE) { [13:14:06.191] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.191] open = "w") [13:14:06.191] } [13:14:06.191] else { [13:14:06.191] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.191] windows = "NUL", "/dev/null"), open = "w") [13:14:06.191] } [13:14:06.191] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.191] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.191] base::sink(type = "output", split = FALSE) [13:14:06.191] base::close(...future.stdout) [13:14:06.191] }, add = TRUE) [13:14:06.191] } [13:14:06.191] ...future.frame <- base::sys.nframe() [13:14:06.191] ...future.conditions <- base::list() [13:14:06.191] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.191] if (FALSE) { [13:14:06.191] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.191] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.191] } [13:14:06.191] ...future.result <- base::tryCatch({ [13:14:06.191] base::withCallingHandlers({ [13:14:06.191] ...future.value <- base::withVisible(base::local({ [13:14:06.191] ...future.makeSendCondition <- local({ [13:14:06.191] sendCondition <- NULL [13:14:06.191] function(frame = 1L) { [13:14:06.191] if (is.function(sendCondition)) [13:14:06.191] return(sendCondition) [13:14:06.191] ns <- getNamespace("parallel") [13:14:06.191] if (exists("sendData", mode = "function", [13:14:06.191] envir = ns)) { [13:14:06.191] parallel_sendData <- get("sendData", mode = "function", [13:14:06.191] envir = ns) [13:14:06.191] envir <- sys.frame(frame) [13:14:06.191] master <- NULL [13:14:06.191] while (!identical(envir, .GlobalEnv) && [13:14:06.191] !identical(envir, emptyenv())) { [13:14:06.191] if (exists("master", mode = "list", envir = envir, [13:14:06.191] inherits = FALSE)) { [13:14:06.191] master <- get("master", mode = "list", [13:14:06.191] envir = envir, inherits = FALSE) [13:14:06.191] if (inherits(master, c("SOCKnode", [13:14:06.191] "SOCK0node"))) { [13:14:06.191] sendCondition <<- function(cond) { [13:14:06.191] data <- list(type = "VALUE", value = cond, [13:14:06.191] success = TRUE) [13:14:06.191] parallel_sendData(master, data) [13:14:06.191] } [13:14:06.191] return(sendCondition) [13:14:06.191] } [13:14:06.191] } [13:14:06.191] frame <- frame + 1L [13:14:06.191] envir <- sys.frame(frame) [13:14:06.191] } [13:14:06.191] } [13:14:06.191] sendCondition <<- function(cond) NULL [13:14:06.191] } [13:14:06.191] }) [13:14:06.191] withCallingHandlers({ [13:14:06.191] { [13:14:06.191] do.call(function(...) { [13:14:06.191] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.191] if (!identical(...future.globals.maxSize.org, [13:14:06.191] ...future.globals.maxSize)) { [13:14:06.191] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.191] on.exit(options(oopts), add = TRUE) [13:14:06.191] } [13:14:06.191] { [13:14:06.191] lapply(seq_along(...future.elements_ii), [13:14:06.191] FUN = function(jj) { [13:14:06.191] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.191] ...future.FUN(...future.X_jj, ...) [13:14:06.191] }) [13:14:06.191] } [13:14:06.191] }, args = future.call.arguments) [13:14:06.191] } [13:14:06.191] }, immediateCondition = function(cond) { [13:14:06.191] sendCondition <- ...future.makeSendCondition() [13:14:06.191] sendCondition(cond) [13:14:06.191] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.191] { [13:14:06.191] inherits <- base::inherits [13:14:06.191] invokeRestart <- base::invokeRestart [13:14:06.191] is.null <- base::is.null [13:14:06.191] muffled <- FALSE [13:14:06.191] if (inherits(cond, "message")) { [13:14:06.191] muffled <- grepl(pattern, "muffleMessage") [13:14:06.191] if (muffled) [13:14:06.191] invokeRestart("muffleMessage") [13:14:06.191] } [13:14:06.191] else if (inherits(cond, "warning")) { [13:14:06.191] muffled <- grepl(pattern, "muffleWarning") [13:14:06.191] if (muffled) [13:14:06.191] invokeRestart("muffleWarning") [13:14:06.191] } [13:14:06.191] else if (inherits(cond, "condition")) { [13:14:06.191] if (!is.null(pattern)) { [13:14:06.191] computeRestarts <- base::computeRestarts [13:14:06.191] grepl <- base::grepl [13:14:06.191] restarts <- computeRestarts(cond) [13:14:06.191] for (restart in restarts) { [13:14:06.191] name <- restart$name [13:14:06.191] if (is.null(name)) [13:14:06.191] next [13:14:06.191] if (!grepl(pattern, name)) [13:14:06.191] next [13:14:06.191] invokeRestart(restart) [13:14:06.191] muffled <- TRUE [13:14:06.191] break [13:14:06.191] } [13:14:06.191] } [13:14:06.191] } [13:14:06.191] invisible(muffled) [13:14:06.191] } [13:14:06.191] muffleCondition(cond) [13:14:06.191] }) [13:14:06.191] })) [13:14:06.191] future::FutureResult(value = ...future.value$value, [13:14:06.191] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.191] ...future.rng), globalenv = if (FALSE) [13:14:06.191] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.191] ...future.globalenv.names)) [13:14:06.191] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.191] }, condition = base::local({ [13:14:06.191] c <- base::c [13:14:06.191] inherits <- base::inherits [13:14:06.191] invokeRestart <- base::invokeRestart [13:14:06.191] length <- base::length [13:14:06.191] list <- base::list [13:14:06.191] seq.int <- base::seq.int [13:14:06.191] signalCondition <- base::signalCondition [13:14:06.191] sys.calls <- base::sys.calls [13:14:06.191] `[[` <- base::`[[` [13:14:06.191] `+` <- base::`+` [13:14:06.191] `<<-` <- base::`<<-` [13:14:06.191] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.191] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.191] 3L)] [13:14:06.191] } [13:14:06.191] function(cond) { [13:14:06.191] is_error <- inherits(cond, "error") [13:14:06.191] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.191] NULL) [13:14:06.191] if (is_error) { [13:14:06.191] sessionInformation <- function() { [13:14:06.191] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.191] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.191] search = base::search(), system = base::Sys.info()) [13:14:06.191] } [13:14:06.191] ...future.conditions[[length(...future.conditions) + [13:14:06.191] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.191] cond$call), session = sessionInformation(), [13:14:06.191] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.191] signalCondition(cond) [13:14:06.191] } [13:14:06.191] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.191] "immediateCondition"))) { [13:14:06.191] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.191] ...future.conditions[[length(...future.conditions) + [13:14:06.191] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.191] if (TRUE && !signal) { [13:14:06.191] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.191] { [13:14:06.191] inherits <- base::inherits [13:14:06.191] invokeRestart <- base::invokeRestart [13:14:06.191] is.null <- base::is.null [13:14:06.191] muffled <- FALSE [13:14:06.191] if (inherits(cond, "message")) { [13:14:06.191] muffled <- grepl(pattern, "muffleMessage") [13:14:06.191] if (muffled) [13:14:06.191] invokeRestart("muffleMessage") [13:14:06.191] } [13:14:06.191] else if (inherits(cond, "warning")) { [13:14:06.191] muffled <- grepl(pattern, "muffleWarning") [13:14:06.191] if (muffled) [13:14:06.191] invokeRestart("muffleWarning") [13:14:06.191] } [13:14:06.191] else if (inherits(cond, "condition")) { [13:14:06.191] if (!is.null(pattern)) { [13:14:06.191] computeRestarts <- base::computeRestarts [13:14:06.191] grepl <- base::grepl [13:14:06.191] restarts <- computeRestarts(cond) [13:14:06.191] for (restart in restarts) { [13:14:06.191] name <- restart$name [13:14:06.191] if (is.null(name)) [13:14:06.191] next [13:14:06.191] if (!grepl(pattern, name)) [13:14:06.191] next [13:14:06.191] invokeRestart(restart) [13:14:06.191] muffled <- TRUE [13:14:06.191] break [13:14:06.191] } [13:14:06.191] } [13:14:06.191] } [13:14:06.191] invisible(muffled) [13:14:06.191] } [13:14:06.191] muffleCondition(cond, pattern = "^muffle") [13:14:06.191] } [13:14:06.191] } [13:14:06.191] else { [13:14:06.191] if (TRUE) { [13:14:06.191] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.191] { [13:14:06.191] inherits <- base::inherits [13:14:06.191] invokeRestart <- base::invokeRestart [13:14:06.191] is.null <- base::is.null [13:14:06.191] muffled <- FALSE [13:14:06.191] if (inherits(cond, "message")) { [13:14:06.191] muffled <- grepl(pattern, "muffleMessage") [13:14:06.191] if (muffled) [13:14:06.191] invokeRestart("muffleMessage") [13:14:06.191] } [13:14:06.191] else if (inherits(cond, "warning")) { [13:14:06.191] muffled <- grepl(pattern, "muffleWarning") [13:14:06.191] if (muffled) [13:14:06.191] invokeRestart("muffleWarning") [13:14:06.191] } [13:14:06.191] else if (inherits(cond, "condition")) { [13:14:06.191] if (!is.null(pattern)) { [13:14:06.191] computeRestarts <- base::computeRestarts [13:14:06.191] grepl <- base::grepl [13:14:06.191] restarts <- computeRestarts(cond) [13:14:06.191] for (restart in restarts) { [13:14:06.191] name <- restart$name [13:14:06.191] if (is.null(name)) [13:14:06.191] next [13:14:06.191] if (!grepl(pattern, name)) [13:14:06.191] next [13:14:06.191] invokeRestart(restart) [13:14:06.191] muffled <- TRUE [13:14:06.191] break [13:14:06.191] } [13:14:06.191] } [13:14:06.191] } [13:14:06.191] invisible(muffled) [13:14:06.191] } [13:14:06.191] muffleCondition(cond, pattern = "^muffle") [13:14:06.191] } [13:14:06.191] } [13:14:06.191] } [13:14:06.191] })) [13:14:06.191] }, error = function(ex) { [13:14:06.191] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.191] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.191] ...future.rng), started = ...future.startTime, [13:14:06.191] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.191] version = "1.8"), class = "FutureResult") [13:14:06.191] }, finally = { [13:14:06.191] if (!identical(...future.workdir, getwd())) [13:14:06.191] setwd(...future.workdir) [13:14:06.191] { [13:14:06.191] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.191] ...future.oldOptions$nwarnings <- NULL [13:14:06.191] } [13:14:06.191] base::options(...future.oldOptions) [13:14:06.191] if (.Platform$OS.type == "windows") { [13:14:06.191] old_names <- names(...future.oldEnvVars) [13:14:06.191] envs <- base::Sys.getenv() [13:14:06.191] names <- names(envs) [13:14:06.191] common <- intersect(names, old_names) [13:14:06.191] added <- setdiff(names, old_names) [13:14:06.191] removed <- setdiff(old_names, names) [13:14:06.191] changed <- common[...future.oldEnvVars[common] != [13:14:06.191] envs[common]] [13:14:06.191] NAMES <- toupper(changed) [13:14:06.191] args <- list() [13:14:06.191] for (kk in seq_along(NAMES)) { [13:14:06.191] name <- changed[[kk]] [13:14:06.191] NAME <- NAMES[[kk]] [13:14:06.191] if (name != NAME && is.element(NAME, old_names)) [13:14:06.191] next [13:14:06.191] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.191] } [13:14:06.191] NAMES <- toupper(added) [13:14:06.191] for (kk in seq_along(NAMES)) { [13:14:06.191] name <- added[[kk]] [13:14:06.191] NAME <- NAMES[[kk]] [13:14:06.191] if (name != NAME && is.element(NAME, old_names)) [13:14:06.191] next [13:14:06.191] args[[name]] <- "" [13:14:06.191] } [13:14:06.191] NAMES <- toupper(removed) [13:14:06.191] for (kk in seq_along(NAMES)) { [13:14:06.191] name <- removed[[kk]] [13:14:06.191] NAME <- NAMES[[kk]] [13:14:06.191] if (name != NAME && is.element(NAME, old_names)) [13:14:06.191] next [13:14:06.191] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.191] } [13:14:06.191] if (length(args) > 0) [13:14:06.191] base::do.call(base::Sys.setenv, args = args) [13:14:06.191] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.191] } [13:14:06.191] else { [13:14:06.191] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.191] } [13:14:06.191] { [13:14:06.191] if (base::length(...future.futureOptionsAdded) > [13:14:06.191] 0L) { [13:14:06.191] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.191] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.191] base::options(opts) [13:14:06.191] } [13:14:06.191] { [13:14:06.191] { [13:14:06.191] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.191] NULL [13:14:06.191] } [13:14:06.191] options(future.plan = NULL) [13:14:06.191] if (is.na(NA_character_)) [13:14:06.191] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.191] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.191] future::plan(list(function (..., workers = availableCores(), [13:14:06.191] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.191] envir = parent.frame()) [13:14:06.191] { [13:14:06.191] if (is.function(workers)) [13:14:06.191] workers <- workers() [13:14:06.191] workers <- structure(as.integer(workers), [13:14:06.191] class = class(workers)) [13:14:06.191] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.191] workers >= 1) [13:14:06.191] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.191] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.191] } [13:14:06.191] future <- MultisessionFuture(..., workers = workers, [13:14:06.191] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.191] envir = envir) [13:14:06.191] if (!future$lazy) [13:14:06.191] future <- run(future) [13:14:06.191] invisible(future) [13:14:06.191] }), .cleanup = FALSE, .init = FALSE) [13:14:06.191] } [13:14:06.191] } [13:14:06.191] } [13:14:06.191] }) [13:14:06.191] if (TRUE) { [13:14:06.191] base::sink(type = "output", split = FALSE) [13:14:06.191] if (TRUE) { [13:14:06.191] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.191] } [13:14:06.191] else { [13:14:06.191] ...future.result["stdout"] <- base::list(NULL) [13:14:06.191] } [13:14:06.191] base::close(...future.stdout) [13:14:06.191] ...future.stdout <- NULL [13:14:06.191] } [13:14:06.191] ...future.result$conditions <- ...future.conditions [13:14:06.191] ...future.result$finished <- base::Sys.time() [13:14:06.191] ...future.result [13:14:06.191] } [13:14:06.196] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:06.197] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:06.197] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:06.197] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.198] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.198] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:06.198] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:06.199] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.199] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.199] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.200] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.200] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:06.200] MultisessionFuture started [13:14:06.201] - Launch lazy future ... done [13:14:06.201] run() for 'MultisessionFuture' ... done [13:14:06.201] Created future: [13:14:06.238] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.238] - Validating connection of MultisessionFuture [13:14:06.238] - received message: FutureResult [13:14:06.238] - Received FutureResult [13:14:06.238] - Erased future from FutureRegistry [13:14:06.239] result() for ClusterFuture ... [13:14:06.239] - result already collected: FutureResult [13:14:06.239] result() for ClusterFuture ... done [13:14:06.239] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.201] MultisessionFuture: [13:14:06.201] Label: 'future_sapply-2' [13:14:06.201] Expression: [13:14:06.201] { [13:14:06.201] do.call(function(...) { [13:14:06.201] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.201] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.201] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.201] on.exit(options(oopts), add = TRUE) [13:14:06.201] } [13:14:06.201] { [13:14:06.201] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.201] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.201] ...future.FUN(...future.X_jj, ...) [13:14:06.201] }) [13:14:06.201] } [13:14:06.201] }, args = future.call.arguments) [13:14:06.201] } [13:14:06.201] Lazy evaluation: FALSE [13:14:06.201] Asynchronous evaluation: TRUE [13:14:06.201] Local evaluation: TRUE [13:14:06.201] Environment: R_GlobalEnv [13:14:06.201] Capture standard output: TRUE [13:14:06.201] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.201] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.201] Packages: [13:14:06.201] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.201] Resolved: TRUE [13:14:06.201] Value: [13:14:06.201] Conditions captured: [13:14:06.201] Early signaling: FALSE [13:14:06.201] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.201] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.239] Chunk #2 of 2 ... DONE [13:14:06.240] Launching 2 futures (chunks) ... DONE [13:14:06.240] Resolving 2 futures (chunks) ... [13:14:06.240] resolve() on list ... [13:14:06.240] recursive: 0 [13:14:06.240] length: 2 [13:14:06.240] [13:14:06.241] Future #1 [13:14:06.241] result() for ClusterFuture ... [13:14:06.241] - result already collected: FutureResult [13:14:06.241] result() for ClusterFuture ... done [13:14:06.241] result() for ClusterFuture ... [13:14:06.241] - result already collected: FutureResult [13:14:06.242] result() for ClusterFuture ... done [13:14:06.242] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:06.242] - nx: 2 [13:14:06.242] - relay: TRUE [13:14:06.242] - stdout: TRUE [13:14:06.242] - signal: TRUE [13:14:06.243] - resignal: FALSE [13:14:06.243] - force: TRUE [13:14:06.243] - relayed: [n=2] FALSE, FALSE [13:14:06.243] - queued futures: [n=2] FALSE, FALSE [13:14:06.243] - until=1 [13:14:06.243] - relaying element #1 [13:14:06.243] result() for ClusterFuture ... [13:14:06.244] - result already collected: FutureResult [13:14:06.244] result() for ClusterFuture ... done [13:14:06.244] result() for ClusterFuture ... [13:14:06.244] - result already collected: FutureResult [13:14:06.244] result() for ClusterFuture ... done [13:14:06.245] result() for ClusterFuture ... [13:14:06.245] - result already collected: FutureResult [13:14:06.245] result() for ClusterFuture ... done [13:14:06.245] result() for ClusterFuture ... [13:14:06.245] - result already collected: FutureResult [13:14:06.245] result() for ClusterFuture ... done [13:14:06.246] - relayed: [n=2] TRUE, FALSE [13:14:06.246] - queued futures: [n=2] TRUE, FALSE [13:14:06.246] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:06.246] length: 1 (resolved future 1) [13:14:06.246] Future #2 [13:14:06.247] result() for ClusterFuture ... [13:14:06.247] - result already collected: FutureResult [13:14:06.247] result() for ClusterFuture ... done [13:14:06.247] result() for ClusterFuture ... [13:14:06.247] - result already collected: FutureResult [13:14:06.247] result() for ClusterFuture ... done [13:14:06.248] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:06.248] - nx: 2 [13:14:06.248] - relay: TRUE [13:14:06.248] - stdout: TRUE [13:14:06.248] - signal: TRUE [13:14:06.248] - resignal: FALSE [13:14:06.249] - force: TRUE [13:14:06.249] - relayed: [n=2] TRUE, FALSE [13:14:06.249] - queued futures: [n=2] TRUE, FALSE [13:14:06.249] - until=2 [13:14:06.249] - relaying element #2 [13:14:06.249] result() for ClusterFuture ... [13:14:06.250] - result already collected: FutureResult [13:14:06.250] result() for ClusterFuture ... done [13:14:06.250] result() for ClusterFuture ... [13:14:06.250] - result already collected: FutureResult [13:14:06.250] result() for ClusterFuture ... done [13:14:06.250] result() for ClusterFuture ... [13:14:06.250] - result already collected: FutureResult [13:14:06.251] result() for ClusterFuture ... done [13:14:06.251] result() for ClusterFuture ... [13:14:06.251] - result already collected: FutureResult [13:14:06.251] result() for ClusterFuture ... done [13:14:06.251] - relayed: [n=2] TRUE, TRUE [13:14:06.251] - queued futures: [n=2] TRUE, TRUE [13:14:06.252] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:06.252] length: 0 (resolved future 2) [13:14:06.252] Relaying remaining futures [13:14:06.252] signalConditionsASAP(NULL, pos=0) ... [13:14:06.252] - nx: 2 [13:14:06.252] - relay: TRUE [13:14:06.253] - stdout: TRUE [13:14:06.253] - signal: TRUE [13:14:06.253] - resignal: FALSE [13:14:06.253] - force: TRUE [13:14:06.253] - relayed: [n=2] TRUE, TRUE [13:14:06.253] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:06.254] - relayed: [n=2] TRUE, TRUE [13:14:06.254] - queued futures: [n=2] TRUE, TRUE [13:14:06.254] signalConditionsASAP(NULL, pos=0) ... done [13:14:06.254] resolve() on list ... DONE [13:14:06.254] result() for ClusterFuture ... [13:14:06.254] - result already collected: FutureResult [13:14:06.255] result() for ClusterFuture ... done [13:14:06.255] result() for ClusterFuture ... [13:14:06.255] - result already collected: FutureResult [13:14:06.255] result() for ClusterFuture ... done [13:14:06.255] result() for ClusterFuture ... [13:14:06.255] - result already collected: FutureResult [13:14:06.255] result() for ClusterFuture ... done [13:14:06.256] result() for ClusterFuture ... [13:14:06.256] - result already collected: FutureResult [13:14:06.256] result() for ClusterFuture ... done [13:14:06.256] - Number of value chunks collected: 2 [13:14:06.256] Resolving 2 futures (chunks) ... DONE [13:14:06.256] Reducing values from 2 chunks ... [13:14:06.257] - Number of values collected after concatenation: 3 [13:14:06.257] - Number of values expected: 3 [13:14:06.257] Reducing values from 2 chunks ... DONE [13:14:06.257] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:06.259] future_lapply() ... [13:14:06.262] Number of chunks: 2 [13:14:06.262] getGlobalsAndPackagesXApply() ... [13:14:06.262] - future.globals: TRUE [13:14:06.262] getGlobalsAndPackages() ... [13:14:06.263] Searching for globals... [13:14:06.264] - globals found: [2] 'FUN', 'UseMethod' [13:14:06.264] Searching for globals ... DONE [13:14:06.264] Resolving globals: FALSE [13:14:06.265] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:06.265] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:06.265] - globals: [1] 'FUN' [13:14:06.265] [13:14:06.266] getGlobalsAndPackages() ... DONE [13:14:06.266] - globals found/used: [n=1] 'FUN' [13:14:06.266] - needed namespaces: [n=0] [13:14:06.266] Finding globals ... DONE [13:14:06.266] - use_args: TRUE [13:14:06.266] - Getting '...' globals ... [13:14:06.267] resolve() on list ... [13:14:06.267] recursive: 0 [13:14:06.267] length: 1 [13:14:06.267] elements: '...' [13:14:06.268] length: 0 (resolved future 1) [13:14:06.268] resolve() on list ... DONE [13:14:06.268] - '...' content: [n=0] [13:14:06.268] List of 1 [13:14:06.268] $ ...: list() [13:14:06.268] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.268] - attr(*, "where")=List of 1 [13:14:06.268] ..$ ...: [13:14:06.268] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.268] - attr(*, "resolved")= logi TRUE [13:14:06.268] - attr(*, "total_size")= num NA [13:14:06.271] - Getting '...' globals ... DONE [13:14:06.271] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:06.271] List of 2 [13:14:06.271] $ ...future.FUN:function (x, ...) [13:14:06.271] $ ... : list() [13:14:06.271] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.271] - attr(*, "where")=List of 2 [13:14:06.271] ..$ ...future.FUN: [13:14:06.271] ..$ ... : [13:14:06.271] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.271] - attr(*, "resolved")= logi FALSE [13:14:06.271] - attr(*, "total_size")= num 1248 [13:14:06.275] Packages to be attached in all futures: [n=0] [13:14:06.275] getGlobalsAndPackagesXApply() ... DONE [13:14:06.275] Number of futures (= number of chunks): 2 [13:14:06.275] Launching 2 futures (chunks) ... [13:14:06.276] Chunk #1 of 2 ... [13:14:06.276] - Finding globals in 'X' for chunk #1 ... [13:14:06.276] getGlobalsAndPackages() ... [13:14:06.276] Searching for globals... [13:14:06.276] [13:14:06.277] Searching for globals ... DONE [13:14:06.277] - globals: [0] [13:14:06.277] getGlobalsAndPackages() ... DONE [13:14:06.277] + additional globals found: [n=0] [13:14:06.277] + additional namespaces needed: [n=0] [13:14:06.277] - Finding globals in 'X' for chunk #1 ... DONE [13:14:06.277] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.278] - seeds: [13:14:06.278] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.278] getGlobalsAndPackages() ... [13:14:06.278] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.278] Resolving globals: FALSE [13:14:06.279] Tweak future expression to call with '...' arguments ... [13:14:06.279] { [13:14:06.279] do.call(function(...) { [13:14:06.279] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.279] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.279] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.279] on.exit(options(oopts), add = TRUE) [13:14:06.279] } [13:14:06.279] { [13:14:06.279] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.279] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.279] ...future.FUN(...future.X_jj, ...) [13:14:06.279] }) [13:14:06.279] } [13:14:06.279] }, args = future.call.arguments) [13:14:06.279] } [13:14:06.279] Tweak future expression to call with '...' arguments ... DONE [13:14:06.280] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.280] [13:14:06.280] getGlobalsAndPackages() ... DONE [13:14:06.280] run() for 'Future' ... [13:14:06.280] - state: 'created' [13:14:06.281] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.295] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.295] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.295] - Field: 'node' [13:14:06.296] - Field: 'label' [13:14:06.296] - Field: 'local' [13:14:06.296] - Field: 'owner' [13:14:06.296] - Field: 'envir' [13:14:06.296] - Field: 'workers' [13:14:06.297] - Field: 'packages' [13:14:06.297] - Field: 'gc' [13:14:06.297] - Field: 'conditions' [13:14:06.297] - Field: 'persistent' [13:14:06.297] - Field: 'expr' [13:14:06.297] - Field: 'uuid' [13:14:06.298] - Field: 'seed' [13:14:06.298] - Field: 'version' [13:14:06.298] - Field: 'result' [13:14:06.298] - Field: 'asynchronous' [13:14:06.298] - Field: 'calls' [13:14:06.299] - Field: 'globals' [13:14:06.299] - Field: 'stdout' [13:14:06.299] - Field: 'earlySignal' [13:14:06.299] - Field: 'lazy' [13:14:06.299] - Field: 'state' [13:14:06.300] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.300] - Launch lazy future ... [13:14:06.300] Packages needed by the future expression (n = 0): [13:14:06.300] Packages needed by future strategies (n = 0): [13:14:06.301] { [13:14:06.301] { [13:14:06.301] { [13:14:06.301] ...future.startTime <- base::Sys.time() [13:14:06.301] { [13:14:06.301] { [13:14:06.301] { [13:14:06.301] { [13:14:06.301] base::local({ [13:14:06.301] has_future <- base::requireNamespace("future", [13:14:06.301] quietly = TRUE) [13:14:06.301] if (has_future) { [13:14:06.301] ns <- base::getNamespace("future") [13:14:06.301] version <- ns[[".package"]][["version"]] [13:14:06.301] if (is.null(version)) [13:14:06.301] version <- utils::packageVersion("future") [13:14:06.301] } [13:14:06.301] else { [13:14:06.301] version <- NULL [13:14:06.301] } [13:14:06.301] if (!has_future || version < "1.8.0") { [13:14:06.301] info <- base::c(r_version = base::gsub("R version ", [13:14:06.301] "", base::R.version$version.string), [13:14:06.301] platform = base::sprintf("%s (%s-bit)", [13:14:06.301] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.301] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.301] "release", "version")], collapse = " "), [13:14:06.301] hostname = base::Sys.info()[["nodename"]]) [13:14:06.301] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.301] info) [13:14:06.301] info <- base::paste(info, collapse = "; ") [13:14:06.301] if (!has_future) { [13:14:06.301] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.301] info) [13:14:06.301] } [13:14:06.301] else { [13:14:06.301] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.301] info, version) [13:14:06.301] } [13:14:06.301] base::stop(msg) [13:14:06.301] } [13:14:06.301] }) [13:14:06.301] } [13:14:06.301] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.301] base::options(mc.cores = 1L) [13:14:06.301] } [13:14:06.301] options(future.plan = NULL) [13:14:06.301] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.301] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.301] } [13:14:06.301] ...future.workdir <- getwd() [13:14:06.301] } [13:14:06.301] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.301] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.301] } [13:14:06.301] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.301] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.301] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.301] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.301] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.301] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.301] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.301] base::names(...future.oldOptions)) [13:14:06.301] } [13:14:06.301] if (FALSE) { [13:14:06.301] } [13:14:06.301] else { [13:14:06.301] if (TRUE) { [13:14:06.301] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.301] open = "w") [13:14:06.301] } [13:14:06.301] else { [13:14:06.301] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.301] windows = "NUL", "/dev/null"), open = "w") [13:14:06.301] } [13:14:06.301] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.301] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.301] base::sink(type = "output", split = FALSE) [13:14:06.301] base::close(...future.stdout) [13:14:06.301] }, add = TRUE) [13:14:06.301] } [13:14:06.301] ...future.frame <- base::sys.nframe() [13:14:06.301] ...future.conditions <- base::list() [13:14:06.301] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.301] if (FALSE) { [13:14:06.301] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.301] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.301] } [13:14:06.301] ...future.result <- base::tryCatch({ [13:14:06.301] base::withCallingHandlers({ [13:14:06.301] ...future.value <- base::withVisible(base::local({ [13:14:06.301] ...future.makeSendCondition <- local({ [13:14:06.301] sendCondition <- NULL [13:14:06.301] function(frame = 1L) { [13:14:06.301] if (is.function(sendCondition)) [13:14:06.301] return(sendCondition) [13:14:06.301] ns <- getNamespace("parallel") [13:14:06.301] if (exists("sendData", mode = "function", [13:14:06.301] envir = ns)) { [13:14:06.301] parallel_sendData <- get("sendData", mode = "function", [13:14:06.301] envir = ns) [13:14:06.301] envir <- sys.frame(frame) [13:14:06.301] master <- NULL [13:14:06.301] while (!identical(envir, .GlobalEnv) && [13:14:06.301] !identical(envir, emptyenv())) { [13:14:06.301] if (exists("master", mode = "list", envir = envir, [13:14:06.301] inherits = FALSE)) { [13:14:06.301] master <- get("master", mode = "list", [13:14:06.301] envir = envir, inherits = FALSE) [13:14:06.301] if (inherits(master, c("SOCKnode", [13:14:06.301] "SOCK0node"))) { [13:14:06.301] sendCondition <<- function(cond) { [13:14:06.301] data <- list(type = "VALUE", value = cond, [13:14:06.301] success = TRUE) [13:14:06.301] parallel_sendData(master, data) [13:14:06.301] } [13:14:06.301] return(sendCondition) [13:14:06.301] } [13:14:06.301] } [13:14:06.301] frame <- frame + 1L [13:14:06.301] envir <- sys.frame(frame) [13:14:06.301] } [13:14:06.301] } [13:14:06.301] sendCondition <<- function(cond) NULL [13:14:06.301] } [13:14:06.301] }) [13:14:06.301] withCallingHandlers({ [13:14:06.301] { [13:14:06.301] do.call(function(...) { [13:14:06.301] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.301] if (!identical(...future.globals.maxSize.org, [13:14:06.301] ...future.globals.maxSize)) { [13:14:06.301] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.301] on.exit(options(oopts), add = TRUE) [13:14:06.301] } [13:14:06.301] { [13:14:06.301] lapply(seq_along(...future.elements_ii), [13:14:06.301] FUN = function(jj) { [13:14:06.301] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.301] ...future.FUN(...future.X_jj, ...) [13:14:06.301] }) [13:14:06.301] } [13:14:06.301] }, args = future.call.arguments) [13:14:06.301] } [13:14:06.301] }, immediateCondition = function(cond) { [13:14:06.301] sendCondition <- ...future.makeSendCondition() [13:14:06.301] sendCondition(cond) [13:14:06.301] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.301] { [13:14:06.301] inherits <- base::inherits [13:14:06.301] invokeRestart <- base::invokeRestart [13:14:06.301] is.null <- base::is.null [13:14:06.301] muffled <- FALSE [13:14:06.301] if (inherits(cond, "message")) { [13:14:06.301] muffled <- grepl(pattern, "muffleMessage") [13:14:06.301] if (muffled) [13:14:06.301] invokeRestart("muffleMessage") [13:14:06.301] } [13:14:06.301] else if (inherits(cond, "warning")) { [13:14:06.301] muffled <- grepl(pattern, "muffleWarning") [13:14:06.301] if (muffled) [13:14:06.301] invokeRestart("muffleWarning") [13:14:06.301] } [13:14:06.301] else if (inherits(cond, "condition")) { [13:14:06.301] if (!is.null(pattern)) { [13:14:06.301] computeRestarts <- base::computeRestarts [13:14:06.301] grepl <- base::grepl [13:14:06.301] restarts <- computeRestarts(cond) [13:14:06.301] for (restart in restarts) { [13:14:06.301] name <- restart$name [13:14:06.301] if (is.null(name)) [13:14:06.301] next [13:14:06.301] if (!grepl(pattern, name)) [13:14:06.301] next [13:14:06.301] invokeRestart(restart) [13:14:06.301] muffled <- TRUE [13:14:06.301] break [13:14:06.301] } [13:14:06.301] } [13:14:06.301] } [13:14:06.301] invisible(muffled) [13:14:06.301] } [13:14:06.301] muffleCondition(cond) [13:14:06.301] }) [13:14:06.301] })) [13:14:06.301] future::FutureResult(value = ...future.value$value, [13:14:06.301] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.301] ...future.rng), globalenv = if (FALSE) [13:14:06.301] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.301] ...future.globalenv.names)) [13:14:06.301] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.301] }, condition = base::local({ [13:14:06.301] c <- base::c [13:14:06.301] inherits <- base::inherits [13:14:06.301] invokeRestart <- base::invokeRestart [13:14:06.301] length <- base::length [13:14:06.301] list <- base::list [13:14:06.301] seq.int <- base::seq.int [13:14:06.301] signalCondition <- base::signalCondition [13:14:06.301] sys.calls <- base::sys.calls [13:14:06.301] `[[` <- base::`[[` [13:14:06.301] `+` <- base::`+` [13:14:06.301] `<<-` <- base::`<<-` [13:14:06.301] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.301] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.301] 3L)] [13:14:06.301] } [13:14:06.301] function(cond) { [13:14:06.301] is_error <- inherits(cond, "error") [13:14:06.301] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.301] NULL) [13:14:06.301] if (is_error) { [13:14:06.301] sessionInformation <- function() { [13:14:06.301] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.301] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.301] search = base::search(), system = base::Sys.info()) [13:14:06.301] } [13:14:06.301] ...future.conditions[[length(...future.conditions) + [13:14:06.301] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.301] cond$call), session = sessionInformation(), [13:14:06.301] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.301] signalCondition(cond) [13:14:06.301] } [13:14:06.301] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.301] "immediateCondition"))) { [13:14:06.301] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.301] ...future.conditions[[length(...future.conditions) + [13:14:06.301] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.301] if (TRUE && !signal) { [13:14:06.301] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.301] { [13:14:06.301] inherits <- base::inherits [13:14:06.301] invokeRestart <- base::invokeRestart [13:14:06.301] is.null <- base::is.null [13:14:06.301] muffled <- FALSE [13:14:06.301] if (inherits(cond, "message")) { [13:14:06.301] muffled <- grepl(pattern, "muffleMessage") [13:14:06.301] if (muffled) [13:14:06.301] invokeRestart("muffleMessage") [13:14:06.301] } [13:14:06.301] else if (inherits(cond, "warning")) { [13:14:06.301] muffled <- grepl(pattern, "muffleWarning") [13:14:06.301] if (muffled) [13:14:06.301] invokeRestart("muffleWarning") [13:14:06.301] } [13:14:06.301] else if (inherits(cond, "condition")) { [13:14:06.301] if (!is.null(pattern)) { [13:14:06.301] computeRestarts <- base::computeRestarts [13:14:06.301] grepl <- base::grepl [13:14:06.301] restarts <- computeRestarts(cond) [13:14:06.301] for (restart in restarts) { [13:14:06.301] name <- restart$name [13:14:06.301] if (is.null(name)) [13:14:06.301] next [13:14:06.301] if (!grepl(pattern, name)) [13:14:06.301] next [13:14:06.301] invokeRestart(restart) [13:14:06.301] muffled <- TRUE [13:14:06.301] break [13:14:06.301] } [13:14:06.301] } [13:14:06.301] } [13:14:06.301] invisible(muffled) [13:14:06.301] } [13:14:06.301] muffleCondition(cond, pattern = "^muffle") [13:14:06.301] } [13:14:06.301] } [13:14:06.301] else { [13:14:06.301] if (TRUE) { [13:14:06.301] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.301] { [13:14:06.301] inherits <- base::inherits [13:14:06.301] invokeRestart <- base::invokeRestart [13:14:06.301] is.null <- base::is.null [13:14:06.301] muffled <- FALSE [13:14:06.301] if (inherits(cond, "message")) { [13:14:06.301] muffled <- grepl(pattern, "muffleMessage") [13:14:06.301] if (muffled) [13:14:06.301] invokeRestart("muffleMessage") [13:14:06.301] } [13:14:06.301] else if (inherits(cond, "warning")) { [13:14:06.301] muffled <- grepl(pattern, "muffleWarning") [13:14:06.301] if (muffled) [13:14:06.301] invokeRestart("muffleWarning") [13:14:06.301] } [13:14:06.301] else if (inherits(cond, "condition")) { [13:14:06.301] if (!is.null(pattern)) { [13:14:06.301] computeRestarts <- base::computeRestarts [13:14:06.301] grepl <- base::grepl [13:14:06.301] restarts <- computeRestarts(cond) [13:14:06.301] for (restart in restarts) { [13:14:06.301] name <- restart$name [13:14:06.301] if (is.null(name)) [13:14:06.301] next [13:14:06.301] if (!grepl(pattern, name)) [13:14:06.301] next [13:14:06.301] invokeRestart(restart) [13:14:06.301] muffled <- TRUE [13:14:06.301] break [13:14:06.301] } [13:14:06.301] } [13:14:06.301] } [13:14:06.301] invisible(muffled) [13:14:06.301] } [13:14:06.301] muffleCondition(cond, pattern = "^muffle") [13:14:06.301] } [13:14:06.301] } [13:14:06.301] } [13:14:06.301] })) [13:14:06.301] }, error = function(ex) { [13:14:06.301] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.301] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.301] ...future.rng), started = ...future.startTime, [13:14:06.301] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.301] version = "1.8"), class = "FutureResult") [13:14:06.301] }, finally = { [13:14:06.301] if (!identical(...future.workdir, getwd())) [13:14:06.301] setwd(...future.workdir) [13:14:06.301] { [13:14:06.301] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.301] ...future.oldOptions$nwarnings <- NULL [13:14:06.301] } [13:14:06.301] base::options(...future.oldOptions) [13:14:06.301] if (.Platform$OS.type == "windows") { [13:14:06.301] old_names <- names(...future.oldEnvVars) [13:14:06.301] envs <- base::Sys.getenv() [13:14:06.301] names <- names(envs) [13:14:06.301] common <- intersect(names, old_names) [13:14:06.301] added <- setdiff(names, old_names) [13:14:06.301] removed <- setdiff(old_names, names) [13:14:06.301] changed <- common[...future.oldEnvVars[common] != [13:14:06.301] envs[common]] [13:14:06.301] NAMES <- toupper(changed) [13:14:06.301] args <- list() [13:14:06.301] for (kk in seq_along(NAMES)) { [13:14:06.301] name <- changed[[kk]] [13:14:06.301] NAME <- NAMES[[kk]] [13:14:06.301] if (name != NAME && is.element(NAME, old_names)) [13:14:06.301] next [13:14:06.301] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.301] } [13:14:06.301] NAMES <- toupper(added) [13:14:06.301] for (kk in seq_along(NAMES)) { [13:14:06.301] name <- added[[kk]] [13:14:06.301] NAME <- NAMES[[kk]] [13:14:06.301] if (name != NAME && is.element(NAME, old_names)) [13:14:06.301] next [13:14:06.301] args[[name]] <- "" [13:14:06.301] } [13:14:06.301] NAMES <- toupper(removed) [13:14:06.301] for (kk in seq_along(NAMES)) { [13:14:06.301] name <- removed[[kk]] [13:14:06.301] NAME <- NAMES[[kk]] [13:14:06.301] if (name != NAME && is.element(NAME, old_names)) [13:14:06.301] next [13:14:06.301] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.301] } [13:14:06.301] if (length(args) > 0) [13:14:06.301] base::do.call(base::Sys.setenv, args = args) [13:14:06.301] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.301] } [13:14:06.301] else { [13:14:06.301] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.301] } [13:14:06.301] { [13:14:06.301] if (base::length(...future.futureOptionsAdded) > [13:14:06.301] 0L) { [13:14:06.301] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.301] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.301] base::options(opts) [13:14:06.301] } [13:14:06.301] { [13:14:06.301] { [13:14:06.301] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.301] NULL [13:14:06.301] } [13:14:06.301] options(future.plan = NULL) [13:14:06.301] if (is.na(NA_character_)) [13:14:06.301] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.301] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.301] future::plan(list(function (..., workers = availableCores(), [13:14:06.301] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.301] envir = parent.frame()) [13:14:06.301] { [13:14:06.301] if (is.function(workers)) [13:14:06.301] workers <- workers() [13:14:06.301] workers <- structure(as.integer(workers), [13:14:06.301] class = class(workers)) [13:14:06.301] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.301] workers >= 1) [13:14:06.301] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.301] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.301] } [13:14:06.301] future <- MultisessionFuture(..., workers = workers, [13:14:06.301] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.301] envir = envir) [13:14:06.301] if (!future$lazy) [13:14:06.301] future <- run(future) [13:14:06.301] invisible(future) [13:14:06.301] }), .cleanup = FALSE, .init = FALSE) [13:14:06.301] } [13:14:06.301] } [13:14:06.301] } [13:14:06.301] }) [13:14:06.301] if (TRUE) { [13:14:06.301] base::sink(type = "output", split = FALSE) [13:14:06.301] if (TRUE) { [13:14:06.301] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.301] } [13:14:06.301] else { [13:14:06.301] ...future.result["stdout"] <- base::list(NULL) [13:14:06.301] } [13:14:06.301] base::close(...future.stdout) [13:14:06.301] ...future.stdout <- NULL [13:14:06.301] } [13:14:06.301] ...future.result$conditions <- ...future.conditions [13:14:06.301] ...future.result$finished <- base::Sys.time() [13:14:06.301] ...future.result [13:14:06.301] } [13:14:06.306] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:06.306] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:06.307] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:06.307] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.308] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.308] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:06.308] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:06.308] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.309] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.309] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.309] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.310] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:06.310] MultisessionFuture started [13:14:06.310] - Launch lazy future ... done [13:14:06.311] run() for 'MultisessionFuture' ... done [13:14:06.311] Created future: [13:14:06.327] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.328] - Validating connection of MultisessionFuture [13:14:06.328] - received message: FutureResult [13:14:06.328] - Received FutureResult [13:14:06.328] - Erased future from FutureRegistry [13:14:06.328] result() for ClusterFuture ... [13:14:06.329] - result already collected: FutureResult [13:14:06.329] result() for ClusterFuture ... done [13:14:06.329] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.311] MultisessionFuture: [13:14:06.311] Label: 'future_sapply-1' [13:14:06.311] Expression: [13:14:06.311] { [13:14:06.311] do.call(function(...) { [13:14:06.311] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.311] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.311] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.311] on.exit(options(oopts), add = TRUE) [13:14:06.311] } [13:14:06.311] { [13:14:06.311] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.311] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.311] ...future.FUN(...future.X_jj, ...) [13:14:06.311] }) [13:14:06.311] } [13:14:06.311] }, args = future.call.arguments) [13:14:06.311] } [13:14:06.311] Lazy evaluation: FALSE [13:14:06.311] Asynchronous evaluation: TRUE [13:14:06.311] Local evaluation: TRUE [13:14:06.311] Environment: R_GlobalEnv [13:14:06.311] Capture standard output: TRUE [13:14:06.311] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.311] Globals: 5 objects totaling 1.27 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.311] Packages: [13:14:06.311] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.311] Resolved: TRUE [13:14:06.311] Value: [13:14:06.311] Conditions captured: [13:14:06.311] Early signaling: FALSE [13:14:06.311] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.311] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.329] Chunk #1 of 2 ... DONE [13:14:06.330] Chunk #2 of 2 ... [13:14:06.330] - Finding globals in 'X' for chunk #2 ... [13:14:06.330] getGlobalsAndPackages() ... [13:14:06.330] Searching for globals... [13:14:06.330] [13:14:06.331] Searching for globals ... DONE [13:14:06.331] - globals: [0] [13:14:06.331] getGlobalsAndPackages() ... DONE [13:14:06.331] + additional globals found: [n=0] [13:14:06.331] + additional namespaces needed: [n=0] [13:14:06.331] - Finding globals in 'X' for chunk #2 ... DONE [13:14:06.332] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.332] - seeds: [13:14:06.332] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.332] getGlobalsAndPackages() ... [13:14:06.332] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.332] Resolving globals: FALSE [13:14:06.333] Tweak future expression to call with '...' arguments ... [13:14:06.333] { [13:14:06.333] do.call(function(...) { [13:14:06.333] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.333] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.333] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.333] on.exit(options(oopts), add = TRUE) [13:14:06.333] } [13:14:06.333] { [13:14:06.333] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.333] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.333] ...future.FUN(...future.X_jj, ...) [13:14:06.333] }) [13:14:06.333] } [13:14:06.333] }, args = future.call.arguments) [13:14:06.333] } [13:14:06.333] Tweak future expression to call with '...' arguments ... DONE [13:14:06.334] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.334] [13:14:06.334] getGlobalsAndPackages() ... DONE [13:14:06.334] run() for 'Future' ... [13:14:06.335] - state: 'created' [13:14:06.335] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.349] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.349] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.349] - Field: 'node' [13:14:06.349] - Field: 'label' [13:14:06.350] - Field: 'local' [13:14:06.350] - Field: 'owner' [13:14:06.350] - Field: 'envir' [13:14:06.350] - Field: 'workers' [13:14:06.350] - Field: 'packages' [13:14:06.351] - Field: 'gc' [13:14:06.351] - Field: 'conditions' [13:14:06.351] - Field: 'persistent' [13:14:06.351] - Field: 'expr' [13:14:06.351] - Field: 'uuid' [13:14:06.351] - Field: 'seed' [13:14:06.352] - Field: 'version' [13:14:06.352] - Field: 'result' [13:14:06.352] - Field: 'asynchronous' [13:14:06.352] - Field: 'calls' [13:14:06.352] - Field: 'globals' [13:14:06.352] - Field: 'stdout' [13:14:06.353] - Field: 'earlySignal' [13:14:06.353] - Field: 'lazy' [13:14:06.353] - Field: 'state' [13:14:06.353] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.353] - Launch lazy future ... [13:14:06.354] Packages needed by the future expression (n = 0): [13:14:06.354] Packages needed by future strategies (n = 0): [13:14:06.354] { [13:14:06.354] { [13:14:06.354] { [13:14:06.354] ...future.startTime <- base::Sys.time() [13:14:06.354] { [13:14:06.354] { [13:14:06.354] { [13:14:06.354] { [13:14:06.354] base::local({ [13:14:06.354] has_future <- base::requireNamespace("future", [13:14:06.354] quietly = TRUE) [13:14:06.354] if (has_future) { [13:14:06.354] ns <- base::getNamespace("future") [13:14:06.354] version <- ns[[".package"]][["version"]] [13:14:06.354] if (is.null(version)) [13:14:06.354] version <- utils::packageVersion("future") [13:14:06.354] } [13:14:06.354] else { [13:14:06.354] version <- NULL [13:14:06.354] } [13:14:06.354] if (!has_future || version < "1.8.0") { [13:14:06.354] info <- base::c(r_version = base::gsub("R version ", [13:14:06.354] "", base::R.version$version.string), [13:14:06.354] platform = base::sprintf("%s (%s-bit)", [13:14:06.354] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.354] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.354] "release", "version")], collapse = " "), [13:14:06.354] hostname = base::Sys.info()[["nodename"]]) [13:14:06.354] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.354] info) [13:14:06.354] info <- base::paste(info, collapse = "; ") [13:14:06.354] if (!has_future) { [13:14:06.354] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.354] info) [13:14:06.354] } [13:14:06.354] else { [13:14:06.354] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.354] info, version) [13:14:06.354] } [13:14:06.354] base::stop(msg) [13:14:06.354] } [13:14:06.354] }) [13:14:06.354] } [13:14:06.354] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.354] base::options(mc.cores = 1L) [13:14:06.354] } [13:14:06.354] options(future.plan = NULL) [13:14:06.354] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.354] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.354] } [13:14:06.354] ...future.workdir <- getwd() [13:14:06.354] } [13:14:06.354] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.354] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.354] } [13:14:06.354] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.354] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.354] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.354] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.354] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.354] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.354] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.354] base::names(...future.oldOptions)) [13:14:06.354] } [13:14:06.354] if (FALSE) { [13:14:06.354] } [13:14:06.354] else { [13:14:06.354] if (TRUE) { [13:14:06.354] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.354] open = "w") [13:14:06.354] } [13:14:06.354] else { [13:14:06.354] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.354] windows = "NUL", "/dev/null"), open = "w") [13:14:06.354] } [13:14:06.354] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.354] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.354] base::sink(type = "output", split = FALSE) [13:14:06.354] base::close(...future.stdout) [13:14:06.354] }, add = TRUE) [13:14:06.354] } [13:14:06.354] ...future.frame <- base::sys.nframe() [13:14:06.354] ...future.conditions <- base::list() [13:14:06.354] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.354] if (FALSE) { [13:14:06.354] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.354] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.354] } [13:14:06.354] ...future.result <- base::tryCatch({ [13:14:06.354] base::withCallingHandlers({ [13:14:06.354] ...future.value <- base::withVisible(base::local({ [13:14:06.354] ...future.makeSendCondition <- local({ [13:14:06.354] sendCondition <- NULL [13:14:06.354] function(frame = 1L) { [13:14:06.354] if (is.function(sendCondition)) [13:14:06.354] return(sendCondition) [13:14:06.354] ns <- getNamespace("parallel") [13:14:06.354] if (exists("sendData", mode = "function", [13:14:06.354] envir = ns)) { [13:14:06.354] parallel_sendData <- get("sendData", mode = "function", [13:14:06.354] envir = ns) [13:14:06.354] envir <- sys.frame(frame) [13:14:06.354] master <- NULL [13:14:06.354] while (!identical(envir, .GlobalEnv) && [13:14:06.354] !identical(envir, emptyenv())) { [13:14:06.354] if (exists("master", mode = "list", envir = envir, [13:14:06.354] inherits = FALSE)) { [13:14:06.354] master <- get("master", mode = "list", [13:14:06.354] envir = envir, inherits = FALSE) [13:14:06.354] if (inherits(master, c("SOCKnode", [13:14:06.354] "SOCK0node"))) { [13:14:06.354] sendCondition <<- function(cond) { [13:14:06.354] data <- list(type = "VALUE", value = cond, [13:14:06.354] success = TRUE) [13:14:06.354] parallel_sendData(master, data) [13:14:06.354] } [13:14:06.354] return(sendCondition) [13:14:06.354] } [13:14:06.354] } [13:14:06.354] frame <- frame + 1L [13:14:06.354] envir <- sys.frame(frame) [13:14:06.354] } [13:14:06.354] } [13:14:06.354] sendCondition <<- function(cond) NULL [13:14:06.354] } [13:14:06.354] }) [13:14:06.354] withCallingHandlers({ [13:14:06.354] { [13:14:06.354] do.call(function(...) { [13:14:06.354] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.354] if (!identical(...future.globals.maxSize.org, [13:14:06.354] ...future.globals.maxSize)) { [13:14:06.354] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.354] on.exit(options(oopts), add = TRUE) [13:14:06.354] } [13:14:06.354] { [13:14:06.354] lapply(seq_along(...future.elements_ii), [13:14:06.354] FUN = function(jj) { [13:14:06.354] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.354] ...future.FUN(...future.X_jj, ...) [13:14:06.354] }) [13:14:06.354] } [13:14:06.354] }, args = future.call.arguments) [13:14:06.354] } [13:14:06.354] }, immediateCondition = function(cond) { [13:14:06.354] sendCondition <- ...future.makeSendCondition() [13:14:06.354] sendCondition(cond) [13:14:06.354] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.354] { [13:14:06.354] inherits <- base::inherits [13:14:06.354] invokeRestart <- base::invokeRestart [13:14:06.354] is.null <- base::is.null [13:14:06.354] muffled <- FALSE [13:14:06.354] if (inherits(cond, "message")) { [13:14:06.354] muffled <- grepl(pattern, "muffleMessage") [13:14:06.354] if (muffled) [13:14:06.354] invokeRestart("muffleMessage") [13:14:06.354] } [13:14:06.354] else if (inherits(cond, "warning")) { [13:14:06.354] muffled <- grepl(pattern, "muffleWarning") [13:14:06.354] if (muffled) [13:14:06.354] invokeRestart("muffleWarning") [13:14:06.354] } [13:14:06.354] else if (inherits(cond, "condition")) { [13:14:06.354] if (!is.null(pattern)) { [13:14:06.354] computeRestarts <- base::computeRestarts [13:14:06.354] grepl <- base::grepl [13:14:06.354] restarts <- computeRestarts(cond) [13:14:06.354] for (restart in restarts) { [13:14:06.354] name <- restart$name [13:14:06.354] if (is.null(name)) [13:14:06.354] next [13:14:06.354] if (!grepl(pattern, name)) [13:14:06.354] next [13:14:06.354] invokeRestart(restart) [13:14:06.354] muffled <- TRUE [13:14:06.354] break [13:14:06.354] } [13:14:06.354] } [13:14:06.354] } [13:14:06.354] invisible(muffled) [13:14:06.354] } [13:14:06.354] muffleCondition(cond) [13:14:06.354] }) [13:14:06.354] })) [13:14:06.354] future::FutureResult(value = ...future.value$value, [13:14:06.354] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.354] ...future.rng), globalenv = if (FALSE) [13:14:06.354] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.354] ...future.globalenv.names)) [13:14:06.354] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.354] }, condition = base::local({ [13:14:06.354] c <- base::c [13:14:06.354] inherits <- base::inherits [13:14:06.354] invokeRestart <- base::invokeRestart [13:14:06.354] length <- base::length [13:14:06.354] list <- base::list [13:14:06.354] seq.int <- base::seq.int [13:14:06.354] signalCondition <- base::signalCondition [13:14:06.354] sys.calls <- base::sys.calls [13:14:06.354] `[[` <- base::`[[` [13:14:06.354] `+` <- base::`+` [13:14:06.354] `<<-` <- base::`<<-` [13:14:06.354] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.354] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.354] 3L)] [13:14:06.354] } [13:14:06.354] function(cond) { [13:14:06.354] is_error <- inherits(cond, "error") [13:14:06.354] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.354] NULL) [13:14:06.354] if (is_error) { [13:14:06.354] sessionInformation <- function() { [13:14:06.354] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.354] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.354] search = base::search(), system = base::Sys.info()) [13:14:06.354] } [13:14:06.354] ...future.conditions[[length(...future.conditions) + [13:14:06.354] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.354] cond$call), session = sessionInformation(), [13:14:06.354] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.354] signalCondition(cond) [13:14:06.354] } [13:14:06.354] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.354] "immediateCondition"))) { [13:14:06.354] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.354] ...future.conditions[[length(...future.conditions) + [13:14:06.354] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.354] if (TRUE && !signal) { [13:14:06.354] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.354] { [13:14:06.354] inherits <- base::inherits [13:14:06.354] invokeRestart <- base::invokeRestart [13:14:06.354] is.null <- base::is.null [13:14:06.354] muffled <- FALSE [13:14:06.354] if (inherits(cond, "message")) { [13:14:06.354] muffled <- grepl(pattern, "muffleMessage") [13:14:06.354] if (muffled) [13:14:06.354] invokeRestart("muffleMessage") [13:14:06.354] } [13:14:06.354] else if (inherits(cond, "warning")) { [13:14:06.354] muffled <- grepl(pattern, "muffleWarning") [13:14:06.354] if (muffled) [13:14:06.354] invokeRestart("muffleWarning") [13:14:06.354] } [13:14:06.354] else if (inherits(cond, "condition")) { [13:14:06.354] if (!is.null(pattern)) { [13:14:06.354] computeRestarts <- base::computeRestarts [13:14:06.354] grepl <- base::grepl [13:14:06.354] restarts <- computeRestarts(cond) [13:14:06.354] for (restart in restarts) { [13:14:06.354] name <- restart$name [13:14:06.354] if (is.null(name)) [13:14:06.354] next [13:14:06.354] if (!grepl(pattern, name)) [13:14:06.354] next [13:14:06.354] invokeRestart(restart) [13:14:06.354] muffled <- TRUE [13:14:06.354] break [13:14:06.354] } [13:14:06.354] } [13:14:06.354] } [13:14:06.354] invisible(muffled) [13:14:06.354] } [13:14:06.354] muffleCondition(cond, pattern = "^muffle") [13:14:06.354] } [13:14:06.354] } [13:14:06.354] else { [13:14:06.354] if (TRUE) { [13:14:06.354] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.354] { [13:14:06.354] inherits <- base::inherits [13:14:06.354] invokeRestart <- base::invokeRestart [13:14:06.354] is.null <- base::is.null [13:14:06.354] muffled <- FALSE [13:14:06.354] if (inherits(cond, "message")) { [13:14:06.354] muffled <- grepl(pattern, "muffleMessage") [13:14:06.354] if (muffled) [13:14:06.354] invokeRestart("muffleMessage") [13:14:06.354] } [13:14:06.354] else if (inherits(cond, "warning")) { [13:14:06.354] muffled <- grepl(pattern, "muffleWarning") [13:14:06.354] if (muffled) [13:14:06.354] invokeRestart("muffleWarning") [13:14:06.354] } [13:14:06.354] else if (inherits(cond, "condition")) { [13:14:06.354] if (!is.null(pattern)) { [13:14:06.354] computeRestarts <- base::computeRestarts [13:14:06.354] grepl <- base::grepl [13:14:06.354] restarts <- computeRestarts(cond) [13:14:06.354] for (restart in restarts) { [13:14:06.354] name <- restart$name [13:14:06.354] if (is.null(name)) [13:14:06.354] next [13:14:06.354] if (!grepl(pattern, name)) [13:14:06.354] next [13:14:06.354] invokeRestart(restart) [13:14:06.354] muffled <- TRUE [13:14:06.354] break [13:14:06.354] } [13:14:06.354] } [13:14:06.354] } [13:14:06.354] invisible(muffled) [13:14:06.354] } [13:14:06.354] muffleCondition(cond, pattern = "^muffle") [13:14:06.354] } [13:14:06.354] } [13:14:06.354] } [13:14:06.354] })) [13:14:06.354] }, error = function(ex) { [13:14:06.354] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.354] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.354] ...future.rng), started = ...future.startTime, [13:14:06.354] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.354] version = "1.8"), class = "FutureResult") [13:14:06.354] }, finally = { [13:14:06.354] if (!identical(...future.workdir, getwd())) [13:14:06.354] setwd(...future.workdir) [13:14:06.354] { [13:14:06.354] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.354] ...future.oldOptions$nwarnings <- NULL [13:14:06.354] } [13:14:06.354] base::options(...future.oldOptions) [13:14:06.354] if (.Platform$OS.type == "windows") { [13:14:06.354] old_names <- names(...future.oldEnvVars) [13:14:06.354] envs <- base::Sys.getenv() [13:14:06.354] names <- names(envs) [13:14:06.354] common <- intersect(names, old_names) [13:14:06.354] added <- setdiff(names, old_names) [13:14:06.354] removed <- setdiff(old_names, names) [13:14:06.354] changed <- common[...future.oldEnvVars[common] != [13:14:06.354] envs[common]] [13:14:06.354] NAMES <- toupper(changed) [13:14:06.354] args <- list() [13:14:06.354] for (kk in seq_along(NAMES)) { [13:14:06.354] name <- changed[[kk]] [13:14:06.354] NAME <- NAMES[[kk]] [13:14:06.354] if (name != NAME && is.element(NAME, old_names)) [13:14:06.354] next [13:14:06.354] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.354] } [13:14:06.354] NAMES <- toupper(added) [13:14:06.354] for (kk in seq_along(NAMES)) { [13:14:06.354] name <- added[[kk]] [13:14:06.354] NAME <- NAMES[[kk]] [13:14:06.354] if (name != NAME && is.element(NAME, old_names)) [13:14:06.354] next [13:14:06.354] args[[name]] <- "" [13:14:06.354] } [13:14:06.354] NAMES <- toupper(removed) [13:14:06.354] for (kk in seq_along(NAMES)) { [13:14:06.354] name <- removed[[kk]] [13:14:06.354] NAME <- NAMES[[kk]] [13:14:06.354] if (name != NAME && is.element(NAME, old_names)) [13:14:06.354] next [13:14:06.354] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.354] } [13:14:06.354] if (length(args) > 0) [13:14:06.354] base::do.call(base::Sys.setenv, args = args) [13:14:06.354] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.354] } [13:14:06.354] else { [13:14:06.354] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.354] } [13:14:06.354] { [13:14:06.354] if (base::length(...future.futureOptionsAdded) > [13:14:06.354] 0L) { [13:14:06.354] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.354] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.354] base::options(opts) [13:14:06.354] } [13:14:06.354] { [13:14:06.354] { [13:14:06.354] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.354] NULL [13:14:06.354] } [13:14:06.354] options(future.plan = NULL) [13:14:06.354] if (is.na(NA_character_)) [13:14:06.354] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.354] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.354] future::plan(list(function (..., workers = availableCores(), [13:14:06.354] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.354] envir = parent.frame()) [13:14:06.354] { [13:14:06.354] if (is.function(workers)) [13:14:06.354] workers <- workers() [13:14:06.354] workers <- structure(as.integer(workers), [13:14:06.354] class = class(workers)) [13:14:06.354] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.354] workers >= 1) [13:14:06.354] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.354] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.354] } [13:14:06.354] future <- MultisessionFuture(..., workers = workers, [13:14:06.354] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.354] envir = envir) [13:14:06.354] if (!future$lazy) [13:14:06.354] future <- run(future) [13:14:06.354] invisible(future) [13:14:06.354] }), .cleanup = FALSE, .init = FALSE) [13:14:06.354] } [13:14:06.354] } [13:14:06.354] } [13:14:06.354] }) [13:14:06.354] if (TRUE) { [13:14:06.354] base::sink(type = "output", split = FALSE) [13:14:06.354] if (TRUE) { [13:14:06.354] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.354] } [13:14:06.354] else { [13:14:06.354] ...future.result["stdout"] <- base::list(NULL) [13:14:06.354] } [13:14:06.354] base::close(...future.stdout) [13:14:06.354] ...future.stdout <- NULL [13:14:06.354] } [13:14:06.354] ...future.result$conditions <- ...future.conditions [13:14:06.354] ...future.result$finished <- base::Sys.time() [13:14:06.354] ...future.result [13:14:06.354] } [13:14:06.360] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:06.360] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:06.361] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:06.361] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.361] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.362] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:06.362] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:06.362] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.363] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.363] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.364] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.364] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:06.364] MultisessionFuture started [13:14:06.365] - Launch lazy future ... done [13:14:06.365] run() for 'MultisessionFuture' ... done [13:14:06.365] Created future: [13:14:06.380] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.380] - Validating connection of MultisessionFuture [13:14:06.380] - received message: FutureResult [13:14:06.381] - Received FutureResult [13:14:06.381] - Erased future from FutureRegistry [13:14:06.381] result() for ClusterFuture ... [13:14:06.381] - result already collected: FutureResult [13:14:06.381] result() for ClusterFuture ... done [13:14:06.382] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.365] MultisessionFuture: [13:14:06.365] Label: 'future_sapply-2' [13:14:06.365] Expression: [13:14:06.365] { [13:14:06.365] do.call(function(...) { [13:14:06.365] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.365] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.365] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.365] on.exit(options(oopts), add = TRUE) [13:14:06.365] } [13:14:06.365] { [13:14:06.365] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.365] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.365] ...future.FUN(...future.X_jj, ...) [13:14:06.365] }) [13:14:06.365] } [13:14:06.365] }, args = future.call.arguments) [13:14:06.365] } [13:14:06.365] Lazy evaluation: FALSE [13:14:06.365] Asynchronous evaluation: TRUE [13:14:06.365] Local evaluation: TRUE [13:14:06.365] Environment: R_GlobalEnv [13:14:06.365] Capture standard output: TRUE [13:14:06.365] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.365] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.365] Packages: [13:14:06.365] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.365] Resolved: TRUE [13:14:06.365] Value: [13:14:06.365] Conditions captured: [13:14:06.365] Early signaling: FALSE [13:14:06.365] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.365] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.382] Chunk #2 of 2 ... DONE [13:14:06.382] Launching 2 futures (chunks) ... DONE [13:14:06.382] Resolving 2 futures (chunks) ... [13:14:06.382] resolve() on list ... [13:14:06.383] recursive: 0 [13:14:06.383] length: 2 [13:14:06.383] [13:14:06.383] Future #1 [13:14:06.383] result() for ClusterFuture ... [13:14:06.383] - result already collected: FutureResult [13:14:06.384] result() for ClusterFuture ... done [13:14:06.384] result() for ClusterFuture ... [13:14:06.384] - result already collected: FutureResult [13:14:06.384] result() for ClusterFuture ... done [13:14:06.384] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:06.384] - nx: 2 [13:14:06.385] - relay: TRUE [13:14:06.385] - stdout: TRUE [13:14:06.385] - signal: TRUE [13:14:06.385] - resignal: FALSE [13:14:06.385] - force: TRUE [13:14:06.385] - relayed: [n=2] FALSE, FALSE [13:14:06.385] - queued futures: [n=2] FALSE, FALSE [13:14:06.386] - until=1 [13:14:06.386] - relaying element #1 [13:14:06.386] result() for ClusterFuture ... [13:14:06.386] - result already collected: FutureResult [13:14:06.386] result() for ClusterFuture ... done [13:14:06.386] result() for ClusterFuture ... [13:14:06.387] - result already collected: FutureResult [13:14:06.387] result() for ClusterFuture ... done [13:14:06.387] result() for ClusterFuture ... [13:14:06.387] - result already collected: FutureResult [13:14:06.387] result() for ClusterFuture ... done [13:14:06.387] result() for ClusterFuture ... [13:14:06.388] - result already collected: FutureResult [13:14:06.388] result() for ClusterFuture ... done [13:14:06.388] - relayed: [n=2] TRUE, FALSE [13:14:06.388] - queued futures: [n=2] TRUE, FALSE [13:14:06.388] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:06.388] length: 1 (resolved future 1) [13:14:06.389] Future #2 [13:14:06.389] result() for ClusterFuture ... [13:14:06.389] - result already collected: FutureResult [13:14:06.389] result() for ClusterFuture ... done [13:14:06.389] result() for ClusterFuture ... [13:14:06.389] - result already collected: FutureResult [13:14:06.389] result() for ClusterFuture ... done [13:14:06.390] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:06.390] - nx: 2 [13:14:06.390] - relay: TRUE [13:14:06.390] - stdout: TRUE [13:14:06.390] - signal: TRUE [13:14:06.390] - resignal: FALSE [13:14:06.391] - force: TRUE [13:14:06.391] - relayed: [n=2] TRUE, FALSE [13:14:06.393] - queued futures: [n=2] TRUE, FALSE [13:14:06.394] - until=2 [13:14:06.394] - relaying element #2 [13:14:06.394] result() for ClusterFuture ... [13:14:06.394] - result already collected: FutureResult [13:14:06.394] result() for ClusterFuture ... done [13:14:06.394] result() for ClusterFuture ... [13:14:06.395] - result already collected: FutureResult [13:14:06.395] result() for ClusterFuture ... done [13:14:06.395] result() for ClusterFuture ... [13:14:06.395] - result already collected: FutureResult [13:14:06.395] result() for ClusterFuture ... done [13:14:06.395] result() for ClusterFuture ... [13:14:06.396] - result already collected: FutureResult [13:14:06.396] result() for ClusterFuture ... done [13:14:06.396] - relayed: [n=2] TRUE, TRUE [13:14:06.396] - queued futures: [n=2] TRUE, TRUE [13:14:06.396] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:06.396] length: 0 (resolved future 2) [13:14:06.397] Relaying remaining futures [13:14:06.397] signalConditionsASAP(NULL, pos=0) ... [13:14:06.397] - nx: 2 [13:14:06.397] - relay: TRUE [13:14:06.397] - stdout: TRUE [13:14:06.397] - signal: TRUE [13:14:06.397] - resignal: FALSE [13:14:06.398] - force: TRUE [13:14:06.398] - relayed: [n=2] TRUE, TRUE [13:14:06.398] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:06.398] - relayed: [n=2] TRUE, TRUE [13:14:06.398] - queued futures: [n=2] TRUE, TRUE [13:14:06.398] signalConditionsASAP(NULL, pos=0) ... done [13:14:06.399] resolve() on list ... DONE [13:14:06.399] result() for ClusterFuture ... [13:14:06.399] - result already collected: FutureResult [13:14:06.399] result() for ClusterFuture ... done [13:14:06.399] result() for ClusterFuture ... [13:14:06.399] - result already collected: FutureResult [13:14:06.400] result() for ClusterFuture ... done [13:14:06.400] result() for ClusterFuture ... [13:14:06.400] - result already collected: FutureResult [13:14:06.400] result() for ClusterFuture ... done [13:14:06.400] result() for ClusterFuture ... [13:14:06.400] - result already collected: FutureResult [13:14:06.400] result() for ClusterFuture ... done [13:14:06.401] - Number of value chunks collected: 2 [13:14:06.401] Resolving 2 futures (chunks) ... DONE [13:14:06.401] Reducing values from 2 chunks ... [13:14:06.401] - Number of values collected after concatenation: 3 [13:14:06.401] - Number of values expected: 3 [13:14:06.401] Reducing values from 2 chunks ... DONE [13:14:06.402] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:06.404] future_lapply() ... [13:14:06.407] Number of chunks: 2 [13:14:06.407] getGlobalsAndPackagesXApply() ... [13:14:06.407] - future.globals: TRUE [13:14:06.408] getGlobalsAndPackages() ... [13:14:06.408] Searching for globals... [13:14:06.410] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:06.410] Searching for globals ... DONE [13:14:06.410] Resolving globals: FALSE [13:14:06.411] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:06.411] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:06.411] - globals: [1] 'FUN' [13:14:06.411] [13:14:06.412] getGlobalsAndPackages() ... DONE [13:14:06.412] - globals found/used: [n=1] 'FUN' [13:14:06.412] - needed namespaces: [n=0] [13:14:06.412] Finding globals ... DONE [13:14:06.412] - use_args: TRUE [13:14:06.412] - Getting '...' globals ... [13:14:06.413] resolve() on list ... [13:14:06.413] recursive: 0 [13:14:06.413] length: 1 [13:14:06.413] elements: '...' [13:14:06.413] length: 0 (resolved future 1) [13:14:06.414] resolve() on list ... DONE [13:14:06.414] - '...' content: [n=0] [13:14:06.414] List of 1 [13:14:06.414] $ ...: list() [13:14:06.414] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.414] - attr(*, "where")=List of 1 [13:14:06.414] ..$ ...: [13:14:06.414] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.414] - attr(*, "resolved")= logi TRUE [13:14:06.414] - attr(*, "total_size")= num NA [13:14:06.417] - Getting '...' globals ... DONE [13:14:06.417] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:06.417] List of 2 [13:14:06.417] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:06.417] $ ... : list() [13:14:06.417] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.417] - attr(*, "where")=List of 2 [13:14:06.417] ..$ ...future.FUN: [13:14:06.417] ..$ ... : [13:14:06.417] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.417] - attr(*, "resolved")= logi FALSE [13:14:06.417] - attr(*, "total_size")= num 4728 [13:14:06.421] Packages to be attached in all futures: [n=0] [13:14:06.421] getGlobalsAndPackagesXApply() ... DONE [13:14:06.421] Number of futures (= number of chunks): 2 [13:14:06.421] Launching 2 futures (chunks) ... [13:14:06.421] Chunk #1 of 2 ... [13:14:06.422] - Finding globals in 'X' for chunk #1 ... [13:14:06.422] getGlobalsAndPackages() ... [13:14:06.422] Searching for globals... [13:14:06.422] [13:14:06.422] Searching for globals ... DONE [13:14:06.423] - globals: [0] [13:14:06.423] getGlobalsAndPackages() ... DONE [13:14:06.423] + additional globals found: [n=0] [13:14:06.423] + additional namespaces needed: [n=0] [13:14:06.423] - Finding globals in 'X' for chunk #1 ... DONE [13:14:06.423] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.424] - seeds: [13:14:06.424] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.424] getGlobalsAndPackages() ... [13:14:06.424] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.424] Resolving globals: FALSE [13:14:06.424] Tweak future expression to call with '...' arguments ... [13:14:06.425] { [13:14:06.425] do.call(function(...) { [13:14:06.425] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.425] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.425] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.425] on.exit(options(oopts), add = TRUE) [13:14:06.425] } [13:14:06.425] { [13:14:06.425] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.425] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.425] ...future.FUN(...future.X_jj, ...) [13:14:06.425] }) [13:14:06.425] } [13:14:06.425] }, args = future.call.arguments) [13:14:06.425] } [13:14:06.425] Tweak future expression to call with '...' arguments ... DONE [13:14:06.426] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.426] [13:14:06.426] getGlobalsAndPackages() ... DONE [13:14:06.426] run() for 'Future' ... [13:14:06.426] - state: 'created' [13:14:06.427] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.441] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.441] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.442] - Field: 'node' [13:14:06.442] - Field: 'label' [13:14:06.442] - Field: 'local' [13:14:06.442] - Field: 'owner' [13:14:06.442] - Field: 'envir' [13:14:06.443] - Field: 'workers' [13:14:06.443] - Field: 'packages' [13:14:06.443] - Field: 'gc' [13:14:06.443] - Field: 'conditions' [13:14:06.443] - Field: 'persistent' [13:14:06.443] - Field: 'expr' [13:14:06.444] - Field: 'uuid' [13:14:06.444] - Field: 'seed' [13:14:06.444] - Field: 'version' [13:14:06.444] - Field: 'result' [13:14:06.444] - Field: 'asynchronous' [13:14:06.445] - Field: 'calls' [13:14:06.445] - Field: 'globals' [13:14:06.445] - Field: 'stdout' [13:14:06.445] - Field: 'earlySignal' [13:14:06.445] - Field: 'lazy' [13:14:06.445] - Field: 'state' [13:14:06.446] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.446] - Launch lazy future ... [13:14:06.446] Packages needed by the future expression (n = 0): [13:14:06.446] Packages needed by future strategies (n = 0): [13:14:06.447] { [13:14:06.447] { [13:14:06.447] { [13:14:06.447] ...future.startTime <- base::Sys.time() [13:14:06.447] { [13:14:06.447] { [13:14:06.447] { [13:14:06.447] { [13:14:06.447] base::local({ [13:14:06.447] has_future <- base::requireNamespace("future", [13:14:06.447] quietly = TRUE) [13:14:06.447] if (has_future) { [13:14:06.447] ns <- base::getNamespace("future") [13:14:06.447] version <- ns[[".package"]][["version"]] [13:14:06.447] if (is.null(version)) [13:14:06.447] version <- utils::packageVersion("future") [13:14:06.447] } [13:14:06.447] else { [13:14:06.447] version <- NULL [13:14:06.447] } [13:14:06.447] if (!has_future || version < "1.8.0") { [13:14:06.447] info <- base::c(r_version = base::gsub("R version ", [13:14:06.447] "", base::R.version$version.string), [13:14:06.447] platform = base::sprintf("%s (%s-bit)", [13:14:06.447] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.447] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.447] "release", "version")], collapse = " "), [13:14:06.447] hostname = base::Sys.info()[["nodename"]]) [13:14:06.447] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.447] info) [13:14:06.447] info <- base::paste(info, collapse = "; ") [13:14:06.447] if (!has_future) { [13:14:06.447] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.447] info) [13:14:06.447] } [13:14:06.447] else { [13:14:06.447] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.447] info, version) [13:14:06.447] } [13:14:06.447] base::stop(msg) [13:14:06.447] } [13:14:06.447] }) [13:14:06.447] } [13:14:06.447] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.447] base::options(mc.cores = 1L) [13:14:06.447] } [13:14:06.447] options(future.plan = NULL) [13:14:06.447] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.447] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.447] } [13:14:06.447] ...future.workdir <- getwd() [13:14:06.447] } [13:14:06.447] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.447] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.447] } [13:14:06.447] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.447] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.447] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.447] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.447] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.447] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.447] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.447] base::names(...future.oldOptions)) [13:14:06.447] } [13:14:06.447] if (FALSE) { [13:14:06.447] } [13:14:06.447] else { [13:14:06.447] if (TRUE) { [13:14:06.447] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.447] open = "w") [13:14:06.447] } [13:14:06.447] else { [13:14:06.447] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.447] windows = "NUL", "/dev/null"), open = "w") [13:14:06.447] } [13:14:06.447] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.447] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.447] base::sink(type = "output", split = FALSE) [13:14:06.447] base::close(...future.stdout) [13:14:06.447] }, add = TRUE) [13:14:06.447] } [13:14:06.447] ...future.frame <- base::sys.nframe() [13:14:06.447] ...future.conditions <- base::list() [13:14:06.447] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.447] if (FALSE) { [13:14:06.447] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.447] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.447] } [13:14:06.447] ...future.result <- base::tryCatch({ [13:14:06.447] base::withCallingHandlers({ [13:14:06.447] ...future.value <- base::withVisible(base::local({ [13:14:06.447] ...future.makeSendCondition <- local({ [13:14:06.447] sendCondition <- NULL [13:14:06.447] function(frame = 1L) { [13:14:06.447] if (is.function(sendCondition)) [13:14:06.447] return(sendCondition) [13:14:06.447] ns <- getNamespace("parallel") [13:14:06.447] if (exists("sendData", mode = "function", [13:14:06.447] envir = ns)) { [13:14:06.447] parallel_sendData <- get("sendData", mode = "function", [13:14:06.447] envir = ns) [13:14:06.447] envir <- sys.frame(frame) [13:14:06.447] master <- NULL [13:14:06.447] while (!identical(envir, .GlobalEnv) && [13:14:06.447] !identical(envir, emptyenv())) { [13:14:06.447] if (exists("master", mode = "list", envir = envir, [13:14:06.447] inherits = FALSE)) { [13:14:06.447] master <- get("master", mode = "list", [13:14:06.447] envir = envir, inherits = FALSE) [13:14:06.447] if (inherits(master, c("SOCKnode", [13:14:06.447] "SOCK0node"))) { [13:14:06.447] sendCondition <<- function(cond) { [13:14:06.447] data <- list(type = "VALUE", value = cond, [13:14:06.447] success = TRUE) [13:14:06.447] parallel_sendData(master, data) [13:14:06.447] } [13:14:06.447] return(sendCondition) [13:14:06.447] } [13:14:06.447] } [13:14:06.447] frame <- frame + 1L [13:14:06.447] envir <- sys.frame(frame) [13:14:06.447] } [13:14:06.447] } [13:14:06.447] sendCondition <<- function(cond) NULL [13:14:06.447] } [13:14:06.447] }) [13:14:06.447] withCallingHandlers({ [13:14:06.447] { [13:14:06.447] do.call(function(...) { [13:14:06.447] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.447] if (!identical(...future.globals.maxSize.org, [13:14:06.447] ...future.globals.maxSize)) { [13:14:06.447] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.447] on.exit(options(oopts), add = TRUE) [13:14:06.447] } [13:14:06.447] { [13:14:06.447] lapply(seq_along(...future.elements_ii), [13:14:06.447] FUN = function(jj) { [13:14:06.447] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.447] ...future.FUN(...future.X_jj, ...) [13:14:06.447] }) [13:14:06.447] } [13:14:06.447] }, args = future.call.arguments) [13:14:06.447] } [13:14:06.447] }, immediateCondition = function(cond) { [13:14:06.447] sendCondition <- ...future.makeSendCondition() [13:14:06.447] sendCondition(cond) [13:14:06.447] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.447] { [13:14:06.447] inherits <- base::inherits [13:14:06.447] invokeRestart <- base::invokeRestart [13:14:06.447] is.null <- base::is.null [13:14:06.447] muffled <- FALSE [13:14:06.447] if (inherits(cond, "message")) { [13:14:06.447] muffled <- grepl(pattern, "muffleMessage") [13:14:06.447] if (muffled) [13:14:06.447] invokeRestart("muffleMessage") [13:14:06.447] } [13:14:06.447] else if (inherits(cond, "warning")) { [13:14:06.447] muffled <- grepl(pattern, "muffleWarning") [13:14:06.447] if (muffled) [13:14:06.447] invokeRestart("muffleWarning") [13:14:06.447] } [13:14:06.447] else if (inherits(cond, "condition")) { [13:14:06.447] if (!is.null(pattern)) { [13:14:06.447] computeRestarts <- base::computeRestarts [13:14:06.447] grepl <- base::grepl [13:14:06.447] restarts <- computeRestarts(cond) [13:14:06.447] for (restart in restarts) { [13:14:06.447] name <- restart$name [13:14:06.447] if (is.null(name)) [13:14:06.447] next [13:14:06.447] if (!grepl(pattern, name)) [13:14:06.447] next [13:14:06.447] invokeRestart(restart) [13:14:06.447] muffled <- TRUE [13:14:06.447] break [13:14:06.447] } [13:14:06.447] } [13:14:06.447] } [13:14:06.447] invisible(muffled) [13:14:06.447] } [13:14:06.447] muffleCondition(cond) [13:14:06.447] }) [13:14:06.447] })) [13:14:06.447] future::FutureResult(value = ...future.value$value, [13:14:06.447] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.447] ...future.rng), globalenv = if (FALSE) [13:14:06.447] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.447] ...future.globalenv.names)) [13:14:06.447] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.447] }, condition = base::local({ [13:14:06.447] c <- base::c [13:14:06.447] inherits <- base::inherits [13:14:06.447] invokeRestart <- base::invokeRestart [13:14:06.447] length <- base::length [13:14:06.447] list <- base::list [13:14:06.447] seq.int <- base::seq.int [13:14:06.447] signalCondition <- base::signalCondition [13:14:06.447] sys.calls <- base::sys.calls [13:14:06.447] `[[` <- base::`[[` [13:14:06.447] `+` <- base::`+` [13:14:06.447] `<<-` <- base::`<<-` [13:14:06.447] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.447] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.447] 3L)] [13:14:06.447] } [13:14:06.447] function(cond) { [13:14:06.447] is_error <- inherits(cond, "error") [13:14:06.447] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.447] NULL) [13:14:06.447] if (is_error) { [13:14:06.447] sessionInformation <- function() { [13:14:06.447] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.447] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.447] search = base::search(), system = base::Sys.info()) [13:14:06.447] } [13:14:06.447] ...future.conditions[[length(...future.conditions) + [13:14:06.447] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.447] cond$call), session = sessionInformation(), [13:14:06.447] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.447] signalCondition(cond) [13:14:06.447] } [13:14:06.447] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.447] "immediateCondition"))) { [13:14:06.447] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.447] ...future.conditions[[length(...future.conditions) + [13:14:06.447] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.447] if (TRUE && !signal) { [13:14:06.447] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.447] { [13:14:06.447] inherits <- base::inherits [13:14:06.447] invokeRestart <- base::invokeRestart [13:14:06.447] is.null <- base::is.null [13:14:06.447] muffled <- FALSE [13:14:06.447] if (inherits(cond, "message")) { [13:14:06.447] muffled <- grepl(pattern, "muffleMessage") [13:14:06.447] if (muffled) [13:14:06.447] invokeRestart("muffleMessage") [13:14:06.447] } [13:14:06.447] else if (inherits(cond, "warning")) { [13:14:06.447] muffled <- grepl(pattern, "muffleWarning") [13:14:06.447] if (muffled) [13:14:06.447] invokeRestart("muffleWarning") [13:14:06.447] } [13:14:06.447] else if (inherits(cond, "condition")) { [13:14:06.447] if (!is.null(pattern)) { [13:14:06.447] computeRestarts <- base::computeRestarts [13:14:06.447] grepl <- base::grepl [13:14:06.447] restarts <- computeRestarts(cond) [13:14:06.447] for (restart in restarts) { [13:14:06.447] name <- restart$name [13:14:06.447] if (is.null(name)) [13:14:06.447] next [13:14:06.447] if (!grepl(pattern, name)) [13:14:06.447] next [13:14:06.447] invokeRestart(restart) [13:14:06.447] muffled <- TRUE [13:14:06.447] break [13:14:06.447] } [13:14:06.447] } [13:14:06.447] } [13:14:06.447] invisible(muffled) [13:14:06.447] } [13:14:06.447] muffleCondition(cond, pattern = "^muffle") [13:14:06.447] } [13:14:06.447] } [13:14:06.447] else { [13:14:06.447] if (TRUE) { [13:14:06.447] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.447] { [13:14:06.447] inherits <- base::inherits [13:14:06.447] invokeRestart <- base::invokeRestart [13:14:06.447] is.null <- base::is.null [13:14:06.447] muffled <- FALSE [13:14:06.447] if (inherits(cond, "message")) { [13:14:06.447] muffled <- grepl(pattern, "muffleMessage") [13:14:06.447] if (muffled) [13:14:06.447] invokeRestart("muffleMessage") [13:14:06.447] } [13:14:06.447] else if (inherits(cond, "warning")) { [13:14:06.447] muffled <- grepl(pattern, "muffleWarning") [13:14:06.447] if (muffled) [13:14:06.447] invokeRestart("muffleWarning") [13:14:06.447] } [13:14:06.447] else if (inherits(cond, "condition")) { [13:14:06.447] if (!is.null(pattern)) { [13:14:06.447] computeRestarts <- base::computeRestarts [13:14:06.447] grepl <- base::grepl [13:14:06.447] restarts <- computeRestarts(cond) [13:14:06.447] for (restart in restarts) { [13:14:06.447] name <- restart$name [13:14:06.447] if (is.null(name)) [13:14:06.447] next [13:14:06.447] if (!grepl(pattern, name)) [13:14:06.447] next [13:14:06.447] invokeRestart(restart) [13:14:06.447] muffled <- TRUE [13:14:06.447] break [13:14:06.447] } [13:14:06.447] } [13:14:06.447] } [13:14:06.447] invisible(muffled) [13:14:06.447] } [13:14:06.447] muffleCondition(cond, pattern = "^muffle") [13:14:06.447] } [13:14:06.447] } [13:14:06.447] } [13:14:06.447] })) [13:14:06.447] }, error = function(ex) { [13:14:06.447] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.447] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.447] ...future.rng), started = ...future.startTime, [13:14:06.447] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.447] version = "1.8"), class = "FutureResult") [13:14:06.447] }, finally = { [13:14:06.447] if (!identical(...future.workdir, getwd())) [13:14:06.447] setwd(...future.workdir) [13:14:06.447] { [13:14:06.447] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.447] ...future.oldOptions$nwarnings <- NULL [13:14:06.447] } [13:14:06.447] base::options(...future.oldOptions) [13:14:06.447] if (.Platform$OS.type == "windows") { [13:14:06.447] old_names <- names(...future.oldEnvVars) [13:14:06.447] envs <- base::Sys.getenv() [13:14:06.447] names <- names(envs) [13:14:06.447] common <- intersect(names, old_names) [13:14:06.447] added <- setdiff(names, old_names) [13:14:06.447] removed <- setdiff(old_names, names) [13:14:06.447] changed <- common[...future.oldEnvVars[common] != [13:14:06.447] envs[common]] [13:14:06.447] NAMES <- toupper(changed) [13:14:06.447] args <- list() [13:14:06.447] for (kk in seq_along(NAMES)) { [13:14:06.447] name <- changed[[kk]] [13:14:06.447] NAME <- NAMES[[kk]] [13:14:06.447] if (name != NAME && is.element(NAME, old_names)) [13:14:06.447] next [13:14:06.447] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.447] } [13:14:06.447] NAMES <- toupper(added) [13:14:06.447] for (kk in seq_along(NAMES)) { [13:14:06.447] name <- added[[kk]] [13:14:06.447] NAME <- NAMES[[kk]] [13:14:06.447] if (name != NAME && is.element(NAME, old_names)) [13:14:06.447] next [13:14:06.447] args[[name]] <- "" [13:14:06.447] } [13:14:06.447] NAMES <- toupper(removed) [13:14:06.447] for (kk in seq_along(NAMES)) { [13:14:06.447] name <- removed[[kk]] [13:14:06.447] NAME <- NAMES[[kk]] [13:14:06.447] if (name != NAME && is.element(NAME, old_names)) [13:14:06.447] next [13:14:06.447] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.447] } [13:14:06.447] if (length(args) > 0) [13:14:06.447] base::do.call(base::Sys.setenv, args = args) [13:14:06.447] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.447] } [13:14:06.447] else { [13:14:06.447] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.447] } [13:14:06.447] { [13:14:06.447] if (base::length(...future.futureOptionsAdded) > [13:14:06.447] 0L) { [13:14:06.447] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.447] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.447] base::options(opts) [13:14:06.447] } [13:14:06.447] { [13:14:06.447] { [13:14:06.447] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.447] NULL [13:14:06.447] } [13:14:06.447] options(future.plan = NULL) [13:14:06.447] if (is.na(NA_character_)) [13:14:06.447] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.447] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.447] future::plan(list(function (..., workers = availableCores(), [13:14:06.447] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.447] envir = parent.frame()) [13:14:06.447] { [13:14:06.447] if (is.function(workers)) [13:14:06.447] workers <- workers() [13:14:06.447] workers <- structure(as.integer(workers), [13:14:06.447] class = class(workers)) [13:14:06.447] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.447] workers >= 1) [13:14:06.447] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.447] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.447] } [13:14:06.447] future <- MultisessionFuture(..., workers = workers, [13:14:06.447] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.447] envir = envir) [13:14:06.447] if (!future$lazy) [13:14:06.447] future <- run(future) [13:14:06.447] invisible(future) [13:14:06.447] }), .cleanup = FALSE, .init = FALSE) [13:14:06.447] } [13:14:06.447] } [13:14:06.447] } [13:14:06.447] }) [13:14:06.447] if (TRUE) { [13:14:06.447] base::sink(type = "output", split = FALSE) [13:14:06.447] if (TRUE) { [13:14:06.447] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.447] } [13:14:06.447] else { [13:14:06.447] ...future.result["stdout"] <- base::list(NULL) [13:14:06.447] } [13:14:06.447] base::close(...future.stdout) [13:14:06.447] ...future.stdout <- NULL [13:14:06.447] } [13:14:06.447] ...future.result$conditions <- ...future.conditions [13:14:06.447] ...future.result$finished <- base::Sys.time() [13:14:06.447] ...future.result [13:14:06.447] } [13:14:06.452] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:06.452] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:06.453] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:06.453] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.454] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.454] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:06.454] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:06.455] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.455] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.455] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.456] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.456] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:06.457] MultisessionFuture started [13:14:06.457] - Launch lazy future ... done [13:14:06.457] run() for 'MultisessionFuture' ... done [13:14:06.457] Created future: [13:14:06.473] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.473] - Validating connection of MultisessionFuture [13:14:06.474] - received message: FutureResult [13:14:06.474] - Received FutureResult [13:14:06.474] - Erased future from FutureRegistry [13:14:06.474] result() for ClusterFuture ... [13:14:06.474] - result already collected: FutureResult [13:14:06.475] result() for ClusterFuture ... done [13:14:06.475] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.457] MultisessionFuture: [13:14:06.457] Label: 'future_sapply-1' [13:14:06.457] Expression: [13:14:06.457] { [13:14:06.457] do.call(function(...) { [13:14:06.457] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.457] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.457] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.457] on.exit(options(oopts), add = TRUE) [13:14:06.457] } [13:14:06.457] { [13:14:06.457] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.457] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.457] ...future.FUN(...future.X_jj, ...) [13:14:06.457] }) [13:14:06.457] } [13:14:06.457] }, args = future.call.arguments) [13:14:06.457] } [13:14:06.457] Lazy evaluation: FALSE [13:14:06.457] Asynchronous evaluation: TRUE [13:14:06.457] Local evaluation: TRUE [13:14:06.457] Environment: R_GlobalEnv [13:14:06.457] Capture standard output: TRUE [13:14:06.457] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.457] Globals: 5 objects totaling 4.67 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.457] Packages: [13:14:06.457] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.457] Resolved: TRUE [13:14:06.457] Value: [13:14:06.457] Conditions captured: [13:14:06.457] Early signaling: FALSE [13:14:06.457] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.457] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.475] Chunk #1 of 2 ... DONE [13:14:06.475] Chunk #2 of 2 ... [13:14:06.476] - Finding globals in 'X' for chunk #2 ... [13:14:06.476] getGlobalsAndPackages() ... [13:14:06.476] Searching for globals... [13:14:06.476] [13:14:06.476] Searching for globals ... DONE [13:14:06.476] - globals: [0] [13:14:06.477] getGlobalsAndPackages() ... DONE [13:14:06.477] + additional globals found: [n=0] [13:14:06.477] + additional namespaces needed: [n=0] [13:14:06.477] - Finding globals in 'X' for chunk #2 ... DONE [13:14:06.477] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.477] - seeds: [13:14:06.478] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.478] getGlobalsAndPackages() ... [13:14:06.478] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.478] Resolving globals: FALSE [13:14:06.478] Tweak future expression to call with '...' arguments ... [13:14:06.478] { [13:14:06.478] do.call(function(...) { [13:14:06.478] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.478] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.478] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.478] on.exit(options(oopts), add = TRUE) [13:14:06.478] } [13:14:06.478] { [13:14:06.478] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.478] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.478] ...future.FUN(...future.X_jj, ...) [13:14:06.478] }) [13:14:06.478] } [13:14:06.478] }, args = future.call.arguments) [13:14:06.478] } [13:14:06.479] Tweak future expression to call with '...' arguments ... DONE [13:14:06.479] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.480] [13:14:06.480] getGlobalsAndPackages() ... DONE [13:14:06.480] run() for 'Future' ... [13:14:06.480] - state: 'created' [13:14:06.480] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.495] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.495] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.495] - Field: 'node' [13:14:06.495] - Field: 'label' [13:14:06.495] - Field: 'local' [13:14:06.496] - Field: 'owner' [13:14:06.496] - Field: 'envir' [13:14:06.496] - Field: 'workers' [13:14:06.496] - Field: 'packages' [13:14:06.496] - Field: 'gc' [13:14:06.496] - Field: 'conditions' [13:14:06.497] - Field: 'persistent' [13:14:06.497] - Field: 'expr' [13:14:06.497] - Field: 'uuid' [13:14:06.497] - Field: 'seed' [13:14:06.497] - Field: 'version' [13:14:06.498] - Field: 'result' [13:14:06.498] - Field: 'asynchronous' [13:14:06.498] - Field: 'calls' [13:14:06.498] - Field: 'globals' [13:14:06.498] - Field: 'stdout' [13:14:06.498] - Field: 'earlySignal' [13:14:06.499] - Field: 'lazy' [13:14:06.499] - Field: 'state' [13:14:06.499] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.499] - Launch lazy future ... [13:14:06.499] Packages needed by the future expression (n = 0): [13:14:06.500] Packages needed by future strategies (n = 0): [13:14:06.500] { [13:14:06.500] { [13:14:06.500] { [13:14:06.500] ...future.startTime <- base::Sys.time() [13:14:06.500] { [13:14:06.500] { [13:14:06.500] { [13:14:06.500] { [13:14:06.500] base::local({ [13:14:06.500] has_future <- base::requireNamespace("future", [13:14:06.500] quietly = TRUE) [13:14:06.500] if (has_future) { [13:14:06.500] ns <- base::getNamespace("future") [13:14:06.500] version <- ns[[".package"]][["version"]] [13:14:06.500] if (is.null(version)) [13:14:06.500] version <- utils::packageVersion("future") [13:14:06.500] } [13:14:06.500] else { [13:14:06.500] version <- NULL [13:14:06.500] } [13:14:06.500] if (!has_future || version < "1.8.0") { [13:14:06.500] info <- base::c(r_version = base::gsub("R version ", [13:14:06.500] "", base::R.version$version.string), [13:14:06.500] platform = base::sprintf("%s (%s-bit)", [13:14:06.500] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.500] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.500] "release", "version")], collapse = " "), [13:14:06.500] hostname = base::Sys.info()[["nodename"]]) [13:14:06.500] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.500] info) [13:14:06.500] info <- base::paste(info, collapse = "; ") [13:14:06.500] if (!has_future) { [13:14:06.500] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.500] info) [13:14:06.500] } [13:14:06.500] else { [13:14:06.500] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.500] info, version) [13:14:06.500] } [13:14:06.500] base::stop(msg) [13:14:06.500] } [13:14:06.500] }) [13:14:06.500] } [13:14:06.500] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.500] base::options(mc.cores = 1L) [13:14:06.500] } [13:14:06.500] options(future.plan = NULL) [13:14:06.500] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.500] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.500] } [13:14:06.500] ...future.workdir <- getwd() [13:14:06.500] } [13:14:06.500] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.500] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.500] } [13:14:06.500] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.500] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.500] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.500] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.500] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.500] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.500] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.500] base::names(...future.oldOptions)) [13:14:06.500] } [13:14:06.500] if (FALSE) { [13:14:06.500] } [13:14:06.500] else { [13:14:06.500] if (TRUE) { [13:14:06.500] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.500] open = "w") [13:14:06.500] } [13:14:06.500] else { [13:14:06.500] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.500] windows = "NUL", "/dev/null"), open = "w") [13:14:06.500] } [13:14:06.500] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.500] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.500] base::sink(type = "output", split = FALSE) [13:14:06.500] base::close(...future.stdout) [13:14:06.500] }, add = TRUE) [13:14:06.500] } [13:14:06.500] ...future.frame <- base::sys.nframe() [13:14:06.500] ...future.conditions <- base::list() [13:14:06.500] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.500] if (FALSE) { [13:14:06.500] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.500] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.500] } [13:14:06.500] ...future.result <- base::tryCatch({ [13:14:06.500] base::withCallingHandlers({ [13:14:06.500] ...future.value <- base::withVisible(base::local({ [13:14:06.500] ...future.makeSendCondition <- local({ [13:14:06.500] sendCondition <- NULL [13:14:06.500] function(frame = 1L) { [13:14:06.500] if (is.function(sendCondition)) [13:14:06.500] return(sendCondition) [13:14:06.500] ns <- getNamespace("parallel") [13:14:06.500] if (exists("sendData", mode = "function", [13:14:06.500] envir = ns)) { [13:14:06.500] parallel_sendData <- get("sendData", mode = "function", [13:14:06.500] envir = ns) [13:14:06.500] envir <- sys.frame(frame) [13:14:06.500] master <- NULL [13:14:06.500] while (!identical(envir, .GlobalEnv) && [13:14:06.500] !identical(envir, emptyenv())) { [13:14:06.500] if (exists("master", mode = "list", envir = envir, [13:14:06.500] inherits = FALSE)) { [13:14:06.500] master <- get("master", mode = "list", [13:14:06.500] envir = envir, inherits = FALSE) [13:14:06.500] if (inherits(master, c("SOCKnode", [13:14:06.500] "SOCK0node"))) { [13:14:06.500] sendCondition <<- function(cond) { [13:14:06.500] data <- list(type = "VALUE", value = cond, [13:14:06.500] success = TRUE) [13:14:06.500] parallel_sendData(master, data) [13:14:06.500] } [13:14:06.500] return(sendCondition) [13:14:06.500] } [13:14:06.500] } [13:14:06.500] frame <- frame + 1L [13:14:06.500] envir <- sys.frame(frame) [13:14:06.500] } [13:14:06.500] } [13:14:06.500] sendCondition <<- function(cond) NULL [13:14:06.500] } [13:14:06.500] }) [13:14:06.500] withCallingHandlers({ [13:14:06.500] { [13:14:06.500] do.call(function(...) { [13:14:06.500] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.500] if (!identical(...future.globals.maxSize.org, [13:14:06.500] ...future.globals.maxSize)) { [13:14:06.500] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.500] on.exit(options(oopts), add = TRUE) [13:14:06.500] } [13:14:06.500] { [13:14:06.500] lapply(seq_along(...future.elements_ii), [13:14:06.500] FUN = function(jj) { [13:14:06.500] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.500] ...future.FUN(...future.X_jj, ...) [13:14:06.500] }) [13:14:06.500] } [13:14:06.500] }, args = future.call.arguments) [13:14:06.500] } [13:14:06.500] }, immediateCondition = function(cond) { [13:14:06.500] sendCondition <- ...future.makeSendCondition() [13:14:06.500] sendCondition(cond) [13:14:06.500] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.500] { [13:14:06.500] inherits <- base::inherits [13:14:06.500] invokeRestart <- base::invokeRestart [13:14:06.500] is.null <- base::is.null [13:14:06.500] muffled <- FALSE [13:14:06.500] if (inherits(cond, "message")) { [13:14:06.500] muffled <- grepl(pattern, "muffleMessage") [13:14:06.500] if (muffled) [13:14:06.500] invokeRestart("muffleMessage") [13:14:06.500] } [13:14:06.500] else if (inherits(cond, "warning")) { [13:14:06.500] muffled <- grepl(pattern, "muffleWarning") [13:14:06.500] if (muffled) [13:14:06.500] invokeRestart("muffleWarning") [13:14:06.500] } [13:14:06.500] else if (inherits(cond, "condition")) { [13:14:06.500] if (!is.null(pattern)) { [13:14:06.500] computeRestarts <- base::computeRestarts [13:14:06.500] grepl <- base::grepl [13:14:06.500] restarts <- computeRestarts(cond) [13:14:06.500] for (restart in restarts) { [13:14:06.500] name <- restart$name [13:14:06.500] if (is.null(name)) [13:14:06.500] next [13:14:06.500] if (!grepl(pattern, name)) [13:14:06.500] next [13:14:06.500] invokeRestart(restart) [13:14:06.500] muffled <- TRUE [13:14:06.500] break [13:14:06.500] } [13:14:06.500] } [13:14:06.500] } [13:14:06.500] invisible(muffled) [13:14:06.500] } [13:14:06.500] muffleCondition(cond) [13:14:06.500] }) [13:14:06.500] })) [13:14:06.500] future::FutureResult(value = ...future.value$value, [13:14:06.500] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.500] ...future.rng), globalenv = if (FALSE) [13:14:06.500] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.500] ...future.globalenv.names)) [13:14:06.500] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.500] }, condition = base::local({ [13:14:06.500] c <- base::c [13:14:06.500] inherits <- base::inherits [13:14:06.500] invokeRestart <- base::invokeRestart [13:14:06.500] length <- base::length [13:14:06.500] list <- base::list [13:14:06.500] seq.int <- base::seq.int [13:14:06.500] signalCondition <- base::signalCondition [13:14:06.500] sys.calls <- base::sys.calls [13:14:06.500] `[[` <- base::`[[` [13:14:06.500] `+` <- base::`+` [13:14:06.500] `<<-` <- base::`<<-` [13:14:06.500] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.500] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.500] 3L)] [13:14:06.500] } [13:14:06.500] function(cond) { [13:14:06.500] is_error <- inherits(cond, "error") [13:14:06.500] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.500] NULL) [13:14:06.500] if (is_error) { [13:14:06.500] sessionInformation <- function() { [13:14:06.500] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.500] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.500] search = base::search(), system = base::Sys.info()) [13:14:06.500] } [13:14:06.500] ...future.conditions[[length(...future.conditions) + [13:14:06.500] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.500] cond$call), session = sessionInformation(), [13:14:06.500] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.500] signalCondition(cond) [13:14:06.500] } [13:14:06.500] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.500] "immediateCondition"))) { [13:14:06.500] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.500] ...future.conditions[[length(...future.conditions) + [13:14:06.500] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.500] if (TRUE && !signal) { [13:14:06.500] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.500] { [13:14:06.500] inherits <- base::inherits [13:14:06.500] invokeRestart <- base::invokeRestart [13:14:06.500] is.null <- base::is.null [13:14:06.500] muffled <- FALSE [13:14:06.500] if (inherits(cond, "message")) { [13:14:06.500] muffled <- grepl(pattern, "muffleMessage") [13:14:06.500] if (muffled) [13:14:06.500] invokeRestart("muffleMessage") [13:14:06.500] } [13:14:06.500] else if (inherits(cond, "warning")) { [13:14:06.500] muffled <- grepl(pattern, "muffleWarning") [13:14:06.500] if (muffled) [13:14:06.500] invokeRestart("muffleWarning") [13:14:06.500] } [13:14:06.500] else if (inherits(cond, "condition")) { [13:14:06.500] if (!is.null(pattern)) { [13:14:06.500] computeRestarts <- base::computeRestarts [13:14:06.500] grepl <- base::grepl [13:14:06.500] restarts <- computeRestarts(cond) [13:14:06.500] for (restart in restarts) { [13:14:06.500] name <- restart$name [13:14:06.500] if (is.null(name)) [13:14:06.500] next [13:14:06.500] if (!grepl(pattern, name)) [13:14:06.500] next [13:14:06.500] invokeRestart(restart) [13:14:06.500] muffled <- TRUE [13:14:06.500] break [13:14:06.500] } [13:14:06.500] } [13:14:06.500] } [13:14:06.500] invisible(muffled) [13:14:06.500] } [13:14:06.500] muffleCondition(cond, pattern = "^muffle") [13:14:06.500] } [13:14:06.500] } [13:14:06.500] else { [13:14:06.500] if (TRUE) { [13:14:06.500] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.500] { [13:14:06.500] inherits <- base::inherits [13:14:06.500] invokeRestart <- base::invokeRestart [13:14:06.500] is.null <- base::is.null [13:14:06.500] muffled <- FALSE [13:14:06.500] if (inherits(cond, "message")) { [13:14:06.500] muffled <- grepl(pattern, "muffleMessage") [13:14:06.500] if (muffled) [13:14:06.500] invokeRestart("muffleMessage") [13:14:06.500] } [13:14:06.500] else if (inherits(cond, "warning")) { [13:14:06.500] muffled <- grepl(pattern, "muffleWarning") [13:14:06.500] if (muffled) [13:14:06.500] invokeRestart("muffleWarning") [13:14:06.500] } [13:14:06.500] else if (inherits(cond, "condition")) { [13:14:06.500] if (!is.null(pattern)) { [13:14:06.500] computeRestarts <- base::computeRestarts [13:14:06.500] grepl <- base::grepl [13:14:06.500] restarts <- computeRestarts(cond) [13:14:06.500] for (restart in restarts) { [13:14:06.500] name <- restart$name [13:14:06.500] if (is.null(name)) [13:14:06.500] next [13:14:06.500] if (!grepl(pattern, name)) [13:14:06.500] next [13:14:06.500] invokeRestart(restart) [13:14:06.500] muffled <- TRUE [13:14:06.500] break [13:14:06.500] } [13:14:06.500] } [13:14:06.500] } [13:14:06.500] invisible(muffled) [13:14:06.500] } [13:14:06.500] muffleCondition(cond, pattern = "^muffle") [13:14:06.500] } [13:14:06.500] } [13:14:06.500] } [13:14:06.500] })) [13:14:06.500] }, error = function(ex) { [13:14:06.500] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.500] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.500] ...future.rng), started = ...future.startTime, [13:14:06.500] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.500] version = "1.8"), class = "FutureResult") [13:14:06.500] }, finally = { [13:14:06.500] if (!identical(...future.workdir, getwd())) [13:14:06.500] setwd(...future.workdir) [13:14:06.500] { [13:14:06.500] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.500] ...future.oldOptions$nwarnings <- NULL [13:14:06.500] } [13:14:06.500] base::options(...future.oldOptions) [13:14:06.500] if (.Platform$OS.type == "windows") { [13:14:06.500] old_names <- names(...future.oldEnvVars) [13:14:06.500] envs <- base::Sys.getenv() [13:14:06.500] names <- names(envs) [13:14:06.500] common <- intersect(names, old_names) [13:14:06.500] added <- setdiff(names, old_names) [13:14:06.500] removed <- setdiff(old_names, names) [13:14:06.500] changed <- common[...future.oldEnvVars[common] != [13:14:06.500] envs[common]] [13:14:06.500] NAMES <- toupper(changed) [13:14:06.500] args <- list() [13:14:06.500] for (kk in seq_along(NAMES)) { [13:14:06.500] name <- changed[[kk]] [13:14:06.500] NAME <- NAMES[[kk]] [13:14:06.500] if (name != NAME && is.element(NAME, old_names)) [13:14:06.500] next [13:14:06.500] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.500] } [13:14:06.500] NAMES <- toupper(added) [13:14:06.500] for (kk in seq_along(NAMES)) { [13:14:06.500] name <- added[[kk]] [13:14:06.500] NAME <- NAMES[[kk]] [13:14:06.500] if (name != NAME && is.element(NAME, old_names)) [13:14:06.500] next [13:14:06.500] args[[name]] <- "" [13:14:06.500] } [13:14:06.500] NAMES <- toupper(removed) [13:14:06.500] for (kk in seq_along(NAMES)) { [13:14:06.500] name <- removed[[kk]] [13:14:06.500] NAME <- NAMES[[kk]] [13:14:06.500] if (name != NAME && is.element(NAME, old_names)) [13:14:06.500] next [13:14:06.500] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.500] } [13:14:06.500] if (length(args) > 0) [13:14:06.500] base::do.call(base::Sys.setenv, args = args) [13:14:06.500] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.500] } [13:14:06.500] else { [13:14:06.500] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.500] } [13:14:06.500] { [13:14:06.500] if (base::length(...future.futureOptionsAdded) > [13:14:06.500] 0L) { [13:14:06.500] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.500] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.500] base::options(opts) [13:14:06.500] } [13:14:06.500] { [13:14:06.500] { [13:14:06.500] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.500] NULL [13:14:06.500] } [13:14:06.500] options(future.plan = NULL) [13:14:06.500] if (is.na(NA_character_)) [13:14:06.500] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.500] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.500] future::plan(list(function (..., workers = availableCores(), [13:14:06.500] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.500] envir = parent.frame()) [13:14:06.500] { [13:14:06.500] if (is.function(workers)) [13:14:06.500] workers <- workers() [13:14:06.500] workers <- structure(as.integer(workers), [13:14:06.500] class = class(workers)) [13:14:06.500] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.500] workers >= 1) [13:14:06.500] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.500] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.500] } [13:14:06.500] future <- MultisessionFuture(..., workers = workers, [13:14:06.500] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.500] envir = envir) [13:14:06.500] if (!future$lazy) [13:14:06.500] future <- run(future) [13:14:06.500] invisible(future) [13:14:06.500] }), .cleanup = FALSE, .init = FALSE) [13:14:06.500] } [13:14:06.500] } [13:14:06.500] } [13:14:06.500] }) [13:14:06.500] if (TRUE) { [13:14:06.500] base::sink(type = "output", split = FALSE) [13:14:06.500] if (TRUE) { [13:14:06.500] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.500] } [13:14:06.500] else { [13:14:06.500] ...future.result["stdout"] <- base::list(NULL) [13:14:06.500] } [13:14:06.500] base::close(...future.stdout) [13:14:06.500] ...future.stdout <- NULL [13:14:06.500] } [13:14:06.500] ...future.result$conditions <- ...future.conditions [13:14:06.500] ...future.result$finished <- base::Sys.time() [13:14:06.500] ...future.result [13:14:06.500] } [13:14:06.506] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:06.506] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:06.506] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:06.507] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.507] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.507] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:06.508] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:06.508] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.508] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.509] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.509] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.509] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:06.510] MultisessionFuture started [13:14:06.510] - Launch lazy future ... done [13:14:06.510] run() for 'MultisessionFuture' ... done [13:14:06.510] Created future: [13:14:06.525] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.525] - Validating connection of MultisessionFuture [13:14:06.526] - received message: FutureResult [13:14:06.526] - Received FutureResult [13:14:06.526] - Erased future from FutureRegistry [13:14:06.526] result() for ClusterFuture ... [13:14:06.526] - result already collected: FutureResult [13:14:06.526] result() for ClusterFuture ... done [13:14:06.527] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.511] MultisessionFuture: [13:14:06.511] Label: 'future_sapply-2' [13:14:06.511] Expression: [13:14:06.511] { [13:14:06.511] do.call(function(...) { [13:14:06.511] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.511] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.511] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.511] on.exit(options(oopts), add = TRUE) [13:14:06.511] } [13:14:06.511] { [13:14:06.511] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.511] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.511] ...future.FUN(...future.X_jj, ...) [13:14:06.511] }) [13:14:06.511] } [13:14:06.511] }, args = future.call.arguments) [13:14:06.511] } [13:14:06.511] Lazy evaluation: FALSE [13:14:06.511] Asynchronous evaluation: TRUE [13:14:06.511] Local evaluation: TRUE [13:14:06.511] Environment: R_GlobalEnv [13:14:06.511] Capture standard output: TRUE [13:14:06.511] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.511] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.511] Packages: [13:14:06.511] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.511] Resolved: TRUE [13:14:06.511] Value: [13:14:06.511] Conditions captured: [13:14:06.511] Early signaling: FALSE [13:14:06.511] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.511] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.527] Chunk #2 of 2 ... DONE [13:14:06.527] Launching 2 futures (chunks) ... DONE [13:14:06.527] Resolving 2 futures (chunks) ... [13:14:06.528] resolve() on list ... [13:14:06.528] recursive: 0 [13:14:06.528] length: 2 [13:14:06.528] [13:14:06.528] Future #1 [13:14:06.528] result() for ClusterFuture ... [13:14:06.529] - result already collected: FutureResult [13:14:06.529] result() for ClusterFuture ... done [13:14:06.529] result() for ClusterFuture ... [13:14:06.529] - result already collected: FutureResult [13:14:06.529] result() for ClusterFuture ... done [13:14:06.529] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:06.530] - nx: 2 [13:14:06.530] - relay: TRUE [13:14:06.530] - stdout: TRUE [13:14:06.530] - signal: TRUE [13:14:06.530] - resignal: FALSE [13:14:06.530] - force: TRUE [13:14:06.530] - relayed: [n=2] FALSE, FALSE [13:14:06.531] - queued futures: [n=2] FALSE, FALSE [13:14:06.531] - until=1 [13:14:06.531] - relaying element #1 [13:14:06.531] result() for ClusterFuture ... [13:14:06.531] - result already collected: FutureResult [13:14:06.531] result() for ClusterFuture ... done [13:14:06.532] result() for ClusterFuture ... [13:14:06.532] - result already collected: FutureResult [13:14:06.532] result() for ClusterFuture ... done [13:14:06.532] result() for ClusterFuture ... [13:14:06.532] - result already collected: FutureResult [13:14:06.532] result() for ClusterFuture ... done [13:14:06.533] result() for ClusterFuture ... [13:14:06.533] - result already collected: FutureResult [13:14:06.533] result() for ClusterFuture ... done [13:14:06.533] - relayed: [n=2] TRUE, FALSE [13:14:06.533] - queued futures: [n=2] TRUE, FALSE [13:14:06.533] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:06.533] length: 1 (resolved future 1) [13:14:06.534] Future #2 [13:14:06.534] result() for ClusterFuture ... [13:14:06.534] - result already collected: FutureResult [13:14:06.534] result() for ClusterFuture ... done [13:14:06.534] result() for ClusterFuture ... [13:14:06.534] - result already collected: FutureResult [13:14:06.535] result() for ClusterFuture ... done [13:14:06.535] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:06.535] - nx: 2 [13:14:06.535] - relay: TRUE [13:14:06.535] - stdout: TRUE [13:14:06.535] - signal: TRUE [13:14:06.536] - resignal: FALSE [13:14:06.536] - force: TRUE [13:14:06.536] - relayed: [n=2] TRUE, FALSE [13:14:06.536] - queued futures: [n=2] TRUE, FALSE [13:14:06.536] - until=2 [13:14:06.536] - relaying element #2 [13:14:06.536] result() for ClusterFuture ... [13:14:06.537] - result already collected: FutureResult [13:14:06.537] result() for ClusterFuture ... done [13:14:06.537] result() for ClusterFuture ... [13:14:06.537] - result already collected: FutureResult [13:14:06.537] result() for ClusterFuture ... done [13:14:06.537] result() for ClusterFuture ... [13:14:06.538] - result already collected: FutureResult [13:14:06.538] result() for ClusterFuture ... done [13:14:06.538] result() for ClusterFuture ... [13:14:06.538] - result already collected: FutureResult [13:14:06.538] result() for ClusterFuture ... done [13:14:06.538] - relayed: [n=2] TRUE, TRUE [13:14:06.539] - queued futures: [n=2] TRUE, TRUE [13:14:06.539] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:06.539] length: 0 (resolved future 2) [13:14:06.539] Relaying remaining futures [13:14:06.539] signalConditionsASAP(NULL, pos=0) ... [13:14:06.539] - nx: 2 [13:14:06.540] - relay: TRUE [13:14:06.540] - stdout: TRUE [13:14:06.540] - signal: TRUE [13:14:06.540] - resignal: FALSE [13:14:06.540] - force: TRUE [13:14:06.540] - relayed: [n=2] TRUE, TRUE [13:14:06.540] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:06.541] - relayed: [n=2] TRUE, TRUE [13:14:06.541] - queued futures: [n=2] TRUE, TRUE [13:14:06.541] signalConditionsASAP(NULL, pos=0) ... done [13:14:06.541] resolve() on list ... DONE [13:14:06.541] result() for ClusterFuture ... [13:14:06.541] - result already collected: FutureResult [13:14:06.542] result() for ClusterFuture ... done [13:14:06.542] result() for ClusterFuture ... [13:14:06.542] - result already collected: FutureResult [13:14:06.542] result() for ClusterFuture ... done [13:14:06.542] result() for ClusterFuture ... [13:14:06.542] - result already collected: FutureResult [13:14:06.543] result() for ClusterFuture ... done [13:14:06.543] result() for ClusterFuture ... [13:14:06.543] - result already collected: FutureResult [13:14:06.543] result() for ClusterFuture ... done [13:14:06.543] - Number of value chunks collected: 2 [13:14:06.543] Resolving 2 futures (chunks) ... DONE [13:14:06.544] Reducing values from 2 chunks ... [13:14:06.544] - Number of values collected after concatenation: 3 [13:14:06.544] - Number of values expected: 3 [13:14:06.544] Reducing values from 2 chunks ... DONE [13:14:06.544] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:15, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:06.547] future_lapply() ... [13:14:06.550] Number of chunks: 2 [13:14:06.550] getGlobalsAndPackagesXApply() ... [13:14:06.551] - future.globals: TRUE [13:14:06.551] getGlobalsAndPackages() ... [13:14:06.551] Searching for globals... [13:14:06.552] - globals found: [1] 'FUN' [13:14:06.552] Searching for globals ... DONE [13:14:06.555] Resolving globals: FALSE [13:14:06.555] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:06.556] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:06.556] - globals: [1] 'FUN' [13:14:06.556] [13:14:06.556] getGlobalsAndPackages() ... DONE [13:14:06.556] - globals found/used: [n=1] 'FUN' [13:14:06.556] - needed namespaces: [n=0] [13:14:06.557] Finding globals ... DONE [13:14:06.557] - use_args: TRUE [13:14:06.557] - Getting '...' globals ... [13:14:06.557] resolve() on list ... [13:14:06.557] recursive: 0 [13:14:06.558] length: 1 [13:14:06.558] elements: '...' [13:14:06.558] length: 0 (resolved future 1) [13:14:06.558] resolve() on list ... DONE [13:14:06.558] - '...' content: [n=0] [13:14:06.558] List of 1 [13:14:06.558] $ ...: list() [13:14:06.558] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.558] - attr(*, "where")=List of 1 [13:14:06.558] ..$ ...: [13:14:06.558] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.558] - attr(*, "resolved")= logi TRUE [13:14:06.558] - attr(*, "total_size")= num NA [13:14:06.561] - Getting '...' globals ... DONE [13:14:06.562] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:06.562] List of 2 [13:14:06.562] $ ...future.FUN:function (x) [13:14:06.562] $ ... : list() [13:14:06.562] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.562] - attr(*, "where")=List of 2 [13:14:06.562] ..$ ...future.FUN: [13:14:06.562] ..$ ... : [13:14:06.562] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.562] - attr(*, "resolved")= logi FALSE [13:14:06.562] - attr(*, "total_size")= num 848 [13:14:06.565] Packages to be attached in all futures: [n=0] [13:14:06.565] getGlobalsAndPackagesXApply() ... DONE [13:14:06.566] Number of futures (= number of chunks): 2 [13:14:06.566] Launching 2 futures (chunks) ... [13:14:06.566] Chunk #1 of 2 ... [13:14:06.566] - Finding globals in 'X' for chunk #1 ... [13:14:06.566] getGlobalsAndPackages() ... [13:14:06.567] Searching for globals... [13:14:06.567] [13:14:06.567] Searching for globals ... DONE [13:14:06.567] - globals: [0] [13:14:06.567] getGlobalsAndPackages() ... DONE [13:14:06.568] + additional globals found: [n=0] [13:14:06.568] + additional namespaces needed: [n=0] [13:14:06.568] - Finding globals in 'X' for chunk #1 ... DONE [13:14:06.568] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.568] - seeds: [13:14:06.568] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.569] getGlobalsAndPackages() ... [13:14:06.569] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.569] Resolving globals: FALSE [13:14:06.569] Tweak future expression to call with '...' arguments ... [13:14:06.569] { [13:14:06.569] do.call(function(...) { [13:14:06.569] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.569] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.569] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.569] on.exit(options(oopts), add = TRUE) [13:14:06.569] } [13:14:06.569] { [13:14:06.569] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.569] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.569] ...future.FUN(...future.X_jj, ...) [13:14:06.569] }) [13:14:06.569] } [13:14:06.569] }, args = future.call.arguments) [13:14:06.569] } [13:14:06.570] Tweak future expression to call with '...' arguments ... DONE [13:14:06.570] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.571] [13:14:06.571] getGlobalsAndPackages() ... DONE [13:14:06.571] run() for 'Future' ... [13:14:06.571] - state: 'created' [13:14:06.571] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.585] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.586] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.586] - Field: 'node' [13:14:06.586] - Field: 'label' [13:14:06.586] - Field: 'local' [13:14:06.586] - Field: 'owner' [13:14:06.587] - Field: 'envir' [13:14:06.587] - Field: 'workers' [13:14:06.587] - Field: 'packages' [13:14:06.587] - Field: 'gc' [13:14:06.587] - Field: 'conditions' [13:14:06.587] - Field: 'persistent' [13:14:06.588] - Field: 'expr' [13:14:06.588] - Field: 'uuid' [13:14:06.588] - Field: 'seed' [13:14:06.588] - Field: 'version' [13:14:06.588] - Field: 'result' [13:14:06.588] - Field: 'asynchronous' [13:14:06.589] - Field: 'calls' [13:14:06.589] - Field: 'globals' [13:14:06.589] - Field: 'stdout' [13:14:06.589] - Field: 'earlySignal' [13:14:06.589] - Field: 'lazy' [13:14:06.590] - Field: 'state' [13:14:06.590] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.590] - Launch lazy future ... [13:14:06.590] Packages needed by the future expression (n = 0): [13:14:06.590] Packages needed by future strategies (n = 0): [13:14:06.591] { [13:14:06.591] { [13:14:06.591] { [13:14:06.591] ...future.startTime <- base::Sys.time() [13:14:06.591] { [13:14:06.591] { [13:14:06.591] { [13:14:06.591] { [13:14:06.591] base::local({ [13:14:06.591] has_future <- base::requireNamespace("future", [13:14:06.591] quietly = TRUE) [13:14:06.591] if (has_future) { [13:14:06.591] ns <- base::getNamespace("future") [13:14:06.591] version <- ns[[".package"]][["version"]] [13:14:06.591] if (is.null(version)) [13:14:06.591] version <- utils::packageVersion("future") [13:14:06.591] } [13:14:06.591] else { [13:14:06.591] version <- NULL [13:14:06.591] } [13:14:06.591] if (!has_future || version < "1.8.0") { [13:14:06.591] info <- base::c(r_version = base::gsub("R version ", [13:14:06.591] "", base::R.version$version.string), [13:14:06.591] platform = base::sprintf("%s (%s-bit)", [13:14:06.591] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.591] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.591] "release", "version")], collapse = " "), [13:14:06.591] hostname = base::Sys.info()[["nodename"]]) [13:14:06.591] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.591] info) [13:14:06.591] info <- base::paste(info, collapse = "; ") [13:14:06.591] if (!has_future) { [13:14:06.591] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.591] info) [13:14:06.591] } [13:14:06.591] else { [13:14:06.591] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.591] info, version) [13:14:06.591] } [13:14:06.591] base::stop(msg) [13:14:06.591] } [13:14:06.591] }) [13:14:06.591] } [13:14:06.591] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.591] base::options(mc.cores = 1L) [13:14:06.591] } [13:14:06.591] options(future.plan = NULL) [13:14:06.591] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.591] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.591] } [13:14:06.591] ...future.workdir <- getwd() [13:14:06.591] } [13:14:06.591] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.591] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.591] } [13:14:06.591] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.591] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.591] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.591] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.591] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.591] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.591] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.591] base::names(...future.oldOptions)) [13:14:06.591] } [13:14:06.591] if (FALSE) { [13:14:06.591] } [13:14:06.591] else { [13:14:06.591] if (TRUE) { [13:14:06.591] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.591] open = "w") [13:14:06.591] } [13:14:06.591] else { [13:14:06.591] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.591] windows = "NUL", "/dev/null"), open = "w") [13:14:06.591] } [13:14:06.591] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.591] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.591] base::sink(type = "output", split = FALSE) [13:14:06.591] base::close(...future.stdout) [13:14:06.591] }, add = TRUE) [13:14:06.591] } [13:14:06.591] ...future.frame <- base::sys.nframe() [13:14:06.591] ...future.conditions <- base::list() [13:14:06.591] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.591] if (FALSE) { [13:14:06.591] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.591] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.591] } [13:14:06.591] ...future.result <- base::tryCatch({ [13:14:06.591] base::withCallingHandlers({ [13:14:06.591] ...future.value <- base::withVisible(base::local({ [13:14:06.591] ...future.makeSendCondition <- local({ [13:14:06.591] sendCondition <- NULL [13:14:06.591] function(frame = 1L) { [13:14:06.591] if (is.function(sendCondition)) [13:14:06.591] return(sendCondition) [13:14:06.591] ns <- getNamespace("parallel") [13:14:06.591] if (exists("sendData", mode = "function", [13:14:06.591] envir = ns)) { [13:14:06.591] parallel_sendData <- get("sendData", mode = "function", [13:14:06.591] envir = ns) [13:14:06.591] envir <- sys.frame(frame) [13:14:06.591] master <- NULL [13:14:06.591] while (!identical(envir, .GlobalEnv) && [13:14:06.591] !identical(envir, emptyenv())) { [13:14:06.591] if (exists("master", mode = "list", envir = envir, [13:14:06.591] inherits = FALSE)) { [13:14:06.591] master <- get("master", mode = "list", [13:14:06.591] envir = envir, inherits = FALSE) [13:14:06.591] if (inherits(master, c("SOCKnode", [13:14:06.591] "SOCK0node"))) { [13:14:06.591] sendCondition <<- function(cond) { [13:14:06.591] data <- list(type = "VALUE", value = cond, [13:14:06.591] success = TRUE) [13:14:06.591] parallel_sendData(master, data) [13:14:06.591] } [13:14:06.591] return(sendCondition) [13:14:06.591] } [13:14:06.591] } [13:14:06.591] frame <- frame + 1L [13:14:06.591] envir <- sys.frame(frame) [13:14:06.591] } [13:14:06.591] } [13:14:06.591] sendCondition <<- function(cond) NULL [13:14:06.591] } [13:14:06.591] }) [13:14:06.591] withCallingHandlers({ [13:14:06.591] { [13:14:06.591] do.call(function(...) { [13:14:06.591] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.591] if (!identical(...future.globals.maxSize.org, [13:14:06.591] ...future.globals.maxSize)) { [13:14:06.591] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.591] on.exit(options(oopts), add = TRUE) [13:14:06.591] } [13:14:06.591] { [13:14:06.591] lapply(seq_along(...future.elements_ii), [13:14:06.591] FUN = function(jj) { [13:14:06.591] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.591] ...future.FUN(...future.X_jj, ...) [13:14:06.591] }) [13:14:06.591] } [13:14:06.591] }, args = future.call.arguments) [13:14:06.591] } [13:14:06.591] }, immediateCondition = function(cond) { [13:14:06.591] sendCondition <- ...future.makeSendCondition() [13:14:06.591] sendCondition(cond) [13:14:06.591] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.591] { [13:14:06.591] inherits <- base::inherits [13:14:06.591] invokeRestart <- base::invokeRestart [13:14:06.591] is.null <- base::is.null [13:14:06.591] muffled <- FALSE [13:14:06.591] if (inherits(cond, "message")) { [13:14:06.591] muffled <- grepl(pattern, "muffleMessage") [13:14:06.591] if (muffled) [13:14:06.591] invokeRestart("muffleMessage") [13:14:06.591] } [13:14:06.591] else if (inherits(cond, "warning")) { [13:14:06.591] muffled <- grepl(pattern, "muffleWarning") [13:14:06.591] if (muffled) [13:14:06.591] invokeRestart("muffleWarning") [13:14:06.591] } [13:14:06.591] else if (inherits(cond, "condition")) { [13:14:06.591] if (!is.null(pattern)) { [13:14:06.591] computeRestarts <- base::computeRestarts [13:14:06.591] grepl <- base::grepl [13:14:06.591] restarts <- computeRestarts(cond) [13:14:06.591] for (restart in restarts) { [13:14:06.591] name <- restart$name [13:14:06.591] if (is.null(name)) [13:14:06.591] next [13:14:06.591] if (!grepl(pattern, name)) [13:14:06.591] next [13:14:06.591] invokeRestart(restart) [13:14:06.591] muffled <- TRUE [13:14:06.591] break [13:14:06.591] } [13:14:06.591] } [13:14:06.591] } [13:14:06.591] invisible(muffled) [13:14:06.591] } [13:14:06.591] muffleCondition(cond) [13:14:06.591] }) [13:14:06.591] })) [13:14:06.591] future::FutureResult(value = ...future.value$value, [13:14:06.591] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.591] ...future.rng), globalenv = if (FALSE) [13:14:06.591] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.591] ...future.globalenv.names)) [13:14:06.591] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.591] }, condition = base::local({ [13:14:06.591] c <- base::c [13:14:06.591] inherits <- base::inherits [13:14:06.591] invokeRestart <- base::invokeRestart [13:14:06.591] length <- base::length [13:14:06.591] list <- base::list [13:14:06.591] seq.int <- base::seq.int [13:14:06.591] signalCondition <- base::signalCondition [13:14:06.591] sys.calls <- base::sys.calls [13:14:06.591] `[[` <- base::`[[` [13:14:06.591] `+` <- base::`+` [13:14:06.591] `<<-` <- base::`<<-` [13:14:06.591] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.591] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.591] 3L)] [13:14:06.591] } [13:14:06.591] function(cond) { [13:14:06.591] is_error <- inherits(cond, "error") [13:14:06.591] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.591] NULL) [13:14:06.591] if (is_error) { [13:14:06.591] sessionInformation <- function() { [13:14:06.591] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.591] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.591] search = base::search(), system = base::Sys.info()) [13:14:06.591] } [13:14:06.591] ...future.conditions[[length(...future.conditions) + [13:14:06.591] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.591] cond$call), session = sessionInformation(), [13:14:06.591] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.591] signalCondition(cond) [13:14:06.591] } [13:14:06.591] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.591] "immediateCondition"))) { [13:14:06.591] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.591] ...future.conditions[[length(...future.conditions) + [13:14:06.591] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.591] if (TRUE && !signal) { [13:14:06.591] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.591] { [13:14:06.591] inherits <- base::inherits [13:14:06.591] invokeRestart <- base::invokeRestart [13:14:06.591] is.null <- base::is.null [13:14:06.591] muffled <- FALSE [13:14:06.591] if (inherits(cond, "message")) { [13:14:06.591] muffled <- grepl(pattern, "muffleMessage") [13:14:06.591] if (muffled) [13:14:06.591] invokeRestart("muffleMessage") [13:14:06.591] } [13:14:06.591] else if (inherits(cond, "warning")) { [13:14:06.591] muffled <- grepl(pattern, "muffleWarning") [13:14:06.591] if (muffled) [13:14:06.591] invokeRestart("muffleWarning") [13:14:06.591] } [13:14:06.591] else if (inherits(cond, "condition")) { [13:14:06.591] if (!is.null(pattern)) { [13:14:06.591] computeRestarts <- base::computeRestarts [13:14:06.591] grepl <- base::grepl [13:14:06.591] restarts <- computeRestarts(cond) [13:14:06.591] for (restart in restarts) { [13:14:06.591] name <- restart$name [13:14:06.591] if (is.null(name)) [13:14:06.591] next [13:14:06.591] if (!grepl(pattern, name)) [13:14:06.591] next [13:14:06.591] invokeRestart(restart) [13:14:06.591] muffled <- TRUE [13:14:06.591] break [13:14:06.591] } [13:14:06.591] } [13:14:06.591] } [13:14:06.591] invisible(muffled) [13:14:06.591] } [13:14:06.591] muffleCondition(cond, pattern = "^muffle") [13:14:06.591] } [13:14:06.591] } [13:14:06.591] else { [13:14:06.591] if (TRUE) { [13:14:06.591] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.591] { [13:14:06.591] inherits <- base::inherits [13:14:06.591] invokeRestart <- base::invokeRestart [13:14:06.591] is.null <- base::is.null [13:14:06.591] muffled <- FALSE [13:14:06.591] if (inherits(cond, "message")) { [13:14:06.591] muffled <- grepl(pattern, "muffleMessage") [13:14:06.591] if (muffled) [13:14:06.591] invokeRestart("muffleMessage") [13:14:06.591] } [13:14:06.591] else if (inherits(cond, "warning")) { [13:14:06.591] muffled <- grepl(pattern, "muffleWarning") [13:14:06.591] if (muffled) [13:14:06.591] invokeRestart("muffleWarning") [13:14:06.591] } [13:14:06.591] else if (inherits(cond, "condition")) { [13:14:06.591] if (!is.null(pattern)) { [13:14:06.591] computeRestarts <- base::computeRestarts [13:14:06.591] grepl <- base::grepl [13:14:06.591] restarts <- computeRestarts(cond) [13:14:06.591] for (restart in restarts) { [13:14:06.591] name <- restart$name [13:14:06.591] if (is.null(name)) [13:14:06.591] next [13:14:06.591] if (!grepl(pattern, name)) [13:14:06.591] next [13:14:06.591] invokeRestart(restart) [13:14:06.591] muffled <- TRUE [13:14:06.591] break [13:14:06.591] } [13:14:06.591] } [13:14:06.591] } [13:14:06.591] invisible(muffled) [13:14:06.591] } [13:14:06.591] muffleCondition(cond, pattern = "^muffle") [13:14:06.591] } [13:14:06.591] } [13:14:06.591] } [13:14:06.591] })) [13:14:06.591] }, error = function(ex) { [13:14:06.591] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.591] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.591] ...future.rng), started = ...future.startTime, [13:14:06.591] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.591] version = "1.8"), class = "FutureResult") [13:14:06.591] }, finally = { [13:14:06.591] if (!identical(...future.workdir, getwd())) [13:14:06.591] setwd(...future.workdir) [13:14:06.591] { [13:14:06.591] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.591] ...future.oldOptions$nwarnings <- NULL [13:14:06.591] } [13:14:06.591] base::options(...future.oldOptions) [13:14:06.591] if (.Platform$OS.type == "windows") { [13:14:06.591] old_names <- names(...future.oldEnvVars) [13:14:06.591] envs <- base::Sys.getenv() [13:14:06.591] names <- names(envs) [13:14:06.591] common <- intersect(names, old_names) [13:14:06.591] added <- setdiff(names, old_names) [13:14:06.591] removed <- setdiff(old_names, names) [13:14:06.591] changed <- common[...future.oldEnvVars[common] != [13:14:06.591] envs[common]] [13:14:06.591] NAMES <- toupper(changed) [13:14:06.591] args <- list() [13:14:06.591] for (kk in seq_along(NAMES)) { [13:14:06.591] name <- changed[[kk]] [13:14:06.591] NAME <- NAMES[[kk]] [13:14:06.591] if (name != NAME && is.element(NAME, old_names)) [13:14:06.591] next [13:14:06.591] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.591] } [13:14:06.591] NAMES <- toupper(added) [13:14:06.591] for (kk in seq_along(NAMES)) { [13:14:06.591] name <- added[[kk]] [13:14:06.591] NAME <- NAMES[[kk]] [13:14:06.591] if (name != NAME && is.element(NAME, old_names)) [13:14:06.591] next [13:14:06.591] args[[name]] <- "" [13:14:06.591] } [13:14:06.591] NAMES <- toupper(removed) [13:14:06.591] for (kk in seq_along(NAMES)) { [13:14:06.591] name <- removed[[kk]] [13:14:06.591] NAME <- NAMES[[kk]] [13:14:06.591] if (name != NAME && is.element(NAME, old_names)) [13:14:06.591] next [13:14:06.591] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.591] } [13:14:06.591] if (length(args) > 0) [13:14:06.591] base::do.call(base::Sys.setenv, args = args) [13:14:06.591] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.591] } [13:14:06.591] else { [13:14:06.591] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.591] } [13:14:06.591] { [13:14:06.591] if (base::length(...future.futureOptionsAdded) > [13:14:06.591] 0L) { [13:14:06.591] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.591] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.591] base::options(opts) [13:14:06.591] } [13:14:06.591] { [13:14:06.591] { [13:14:06.591] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.591] NULL [13:14:06.591] } [13:14:06.591] options(future.plan = NULL) [13:14:06.591] if (is.na(NA_character_)) [13:14:06.591] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.591] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.591] future::plan(list(function (..., workers = availableCores(), [13:14:06.591] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.591] envir = parent.frame()) [13:14:06.591] { [13:14:06.591] if (is.function(workers)) [13:14:06.591] workers <- workers() [13:14:06.591] workers <- structure(as.integer(workers), [13:14:06.591] class = class(workers)) [13:14:06.591] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.591] workers >= 1) [13:14:06.591] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.591] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.591] } [13:14:06.591] future <- MultisessionFuture(..., workers = workers, [13:14:06.591] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.591] envir = envir) [13:14:06.591] if (!future$lazy) [13:14:06.591] future <- run(future) [13:14:06.591] invisible(future) [13:14:06.591] }), .cleanup = FALSE, .init = FALSE) [13:14:06.591] } [13:14:06.591] } [13:14:06.591] } [13:14:06.591] }) [13:14:06.591] if (TRUE) { [13:14:06.591] base::sink(type = "output", split = FALSE) [13:14:06.591] if (TRUE) { [13:14:06.591] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.591] } [13:14:06.591] else { [13:14:06.591] ...future.result["stdout"] <- base::list(NULL) [13:14:06.591] } [13:14:06.591] base::close(...future.stdout) [13:14:06.591] ...future.stdout <- NULL [13:14:06.591] } [13:14:06.591] ...future.result$conditions <- ...future.conditions [13:14:06.591] ...future.result$finished <- base::Sys.time() [13:14:06.591] ...future.result [13:14:06.591] } [13:14:06.596] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:06.597] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:06.597] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:06.597] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.598] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.598] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:06.598] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:06.599] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.599] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.599] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.600] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.600] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:06.600] MultisessionFuture started [13:14:06.601] - Launch lazy future ... done [13:14:06.601] run() for 'MultisessionFuture' ... done [13:14:06.601] Created future: [13:14:06.617] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.617] - Validating connection of MultisessionFuture [13:14:06.617] - received message: FutureResult [13:14:06.617] - Received FutureResult [13:14:06.617] - Erased future from FutureRegistry [13:14:06.618] result() for ClusterFuture ... [13:14:06.618] - result already collected: FutureResult [13:14:06.618] result() for ClusterFuture ... done [13:14:06.618] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.601] MultisessionFuture: [13:14:06.601] Label: 'future_sapply-1' [13:14:06.601] Expression: [13:14:06.601] { [13:14:06.601] do.call(function(...) { [13:14:06.601] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.601] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.601] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.601] on.exit(options(oopts), add = TRUE) [13:14:06.601] } [13:14:06.601] { [13:14:06.601] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.601] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.601] ...future.FUN(...future.X_jj, ...) [13:14:06.601] }) [13:14:06.601] } [13:14:06.601] }, args = future.call.arguments) [13:14:06.601] } [13:14:06.601] Lazy evaluation: FALSE [13:14:06.601] Asynchronous evaluation: TRUE [13:14:06.601] Local evaluation: TRUE [13:14:06.601] Environment: R_GlobalEnv [13:14:06.601] Capture standard output: TRUE [13:14:06.601] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.601] Globals: 5 objects totaling 904 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.601] Packages: [13:14:06.601] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.601] Resolved: TRUE [13:14:06.601] Value: [13:14:06.601] Conditions captured: [13:14:06.601] Early signaling: FALSE [13:14:06.601] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.601] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.619] Chunk #1 of 2 ... DONE [13:14:06.619] Chunk #2 of 2 ... [13:14:06.619] - Finding globals in 'X' for chunk #2 ... [13:14:06.619] getGlobalsAndPackages() ... [13:14:06.619] Searching for globals... [13:14:06.620] [13:14:06.620] Searching for globals ... DONE [13:14:06.620] - globals: [0] [13:14:06.620] getGlobalsAndPackages() ... DONE [13:14:06.620] + additional globals found: [n=0] [13:14:06.621] + additional namespaces needed: [n=0] [13:14:06.621] - Finding globals in 'X' for chunk #2 ... DONE [13:14:06.621] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.621] - seeds: [13:14:06.621] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.621] getGlobalsAndPackages() ... [13:14:06.622] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.622] Resolving globals: FALSE [13:14:06.622] Tweak future expression to call with '...' arguments ... [13:14:06.622] { [13:14:06.622] do.call(function(...) { [13:14:06.622] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.622] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.622] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.622] on.exit(options(oopts), add = TRUE) [13:14:06.622] } [13:14:06.622] { [13:14:06.622] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.622] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.622] ...future.FUN(...future.X_jj, ...) [13:14:06.622] }) [13:14:06.622] } [13:14:06.622] }, args = future.call.arguments) [13:14:06.622] } [13:14:06.623] Tweak future expression to call with '...' arguments ... DONE [13:14:06.623] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.623] [13:14:06.623] getGlobalsAndPackages() ... DONE [13:14:06.624] run() for 'Future' ... [13:14:06.624] - state: 'created' [13:14:06.624] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.638] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.638] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.638] - Field: 'node' [13:14:06.638] - Field: 'label' [13:14:06.639] - Field: 'local' [13:14:06.639] - Field: 'owner' [13:14:06.639] - Field: 'envir' [13:14:06.639] - Field: 'workers' [13:14:06.639] - Field: 'packages' [13:14:06.639] - Field: 'gc' [13:14:06.640] - Field: 'conditions' [13:14:06.640] - Field: 'persistent' [13:14:06.640] - Field: 'expr' [13:14:06.640] - Field: 'uuid' [13:14:06.640] - Field: 'seed' [13:14:06.641] - Field: 'version' [13:14:06.641] - Field: 'result' [13:14:06.641] - Field: 'asynchronous' [13:14:06.641] - Field: 'calls' [13:14:06.641] - Field: 'globals' [13:14:06.641] - Field: 'stdout' [13:14:06.642] - Field: 'earlySignal' [13:14:06.642] - Field: 'lazy' [13:14:06.642] - Field: 'state' [13:14:06.642] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.642] - Launch lazy future ... [13:14:06.643] Packages needed by the future expression (n = 0): [13:14:06.643] Packages needed by future strategies (n = 0): [13:14:06.643] { [13:14:06.643] { [13:14:06.643] { [13:14:06.643] ...future.startTime <- base::Sys.time() [13:14:06.643] { [13:14:06.643] { [13:14:06.643] { [13:14:06.643] { [13:14:06.643] base::local({ [13:14:06.643] has_future <- base::requireNamespace("future", [13:14:06.643] quietly = TRUE) [13:14:06.643] if (has_future) { [13:14:06.643] ns <- base::getNamespace("future") [13:14:06.643] version <- ns[[".package"]][["version"]] [13:14:06.643] if (is.null(version)) [13:14:06.643] version <- utils::packageVersion("future") [13:14:06.643] } [13:14:06.643] else { [13:14:06.643] version <- NULL [13:14:06.643] } [13:14:06.643] if (!has_future || version < "1.8.0") { [13:14:06.643] info <- base::c(r_version = base::gsub("R version ", [13:14:06.643] "", base::R.version$version.string), [13:14:06.643] platform = base::sprintf("%s (%s-bit)", [13:14:06.643] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.643] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.643] "release", "version")], collapse = " "), [13:14:06.643] hostname = base::Sys.info()[["nodename"]]) [13:14:06.643] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.643] info) [13:14:06.643] info <- base::paste(info, collapse = "; ") [13:14:06.643] if (!has_future) { [13:14:06.643] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.643] info) [13:14:06.643] } [13:14:06.643] else { [13:14:06.643] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.643] info, version) [13:14:06.643] } [13:14:06.643] base::stop(msg) [13:14:06.643] } [13:14:06.643] }) [13:14:06.643] } [13:14:06.643] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.643] base::options(mc.cores = 1L) [13:14:06.643] } [13:14:06.643] options(future.plan = NULL) [13:14:06.643] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.643] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.643] } [13:14:06.643] ...future.workdir <- getwd() [13:14:06.643] } [13:14:06.643] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.643] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.643] } [13:14:06.643] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.643] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.643] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.643] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.643] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.643] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.643] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.643] base::names(...future.oldOptions)) [13:14:06.643] } [13:14:06.643] if (FALSE) { [13:14:06.643] } [13:14:06.643] else { [13:14:06.643] if (TRUE) { [13:14:06.643] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.643] open = "w") [13:14:06.643] } [13:14:06.643] else { [13:14:06.643] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.643] windows = "NUL", "/dev/null"), open = "w") [13:14:06.643] } [13:14:06.643] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.643] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.643] base::sink(type = "output", split = FALSE) [13:14:06.643] base::close(...future.stdout) [13:14:06.643] }, add = TRUE) [13:14:06.643] } [13:14:06.643] ...future.frame <- base::sys.nframe() [13:14:06.643] ...future.conditions <- base::list() [13:14:06.643] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.643] if (FALSE) { [13:14:06.643] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.643] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.643] } [13:14:06.643] ...future.result <- base::tryCatch({ [13:14:06.643] base::withCallingHandlers({ [13:14:06.643] ...future.value <- base::withVisible(base::local({ [13:14:06.643] ...future.makeSendCondition <- local({ [13:14:06.643] sendCondition <- NULL [13:14:06.643] function(frame = 1L) { [13:14:06.643] if (is.function(sendCondition)) [13:14:06.643] return(sendCondition) [13:14:06.643] ns <- getNamespace("parallel") [13:14:06.643] if (exists("sendData", mode = "function", [13:14:06.643] envir = ns)) { [13:14:06.643] parallel_sendData <- get("sendData", mode = "function", [13:14:06.643] envir = ns) [13:14:06.643] envir <- sys.frame(frame) [13:14:06.643] master <- NULL [13:14:06.643] while (!identical(envir, .GlobalEnv) && [13:14:06.643] !identical(envir, emptyenv())) { [13:14:06.643] if (exists("master", mode = "list", envir = envir, [13:14:06.643] inherits = FALSE)) { [13:14:06.643] master <- get("master", mode = "list", [13:14:06.643] envir = envir, inherits = FALSE) [13:14:06.643] if (inherits(master, c("SOCKnode", [13:14:06.643] "SOCK0node"))) { [13:14:06.643] sendCondition <<- function(cond) { [13:14:06.643] data <- list(type = "VALUE", value = cond, [13:14:06.643] success = TRUE) [13:14:06.643] parallel_sendData(master, data) [13:14:06.643] } [13:14:06.643] return(sendCondition) [13:14:06.643] } [13:14:06.643] } [13:14:06.643] frame <- frame + 1L [13:14:06.643] envir <- sys.frame(frame) [13:14:06.643] } [13:14:06.643] } [13:14:06.643] sendCondition <<- function(cond) NULL [13:14:06.643] } [13:14:06.643] }) [13:14:06.643] withCallingHandlers({ [13:14:06.643] { [13:14:06.643] do.call(function(...) { [13:14:06.643] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.643] if (!identical(...future.globals.maxSize.org, [13:14:06.643] ...future.globals.maxSize)) { [13:14:06.643] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.643] on.exit(options(oopts), add = TRUE) [13:14:06.643] } [13:14:06.643] { [13:14:06.643] lapply(seq_along(...future.elements_ii), [13:14:06.643] FUN = function(jj) { [13:14:06.643] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.643] ...future.FUN(...future.X_jj, ...) [13:14:06.643] }) [13:14:06.643] } [13:14:06.643] }, args = future.call.arguments) [13:14:06.643] } [13:14:06.643] }, immediateCondition = function(cond) { [13:14:06.643] sendCondition <- ...future.makeSendCondition() [13:14:06.643] sendCondition(cond) [13:14:06.643] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.643] { [13:14:06.643] inherits <- base::inherits [13:14:06.643] invokeRestart <- base::invokeRestart [13:14:06.643] is.null <- base::is.null [13:14:06.643] muffled <- FALSE [13:14:06.643] if (inherits(cond, "message")) { [13:14:06.643] muffled <- grepl(pattern, "muffleMessage") [13:14:06.643] if (muffled) [13:14:06.643] invokeRestart("muffleMessage") [13:14:06.643] } [13:14:06.643] else if (inherits(cond, "warning")) { [13:14:06.643] muffled <- grepl(pattern, "muffleWarning") [13:14:06.643] if (muffled) [13:14:06.643] invokeRestart("muffleWarning") [13:14:06.643] } [13:14:06.643] else if (inherits(cond, "condition")) { [13:14:06.643] if (!is.null(pattern)) { [13:14:06.643] computeRestarts <- base::computeRestarts [13:14:06.643] grepl <- base::grepl [13:14:06.643] restarts <- computeRestarts(cond) [13:14:06.643] for (restart in restarts) { [13:14:06.643] name <- restart$name [13:14:06.643] if (is.null(name)) [13:14:06.643] next [13:14:06.643] if (!grepl(pattern, name)) [13:14:06.643] next [13:14:06.643] invokeRestart(restart) [13:14:06.643] muffled <- TRUE [13:14:06.643] break [13:14:06.643] } [13:14:06.643] } [13:14:06.643] } [13:14:06.643] invisible(muffled) [13:14:06.643] } [13:14:06.643] muffleCondition(cond) [13:14:06.643] }) [13:14:06.643] })) [13:14:06.643] future::FutureResult(value = ...future.value$value, [13:14:06.643] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.643] ...future.rng), globalenv = if (FALSE) [13:14:06.643] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.643] ...future.globalenv.names)) [13:14:06.643] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.643] }, condition = base::local({ [13:14:06.643] c <- base::c [13:14:06.643] inherits <- base::inherits [13:14:06.643] invokeRestart <- base::invokeRestart [13:14:06.643] length <- base::length [13:14:06.643] list <- base::list [13:14:06.643] seq.int <- base::seq.int [13:14:06.643] signalCondition <- base::signalCondition [13:14:06.643] sys.calls <- base::sys.calls [13:14:06.643] `[[` <- base::`[[` [13:14:06.643] `+` <- base::`+` [13:14:06.643] `<<-` <- base::`<<-` [13:14:06.643] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.643] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.643] 3L)] [13:14:06.643] } [13:14:06.643] function(cond) { [13:14:06.643] is_error <- inherits(cond, "error") [13:14:06.643] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.643] NULL) [13:14:06.643] if (is_error) { [13:14:06.643] sessionInformation <- function() { [13:14:06.643] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.643] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.643] search = base::search(), system = base::Sys.info()) [13:14:06.643] } [13:14:06.643] ...future.conditions[[length(...future.conditions) + [13:14:06.643] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.643] cond$call), session = sessionInformation(), [13:14:06.643] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.643] signalCondition(cond) [13:14:06.643] } [13:14:06.643] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.643] "immediateCondition"))) { [13:14:06.643] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.643] ...future.conditions[[length(...future.conditions) + [13:14:06.643] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.643] if (TRUE && !signal) { [13:14:06.643] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.643] { [13:14:06.643] inherits <- base::inherits [13:14:06.643] invokeRestart <- base::invokeRestart [13:14:06.643] is.null <- base::is.null [13:14:06.643] muffled <- FALSE [13:14:06.643] if (inherits(cond, "message")) { [13:14:06.643] muffled <- grepl(pattern, "muffleMessage") [13:14:06.643] if (muffled) [13:14:06.643] invokeRestart("muffleMessage") [13:14:06.643] } [13:14:06.643] else if (inherits(cond, "warning")) { [13:14:06.643] muffled <- grepl(pattern, "muffleWarning") [13:14:06.643] if (muffled) [13:14:06.643] invokeRestart("muffleWarning") [13:14:06.643] } [13:14:06.643] else if (inherits(cond, "condition")) { [13:14:06.643] if (!is.null(pattern)) { [13:14:06.643] computeRestarts <- base::computeRestarts [13:14:06.643] grepl <- base::grepl [13:14:06.643] restarts <- computeRestarts(cond) [13:14:06.643] for (restart in restarts) { [13:14:06.643] name <- restart$name [13:14:06.643] if (is.null(name)) [13:14:06.643] next [13:14:06.643] if (!grepl(pattern, name)) [13:14:06.643] next [13:14:06.643] invokeRestart(restart) [13:14:06.643] muffled <- TRUE [13:14:06.643] break [13:14:06.643] } [13:14:06.643] } [13:14:06.643] } [13:14:06.643] invisible(muffled) [13:14:06.643] } [13:14:06.643] muffleCondition(cond, pattern = "^muffle") [13:14:06.643] } [13:14:06.643] } [13:14:06.643] else { [13:14:06.643] if (TRUE) { [13:14:06.643] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.643] { [13:14:06.643] inherits <- base::inherits [13:14:06.643] invokeRestart <- base::invokeRestart [13:14:06.643] is.null <- base::is.null [13:14:06.643] muffled <- FALSE [13:14:06.643] if (inherits(cond, "message")) { [13:14:06.643] muffled <- grepl(pattern, "muffleMessage") [13:14:06.643] if (muffled) [13:14:06.643] invokeRestart("muffleMessage") [13:14:06.643] } [13:14:06.643] else if (inherits(cond, "warning")) { [13:14:06.643] muffled <- grepl(pattern, "muffleWarning") [13:14:06.643] if (muffled) [13:14:06.643] invokeRestart("muffleWarning") [13:14:06.643] } [13:14:06.643] else if (inherits(cond, "condition")) { [13:14:06.643] if (!is.null(pattern)) { [13:14:06.643] computeRestarts <- base::computeRestarts [13:14:06.643] grepl <- base::grepl [13:14:06.643] restarts <- computeRestarts(cond) [13:14:06.643] for (restart in restarts) { [13:14:06.643] name <- restart$name [13:14:06.643] if (is.null(name)) [13:14:06.643] next [13:14:06.643] if (!grepl(pattern, name)) [13:14:06.643] next [13:14:06.643] invokeRestart(restart) [13:14:06.643] muffled <- TRUE [13:14:06.643] break [13:14:06.643] } [13:14:06.643] } [13:14:06.643] } [13:14:06.643] invisible(muffled) [13:14:06.643] } [13:14:06.643] muffleCondition(cond, pattern = "^muffle") [13:14:06.643] } [13:14:06.643] } [13:14:06.643] } [13:14:06.643] })) [13:14:06.643] }, error = function(ex) { [13:14:06.643] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.643] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.643] ...future.rng), started = ...future.startTime, [13:14:06.643] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.643] version = "1.8"), class = "FutureResult") [13:14:06.643] }, finally = { [13:14:06.643] if (!identical(...future.workdir, getwd())) [13:14:06.643] setwd(...future.workdir) [13:14:06.643] { [13:14:06.643] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.643] ...future.oldOptions$nwarnings <- NULL [13:14:06.643] } [13:14:06.643] base::options(...future.oldOptions) [13:14:06.643] if (.Platform$OS.type == "windows") { [13:14:06.643] old_names <- names(...future.oldEnvVars) [13:14:06.643] envs <- base::Sys.getenv() [13:14:06.643] names <- names(envs) [13:14:06.643] common <- intersect(names, old_names) [13:14:06.643] added <- setdiff(names, old_names) [13:14:06.643] removed <- setdiff(old_names, names) [13:14:06.643] changed <- common[...future.oldEnvVars[common] != [13:14:06.643] envs[common]] [13:14:06.643] NAMES <- toupper(changed) [13:14:06.643] args <- list() [13:14:06.643] for (kk in seq_along(NAMES)) { [13:14:06.643] name <- changed[[kk]] [13:14:06.643] NAME <- NAMES[[kk]] [13:14:06.643] if (name != NAME && is.element(NAME, old_names)) [13:14:06.643] next [13:14:06.643] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.643] } [13:14:06.643] NAMES <- toupper(added) [13:14:06.643] for (kk in seq_along(NAMES)) { [13:14:06.643] name <- added[[kk]] [13:14:06.643] NAME <- NAMES[[kk]] [13:14:06.643] if (name != NAME && is.element(NAME, old_names)) [13:14:06.643] next [13:14:06.643] args[[name]] <- "" [13:14:06.643] } [13:14:06.643] NAMES <- toupper(removed) [13:14:06.643] for (kk in seq_along(NAMES)) { [13:14:06.643] name <- removed[[kk]] [13:14:06.643] NAME <- NAMES[[kk]] [13:14:06.643] if (name != NAME && is.element(NAME, old_names)) [13:14:06.643] next [13:14:06.643] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.643] } [13:14:06.643] if (length(args) > 0) [13:14:06.643] base::do.call(base::Sys.setenv, args = args) [13:14:06.643] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.643] } [13:14:06.643] else { [13:14:06.643] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.643] } [13:14:06.643] { [13:14:06.643] if (base::length(...future.futureOptionsAdded) > [13:14:06.643] 0L) { [13:14:06.643] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.643] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.643] base::options(opts) [13:14:06.643] } [13:14:06.643] { [13:14:06.643] { [13:14:06.643] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.643] NULL [13:14:06.643] } [13:14:06.643] options(future.plan = NULL) [13:14:06.643] if (is.na(NA_character_)) [13:14:06.643] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.643] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.643] future::plan(list(function (..., workers = availableCores(), [13:14:06.643] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.643] envir = parent.frame()) [13:14:06.643] { [13:14:06.643] if (is.function(workers)) [13:14:06.643] workers <- workers() [13:14:06.643] workers <- structure(as.integer(workers), [13:14:06.643] class = class(workers)) [13:14:06.643] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.643] workers >= 1) [13:14:06.643] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.643] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.643] } [13:14:06.643] future <- MultisessionFuture(..., workers = workers, [13:14:06.643] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.643] envir = envir) [13:14:06.643] if (!future$lazy) [13:14:06.643] future <- run(future) [13:14:06.643] invisible(future) [13:14:06.643] }), .cleanup = FALSE, .init = FALSE) [13:14:06.643] } [13:14:06.643] } [13:14:06.643] } [13:14:06.643] }) [13:14:06.643] if (TRUE) { [13:14:06.643] base::sink(type = "output", split = FALSE) [13:14:06.643] if (TRUE) { [13:14:06.643] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.643] } [13:14:06.643] else { [13:14:06.643] ...future.result["stdout"] <- base::list(NULL) [13:14:06.643] } [13:14:06.643] base::close(...future.stdout) [13:14:06.643] ...future.stdout <- NULL [13:14:06.643] } [13:14:06.643] ...future.result$conditions <- ...future.conditions [13:14:06.643] ...future.result$finished <- base::Sys.time() [13:14:06.643] ...future.result [13:14:06.643] } [13:14:06.649] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:06.649] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:06.649] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:06.650] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.650] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.650] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:06.651] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:06.651] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.651] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.652] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.652] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.652] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:06.653] MultisessionFuture started [13:14:06.653] - Launch lazy future ... done [13:14:06.653] run() for 'MultisessionFuture' ... done [13:14:06.653] Created future: [13:14:06.669] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.669] - Validating connection of MultisessionFuture [13:14:06.669] - received message: FutureResult [13:14:06.670] - Received FutureResult [13:14:06.670] - Erased future from FutureRegistry [13:14:06.670] result() for ClusterFuture ... [13:14:06.670] - result already collected: FutureResult [13:14:06.670] result() for ClusterFuture ... done [13:14:06.670] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.654] MultisessionFuture: [13:14:06.654] Label: 'future_sapply-2' [13:14:06.654] Expression: [13:14:06.654] { [13:14:06.654] do.call(function(...) { [13:14:06.654] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.654] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.654] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.654] on.exit(options(oopts), add = TRUE) [13:14:06.654] } [13:14:06.654] { [13:14:06.654] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.654] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.654] ...future.FUN(...future.X_jj, ...) [13:14:06.654] }) [13:14:06.654] } [13:14:06.654] }, args = future.call.arguments) [13:14:06.654] } [13:14:06.654] Lazy evaluation: FALSE [13:14:06.654] Asynchronous evaluation: TRUE [13:14:06.654] Local evaluation: TRUE [13:14:06.654] Environment: R_GlobalEnv [13:14:06.654] Capture standard output: TRUE [13:14:06.654] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.654] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.654] Packages: [13:14:06.654] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.654] Resolved: TRUE [13:14:06.654] Value: [13:14:06.654] Conditions captured: [13:14:06.654] Early signaling: FALSE [13:14:06.654] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.654] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.671] Chunk #2 of 2 ... DONE [13:14:06.671] Launching 2 futures (chunks) ... DONE [13:14:06.671] Resolving 2 futures (chunks) ... [13:14:06.671] resolve() on list ... [13:14:06.671] recursive: 0 [13:14:06.672] length: 2 [13:14:06.672] [13:14:06.672] Future #1 [13:14:06.672] result() for ClusterFuture ... [13:14:06.672] - result already collected: FutureResult [13:14:06.672] result() for ClusterFuture ... done [13:14:06.673] result() for ClusterFuture ... [13:14:06.673] - result already collected: FutureResult [13:14:06.673] result() for ClusterFuture ... done [13:14:06.673] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:06.673] - nx: 2 [13:14:06.673] - relay: TRUE [13:14:06.674] - stdout: TRUE [13:14:06.674] - signal: TRUE [13:14:06.674] - resignal: FALSE [13:14:06.674] - force: TRUE [13:14:06.674] - relayed: [n=2] FALSE, FALSE [13:14:06.674] - queued futures: [n=2] FALSE, FALSE [13:14:06.675] - until=1 [13:14:06.675] - relaying element #1 [13:14:06.675] result() for ClusterFuture ... [13:14:06.675] - result already collected: FutureResult [13:14:06.675] result() for ClusterFuture ... done [13:14:06.675] result() for ClusterFuture ... [13:14:06.675] - result already collected: FutureResult [13:14:06.676] result() for ClusterFuture ... done [13:14:06.676] result() for ClusterFuture ... [13:14:06.676] - result already collected: FutureResult [13:14:06.676] result() for ClusterFuture ... done [13:14:06.676] result() for ClusterFuture ... [13:14:06.676] - result already collected: FutureResult [13:14:06.677] result() for ClusterFuture ... done [13:14:06.677] - relayed: [n=2] TRUE, FALSE [13:14:06.677] - queued futures: [n=2] TRUE, FALSE [13:14:06.677] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:06.677] length: 1 (resolved future 1) [13:14:06.677] Future #2 [13:14:06.678] result() for ClusterFuture ... [13:14:06.678] - result already collected: FutureResult [13:14:06.678] result() for ClusterFuture ... done [13:14:06.678] result() for ClusterFuture ... [13:14:06.678] - result already collected: FutureResult [13:14:06.678] result() for ClusterFuture ... done [13:14:06.679] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:06.679] - nx: 2 [13:14:06.679] - relay: TRUE [13:14:06.679] - stdout: TRUE [13:14:06.679] - signal: TRUE [13:14:06.679] - resignal: FALSE [13:14:06.679] - force: TRUE [13:14:06.680] - relayed: [n=2] TRUE, FALSE [13:14:06.680] - queued futures: [n=2] TRUE, FALSE [13:14:06.680] - until=2 [13:14:06.680] - relaying element #2 [13:14:06.680] result() for ClusterFuture ... [13:14:06.680] - result already collected: FutureResult [13:14:06.681] result() for ClusterFuture ... done [13:14:06.681] result() for ClusterFuture ... [13:14:06.681] - result already collected: FutureResult [13:14:06.681] result() for ClusterFuture ... done [13:14:06.681] result() for ClusterFuture ... [13:14:06.681] - result already collected: FutureResult [13:14:06.681] result() for ClusterFuture ... done [13:14:06.682] result() for ClusterFuture ... [13:14:06.682] - result already collected: FutureResult [13:14:06.682] result() for ClusterFuture ... done [13:14:06.682] - relayed: [n=2] TRUE, TRUE [13:14:06.682] - queued futures: [n=2] TRUE, TRUE [13:14:06.682] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:06.683] length: 0 (resolved future 2) [13:14:06.683] Relaying remaining futures [13:14:06.683] signalConditionsASAP(NULL, pos=0) ... [13:14:06.683] - nx: 2 [13:14:06.683] - relay: TRUE [13:14:06.683] - stdout: TRUE [13:14:06.684] - signal: TRUE [13:14:06.684] - resignal: FALSE [13:14:06.684] - force: TRUE [13:14:06.684] - relayed: [n=2] TRUE, TRUE [13:14:06.684] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:06.684] - relayed: [n=2] TRUE, TRUE [13:14:06.685] - queued futures: [n=2] TRUE, TRUE [13:14:06.685] signalConditionsASAP(NULL, pos=0) ... done [13:14:06.685] resolve() on list ... DONE [13:14:06.685] result() for ClusterFuture ... [13:14:06.685] - result already collected: FutureResult [13:14:06.685] result() for ClusterFuture ... done [13:14:06.685] result() for ClusterFuture ... [13:14:06.686] - result already collected: FutureResult [13:14:06.686] result() for ClusterFuture ... done [13:14:06.686] result() for ClusterFuture ... [13:14:06.686] - result already collected: FutureResult [13:14:06.686] result() for ClusterFuture ... done [13:14:06.686] result() for ClusterFuture ... [13:14:06.687] - result already collected: FutureResult [13:14:06.687] result() for ClusterFuture ... done [13:14:06.687] - Number of value chunks collected: 2 [13:14:06.687] Resolving 2 futures (chunks) ... DONE [13:14:06.687] Reducing values from 2 chunks ... [13:14:06.687] - Number of values collected after concatenation: 3 [13:14:06.688] - Number of values expected: 3 [13:14:06.688] Reducing values from 2 chunks ... DONE [13:14:06.688] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:06.690] future_lapply() ... [13:14:06.693] Number of chunks: 2 [13:14:06.693] getGlobalsAndPackagesXApply() ... [13:14:06.693] - future.globals: TRUE [13:14:06.693] getGlobalsAndPackages() ... [13:14:06.693] Searching for globals... [13:14:06.695] - globals found: [2] 'FUN', 'UseMethod' [13:14:06.695] Searching for globals ... DONE [13:14:06.695] Resolving globals: FALSE [13:14:06.696] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:06.696] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:06.696] - globals: [1] 'FUN' [13:14:06.696] [13:14:06.697] getGlobalsAndPackages() ... DONE [13:14:06.697] - globals found/used: [n=1] 'FUN' [13:14:06.697] - needed namespaces: [n=0] [13:14:06.697] Finding globals ... DONE [13:14:06.697] - use_args: TRUE [13:14:06.697] - Getting '...' globals ... [13:14:06.698] resolve() on list ... [13:14:06.698] recursive: 0 [13:14:06.698] length: 1 [13:14:06.698] elements: '...' [13:14:06.698] length: 0 (resolved future 1) [13:14:06.699] resolve() on list ... DONE [13:14:06.699] - '...' content: [n=0] [13:14:06.699] List of 1 [13:14:06.699] $ ...: list() [13:14:06.699] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.699] - attr(*, "where")=List of 1 [13:14:06.699] ..$ ...: [13:14:06.699] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.699] - attr(*, "resolved")= logi TRUE [13:14:06.699] - attr(*, "total_size")= num NA [13:14:06.702] - Getting '...' globals ... DONE [13:14:06.702] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:06.702] List of 2 [13:14:06.702] $ ...future.FUN:function (x, ...) [13:14:06.702] $ ... : list() [13:14:06.702] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.702] - attr(*, "where")=List of 2 [13:14:06.702] ..$ ...future.FUN: [13:14:06.702] ..$ ... : [13:14:06.702] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.702] - attr(*, "resolved")= logi FALSE [13:14:06.702] - attr(*, "total_size")= num 1248 [13:14:06.706] Packages to be attached in all futures: [n=0] [13:14:06.706] getGlobalsAndPackagesXApply() ... DONE [13:14:06.706] Number of futures (= number of chunks): 2 [13:14:06.706] Launching 2 futures (chunks) ... [13:14:06.706] Chunk #1 of 2 ... [13:14:06.707] - Finding globals in 'X' for chunk #1 ... [13:14:06.707] getGlobalsAndPackages() ... [13:14:06.707] Searching for globals... [13:14:06.707] [13:14:06.707] Searching for globals ... DONE [13:14:06.708] - globals: [0] [13:14:06.708] getGlobalsAndPackages() ... DONE [13:14:06.708] + additional globals found: [n=0] [13:14:06.708] + additional namespaces needed: [n=0] [13:14:06.708] - Finding globals in 'X' for chunk #1 ... DONE [13:14:06.708] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.709] - seeds: [13:14:06.709] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.709] getGlobalsAndPackages() ... [13:14:06.709] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.709] Resolving globals: FALSE [13:14:06.709] Tweak future expression to call with '...' arguments ... [13:14:06.710] { [13:14:06.710] do.call(function(...) { [13:14:06.710] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.710] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.710] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.710] on.exit(options(oopts), add = TRUE) [13:14:06.710] } [13:14:06.710] { [13:14:06.710] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.710] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.710] ...future.FUN(...future.X_jj, ...) [13:14:06.710] }) [13:14:06.710] } [13:14:06.710] }, args = future.call.arguments) [13:14:06.710] } [13:14:06.710] Tweak future expression to call with '...' arguments ... DONE [13:14:06.710] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.711] [13:14:06.711] getGlobalsAndPackages() ... DONE [13:14:06.714] run() for 'Future' ... [13:14:06.714] - state: 'created' [13:14:06.714] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.728] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.728] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.728] - Field: 'node' [13:14:06.729] - Field: 'label' [13:14:06.729] - Field: 'local' [13:14:06.729] - Field: 'owner' [13:14:06.729] - Field: 'envir' [13:14:06.729] - Field: 'workers' [13:14:06.729] - Field: 'packages' [13:14:06.730] - Field: 'gc' [13:14:06.730] - Field: 'conditions' [13:14:06.730] - Field: 'persistent' [13:14:06.730] - Field: 'expr' [13:14:06.730] - Field: 'uuid' [13:14:06.731] - Field: 'seed' [13:14:06.731] - Field: 'version' [13:14:06.731] - Field: 'result' [13:14:06.731] - Field: 'asynchronous' [13:14:06.731] - Field: 'calls' [13:14:06.731] - Field: 'globals' [13:14:06.732] - Field: 'stdout' [13:14:06.732] - Field: 'earlySignal' [13:14:06.732] - Field: 'lazy' [13:14:06.732] - Field: 'state' [13:14:06.732] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.732] - Launch lazy future ... [13:14:06.733] Packages needed by the future expression (n = 0): [13:14:06.733] Packages needed by future strategies (n = 0): [13:14:06.734] { [13:14:06.734] { [13:14:06.734] { [13:14:06.734] ...future.startTime <- base::Sys.time() [13:14:06.734] { [13:14:06.734] { [13:14:06.734] { [13:14:06.734] { [13:14:06.734] base::local({ [13:14:06.734] has_future <- base::requireNamespace("future", [13:14:06.734] quietly = TRUE) [13:14:06.734] if (has_future) { [13:14:06.734] ns <- base::getNamespace("future") [13:14:06.734] version <- ns[[".package"]][["version"]] [13:14:06.734] if (is.null(version)) [13:14:06.734] version <- utils::packageVersion("future") [13:14:06.734] } [13:14:06.734] else { [13:14:06.734] version <- NULL [13:14:06.734] } [13:14:06.734] if (!has_future || version < "1.8.0") { [13:14:06.734] info <- base::c(r_version = base::gsub("R version ", [13:14:06.734] "", base::R.version$version.string), [13:14:06.734] platform = base::sprintf("%s (%s-bit)", [13:14:06.734] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.734] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.734] "release", "version")], collapse = " "), [13:14:06.734] hostname = base::Sys.info()[["nodename"]]) [13:14:06.734] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.734] info) [13:14:06.734] info <- base::paste(info, collapse = "; ") [13:14:06.734] if (!has_future) { [13:14:06.734] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.734] info) [13:14:06.734] } [13:14:06.734] else { [13:14:06.734] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.734] info, version) [13:14:06.734] } [13:14:06.734] base::stop(msg) [13:14:06.734] } [13:14:06.734] }) [13:14:06.734] } [13:14:06.734] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.734] base::options(mc.cores = 1L) [13:14:06.734] } [13:14:06.734] options(future.plan = NULL) [13:14:06.734] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.734] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.734] } [13:14:06.734] ...future.workdir <- getwd() [13:14:06.734] } [13:14:06.734] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.734] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.734] } [13:14:06.734] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.734] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.734] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.734] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.734] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.734] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.734] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.734] base::names(...future.oldOptions)) [13:14:06.734] } [13:14:06.734] if (FALSE) { [13:14:06.734] } [13:14:06.734] else { [13:14:06.734] if (TRUE) { [13:14:06.734] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.734] open = "w") [13:14:06.734] } [13:14:06.734] else { [13:14:06.734] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.734] windows = "NUL", "/dev/null"), open = "w") [13:14:06.734] } [13:14:06.734] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.734] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.734] base::sink(type = "output", split = FALSE) [13:14:06.734] base::close(...future.stdout) [13:14:06.734] }, add = TRUE) [13:14:06.734] } [13:14:06.734] ...future.frame <- base::sys.nframe() [13:14:06.734] ...future.conditions <- base::list() [13:14:06.734] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.734] if (FALSE) { [13:14:06.734] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.734] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.734] } [13:14:06.734] ...future.result <- base::tryCatch({ [13:14:06.734] base::withCallingHandlers({ [13:14:06.734] ...future.value <- base::withVisible(base::local({ [13:14:06.734] ...future.makeSendCondition <- local({ [13:14:06.734] sendCondition <- NULL [13:14:06.734] function(frame = 1L) { [13:14:06.734] if (is.function(sendCondition)) [13:14:06.734] return(sendCondition) [13:14:06.734] ns <- getNamespace("parallel") [13:14:06.734] if (exists("sendData", mode = "function", [13:14:06.734] envir = ns)) { [13:14:06.734] parallel_sendData <- get("sendData", mode = "function", [13:14:06.734] envir = ns) [13:14:06.734] envir <- sys.frame(frame) [13:14:06.734] master <- NULL [13:14:06.734] while (!identical(envir, .GlobalEnv) && [13:14:06.734] !identical(envir, emptyenv())) { [13:14:06.734] if (exists("master", mode = "list", envir = envir, [13:14:06.734] inherits = FALSE)) { [13:14:06.734] master <- get("master", mode = "list", [13:14:06.734] envir = envir, inherits = FALSE) [13:14:06.734] if (inherits(master, c("SOCKnode", [13:14:06.734] "SOCK0node"))) { [13:14:06.734] sendCondition <<- function(cond) { [13:14:06.734] data <- list(type = "VALUE", value = cond, [13:14:06.734] success = TRUE) [13:14:06.734] parallel_sendData(master, data) [13:14:06.734] } [13:14:06.734] return(sendCondition) [13:14:06.734] } [13:14:06.734] } [13:14:06.734] frame <- frame + 1L [13:14:06.734] envir <- sys.frame(frame) [13:14:06.734] } [13:14:06.734] } [13:14:06.734] sendCondition <<- function(cond) NULL [13:14:06.734] } [13:14:06.734] }) [13:14:06.734] withCallingHandlers({ [13:14:06.734] { [13:14:06.734] do.call(function(...) { [13:14:06.734] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.734] if (!identical(...future.globals.maxSize.org, [13:14:06.734] ...future.globals.maxSize)) { [13:14:06.734] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.734] on.exit(options(oopts), add = TRUE) [13:14:06.734] } [13:14:06.734] { [13:14:06.734] lapply(seq_along(...future.elements_ii), [13:14:06.734] FUN = function(jj) { [13:14:06.734] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.734] ...future.FUN(...future.X_jj, ...) [13:14:06.734] }) [13:14:06.734] } [13:14:06.734] }, args = future.call.arguments) [13:14:06.734] } [13:14:06.734] }, immediateCondition = function(cond) { [13:14:06.734] sendCondition <- ...future.makeSendCondition() [13:14:06.734] sendCondition(cond) [13:14:06.734] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.734] { [13:14:06.734] inherits <- base::inherits [13:14:06.734] invokeRestart <- base::invokeRestart [13:14:06.734] is.null <- base::is.null [13:14:06.734] muffled <- FALSE [13:14:06.734] if (inherits(cond, "message")) { [13:14:06.734] muffled <- grepl(pattern, "muffleMessage") [13:14:06.734] if (muffled) [13:14:06.734] invokeRestart("muffleMessage") [13:14:06.734] } [13:14:06.734] else if (inherits(cond, "warning")) { [13:14:06.734] muffled <- grepl(pattern, "muffleWarning") [13:14:06.734] if (muffled) [13:14:06.734] invokeRestart("muffleWarning") [13:14:06.734] } [13:14:06.734] else if (inherits(cond, "condition")) { [13:14:06.734] if (!is.null(pattern)) { [13:14:06.734] computeRestarts <- base::computeRestarts [13:14:06.734] grepl <- base::grepl [13:14:06.734] restarts <- computeRestarts(cond) [13:14:06.734] for (restart in restarts) { [13:14:06.734] name <- restart$name [13:14:06.734] if (is.null(name)) [13:14:06.734] next [13:14:06.734] if (!grepl(pattern, name)) [13:14:06.734] next [13:14:06.734] invokeRestart(restart) [13:14:06.734] muffled <- TRUE [13:14:06.734] break [13:14:06.734] } [13:14:06.734] } [13:14:06.734] } [13:14:06.734] invisible(muffled) [13:14:06.734] } [13:14:06.734] muffleCondition(cond) [13:14:06.734] }) [13:14:06.734] })) [13:14:06.734] future::FutureResult(value = ...future.value$value, [13:14:06.734] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.734] ...future.rng), globalenv = if (FALSE) [13:14:06.734] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.734] ...future.globalenv.names)) [13:14:06.734] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.734] }, condition = base::local({ [13:14:06.734] c <- base::c [13:14:06.734] inherits <- base::inherits [13:14:06.734] invokeRestart <- base::invokeRestart [13:14:06.734] length <- base::length [13:14:06.734] list <- base::list [13:14:06.734] seq.int <- base::seq.int [13:14:06.734] signalCondition <- base::signalCondition [13:14:06.734] sys.calls <- base::sys.calls [13:14:06.734] `[[` <- base::`[[` [13:14:06.734] `+` <- base::`+` [13:14:06.734] `<<-` <- base::`<<-` [13:14:06.734] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.734] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.734] 3L)] [13:14:06.734] } [13:14:06.734] function(cond) { [13:14:06.734] is_error <- inherits(cond, "error") [13:14:06.734] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.734] NULL) [13:14:06.734] if (is_error) { [13:14:06.734] sessionInformation <- function() { [13:14:06.734] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.734] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.734] search = base::search(), system = base::Sys.info()) [13:14:06.734] } [13:14:06.734] ...future.conditions[[length(...future.conditions) + [13:14:06.734] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.734] cond$call), session = sessionInformation(), [13:14:06.734] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.734] signalCondition(cond) [13:14:06.734] } [13:14:06.734] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.734] "immediateCondition"))) { [13:14:06.734] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.734] ...future.conditions[[length(...future.conditions) + [13:14:06.734] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.734] if (TRUE && !signal) { [13:14:06.734] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.734] { [13:14:06.734] inherits <- base::inherits [13:14:06.734] invokeRestart <- base::invokeRestart [13:14:06.734] is.null <- base::is.null [13:14:06.734] muffled <- FALSE [13:14:06.734] if (inherits(cond, "message")) { [13:14:06.734] muffled <- grepl(pattern, "muffleMessage") [13:14:06.734] if (muffled) [13:14:06.734] invokeRestart("muffleMessage") [13:14:06.734] } [13:14:06.734] else if (inherits(cond, "warning")) { [13:14:06.734] muffled <- grepl(pattern, "muffleWarning") [13:14:06.734] if (muffled) [13:14:06.734] invokeRestart("muffleWarning") [13:14:06.734] } [13:14:06.734] else if (inherits(cond, "condition")) { [13:14:06.734] if (!is.null(pattern)) { [13:14:06.734] computeRestarts <- base::computeRestarts [13:14:06.734] grepl <- base::grepl [13:14:06.734] restarts <- computeRestarts(cond) [13:14:06.734] for (restart in restarts) { [13:14:06.734] name <- restart$name [13:14:06.734] if (is.null(name)) [13:14:06.734] next [13:14:06.734] if (!grepl(pattern, name)) [13:14:06.734] next [13:14:06.734] invokeRestart(restart) [13:14:06.734] muffled <- TRUE [13:14:06.734] break [13:14:06.734] } [13:14:06.734] } [13:14:06.734] } [13:14:06.734] invisible(muffled) [13:14:06.734] } [13:14:06.734] muffleCondition(cond, pattern = "^muffle") [13:14:06.734] } [13:14:06.734] } [13:14:06.734] else { [13:14:06.734] if (TRUE) { [13:14:06.734] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.734] { [13:14:06.734] inherits <- base::inherits [13:14:06.734] invokeRestart <- base::invokeRestart [13:14:06.734] is.null <- base::is.null [13:14:06.734] muffled <- FALSE [13:14:06.734] if (inherits(cond, "message")) { [13:14:06.734] muffled <- grepl(pattern, "muffleMessage") [13:14:06.734] if (muffled) [13:14:06.734] invokeRestart("muffleMessage") [13:14:06.734] } [13:14:06.734] else if (inherits(cond, "warning")) { [13:14:06.734] muffled <- grepl(pattern, "muffleWarning") [13:14:06.734] if (muffled) [13:14:06.734] invokeRestart("muffleWarning") [13:14:06.734] } [13:14:06.734] else if (inherits(cond, "condition")) { [13:14:06.734] if (!is.null(pattern)) { [13:14:06.734] computeRestarts <- base::computeRestarts [13:14:06.734] grepl <- base::grepl [13:14:06.734] restarts <- computeRestarts(cond) [13:14:06.734] for (restart in restarts) { [13:14:06.734] name <- restart$name [13:14:06.734] if (is.null(name)) [13:14:06.734] next [13:14:06.734] if (!grepl(pattern, name)) [13:14:06.734] next [13:14:06.734] invokeRestart(restart) [13:14:06.734] muffled <- TRUE [13:14:06.734] break [13:14:06.734] } [13:14:06.734] } [13:14:06.734] } [13:14:06.734] invisible(muffled) [13:14:06.734] } [13:14:06.734] muffleCondition(cond, pattern = "^muffle") [13:14:06.734] } [13:14:06.734] } [13:14:06.734] } [13:14:06.734] })) [13:14:06.734] }, error = function(ex) { [13:14:06.734] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.734] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.734] ...future.rng), started = ...future.startTime, [13:14:06.734] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.734] version = "1.8"), class = "FutureResult") [13:14:06.734] }, finally = { [13:14:06.734] if (!identical(...future.workdir, getwd())) [13:14:06.734] setwd(...future.workdir) [13:14:06.734] { [13:14:06.734] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.734] ...future.oldOptions$nwarnings <- NULL [13:14:06.734] } [13:14:06.734] base::options(...future.oldOptions) [13:14:06.734] if (.Platform$OS.type == "windows") { [13:14:06.734] old_names <- names(...future.oldEnvVars) [13:14:06.734] envs <- base::Sys.getenv() [13:14:06.734] names <- names(envs) [13:14:06.734] common <- intersect(names, old_names) [13:14:06.734] added <- setdiff(names, old_names) [13:14:06.734] removed <- setdiff(old_names, names) [13:14:06.734] changed <- common[...future.oldEnvVars[common] != [13:14:06.734] envs[common]] [13:14:06.734] NAMES <- toupper(changed) [13:14:06.734] args <- list() [13:14:06.734] for (kk in seq_along(NAMES)) { [13:14:06.734] name <- changed[[kk]] [13:14:06.734] NAME <- NAMES[[kk]] [13:14:06.734] if (name != NAME && is.element(NAME, old_names)) [13:14:06.734] next [13:14:06.734] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.734] } [13:14:06.734] NAMES <- toupper(added) [13:14:06.734] for (kk in seq_along(NAMES)) { [13:14:06.734] name <- added[[kk]] [13:14:06.734] NAME <- NAMES[[kk]] [13:14:06.734] if (name != NAME && is.element(NAME, old_names)) [13:14:06.734] next [13:14:06.734] args[[name]] <- "" [13:14:06.734] } [13:14:06.734] NAMES <- toupper(removed) [13:14:06.734] for (kk in seq_along(NAMES)) { [13:14:06.734] name <- removed[[kk]] [13:14:06.734] NAME <- NAMES[[kk]] [13:14:06.734] if (name != NAME && is.element(NAME, old_names)) [13:14:06.734] next [13:14:06.734] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.734] } [13:14:06.734] if (length(args) > 0) [13:14:06.734] base::do.call(base::Sys.setenv, args = args) [13:14:06.734] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.734] } [13:14:06.734] else { [13:14:06.734] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.734] } [13:14:06.734] { [13:14:06.734] if (base::length(...future.futureOptionsAdded) > [13:14:06.734] 0L) { [13:14:06.734] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.734] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.734] base::options(opts) [13:14:06.734] } [13:14:06.734] { [13:14:06.734] { [13:14:06.734] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.734] NULL [13:14:06.734] } [13:14:06.734] options(future.plan = NULL) [13:14:06.734] if (is.na(NA_character_)) [13:14:06.734] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.734] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.734] future::plan(list(function (..., workers = availableCores(), [13:14:06.734] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.734] envir = parent.frame()) [13:14:06.734] { [13:14:06.734] if (is.function(workers)) [13:14:06.734] workers <- workers() [13:14:06.734] workers <- structure(as.integer(workers), [13:14:06.734] class = class(workers)) [13:14:06.734] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.734] workers >= 1) [13:14:06.734] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.734] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.734] } [13:14:06.734] future <- MultisessionFuture(..., workers = workers, [13:14:06.734] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.734] envir = envir) [13:14:06.734] if (!future$lazy) [13:14:06.734] future <- run(future) [13:14:06.734] invisible(future) [13:14:06.734] }), .cleanup = FALSE, .init = FALSE) [13:14:06.734] } [13:14:06.734] } [13:14:06.734] } [13:14:06.734] }) [13:14:06.734] if (TRUE) { [13:14:06.734] base::sink(type = "output", split = FALSE) [13:14:06.734] if (TRUE) { [13:14:06.734] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.734] } [13:14:06.734] else { [13:14:06.734] ...future.result["stdout"] <- base::list(NULL) [13:14:06.734] } [13:14:06.734] base::close(...future.stdout) [13:14:06.734] ...future.stdout <- NULL [13:14:06.734] } [13:14:06.734] ...future.result$conditions <- ...future.conditions [13:14:06.734] ...future.result$finished <- base::Sys.time() [13:14:06.734] ...future.result [13:14:06.734] } [13:14:06.739] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:06.739] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:06.740] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:06.740] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.740] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.741] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:06.741] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:06.741] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.742] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.742] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.742] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.742] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:06.743] MultisessionFuture started [13:14:06.743] - Launch lazy future ... done [13:14:06.744] run() for 'MultisessionFuture' ... done [13:14:06.744] Created future: [13:14:06.759] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.759] - Validating connection of MultisessionFuture [13:14:06.759] - received message: FutureResult [13:14:06.759] - Received FutureResult [13:14:06.759] - Erased future from FutureRegistry [13:14:06.760] result() for ClusterFuture ... [13:14:06.760] - result already collected: FutureResult [13:14:06.760] result() for ClusterFuture ... done [13:14:06.760] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.744] MultisessionFuture: [13:14:06.744] Label: 'future_sapply-1' [13:14:06.744] Expression: [13:14:06.744] { [13:14:06.744] do.call(function(...) { [13:14:06.744] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.744] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.744] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.744] on.exit(options(oopts), add = TRUE) [13:14:06.744] } [13:14:06.744] { [13:14:06.744] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.744] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.744] ...future.FUN(...future.X_jj, ...) [13:14:06.744] }) [13:14:06.744] } [13:14:06.744] }, args = future.call.arguments) [13:14:06.744] } [13:14:06.744] Lazy evaluation: FALSE [13:14:06.744] Asynchronous evaluation: TRUE [13:14:06.744] Local evaluation: TRUE [13:14:06.744] Environment: R_GlobalEnv [13:14:06.744] Capture standard output: TRUE [13:14:06.744] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.744] Globals: 5 objects totaling 1.27 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.744] Packages: [13:14:06.744] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.744] Resolved: TRUE [13:14:06.744] Value: [13:14:06.744] Conditions captured: [13:14:06.744] Early signaling: FALSE [13:14:06.744] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.744] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.761] Chunk #1 of 2 ... DONE [13:14:06.761] Chunk #2 of 2 ... [13:14:06.761] - Finding globals in 'X' for chunk #2 ... [13:14:06.761] getGlobalsAndPackages() ... [13:14:06.761] Searching for globals... [13:14:06.762] [13:14:06.762] Searching for globals ... DONE [13:14:06.762] - globals: [0] [13:14:06.762] getGlobalsAndPackages() ... DONE [13:14:06.762] + additional globals found: [n=0] [13:14:06.762] + additional namespaces needed: [n=0] [13:14:06.762] - Finding globals in 'X' for chunk #2 ... DONE [13:14:06.763] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.763] - seeds: [13:14:06.763] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.763] getGlobalsAndPackages() ... [13:14:06.763] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.763] Resolving globals: FALSE [13:14:06.764] Tweak future expression to call with '...' arguments ... [13:14:06.764] { [13:14:06.764] do.call(function(...) { [13:14:06.764] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.764] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.764] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.764] on.exit(options(oopts), add = TRUE) [13:14:06.764] } [13:14:06.764] { [13:14:06.764] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.764] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.764] ...future.FUN(...future.X_jj, ...) [13:14:06.764] }) [13:14:06.764] } [13:14:06.764] }, args = future.call.arguments) [13:14:06.764] } [13:14:06.764] Tweak future expression to call with '...' arguments ... DONE [13:14:06.765] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.765] [13:14:06.765] getGlobalsAndPackages() ... DONE [13:14:06.765] run() for 'Future' ... [13:14:06.766] - state: 'created' [13:14:06.766] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.780] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.780] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.780] - Field: 'node' [13:14:06.780] - Field: 'label' [13:14:06.781] - Field: 'local' [13:14:06.781] - Field: 'owner' [13:14:06.781] - Field: 'envir' [13:14:06.781] - Field: 'workers' [13:14:06.781] - Field: 'packages' [13:14:06.781] - Field: 'gc' [13:14:06.782] - Field: 'conditions' [13:14:06.782] - Field: 'persistent' [13:14:06.782] - Field: 'expr' [13:14:06.782] - Field: 'uuid' [13:14:06.782] - Field: 'seed' [13:14:06.782] - Field: 'version' [13:14:06.783] - Field: 'result' [13:14:06.783] - Field: 'asynchronous' [13:14:06.783] - Field: 'calls' [13:14:06.783] - Field: 'globals' [13:14:06.783] - Field: 'stdout' [13:14:06.784] - Field: 'earlySignal' [13:14:06.784] - Field: 'lazy' [13:14:06.784] - Field: 'state' [13:14:06.784] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.784] - Launch lazy future ... [13:14:06.785] Packages needed by the future expression (n = 0): [13:14:06.785] Packages needed by future strategies (n = 0): [13:14:06.785] { [13:14:06.785] { [13:14:06.785] { [13:14:06.785] ...future.startTime <- base::Sys.time() [13:14:06.785] { [13:14:06.785] { [13:14:06.785] { [13:14:06.785] { [13:14:06.785] base::local({ [13:14:06.785] has_future <- base::requireNamespace("future", [13:14:06.785] quietly = TRUE) [13:14:06.785] if (has_future) { [13:14:06.785] ns <- base::getNamespace("future") [13:14:06.785] version <- ns[[".package"]][["version"]] [13:14:06.785] if (is.null(version)) [13:14:06.785] version <- utils::packageVersion("future") [13:14:06.785] } [13:14:06.785] else { [13:14:06.785] version <- NULL [13:14:06.785] } [13:14:06.785] if (!has_future || version < "1.8.0") { [13:14:06.785] info <- base::c(r_version = base::gsub("R version ", [13:14:06.785] "", base::R.version$version.string), [13:14:06.785] platform = base::sprintf("%s (%s-bit)", [13:14:06.785] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.785] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.785] "release", "version")], collapse = " "), [13:14:06.785] hostname = base::Sys.info()[["nodename"]]) [13:14:06.785] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.785] info) [13:14:06.785] info <- base::paste(info, collapse = "; ") [13:14:06.785] if (!has_future) { [13:14:06.785] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.785] info) [13:14:06.785] } [13:14:06.785] else { [13:14:06.785] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.785] info, version) [13:14:06.785] } [13:14:06.785] base::stop(msg) [13:14:06.785] } [13:14:06.785] }) [13:14:06.785] } [13:14:06.785] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.785] base::options(mc.cores = 1L) [13:14:06.785] } [13:14:06.785] options(future.plan = NULL) [13:14:06.785] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.785] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.785] } [13:14:06.785] ...future.workdir <- getwd() [13:14:06.785] } [13:14:06.785] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.785] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.785] } [13:14:06.785] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.785] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.785] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.785] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.785] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.785] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.785] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.785] base::names(...future.oldOptions)) [13:14:06.785] } [13:14:06.785] if (FALSE) { [13:14:06.785] } [13:14:06.785] else { [13:14:06.785] if (TRUE) { [13:14:06.785] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.785] open = "w") [13:14:06.785] } [13:14:06.785] else { [13:14:06.785] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.785] windows = "NUL", "/dev/null"), open = "w") [13:14:06.785] } [13:14:06.785] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.785] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.785] base::sink(type = "output", split = FALSE) [13:14:06.785] base::close(...future.stdout) [13:14:06.785] }, add = TRUE) [13:14:06.785] } [13:14:06.785] ...future.frame <- base::sys.nframe() [13:14:06.785] ...future.conditions <- base::list() [13:14:06.785] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.785] if (FALSE) { [13:14:06.785] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.785] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.785] } [13:14:06.785] ...future.result <- base::tryCatch({ [13:14:06.785] base::withCallingHandlers({ [13:14:06.785] ...future.value <- base::withVisible(base::local({ [13:14:06.785] ...future.makeSendCondition <- local({ [13:14:06.785] sendCondition <- NULL [13:14:06.785] function(frame = 1L) { [13:14:06.785] if (is.function(sendCondition)) [13:14:06.785] return(sendCondition) [13:14:06.785] ns <- getNamespace("parallel") [13:14:06.785] if (exists("sendData", mode = "function", [13:14:06.785] envir = ns)) { [13:14:06.785] parallel_sendData <- get("sendData", mode = "function", [13:14:06.785] envir = ns) [13:14:06.785] envir <- sys.frame(frame) [13:14:06.785] master <- NULL [13:14:06.785] while (!identical(envir, .GlobalEnv) && [13:14:06.785] !identical(envir, emptyenv())) { [13:14:06.785] if (exists("master", mode = "list", envir = envir, [13:14:06.785] inherits = FALSE)) { [13:14:06.785] master <- get("master", mode = "list", [13:14:06.785] envir = envir, inherits = FALSE) [13:14:06.785] if (inherits(master, c("SOCKnode", [13:14:06.785] "SOCK0node"))) { [13:14:06.785] sendCondition <<- function(cond) { [13:14:06.785] data <- list(type = "VALUE", value = cond, [13:14:06.785] success = TRUE) [13:14:06.785] parallel_sendData(master, data) [13:14:06.785] } [13:14:06.785] return(sendCondition) [13:14:06.785] } [13:14:06.785] } [13:14:06.785] frame <- frame + 1L [13:14:06.785] envir <- sys.frame(frame) [13:14:06.785] } [13:14:06.785] } [13:14:06.785] sendCondition <<- function(cond) NULL [13:14:06.785] } [13:14:06.785] }) [13:14:06.785] withCallingHandlers({ [13:14:06.785] { [13:14:06.785] do.call(function(...) { [13:14:06.785] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.785] if (!identical(...future.globals.maxSize.org, [13:14:06.785] ...future.globals.maxSize)) { [13:14:06.785] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.785] on.exit(options(oopts), add = TRUE) [13:14:06.785] } [13:14:06.785] { [13:14:06.785] lapply(seq_along(...future.elements_ii), [13:14:06.785] FUN = function(jj) { [13:14:06.785] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.785] ...future.FUN(...future.X_jj, ...) [13:14:06.785] }) [13:14:06.785] } [13:14:06.785] }, args = future.call.arguments) [13:14:06.785] } [13:14:06.785] }, immediateCondition = function(cond) { [13:14:06.785] sendCondition <- ...future.makeSendCondition() [13:14:06.785] sendCondition(cond) [13:14:06.785] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.785] { [13:14:06.785] inherits <- base::inherits [13:14:06.785] invokeRestart <- base::invokeRestart [13:14:06.785] is.null <- base::is.null [13:14:06.785] muffled <- FALSE [13:14:06.785] if (inherits(cond, "message")) { [13:14:06.785] muffled <- grepl(pattern, "muffleMessage") [13:14:06.785] if (muffled) [13:14:06.785] invokeRestart("muffleMessage") [13:14:06.785] } [13:14:06.785] else if (inherits(cond, "warning")) { [13:14:06.785] muffled <- grepl(pattern, "muffleWarning") [13:14:06.785] if (muffled) [13:14:06.785] invokeRestart("muffleWarning") [13:14:06.785] } [13:14:06.785] else if (inherits(cond, "condition")) { [13:14:06.785] if (!is.null(pattern)) { [13:14:06.785] computeRestarts <- base::computeRestarts [13:14:06.785] grepl <- base::grepl [13:14:06.785] restarts <- computeRestarts(cond) [13:14:06.785] for (restart in restarts) { [13:14:06.785] name <- restart$name [13:14:06.785] if (is.null(name)) [13:14:06.785] next [13:14:06.785] if (!grepl(pattern, name)) [13:14:06.785] next [13:14:06.785] invokeRestart(restart) [13:14:06.785] muffled <- TRUE [13:14:06.785] break [13:14:06.785] } [13:14:06.785] } [13:14:06.785] } [13:14:06.785] invisible(muffled) [13:14:06.785] } [13:14:06.785] muffleCondition(cond) [13:14:06.785] }) [13:14:06.785] })) [13:14:06.785] future::FutureResult(value = ...future.value$value, [13:14:06.785] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.785] ...future.rng), globalenv = if (FALSE) [13:14:06.785] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.785] ...future.globalenv.names)) [13:14:06.785] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.785] }, condition = base::local({ [13:14:06.785] c <- base::c [13:14:06.785] inherits <- base::inherits [13:14:06.785] invokeRestart <- base::invokeRestart [13:14:06.785] length <- base::length [13:14:06.785] list <- base::list [13:14:06.785] seq.int <- base::seq.int [13:14:06.785] signalCondition <- base::signalCondition [13:14:06.785] sys.calls <- base::sys.calls [13:14:06.785] `[[` <- base::`[[` [13:14:06.785] `+` <- base::`+` [13:14:06.785] `<<-` <- base::`<<-` [13:14:06.785] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.785] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.785] 3L)] [13:14:06.785] } [13:14:06.785] function(cond) { [13:14:06.785] is_error <- inherits(cond, "error") [13:14:06.785] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.785] NULL) [13:14:06.785] if (is_error) { [13:14:06.785] sessionInformation <- function() { [13:14:06.785] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.785] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.785] search = base::search(), system = base::Sys.info()) [13:14:06.785] } [13:14:06.785] ...future.conditions[[length(...future.conditions) + [13:14:06.785] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.785] cond$call), session = sessionInformation(), [13:14:06.785] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.785] signalCondition(cond) [13:14:06.785] } [13:14:06.785] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.785] "immediateCondition"))) { [13:14:06.785] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.785] ...future.conditions[[length(...future.conditions) + [13:14:06.785] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.785] if (TRUE && !signal) { [13:14:06.785] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.785] { [13:14:06.785] inherits <- base::inherits [13:14:06.785] invokeRestart <- base::invokeRestart [13:14:06.785] is.null <- base::is.null [13:14:06.785] muffled <- FALSE [13:14:06.785] if (inherits(cond, "message")) { [13:14:06.785] muffled <- grepl(pattern, "muffleMessage") [13:14:06.785] if (muffled) [13:14:06.785] invokeRestart("muffleMessage") [13:14:06.785] } [13:14:06.785] else if (inherits(cond, "warning")) { [13:14:06.785] muffled <- grepl(pattern, "muffleWarning") [13:14:06.785] if (muffled) [13:14:06.785] invokeRestart("muffleWarning") [13:14:06.785] } [13:14:06.785] else if (inherits(cond, "condition")) { [13:14:06.785] if (!is.null(pattern)) { [13:14:06.785] computeRestarts <- base::computeRestarts [13:14:06.785] grepl <- base::grepl [13:14:06.785] restarts <- computeRestarts(cond) [13:14:06.785] for (restart in restarts) { [13:14:06.785] name <- restart$name [13:14:06.785] if (is.null(name)) [13:14:06.785] next [13:14:06.785] if (!grepl(pattern, name)) [13:14:06.785] next [13:14:06.785] invokeRestart(restart) [13:14:06.785] muffled <- TRUE [13:14:06.785] break [13:14:06.785] } [13:14:06.785] } [13:14:06.785] } [13:14:06.785] invisible(muffled) [13:14:06.785] } [13:14:06.785] muffleCondition(cond, pattern = "^muffle") [13:14:06.785] } [13:14:06.785] } [13:14:06.785] else { [13:14:06.785] if (TRUE) { [13:14:06.785] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.785] { [13:14:06.785] inherits <- base::inherits [13:14:06.785] invokeRestart <- base::invokeRestart [13:14:06.785] is.null <- base::is.null [13:14:06.785] muffled <- FALSE [13:14:06.785] if (inherits(cond, "message")) { [13:14:06.785] muffled <- grepl(pattern, "muffleMessage") [13:14:06.785] if (muffled) [13:14:06.785] invokeRestart("muffleMessage") [13:14:06.785] } [13:14:06.785] else if (inherits(cond, "warning")) { [13:14:06.785] muffled <- grepl(pattern, "muffleWarning") [13:14:06.785] if (muffled) [13:14:06.785] invokeRestart("muffleWarning") [13:14:06.785] } [13:14:06.785] else if (inherits(cond, "condition")) { [13:14:06.785] if (!is.null(pattern)) { [13:14:06.785] computeRestarts <- base::computeRestarts [13:14:06.785] grepl <- base::grepl [13:14:06.785] restarts <- computeRestarts(cond) [13:14:06.785] for (restart in restarts) { [13:14:06.785] name <- restart$name [13:14:06.785] if (is.null(name)) [13:14:06.785] next [13:14:06.785] if (!grepl(pattern, name)) [13:14:06.785] next [13:14:06.785] invokeRestart(restart) [13:14:06.785] muffled <- TRUE [13:14:06.785] break [13:14:06.785] } [13:14:06.785] } [13:14:06.785] } [13:14:06.785] invisible(muffled) [13:14:06.785] } [13:14:06.785] muffleCondition(cond, pattern = "^muffle") [13:14:06.785] } [13:14:06.785] } [13:14:06.785] } [13:14:06.785] })) [13:14:06.785] }, error = function(ex) { [13:14:06.785] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.785] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.785] ...future.rng), started = ...future.startTime, [13:14:06.785] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.785] version = "1.8"), class = "FutureResult") [13:14:06.785] }, finally = { [13:14:06.785] if (!identical(...future.workdir, getwd())) [13:14:06.785] setwd(...future.workdir) [13:14:06.785] { [13:14:06.785] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.785] ...future.oldOptions$nwarnings <- NULL [13:14:06.785] } [13:14:06.785] base::options(...future.oldOptions) [13:14:06.785] if (.Platform$OS.type == "windows") { [13:14:06.785] old_names <- names(...future.oldEnvVars) [13:14:06.785] envs <- base::Sys.getenv() [13:14:06.785] names <- names(envs) [13:14:06.785] common <- intersect(names, old_names) [13:14:06.785] added <- setdiff(names, old_names) [13:14:06.785] removed <- setdiff(old_names, names) [13:14:06.785] changed <- common[...future.oldEnvVars[common] != [13:14:06.785] envs[common]] [13:14:06.785] NAMES <- toupper(changed) [13:14:06.785] args <- list() [13:14:06.785] for (kk in seq_along(NAMES)) { [13:14:06.785] name <- changed[[kk]] [13:14:06.785] NAME <- NAMES[[kk]] [13:14:06.785] if (name != NAME && is.element(NAME, old_names)) [13:14:06.785] next [13:14:06.785] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.785] } [13:14:06.785] NAMES <- toupper(added) [13:14:06.785] for (kk in seq_along(NAMES)) { [13:14:06.785] name <- added[[kk]] [13:14:06.785] NAME <- NAMES[[kk]] [13:14:06.785] if (name != NAME && is.element(NAME, old_names)) [13:14:06.785] next [13:14:06.785] args[[name]] <- "" [13:14:06.785] } [13:14:06.785] NAMES <- toupper(removed) [13:14:06.785] for (kk in seq_along(NAMES)) { [13:14:06.785] name <- removed[[kk]] [13:14:06.785] NAME <- NAMES[[kk]] [13:14:06.785] if (name != NAME && is.element(NAME, old_names)) [13:14:06.785] next [13:14:06.785] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.785] } [13:14:06.785] if (length(args) > 0) [13:14:06.785] base::do.call(base::Sys.setenv, args = args) [13:14:06.785] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.785] } [13:14:06.785] else { [13:14:06.785] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.785] } [13:14:06.785] { [13:14:06.785] if (base::length(...future.futureOptionsAdded) > [13:14:06.785] 0L) { [13:14:06.785] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.785] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.785] base::options(opts) [13:14:06.785] } [13:14:06.785] { [13:14:06.785] { [13:14:06.785] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.785] NULL [13:14:06.785] } [13:14:06.785] options(future.plan = NULL) [13:14:06.785] if (is.na(NA_character_)) [13:14:06.785] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.785] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.785] future::plan(list(function (..., workers = availableCores(), [13:14:06.785] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.785] envir = parent.frame()) [13:14:06.785] { [13:14:06.785] if (is.function(workers)) [13:14:06.785] workers <- workers() [13:14:06.785] workers <- structure(as.integer(workers), [13:14:06.785] class = class(workers)) [13:14:06.785] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.785] workers >= 1) [13:14:06.785] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.785] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.785] } [13:14:06.785] future <- MultisessionFuture(..., workers = workers, [13:14:06.785] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.785] envir = envir) [13:14:06.785] if (!future$lazy) [13:14:06.785] future <- run(future) [13:14:06.785] invisible(future) [13:14:06.785] }), .cleanup = FALSE, .init = FALSE) [13:14:06.785] } [13:14:06.785] } [13:14:06.785] } [13:14:06.785] }) [13:14:06.785] if (TRUE) { [13:14:06.785] base::sink(type = "output", split = FALSE) [13:14:06.785] if (TRUE) { [13:14:06.785] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.785] } [13:14:06.785] else { [13:14:06.785] ...future.result["stdout"] <- base::list(NULL) [13:14:06.785] } [13:14:06.785] base::close(...future.stdout) [13:14:06.785] ...future.stdout <- NULL [13:14:06.785] } [13:14:06.785] ...future.result$conditions <- ...future.conditions [13:14:06.785] ...future.result$finished <- base::Sys.time() [13:14:06.785] ...future.result [13:14:06.785] } [13:14:06.791] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:06.791] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:06.791] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:06.792] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.792] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.792] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:06.793] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:06.793] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.793] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.794] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.794] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.794] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:06.795] MultisessionFuture started [13:14:06.795] - Launch lazy future ... done [13:14:06.795] run() for 'MultisessionFuture' ... done [13:14:06.795] Created future: [13:14:06.811] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.811] - Validating connection of MultisessionFuture [13:14:06.812] - received message: FutureResult [13:14:06.812] - Received FutureResult [13:14:06.812] - Erased future from FutureRegistry [13:14:06.812] result() for ClusterFuture ... [13:14:06.812] - result already collected: FutureResult [13:14:06.813] result() for ClusterFuture ... done [13:14:06.813] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.796] MultisessionFuture: [13:14:06.796] Label: 'future_sapply-2' [13:14:06.796] Expression: [13:14:06.796] { [13:14:06.796] do.call(function(...) { [13:14:06.796] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.796] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.796] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.796] on.exit(options(oopts), add = TRUE) [13:14:06.796] } [13:14:06.796] { [13:14:06.796] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.796] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.796] ...future.FUN(...future.X_jj, ...) [13:14:06.796] }) [13:14:06.796] } [13:14:06.796] }, args = future.call.arguments) [13:14:06.796] } [13:14:06.796] Lazy evaluation: FALSE [13:14:06.796] Asynchronous evaluation: TRUE [13:14:06.796] Local evaluation: TRUE [13:14:06.796] Environment: R_GlobalEnv [13:14:06.796] Capture standard output: TRUE [13:14:06.796] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.796] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.796] Packages: [13:14:06.796] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.796] Resolved: TRUE [13:14:06.796] Value: [13:14:06.796] Conditions captured: [13:14:06.796] Early signaling: FALSE [13:14:06.796] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.796] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.813] Chunk #2 of 2 ... DONE [13:14:06.813] Launching 2 futures (chunks) ... DONE [13:14:06.813] Resolving 2 futures (chunks) ... [13:14:06.814] resolve() on list ... [13:14:06.814] recursive: 0 [13:14:06.814] length: 2 [13:14:06.814] [13:14:06.814] Future #1 [13:14:06.814] result() for ClusterFuture ... [13:14:06.815] - result already collected: FutureResult [13:14:06.815] result() for ClusterFuture ... done [13:14:06.815] result() for ClusterFuture ... [13:14:06.815] - result already collected: FutureResult [13:14:06.815] result() for ClusterFuture ... done [13:14:06.815] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:06.816] - nx: 2 [13:14:06.816] - relay: TRUE [13:14:06.816] - stdout: TRUE [13:14:06.816] - signal: TRUE [13:14:06.816] - resignal: FALSE [13:14:06.816] - force: TRUE [13:14:06.817] - relayed: [n=2] FALSE, FALSE [13:14:06.817] - queued futures: [n=2] FALSE, FALSE [13:14:06.817] - until=1 [13:14:06.817] - relaying element #1 [13:14:06.817] result() for ClusterFuture ... [13:14:06.817] - result already collected: FutureResult [13:14:06.817] result() for ClusterFuture ... done [13:14:06.818] result() for ClusterFuture ... [13:14:06.818] - result already collected: FutureResult [13:14:06.818] result() for ClusterFuture ... done [13:14:06.818] result() for ClusterFuture ... [13:14:06.818] - result already collected: FutureResult [13:14:06.818] result() for ClusterFuture ... done [13:14:06.819] result() for ClusterFuture ... [13:14:06.819] - result already collected: FutureResult [13:14:06.819] result() for ClusterFuture ... done [13:14:06.819] - relayed: [n=2] TRUE, FALSE [13:14:06.819] - queued futures: [n=2] TRUE, FALSE [13:14:06.819] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:06.820] length: 1 (resolved future 1) [13:14:06.820] Future #2 [13:14:06.820] result() for ClusterFuture ... [13:14:06.820] - result already collected: FutureResult [13:14:06.820] result() for ClusterFuture ... done [13:14:06.820] result() for ClusterFuture ... [13:14:06.821] - result already collected: FutureResult [13:14:06.821] result() for ClusterFuture ... done [13:14:06.821] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:06.821] - nx: 2 [13:14:06.821] - relay: TRUE [13:14:06.821] - stdout: TRUE [13:14:06.821] - signal: TRUE [13:14:06.822] - resignal: FALSE [13:14:06.822] - force: TRUE [13:14:06.822] - relayed: [n=2] TRUE, FALSE [13:14:06.822] - queued futures: [n=2] TRUE, FALSE [13:14:06.822] - until=2 [13:14:06.822] - relaying element #2 [13:14:06.823] result() for ClusterFuture ... [13:14:06.823] - result already collected: FutureResult [13:14:06.823] result() for ClusterFuture ... done [13:14:06.823] result() for ClusterFuture ... [13:14:06.823] - result already collected: FutureResult [13:14:06.823] result() for ClusterFuture ... done [13:14:06.824] result() for ClusterFuture ... [13:14:06.824] - result already collected: FutureResult [13:14:06.824] result() for ClusterFuture ... done [13:14:06.824] result() for ClusterFuture ... [13:14:06.824] - result already collected: FutureResult [13:14:06.824] result() for ClusterFuture ... done [13:14:06.824] - relayed: [n=2] TRUE, TRUE [13:14:06.825] - queued futures: [n=2] TRUE, TRUE [13:14:06.825] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:06.825] length: 0 (resolved future 2) [13:14:06.825] Relaying remaining futures [13:14:06.825] signalConditionsASAP(NULL, pos=0) ... [13:14:06.825] - nx: 2 [13:14:06.826] - relay: TRUE [13:14:06.826] - stdout: TRUE [13:14:06.826] - signal: TRUE [13:14:06.826] - resignal: FALSE [13:14:06.826] - force: TRUE [13:14:06.826] - relayed: [n=2] TRUE, TRUE [13:14:06.826] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:06.827] - relayed: [n=2] TRUE, TRUE [13:14:06.827] - queued futures: [n=2] TRUE, TRUE [13:14:06.827] signalConditionsASAP(NULL, pos=0) ... done [13:14:06.827] resolve() on list ... DONE [13:14:06.827] result() for ClusterFuture ... [13:14:06.827] - result already collected: FutureResult [13:14:06.828] result() for ClusterFuture ... done [13:14:06.828] result() for ClusterFuture ... [13:14:06.828] - result already collected: FutureResult [13:14:06.828] result() for ClusterFuture ... done [13:14:06.828] result() for ClusterFuture ... [13:14:06.828] - result already collected: FutureResult [13:14:06.829] result() for ClusterFuture ... done [13:14:06.829] result() for ClusterFuture ... [13:14:06.829] - result already collected: FutureResult [13:14:06.829] result() for ClusterFuture ... done [13:14:06.829] - Number of value chunks collected: 2 [13:14:06.829] Resolving 2 futures (chunks) ... DONE [13:14:06.830] Reducing values from 2 chunks ... [13:14:06.830] - Number of values collected after concatenation: 3 [13:14:06.830] - Number of values expected: 3 [13:14:06.830] Reducing values from 2 chunks ... DONE [13:14:06.830] future_lapply() ... DONE List of 2 $ y0: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named num [1:3] 1 2 3 ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:06.832] future_lapply() ... [13:14:06.835] Number of chunks: 2 [13:14:06.836] getGlobalsAndPackagesXApply() ... [13:14:06.836] - future.globals: TRUE [13:14:06.836] getGlobalsAndPackages() ... [13:14:06.836] Searching for globals... [13:14:06.838] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:06.838] Searching for globals ... DONE [13:14:06.838] Resolving globals: FALSE [13:14:06.839] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:06.839] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:06.839] - globals: [1] 'FUN' [13:14:06.840] [13:14:06.840] getGlobalsAndPackages() ... DONE [13:14:06.840] - globals found/used: [n=1] 'FUN' [13:14:06.840] - needed namespaces: [n=0] [13:14:06.840] Finding globals ... DONE [13:14:06.840] - use_args: TRUE [13:14:06.841] - Getting '...' globals ... [13:14:06.841] resolve() on list ... [13:14:06.841] recursive: 0 [13:14:06.841] length: 1 [13:14:06.841] elements: '...' [13:14:06.842] length: 0 (resolved future 1) [13:14:06.842] resolve() on list ... DONE [13:14:06.842] - '...' content: [n=0] [13:14:06.842] List of 1 [13:14:06.842] $ ...: list() [13:14:06.842] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.842] - attr(*, "where")=List of 1 [13:14:06.842] ..$ ...: [13:14:06.842] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.842] - attr(*, "resolved")= logi TRUE [13:14:06.842] - attr(*, "total_size")= num NA [13:14:06.845] - Getting '...' globals ... DONE [13:14:06.846] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:06.846] List of 2 [13:14:06.846] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:06.846] $ ... : list() [13:14:06.846] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.846] - attr(*, "where")=List of 2 [13:14:06.846] ..$ ...future.FUN: [13:14:06.846] ..$ ... : [13:14:06.846] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.846] - attr(*, "resolved")= logi FALSE [13:14:06.846] - attr(*, "total_size")= num 4728 [13:14:06.849] Packages to be attached in all futures: [n=0] [13:14:06.849] getGlobalsAndPackagesXApply() ... DONE [13:14:06.850] Number of futures (= number of chunks): 2 [13:14:06.850] Launching 2 futures (chunks) ... [13:14:06.850] Chunk #1 of 2 ... [13:14:06.850] - Finding globals in 'X' for chunk #1 ... [13:14:06.850] getGlobalsAndPackages() ... [13:14:06.850] Searching for globals... [13:14:06.851] [13:14:06.851] Searching for globals ... DONE [13:14:06.851] - globals: [0] [13:14:06.851] getGlobalsAndPackages() ... DONE [13:14:06.851] + additional globals found: [n=0] [13:14:06.852] + additional namespaces needed: [n=0] [13:14:06.852] - Finding globals in 'X' for chunk #1 ... DONE [13:14:06.852] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.852] - seeds: [13:14:06.852] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.852] getGlobalsAndPackages() ... [13:14:06.852] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.853] Resolving globals: FALSE [13:14:06.853] Tweak future expression to call with '...' arguments ... [13:14:06.853] { [13:14:06.853] do.call(function(...) { [13:14:06.853] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.853] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.853] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.853] on.exit(options(oopts), add = TRUE) [13:14:06.853] } [13:14:06.853] { [13:14:06.853] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.853] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.853] ...future.FUN(...future.X_jj, ...) [13:14:06.853] }) [13:14:06.853] } [13:14:06.853] }, args = future.call.arguments) [13:14:06.853] } [13:14:06.853] Tweak future expression to call with '...' arguments ... DONE [13:14:06.854] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.854] [13:14:06.854] getGlobalsAndPackages() ... DONE [13:14:06.855] run() for 'Future' ... [13:14:06.855] - state: 'created' [13:14:06.855] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.869] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.869] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.869] - Field: 'node' [13:14:06.870] - Field: 'label' [13:14:06.870] - Field: 'local' [13:14:06.870] - Field: 'owner' [13:14:06.870] - Field: 'envir' [13:14:06.870] - Field: 'workers' [13:14:06.871] - Field: 'packages' [13:14:06.871] - Field: 'gc' [13:14:06.871] - Field: 'conditions' [13:14:06.871] - Field: 'persistent' [13:14:06.871] - Field: 'expr' [13:14:06.871] - Field: 'uuid' [13:14:06.872] - Field: 'seed' [13:14:06.872] - Field: 'version' [13:14:06.872] - Field: 'result' [13:14:06.872] - Field: 'asynchronous' [13:14:06.872] - Field: 'calls' [13:14:06.873] - Field: 'globals' [13:14:06.873] - Field: 'stdout' [13:14:06.873] - Field: 'earlySignal' [13:14:06.873] - Field: 'lazy' [13:14:06.873] - Field: 'state' [13:14:06.873] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.874] - Launch lazy future ... [13:14:06.874] Packages needed by the future expression (n = 0): [13:14:06.874] Packages needed by future strategies (n = 0): [13:14:06.875] { [13:14:06.875] { [13:14:06.875] { [13:14:06.875] ...future.startTime <- base::Sys.time() [13:14:06.875] { [13:14:06.875] { [13:14:06.875] { [13:14:06.875] { [13:14:06.875] base::local({ [13:14:06.875] has_future <- base::requireNamespace("future", [13:14:06.875] quietly = TRUE) [13:14:06.875] if (has_future) { [13:14:06.875] ns <- base::getNamespace("future") [13:14:06.875] version <- ns[[".package"]][["version"]] [13:14:06.875] if (is.null(version)) [13:14:06.875] version <- utils::packageVersion("future") [13:14:06.875] } [13:14:06.875] else { [13:14:06.875] version <- NULL [13:14:06.875] } [13:14:06.875] if (!has_future || version < "1.8.0") { [13:14:06.875] info <- base::c(r_version = base::gsub("R version ", [13:14:06.875] "", base::R.version$version.string), [13:14:06.875] platform = base::sprintf("%s (%s-bit)", [13:14:06.875] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.875] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.875] "release", "version")], collapse = " "), [13:14:06.875] hostname = base::Sys.info()[["nodename"]]) [13:14:06.875] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.875] info) [13:14:06.875] info <- base::paste(info, collapse = "; ") [13:14:06.875] if (!has_future) { [13:14:06.875] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.875] info) [13:14:06.875] } [13:14:06.875] else { [13:14:06.875] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.875] info, version) [13:14:06.875] } [13:14:06.875] base::stop(msg) [13:14:06.875] } [13:14:06.875] }) [13:14:06.875] } [13:14:06.875] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.875] base::options(mc.cores = 1L) [13:14:06.875] } [13:14:06.875] options(future.plan = NULL) [13:14:06.875] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.875] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.875] } [13:14:06.875] ...future.workdir <- getwd() [13:14:06.875] } [13:14:06.875] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.875] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.875] } [13:14:06.875] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.875] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.875] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.875] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.875] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.875] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.875] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.875] base::names(...future.oldOptions)) [13:14:06.875] } [13:14:06.875] if (FALSE) { [13:14:06.875] } [13:14:06.875] else { [13:14:06.875] if (TRUE) { [13:14:06.875] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.875] open = "w") [13:14:06.875] } [13:14:06.875] else { [13:14:06.875] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.875] windows = "NUL", "/dev/null"), open = "w") [13:14:06.875] } [13:14:06.875] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.875] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.875] base::sink(type = "output", split = FALSE) [13:14:06.875] base::close(...future.stdout) [13:14:06.875] }, add = TRUE) [13:14:06.875] } [13:14:06.875] ...future.frame <- base::sys.nframe() [13:14:06.875] ...future.conditions <- base::list() [13:14:06.875] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.875] if (FALSE) { [13:14:06.875] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.875] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.875] } [13:14:06.875] ...future.result <- base::tryCatch({ [13:14:06.875] base::withCallingHandlers({ [13:14:06.875] ...future.value <- base::withVisible(base::local({ [13:14:06.875] ...future.makeSendCondition <- local({ [13:14:06.875] sendCondition <- NULL [13:14:06.875] function(frame = 1L) { [13:14:06.875] if (is.function(sendCondition)) [13:14:06.875] return(sendCondition) [13:14:06.875] ns <- getNamespace("parallel") [13:14:06.875] if (exists("sendData", mode = "function", [13:14:06.875] envir = ns)) { [13:14:06.875] parallel_sendData <- get("sendData", mode = "function", [13:14:06.875] envir = ns) [13:14:06.875] envir <- sys.frame(frame) [13:14:06.875] master <- NULL [13:14:06.875] while (!identical(envir, .GlobalEnv) && [13:14:06.875] !identical(envir, emptyenv())) { [13:14:06.875] if (exists("master", mode = "list", envir = envir, [13:14:06.875] inherits = FALSE)) { [13:14:06.875] master <- get("master", mode = "list", [13:14:06.875] envir = envir, inherits = FALSE) [13:14:06.875] if (inherits(master, c("SOCKnode", [13:14:06.875] "SOCK0node"))) { [13:14:06.875] sendCondition <<- function(cond) { [13:14:06.875] data <- list(type = "VALUE", value = cond, [13:14:06.875] success = TRUE) [13:14:06.875] parallel_sendData(master, data) [13:14:06.875] } [13:14:06.875] return(sendCondition) [13:14:06.875] } [13:14:06.875] } [13:14:06.875] frame <- frame + 1L [13:14:06.875] envir <- sys.frame(frame) [13:14:06.875] } [13:14:06.875] } [13:14:06.875] sendCondition <<- function(cond) NULL [13:14:06.875] } [13:14:06.875] }) [13:14:06.875] withCallingHandlers({ [13:14:06.875] { [13:14:06.875] do.call(function(...) { [13:14:06.875] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.875] if (!identical(...future.globals.maxSize.org, [13:14:06.875] ...future.globals.maxSize)) { [13:14:06.875] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.875] on.exit(options(oopts), add = TRUE) [13:14:06.875] } [13:14:06.875] { [13:14:06.875] lapply(seq_along(...future.elements_ii), [13:14:06.875] FUN = function(jj) { [13:14:06.875] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.875] ...future.FUN(...future.X_jj, ...) [13:14:06.875] }) [13:14:06.875] } [13:14:06.875] }, args = future.call.arguments) [13:14:06.875] } [13:14:06.875] }, immediateCondition = function(cond) { [13:14:06.875] sendCondition <- ...future.makeSendCondition() [13:14:06.875] sendCondition(cond) [13:14:06.875] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.875] { [13:14:06.875] inherits <- base::inherits [13:14:06.875] invokeRestart <- base::invokeRestart [13:14:06.875] is.null <- base::is.null [13:14:06.875] muffled <- FALSE [13:14:06.875] if (inherits(cond, "message")) { [13:14:06.875] muffled <- grepl(pattern, "muffleMessage") [13:14:06.875] if (muffled) [13:14:06.875] invokeRestart("muffleMessage") [13:14:06.875] } [13:14:06.875] else if (inherits(cond, "warning")) { [13:14:06.875] muffled <- grepl(pattern, "muffleWarning") [13:14:06.875] if (muffled) [13:14:06.875] invokeRestart("muffleWarning") [13:14:06.875] } [13:14:06.875] else if (inherits(cond, "condition")) { [13:14:06.875] if (!is.null(pattern)) { [13:14:06.875] computeRestarts <- base::computeRestarts [13:14:06.875] grepl <- base::grepl [13:14:06.875] restarts <- computeRestarts(cond) [13:14:06.875] for (restart in restarts) { [13:14:06.875] name <- restart$name [13:14:06.875] if (is.null(name)) [13:14:06.875] next [13:14:06.875] if (!grepl(pattern, name)) [13:14:06.875] next [13:14:06.875] invokeRestart(restart) [13:14:06.875] muffled <- TRUE [13:14:06.875] break [13:14:06.875] } [13:14:06.875] } [13:14:06.875] } [13:14:06.875] invisible(muffled) [13:14:06.875] } [13:14:06.875] muffleCondition(cond) [13:14:06.875] }) [13:14:06.875] })) [13:14:06.875] future::FutureResult(value = ...future.value$value, [13:14:06.875] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.875] ...future.rng), globalenv = if (FALSE) [13:14:06.875] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.875] ...future.globalenv.names)) [13:14:06.875] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.875] }, condition = base::local({ [13:14:06.875] c <- base::c [13:14:06.875] inherits <- base::inherits [13:14:06.875] invokeRestart <- base::invokeRestart [13:14:06.875] length <- base::length [13:14:06.875] list <- base::list [13:14:06.875] seq.int <- base::seq.int [13:14:06.875] signalCondition <- base::signalCondition [13:14:06.875] sys.calls <- base::sys.calls [13:14:06.875] `[[` <- base::`[[` [13:14:06.875] `+` <- base::`+` [13:14:06.875] `<<-` <- base::`<<-` [13:14:06.875] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.875] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.875] 3L)] [13:14:06.875] } [13:14:06.875] function(cond) { [13:14:06.875] is_error <- inherits(cond, "error") [13:14:06.875] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.875] NULL) [13:14:06.875] if (is_error) { [13:14:06.875] sessionInformation <- function() { [13:14:06.875] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.875] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.875] search = base::search(), system = base::Sys.info()) [13:14:06.875] } [13:14:06.875] ...future.conditions[[length(...future.conditions) + [13:14:06.875] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.875] cond$call), session = sessionInformation(), [13:14:06.875] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.875] signalCondition(cond) [13:14:06.875] } [13:14:06.875] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.875] "immediateCondition"))) { [13:14:06.875] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.875] ...future.conditions[[length(...future.conditions) + [13:14:06.875] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.875] if (TRUE && !signal) { [13:14:06.875] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.875] { [13:14:06.875] inherits <- base::inherits [13:14:06.875] invokeRestart <- base::invokeRestart [13:14:06.875] is.null <- base::is.null [13:14:06.875] muffled <- FALSE [13:14:06.875] if (inherits(cond, "message")) { [13:14:06.875] muffled <- grepl(pattern, "muffleMessage") [13:14:06.875] if (muffled) [13:14:06.875] invokeRestart("muffleMessage") [13:14:06.875] } [13:14:06.875] else if (inherits(cond, "warning")) { [13:14:06.875] muffled <- grepl(pattern, "muffleWarning") [13:14:06.875] if (muffled) [13:14:06.875] invokeRestart("muffleWarning") [13:14:06.875] } [13:14:06.875] else if (inherits(cond, "condition")) { [13:14:06.875] if (!is.null(pattern)) { [13:14:06.875] computeRestarts <- base::computeRestarts [13:14:06.875] grepl <- base::grepl [13:14:06.875] restarts <- computeRestarts(cond) [13:14:06.875] for (restart in restarts) { [13:14:06.875] name <- restart$name [13:14:06.875] if (is.null(name)) [13:14:06.875] next [13:14:06.875] if (!grepl(pattern, name)) [13:14:06.875] next [13:14:06.875] invokeRestart(restart) [13:14:06.875] muffled <- TRUE [13:14:06.875] break [13:14:06.875] } [13:14:06.875] } [13:14:06.875] } [13:14:06.875] invisible(muffled) [13:14:06.875] } [13:14:06.875] muffleCondition(cond, pattern = "^muffle") [13:14:06.875] } [13:14:06.875] } [13:14:06.875] else { [13:14:06.875] if (TRUE) { [13:14:06.875] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.875] { [13:14:06.875] inherits <- base::inherits [13:14:06.875] invokeRestart <- base::invokeRestart [13:14:06.875] is.null <- base::is.null [13:14:06.875] muffled <- FALSE [13:14:06.875] if (inherits(cond, "message")) { [13:14:06.875] muffled <- grepl(pattern, "muffleMessage") [13:14:06.875] if (muffled) [13:14:06.875] invokeRestart("muffleMessage") [13:14:06.875] } [13:14:06.875] else if (inherits(cond, "warning")) { [13:14:06.875] muffled <- grepl(pattern, "muffleWarning") [13:14:06.875] if (muffled) [13:14:06.875] invokeRestart("muffleWarning") [13:14:06.875] } [13:14:06.875] else if (inherits(cond, "condition")) { [13:14:06.875] if (!is.null(pattern)) { [13:14:06.875] computeRestarts <- base::computeRestarts [13:14:06.875] grepl <- base::grepl [13:14:06.875] restarts <- computeRestarts(cond) [13:14:06.875] for (restart in restarts) { [13:14:06.875] name <- restart$name [13:14:06.875] if (is.null(name)) [13:14:06.875] next [13:14:06.875] if (!grepl(pattern, name)) [13:14:06.875] next [13:14:06.875] invokeRestart(restart) [13:14:06.875] muffled <- TRUE [13:14:06.875] break [13:14:06.875] } [13:14:06.875] } [13:14:06.875] } [13:14:06.875] invisible(muffled) [13:14:06.875] } [13:14:06.875] muffleCondition(cond, pattern = "^muffle") [13:14:06.875] } [13:14:06.875] } [13:14:06.875] } [13:14:06.875] })) [13:14:06.875] }, error = function(ex) { [13:14:06.875] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.875] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.875] ...future.rng), started = ...future.startTime, [13:14:06.875] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.875] version = "1.8"), class = "FutureResult") [13:14:06.875] }, finally = { [13:14:06.875] if (!identical(...future.workdir, getwd())) [13:14:06.875] setwd(...future.workdir) [13:14:06.875] { [13:14:06.875] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.875] ...future.oldOptions$nwarnings <- NULL [13:14:06.875] } [13:14:06.875] base::options(...future.oldOptions) [13:14:06.875] if (.Platform$OS.type == "windows") { [13:14:06.875] old_names <- names(...future.oldEnvVars) [13:14:06.875] envs <- base::Sys.getenv() [13:14:06.875] names <- names(envs) [13:14:06.875] common <- intersect(names, old_names) [13:14:06.875] added <- setdiff(names, old_names) [13:14:06.875] removed <- setdiff(old_names, names) [13:14:06.875] changed <- common[...future.oldEnvVars[common] != [13:14:06.875] envs[common]] [13:14:06.875] NAMES <- toupper(changed) [13:14:06.875] args <- list() [13:14:06.875] for (kk in seq_along(NAMES)) { [13:14:06.875] name <- changed[[kk]] [13:14:06.875] NAME <- NAMES[[kk]] [13:14:06.875] if (name != NAME && is.element(NAME, old_names)) [13:14:06.875] next [13:14:06.875] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.875] } [13:14:06.875] NAMES <- toupper(added) [13:14:06.875] for (kk in seq_along(NAMES)) { [13:14:06.875] name <- added[[kk]] [13:14:06.875] NAME <- NAMES[[kk]] [13:14:06.875] if (name != NAME && is.element(NAME, old_names)) [13:14:06.875] next [13:14:06.875] args[[name]] <- "" [13:14:06.875] } [13:14:06.875] NAMES <- toupper(removed) [13:14:06.875] for (kk in seq_along(NAMES)) { [13:14:06.875] name <- removed[[kk]] [13:14:06.875] NAME <- NAMES[[kk]] [13:14:06.875] if (name != NAME && is.element(NAME, old_names)) [13:14:06.875] next [13:14:06.875] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.875] } [13:14:06.875] if (length(args) > 0) [13:14:06.875] base::do.call(base::Sys.setenv, args = args) [13:14:06.875] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.875] } [13:14:06.875] else { [13:14:06.875] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.875] } [13:14:06.875] { [13:14:06.875] if (base::length(...future.futureOptionsAdded) > [13:14:06.875] 0L) { [13:14:06.875] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.875] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.875] base::options(opts) [13:14:06.875] } [13:14:06.875] { [13:14:06.875] { [13:14:06.875] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.875] NULL [13:14:06.875] } [13:14:06.875] options(future.plan = NULL) [13:14:06.875] if (is.na(NA_character_)) [13:14:06.875] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.875] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.875] future::plan(list(function (..., workers = availableCores(), [13:14:06.875] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.875] envir = parent.frame()) [13:14:06.875] { [13:14:06.875] if (is.function(workers)) [13:14:06.875] workers <- workers() [13:14:06.875] workers <- structure(as.integer(workers), [13:14:06.875] class = class(workers)) [13:14:06.875] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.875] workers >= 1) [13:14:06.875] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.875] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.875] } [13:14:06.875] future <- MultisessionFuture(..., workers = workers, [13:14:06.875] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.875] envir = envir) [13:14:06.875] if (!future$lazy) [13:14:06.875] future <- run(future) [13:14:06.875] invisible(future) [13:14:06.875] }), .cleanup = FALSE, .init = FALSE) [13:14:06.875] } [13:14:06.875] } [13:14:06.875] } [13:14:06.875] }) [13:14:06.875] if (TRUE) { [13:14:06.875] base::sink(type = "output", split = FALSE) [13:14:06.875] if (TRUE) { [13:14:06.875] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.875] } [13:14:06.875] else { [13:14:06.875] ...future.result["stdout"] <- base::list(NULL) [13:14:06.875] } [13:14:06.875] base::close(...future.stdout) [13:14:06.875] ...future.stdout <- NULL [13:14:06.875] } [13:14:06.875] ...future.result$conditions <- ...future.conditions [13:14:06.875] ...future.result$finished <- base::Sys.time() [13:14:06.875] ...future.result [13:14:06.875] } [13:14:06.880] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:06.880] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:06.881] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:06.881] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.882] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.882] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:06.882] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:06.882] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.883] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.883] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.883] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.884] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:06.884] MultisessionFuture started [13:14:06.884] - Launch lazy future ... done [13:14:06.885] run() for 'MultisessionFuture' ... done [13:14:06.885] Created future: [13:14:06.901] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.901] - Validating connection of MultisessionFuture [13:14:06.904] - received message: FutureResult [13:14:06.904] - Received FutureResult [13:14:06.904] - Erased future from FutureRegistry [13:14:06.904] result() for ClusterFuture ... [13:14:06.904] - result already collected: FutureResult [13:14:06.904] result() for ClusterFuture ... done [13:14:06.905] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.885] MultisessionFuture: [13:14:06.885] Label: 'future_sapply-1' [13:14:06.885] Expression: [13:14:06.885] { [13:14:06.885] do.call(function(...) { [13:14:06.885] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.885] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.885] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.885] on.exit(options(oopts), add = TRUE) [13:14:06.885] } [13:14:06.885] { [13:14:06.885] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.885] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.885] ...future.FUN(...future.X_jj, ...) [13:14:06.885] }) [13:14:06.885] } [13:14:06.885] }, args = future.call.arguments) [13:14:06.885] } [13:14:06.885] Lazy evaluation: FALSE [13:14:06.885] Asynchronous evaluation: TRUE [13:14:06.885] Local evaluation: TRUE [13:14:06.885] Environment: R_GlobalEnv [13:14:06.885] Capture standard output: TRUE [13:14:06.885] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.885] Globals: 5 objects totaling 4.67 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.885] Packages: [13:14:06.885] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.885] Resolved: TRUE [13:14:06.885] Value: [13:14:06.885] Conditions captured: [13:14:06.885] Early signaling: FALSE [13:14:06.885] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.885] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.905] Chunk #1 of 2 ... DONE [13:14:06.905] Chunk #2 of 2 ... [13:14:06.905] - Finding globals in 'X' for chunk #2 ... [13:14:06.906] getGlobalsAndPackages() ... [13:14:06.906] Searching for globals... [13:14:06.906] [13:14:06.906] Searching for globals ... DONE [13:14:06.906] - globals: [0] [13:14:06.907] getGlobalsAndPackages() ... DONE [13:14:06.907] + additional globals found: [n=0] [13:14:06.907] + additional namespaces needed: [n=0] [13:14:06.907] - Finding globals in 'X' for chunk #2 ... DONE [13:14:06.907] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.907] - seeds: [13:14:06.907] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.908] getGlobalsAndPackages() ... [13:14:06.908] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.908] Resolving globals: FALSE [13:14:06.908] Tweak future expression to call with '...' arguments ... [13:14:06.908] { [13:14:06.908] do.call(function(...) { [13:14:06.908] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.908] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.908] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.908] on.exit(options(oopts), add = TRUE) [13:14:06.908] } [13:14:06.908] { [13:14:06.908] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.908] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.908] ...future.FUN(...future.X_jj, ...) [13:14:06.908] }) [13:14:06.908] } [13:14:06.908] }, args = future.call.arguments) [13:14:06.908] } [13:14:06.909] Tweak future expression to call with '...' arguments ... DONE [13:14:06.909] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.909] [13:14:06.910] getGlobalsAndPackages() ... DONE [13:14:06.910] run() for 'Future' ... [13:14:06.910] - state: 'created' [13:14:06.910] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:06.924] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.925] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:06.925] - Field: 'node' [13:14:06.925] - Field: 'label' [13:14:06.925] - Field: 'local' [13:14:06.925] - Field: 'owner' [13:14:06.926] - Field: 'envir' [13:14:06.926] - Field: 'workers' [13:14:06.926] - Field: 'packages' [13:14:06.926] - Field: 'gc' [13:14:06.926] - Field: 'conditions' [13:14:06.926] - Field: 'persistent' [13:14:06.927] - Field: 'expr' [13:14:06.927] - Field: 'uuid' [13:14:06.927] - Field: 'seed' [13:14:06.927] - Field: 'version' [13:14:06.927] - Field: 'result' [13:14:06.928] - Field: 'asynchronous' [13:14:06.928] - Field: 'calls' [13:14:06.928] - Field: 'globals' [13:14:06.928] - Field: 'stdout' [13:14:06.928] - Field: 'earlySignal' [13:14:06.928] - Field: 'lazy' [13:14:06.929] - Field: 'state' [13:14:06.929] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:06.929] - Launch lazy future ... [13:14:06.929] Packages needed by the future expression (n = 0): [13:14:06.929] Packages needed by future strategies (n = 0): [13:14:06.930] { [13:14:06.930] { [13:14:06.930] { [13:14:06.930] ...future.startTime <- base::Sys.time() [13:14:06.930] { [13:14:06.930] { [13:14:06.930] { [13:14:06.930] { [13:14:06.930] base::local({ [13:14:06.930] has_future <- base::requireNamespace("future", [13:14:06.930] quietly = TRUE) [13:14:06.930] if (has_future) { [13:14:06.930] ns <- base::getNamespace("future") [13:14:06.930] version <- ns[[".package"]][["version"]] [13:14:06.930] if (is.null(version)) [13:14:06.930] version <- utils::packageVersion("future") [13:14:06.930] } [13:14:06.930] else { [13:14:06.930] version <- NULL [13:14:06.930] } [13:14:06.930] if (!has_future || version < "1.8.0") { [13:14:06.930] info <- base::c(r_version = base::gsub("R version ", [13:14:06.930] "", base::R.version$version.string), [13:14:06.930] platform = base::sprintf("%s (%s-bit)", [13:14:06.930] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:06.930] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:06.930] "release", "version")], collapse = " "), [13:14:06.930] hostname = base::Sys.info()[["nodename"]]) [13:14:06.930] info <- base::sprintf("%s: %s", base::names(info), [13:14:06.930] info) [13:14:06.930] info <- base::paste(info, collapse = "; ") [13:14:06.930] if (!has_future) { [13:14:06.930] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:06.930] info) [13:14:06.930] } [13:14:06.930] else { [13:14:06.930] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:06.930] info, version) [13:14:06.930] } [13:14:06.930] base::stop(msg) [13:14:06.930] } [13:14:06.930] }) [13:14:06.930] } [13:14:06.930] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:06.930] base::options(mc.cores = 1L) [13:14:06.930] } [13:14:06.930] options(future.plan = NULL) [13:14:06.930] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.930] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:06.930] } [13:14:06.930] ...future.workdir <- getwd() [13:14:06.930] } [13:14:06.930] ...future.oldOptions <- base::as.list(base::.Options) [13:14:06.930] ...future.oldEnvVars <- base::Sys.getenv() [13:14:06.930] } [13:14:06.930] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:06.930] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:06.930] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:06.930] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:06.930] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:06.930] future.stdout.windows.reencode = NULL, width = 80L) [13:14:06.930] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:06.930] base::names(...future.oldOptions)) [13:14:06.930] } [13:14:06.930] if (FALSE) { [13:14:06.930] } [13:14:06.930] else { [13:14:06.930] if (TRUE) { [13:14:06.930] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:06.930] open = "w") [13:14:06.930] } [13:14:06.930] else { [13:14:06.930] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:06.930] windows = "NUL", "/dev/null"), open = "w") [13:14:06.930] } [13:14:06.930] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:06.930] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:06.930] base::sink(type = "output", split = FALSE) [13:14:06.930] base::close(...future.stdout) [13:14:06.930] }, add = TRUE) [13:14:06.930] } [13:14:06.930] ...future.frame <- base::sys.nframe() [13:14:06.930] ...future.conditions <- base::list() [13:14:06.930] ...future.rng <- base::globalenv()$.Random.seed [13:14:06.930] if (FALSE) { [13:14:06.930] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:06.930] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:06.930] } [13:14:06.930] ...future.result <- base::tryCatch({ [13:14:06.930] base::withCallingHandlers({ [13:14:06.930] ...future.value <- base::withVisible(base::local({ [13:14:06.930] ...future.makeSendCondition <- local({ [13:14:06.930] sendCondition <- NULL [13:14:06.930] function(frame = 1L) { [13:14:06.930] if (is.function(sendCondition)) [13:14:06.930] return(sendCondition) [13:14:06.930] ns <- getNamespace("parallel") [13:14:06.930] if (exists("sendData", mode = "function", [13:14:06.930] envir = ns)) { [13:14:06.930] parallel_sendData <- get("sendData", mode = "function", [13:14:06.930] envir = ns) [13:14:06.930] envir <- sys.frame(frame) [13:14:06.930] master <- NULL [13:14:06.930] while (!identical(envir, .GlobalEnv) && [13:14:06.930] !identical(envir, emptyenv())) { [13:14:06.930] if (exists("master", mode = "list", envir = envir, [13:14:06.930] inherits = FALSE)) { [13:14:06.930] master <- get("master", mode = "list", [13:14:06.930] envir = envir, inherits = FALSE) [13:14:06.930] if (inherits(master, c("SOCKnode", [13:14:06.930] "SOCK0node"))) { [13:14:06.930] sendCondition <<- function(cond) { [13:14:06.930] data <- list(type = "VALUE", value = cond, [13:14:06.930] success = TRUE) [13:14:06.930] parallel_sendData(master, data) [13:14:06.930] } [13:14:06.930] return(sendCondition) [13:14:06.930] } [13:14:06.930] } [13:14:06.930] frame <- frame + 1L [13:14:06.930] envir <- sys.frame(frame) [13:14:06.930] } [13:14:06.930] } [13:14:06.930] sendCondition <<- function(cond) NULL [13:14:06.930] } [13:14:06.930] }) [13:14:06.930] withCallingHandlers({ [13:14:06.930] { [13:14:06.930] do.call(function(...) { [13:14:06.930] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.930] if (!identical(...future.globals.maxSize.org, [13:14:06.930] ...future.globals.maxSize)) { [13:14:06.930] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.930] on.exit(options(oopts), add = TRUE) [13:14:06.930] } [13:14:06.930] { [13:14:06.930] lapply(seq_along(...future.elements_ii), [13:14:06.930] FUN = function(jj) { [13:14:06.930] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.930] ...future.FUN(...future.X_jj, ...) [13:14:06.930] }) [13:14:06.930] } [13:14:06.930] }, args = future.call.arguments) [13:14:06.930] } [13:14:06.930] }, immediateCondition = function(cond) { [13:14:06.930] sendCondition <- ...future.makeSendCondition() [13:14:06.930] sendCondition(cond) [13:14:06.930] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.930] { [13:14:06.930] inherits <- base::inherits [13:14:06.930] invokeRestart <- base::invokeRestart [13:14:06.930] is.null <- base::is.null [13:14:06.930] muffled <- FALSE [13:14:06.930] if (inherits(cond, "message")) { [13:14:06.930] muffled <- grepl(pattern, "muffleMessage") [13:14:06.930] if (muffled) [13:14:06.930] invokeRestart("muffleMessage") [13:14:06.930] } [13:14:06.930] else if (inherits(cond, "warning")) { [13:14:06.930] muffled <- grepl(pattern, "muffleWarning") [13:14:06.930] if (muffled) [13:14:06.930] invokeRestart("muffleWarning") [13:14:06.930] } [13:14:06.930] else if (inherits(cond, "condition")) { [13:14:06.930] if (!is.null(pattern)) { [13:14:06.930] computeRestarts <- base::computeRestarts [13:14:06.930] grepl <- base::grepl [13:14:06.930] restarts <- computeRestarts(cond) [13:14:06.930] for (restart in restarts) { [13:14:06.930] name <- restart$name [13:14:06.930] if (is.null(name)) [13:14:06.930] next [13:14:06.930] if (!grepl(pattern, name)) [13:14:06.930] next [13:14:06.930] invokeRestart(restart) [13:14:06.930] muffled <- TRUE [13:14:06.930] break [13:14:06.930] } [13:14:06.930] } [13:14:06.930] } [13:14:06.930] invisible(muffled) [13:14:06.930] } [13:14:06.930] muffleCondition(cond) [13:14:06.930] }) [13:14:06.930] })) [13:14:06.930] future::FutureResult(value = ...future.value$value, [13:14:06.930] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.930] ...future.rng), globalenv = if (FALSE) [13:14:06.930] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:06.930] ...future.globalenv.names)) [13:14:06.930] else NULL, started = ...future.startTime, version = "1.8") [13:14:06.930] }, condition = base::local({ [13:14:06.930] c <- base::c [13:14:06.930] inherits <- base::inherits [13:14:06.930] invokeRestart <- base::invokeRestart [13:14:06.930] length <- base::length [13:14:06.930] list <- base::list [13:14:06.930] seq.int <- base::seq.int [13:14:06.930] signalCondition <- base::signalCondition [13:14:06.930] sys.calls <- base::sys.calls [13:14:06.930] `[[` <- base::`[[` [13:14:06.930] `+` <- base::`+` [13:14:06.930] `<<-` <- base::`<<-` [13:14:06.930] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:06.930] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:06.930] 3L)] [13:14:06.930] } [13:14:06.930] function(cond) { [13:14:06.930] is_error <- inherits(cond, "error") [13:14:06.930] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:06.930] NULL) [13:14:06.930] if (is_error) { [13:14:06.930] sessionInformation <- function() { [13:14:06.930] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:06.930] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:06.930] search = base::search(), system = base::Sys.info()) [13:14:06.930] } [13:14:06.930] ...future.conditions[[length(...future.conditions) + [13:14:06.930] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:06.930] cond$call), session = sessionInformation(), [13:14:06.930] timestamp = base::Sys.time(), signaled = 0L) [13:14:06.930] signalCondition(cond) [13:14:06.930] } [13:14:06.930] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:06.930] "immediateCondition"))) { [13:14:06.930] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:06.930] ...future.conditions[[length(...future.conditions) + [13:14:06.930] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:06.930] if (TRUE && !signal) { [13:14:06.930] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.930] { [13:14:06.930] inherits <- base::inherits [13:14:06.930] invokeRestart <- base::invokeRestart [13:14:06.930] is.null <- base::is.null [13:14:06.930] muffled <- FALSE [13:14:06.930] if (inherits(cond, "message")) { [13:14:06.930] muffled <- grepl(pattern, "muffleMessage") [13:14:06.930] if (muffled) [13:14:06.930] invokeRestart("muffleMessage") [13:14:06.930] } [13:14:06.930] else if (inherits(cond, "warning")) { [13:14:06.930] muffled <- grepl(pattern, "muffleWarning") [13:14:06.930] if (muffled) [13:14:06.930] invokeRestart("muffleWarning") [13:14:06.930] } [13:14:06.930] else if (inherits(cond, "condition")) { [13:14:06.930] if (!is.null(pattern)) { [13:14:06.930] computeRestarts <- base::computeRestarts [13:14:06.930] grepl <- base::grepl [13:14:06.930] restarts <- computeRestarts(cond) [13:14:06.930] for (restart in restarts) { [13:14:06.930] name <- restart$name [13:14:06.930] if (is.null(name)) [13:14:06.930] next [13:14:06.930] if (!grepl(pattern, name)) [13:14:06.930] next [13:14:06.930] invokeRestart(restart) [13:14:06.930] muffled <- TRUE [13:14:06.930] break [13:14:06.930] } [13:14:06.930] } [13:14:06.930] } [13:14:06.930] invisible(muffled) [13:14:06.930] } [13:14:06.930] muffleCondition(cond, pattern = "^muffle") [13:14:06.930] } [13:14:06.930] } [13:14:06.930] else { [13:14:06.930] if (TRUE) { [13:14:06.930] muffleCondition <- function (cond, pattern = "^muffle") [13:14:06.930] { [13:14:06.930] inherits <- base::inherits [13:14:06.930] invokeRestart <- base::invokeRestart [13:14:06.930] is.null <- base::is.null [13:14:06.930] muffled <- FALSE [13:14:06.930] if (inherits(cond, "message")) { [13:14:06.930] muffled <- grepl(pattern, "muffleMessage") [13:14:06.930] if (muffled) [13:14:06.930] invokeRestart("muffleMessage") [13:14:06.930] } [13:14:06.930] else if (inherits(cond, "warning")) { [13:14:06.930] muffled <- grepl(pattern, "muffleWarning") [13:14:06.930] if (muffled) [13:14:06.930] invokeRestart("muffleWarning") [13:14:06.930] } [13:14:06.930] else if (inherits(cond, "condition")) { [13:14:06.930] if (!is.null(pattern)) { [13:14:06.930] computeRestarts <- base::computeRestarts [13:14:06.930] grepl <- base::grepl [13:14:06.930] restarts <- computeRestarts(cond) [13:14:06.930] for (restart in restarts) { [13:14:06.930] name <- restart$name [13:14:06.930] if (is.null(name)) [13:14:06.930] next [13:14:06.930] if (!grepl(pattern, name)) [13:14:06.930] next [13:14:06.930] invokeRestart(restart) [13:14:06.930] muffled <- TRUE [13:14:06.930] break [13:14:06.930] } [13:14:06.930] } [13:14:06.930] } [13:14:06.930] invisible(muffled) [13:14:06.930] } [13:14:06.930] muffleCondition(cond, pattern = "^muffle") [13:14:06.930] } [13:14:06.930] } [13:14:06.930] } [13:14:06.930] })) [13:14:06.930] }, error = function(ex) { [13:14:06.930] base::structure(base::list(value = NULL, visible = NULL, [13:14:06.930] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:06.930] ...future.rng), started = ...future.startTime, [13:14:06.930] finished = Sys.time(), session_uuid = NA_character_, [13:14:06.930] version = "1.8"), class = "FutureResult") [13:14:06.930] }, finally = { [13:14:06.930] if (!identical(...future.workdir, getwd())) [13:14:06.930] setwd(...future.workdir) [13:14:06.930] { [13:14:06.930] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:06.930] ...future.oldOptions$nwarnings <- NULL [13:14:06.930] } [13:14:06.930] base::options(...future.oldOptions) [13:14:06.930] if (.Platform$OS.type == "windows") { [13:14:06.930] old_names <- names(...future.oldEnvVars) [13:14:06.930] envs <- base::Sys.getenv() [13:14:06.930] names <- names(envs) [13:14:06.930] common <- intersect(names, old_names) [13:14:06.930] added <- setdiff(names, old_names) [13:14:06.930] removed <- setdiff(old_names, names) [13:14:06.930] changed <- common[...future.oldEnvVars[common] != [13:14:06.930] envs[common]] [13:14:06.930] NAMES <- toupper(changed) [13:14:06.930] args <- list() [13:14:06.930] for (kk in seq_along(NAMES)) { [13:14:06.930] name <- changed[[kk]] [13:14:06.930] NAME <- NAMES[[kk]] [13:14:06.930] if (name != NAME && is.element(NAME, old_names)) [13:14:06.930] next [13:14:06.930] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.930] } [13:14:06.930] NAMES <- toupper(added) [13:14:06.930] for (kk in seq_along(NAMES)) { [13:14:06.930] name <- added[[kk]] [13:14:06.930] NAME <- NAMES[[kk]] [13:14:06.930] if (name != NAME && is.element(NAME, old_names)) [13:14:06.930] next [13:14:06.930] args[[name]] <- "" [13:14:06.930] } [13:14:06.930] NAMES <- toupper(removed) [13:14:06.930] for (kk in seq_along(NAMES)) { [13:14:06.930] name <- removed[[kk]] [13:14:06.930] NAME <- NAMES[[kk]] [13:14:06.930] if (name != NAME && is.element(NAME, old_names)) [13:14:06.930] next [13:14:06.930] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:06.930] } [13:14:06.930] if (length(args) > 0) [13:14:06.930] base::do.call(base::Sys.setenv, args = args) [13:14:06.930] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:06.930] } [13:14:06.930] else { [13:14:06.930] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:06.930] } [13:14:06.930] { [13:14:06.930] if (base::length(...future.futureOptionsAdded) > [13:14:06.930] 0L) { [13:14:06.930] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:06.930] base::names(opts) <- ...future.futureOptionsAdded [13:14:06.930] base::options(opts) [13:14:06.930] } [13:14:06.930] { [13:14:06.930] { [13:14:06.930] base::options(mc.cores = ...future.mc.cores.old) [13:14:06.930] NULL [13:14:06.930] } [13:14:06.930] options(future.plan = NULL) [13:14:06.930] if (is.na(NA_character_)) [13:14:06.930] Sys.unsetenv("R_FUTURE_PLAN") [13:14:06.930] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:06.930] future::plan(list(function (..., workers = availableCores(), [13:14:06.930] lazy = FALSE, rscript_libs = .libPaths(), [13:14:06.930] envir = parent.frame()) [13:14:06.930] { [13:14:06.930] if (is.function(workers)) [13:14:06.930] workers <- workers() [13:14:06.930] workers <- structure(as.integer(workers), [13:14:06.930] class = class(workers)) [13:14:06.930] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:06.930] workers >= 1) [13:14:06.930] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:06.930] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:06.930] } [13:14:06.930] future <- MultisessionFuture(..., workers = workers, [13:14:06.930] lazy = lazy, rscript_libs = rscript_libs, [13:14:06.930] envir = envir) [13:14:06.930] if (!future$lazy) [13:14:06.930] future <- run(future) [13:14:06.930] invisible(future) [13:14:06.930] }), .cleanup = FALSE, .init = FALSE) [13:14:06.930] } [13:14:06.930] } [13:14:06.930] } [13:14:06.930] }) [13:14:06.930] if (TRUE) { [13:14:06.930] base::sink(type = "output", split = FALSE) [13:14:06.930] if (TRUE) { [13:14:06.930] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:06.930] } [13:14:06.930] else { [13:14:06.930] ...future.result["stdout"] <- base::list(NULL) [13:14:06.930] } [13:14:06.930] base::close(...future.stdout) [13:14:06.930] ...future.stdout <- NULL [13:14:06.930] } [13:14:06.930] ...future.result$conditions <- ...future.conditions [13:14:06.930] ...future.result$finished <- base::Sys.time() [13:14:06.930] ...future.result [13:14:06.930] } [13:14:06.935] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:06.936] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:06.936] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:06.936] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:06.937] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:06.937] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:06.937] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:06.938] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:06.938] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:06.938] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:06.939] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:06.939] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:06.939] MultisessionFuture started [13:14:06.940] - Launch lazy future ... done [13:14:06.940] run() for 'MultisessionFuture' ... done [13:14:06.940] Created future: [13:14:06.955] receiveMessageFromWorker() for ClusterFuture ... [13:14:06.955] - Validating connection of MultisessionFuture [13:14:06.956] - received message: FutureResult [13:14:06.956] - Received FutureResult [13:14:06.956] - Erased future from FutureRegistry [13:14:06.956] result() for ClusterFuture ... [13:14:06.956] - result already collected: FutureResult [13:14:06.956] result() for ClusterFuture ... done [13:14:06.957] receiveMessageFromWorker() for ClusterFuture ... done [13:14:06.940] MultisessionFuture: [13:14:06.940] Label: 'future_sapply-2' [13:14:06.940] Expression: [13:14:06.940] { [13:14:06.940] do.call(function(...) { [13:14:06.940] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.940] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.940] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.940] on.exit(options(oopts), add = TRUE) [13:14:06.940] } [13:14:06.940] { [13:14:06.940] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.940] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.940] ...future.FUN(...future.X_jj, ...) [13:14:06.940] }) [13:14:06.940] } [13:14:06.940] }, args = future.call.arguments) [13:14:06.940] } [13:14:06.940] Lazy evaluation: FALSE [13:14:06.940] Asynchronous evaluation: TRUE [13:14:06.940] Local evaluation: TRUE [13:14:06.940] Environment: R_GlobalEnv [13:14:06.940] Capture standard output: TRUE [13:14:06.940] Capture condition classes: 'condition' (excluding 'nothing') [13:14:06.940] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:06.940] Packages: [13:14:06.940] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:06.940] Resolved: TRUE [13:14:06.940] Value: [13:14:06.940] Conditions captured: [13:14:06.940] Early signaling: FALSE [13:14:06.940] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:06.940] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:06.957] Chunk #2 of 2 ... DONE [13:14:06.957] Launching 2 futures (chunks) ... DONE [13:14:06.957] Resolving 2 futures (chunks) ... [13:14:06.957] resolve() on list ... [13:14:06.958] recursive: 0 [13:14:06.958] length: 2 [13:14:06.958] [13:14:06.958] Future #1 [13:14:06.958] result() for ClusterFuture ... [13:14:06.958] - result already collected: FutureResult [13:14:06.959] result() for ClusterFuture ... done [13:14:06.959] result() for ClusterFuture ... [13:14:06.959] - result already collected: FutureResult [13:14:06.959] result() for ClusterFuture ... done [13:14:06.959] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:06.959] - nx: 2 [13:14:06.960] - relay: TRUE [13:14:06.960] - stdout: TRUE [13:14:06.960] - signal: TRUE [13:14:06.960] - resignal: FALSE [13:14:06.960] - force: TRUE [13:14:06.960] - relayed: [n=2] FALSE, FALSE [13:14:06.960] - queued futures: [n=2] FALSE, FALSE [13:14:06.961] - until=1 [13:14:06.961] - relaying element #1 [13:14:06.961] result() for ClusterFuture ... [13:14:06.961] - result already collected: FutureResult [13:14:06.961] result() for ClusterFuture ... done [13:14:06.961] result() for ClusterFuture ... [13:14:06.962] - result already collected: FutureResult [13:14:06.962] result() for ClusterFuture ... done [13:14:06.962] result() for ClusterFuture ... [13:14:06.962] - result already collected: FutureResult [13:14:06.962] result() for ClusterFuture ... done [13:14:06.962] result() for ClusterFuture ... [13:14:06.963] - result already collected: FutureResult [13:14:06.963] result() for ClusterFuture ... done [13:14:06.963] - relayed: [n=2] TRUE, FALSE [13:14:06.963] - queued futures: [n=2] TRUE, FALSE [13:14:06.963] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:06.963] length: 1 (resolved future 1) [13:14:06.964] Future #2 [13:14:06.964] result() for ClusterFuture ... [13:14:06.964] - result already collected: FutureResult [13:14:06.964] result() for ClusterFuture ... done [13:14:06.964] result() for ClusterFuture ... [13:14:06.964] - result already collected: FutureResult [13:14:06.964] result() for ClusterFuture ... done [13:14:06.965] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:06.965] - nx: 2 [13:14:06.965] - relay: TRUE [13:14:06.965] - stdout: TRUE [13:14:06.965] - signal: TRUE [13:14:06.965] - resignal: FALSE [13:14:06.966] - force: TRUE [13:14:06.966] - relayed: [n=2] TRUE, FALSE [13:14:06.966] - queued futures: [n=2] TRUE, FALSE [13:14:06.966] - until=2 [13:14:06.966] - relaying element #2 [13:14:06.966] result() for ClusterFuture ... [13:14:06.966] - result already collected: FutureResult [13:14:06.967] result() for ClusterFuture ... done [13:14:06.967] result() for ClusterFuture ... [13:14:06.967] - result already collected: FutureResult [13:14:06.967] result() for ClusterFuture ... done [13:14:06.967] result() for ClusterFuture ... [13:14:06.967] - result already collected: FutureResult [13:14:06.968] result() for ClusterFuture ... done [13:14:06.968] result() for ClusterFuture ... [13:14:06.968] - result already collected: FutureResult [13:14:06.968] result() for ClusterFuture ... done [13:14:06.968] - relayed: [n=2] TRUE, TRUE [13:14:06.968] - queued futures: [n=2] TRUE, TRUE [13:14:06.969] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:06.969] length: 0 (resolved future 2) [13:14:06.969] Relaying remaining futures [13:14:06.969] signalConditionsASAP(NULL, pos=0) ... [13:14:06.969] - nx: 2 [13:14:06.969] - relay: TRUE [13:14:06.969] - stdout: TRUE [13:14:06.970] - signal: TRUE [13:14:06.970] - resignal: FALSE [13:14:06.970] - force: TRUE [13:14:06.970] - relayed: [n=2] TRUE, TRUE [13:14:06.970] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:06.970] - relayed: [n=2] TRUE, TRUE [13:14:06.971] - queued futures: [n=2] TRUE, TRUE [13:14:06.971] signalConditionsASAP(NULL, pos=0) ... done [13:14:06.971] resolve() on list ... DONE [13:14:06.971] result() for ClusterFuture ... [13:14:06.971] - result already collected: FutureResult [13:14:06.971] result() for ClusterFuture ... done [13:14:06.972] result() for ClusterFuture ... [13:14:06.972] - result already collected: FutureResult [13:14:06.972] result() for ClusterFuture ... done [13:14:06.972] result() for ClusterFuture ... [13:14:06.972] - result already collected: FutureResult [13:14:06.972] result() for ClusterFuture ... done [13:14:06.973] result() for ClusterFuture ... [13:14:06.973] - result already collected: FutureResult [13:14:06.973] result() for ClusterFuture ... done [13:14:06.973] - Number of value chunks collected: 2 [13:14:06.973] Resolving 2 futures (chunks) ... DONE [13:14:06.973] Reducing values from 2 chunks ... [13:14:06.974] - Number of values collected after concatenation: 3 [13:14:06.974] - Number of values expected: 3 [13:14:06.974] Reducing values from 2 chunks ... DONE [13:14:06.974] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" $ y1: num [1:3, 1:5, 1:3] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:3] "a" "b" "c" [13:14:06.978] future_lapply() ... [13:14:06.980] Number of chunks: 2 [13:14:06.981] getGlobalsAndPackagesXApply() ... [13:14:06.981] - future.globals: TRUE [13:14:06.981] getGlobalsAndPackages() ... [13:14:06.981] Searching for globals... [13:14:06.982] - globals found: [1] 'FUN' [13:14:06.982] Searching for globals ... DONE [13:14:06.983] Resolving globals: FALSE [13:14:06.983] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:06.983] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:06.984] - globals: [1] 'FUN' [13:14:06.984] [13:14:06.984] getGlobalsAndPackages() ... DONE [13:14:06.984] - globals found/used: [n=1] 'FUN' [13:14:06.984] - needed namespaces: [n=0] [13:14:06.984] Finding globals ... DONE [13:14:06.985] - use_args: TRUE [13:14:06.985] - Getting '...' globals ... [13:14:06.985] resolve() on list ... [13:14:06.985] recursive: 0 [13:14:06.985] length: 1 [13:14:06.986] elements: '...' [13:14:06.986] length: 0 (resolved future 1) [13:14:06.986] resolve() on list ... DONE [13:14:06.986] - '...' content: [n=0] [13:14:06.986] List of 1 [13:14:06.986] $ ...: list() [13:14:06.986] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.986] - attr(*, "where")=List of 1 [13:14:06.986] ..$ ...: [13:14:06.986] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.986] - attr(*, "resolved")= logi TRUE [13:14:06.986] - attr(*, "total_size")= num NA [13:14:06.989] - Getting '...' globals ... DONE [13:14:06.990] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:06.990] List of 2 [13:14:06.990] $ ...future.FUN:function (x) [13:14:06.990] $ ... : list() [13:14:06.990] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:06.990] - attr(*, "where")=List of 2 [13:14:06.990] ..$ ...future.FUN: [13:14:06.990] ..$ ... : [13:14:06.990] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:06.990] - attr(*, "resolved")= logi FALSE [13:14:06.990] - attr(*, "total_size")= num 848 [13:14:06.993] Packages to be attached in all futures: [n=0] [13:14:06.993] getGlobalsAndPackagesXApply() ... DONE [13:14:06.994] Number of futures (= number of chunks): 2 [13:14:06.994] Launching 2 futures (chunks) ... [13:14:06.994] Chunk #1 of 2 ... [13:14:06.994] - Finding globals in 'X' for chunk #1 ... [13:14:06.994] getGlobalsAndPackages() ... [13:14:06.994] Searching for globals... [13:14:06.995] [13:14:06.995] Searching for globals ... DONE [13:14:06.995] - globals: [0] [13:14:06.995] getGlobalsAndPackages() ... DONE [13:14:06.995] + additional globals found: [n=0] [13:14:06.996] + additional namespaces needed: [n=0] [13:14:06.996] - Finding globals in 'X' for chunk #1 ... DONE [13:14:06.996] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:06.996] - seeds: [13:14:06.996] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.996] getGlobalsAndPackages() ... [13:14:06.996] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.997] Resolving globals: FALSE [13:14:06.997] Tweak future expression to call with '...' arguments ... [13:14:06.997] { [13:14:06.997] do.call(function(...) { [13:14:06.997] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:06.997] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:06.997] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:06.997] on.exit(options(oopts), add = TRUE) [13:14:06.997] } [13:14:06.997] { [13:14:06.997] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:06.997] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:06.997] ...future.FUN(...future.X_jj, ...) [13:14:06.997] }) [13:14:06.997] } [13:14:06.997] }, args = future.call.arguments) [13:14:06.997] } [13:14:06.997] Tweak future expression to call with '...' arguments ... DONE [13:14:06.998] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:06.998] [13:14:06.998] getGlobalsAndPackages() ... DONE [13:14:06.999] run() for 'Future' ... [13:14:06.999] - state: 'created' [13:14:06.999] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.013] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.013] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.014] - Field: 'node' [13:14:07.014] - Field: 'label' [13:14:07.014] - Field: 'local' [13:14:07.014] - Field: 'owner' [13:14:07.014] - Field: 'envir' [13:14:07.015] - Field: 'workers' [13:14:07.015] - Field: 'packages' [13:14:07.015] - Field: 'gc' [13:14:07.015] - Field: 'conditions' [13:14:07.015] - Field: 'persistent' [13:14:07.015] - Field: 'expr' [13:14:07.016] - Field: 'uuid' [13:14:07.016] - Field: 'seed' [13:14:07.016] - Field: 'version' [13:14:07.016] - Field: 'result' [13:14:07.016] - Field: 'asynchronous' [13:14:07.017] - Field: 'calls' [13:14:07.017] - Field: 'globals' [13:14:07.017] - Field: 'stdout' [13:14:07.017] - Field: 'earlySignal' [13:14:07.017] - Field: 'lazy' [13:14:07.017] - Field: 'state' [13:14:07.018] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.018] - Launch lazy future ... [13:14:07.018] Packages needed by the future expression (n = 0): [13:14:07.018] Packages needed by future strategies (n = 0): [13:14:07.019] { [13:14:07.019] { [13:14:07.019] { [13:14:07.019] ...future.startTime <- base::Sys.time() [13:14:07.019] { [13:14:07.019] { [13:14:07.019] { [13:14:07.019] { [13:14:07.019] base::local({ [13:14:07.019] has_future <- base::requireNamespace("future", [13:14:07.019] quietly = TRUE) [13:14:07.019] if (has_future) { [13:14:07.019] ns <- base::getNamespace("future") [13:14:07.019] version <- ns[[".package"]][["version"]] [13:14:07.019] if (is.null(version)) [13:14:07.019] version <- utils::packageVersion("future") [13:14:07.019] } [13:14:07.019] else { [13:14:07.019] version <- NULL [13:14:07.019] } [13:14:07.019] if (!has_future || version < "1.8.0") { [13:14:07.019] info <- base::c(r_version = base::gsub("R version ", [13:14:07.019] "", base::R.version$version.string), [13:14:07.019] platform = base::sprintf("%s (%s-bit)", [13:14:07.019] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.019] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.019] "release", "version")], collapse = " "), [13:14:07.019] hostname = base::Sys.info()[["nodename"]]) [13:14:07.019] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.019] info) [13:14:07.019] info <- base::paste(info, collapse = "; ") [13:14:07.019] if (!has_future) { [13:14:07.019] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.019] info) [13:14:07.019] } [13:14:07.019] else { [13:14:07.019] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.019] info, version) [13:14:07.019] } [13:14:07.019] base::stop(msg) [13:14:07.019] } [13:14:07.019] }) [13:14:07.019] } [13:14:07.019] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.019] base::options(mc.cores = 1L) [13:14:07.019] } [13:14:07.019] options(future.plan = NULL) [13:14:07.019] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.019] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.019] } [13:14:07.019] ...future.workdir <- getwd() [13:14:07.019] } [13:14:07.019] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.019] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.019] } [13:14:07.019] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.019] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.019] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.019] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.019] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.019] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.019] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.019] base::names(...future.oldOptions)) [13:14:07.019] } [13:14:07.019] if (FALSE) { [13:14:07.019] } [13:14:07.019] else { [13:14:07.019] if (TRUE) { [13:14:07.019] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.019] open = "w") [13:14:07.019] } [13:14:07.019] else { [13:14:07.019] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.019] windows = "NUL", "/dev/null"), open = "w") [13:14:07.019] } [13:14:07.019] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.019] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.019] base::sink(type = "output", split = FALSE) [13:14:07.019] base::close(...future.stdout) [13:14:07.019] }, add = TRUE) [13:14:07.019] } [13:14:07.019] ...future.frame <- base::sys.nframe() [13:14:07.019] ...future.conditions <- base::list() [13:14:07.019] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.019] if (FALSE) { [13:14:07.019] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.019] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.019] } [13:14:07.019] ...future.result <- base::tryCatch({ [13:14:07.019] base::withCallingHandlers({ [13:14:07.019] ...future.value <- base::withVisible(base::local({ [13:14:07.019] ...future.makeSendCondition <- local({ [13:14:07.019] sendCondition <- NULL [13:14:07.019] function(frame = 1L) { [13:14:07.019] if (is.function(sendCondition)) [13:14:07.019] return(sendCondition) [13:14:07.019] ns <- getNamespace("parallel") [13:14:07.019] if (exists("sendData", mode = "function", [13:14:07.019] envir = ns)) { [13:14:07.019] parallel_sendData <- get("sendData", mode = "function", [13:14:07.019] envir = ns) [13:14:07.019] envir <- sys.frame(frame) [13:14:07.019] master <- NULL [13:14:07.019] while (!identical(envir, .GlobalEnv) && [13:14:07.019] !identical(envir, emptyenv())) { [13:14:07.019] if (exists("master", mode = "list", envir = envir, [13:14:07.019] inherits = FALSE)) { [13:14:07.019] master <- get("master", mode = "list", [13:14:07.019] envir = envir, inherits = FALSE) [13:14:07.019] if (inherits(master, c("SOCKnode", [13:14:07.019] "SOCK0node"))) { [13:14:07.019] sendCondition <<- function(cond) { [13:14:07.019] data <- list(type = "VALUE", value = cond, [13:14:07.019] success = TRUE) [13:14:07.019] parallel_sendData(master, data) [13:14:07.019] } [13:14:07.019] return(sendCondition) [13:14:07.019] } [13:14:07.019] } [13:14:07.019] frame <- frame + 1L [13:14:07.019] envir <- sys.frame(frame) [13:14:07.019] } [13:14:07.019] } [13:14:07.019] sendCondition <<- function(cond) NULL [13:14:07.019] } [13:14:07.019] }) [13:14:07.019] withCallingHandlers({ [13:14:07.019] { [13:14:07.019] do.call(function(...) { [13:14:07.019] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.019] if (!identical(...future.globals.maxSize.org, [13:14:07.019] ...future.globals.maxSize)) { [13:14:07.019] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.019] on.exit(options(oopts), add = TRUE) [13:14:07.019] } [13:14:07.019] { [13:14:07.019] lapply(seq_along(...future.elements_ii), [13:14:07.019] FUN = function(jj) { [13:14:07.019] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.019] ...future.FUN(...future.X_jj, ...) [13:14:07.019] }) [13:14:07.019] } [13:14:07.019] }, args = future.call.arguments) [13:14:07.019] } [13:14:07.019] }, immediateCondition = function(cond) { [13:14:07.019] sendCondition <- ...future.makeSendCondition() [13:14:07.019] sendCondition(cond) [13:14:07.019] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.019] { [13:14:07.019] inherits <- base::inherits [13:14:07.019] invokeRestart <- base::invokeRestart [13:14:07.019] is.null <- base::is.null [13:14:07.019] muffled <- FALSE [13:14:07.019] if (inherits(cond, "message")) { [13:14:07.019] muffled <- grepl(pattern, "muffleMessage") [13:14:07.019] if (muffled) [13:14:07.019] invokeRestart("muffleMessage") [13:14:07.019] } [13:14:07.019] else if (inherits(cond, "warning")) { [13:14:07.019] muffled <- grepl(pattern, "muffleWarning") [13:14:07.019] if (muffled) [13:14:07.019] invokeRestart("muffleWarning") [13:14:07.019] } [13:14:07.019] else if (inherits(cond, "condition")) { [13:14:07.019] if (!is.null(pattern)) { [13:14:07.019] computeRestarts <- base::computeRestarts [13:14:07.019] grepl <- base::grepl [13:14:07.019] restarts <- computeRestarts(cond) [13:14:07.019] for (restart in restarts) { [13:14:07.019] name <- restart$name [13:14:07.019] if (is.null(name)) [13:14:07.019] next [13:14:07.019] if (!grepl(pattern, name)) [13:14:07.019] next [13:14:07.019] invokeRestart(restart) [13:14:07.019] muffled <- TRUE [13:14:07.019] break [13:14:07.019] } [13:14:07.019] } [13:14:07.019] } [13:14:07.019] invisible(muffled) [13:14:07.019] } [13:14:07.019] muffleCondition(cond) [13:14:07.019] }) [13:14:07.019] })) [13:14:07.019] future::FutureResult(value = ...future.value$value, [13:14:07.019] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.019] ...future.rng), globalenv = if (FALSE) [13:14:07.019] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.019] ...future.globalenv.names)) [13:14:07.019] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.019] }, condition = base::local({ [13:14:07.019] c <- base::c [13:14:07.019] inherits <- base::inherits [13:14:07.019] invokeRestart <- base::invokeRestart [13:14:07.019] length <- base::length [13:14:07.019] list <- base::list [13:14:07.019] seq.int <- base::seq.int [13:14:07.019] signalCondition <- base::signalCondition [13:14:07.019] sys.calls <- base::sys.calls [13:14:07.019] `[[` <- base::`[[` [13:14:07.019] `+` <- base::`+` [13:14:07.019] `<<-` <- base::`<<-` [13:14:07.019] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.019] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.019] 3L)] [13:14:07.019] } [13:14:07.019] function(cond) { [13:14:07.019] is_error <- inherits(cond, "error") [13:14:07.019] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.019] NULL) [13:14:07.019] if (is_error) { [13:14:07.019] sessionInformation <- function() { [13:14:07.019] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.019] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.019] search = base::search(), system = base::Sys.info()) [13:14:07.019] } [13:14:07.019] ...future.conditions[[length(...future.conditions) + [13:14:07.019] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.019] cond$call), session = sessionInformation(), [13:14:07.019] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.019] signalCondition(cond) [13:14:07.019] } [13:14:07.019] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.019] "immediateCondition"))) { [13:14:07.019] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.019] ...future.conditions[[length(...future.conditions) + [13:14:07.019] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.019] if (TRUE && !signal) { [13:14:07.019] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.019] { [13:14:07.019] inherits <- base::inherits [13:14:07.019] invokeRestart <- base::invokeRestart [13:14:07.019] is.null <- base::is.null [13:14:07.019] muffled <- FALSE [13:14:07.019] if (inherits(cond, "message")) { [13:14:07.019] muffled <- grepl(pattern, "muffleMessage") [13:14:07.019] if (muffled) [13:14:07.019] invokeRestart("muffleMessage") [13:14:07.019] } [13:14:07.019] else if (inherits(cond, "warning")) { [13:14:07.019] muffled <- grepl(pattern, "muffleWarning") [13:14:07.019] if (muffled) [13:14:07.019] invokeRestart("muffleWarning") [13:14:07.019] } [13:14:07.019] else if (inherits(cond, "condition")) { [13:14:07.019] if (!is.null(pattern)) { [13:14:07.019] computeRestarts <- base::computeRestarts [13:14:07.019] grepl <- base::grepl [13:14:07.019] restarts <- computeRestarts(cond) [13:14:07.019] for (restart in restarts) { [13:14:07.019] name <- restart$name [13:14:07.019] if (is.null(name)) [13:14:07.019] next [13:14:07.019] if (!grepl(pattern, name)) [13:14:07.019] next [13:14:07.019] invokeRestart(restart) [13:14:07.019] muffled <- TRUE [13:14:07.019] break [13:14:07.019] } [13:14:07.019] } [13:14:07.019] } [13:14:07.019] invisible(muffled) [13:14:07.019] } [13:14:07.019] muffleCondition(cond, pattern = "^muffle") [13:14:07.019] } [13:14:07.019] } [13:14:07.019] else { [13:14:07.019] if (TRUE) { [13:14:07.019] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.019] { [13:14:07.019] inherits <- base::inherits [13:14:07.019] invokeRestart <- base::invokeRestart [13:14:07.019] is.null <- base::is.null [13:14:07.019] muffled <- FALSE [13:14:07.019] if (inherits(cond, "message")) { [13:14:07.019] muffled <- grepl(pattern, "muffleMessage") [13:14:07.019] if (muffled) [13:14:07.019] invokeRestart("muffleMessage") [13:14:07.019] } [13:14:07.019] else if (inherits(cond, "warning")) { [13:14:07.019] muffled <- grepl(pattern, "muffleWarning") [13:14:07.019] if (muffled) [13:14:07.019] invokeRestart("muffleWarning") [13:14:07.019] } [13:14:07.019] else if (inherits(cond, "condition")) { [13:14:07.019] if (!is.null(pattern)) { [13:14:07.019] computeRestarts <- base::computeRestarts [13:14:07.019] grepl <- base::grepl [13:14:07.019] restarts <- computeRestarts(cond) [13:14:07.019] for (restart in restarts) { [13:14:07.019] name <- restart$name [13:14:07.019] if (is.null(name)) [13:14:07.019] next [13:14:07.019] if (!grepl(pattern, name)) [13:14:07.019] next [13:14:07.019] invokeRestart(restart) [13:14:07.019] muffled <- TRUE [13:14:07.019] break [13:14:07.019] } [13:14:07.019] } [13:14:07.019] } [13:14:07.019] invisible(muffled) [13:14:07.019] } [13:14:07.019] muffleCondition(cond, pattern = "^muffle") [13:14:07.019] } [13:14:07.019] } [13:14:07.019] } [13:14:07.019] })) [13:14:07.019] }, error = function(ex) { [13:14:07.019] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.019] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.019] ...future.rng), started = ...future.startTime, [13:14:07.019] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.019] version = "1.8"), class = "FutureResult") [13:14:07.019] }, finally = { [13:14:07.019] if (!identical(...future.workdir, getwd())) [13:14:07.019] setwd(...future.workdir) [13:14:07.019] { [13:14:07.019] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.019] ...future.oldOptions$nwarnings <- NULL [13:14:07.019] } [13:14:07.019] base::options(...future.oldOptions) [13:14:07.019] if (.Platform$OS.type == "windows") { [13:14:07.019] old_names <- names(...future.oldEnvVars) [13:14:07.019] envs <- base::Sys.getenv() [13:14:07.019] names <- names(envs) [13:14:07.019] common <- intersect(names, old_names) [13:14:07.019] added <- setdiff(names, old_names) [13:14:07.019] removed <- setdiff(old_names, names) [13:14:07.019] changed <- common[...future.oldEnvVars[common] != [13:14:07.019] envs[common]] [13:14:07.019] NAMES <- toupper(changed) [13:14:07.019] args <- list() [13:14:07.019] for (kk in seq_along(NAMES)) { [13:14:07.019] name <- changed[[kk]] [13:14:07.019] NAME <- NAMES[[kk]] [13:14:07.019] if (name != NAME && is.element(NAME, old_names)) [13:14:07.019] next [13:14:07.019] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.019] } [13:14:07.019] NAMES <- toupper(added) [13:14:07.019] for (kk in seq_along(NAMES)) { [13:14:07.019] name <- added[[kk]] [13:14:07.019] NAME <- NAMES[[kk]] [13:14:07.019] if (name != NAME && is.element(NAME, old_names)) [13:14:07.019] next [13:14:07.019] args[[name]] <- "" [13:14:07.019] } [13:14:07.019] NAMES <- toupper(removed) [13:14:07.019] for (kk in seq_along(NAMES)) { [13:14:07.019] name <- removed[[kk]] [13:14:07.019] NAME <- NAMES[[kk]] [13:14:07.019] if (name != NAME && is.element(NAME, old_names)) [13:14:07.019] next [13:14:07.019] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.019] } [13:14:07.019] if (length(args) > 0) [13:14:07.019] base::do.call(base::Sys.setenv, args = args) [13:14:07.019] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.019] } [13:14:07.019] else { [13:14:07.019] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.019] } [13:14:07.019] { [13:14:07.019] if (base::length(...future.futureOptionsAdded) > [13:14:07.019] 0L) { [13:14:07.019] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.019] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.019] base::options(opts) [13:14:07.019] } [13:14:07.019] { [13:14:07.019] { [13:14:07.019] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.019] NULL [13:14:07.019] } [13:14:07.019] options(future.plan = NULL) [13:14:07.019] if (is.na(NA_character_)) [13:14:07.019] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.019] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.019] future::plan(list(function (..., workers = availableCores(), [13:14:07.019] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.019] envir = parent.frame()) [13:14:07.019] { [13:14:07.019] if (is.function(workers)) [13:14:07.019] workers <- workers() [13:14:07.019] workers <- structure(as.integer(workers), [13:14:07.019] class = class(workers)) [13:14:07.019] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.019] workers >= 1) [13:14:07.019] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.019] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.019] } [13:14:07.019] future <- MultisessionFuture(..., workers = workers, [13:14:07.019] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.019] envir = envir) [13:14:07.019] if (!future$lazy) [13:14:07.019] future <- run(future) [13:14:07.019] invisible(future) [13:14:07.019] }), .cleanup = FALSE, .init = FALSE) [13:14:07.019] } [13:14:07.019] } [13:14:07.019] } [13:14:07.019] }) [13:14:07.019] if (TRUE) { [13:14:07.019] base::sink(type = "output", split = FALSE) [13:14:07.019] if (TRUE) { [13:14:07.019] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.019] } [13:14:07.019] else { [13:14:07.019] ...future.result["stdout"] <- base::list(NULL) [13:14:07.019] } [13:14:07.019] base::close(...future.stdout) [13:14:07.019] ...future.stdout <- NULL [13:14:07.019] } [13:14:07.019] ...future.result$conditions <- ...future.conditions [13:14:07.019] ...future.result$finished <- base::Sys.time() [13:14:07.019] ...future.result [13:14:07.019] } [13:14:07.024] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:07.025] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:07.025] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:07.026] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.026] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.026] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.027] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.027] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.027] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.028] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.028] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.028] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:07.029] MultisessionFuture started [13:14:07.029] - Launch lazy future ... done [13:14:07.029] run() for 'MultisessionFuture' ... done [13:14:07.030] Created future: [13:14:07.045] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.045] - Validating connection of MultisessionFuture [13:14:07.046] - received message: FutureResult [13:14:07.046] - Received FutureResult [13:14:07.046] - Erased future from FutureRegistry [13:14:07.046] result() for ClusterFuture ... [13:14:07.046] - result already collected: FutureResult [13:14:07.047] result() for ClusterFuture ... done [13:14:07.047] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.030] MultisessionFuture: [13:14:07.030] Label: 'future_sapply-1' [13:14:07.030] Expression: [13:14:07.030] { [13:14:07.030] do.call(function(...) { [13:14:07.030] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.030] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.030] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.030] on.exit(options(oopts), add = TRUE) [13:14:07.030] } [13:14:07.030] { [13:14:07.030] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.030] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.030] ...future.FUN(...future.X_jj, ...) [13:14:07.030] }) [13:14:07.030] } [13:14:07.030] }, args = future.call.arguments) [13:14:07.030] } [13:14:07.030] Lazy evaluation: FALSE [13:14:07.030] Asynchronous evaluation: TRUE [13:14:07.030] Local evaluation: TRUE [13:14:07.030] Environment: R_GlobalEnv [13:14:07.030] Capture standard output: TRUE [13:14:07.030] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.030] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.030] Packages: [13:14:07.030] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.030] Resolved: TRUE [13:14:07.030] Value: [13:14:07.030] Conditions captured: [13:14:07.030] Early signaling: FALSE [13:14:07.030] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.030] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.047] Chunk #1 of 2 ... DONE [13:14:07.047] Chunk #2 of 2 ... [13:14:07.047] - Finding globals in 'X' for chunk #2 ... [13:14:07.048] getGlobalsAndPackages() ... [13:14:07.048] Searching for globals... [13:14:07.048] [13:14:07.048] Searching for globals ... DONE [13:14:07.048] - globals: [0] [13:14:07.049] getGlobalsAndPackages() ... DONE [13:14:07.049] + additional globals found: [n=0] [13:14:07.049] + additional namespaces needed: [n=0] [13:14:07.049] - Finding globals in 'X' for chunk #2 ... DONE [13:14:07.049] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.049] - seeds: [13:14:07.050] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.050] getGlobalsAndPackages() ... [13:14:07.050] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.050] Resolving globals: FALSE [13:14:07.050] Tweak future expression to call with '...' arguments ... [13:14:07.051] { [13:14:07.051] do.call(function(...) { [13:14:07.051] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.051] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.051] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.051] on.exit(options(oopts), add = TRUE) [13:14:07.051] } [13:14:07.051] { [13:14:07.051] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.051] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.051] ...future.FUN(...future.X_jj, ...) [13:14:07.051] }) [13:14:07.051] } [13:14:07.051] }, args = future.call.arguments) [13:14:07.051] } [13:14:07.051] Tweak future expression to call with '...' arguments ... DONE [13:14:07.051] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.052] [13:14:07.052] getGlobalsAndPackages() ... DONE [13:14:07.052] run() for 'Future' ... [13:14:07.052] - state: 'created' [13:14:07.053] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.066] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.067] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.067] - Field: 'node' [13:14:07.067] - Field: 'label' [13:14:07.067] - Field: 'local' [13:14:07.067] - Field: 'owner' [13:14:07.068] - Field: 'envir' [13:14:07.068] - Field: 'workers' [13:14:07.068] - Field: 'packages' [13:14:07.068] - Field: 'gc' [13:14:07.068] - Field: 'conditions' [13:14:07.068] - Field: 'persistent' [13:14:07.069] - Field: 'expr' [13:14:07.069] - Field: 'uuid' [13:14:07.069] - Field: 'seed' [13:14:07.069] - Field: 'version' [13:14:07.069] - Field: 'result' [13:14:07.070] - Field: 'asynchronous' [13:14:07.070] - Field: 'calls' [13:14:07.070] - Field: 'globals' [13:14:07.070] - Field: 'stdout' [13:14:07.070] - Field: 'earlySignal' [13:14:07.070] - Field: 'lazy' [13:14:07.071] - Field: 'state' [13:14:07.071] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.071] - Launch lazy future ... [13:14:07.071] Packages needed by the future expression (n = 0): [13:14:07.074] Packages needed by future strategies (n = 0): [13:14:07.075] { [13:14:07.075] { [13:14:07.075] { [13:14:07.075] ...future.startTime <- base::Sys.time() [13:14:07.075] { [13:14:07.075] { [13:14:07.075] { [13:14:07.075] { [13:14:07.075] base::local({ [13:14:07.075] has_future <- base::requireNamespace("future", [13:14:07.075] quietly = TRUE) [13:14:07.075] if (has_future) { [13:14:07.075] ns <- base::getNamespace("future") [13:14:07.075] version <- ns[[".package"]][["version"]] [13:14:07.075] if (is.null(version)) [13:14:07.075] version <- utils::packageVersion("future") [13:14:07.075] } [13:14:07.075] else { [13:14:07.075] version <- NULL [13:14:07.075] } [13:14:07.075] if (!has_future || version < "1.8.0") { [13:14:07.075] info <- base::c(r_version = base::gsub("R version ", [13:14:07.075] "", base::R.version$version.string), [13:14:07.075] platform = base::sprintf("%s (%s-bit)", [13:14:07.075] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.075] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.075] "release", "version")], collapse = " "), [13:14:07.075] hostname = base::Sys.info()[["nodename"]]) [13:14:07.075] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.075] info) [13:14:07.075] info <- base::paste(info, collapse = "; ") [13:14:07.075] if (!has_future) { [13:14:07.075] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.075] info) [13:14:07.075] } [13:14:07.075] else { [13:14:07.075] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.075] info, version) [13:14:07.075] } [13:14:07.075] base::stop(msg) [13:14:07.075] } [13:14:07.075] }) [13:14:07.075] } [13:14:07.075] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.075] base::options(mc.cores = 1L) [13:14:07.075] } [13:14:07.075] options(future.plan = NULL) [13:14:07.075] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.075] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.075] } [13:14:07.075] ...future.workdir <- getwd() [13:14:07.075] } [13:14:07.075] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.075] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.075] } [13:14:07.075] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.075] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.075] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.075] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.075] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.075] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.075] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.075] base::names(...future.oldOptions)) [13:14:07.075] } [13:14:07.075] if (FALSE) { [13:14:07.075] } [13:14:07.075] else { [13:14:07.075] if (TRUE) { [13:14:07.075] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.075] open = "w") [13:14:07.075] } [13:14:07.075] else { [13:14:07.075] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.075] windows = "NUL", "/dev/null"), open = "w") [13:14:07.075] } [13:14:07.075] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.075] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.075] base::sink(type = "output", split = FALSE) [13:14:07.075] base::close(...future.stdout) [13:14:07.075] }, add = TRUE) [13:14:07.075] } [13:14:07.075] ...future.frame <- base::sys.nframe() [13:14:07.075] ...future.conditions <- base::list() [13:14:07.075] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.075] if (FALSE) { [13:14:07.075] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.075] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.075] } [13:14:07.075] ...future.result <- base::tryCatch({ [13:14:07.075] base::withCallingHandlers({ [13:14:07.075] ...future.value <- base::withVisible(base::local({ [13:14:07.075] ...future.makeSendCondition <- local({ [13:14:07.075] sendCondition <- NULL [13:14:07.075] function(frame = 1L) { [13:14:07.075] if (is.function(sendCondition)) [13:14:07.075] return(sendCondition) [13:14:07.075] ns <- getNamespace("parallel") [13:14:07.075] if (exists("sendData", mode = "function", [13:14:07.075] envir = ns)) { [13:14:07.075] parallel_sendData <- get("sendData", mode = "function", [13:14:07.075] envir = ns) [13:14:07.075] envir <- sys.frame(frame) [13:14:07.075] master <- NULL [13:14:07.075] while (!identical(envir, .GlobalEnv) && [13:14:07.075] !identical(envir, emptyenv())) { [13:14:07.075] if (exists("master", mode = "list", envir = envir, [13:14:07.075] inherits = FALSE)) { [13:14:07.075] master <- get("master", mode = "list", [13:14:07.075] envir = envir, inherits = FALSE) [13:14:07.075] if (inherits(master, c("SOCKnode", [13:14:07.075] "SOCK0node"))) { [13:14:07.075] sendCondition <<- function(cond) { [13:14:07.075] data <- list(type = "VALUE", value = cond, [13:14:07.075] success = TRUE) [13:14:07.075] parallel_sendData(master, data) [13:14:07.075] } [13:14:07.075] return(sendCondition) [13:14:07.075] } [13:14:07.075] } [13:14:07.075] frame <- frame + 1L [13:14:07.075] envir <- sys.frame(frame) [13:14:07.075] } [13:14:07.075] } [13:14:07.075] sendCondition <<- function(cond) NULL [13:14:07.075] } [13:14:07.075] }) [13:14:07.075] withCallingHandlers({ [13:14:07.075] { [13:14:07.075] do.call(function(...) { [13:14:07.075] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.075] if (!identical(...future.globals.maxSize.org, [13:14:07.075] ...future.globals.maxSize)) { [13:14:07.075] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.075] on.exit(options(oopts), add = TRUE) [13:14:07.075] } [13:14:07.075] { [13:14:07.075] lapply(seq_along(...future.elements_ii), [13:14:07.075] FUN = function(jj) { [13:14:07.075] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.075] ...future.FUN(...future.X_jj, ...) [13:14:07.075] }) [13:14:07.075] } [13:14:07.075] }, args = future.call.arguments) [13:14:07.075] } [13:14:07.075] }, immediateCondition = function(cond) { [13:14:07.075] sendCondition <- ...future.makeSendCondition() [13:14:07.075] sendCondition(cond) [13:14:07.075] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.075] { [13:14:07.075] inherits <- base::inherits [13:14:07.075] invokeRestart <- base::invokeRestart [13:14:07.075] is.null <- base::is.null [13:14:07.075] muffled <- FALSE [13:14:07.075] if (inherits(cond, "message")) { [13:14:07.075] muffled <- grepl(pattern, "muffleMessage") [13:14:07.075] if (muffled) [13:14:07.075] invokeRestart("muffleMessage") [13:14:07.075] } [13:14:07.075] else if (inherits(cond, "warning")) { [13:14:07.075] muffled <- grepl(pattern, "muffleWarning") [13:14:07.075] if (muffled) [13:14:07.075] invokeRestart("muffleWarning") [13:14:07.075] } [13:14:07.075] else if (inherits(cond, "condition")) { [13:14:07.075] if (!is.null(pattern)) { [13:14:07.075] computeRestarts <- base::computeRestarts [13:14:07.075] grepl <- base::grepl [13:14:07.075] restarts <- computeRestarts(cond) [13:14:07.075] for (restart in restarts) { [13:14:07.075] name <- restart$name [13:14:07.075] if (is.null(name)) [13:14:07.075] next [13:14:07.075] if (!grepl(pattern, name)) [13:14:07.075] next [13:14:07.075] invokeRestart(restart) [13:14:07.075] muffled <- TRUE [13:14:07.075] break [13:14:07.075] } [13:14:07.075] } [13:14:07.075] } [13:14:07.075] invisible(muffled) [13:14:07.075] } [13:14:07.075] muffleCondition(cond) [13:14:07.075] }) [13:14:07.075] })) [13:14:07.075] future::FutureResult(value = ...future.value$value, [13:14:07.075] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.075] ...future.rng), globalenv = if (FALSE) [13:14:07.075] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.075] ...future.globalenv.names)) [13:14:07.075] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.075] }, condition = base::local({ [13:14:07.075] c <- base::c [13:14:07.075] inherits <- base::inherits [13:14:07.075] invokeRestart <- base::invokeRestart [13:14:07.075] length <- base::length [13:14:07.075] list <- base::list [13:14:07.075] seq.int <- base::seq.int [13:14:07.075] signalCondition <- base::signalCondition [13:14:07.075] sys.calls <- base::sys.calls [13:14:07.075] `[[` <- base::`[[` [13:14:07.075] `+` <- base::`+` [13:14:07.075] `<<-` <- base::`<<-` [13:14:07.075] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.075] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.075] 3L)] [13:14:07.075] } [13:14:07.075] function(cond) { [13:14:07.075] is_error <- inherits(cond, "error") [13:14:07.075] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.075] NULL) [13:14:07.075] if (is_error) { [13:14:07.075] sessionInformation <- function() { [13:14:07.075] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.075] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.075] search = base::search(), system = base::Sys.info()) [13:14:07.075] } [13:14:07.075] ...future.conditions[[length(...future.conditions) + [13:14:07.075] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.075] cond$call), session = sessionInformation(), [13:14:07.075] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.075] signalCondition(cond) [13:14:07.075] } [13:14:07.075] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.075] "immediateCondition"))) { [13:14:07.075] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.075] ...future.conditions[[length(...future.conditions) + [13:14:07.075] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.075] if (TRUE && !signal) { [13:14:07.075] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.075] { [13:14:07.075] inherits <- base::inherits [13:14:07.075] invokeRestart <- base::invokeRestart [13:14:07.075] is.null <- base::is.null [13:14:07.075] muffled <- FALSE [13:14:07.075] if (inherits(cond, "message")) { [13:14:07.075] muffled <- grepl(pattern, "muffleMessage") [13:14:07.075] if (muffled) [13:14:07.075] invokeRestart("muffleMessage") [13:14:07.075] } [13:14:07.075] else if (inherits(cond, "warning")) { [13:14:07.075] muffled <- grepl(pattern, "muffleWarning") [13:14:07.075] if (muffled) [13:14:07.075] invokeRestart("muffleWarning") [13:14:07.075] } [13:14:07.075] else if (inherits(cond, "condition")) { [13:14:07.075] if (!is.null(pattern)) { [13:14:07.075] computeRestarts <- base::computeRestarts [13:14:07.075] grepl <- base::grepl [13:14:07.075] restarts <- computeRestarts(cond) [13:14:07.075] for (restart in restarts) { [13:14:07.075] name <- restart$name [13:14:07.075] if (is.null(name)) [13:14:07.075] next [13:14:07.075] if (!grepl(pattern, name)) [13:14:07.075] next [13:14:07.075] invokeRestart(restart) [13:14:07.075] muffled <- TRUE [13:14:07.075] break [13:14:07.075] } [13:14:07.075] } [13:14:07.075] } [13:14:07.075] invisible(muffled) [13:14:07.075] } [13:14:07.075] muffleCondition(cond, pattern = "^muffle") [13:14:07.075] } [13:14:07.075] } [13:14:07.075] else { [13:14:07.075] if (TRUE) { [13:14:07.075] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.075] { [13:14:07.075] inherits <- base::inherits [13:14:07.075] invokeRestart <- base::invokeRestart [13:14:07.075] is.null <- base::is.null [13:14:07.075] muffled <- FALSE [13:14:07.075] if (inherits(cond, "message")) { [13:14:07.075] muffled <- grepl(pattern, "muffleMessage") [13:14:07.075] if (muffled) [13:14:07.075] invokeRestart("muffleMessage") [13:14:07.075] } [13:14:07.075] else if (inherits(cond, "warning")) { [13:14:07.075] muffled <- grepl(pattern, "muffleWarning") [13:14:07.075] if (muffled) [13:14:07.075] invokeRestart("muffleWarning") [13:14:07.075] } [13:14:07.075] else if (inherits(cond, "condition")) { [13:14:07.075] if (!is.null(pattern)) { [13:14:07.075] computeRestarts <- base::computeRestarts [13:14:07.075] grepl <- base::grepl [13:14:07.075] restarts <- computeRestarts(cond) [13:14:07.075] for (restart in restarts) { [13:14:07.075] name <- restart$name [13:14:07.075] if (is.null(name)) [13:14:07.075] next [13:14:07.075] if (!grepl(pattern, name)) [13:14:07.075] next [13:14:07.075] invokeRestart(restart) [13:14:07.075] muffled <- TRUE [13:14:07.075] break [13:14:07.075] } [13:14:07.075] } [13:14:07.075] } [13:14:07.075] invisible(muffled) [13:14:07.075] } [13:14:07.075] muffleCondition(cond, pattern = "^muffle") [13:14:07.075] } [13:14:07.075] } [13:14:07.075] } [13:14:07.075] })) [13:14:07.075] }, error = function(ex) { [13:14:07.075] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.075] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.075] ...future.rng), started = ...future.startTime, [13:14:07.075] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.075] version = "1.8"), class = "FutureResult") [13:14:07.075] }, finally = { [13:14:07.075] if (!identical(...future.workdir, getwd())) [13:14:07.075] setwd(...future.workdir) [13:14:07.075] { [13:14:07.075] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.075] ...future.oldOptions$nwarnings <- NULL [13:14:07.075] } [13:14:07.075] base::options(...future.oldOptions) [13:14:07.075] if (.Platform$OS.type == "windows") { [13:14:07.075] old_names <- names(...future.oldEnvVars) [13:14:07.075] envs <- base::Sys.getenv() [13:14:07.075] names <- names(envs) [13:14:07.075] common <- intersect(names, old_names) [13:14:07.075] added <- setdiff(names, old_names) [13:14:07.075] removed <- setdiff(old_names, names) [13:14:07.075] changed <- common[...future.oldEnvVars[common] != [13:14:07.075] envs[common]] [13:14:07.075] NAMES <- toupper(changed) [13:14:07.075] args <- list() [13:14:07.075] for (kk in seq_along(NAMES)) { [13:14:07.075] name <- changed[[kk]] [13:14:07.075] NAME <- NAMES[[kk]] [13:14:07.075] if (name != NAME && is.element(NAME, old_names)) [13:14:07.075] next [13:14:07.075] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.075] } [13:14:07.075] NAMES <- toupper(added) [13:14:07.075] for (kk in seq_along(NAMES)) { [13:14:07.075] name <- added[[kk]] [13:14:07.075] NAME <- NAMES[[kk]] [13:14:07.075] if (name != NAME && is.element(NAME, old_names)) [13:14:07.075] next [13:14:07.075] args[[name]] <- "" [13:14:07.075] } [13:14:07.075] NAMES <- toupper(removed) [13:14:07.075] for (kk in seq_along(NAMES)) { [13:14:07.075] name <- removed[[kk]] [13:14:07.075] NAME <- NAMES[[kk]] [13:14:07.075] if (name != NAME && is.element(NAME, old_names)) [13:14:07.075] next [13:14:07.075] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.075] } [13:14:07.075] if (length(args) > 0) [13:14:07.075] base::do.call(base::Sys.setenv, args = args) [13:14:07.075] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.075] } [13:14:07.075] else { [13:14:07.075] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.075] } [13:14:07.075] { [13:14:07.075] if (base::length(...future.futureOptionsAdded) > [13:14:07.075] 0L) { [13:14:07.075] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.075] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.075] base::options(opts) [13:14:07.075] } [13:14:07.075] { [13:14:07.075] { [13:14:07.075] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.075] NULL [13:14:07.075] } [13:14:07.075] options(future.plan = NULL) [13:14:07.075] if (is.na(NA_character_)) [13:14:07.075] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.075] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.075] future::plan(list(function (..., workers = availableCores(), [13:14:07.075] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.075] envir = parent.frame()) [13:14:07.075] { [13:14:07.075] if (is.function(workers)) [13:14:07.075] workers <- workers() [13:14:07.075] workers <- structure(as.integer(workers), [13:14:07.075] class = class(workers)) [13:14:07.075] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.075] workers >= 1) [13:14:07.075] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.075] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.075] } [13:14:07.075] future <- MultisessionFuture(..., workers = workers, [13:14:07.075] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.075] envir = envir) [13:14:07.075] if (!future$lazy) [13:14:07.075] future <- run(future) [13:14:07.075] invisible(future) [13:14:07.075] }), .cleanup = FALSE, .init = FALSE) [13:14:07.075] } [13:14:07.075] } [13:14:07.075] } [13:14:07.075] }) [13:14:07.075] if (TRUE) { [13:14:07.075] base::sink(type = "output", split = FALSE) [13:14:07.075] if (TRUE) { [13:14:07.075] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.075] } [13:14:07.075] else { [13:14:07.075] ...future.result["stdout"] <- base::list(NULL) [13:14:07.075] } [13:14:07.075] base::close(...future.stdout) [13:14:07.075] ...future.stdout <- NULL [13:14:07.075] } [13:14:07.075] ...future.result$conditions <- ...future.conditions [13:14:07.075] ...future.result$finished <- base::Sys.time() [13:14:07.075] ...future.result [13:14:07.075] } [13:14:07.080] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:07.080] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:07.081] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:07.081] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.081] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.082] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.082] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.082] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.083] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.083] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.083] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.083] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:07.084] MultisessionFuture started [13:14:07.084] - Launch lazy future ... done [13:14:07.084] run() for 'MultisessionFuture' ... done [13:14:07.085] Created future: [13:14:07.100] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.100] - Validating connection of MultisessionFuture [13:14:07.101] - received message: FutureResult [13:14:07.101] - Received FutureResult [13:14:07.101] - Erased future from FutureRegistry [13:14:07.101] result() for ClusterFuture ... [13:14:07.101] - result already collected: FutureResult [13:14:07.102] result() for ClusterFuture ... done [13:14:07.102] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.085] MultisessionFuture: [13:14:07.085] Label: 'future_sapply-2' [13:14:07.085] Expression: [13:14:07.085] { [13:14:07.085] do.call(function(...) { [13:14:07.085] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.085] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.085] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.085] on.exit(options(oopts), add = TRUE) [13:14:07.085] } [13:14:07.085] { [13:14:07.085] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.085] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.085] ...future.FUN(...future.X_jj, ...) [13:14:07.085] }) [13:14:07.085] } [13:14:07.085] }, args = future.call.arguments) [13:14:07.085] } [13:14:07.085] Lazy evaluation: FALSE [13:14:07.085] Asynchronous evaluation: TRUE [13:14:07.085] Local evaluation: TRUE [13:14:07.085] Environment: R_GlobalEnv [13:14:07.085] Capture standard output: TRUE [13:14:07.085] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.085] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.085] Packages: [13:14:07.085] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.085] Resolved: TRUE [13:14:07.085] Value: [13:14:07.085] Conditions captured: [13:14:07.085] Early signaling: FALSE [13:14:07.085] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.085] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.102] Chunk #2 of 2 ... DONE [13:14:07.102] Launching 2 futures (chunks) ... DONE [13:14:07.102] Resolving 2 futures (chunks) ... [13:14:07.103] resolve() on list ... [13:14:07.103] recursive: 0 [13:14:07.103] length: 2 [13:14:07.103] [13:14:07.103] Future #1 [13:14:07.103] result() for ClusterFuture ... [13:14:07.104] - result already collected: FutureResult [13:14:07.104] result() for ClusterFuture ... done [13:14:07.104] result() for ClusterFuture ... [13:14:07.104] - result already collected: FutureResult [13:14:07.104] result() for ClusterFuture ... done [13:14:07.104] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:07.105] - nx: 2 [13:14:07.105] - relay: TRUE [13:14:07.105] - stdout: TRUE [13:14:07.105] - signal: TRUE [13:14:07.105] - resignal: FALSE [13:14:07.105] - force: TRUE [13:14:07.105] - relayed: [n=2] FALSE, FALSE [13:14:07.106] - queued futures: [n=2] FALSE, FALSE [13:14:07.106] - until=1 [13:14:07.106] - relaying element #1 [13:14:07.106] result() for ClusterFuture ... [13:14:07.106] - result already collected: FutureResult [13:14:07.106] result() for ClusterFuture ... done [13:14:07.107] result() for ClusterFuture ... [13:14:07.107] - result already collected: FutureResult [13:14:07.107] result() for ClusterFuture ... done [13:14:07.107] result() for ClusterFuture ... [13:14:07.107] - result already collected: FutureResult [13:14:07.107] result() for ClusterFuture ... done [13:14:07.107] result() for ClusterFuture ... [13:14:07.108] - result already collected: FutureResult [13:14:07.108] result() for ClusterFuture ... done [13:14:07.108] - relayed: [n=2] TRUE, FALSE [13:14:07.108] - queued futures: [n=2] TRUE, FALSE [13:14:07.108] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:07.108] length: 1 (resolved future 1) [13:14:07.109] Future #2 [13:14:07.109] result() for ClusterFuture ... [13:14:07.109] - result already collected: FutureResult [13:14:07.109] result() for ClusterFuture ... done [13:14:07.109] result() for ClusterFuture ... [13:14:07.109] - result already collected: FutureResult [13:14:07.110] result() for ClusterFuture ... done [13:14:07.110] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:07.110] - nx: 2 [13:14:07.110] - relay: TRUE [13:14:07.110] - stdout: TRUE [13:14:07.110] - signal: TRUE [13:14:07.110] - resignal: FALSE [13:14:07.111] - force: TRUE [13:14:07.111] - relayed: [n=2] TRUE, FALSE [13:14:07.111] - queued futures: [n=2] TRUE, FALSE [13:14:07.111] - until=2 [13:14:07.111] - relaying element #2 [13:14:07.111] result() for ClusterFuture ... [13:14:07.112] - result already collected: FutureResult [13:14:07.112] result() for ClusterFuture ... done [13:14:07.112] result() for ClusterFuture ... [13:14:07.112] - result already collected: FutureResult [13:14:07.112] result() for ClusterFuture ... done [13:14:07.112] result() for ClusterFuture ... [13:14:07.113] - result already collected: FutureResult [13:14:07.113] result() for ClusterFuture ... done [13:14:07.113] result() for ClusterFuture ... [13:14:07.113] - result already collected: FutureResult [13:14:07.113] result() for ClusterFuture ... done [13:14:07.113] - relayed: [n=2] TRUE, TRUE [13:14:07.113] - queued futures: [n=2] TRUE, TRUE [13:14:07.114] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:07.114] length: 0 (resolved future 2) [13:14:07.114] Relaying remaining futures [13:14:07.114] signalConditionsASAP(NULL, pos=0) ... [13:14:07.114] - nx: 2 [13:14:07.114] - relay: TRUE [13:14:07.115] - stdout: TRUE [13:14:07.115] - signal: TRUE [13:14:07.115] - resignal: FALSE [13:14:07.115] - force: TRUE [13:14:07.115] - relayed: [n=2] TRUE, TRUE [13:14:07.115] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:07.116] - relayed: [n=2] TRUE, TRUE [13:14:07.116] - queued futures: [n=2] TRUE, TRUE [13:14:07.116] signalConditionsASAP(NULL, pos=0) ... done [13:14:07.116] resolve() on list ... DONE [13:14:07.116] result() for ClusterFuture ... [13:14:07.116] - result already collected: FutureResult [13:14:07.116] result() for ClusterFuture ... done [13:14:07.117] result() for ClusterFuture ... [13:14:07.117] - result already collected: FutureResult [13:14:07.117] result() for ClusterFuture ... done [13:14:07.117] result() for ClusterFuture ... [13:14:07.117] - result already collected: FutureResult [13:14:07.117] result() for ClusterFuture ... done [13:14:07.118] result() for ClusterFuture ... [13:14:07.118] - result already collected: FutureResult [13:14:07.118] result() for ClusterFuture ... done [13:14:07.118] - Number of value chunks collected: 2 [13:14:07.118] Resolving 2 futures (chunks) ... DONE [13:14:07.118] Reducing values from 2 chunks ... [13:14:07.119] - Number of values collected after concatenation: 6 [13:14:07.119] - Number of values expected: 6 [13:14:07.119] Reducing values from 2 chunks ... DONE [13:14:07.119] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y1:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y2:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 [13:14:07.130] future_lapply() ... [13:14:07.133] Number of chunks: 2 [13:14:07.133] getGlobalsAndPackagesXApply() ... [13:14:07.133] - future.globals: TRUE [13:14:07.133] getGlobalsAndPackages() ... [13:14:07.133] Searching for globals... [13:14:07.135] - globals found: [2] 'FUN', 'UseMethod' [13:14:07.135] Searching for globals ... DONE [13:14:07.135] Resolving globals: FALSE [13:14:07.135] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:07.136] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:07.136] - globals: [1] 'FUN' [13:14:07.136] [13:14:07.136] getGlobalsAndPackages() ... DONE [13:14:07.137] - globals found/used: [n=1] 'FUN' [13:14:07.137] - needed namespaces: [n=0] [13:14:07.137] Finding globals ... DONE [13:14:07.137] - use_args: TRUE [13:14:07.137] - Getting '...' globals ... [13:14:07.138] resolve() on list ... [13:14:07.138] recursive: 0 [13:14:07.138] length: 1 [13:14:07.138] elements: '...' [13:14:07.138] length: 0 (resolved future 1) [13:14:07.139] resolve() on list ... DONE [13:14:07.139] - '...' content: [n=0] [13:14:07.139] List of 1 [13:14:07.139] $ ...: list() [13:14:07.139] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.139] - attr(*, "where")=List of 1 [13:14:07.139] ..$ ...: [13:14:07.139] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.139] - attr(*, "resolved")= logi TRUE [13:14:07.139] - attr(*, "total_size")= num NA [13:14:07.142] - Getting '...' globals ... DONE [13:14:07.142] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:07.142] List of 2 [13:14:07.142] $ ...future.FUN:function (x, ...) [13:14:07.142] $ ... : list() [13:14:07.142] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.142] - attr(*, "where")=List of 2 [13:14:07.142] ..$ ...future.FUN: [13:14:07.142] ..$ ... : [13:14:07.142] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.142] - attr(*, "resolved")= logi FALSE [13:14:07.142] - attr(*, "total_size")= num 1248 [13:14:07.146] Packages to be attached in all futures: [n=0] [13:14:07.146] getGlobalsAndPackagesXApply() ... DONE [13:14:07.146] Number of futures (= number of chunks): 2 [13:14:07.146] Launching 2 futures (chunks) ... [13:14:07.147] Chunk #1 of 2 ... [13:14:07.147] - Finding globals in 'X' for chunk #1 ... [13:14:07.147] getGlobalsAndPackages() ... [13:14:07.147] Searching for globals... [13:14:07.147] [13:14:07.148] Searching for globals ... DONE [13:14:07.148] - globals: [0] [13:14:07.148] getGlobalsAndPackages() ... DONE [13:14:07.148] + additional globals found: [n=0] [13:14:07.148] + additional namespaces needed: [n=0] [13:14:07.148] - Finding globals in 'X' for chunk #1 ... DONE [13:14:07.148] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.149] - seeds: [13:14:07.149] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.149] getGlobalsAndPackages() ... [13:14:07.149] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.149] Resolving globals: FALSE [13:14:07.150] Tweak future expression to call with '...' arguments ... [13:14:07.150] { [13:14:07.150] do.call(function(...) { [13:14:07.150] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.150] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.150] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.150] on.exit(options(oopts), add = TRUE) [13:14:07.150] } [13:14:07.150] { [13:14:07.150] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.150] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.150] ...future.FUN(...future.X_jj, ...) [13:14:07.150] }) [13:14:07.150] } [13:14:07.150] }, args = future.call.arguments) [13:14:07.150] } [13:14:07.150] Tweak future expression to call with '...' arguments ... DONE [13:14:07.151] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.151] [13:14:07.151] getGlobalsAndPackages() ... DONE [13:14:07.151] run() for 'Future' ... [13:14:07.152] - state: 'created' [13:14:07.152] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.166] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.166] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.166] - Field: 'node' [13:14:07.166] - Field: 'label' [13:14:07.166] - Field: 'local' [13:14:07.167] - Field: 'owner' [13:14:07.167] - Field: 'envir' [13:14:07.167] - Field: 'workers' [13:14:07.167] - Field: 'packages' [13:14:07.167] - Field: 'gc' [13:14:07.168] - Field: 'conditions' [13:14:07.168] - Field: 'persistent' [13:14:07.168] - Field: 'expr' [13:14:07.168] - Field: 'uuid' [13:14:07.168] - Field: 'seed' [13:14:07.168] - Field: 'version' [13:14:07.169] - Field: 'result' [13:14:07.169] - Field: 'asynchronous' [13:14:07.169] - Field: 'calls' [13:14:07.169] - Field: 'globals' [13:14:07.169] - Field: 'stdout' [13:14:07.169] - Field: 'earlySignal' [13:14:07.170] - Field: 'lazy' [13:14:07.170] - Field: 'state' [13:14:07.170] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.170] - Launch lazy future ... [13:14:07.171] Packages needed by the future expression (n = 0): [13:14:07.171] Packages needed by future strategies (n = 0): [13:14:07.171] { [13:14:07.171] { [13:14:07.171] { [13:14:07.171] ...future.startTime <- base::Sys.time() [13:14:07.171] { [13:14:07.171] { [13:14:07.171] { [13:14:07.171] { [13:14:07.171] base::local({ [13:14:07.171] has_future <- base::requireNamespace("future", [13:14:07.171] quietly = TRUE) [13:14:07.171] if (has_future) { [13:14:07.171] ns <- base::getNamespace("future") [13:14:07.171] version <- ns[[".package"]][["version"]] [13:14:07.171] if (is.null(version)) [13:14:07.171] version <- utils::packageVersion("future") [13:14:07.171] } [13:14:07.171] else { [13:14:07.171] version <- NULL [13:14:07.171] } [13:14:07.171] if (!has_future || version < "1.8.0") { [13:14:07.171] info <- base::c(r_version = base::gsub("R version ", [13:14:07.171] "", base::R.version$version.string), [13:14:07.171] platform = base::sprintf("%s (%s-bit)", [13:14:07.171] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.171] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.171] "release", "version")], collapse = " "), [13:14:07.171] hostname = base::Sys.info()[["nodename"]]) [13:14:07.171] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.171] info) [13:14:07.171] info <- base::paste(info, collapse = "; ") [13:14:07.171] if (!has_future) { [13:14:07.171] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.171] info) [13:14:07.171] } [13:14:07.171] else { [13:14:07.171] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.171] info, version) [13:14:07.171] } [13:14:07.171] base::stop(msg) [13:14:07.171] } [13:14:07.171] }) [13:14:07.171] } [13:14:07.171] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.171] base::options(mc.cores = 1L) [13:14:07.171] } [13:14:07.171] options(future.plan = NULL) [13:14:07.171] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.171] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.171] } [13:14:07.171] ...future.workdir <- getwd() [13:14:07.171] } [13:14:07.171] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.171] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.171] } [13:14:07.171] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.171] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.171] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.171] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.171] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.171] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.171] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.171] base::names(...future.oldOptions)) [13:14:07.171] } [13:14:07.171] if (FALSE) { [13:14:07.171] } [13:14:07.171] else { [13:14:07.171] if (TRUE) { [13:14:07.171] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.171] open = "w") [13:14:07.171] } [13:14:07.171] else { [13:14:07.171] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.171] windows = "NUL", "/dev/null"), open = "w") [13:14:07.171] } [13:14:07.171] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.171] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.171] base::sink(type = "output", split = FALSE) [13:14:07.171] base::close(...future.stdout) [13:14:07.171] }, add = TRUE) [13:14:07.171] } [13:14:07.171] ...future.frame <- base::sys.nframe() [13:14:07.171] ...future.conditions <- base::list() [13:14:07.171] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.171] if (FALSE) { [13:14:07.171] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.171] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.171] } [13:14:07.171] ...future.result <- base::tryCatch({ [13:14:07.171] base::withCallingHandlers({ [13:14:07.171] ...future.value <- base::withVisible(base::local({ [13:14:07.171] ...future.makeSendCondition <- local({ [13:14:07.171] sendCondition <- NULL [13:14:07.171] function(frame = 1L) { [13:14:07.171] if (is.function(sendCondition)) [13:14:07.171] return(sendCondition) [13:14:07.171] ns <- getNamespace("parallel") [13:14:07.171] if (exists("sendData", mode = "function", [13:14:07.171] envir = ns)) { [13:14:07.171] parallel_sendData <- get("sendData", mode = "function", [13:14:07.171] envir = ns) [13:14:07.171] envir <- sys.frame(frame) [13:14:07.171] master <- NULL [13:14:07.171] while (!identical(envir, .GlobalEnv) && [13:14:07.171] !identical(envir, emptyenv())) { [13:14:07.171] if (exists("master", mode = "list", envir = envir, [13:14:07.171] inherits = FALSE)) { [13:14:07.171] master <- get("master", mode = "list", [13:14:07.171] envir = envir, inherits = FALSE) [13:14:07.171] if (inherits(master, c("SOCKnode", [13:14:07.171] "SOCK0node"))) { [13:14:07.171] sendCondition <<- function(cond) { [13:14:07.171] data <- list(type = "VALUE", value = cond, [13:14:07.171] success = TRUE) [13:14:07.171] parallel_sendData(master, data) [13:14:07.171] } [13:14:07.171] return(sendCondition) [13:14:07.171] } [13:14:07.171] } [13:14:07.171] frame <- frame + 1L [13:14:07.171] envir <- sys.frame(frame) [13:14:07.171] } [13:14:07.171] } [13:14:07.171] sendCondition <<- function(cond) NULL [13:14:07.171] } [13:14:07.171] }) [13:14:07.171] withCallingHandlers({ [13:14:07.171] { [13:14:07.171] do.call(function(...) { [13:14:07.171] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.171] if (!identical(...future.globals.maxSize.org, [13:14:07.171] ...future.globals.maxSize)) { [13:14:07.171] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.171] on.exit(options(oopts), add = TRUE) [13:14:07.171] } [13:14:07.171] { [13:14:07.171] lapply(seq_along(...future.elements_ii), [13:14:07.171] FUN = function(jj) { [13:14:07.171] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.171] ...future.FUN(...future.X_jj, ...) [13:14:07.171] }) [13:14:07.171] } [13:14:07.171] }, args = future.call.arguments) [13:14:07.171] } [13:14:07.171] }, immediateCondition = function(cond) { [13:14:07.171] sendCondition <- ...future.makeSendCondition() [13:14:07.171] sendCondition(cond) [13:14:07.171] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.171] { [13:14:07.171] inherits <- base::inherits [13:14:07.171] invokeRestart <- base::invokeRestart [13:14:07.171] is.null <- base::is.null [13:14:07.171] muffled <- FALSE [13:14:07.171] if (inherits(cond, "message")) { [13:14:07.171] muffled <- grepl(pattern, "muffleMessage") [13:14:07.171] if (muffled) [13:14:07.171] invokeRestart("muffleMessage") [13:14:07.171] } [13:14:07.171] else if (inherits(cond, "warning")) { [13:14:07.171] muffled <- grepl(pattern, "muffleWarning") [13:14:07.171] if (muffled) [13:14:07.171] invokeRestart("muffleWarning") [13:14:07.171] } [13:14:07.171] else if (inherits(cond, "condition")) { [13:14:07.171] if (!is.null(pattern)) { [13:14:07.171] computeRestarts <- base::computeRestarts [13:14:07.171] grepl <- base::grepl [13:14:07.171] restarts <- computeRestarts(cond) [13:14:07.171] for (restart in restarts) { [13:14:07.171] name <- restart$name [13:14:07.171] if (is.null(name)) [13:14:07.171] next [13:14:07.171] if (!grepl(pattern, name)) [13:14:07.171] next [13:14:07.171] invokeRestart(restart) [13:14:07.171] muffled <- TRUE [13:14:07.171] break [13:14:07.171] } [13:14:07.171] } [13:14:07.171] } [13:14:07.171] invisible(muffled) [13:14:07.171] } [13:14:07.171] muffleCondition(cond) [13:14:07.171] }) [13:14:07.171] })) [13:14:07.171] future::FutureResult(value = ...future.value$value, [13:14:07.171] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.171] ...future.rng), globalenv = if (FALSE) [13:14:07.171] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.171] ...future.globalenv.names)) [13:14:07.171] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.171] }, condition = base::local({ [13:14:07.171] c <- base::c [13:14:07.171] inherits <- base::inherits [13:14:07.171] invokeRestart <- base::invokeRestart [13:14:07.171] length <- base::length [13:14:07.171] list <- base::list [13:14:07.171] seq.int <- base::seq.int [13:14:07.171] signalCondition <- base::signalCondition [13:14:07.171] sys.calls <- base::sys.calls [13:14:07.171] `[[` <- base::`[[` [13:14:07.171] `+` <- base::`+` [13:14:07.171] `<<-` <- base::`<<-` [13:14:07.171] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.171] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.171] 3L)] [13:14:07.171] } [13:14:07.171] function(cond) { [13:14:07.171] is_error <- inherits(cond, "error") [13:14:07.171] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.171] NULL) [13:14:07.171] if (is_error) { [13:14:07.171] sessionInformation <- function() { [13:14:07.171] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.171] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.171] search = base::search(), system = base::Sys.info()) [13:14:07.171] } [13:14:07.171] ...future.conditions[[length(...future.conditions) + [13:14:07.171] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.171] cond$call), session = sessionInformation(), [13:14:07.171] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.171] signalCondition(cond) [13:14:07.171] } [13:14:07.171] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.171] "immediateCondition"))) { [13:14:07.171] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.171] ...future.conditions[[length(...future.conditions) + [13:14:07.171] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.171] if (TRUE && !signal) { [13:14:07.171] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.171] { [13:14:07.171] inherits <- base::inherits [13:14:07.171] invokeRestart <- base::invokeRestart [13:14:07.171] is.null <- base::is.null [13:14:07.171] muffled <- FALSE [13:14:07.171] if (inherits(cond, "message")) { [13:14:07.171] muffled <- grepl(pattern, "muffleMessage") [13:14:07.171] if (muffled) [13:14:07.171] invokeRestart("muffleMessage") [13:14:07.171] } [13:14:07.171] else if (inherits(cond, "warning")) { [13:14:07.171] muffled <- grepl(pattern, "muffleWarning") [13:14:07.171] if (muffled) [13:14:07.171] invokeRestart("muffleWarning") [13:14:07.171] } [13:14:07.171] else if (inherits(cond, "condition")) { [13:14:07.171] if (!is.null(pattern)) { [13:14:07.171] computeRestarts <- base::computeRestarts [13:14:07.171] grepl <- base::grepl [13:14:07.171] restarts <- computeRestarts(cond) [13:14:07.171] for (restart in restarts) { [13:14:07.171] name <- restart$name [13:14:07.171] if (is.null(name)) [13:14:07.171] next [13:14:07.171] if (!grepl(pattern, name)) [13:14:07.171] next [13:14:07.171] invokeRestart(restart) [13:14:07.171] muffled <- TRUE [13:14:07.171] break [13:14:07.171] } [13:14:07.171] } [13:14:07.171] } [13:14:07.171] invisible(muffled) [13:14:07.171] } [13:14:07.171] muffleCondition(cond, pattern = "^muffle") [13:14:07.171] } [13:14:07.171] } [13:14:07.171] else { [13:14:07.171] if (TRUE) { [13:14:07.171] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.171] { [13:14:07.171] inherits <- base::inherits [13:14:07.171] invokeRestart <- base::invokeRestart [13:14:07.171] is.null <- base::is.null [13:14:07.171] muffled <- FALSE [13:14:07.171] if (inherits(cond, "message")) { [13:14:07.171] muffled <- grepl(pattern, "muffleMessage") [13:14:07.171] if (muffled) [13:14:07.171] invokeRestart("muffleMessage") [13:14:07.171] } [13:14:07.171] else if (inherits(cond, "warning")) { [13:14:07.171] muffled <- grepl(pattern, "muffleWarning") [13:14:07.171] if (muffled) [13:14:07.171] invokeRestart("muffleWarning") [13:14:07.171] } [13:14:07.171] else if (inherits(cond, "condition")) { [13:14:07.171] if (!is.null(pattern)) { [13:14:07.171] computeRestarts <- base::computeRestarts [13:14:07.171] grepl <- base::grepl [13:14:07.171] restarts <- computeRestarts(cond) [13:14:07.171] for (restart in restarts) { [13:14:07.171] name <- restart$name [13:14:07.171] if (is.null(name)) [13:14:07.171] next [13:14:07.171] if (!grepl(pattern, name)) [13:14:07.171] next [13:14:07.171] invokeRestart(restart) [13:14:07.171] muffled <- TRUE [13:14:07.171] break [13:14:07.171] } [13:14:07.171] } [13:14:07.171] } [13:14:07.171] invisible(muffled) [13:14:07.171] } [13:14:07.171] muffleCondition(cond, pattern = "^muffle") [13:14:07.171] } [13:14:07.171] } [13:14:07.171] } [13:14:07.171] })) [13:14:07.171] }, error = function(ex) { [13:14:07.171] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.171] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.171] ...future.rng), started = ...future.startTime, [13:14:07.171] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.171] version = "1.8"), class = "FutureResult") [13:14:07.171] }, finally = { [13:14:07.171] if (!identical(...future.workdir, getwd())) [13:14:07.171] setwd(...future.workdir) [13:14:07.171] { [13:14:07.171] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.171] ...future.oldOptions$nwarnings <- NULL [13:14:07.171] } [13:14:07.171] base::options(...future.oldOptions) [13:14:07.171] if (.Platform$OS.type == "windows") { [13:14:07.171] old_names <- names(...future.oldEnvVars) [13:14:07.171] envs <- base::Sys.getenv() [13:14:07.171] names <- names(envs) [13:14:07.171] common <- intersect(names, old_names) [13:14:07.171] added <- setdiff(names, old_names) [13:14:07.171] removed <- setdiff(old_names, names) [13:14:07.171] changed <- common[...future.oldEnvVars[common] != [13:14:07.171] envs[common]] [13:14:07.171] NAMES <- toupper(changed) [13:14:07.171] args <- list() [13:14:07.171] for (kk in seq_along(NAMES)) { [13:14:07.171] name <- changed[[kk]] [13:14:07.171] NAME <- NAMES[[kk]] [13:14:07.171] if (name != NAME && is.element(NAME, old_names)) [13:14:07.171] next [13:14:07.171] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.171] } [13:14:07.171] NAMES <- toupper(added) [13:14:07.171] for (kk in seq_along(NAMES)) { [13:14:07.171] name <- added[[kk]] [13:14:07.171] NAME <- NAMES[[kk]] [13:14:07.171] if (name != NAME && is.element(NAME, old_names)) [13:14:07.171] next [13:14:07.171] args[[name]] <- "" [13:14:07.171] } [13:14:07.171] NAMES <- toupper(removed) [13:14:07.171] for (kk in seq_along(NAMES)) { [13:14:07.171] name <- removed[[kk]] [13:14:07.171] NAME <- NAMES[[kk]] [13:14:07.171] if (name != NAME && is.element(NAME, old_names)) [13:14:07.171] next [13:14:07.171] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.171] } [13:14:07.171] if (length(args) > 0) [13:14:07.171] base::do.call(base::Sys.setenv, args = args) [13:14:07.171] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.171] } [13:14:07.171] else { [13:14:07.171] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.171] } [13:14:07.171] { [13:14:07.171] if (base::length(...future.futureOptionsAdded) > [13:14:07.171] 0L) { [13:14:07.171] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.171] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.171] base::options(opts) [13:14:07.171] } [13:14:07.171] { [13:14:07.171] { [13:14:07.171] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.171] NULL [13:14:07.171] } [13:14:07.171] options(future.plan = NULL) [13:14:07.171] if (is.na(NA_character_)) [13:14:07.171] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.171] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.171] future::plan(list(function (..., workers = availableCores(), [13:14:07.171] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.171] envir = parent.frame()) [13:14:07.171] { [13:14:07.171] if (is.function(workers)) [13:14:07.171] workers <- workers() [13:14:07.171] workers <- structure(as.integer(workers), [13:14:07.171] class = class(workers)) [13:14:07.171] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.171] workers >= 1) [13:14:07.171] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.171] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.171] } [13:14:07.171] future <- MultisessionFuture(..., workers = workers, [13:14:07.171] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.171] envir = envir) [13:14:07.171] if (!future$lazy) [13:14:07.171] future <- run(future) [13:14:07.171] invisible(future) [13:14:07.171] }), .cleanup = FALSE, .init = FALSE) [13:14:07.171] } [13:14:07.171] } [13:14:07.171] } [13:14:07.171] }) [13:14:07.171] if (TRUE) { [13:14:07.171] base::sink(type = "output", split = FALSE) [13:14:07.171] if (TRUE) { [13:14:07.171] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.171] } [13:14:07.171] else { [13:14:07.171] ...future.result["stdout"] <- base::list(NULL) [13:14:07.171] } [13:14:07.171] base::close(...future.stdout) [13:14:07.171] ...future.stdout <- NULL [13:14:07.171] } [13:14:07.171] ...future.result$conditions <- ...future.conditions [13:14:07.171] ...future.result$finished <- base::Sys.time() [13:14:07.171] ...future.result [13:14:07.171] } [13:14:07.177] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:07.177] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:07.177] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:07.178] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.178] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.178] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.179] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.179] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.179] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.180] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.180] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.180] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:07.181] MultisessionFuture started [13:14:07.181] - Launch lazy future ... done [13:14:07.181] run() for 'MultisessionFuture' ... done [13:14:07.181] Created future: [13:14:07.196] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.196] - Validating connection of MultisessionFuture [13:14:07.197] - received message: FutureResult [13:14:07.197] - Received FutureResult [13:14:07.197] - Erased future from FutureRegistry [13:14:07.197] result() for ClusterFuture ... [13:14:07.197] - result already collected: FutureResult [13:14:07.198] result() for ClusterFuture ... done [13:14:07.198] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.182] MultisessionFuture: [13:14:07.182] Label: 'future_sapply-1' [13:14:07.182] Expression: [13:14:07.182] { [13:14:07.182] do.call(function(...) { [13:14:07.182] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.182] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.182] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.182] on.exit(options(oopts), add = TRUE) [13:14:07.182] } [13:14:07.182] { [13:14:07.182] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.182] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.182] ...future.FUN(...future.X_jj, ...) [13:14:07.182] }) [13:14:07.182] } [13:14:07.182] }, args = future.call.arguments) [13:14:07.182] } [13:14:07.182] Lazy evaluation: FALSE [13:14:07.182] Asynchronous evaluation: TRUE [13:14:07.182] Local evaluation: TRUE [13:14:07.182] Environment: R_GlobalEnv [13:14:07.182] Capture standard output: TRUE [13:14:07.182] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.182] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.182] Packages: [13:14:07.182] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.182] Resolved: TRUE [13:14:07.182] Value: [13:14:07.182] Conditions captured: [13:14:07.182] Early signaling: FALSE [13:14:07.182] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.182] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.198] Chunk #1 of 2 ... DONE [13:14:07.198] Chunk #2 of 2 ... [13:14:07.199] - Finding globals in 'X' for chunk #2 ... [13:14:07.199] getGlobalsAndPackages() ... [13:14:07.199] Searching for globals... [13:14:07.199] [13:14:07.199] Searching for globals ... DONE [13:14:07.200] - globals: [0] [13:14:07.200] getGlobalsAndPackages() ... DONE [13:14:07.200] + additional globals found: [n=0] [13:14:07.200] + additional namespaces needed: [n=0] [13:14:07.200] - Finding globals in 'X' for chunk #2 ... DONE [13:14:07.200] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.200] - seeds: [13:14:07.201] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.201] getGlobalsAndPackages() ... [13:14:07.201] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.201] Resolving globals: FALSE [13:14:07.201] Tweak future expression to call with '...' arguments ... [13:14:07.202] { [13:14:07.202] do.call(function(...) { [13:14:07.202] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.202] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.202] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.202] on.exit(options(oopts), add = TRUE) [13:14:07.202] } [13:14:07.202] { [13:14:07.202] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.202] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.202] ...future.FUN(...future.X_jj, ...) [13:14:07.202] }) [13:14:07.202] } [13:14:07.202] }, args = future.call.arguments) [13:14:07.202] } [13:14:07.202] Tweak future expression to call with '...' arguments ... DONE [13:14:07.202] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.203] [13:14:07.203] getGlobalsAndPackages() ... DONE [13:14:07.203] run() for 'Future' ... [13:14:07.203] - state: 'created' [13:14:07.204] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.218] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.218] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.218] - Field: 'node' [13:14:07.218] - Field: 'label' [13:14:07.218] - Field: 'local' [13:14:07.219] - Field: 'owner' [13:14:07.219] - Field: 'envir' [13:14:07.219] - Field: 'workers' [13:14:07.219] - Field: 'packages' [13:14:07.219] - Field: 'gc' [13:14:07.220] - Field: 'conditions' [13:14:07.220] - Field: 'persistent' [13:14:07.220] - Field: 'expr' [13:14:07.220] - Field: 'uuid' [13:14:07.220] - Field: 'seed' [13:14:07.220] - Field: 'version' [13:14:07.221] - Field: 'result' [13:14:07.221] - Field: 'asynchronous' [13:14:07.221] - Field: 'calls' [13:14:07.221] - Field: 'globals' [13:14:07.221] - Field: 'stdout' [13:14:07.222] - Field: 'earlySignal' [13:14:07.222] - Field: 'lazy' [13:14:07.222] - Field: 'state' [13:14:07.222] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.222] - Launch lazy future ... [13:14:07.223] Packages needed by the future expression (n = 0): [13:14:07.223] Packages needed by future strategies (n = 0): [13:14:07.223] { [13:14:07.223] { [13:14:07.223] { [13:14:07.223] ...future.startTime <- base::Sys.time() [13:14:07.223] { [13:14:07.223] { [13:14:07.223] { [13:14:07.223] { [13:14:07.223] base::local({ [13:14:07.223] has_future <- base::requireNamespace("future", [13:14:07.223] quietly = TRUE) [13:14:07.223] if (has_future) { [13:14:07.223] ns <- base::getNamespace("future") [13:14:07.223] version <- ns[[".package"]][["version"]] [13:14:07.223] if (is.null(version)) [13:14:07.223] version <- utils::packageVersion("future") [13:14:07.223] } [13:14:07.223] else { [13:14:07.223] version <- NULL [13:14:07.223] } [13:14:07.223] if (!has_future || version < "1.8.0") { [13:14:07.223] info <- base::c(r_version = base::gsub("R version ", [13:14:07.223] "", base::R.version$version.string), [13:14:07.223] platform = base::sprintf("%s (%s-bit)", [13:14:07.223] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.223] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.223] "release", "version")], collapse = " "), [13:14:07.223] hostname = base::Sys.info()[["nodename"]]) [13:14:07.223] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.223] info) [13:14:07.223] info <- base::paste(info, collapse = "; ") [13:14:07.223] if (!has_future) { [13:14:07.223] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.223] info) [13:14:07.223] } [13:14:07.223] else { [13:14:07.223] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.223] info, version) [13:14:07.223] } [13:14:07.223] base::stop(msg) [13:14:07.223] } [13:14:07.223] }) [13:14:07.223] } [13:14:07.223] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.223] base::options(mc.cores = 1L) [13:14:07.223] } [13:14:07.223] options(future.plan = NULL) [13:14:07.223] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.223] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.223] } [13:14:07.223] ...future.workdir <- getwd() [13:14:07.223] } [13:14:07.223] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.223] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.223] } [13:14:07.223] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.223] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.223] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.223] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.223] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.223] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.223] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.223] base::names(...future.oldOptions)) [13:14:07.223] } [13:14:07.223] if (FALSE) { [13:14:07.223] } [13:14:07.223] else { [13:14:07.223] if (TRUE) { [13:14:07.223] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.223] open = "w") [13:14:07.223] } [13:14:07.223] else { [13:14:07.223] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.223] windows = "NUL", "/dev/null"), open = "w") [13:14:07.223] } [13:14:07.223] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.223] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.223] base::sink(type = "output", split = FALSE) [13:14:07.223] base::close(...future.stdout) [13:14:07.223] }, add = TRUE) [13:14:07.223] } [13:14:07.223] ...future.frame <- base::sys.nframe() [13:14:07.223] ...future.conditions <- base::list() [13:14:07.223] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.223] if (FALSE) { [13:14:07.223] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.223] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.223] } [13:14:07.223] ...future.result <- base::tryCatch({ [13:14:07.223] base::withCallingHandlers({ [13:14:07.223] ...future.value <- base::withVisible(base::local({ [13:14:07.223] ...future.makeSendCondition <- local({ [13:14:07.223] sendCondition <- NULL [13:14:07.223] function(frame = 1L) { [13:14:07.223] if (is.function(sendCondition)) [13:14:07.223] return(sendCondition) [13:14:07.223] ns <- getNamespace("parallel") [13:14:07.223] if (exists("sendData", mode = "function", [13:14:07.223] envir = ns)) { [13:14:07.223] parallel_sendData <- get("sendData", mode = "function", [13:14:07.223] envir = ns) [13:14:07.223] envir <- sys.frame(frame) [13:14:07.223] master <- NULL [13:14:07.223] while (!identical(envir, .GlobalEnv) && [13:14:07.223] !identical(envir, emptyenv())) { [13:14:07.223] if (exists("master", mode = "list", envir = envir, [13:14:07.223] inherits = FALSE)) { [13:14:07.223] master <- get("master", mode = "list", [13:14:07.223] envir = envir, inherits = FALSE) [13:14:07.223] if (inherits(master, c("SOCKnode", [13:14:07.223] "SOCK0node"))) { [13:14:07.223] sendCondition <<- function(cond) { [13:14:07.223] data <- list(type = "VALUE", value = cond, [13:14:07.223] success = TRUE) [13:14:07.223] parallel_sendData(master, data) [13:14:07.223] } [13:14:07.223] return(sendCondition) [13:14:07.223] } [13:14:07.223] } [13:14:07.223] frame <- frame + 1L [13:14:07.223] envir <- sys.frame(frame) [13:14:07.223] } [13:14:07.223] } [13:14:07.223] sendCondition <<- function(cond) NULL [13:14:07.223] } [13:14:07.223] }) [13:14:07.223] withCallingHandlers({ [13:14:07.223] { [13:14:07.223] do.call(function(...) { [13:14:07.223] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.223] if (!identical(...future.globals.maxSize.org, [13:14:07.223] ...future.globals.maxSize)) { [13:14:07.223] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.223] on.exit(options(oopts), add = TRUE) [13:14:07.223] } [13:14:07.223] { [13:14:07.223] lapply(seq_along(...future.elements_ii), [13:14:07.223] FUN = function(jj) { [13:14:07.223] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.223] ...future.FUN(...future.X_jj, ...) [13:14:07.223] }) [13:14:07.223] } [13:14:07.223] }, args = future.call.arguments) [13:14:07.223] } [13:14:07.223] }, immediateCondition = function(cond) { [13:14:07.223] sendCondition <- ...future.makeSendCondition() [13:14:07.223] sendCondition(cond) [13:14:07.223] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.223] { [13:14:07.223] inherits <- base::inherits [13:14:07.223] invokeRestart <- base::invokeRestart [13:14:07.223] is.null <- base::is.null [13:14:07.223] muffled <- FALSE [13:14:07.223] if (inherits(cond, "message")) { [13:14:07.223] muffled <- grepl(pattern, "muffleMessage") [13:14:07.223] if (muffled) [13:14:07.223] invokeRestart("muffleMessage") [13:14:07.223] } [13:14:07.223] else if (inherits(cond, "warning")) { [13:14:07.223] muffled <- grepl(pattern, "muffleWarning") [13:14:07.223] if (muffled) [13:14:07.223] invokeRestart("muffleWarning") [13:14:07.223] } [13:14:07.223] else if (inherits(cond, "condition")) { [13:14:07.223] if (!is.null(pattern)) { [13:14:07.223] computeRestarts <- base::computeRestarts [13:14:07.223] grepl <- base::grepl [13:14:07.223] restarts <- computeRestarts(cond) [13:14:07.223] for (restart in restarts) { [13:14:07.223] name <- restart$name [13:14:07.223] if (is.null(name)) [13:14:07.223] next [13:14:07.223] if (!grepl(pattern, name)) [13:14:07.223] next [13:14:07.223] invokeRestart(restart) [13:14:07.223] muffled <- TRUE [13:14:07.223] break [13:14:07.223] } [13:14:07.223] } [13:14:07.223] } [13:14:07.223] invisible(muffled) [13:14:07.223] } [13:14:07.223] muffleCondition(cond) [13:14:07.223] }) [13:14:07.223] })) [13:14:07.223] future::FutureResult(value = ...future.value$value, [13:14:07.223] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.223] ...future.rng), globalenv = if (FALSE) [13:14:07.223] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.223] ...future.globalenv.names)) [13:14:07.223] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.223] }, condition = base::local({ [13:14:07.223] c <- base::c [13:14:07.223] inherits <- base::inherits [13:14:07.223] invokeRestart <- base::invokeRestart [13:14:07.223] length <- base::length [13:14:07.223] list <- base::list [13:14:07.223] seq.int <- base::seq.int [13:14:07.223] signalCondition <- base::signalCondition [13:14:07.223] sys.calls <- base::sys.calls [13:14:07.223] `[[` <- base::`[[` [13:14:07.223] `+` <- base::`+` [13:14:07.223] `<<-` <- base::`<<-` [13:14:07.223] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.223] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.223] 3L)] [13:14:07.223] } [13:14:07.223] function(cond) { [13:14:07.223] is_error <- inherits(cond, "error") [13:14:07.223] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.223] NULL) [13:14:07.223] if (is_error) { [13:14:07.223] sessionInformation <- function() { [13:14:07.223] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.223] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.223] search = base::search(), system = base::Sys.info()) [13:14:07.223] } [13:14:07.223] ...future.conditions[[length(...future.conditions) + [13:14:07.223] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.223] cond$call), session = sessionInformation(), [13:14:07.223] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.223] signalCondition(cond) [13:14:07.223] } [13:14:07.223] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.223] "immediateCondition"))) { [13:14:07.223] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.223] ...future.conditions[[length(...future.conditions) + [13:14:07.223] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.223] if (TRUE && !signal) { [13:14:07.223] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.223] { [13:14:07.223] inherits <- base::inherits [13:14:07.223] invokeRestart <- base::invokeRestart [13:14:07.223] is.null <- base::is.null [13:14:07.223] muffled <- FALSE [13:14:07.223] if (inherits(cond, "message")) { [13:14:07.223] muffled <- grepl(pattern, "muffleMessage") [13:14:07.223] if (muffled) [13:14:07.223] invokeRestart("muffleMessage") [13:14:07.223] } [13:14:07.223] else if (inherits(cond, "warning")) { [13:14:07.223] muffled <- grepl(pattern, "muffleWarning") [13:14:07.223] if (muffled) [13:14:07.223] invokeRestart("muffleWarning") [13:14:07.223] } [13:14:07.223] else if (inherits(cond, "condition")) { [13:14:07.223] if (!is.null(pattern)) { [13:14:07.223] computeRestarts <- base::computeRestarts [13:14:07.223] grepl <- base::grepl [13:14:07.223] restarts <- computeRestarts(cond) [13:14:07.223] for (restart in restarts) { [13:14:07.223] name <- restart$name [13:14:07.223] if (is.null(name)) [13:14:07.223] next [13:14:07.223] if (!grepl(pattern, name)) [13:14:07.223] next [13:14:07.223] invokeRestart(restart) [13:14:07.223] muffled <- TRUE [13:14:07.223] break [13:14:07.223] } [13:14:07.223] } [13:14:07.223] } [13:14:07.223] invisible(muffled) [13:14:07.223] } [13:14:07.223] muffleCondition(cond, pattern = "^muffle") [13:14:07.223] } [13:14:07.223] } [13:14:07.223] else { [13:14:07.223] if (TRUE) { [13:14:07.223] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.223] { [13:14:07.223] inherits <- base::inherits [13:14:07.223] invokeRestart <- base::invokeRestart [13:14:07.223] is.null <- base::is.null [13:14:07.223] muffled <- FALSE [13:14:07.223] if (inherits(cond, "message")) { [13:14:07.223] muffled <- grepl(pattern, "muffleMessage") [13:14:07.223] if (muffled) [13:14:07.223] invokeRestart("muffleMessage") [13:14:07.223] } [13:14:07.223] else if (inherits(cond, "warning")) { [13:14:07.223] muffled <- grepl(pattern, "muffleWarning") [13:14:07.223] if (muffled) [13:14:07.223] invokeRestart("muffleWarning") [13:14:07.223] } [13:14:07.223] else if (inherits(cond, "condition")) { [13:14:07.223] if (!is.null(pattern)) { [13:14:07.223] computeRestarts <- base::computeRestarts [13:14:07.223] grepl <- base::grepl [13:14:07.223] restarts <- computeRestarts(cond) [13:14:07.223] for (restart in restarts) { [13:14:07.223] name <- restart$name [13:14:07.223] if (is.null(name)) [13:14:07.223] next [13:14:07.223] if (!grepl(pattern, name)) [13:14:07.223] next [13:14:07.223] invokeRestart(restart) [13:14:07.223] muffled <- TRUE [13:14:07.223] break [13:14:07.223] } [13:14:07.223] } [13:14:07.223] } [13:14:07.223] invisible(muffled) [13:14:07.223] } [13:14:07.223] muffleCondition(cond, pattern = "^muffle") [13:14:07.223] } [13:14:07.223] } [13:14:07.223] } [13:14:07.223] })) [13:14:07.223] }, error = function(ex) { [13:14:07.223] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.223] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.223] ...future.rng), started = ...future.startTime, [13:14:07.223] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.223] version = "1.8"), class = "FutureResult") [13:14:07.223] }, finally = { [13:14:07.223] if (!identical(...future.workdir, getwd())) [13:14:07.223] setwd(...future.workdir) [13:14:07.223] { [13:14:07.223] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.223] ...future.oldOptions$nwarnings <- NULL [13:14:07.223] } [13:14:07.223] base::options(...future.oldOptions) [13:14:07.223] if (.Platform$OS.type == "windows") { [13:14:07.223] old_names <- names(...future.oldEnvVars) [13:14:07.223] envs <- base::Sys.getenv() [13:14:07.223] names <- names(envs) [13:14:07.223] common <- intersect(names, old_names) [13:14:07.223] added <- setdiff(names, old_names) [13:14:07.223] removed <- setdiff(old_names, names) [13:14:07.223] changed <- common[...future.oldEnvVars[common] != [13:14:07.223] envs[common]] [13:14:07.223] NAMES <- toupper(changed) [13:14:07.223] args <- list() [13:14:07.223] for (kk in seq_along(NAMES)) { [13:14:07.223] name <- changed[[kk]] [13:14:07.223] NAME <- NAMES[[kk]] [13:14:07.223] if (name != NAME && is.element(NAME, old_names)) [13:14:07.223] next [13:14:07.223] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.223] } [13:14:07.223] NAMES <- toupper(added) [13:14:07.223] for (kk in seq_along(NAMES)) { [13:14:07.223] name <- added[[kk]] [13:14:07.223] NAME <- NAMES[[kk]] [13:14:07.223] if (name != NAME && is.element(NAME, old_names)) [13:14:07.223] next [13:14:07.223] args[[name]] <- "" [13:14:07.223] } [13:14:07.223] NAMES <- toupper(removed) [13:14:07.223] for (kk in seq_along(NAMES)) { [13:14:07.223] name <- removed[[kk]] [13:14:07.223] NAME <- NAMES[[kk]] [13:14:07.223] if (name != NAME && is.element(NAME, old_names)) [13:14:07.223] next [13:14:07.223] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.223] } [13:14:07.223] if (length(args) > 0) [13:14:07.223] base::do.call(base::Sys.setenv, args = args) [13:14:07.223] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.223] } [13:14:07.223] else { [13:14:07.223] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.223] } [13:14:07.223] { [13:14:07.223] if (base::length(...future.futureOptionsAdded) > [13:14:07.223] 0L) { [13:14:07.223] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.223] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.223] base::options(opts) [13:14:07.223] } [13:14:07.223] { [13:14:07.223] { [13:14:07.223] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.223] NULL [13:14:07.223] } [13:14:07.223] options(future.plan = NULL) [13:14:07.223] if (is.na(NA_character_)) [13:14:07.223] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.223] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.223] future::plan(list(function (..., workers = availableCores(), [13:14:07.223] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.223] envir = parent.frame()) [13:14:07.223] { [13:14:07.223] if (is.function(workers)) [13:14:07.223] workers <- workers() [13:14:07.223] workers <- structure(as.integer(workers), [13:14:07.223] class = class(workers)) [13:14:07.223] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.223] workers >= 1) [13:14:07.223] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.223] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.223] } [13:14:07.223] future <- MultisessionFuture(..., workers = workers, [13:14:07.223] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.223] envir = envir) [13:14:07.223] if (!future$lazy) [13:14:07.223] future <- run(future) [13:14:07.223] invisible(future) [13:14:07.223] }), .cleanup = FALSE, .init = FALSE) [13:14:07.223] } [13:14:07.223] } [13:14:07.223] } [13:14:07.223] }) [13:14:07.223] if (TRUE) { [13:14:07.223] base::sink(type = "output", split = FALSE) [13:14:07.223] if (TRUE) { [13:14:07.223] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.223] } [13:14:07.223] else { [13:14:07.223] ...future.result["stdout"] <- base::list(NULL) [13:14:07.223] } [13:14:07.223] base::close(...future.stdout) [13:14:07.223] ...future.stdout <- NULL [13:14:07.223] } [13:14:07.223] ...future.result$conditions <- ...future.conditions [13:14:07.223] ...future.result$finished <- base::Sys.time() [13:14:07.223] ...future.result [13:14:07.223] } [13:14:07.229] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:07.229] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:07.229] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:07.230] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.230] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.230] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.231] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.231] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.234] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.234] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.235] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.235] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:07.235] MultisessionFuture started [13:14:07.236] - Launch lazy future ... done [13:14:07.236] run() for 'MultisessionFuture' ... done [13:14:07.236] Created future: [13:14:07.252] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.252] - Validating connection of MultisessionFuture [13:14:07.252] - received message: FutureResult [13:14:07.252] - Received FutureResult [13:14:07.253] - Erased future from FutureRegistry [13:14:07.253] result() for ClusterFuture ... [13:14:07.253] - result already collected: FutureResult [13:14:07.253] result() for ClusterFuture ... done [13:14:07.253] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.236] MultisessionFuture: [13:14:07.236] Label: 'future_sapply-2' [13:14:07.236] Expression: [13:14:07.236] { [13:14:07.236] do.call(function(...) { [13:14:07.236] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.236] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.236] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.236] on.exit(options(oopts), add = TRUE) [13:14:07.236] } [13:14:07.236] { [13:14:07.236] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.236] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.236] ...future.FUN(...future.X_jj, ...) [13:14:07.236] }) [13:14:07.236] } [13:14:07.236] }, args = future.call.arguments) [13:14:07.236] } [13:14:07.236] Lazy evaluation: FALSE [13:14:07.236] Asynchronous evaluation: TRUE [13:14:07.236] Local evaluation: TRUE [13:14:07.236] Environment: R_GlobalEnv [13:14:07.236] Capture standard output: TRUE [13:14:07.236] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.236] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.236] Packages: [13:14:07.236] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.236] Resolved: TRUE [13:14:07.236] Value: [13:14:07.236] Conditions captured: [13:14:07.236] Early signaling: FALSE [13:14:07.236] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.236] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.254] Chunk #2 of 2 ... DONE [13:14:07.254] Launching 2 futures (chunks) ... DONE [13:14:07.254] Resolving 2 futures (chunks) ... [13:14:07.254] resolve() on list ... [13:14:07.254] recursive: 0 [13:14:07.254] length: 2 [13:14:07.255] [13:14:07.255] Future #1 [13:14:07.255] result() for ClusterFuture ... [13:14:07.255] - result already collected: FutureResult [13:14:07.255] result() for ClusterFuture ... done [13:14:07.255] result() for ClusterFuture ... [13:14:07.255] - result already collected: FutureResult [13:14:07.256] result() for ClusterFuture ... done [13:14:07.256] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:07.256] - nx: 2 [13:14:07.256] - relay: TRUE [13:14:07.256] - stdout: TRUE [13:14:07.256] - signal: TRUE [13:14:07.257] - resignal: FALSE [13:14:07.257] - force: TRUE [13:14:07.257] - relayed: [n=2] FALSE, FALSE [13:14:07.257] - queued futures: [n=2] FALSE, FALSE [13:14:07.257] - until=1 [13:14:07.257] - relaying element #1 [13:14:07.258] result() for ClusterFuture ... [13:14:07.258] - result already collected: FutureResult [13:14:07.258] result() for ClusterFuture ... done [13:14:07.258] result() for ClusterFuture ... [13:14:07.258] - result already collected: FutureResult [13:14:07.258] result() for ClusterFuture ... done [13:14:07.259] result() for ClusterFuture ... [13:14:07.259] - result already collected: FutureResult [13:14:07.259] result() for ClusterFuture ... done [13:14:07.259] result() for ClusterFuture ... [13:14:07.259] - result already collected: FutureResult [13:14:07.259] result() for ClusterFuture ... done [13:14:07.259] - relayed: [n=2] TRUE, FALSE [13:14:07.260] - queued futures: [n=2] TRUE, FALSE [13:14:07.260] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:07.260] length: 1 (resolved future 1) [13:14:07.260] Future #2 [13:14:07.260] result() for ClusterFuture ... [13:14:07.260] - result already collected: FutureResult [13:14:07.261] result() for ClusterFuture ... done [13:14:07.261] result() for ClusterFuture ... [13:14:07.261] - result already collected: FutureResult [13:14:07.261] result() for ClusterFuture ... done [13:14:07.261] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:07.261] - nx: 2 [13:14:07.262] - relay: TRUE [13:14:07.262] - stdout: TRUE [13:14:07.262] - signal: TRUE [13:14:07.262] - resignal: FALSE [13:14:07.262] - force: TRUE [13:14:07.262] - relayed: [n=2] TRUE, FALSE [13:14:07.262] - queued futures: [n=2] TRUE, FALSE [13:14:07.263] - until=2 [13:14:07.263] - relaying element #2 [13:14:07.263] result() for ClusterFuture ... [13:14:07.263] - result already collected: FutureResult [13:14:07.263] result() for ClusterFuture ... done [13:14:07.263] result() for ClusterFuture ... [13:14:07.264] - result already collected: FutureResult [13:14:07.264] result() for ClusterFuture ... done [13:14:07.264] result() for ClusterFuture ... [13:14:07.264] - result already collected: FutureResult [13:14:07.264] result() for ClusterFuture ... done [13:14:07.264] result() for ClusterFuture ... [13:14:07.264] - result already collected: FutureResult [13:14:07.265] result() for ClusterFuture ... done [13:14:07.265] - relayed: [n=2] TRUE, TRUE [13:14:07.265] - queued futures: [n=2] TRUE, TRUE [13:14:07.265] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:07.265] length: 0 (resolved future 2) [13:14:07.265] Relaying remaining futures [13:14:07.266] signalConditionsASAP(NULL, pos=0) ... [13:14:07.266] - nx: 2 [13:14:07.266] - relay: TRUE [13:14:07.266] - stdout: TRUE [13:14:07.266] - signal: TRUE [13:14:07.266] - resignal: FALSE [13:14:07.266] - force: TRUE [13:14:07.267] - relayed: [n=2] TRUE, TRUE [13:14:07.267] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:07.267] - relayed: [n=2] TRUE, TRUE [13:14:07.267] - queued futures: [n=2] TRUE, TRUE [13:14:07.267] signalConditionsASAP(NULL, pos=0) ... done [13:14:07.268] resolve() on list ... DONE [13:14:07.268] result() for ClusterFuture ... [13:14:07.268] - result already collected: FutureResult [13:14:07.268] result() for ClusterFuture ... done [13:14:07.268] result() for ClusterFuture ... [13:14:07.268] - result already collected: FutureResult [13:14:07.268] result() for ClusterFuture ... done [13:14:07.269] result() for ClusterFuture ... [13:14:07.269] - result already collected: FutureResult [13:14:07.269] result() for ClusterFuture ... done [13:14:07.269] result() for ClusterFuture ... [13:14:07.269] - result already collected: FutureResult [13:14:07.269] result() for ClusterFuture ... done [13:14:07.270] - Number of value chunks collected: 2 [13:14:07.270] Resolving 2 futures (chunks) ... DONE [13:14:07.270] Reducing values from 2 chunks ... [13:14:07.270] - Number of values collected after concatenation: 6 [13:14:07.270] - Number of values expected: 6 [13:14:07.270] Reducing values from 2 chunks ... DONE [13:14:07.271] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y1:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y2:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 [13:14:07.282] future_lapply() ... [13:14:07.285] Number of chunks: 2 [13:14:07.286] getGlobalsAndPackagesXApply() ... [13:14:07.286] - future.globals: TRUE [13:14:07.286] getGlobalsAndPackages() ... [13:14:07.286] Searching for globals... [13:14:07.288] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:07.288] Searching for globals ... DONE [13:14:07.288] Resolving globals: FALSE [13:14:07.289] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:07.289] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:07.290] - globals: [1] 'FUN' [13:14:07.290] [13:14:07.290] getGlobalsAndPackages() ... DONE [13:14:07.290] - globals found/used: [n=1] 'FUN' [13:14:07.290] - needed namespaces: [n=0] [13:14:07.290] Finding globals ... DONE [13:14:07.290] - use_args: TRUE [13:14:07.291] - Getting '...' globals ... [13:14:07.291] resolve() on list ... [13:14:07.291] recursive: 0 [13:14:07.291] length: 1 [13:14:07.292] elements: '...' [13:14:07.292] length: 0 (resolved future 1) [13:14:07.292] resolve() on list ... DONE [13:14:07.292] - '...' content: [n=0] [13:14:07.292] List of 1 [13:14:07.292] $ ...: list() [13:14:07.292] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.292] - attr(*, "where")=List of 1 [13:14:07.292] ..$ ...: [13:14:07.292] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.292] - attr(*, "resolved")= logi TRUE [13:14:07.292] - attr(*, "total_size")= num NA [13:14:07.295] - Getting '...' globals ... DONE [13:14:07.295] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:07.296] List of 2 [13:14:07.296] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:07.296] $ ... : list() [13:14:07.296] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.296] - attr(*, "where")=List of 2 [13:14:07.296] ..$ ...future.FUN: [13:14:07.296] ..$ ... : [13:14:07.296] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.296] - attr(*, "resolved")= logi FALSE [13:14:07.296] - attr(*, "total_size")= num 4728 [13:14:07.299] Packages to be attached in all futures: [n=0] [13:14:07.299] getGlobalsAndPackagesXApply() ... DONE [13:14:07.299] Number of futures (= number of chunks): 2 [13:14:07.300] Launching 2 futures (chunks) ... [13:14:07.300] Chunk #1 of 2 ... [13:14:07.300] - Finding globals in 'X' for chunk #1 ... [13:14:07.300] getGlobalsAndPackages() ... [13:14:07.300] Searching for globals... [13:14:07.301] [13:14:07.301] Searching for globals ... DONE [13:14:07.301] - globals: [0] [13:14:07.301] getGlobalsAndPackages() ... DONE [13:14:07.301] + additional globals found: [n=0] [13:14:07.301] + additional namespaces needed: [n=0] [13:14:07.302] - Finding globals in 'X' for chunk #1 ... DONE [13:14:07.302] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.302] - seeds: [13:14:07.302] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.302] getGlobalsAndPackages() ... [13:14:07.302] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.303] Resolving globals: FALSE [13:14:07.303] Tweak future expression to call with '...' arguments ... [13:14:07.303] { [13:14:07.303] do.call(function(...) { [13:14:07.303] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.303] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.303] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.303] on.exit(options(oopts), add = TRUE) [13:14:07.303] } [13:14:07.303] { [13:14:07.303] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.303] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.303] ...future.FUN(...future.X_jj, ...) [13:14:07.303] }) [13:14:07.303] } [13:14:07.303] }, args = future.call.arguments) [13:14:07.303] } [13:14:07.303] Tweak future expression to call with '...' arguments ... DONE [13:14:07.304] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.304] [13:14:07.304] getGlobalsAndPackages() ... DONE [13:14:07.305] run() for 'Future' ... [13:14:07.305] - state: 'created' [13:14:07.305] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.319] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.319] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.319] - Field: 'node' [13:14:07.320] - Field: 'label' [13:14:07.320] - Field: 'local' [13:14:07.320] - Field: 'owner' [13:14:07.320] - Field: 'envir' [13:14:07.320] - Field: 'workers' [13:14:07.321] - Field: 'packages' [13:14:07.321] - Field: 'gc' [13:14:07.321] - Field: 'conditions' [13:14:07.321] - Field: 'persistent' [13:14:07.321] - Field: 'expr' [13:14:07.321] - Field: 'uuid' [13:14:07.322] - Field: 'seed' [13:14:07.322] - Field: 'version' [13:14:07.322] - Field: 'result' [13:14:07.322] - Field: 'asynchronous' [13:14:07.322] - Field: 'calls' [13:14:07.322] - Field: 'globals' [13:14:07.323] - Field: 'stdout' [13:14:07.323] - Field: 'earlySignal' [13:14:07.323] - Field: 'lazy' [13:14:07.323] - Field: 'state' [13:14:07.323] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.324] - Launch lazy future ... [13:14:07.324] Packages needed by the future expression (n = 0): [13:14:07.324] Packages needed by future strategies (n = 0): [13:14:07.325] { [13:14:07.325] { [13:14:07.325] { [13:14:07.325] ...future.startTime <- base::Sys.time() [13:14:07.325] { [13:14:07.325] { [13:14:07.325] { [13:14:07.325] { [13:14:07.325] base::local({ [13:14:07.325] has_future <- base::requireNamespace("future", [13:14:07.325] quietly = TRUE) [13:14:07.325] if (has_future) { [13:14:07.325] ns <- base::getNamespace("future") [13:14:07.325] version <- ns[[".package"]][["version"]] [13:14:07.325] if (is.null(version)) [13:14:07.325] version <- utils::packageVersion("future") [13:14:07.325] } [13:14:07.325] else { [13:14:07.325] version <- NULL [13:14:07.325] } [13:14:07.325] if (!has_future || version < "1.8.0") { [13:14:07.325] info <- base::c(r_version = base::gsub("R version ", [13:14:07.325] "", base::R.version$version.string), [13:14:07.325] platform = base::sprintf("%s (%s-bit)", [13:14:07.325] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.325] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.325] "release", "version")], collapse = " "), [13:14:07.325] hostname = base::Sys.info()[["nodename"]]) [13:14:07.325] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.325] info) [13:14:07.325] info <- base::paste(info, collapse = "; ") [13:14:07.325] if (!has_future) { [13:14:07.325] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.325] info) [13:14:07.325] } [13:14:07.325] else { [13:14:07.325] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.325] info, version) [13:14:07.325] } [13:14:07.325] base::stop(msg) [13:14:07.325] } [13:14:07.325] }) [13:14:07.325] } [13:14:07.325] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.325] base::options(mc.cores = 1L) [13:14:07.325] } [13:14:07.325] options(future.plan = NULL) [13:14:07.325] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.325] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.325] } [13:14:07.325] ...future.workdir <- getwd() [13:14:07.325] } [13:14:07.325] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.325] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.325] } [13:14:07.325] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.325] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.325] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.325] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.325] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.325] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.325] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.325] base::names(...future.oldOptions)) [13:14:07.325] } [13:14:07.325] if (FALSE) { [13:14:07.325] } [13:14:07.325] else { [13:14:07.325] if (TRUE) { [13:14:07.325] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.325] open = "w") [13:14:07.325] } [13:14:07.325] else { [13:14:07.325] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.325] windows = "NUL", "/dev/null"), open = "w") [13:14:07.325] } [13:14:07.325] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.325] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.325] base::sink(type = "output", split = FALSE) [13:14:07.325] base::close(...future.stdout) [13:14:07.325] }, add = TRUE) [13:14:07.325] } [13:14:07.325] ...future.frame <- base::sys.nframe() [13:14:07.325] ...future.conditions <- base::list() [13:14:07.325] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.325] if (FALSE) { [13:14:07.325] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.325] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.325] } [13:14:07.325] ...future.result <- base::tryCatch({ [13:14:07.325] base::withCallingHandlers({ [13:14:07.325] ...future.value <- base::withVisible(base::local({ [13:14:07.325] ...future.makeSendCondition <- local({ [13:14:07.325] sendCondition <- NULL [13:14:07.325] function(frame = 1L) { [13:14:07.325] if (is.function(sendCondition)) [13:14:07.325] return(sendCondition) [13:14:07.325] ns <- getNamespace("parallel") [13:14:07.325] if (exists("sendData", mode = "function", [13:14:07.325] envir = ns)) { [13:14:07.325] parallel_sendData <- get("sendData", mode = "function", [13:14:07.325] envir = ns) [13:14:07.325] envir <- sys.frame(frame) [13:14:07.325] master <- NULL [13:14:07.325] while (!identical(envir, .GlobalEnv) && [13:14:07.325] !identical(envir, emptyenv())) { [13:14:07.325] if (exists("master", mode = "list", envir = envir, [13:14:07.325] inherits = FALSE)) { [13:14:07.325] master <- get("master", mode = "list", [13:14:07.325] envir = envir, inherits = FALSE) [13:14:07.325] if (inherits(master, c("SOCKnode", [13:14:07.325] "SOCK0node"))) { [13:14:07.325] sendCondition <<- function(cond) { [13:14:07.325] data <- list(type = "VALUE", value = cond, [13:14:07.325] success = TRUE) [13:14:07.325] parallel_sendData(master, data) [13:14:07.325] } [13:14:07.325] return(sendCondition) [13:14:07.325] } [13:14:07.325] } [13:14:07.325] frame <- frame + 1L [13:14:07.325] envir <- sys.frame(frame) [13:14:07.325] } [13:14:07.325] } [13:14:07.325] sendCondition <<- function(cond) NULL [13:14:07.325] } [13:14:07.325] }) [13:14:07.325] withCallingHandlers({ [13:14:07.325] { [13:14:07.325] do.call(function(...) { [13:14:07.325] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.325] if (!identical(...future.globals.maxSize.org, [13:14:07.325] ...future.globals.maxSize)) { [13:14:07.325] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.325] on.exit(options(oopts), add = TRUE) [13:14:07.325] } [13:14:07.325] { [13:14:07.325] lapply(seq_along(...future.elements_ii), [13:14:07.325] FUN = function(jj) { [13:14:07.325] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.325] ...future.FUN(...future.X_jj, ...) [13:14:07.325] }) [13:14:07.325] } [13:14:07.325] }, args = future.call.arguments) [13:14:07.325] } [13:14:07.325] }, immediateCondition = function(cond) { [13:14:07.325] sendCondition <- ...future.makeSendCondition() [13:14:07.325] sendCondition(cond) [13:14:07.325] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.325] { [13:14:07.325] inherits <- base::inherits [13:14:07.325] invokeRestart <- base::invokeRestart [13:14:07.325] is.null <- base::is.null [13:14:07.325] muffled <- FALSE [13:14:07.325] if (inherits(cond, "message")) { [13:14:07.325] muffled <- grepl(pattern, "muffleMessage") [13:14:07.325] if (muffled) [13:14:07.325] invokeRestart("muffleMessage") [13:14:07.325] } [13:14:07.325] else if (inherits(cond, "warning")) { [13:14:07.325] muffled <- grepl(pattern, "muffleWarning") [13:14:07.325] if (muffled) [13:14:07.325] invokeRestart("muffleWarning") [13:14:07.325] } [13:14:07.325] else if (inherits(cond, "condition")) { [13:14:07.325] if (!is.null(pattern)) { [13:14:07.325] computeRestarts <- base::computeRestarts [13:14:07.325] grepl <- base::grepl [13:14:07.325] restarts <- computeRestarts(cond) [13:14:07.325] for (restart in restarts) { [13:14:07.325] name <- restart$name [13:14:07.325] if (is.null(name)) [13:14:07.325] next [13:14:07.325] if (!grepl(pattern, name)) [13:14:07.325] next [13:14:07.325] invokeRestart(restart) [13:14:07.325] muffled <- TRUE [13:14:07.325] break [13:14:07.325] } [13:14:07.325] } [13:14:07.325] } [13:14:07.325] invisible(muffled) [13:14:07.325] } [13:14:07.325] muffleCondition(cond) [13:14:07.325] }) [13:14:07.325] })) [13:14:07.325] future::FutureResult(value = ...future.value$value, [13:14:07.325] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.325] ...future.rng), globalenv = if (FALSE) [13:14:07.325] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.325] ...future.globalenv.names)) [13:14:07.325] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.325] }, condition = base::local({ [13:14:07.325] c <- base::c [13:14:07.325] inherits <- base::inherits [13:14:07.325] invokeRestart <- base::invokeRestart [13:14:07.325] length <- base::length [13:14:07.325] list <- base::list [13:14:07.325] seq.int <- base::seq.int [13:14:07.325] signalCondition <- base::signalCondition [13:14:07.325] sys.calls <- base::sys.calls [13:14:07.325] `[[` <- base::`[[` [13:14:07.325] `+` <- base::`+` [13:14:07.325] `<<-` <- base::`<<-` [13:14:07.325] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.325] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.325] 3L)] [13:14:07.325] } [13:14:07.325] function(cond) { [13:14:07.325] is_error <- inherits(cond, "error") [13:14:07.325] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.325] NULL) [13:14:07.325] if (is_error) { [13:14:07.325] sessionInformation <- function() { [13:14:07.325] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.325] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.325] search = base::search(), system = base::Sys.info()) [13:14:07.325] } [13:14:07.325] ...future.conditions[[length(...future.conditions) + [13:14:07.325] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.325] cond$call), session = sessionInformation(), [13:14:07.325] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.325] signalCondition(cond) [13:14:07.325] } [13:14:07.325] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.325] "immediateCondition"))) { [13:14:07.325] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.325] ...future.conditions[[length(...future.conditions) + [13:14:07.325] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.325] if (TRUE && !signal) { [13:14:07.325] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.325] { [13:14:07.325] inherits <- base::inherits [13:14:07.325] invokeRestart <- base::invokeRestart [13:14:07.325] is.null <- base::is.null [13:14:07.325] muffled <- FALSE [13:14:07.325] if (inherits(cond, "message")) { [13:14:07.325] muffled <- grepl(pattern, "muffleMessage") [13:14:07.325] if (muffled) [13:14:07.325] invokeRestart("muffleMessage") [13:14:07.325] } [13:14:07.325] else if (inherits(cond, "warning")) { [13:14:07.325] muffled <- grepl(pattern, "muffleWarning") [13:14:07.325] if (muffled) [13:14:07.325] invokeRestart("muffleWarning") [13:14:07.325] } [13:14:07.325] else if (inherits(cond, "condition")) { [13:14:07.325] if (!is.null(pattern)) { [13:14:07.325] computeRestarts <- base::computeRestarts [13:14:07.325] grepl <- base::grepl [13:14:07.325] restarts <- computeRestarts(cond) [13:14:07.325] for (restart in restarts) { [13:14:07.325] name <- restart$name [13:14:07.325] if (is.null(name)) [13:14:07.325] next [13:14:07.325] if (!grepl(pattern, name)) [13:14:07.325] next [13:14:07.325] invokeRestart(restart) [13:14:07.325] muffled <- TRUE [13:14:07.325] break [13:14:07.325] } [13:14:07.325] } [13:14:07.325] } [13:14:07.325] invisible(muffled) [13:14:07.325] } [13:14:07.325] muffleCondition(cond, pattern = "^muffle") [13:14:07.325] } [13:14:07.325] } [13:14:07.325] else { [13:14:07.325] if (TRUE) { [13:14:07.325] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.325] { [13:14:07.325] inherits <- base::inherits [13:14:07.325] invokeRestart <- base::invokeRestart [13:14:07.325] is.null <- base::is.null [13:14:07.325] muffled <- FALSE [13:14:07.325] if (inherits(cond, "message")) { [13:14:07.325] muffled <- grepl(pattern, "muffleMessage") [13:14:07.325] if (muffled) [13:14:07.325] invokeRestart("muffleMessage") [13:14:07.325] } [13:14:07.325] else if (inherits(cond, "warning")) { [13:14:07.325] muffled <- grepl(pattern, "muffleWarning") [13:14:07.325] if (muffled) [13:14:07.325] invokeRestart("muffleWarning") [13:14:07.325] } [13:14:07.325] else if (inherits(cond, "condition")) { [13:14:07.325] if (!is.null(pattern)) { [13:14:07.325] computeRestarts <- base::computeRestarts [13:14:07.325] grepl <- base::grepl [13:14:07.325] restarts <- computeRestarts(cond) [13:14:07.325] for (restart in restarts) { [13:14:07.325] name <- restart$name [13:14:07.325] if (is.null(name)) [13:14:07.325] next [13:14:07.325] if (!grepl(pattern, name)) [13:14:07.325] next [13:14:07.325] invokeRestart(restart) [13:14:07.325] muffled <- TRUE [13:14:07.325] break [13:14:07.325] } [13:14:07.325] } [13:14:07.325] } [13:14:07.325] invisible(muffled) [13:14:07.325] } [13:14:07.325] muffleCondition(cond, pattern = "^muffle") [13:14:07.325] } [13:14:07.325] } [13:14:07.325] } [13:14:07.325] })) [13:14:07.325] }, error = function(ex) { [13:14:07.325] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.325] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.325] ...future.rng), started = ...future.startTime, [13:14:07.325] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.325] version = "1.8"), class = "FutureResult") [13:14:07.325] }, finally = { [13:14:07.325] if (!identical(...future.workdir, getwd())) [13:14:07.325] setwd(...future.workdir) [13:14:07.325] { [13:14:07.325] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.325] ...future.oldOptions$nwarnings <- NULL [13:14:07.325] } [13:14:07.325] base::options(...future.oldOptions) [13:14:07.325] if (.Platform$OS.type == "windows") { [13:14:07.325] old_names <- names(...future.oldEnvVars) [13:14:07.325] envs <- base::Sys.getenv() [13:14:07.325] names <- names(envs) [13:14:07.325] common <- intersect(names, old_names) [13:14:07.325] added <- setdiff(names, old_names) [13:14:07.325] removed <- setdiff(old_names, names) [13:14:07.325] changed <- common[...future.oldEnvVars[common] != [13:14:07.325] envs[common]] [13:14:07.325] NAMES <- toupper(changed) [13:14:07.325] args <- list() [13:14:07.325] for (kk in seq_along(NAMES)) { [13:14:07.325] name <- changed[[kk]] [13:14:07.325] NAME <- NAMES[[kk]] [13:14:07.325] if (name != NAME && is.element(NAME, old_names)) [13:14:07.325] next [13:14:07.325] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.325] } [13:14:07.325] NAMES <- toupper(added) [13:14:07.325] for (kk in seq_along(NAMES)) { [13:14:07.325] name <- added[[kk]] [13:14:07.325] NAME <- NAMES[[kk]] [13:14:07.325] if (name != NAME && is.element(NAME, old_names)) [13:14:07.325] next [13:14:07.325] args[[name]] <- "" [13:14:07.325] } [13:14:07.325] NAMES <- toupper(removed) [13:14:07.325] for (kk in seq_along(NAMES)) { [13:14:07.325] name <- removed[[kk]] [13:14:07.325] NAME <- NAMES[[kk]] [13:14:07.325] if (name != NAME && is.element(NAME, old_names)) [13:14:07.325] next [13:14:07.325] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.325] } [13:14:07.325] if (length(args) > 0) [13:14:07.325] base::do.call(base::Sys.setenv, args = args) [13:14:07.325] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.325] } [13:14:07.325] else { [13:14:07.325] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.325] } [13:14:07.325] { [13:14:07.325] if (base::length(...future.futureOptionsAdded) > [13:14:07.325] 0L) { [13:14:07.325] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.325] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.325] base::options(opts) [13:14:07.325] } [13:14:07.325] { [13:14:07.325] { [13:14:07.325] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.325] NULL [13:14:07.325] } [13:14:07.325] options(future.plan = NULL) [13:14:07.325] if (is.na(NA_character_)) [13:14:07.325] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.325] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.325] future::plan(list(function (..., workers = availableCores(), [13:14:07.325] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.325] envir = parent.frame()) [13:14:07.325] { [13:14:07.325] if (is.function(workers)) [13:14:07.325] workers <- workers() [13:14:07.325] workers <- structure(as.integer(workers), [13:14:07.325] class = class(workers)) [13:14:07.325] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.325] workers >= 1) [13:14:07.325] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.325] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.325] } [13:14:07.325] future <- MultisessionFuture(..., workers = workers, [13:14:07.325] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.325] envir = envir) [13:14:07.325] if (!future$lazy) [13:14:07.325] future <- run(future) [13:14:07.325] invisible(future) [13:14:07.325] }), .cleanup = FALSE, .init = FALSE) [13:14:07.325] } [13:14:07.325] } [13:14:07.325] } [13:14:07.325] }) [13:14:07.325] if (TRUE) { [13:14:07.325] base::sink(type = "output", split = FALSE) [13:14:07.325] if (TRUE) { [13:14:07.325] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.325] } [13:14:07.325] else { [13:14:07.325] ...future.result["stdout"] <- base::list(NULL) [13:14:07.325] } [13:14:07.325] base::close(...future.stdout) [13:14:07.325] ...future.stdout <- NULL [13:14:07.325] } [13:14:07.325] ...future.result$conditions <- ...future.conditions [13:14:07.325] ...future.result$finished <- base::Sys.time() [13:14:07.325] ...future.result [13:14:07.325] } [13:14:07.330] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:07.330] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:07.331] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:07.331] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.331] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.332] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.332] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.332] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.333] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.333] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.333] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.334] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:07.334] MultisessionFuture started [13:14:07.334] - Launch lazy future ... done [13:14:07.335] run() for 'MultisessionFuture' ... done [13:14:07.335] Created future: [13:14:07.351] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.351] - Validating connection of MultisessionFuture [13:14:07.351] - received message: FutureResult [13:14:07.351] - Received FutureResult [13:14:07.352] - Erased future from FutureRegistry [13:14:07.352] result() for ClusterFuture ... [13:14:07.352] - result already collected: FutureResult [13:14:07.352] result() for ClusterFuture ... done [13:14:07.352] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.335] MultisessionFuture: [13:14:07.335] Label: 'future_sapply-1' [13:14:07.335] Expression: [13:14:07.335] { [13:14:07.335] do.call(function(...) { [13:14:07.335] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.335] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.335] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.335] on.exit(options(oopts), add = TRUE) [13:14:07.335] } [13:14:07.335] { [13:14:07.335] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.335] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.335] ...future.FUN(...future.X_jj, ...) [13:14:07.335] }) [13:14:07.335] } [13:14:07.335] }, args = future.call.arguments) [13:14:07.335] } [13:14:07.335] Lazy evaluation: FALSE [13:14:07.335] Asynchronous evaluation: TRUE [13:14:07.335] Local evaluation: TRUE [13:14:07.335] Environment: R_GlobalEnv [13:14:07.335] Capture standard output: TRUE [13:14:07.335] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.335] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.335] Packages: [13:14:07.335] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.335] Resolved: TRUE [13:14:07.335] Value: [13:14:07.335] Conditions captured: [13:14:07.335] Early signaling: FALSE [13:14:07.335] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.335] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.353] Chunk #1 of 2 ... DONE [13:14:07.353] Chunk #2 of 2 ... [13:14:07.353] - Finding globals in 'X' for chunk #2 ... [13:14:07.353] getGlobalsAndPackages() ... [13:14:07.353] Searching for globals... [13:14:07.354] [13:14:07.354] Searching for globals ... DONE [13:14:07.354] - globals: [0] [13:14:07.354] getGlobalsAndPackages() ... DONE [13:14:07.354] + additional globals found: [n=0] [13:14:07.354] + additional namespaces needed: [n=0] [13:14:07.355] - Finding globals in 'X' for chunk #2 ... DONE [13:14:07.355] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.355] - seeds: [13:14:07.355] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.355] getGlobalsAndPackages() ... [13:14:07.355] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.356] Resolving globals: FALSE [13:14:07.356] Tweak future expression to call with '...' arguments ... [13:14:07.356] { [13:14:07.356] do.call(function(...) { [13:14:07.356] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.356] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.356] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.356] on.exit(options(oopts), add = TRUE) [13:14:07.356] } [13:14:07.356] { [13:14:07.356] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.356] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.356] ...future.FUN(...future.X_jj, ...) [13:14:07.356] }) [13:14:07.356] } [13:14:07.356] }, args = future.call.arguments) [13:14:07.356] } [13:14:07.356] Tweak future expression to call with '...' arguments ... DONE [13:14:07.357] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.357] [13:14:07.357] getGlobalsAndPackages() ... DONE [13:14:07.358] run() for 'Future' ... [13:14:07.358] - state: 'created' [13:14:07.358] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.372] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.372] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.372] - Field: 'node' [13:14:07.373] - Field: 'label' [13:14:07.373] - Field: 'local' [13:14:07.373] - Field: 'owner' [13:14:07.373] - Field: 'envir' [13:14:07.373] - Field: 'workers' [13:14:07.373] - Field: 'packages' [13:14:07.374] - Field: 'gc' [13:14:07.374] - Field: 'conditions' [13:14:07.374] - Field: 'persistent' [13:14:07.374] - Field: 'expr' [13:14:07.374] - Field: 'uuid' [13:14:07.374] - Field: 'seed' [13:14:07.375] - Field: 'version' [13:14:07.375] - Field: 'result' [13:14:07.375] - Field: 'asynchronous' [13:14:07.375] - Field: 'calls' [13:14:07.375] - Field: 'globals' [13:14:07.376] - Field: 'stdout' [13:14:07.376] - Field: 'earlySignal' [13:14:07.376] - Field: 'lazy' [13:14:07.376] - Field: 'state' [13:14:07.376] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.376] - Launch lazy future ... [13:14:07.377] Packages needed by the future expression (n = 0): [13:14:07.377] Packages needed by future strategies (n = 0): [13:14:07.377] { [13:14:07.377] { [13:14:07.377] { [13:14:07.377] ...future.startTime <- base::Sys.time() [13:14:07.377] { [13:14:07.377] { [13:14:07.377] { [13:14:07.377] { [13:14:07.377] base::local({ [13:14:07.377] has_future <- base::requireNamespace("future", [13:14:07.377] quietly = TRUE) [13:14:07.377] if (has_future) { [13:14:07.377] ns <- base::getNamespace("future") [13:14:07.377] version <- ns[[".package"]][["version"]] [13:14:07.377] if (is.null(version)) [13:14:07.377] version <- utils::packageVersion("future") [13:14:07.377] } [13:14:07.377] else { [13:14:07.377] version <- NULL [13:14:07.377] } [13:14:07.377] if (!has_future || version < "1.8.0") { [13:14:07.377] info <- base::c(r_version = base::gsub("R version ", [13:14:07.377] "", base::R.version$version.string), [13:14:07.377] platform = base::sprintf("%s (%s-bit)", [13:14:07.377] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.377] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.377] "release", "version")], collapse = " "), [13:14:07.377] hostname = base::Sys.info()[["nodename"]]) [13:14:07.377] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.377] info) [13:14:07.377] info <- base::paste(info, collapse = "; ") [13:14:07.377] if (!has_future) { [13:14:07.377] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.377] info) [13:14:07.377] } [13:14:07.377] else { [13:14:07.377] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.377] info, version) [13:14:07.377] } [13:14:07.377] base::stop(msg) [13:14:07.377] } [13:14:07.377] }) [13:14:07.377] } [13:14:07.377] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.377] base::options(mc.cores = 1L) [13:14:07.377] } [13:14:07.377] options(future.plan = NULL) [13:14:07.377] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.377] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.377] } [13:14:07.377] ...future.workdir <- getwd() [13:14:07.377] } [13:14:07.377] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.377] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.377] } [13:14:07.377] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.377] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.377] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.377] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.377] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.377] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.377] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.377] base::names(...future.oldOptions)) [13:14:07.377] } [13:14:07.377] if (FALSE) { [13:14:07.377] } [13:14:07.377] else { [13:14:07.377] if (TRUE) { [13:14:07.377] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.377] open = "w") [13:14:07.377] } [13:14:07.377] else { [13:14:07.377] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.377] windows = "NUL", "/dev/null"), open = "w") [13:14:07.377] } [13:14:07.377] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.377] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.377] base::sink(type = "output", split = FALSE) [13:14:07.377] base::close(...future.stdout) [13:14:07.377] }, add = TRUE) [13:14:07.377] } [13:14:07.377] ...future.frame <- base::sys.nframe() [13:14:07.377] ...future.conditions <- base::list() [13:14:07.377] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.377] if (FALSE) { [13:14:07.377] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.377] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.377] } [13:14:07.377] ...future.result <- base::tryCatch({ [13:14:07.377] base::withCallingHandlers({ [13:14:07.377] ...future.value <- base::withVisible(base::local({ [13:14:07.377] ...future.makeSendCondition <- local({ [13:14:07.377] sendCondition <- NULL [13:14:07.377] function(frame = 1L) { [13:14:07.377] if (is.function(sendCondition)) [13:14:07.377] return(sendCondition) [13:14:07.377] ns <- getNamespace("parallel") [13:14:07.377] if (exists("sendData", mode = "function", [13:14:07.377] envir = ns)) { [13:14:07.377] parallel_sendData <- get("sendData", mode = "function", [13:14:07.377] envir = ns) [13:14:07.377] envir <- sys.frame(frame) [13:14:07.377] master <- NULL [13:14:07.377] while (!identical(envir, .GlobalEnv) && [13:14:07.377] !identical(envir, emptyenv())) { [13:14:07.377] if (exists("master", mode = "list", envir = envir, [13:14:07.377] inherits = FALSE)) { [13:14:07.377] master <- get("master", mode = "list", [13:14:07.377] envir = envir, inherits = FALSE) [13:14:07.377] if (inherits(master, c("SOCKnode", [13:14:07.377] "SOCK0node"))) { [13:14:07.377] sendCondition <<- function(cond) { [13:14:07.377] data <- list(type = "VALUE", value = cond, [13:14:07.377] success = TRUE) [13:14:07.377] parallel_sendData(master, data) [13:14:07.377] } [13:14:07.377] return(sendCondition) [13:14:07.377] } [13:14:07.377] } [13:14:07.377] frame <- frame + 1L [13:14:07.377] envir <- sys.frame(frame) [13:14:07.377] } [13:14:07.377] } [13:14:07.377] sendCondition <<- function(cond) NULL [13:14:07.377] } [13:14:07.377] }) [13:14:07.377] withCallingHandlers({ [13:14:07.377] { [13:14:07.377] do.call(function(...) { [13:14:07.377] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.377] if (!identical(...future.globals.maxSize.org, [13:14:07.377] ...future.globals.maxSize)) { [13:14:07.377] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.377] on.exit(options(oopts), add = TRUE) [13:14:07.377] } [13:14:07.377] { [13:14:07.377] lapply(seq_along(...future.elements_ii), [13:14:07.377] FUN = function(jj) { [13:14:07.377] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.377] ...future.FUN(...future.X_jj, ...) [13:14:07.377] }) [13:14:07.377] } [13:14:07.377] }, args = future.call.arguments) [13:14:07.377] } [13:14:07.377] }, immediateCondition = function(cond) { [13:14:07.377] sendCondition <- ...future.makeSendCondition() [13:14:07.377] sendCondition(cond) [13:14:07.377] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.377] { [13:14:07.377] inherits <- base::inherits [13:14:07.377] invokeRestart <- base::invokeRestart [13:14:07.377] is.null <- base::is.null [13:14:07.377] muffled <- FALSE [13:14:07.377] if (inherits(cond, "message")) { [13:14:07.377] muffled <- grepl(pattern, "muffleMessage") [13:14:07.377] if (muffled) [13:14:07.377] invokeRestart("muffleMessage") [13:14:07.377] } [13:14:07.377] else if (inherits(cond, "warning")) { [13:14:07.377] muffled <- grepl(pattern, "muffleWarning") [13:14:07.377] if (muffled) [13:14:07.377] invokeRestart("muffleWarning") [13:14:07.377] } [13:14:07.377] else if (inherits(cond, "condition")) { [13:14:07.377] if (!is.null(pattern)) { [13:14:07.377] computeRestarts <- base::computeRestarts [13:14:07.377] grepl <- base::grepl [13:14:07.377] restarts <- computeRestarts(cond) [13:14:07.377] for (restart in restarts) { [13:14:07.377] name <- restart$name [13:14:07.377] if (is.null(name)) [13:14:07.377] next [13:14:07.377] if (!grepl(pattern, name)) [13:14:07.377] next [13:14:07.377] invokeRestart(restart) [13:14:07.377] muffled <- TRUE [13:14:07.377] break [13:14:07.377] } [13:14:07.377] } [13:14:07.377] } [13:14:07.377] invisible(muffled) [13:14:07.377] } [13:14:07.377] muffleCondition(cond) [13:14:07.377] }) [13:14:07.377] })) [13:14:07.377] future::FutureResult(value = ...future.value$value, [13:14:07.377] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.377] ...future.rng), globalenv = if (FALSE) [13:14:07.377] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.377] ...future.globalenv.names)) [13:14:07.377] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.377] }, condition = base::local({ [13:14:07.377] c <- base::c [13:14:07.377] inherits <- base::inherits [13:14:07.377] invokeRestart <- base::invokeRestart [13:14:07.377] length <- base::length [13:14:07.377] list <- base::list [13:14:07.377] seq.int <- base::seq.int [13:14:07.377] signalCondition <- base::signalCondition [13:14:07.377] sys.calls <- base::sys.calls [13:14:07.377] `[[` <- base::`[[` [13:14:07.377] `+` <- base::`+` [13:14:07.377] `<<-` <- base::`<<-` [13:14:07.377] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.377] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.377] 3L)] [13:14:07.377] } [13:14:07.377] function(cond) { [13:14:07.377] is_error <- inherits(cond, "error") [13:14:07.377] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.377] NULL) [13:14:07.377] if (is_error) { [13:14:07.377] sessionInformation <- function() { [13:14:07.377] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.377] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.377] search = base::search(), system = base::Sys.info()) [13:14:07.377] } [13:14:07.377] ...future.conditions[[length(...future.conditions) + [13:14:07.377] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.377] cond$call), session = sessionInformation(), [13:14:07.377] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.377] signalCondition(cond) [13:14:07.377] } [13:14:07.377] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.377] "immediateCondition"))) { [13:14:07.377] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.377] ...future.conditions[[length(...future.conditions) + [13:14:07.377] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.377] if (TRUE && !signal) { [13:14:07.377] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.377] { [13:14:07.377] inherits <- base::inherits [13:14:07.377] invokeRestart <- base::invokeRestart [13:14:07.377] is.null <- base::is.null [13:14:07.377] muffled <- FALSE [13:14:07.377] if (inherits(cond, "message")) { [13:14:07.377] muffled <- grepl(pattern, "muffleMessage") [13:14:07.377] if (muffled) [13:14:07.377] invokeRestart("muffleMessage") [13:14:07.377] } [13:14:07.377] else if (inherits(cond, "warning")) { [13:14:07.377] muffled <- grepl(pattern, "muffleWarning") [13:14:07.377] if (muffled) [13:14:07.377] invokeRestart("muffleWarning") [13:14:07.377] } [13:14:07.377] else if (inherits(cond, "condition")) { [13:14:07.377] if (!is.null(pattern)) { [13:14:07.377] computeRestarts <- base::computeRestarts [13:14:07.377] grepl <- base::grepl [13:14:07.377] restarts <- computeRestarts(cond) [13:14:07.377] for (restart in restarts) { [13:14:07.377] name <- restart$name [13:14:07.377] if (is.null(name)) [13:14:07.377] next [13:14:07.377] if (!grepl(pattern, name)) [13:14:07.377] next [13:14:07.377] invokeRestart(restart) [13:14:07.377] muffled <- TRUE [13:14:07.377] break [13:14:07.377] } [13:14:07.377] } [13:14:07.377] } [13:14:07.377] invisible(muffled) [13:14:07.377] } [13:14:07.377] muffleCondition(cond, pattern = "^muffle") [13:14:07.377] } [13:14:07.377] } [13:14:07.377] else { [13:14:07.377] if (TRUE) { [13:14:07.377] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.377] { [13:14:07.377] inherits <- base::inherits [13:14:07.377] invokeRestart <- base::invokeRestart [13:14:07.377] is.null <- base::is.null [13:14:07.377] muffled <- FALSE [13:14:07.377] if (inherits(cond, "message")) { [13:14:07.377] muffled <- grepl(pattern, "muffleMessage") [13:14:07.377] if (muffled) [13:14:07.377] invokeRestart("muffleMessage") [13:14:07.377] } [13:14:07.377] else if (inherits(cond, "warning")) { [13:14:07.377] muffled <- grepl(pattern, "muffleWarning") [13:14:07.377] if (muffled) [13:14:07.377] invokeRestart("muffleWarning") [13:14:07.377] } [13:14:07.377] else if (inherits(cond, "condition")) { [13:14:07.377] if (!is.null(pattern)) { [13:14:07.377] computeRestarts <- base::computeRestarts [13:14:07.377] grepl <- base::grepl [13:14:07.377] restarts <- computeRestarts(cond) [13:14:07.377] for (restart in restarts) { [13:14:07.377] name <- restart$name [13:14:07.377] if (is.null(name)) [13:14:07.377] next [13:14:07.377] if (!grepl(pattern, name)) [13:14:07.377] next [13:14:07.377] invokeRestart(restart) [13:14:07.377] muffled <- TRUE [13:14:07.377] break [13:14:07.377] } [13:14:07.377] } [13:14:07.377] } [13:14:07.377] invisible(muffled) [13:14:07.377] } [13:14:07.377] muffleCondition(cond, pattern = "^muffle") [13:14:07.377] } [13:14:07.377] } [13:14:07.377] } [13:14:07.377] })) [13:14:07.377] }, error = function(ex) { [13:14:07.377] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.377] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.377] ...future.rng), started = ...future.startTime, [13:14:07.377] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.377] version = "1.8"), class = "FutureResult") [13:14:07.377] }, finally = { [13:14:07.377] if (!identical(...future.workdir, getwd())) [13:14:07.377] setwd(...future.workdir) [13:14:07.377] { [13:14:07.377] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.377] ...future.oldOptions$nwarnings <- NULL [13:14:07.377] } [13:14:07.377] base::options(...future.oldOptions) [13:14:07.377] if (.Platform$OS.type == "windows") { [13:14:07.377] old_names <- names(...future.oldEnvVars) [13:14:07.377] envs <- base::Sys.getenv() [13:14:07.377] names <- names(envs) [13:14:07.377] common <- intersect(names, old_names) [13:14:07.377] added <- setdiff(names, old_names) [13:14:07.377] removed <- setdiff(old_names, names) [13:14:07.377] changed <- common[...future.oldEnvVars[common] != [13:14:07.377] envs[common]] [13:14:07.377] NAMES <- toupper(changed) [13:14:07.377] args <- list() [13:14:07.377] for (kk in seq_along(NAMES)) { [13:14:07.377] name <- changed[[kk]] [13:14:07.377] NAME <- NAMES[[kk]] [13:14:07.377] if (name != NAME && is.element(NAME, old_names)) [13:14:07.377] next [13:14:07.377] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.377] } [13:14:07.377] NAMES <- toupper(added) [13:14:07.377] for (kk in seq_along(NAMES)) { [13:14:07.377] name <- added[[kk]] [13:14:07.377] NAME <- NAMES[[kk]] [13:14:07.377] if (name != NAME && is.element(NAME, old_names)) [13:14:07.377] next [13:14:07.377] args[[name]] <- "" [13:14:07.377] } [13:14:07.377] NAMES <- toupper(removed) [13:14:07.377] for (kk in seq_along(NAMES)) { [13:14:07.377] name <- removed[[kk]] [13:14:07.377] NAME <- NAMES[[kk]] [13:14:07.377] if (name != NAME && is.element(NAME, old_names)) [13:14:07.377] next [13:14:07.377] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.377] } [13:14:07.377] if (length(args) > 0) [13:14:07.377] base::do.call(base::Sys.setenv, args = args) [13:14:07.377] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.377] } [13:14:07.377] else { [13:14:07.377] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.377] } [13:14:07.377] { [13:14:07.377] if (base::length(...future.futureOptionsAdded) > [13:14:07.377] 0L) { [13:14:07.377] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.377] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.377] base::options(opts) [13:14:07.377] } [13:14:07.377] { [13:14:07.377] { [13:14:07.377] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.377] NULL [13:14:07.377] } [13:14:07.377] options(future.plan = NULL) [13:14:07.377] if (is.na(NA_character_)) [13:14:07.377] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.377] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.377] future::plan(list(function (..., workers = availableCores(), [13:14:07.377] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.377] envir = parent.frame()) [13:14:07.377] { [13:14:07.377] if (is.function(workers)) [13:14:07.377] workers <- workers() [13:14:07.377] workers <- structure(as.integer(workers), [13:14:07.377] class = class(workers)) [13:14:07.377] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.377] workers >= 1) [13:14:07.377] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.377] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.377] } [13:14:07.377] future <- MultisessionFuture(..., workers = workers, [13:14:07.377] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.377] envir = envir) [13:14:07.377] if (!future$lazy) [13:14:07.377] future <- run(future) [13:14:07.377] invisible(future) [13:14:07.377] }), .cleanup = FALSE, .init = FALSE) [13:14:07.377] } [13:14:07.377] } [13:14:07.377] } [13:14:07.377] }) [13:14:07.377] if (TRUE) { [13:14:07.377] base::sink(type = "output", split = FALSE) [13:14:07.377] if (TRUE) { [13:14:07.377] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.377] } [13:14:07.377] else { [13:14:07.377] ...future.result["stdout"] <- base::list(NULL) [13:14:07.377] } [13:14:07.377] base::close(...future.stdout) [13:14:07.377] ...future.stdout <- NULL [13:14:07.377] } [13:14:07.377] ...future.result$conditions <- ...future.conditions [13:14:07.377] ...future.result$finished <- base::Sys.time() [13:14:07.377] ...future.result [13:14:07.377] } [13:14:07.383] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:07.383] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:07.384] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:07.384] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.384] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.385] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.385] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.385] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.388] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.388] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.389] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.389] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:07.390] MultisessionFuture started [13:14:07.390] - Launch lazy future ... done [13:14:07.390] run() for 'MultisessionFuture' ... done [13:14:07.390] Created future: [13:14:07.406] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.406] - Validating connection of MultisessionFuture [13:14:07.406] - received message: FutureResult [13:14:07.406] - Received FutureResult [13:14:07.407] - Erased future from FutureRegistry [13:14:07.407] result() for ClusterFuture ... [13:14:07.407] - result already collected: FutureResult [13:14:07.407] result() for ClusterFuture ... done [13:14:07.407] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.390] MultisessionFuture: [13:14:07.390] Label: 'future_sapply-2' [13:14:07.390] Expression: [13:14:07.390] { [13:14:07.390] do.call(function(...) { [13:14:07.390] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.390] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.390] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.390] on.exit(options(oopts), add = TRUE) [13:14:07.390] } [13:14:07.390] { [13:14:07.390] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.390] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.390] ...future.FUN(...future.X_jj, ...) [13:14:07.390] }) [13:14:07.390] } [13:14:07.390] }, args = future.call.arguments) [13:14:07.390] } [13:14:07.390] Lazy evaluation: FALSE [13:14:07.390] Asynchronous evaluation: TRUE [13:14:07.390] Local evaluation: TRUE [13:14:07.390] Environment: R_GlobalEnv [13:14:07.390] Capture standard output: TRUE [13:14:07.390] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.390] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.390] Packages: [13:14:07.390] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.390] Resolved: TRUE [13:14:07.390] Value: [13:14:07.390] Conditions captured: [13:14:07.390] Early signaling: FALSE [13:14:07.390] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.390] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.408] Chunk #2 of 2 ... DONE [13:14:07.408] Launching 2 futures (chunks) ... DONE [13:14:07.408] Resolving 2 futures (chunks) ... [13:14:07.408] resolve() on list ... [13:14:07.408] recursive: 0 [13:14:07.408] length: 2 [13:14:07.409] [13:14:07.409] Future #1 [13:14:07.409] result() for ClusterFuture ... [13:14:07.409] - result already collected: FutureResult [13:14:07.409] result() for ClusterFuture ... done [13:14:07.409] result() for ClusterFuture ... [13:14:07.410] - result already collected: FutureResult [13:14:07.410] result() for ClusterFuture ... done [13:14:07.410] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:07.410] - nx: 2 [13:14:07.410] - relay: TRUE [13:14:07.410] - stdout: TRUE [13:14:07.410] - signal: TRUE [13:14:07.411] - resignal: FALSE [13:14:07.411] - force: TRUE [13:14:07.411] - relayed: [n=2] FALSE, FALSE [13:14:07.411] - queued futures: [n=2] FALSE, FALSE [13:14:07.411] - until=1 [13:14:07.411] - relaying element #1 [13:14:07.412] result() for ClusterFuture ... [13:14:07.412] - result already collected: FutureResult [13:14:07.412] result() for ClusterFuture ... done [13:14:07.412] result() for ClusterFuture ... [13:14:07.412] - result already collected: FutureResult [13:14:07.412] result() for ClusterFuture ... done [13:14:07.413] result() for ClusterFuture ... [13:14:07.413] - result already collected: FutureResult [13:14:07.413] result() for ClusterFuture ... done [13:14:07.413] result() for ClusterFuture ... [13:14:07.413] - result already collected: FutureResult [13:14:07.413] result() for ClusterFuture ... done [13:14:07.413] - relayed: [n=2] TRUE, FALSE [13:14:07.414] - queued futures: [n=2] TRUE, FALSE [13:14:07.414] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:07.414] length: 1 (resolved future 1) [13:14:07.414] Future #2 [13:14:07.414] result() for ClusterFuture ... [13:14:07.414] - result already collected: FutureResult [13:14:07.415] result() for ClusterFuture ... done [13:14:07.415] result() for ClusterFuture ... [13:14:07.415] - result already collected: FutureResult [13:14:07.415] result() for ClusterFuture ... done [13:14:07.415] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:07.415] - nx: 2 [13:14:07.416] - relay: TRUE [13:14:07.416] - stdout: TRUE [13:14:07.416] - signal: TRUE [13:14:07.416] - resignal: FALSE [13:14:07.416] - force: TRUE [13:14:07.416] - relayed: [n=2] TRUE, FALSE [13:14:07.416] - queued futures: [n=2] TRUE, FALSE [13:14:07.417] - until=2 [13:14:07.417] - relaying element #2 [13:14:07.417] result() for ClusterFuture ... [13:14:07.417] - result already collected: FutureResult [13:14:07.417] result() for ClusterFuture ... done [13:14:07.417] result() for ClusterFuture ... [13:14:07.417] - result already collected: FutureResult [13:14:07.418] result() for ClusterFuture ... done [13:14:07.418] result() for ClusterFuture ... [13:14:07.418] - result already collected: FutureResult [13:14:07.418] result() for ClusterFuture ... done [13:14:07.418] result() for ClusterFuture ... [13:14:07.418] - result already collected: FutureResult [13:14:07.419] result() for ClusterFuture ... done [13:14:07.419] - relayed: [n=2] TRUE, TRUE [13:14:07.419] - queued futures: [n=2] TRUE, TRUE [13:14:07.419] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:07.419] length: 0 (resolved future 2) [13:14:07.419] Relaying remaining futures [13:14:07.420] signalConditionsASAP(NULL, pos=0) ... [13:14:07.420] - nx: 2 [13:14:07.420] - relay: TRUE [13:14:07.420] - stdout: TRUE [13:14:07.420] - signal: TRUE [13:14:07.420] - resignal: FALSE [13:14:07.420] - force: TRUE [13:14:07.421] - relayed: [n=2] TRUE, TRUE [13:14:07.421] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:07.421] - relayed: [n=2] TRUE, TRUE [13:14:07.421] - queued futures: [n=2] TRUE, TRUE [13:14:07.421] signalConditionsASAP(NULL, pos=0) ... done [13:14:07.421] resolve() on list ... DONE [13:14:07.422] result() for ClusterFuture ... [13:14:07.422] - result already collected: FutureResult [13:14:07.422] result() for ClusterFuture ... done [13:14:07.422] result() for ClusterFuture ... [13:14:07.422] - result already collected: FutureResult [13:14:07.422] result() for ClusterFuture ... done [13:14:07.423] result() for ClusterFuture ... [13:14:07.423] - result already collected: FutureResult [13:14:07.423] result() for ClusterFuture ... done [13:14:07.423] result() for ClusterFuture ... [13:14:07.423] - result already collected: FutureResult [13:14:07.423] result() for ClusterFuture ... done [13:14:07.423] - Number of value chunks collected: 2 [13:14:07.424] Resolving 2 futures (chunks) ... DONE [13:14:07.424] Reducing values from 2 chunks ... [13:14:07.424] - Number of values collected after concatenation: 6 [13:14:07.424] - Number of values expected: 6 [13:14:07.424] Reducing values from 2 chunks ... DONE [13:14:07.424] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y1:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y2:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... [13:14:07.437] future_lapply() ... [13:14:07.440] Number of chunks: 2 [13:14:07.440] getGlobalsAndPackagesXApply() ... [13:14:07.440] - future.globals: TRUE [13:14:07.441] getGlobalsAndPackages() ... [13:14:07.441] Searching for globals... [13:14:07.442] - globals found: [1] 'FUN' [13:14:07.442] Searching for globals ... DONE [13:14:07.442] Resolving globals: FALSE [13:14:07.443] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:07.443] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:07.443] - globals: [1] 'FUN' [13:14:07.443] [13:14:07.444] getGlobalsAndPackages() ... DONE [13:14:07.444] - globals found/used: [n=1] 'FUN' [13:14:07.444] - needed namespaces: [n=0] [13:14:07.444] Finding globals ... DONE [13:14:07.444] - use_args: TRUE [13:14:07.444] - Getting '...' globals ... [13:14:07.445] resolve() on list ... [13:14:07.445] recursive: 0 [13:14:07.445] length: 1 [13:14:07.445] elements: '...' [13:14:07.445] length: 0 (resolved future 1) [13:14:07.446] resolve() on list ... DONE [13:14:07.446] - '...' content: [n=0] [13:14:07.446] List of 1 [13:14:07.446] $ ...: list() [13:14:07.446] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.446] - attr(*, "where")=List of 1 [13:14:07.446] ..$ ...: [13:14:07.446] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.446] - attr(*, "resolved")= logi TRUE [13:14:07.446] - attr(*, "total_size")= num NA [13:14:07.449] - Getting '...' globals ... DONE [13:14:07.449] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:07.449] List of 2 [13:14:07.449] $ ...future.FUN:function (x) [13:14:07.449] $ ... : list() [13:14:07.449] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.449] - attr(*, "where")=List of 2 [13:14:07.449] ..$ ...future.FUN: [13:14:07.449] ..$ ... : [13:14:07.449] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.449] - attr(*, "resolved")= logi FALSE [13:14:07.449] - attr(*, "total_size")= num 848 [13:14:07.453] Packages to be attached in all futures: [n=0] [13:14:07.453] getGlobalsAndPackagesXApply() ... DONE [13:14:07.453] Number of futures (= number of chunks): 2 [13:14:07.453] Launching 2 futures (chunks) ... [13:14:07.453] Chunk #1 of 2 ... [13:14:07.454] - Finding globals in 'X' for chunk #1 ... [13:14:07.454] getGlobalsAndPackages() ... [13:14:07.454] Searching for globals... [13:14:07.454] [13:14:07.454] Searching for globals ... DONE [13:14:07.455] - globals: [0] [13:14:07.455] getGlobalsAndPackages() ... DONE [13:14:07.455] + additional globals found: [n=0] [13:14:07.455] + additional namespaces needed: [n=0] [13:14:07.455] - Finding globals in 'X' for chunk #1 ... DONE [13:14:07.455] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.456] - seeds: [13:14:07.456] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.456] getGlobalsAndPackages() ... [13:14:07.456] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.456] Resolving globals: FALSE [13:14:07.456] Tweak future expression to call with '...' arguments ... [13:14:07.457] { [13:14:07.457] do.call(function(...) { [13:14:07.457] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.457] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.457] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.457] on.exit(options(oopts), add = TRUE) [13:14:07.457] } [13:14:07.457] { [13:14:07.457] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.457] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.457] ...future.FUN(...future.X_jj, ...) [13:14:07.457] }) [13:14:07.457] } [13:14:07.457] }, args = future.call.arguments) [13:14:07.457] } [13:14:07.457] Tweak future expression to call with '...' arguments ... DONE [13:14:07.458] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.458] [13:14:07.458] getGlobalsAndPackages() ... DONE [13:14:07.458] run() for 'Future' ... [13:14:07.458] - state: 'created' [13:14:07.459] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.473] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.473] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.473] - Field: 'node' [13:14:07.474] - Field: 'label' [13:14:07.474] - Field: 'local' [13:14:07.474] - Field: 'owner' [13:14:07.474] - Field: 'envir' [13:14:07.474] - Field: 'workers' [13:14:07.474] - Field: 'packages' [13:14:07.475] - Field: 'gc' [13:14:07.475] - Field: 'conditions' [13:14:07.475] - Field: 'persistent' [13:14:07.475] - Field: 'expr' [13:14:07.475] - Field: 'uuid' [13:14:07.475] - Field: 'seed' [13:14:07.476] - Field: 'version' [13:14:07.476] - Field: 'result' [13:14:07.476] - Field: 'asynchronous' [13:14:07.476] - Field: 'calls' [13:14:07.476] - Field: 'globals' [13:14:07.477] - Field: 'stdout' [13:14:07.477] - Field: 'earlySignal' [13:14:07.477] - Field: 'lazy' [13:14:07.477] - Field: 'state' [13:14:07.477] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.477] - Launch lazy future ... [13:14:07.478] Packages needed by the future expression (n = 0): [13:14:07.478] Packages needed by future strategies (n = 0): [13:14:07.479] { [13:14:07.479] { [13:14:07.479] { [13:14:07.479] ...future.startTime <- base::Sys.time() [13:14:07.479] { [13:14:07.479] { [13:14:07.479] { [13:14:07.479] { [13:14:07.479] base::local({ [13:14:07.479] has_future <- base::requireNamespace("future", [13:14:07.479] quietly = TRUE) [13:14:07.479] if (has_future) { [13:14:07.479] ns <- base::getNamespace("future") [13:14:07.479] version <- ns[[".package"]][["version"]] [13:14:07.479] if (is.null(version)) [13:14:07.479] version <- utils::packageVersion("future") [13:14:07.479] } [13:14:07.479] else { [13:14:07.479] version <- NULL [13:14:07.479] } [13:14:07.479] if (!has_future || version < "1.8.0") { [13:14:07.479] info <- base::c(r_version = base::gsub("R version ", [13:14:07.479] "", base::R.version$version.string), [13:14:07.479] platform = base::sprintf("%s (%s-bit)", [13:14:07.479] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.479] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.479] "release", "version")], collapse = " "), [13:14:07.479] hostname = base::Sys.info()[["nodename"]]) [13:14:07.479] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.479] info) [13:14:07.479] info <- base::paste(info, collapse = "; ") [13:14:07.479] if (!has_future) { [13:14:07.479] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.479] info) [13:14:07.479] } [13:14:07.479] else { [13:14:07.479] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.479] info, version) [13:14:07.479] } [13:14:07.479] base::stop(msg) [13:14:07.479] } [13:14:07.479] }) [13:14:07.479] } [13:14:07.479] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.479] base::options(mc.cores = 1L) [13:14:07.479] } [13:14:07.479] options(future.plan = NULL) [13:14:07.479] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.479] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.479] } [13:14:07.479] ...future.workdir <- getwd() [13:14:07.479] } [13:14:07.479] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.479] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.479] } [13:14:07.479] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.479] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.479] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.479] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.479] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.479] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.479] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.479] base::names(...future.oldOptions)) [13:14:07.479] } [13:14:07.479] if (FALSE) { [13:14:07.479] } [13:14:07.479] else { [13:14:07.479] if (TRUE) { [13:14:07.479] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.479] open = "w") [13:14:07.479] } [13:14:07.479] else { [13:14:07.479] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.479] windows = "NUL", "/dev/null"), open = "w") [13:14:07.479] } [13:14:07.479] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.479] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.479] base::sink(type = "output", split = FALSE) [13:14:07.479] base::close(...future.stdout) [13:14:07.479] }, add = TRUE) [13:14:07.479] } [13:14:07.479] ...future.frame <- base::sys.nframe() [13:14:07.479] ...future.conditions <- base::list() [13:14:07.479] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.479] if (FALSE) { [13:14:07.479] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.479] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.479] } [13:14:07.479] ...future.result <- base::tryCatch({ [13:14:07.479] base::withCallingHandlers({ [13:14:07.479] ...future.value <- base::withVisible(base::local({ [13:14:07.479] ...future.makeSendCondition <- local({ [13:14:07.479] sendCondition <- NULL [13:14:07.479] function(frame = 1L) { [13:14:07.479] if (is.function(sendCondition)) [13:14:07.479] return(sendCondition) [13:14:07.479] ns <- getNamespace("parallel") [13:14:07.479] if (exists("sendData", mode = "function", [13:14:07.479] envir = ns)) { [13:14:07.479] parallel_sendData <- get("sendData", mode = "function", [13:14:07.479] envir = ns) [13:14:07.479] envir <- sys.frame(frame) [13:14:07.479] master <- NULL [13:14:07.479] while (!identical(envir, .GlobalEnv) && [13:14:07.479] !identical(envir, emptyenv())) { [13:14:07.479] if (exists("master", mode = "list", envir = envir, [13:14:07.479] inherits = FALSE)) { [13:14:07.479] master <- get("master", mode = "list", [13:14:07.479] envir = envir, inherits = FALSE) [13:14:07.479] if (inherits(master, c("SOCKnode", [13:14:07.479] "SOCK0node"))) { [13:14:07.479] sendCondition <<- function(cond) { [13:14:07.479] data <- list(type = "VALUE", value = cond, [13:14:07.479] success = TRUE) [13:14:07.479] parallel_sendData(master, data) [13:14:07.479] } [13:14:07.479] return(sendCondition) [13:14:07.479] } [13:14:07.479] } [13:14:07.479] frame <- frame + 1L [13:14:07.479] envir <- sys.frame(frame) [13:14:07.479] } [13:14:07.479] } [13:14:07.479] sendCondition <<- function(cond) NULL [13:14:07.479] } [13:14:07.479] }) [13:14:07.479] withCallingHandlers({ [13:14:07.479] { [13:14:07.479] do.call(function(...) { [13:14:07.479] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.479] if (!identical(...future.globals.maxSize.org, [13:14:07.479] ...future.globals.maxSize)) { [13:14:07.479] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.479] on.exit(options(oopts), add = TRUE) [13:14:07.479] } [13:14:07.479] { [13:14:07.479] lapply(seq_along(...future.elements_ii), [13:14:07.479] FUN = function(jj) { [13:14:07.479] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.479] ...future.FUN(...future.X_jj, ...) [13:14:07.479] }) [13:14:07.479] } [13:14:07.479] }, args = future.call.arguments) [13:14:07.479] } [13:14:07.479] }, immediateCondition = function(cond) { [13:14:07.479] sendCondition <- ...future.makeSendCondition() [13:14:07.479] sendCondition(cond) [13:14:07.479] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.479] { [13:14:07.479] inherits <- base::inherits [13:14:07.479] invokeRestart <- base::invokeRestart [13:14:07.479] is.null <- base::is.null [13:14:07.479] muffled <- FALSE [13:14:07.479] if (inherits(cond, "message")) { [13:14:07.479] muffled <- grepl(pattern, "muffleMessage") [13:14:07.479] if (muffled) [13:14:07.479] invokeRestart("muffleMessage") [13:14:07.479] } [13:14:07.479] else if (inherits(cond, "warning")) { [13:14:07.479] muffled <- grepl(pattern, "muffleWarning") [13:14:07.479] if (muffled) [13:14:07.479] invokeRestart("muffleWarning") [13:14:07.479] } [13:14:07.479] else if (inherits(cond, "condition")) { [13:14:07.479] if (!is.null(pattern)) { [13:14:07.479] computeRestarts <- base::computeRestarts [13:14:07.479] grepl <- base::grepl [13:14:07.479] restarts <- computeRestarts(cond) [13:14:07.479] for (restart in restarts) { [13:14:07.479] name <- restart$name [13:14:07.479] if (is.null(name)) [13:14:07.479] next [13:14:07.479] if (!grepl(pattern, name)) [13:14:07.479] next [13:14:07.479] invokeRestart(restart) [13:14:07.479] muffled <- TRUE [13:14:07.479] break [13:14:07.479] } [13:14:07.479] } [13:14:07.479] } [13:14:07.479] invisible(muffled) [13:14:07.479] } [13:14:07.479] muffleCondition(cond) [13:14:07.479] }) [13:14:07.479] })) [13:14:07.479] future::FutureResult(value = ...future.value$value, [13:14:07.479] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.479] ...future.rng), globalenv = if (FALSE) [13:14:07.479] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.479] ...future.globalenv.names)) [13:14:07.479] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.479] }, condition = base::local({ [13:14:07.479] c <- base::c [13:14:07.479] inherits <- base::inherits [13:14:07.479] invokeRestart <- base::invokeRestart [13:14:07.479] length <- base::length [13:14:07.479] list <- base::list [13:14:07.479] seq.int <- base::seq.int [13:14:07.479] signalCondition <- base::signalCondition [13:14:07.479] sys.calls <- base::sys.calls [13:14:07.479] `[[` <- base::`[[` [13:14:07.479] `+` <- base::`+` [13:14:07.479] `<<-` <- base::`<<-` [13:14:07.479] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.479] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.479] 3L)] [13:14:07.479] } [13:14:07.479] function(cond) { [13:14:07.479] is_error <- inherits(cond, "error") [13:14:07.479] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.479] NULL) [13:14:07.479] if (is_error) { [13:14:07.479] sessionInformation <- function() { [13:14:07.479] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.479] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.479] search = base::search(), system = base::Sys.info()) [13:14:07.479] } [13:14:07.479] ...future.conditions[[length(...future.conditions) + [13:14:07.479] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.479] cond$call), session = sessionInformation(), [13:14:07.479] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.479] signalCondition(cond) [13:14:07.479] } [13:14:07.479] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.479] "immediateCondition"))) { [13:14:07.479] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.479] ...future.conditions[[length(...future.conditions) + [13:14:07.479] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.479] if (TRUE && !signal) { [13:14:07.479] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.479] { [13:14:07.479] inherits <- base::inherits [13:14:07.479] invokeRestart <- base::invokeRestart [13:14:07.479] is.null <- base::is.null [13:14:07.479] muffled <- FALSE [13:14:07.479] if (inherits(cond, "message")) { [13:14:07.479] muffled <- grepl(pattern, "muffleMessage") [13:14:07.479] if (muffled) [13:14:07.479] invokeRestart("muffleMessage") [13:14:07.479] } [13:14:07.479] else if (inherits(cond, "warning")) { [13:14:07.479] muffled <- grepl(pattern, "muffleWarning") [13:14:07.479] if (muffled) [13:14:07.479] invokeRestart("muffleWarning") [13:14:07.479] } [13:14:07.479] else if (inherits(cond, "condition")) { [13:14:07.479] if (!is.null(pattern)) { [13:14:07.479] computeRestarts <- base::computeRestarts [13:14:07.479] grepl <- base::grepl [13:14:07.479] restarts <- computeRestarts(cond) [13:14:07.479] for (restart in restarts) { [13:14:07.479] name <- restart$name [13:14:07.479] if (is.null(name)) [13:14:07.479] next [13:14:07.479] if (!grepl(pattern, name)) [13:14:07.479] next [13:14:07.479] invokeRestart(restart) [13:14:07.479] muffled <- TRUE [13:14:07.479] break [13:14:07.479] } [13:14:07.479] } [13:14:07.479] } [13:14:07.479] invisible(muffled) [13:14:07.479] } [13:14:07.479] muffleCondition(cond, pattern = "^muffle") [13:14:07.479] } [13:14:07.479] } [13:14:07.479] else { [13:14:07.479] if (TRUE) { [13:14:07.479] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.479] { [13:14:07.479] inherits <- base::inherits [13:14:07.479] invokeRestart <- base::invokeRestart [13:14:07.479] is.null <- base::is.null [13:14:07.479] muffled <- FALSE [13:14:07.479] if (inherits(cond, "message")) { [13:14:07.479] muffled <- grepl(pattern, "muffleMessage") [13:14:07.479] if (muffled) [13:14:07.479] invokeRestart("muffleMessage") [13:14:07.479] } [13:14:07.479] else if (inherits(cond, "warning")) { [13:14:07.479] muffled <- grepl(pattern, "muffleWarning") [13:14:07.479] if (muffled) [13:14:07.479] invokeRestart("muffleWarning") [13:14:07.479] } [13:14:07.479] else if (inherits(cond, "condition")) { [13:14:07.479] if (!is.null(pattern)) { [13:14:07.479] computeRestarts <- base::computeRestarts [13:14:07.479] grepl <- base::grepl [13:14:07.479] restarts <- computeRestarts(cond) [13:14:07.479] for (restart in restarts) { [13:14:07.479] name <- restart$name [13:14:07.479] if (is.null(name)) [13:14:07.479] next [13:14:07.479] if (!grepl(pattern, name)) [13:14:07.479] next [13:14:07.479] invokeRestart(restart) [13:14:07.479] muffled <- TRUE [13:14:07.479] break [13:14:07.479] } [13:14:07.479] } [13:14:07.479] } [13:14:07.479] invisible(muffled) [13:14:07.479] } [13:14:07.479] muffleCondition(cond, pattern = "^muffle") [13:14:07.479] } [13:14:07.479] } [13:14:07.479] } [13:14:07.479] })) [13:14:07.479] }, error = function(ex) { [13:14:07.479] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.479] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.479] ...future.rng), started = ...future.startTime, [13:14:07.479] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.479] version = "1.8"), class = "FutureResult") [13:14:07.479] }, finally = { [13:14:07.479] if (!identical(...future.workdir, getwd())) [13:14:07.479] setwd(...future.workdir) [13:14:07.479] { [13:14:07.479] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.479] ...future.oldOptions$nwarnings <- NULL [13:14:07.479] } [13:14:07.479] base::options(...future.oldOptions) [13:14:07.479] if (.Platform$OS.type == "windows") { [13:14:07.479] old_names <- names(...future.oldEnvVars) [13:14:07.479] envs <- base::Sys.getenv() [13:14:07.479] names <- names(envs) [13:14:07.479] common <- intersect(names, old_names) [13:14:07.479] added <- setdiff(names, old_names) [13:14:07.479] removed <- setdiff(old_names, names) [13:14:07.479] changed <- common[...future.oldEnvVars[common] != [13:14:07.479] envs[common]] [13:14:07.479] NAMES <- toupper(changed) [13:14:07.479] args <- list() [13:14:07.479] for (kk in seq_along(NAMES)) { [13:14:07.479] name <- changed[[kk]] [13:14:07.479] NAME <- NAMES[[kk]] [13:14:07.479] if (name != NAME && is.element(NAME, old_names)) [13:14:07.479] next [13:14:07.479] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.479] } [13:14:07.479] NAMES <- toupper(added) [13:14:07.479] for (kk in seq_along(NAMES)) { [13:14:07.479] name <- added[[kk]] [13:14:07.479] NAME <- NAMES[[kk]] [13:14:07.479] if (name != NAME && is.element(NAME, old_names)) [13:14:07.479] next [13:14:07.479] args[[name]] <- "" [13:14:07.479] } [13:14:07.479] NAMES <- toupper(removed) [13:14:07.479] for (kk in seq_along(NAMES)) { [13:14:07.479] name <- removed[[kk]] [13:14:07.479] NAME <- NAMES[[kk]] [13:14:07.479] if (name != NAME && is.element(NAME, old_names)) [13:14:07.479] next [13:14:07.479] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.479] } [13:14:07.479] if (length(args) > 0) [13:14:07.479] base::do.call(base::Sys.setenv, args = args) [13:14:07.479] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.479] } [13:14:07.479] else { [13:14:07.479] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.479] } [13:14:07.479] { [13:14:07.479] if (base::length(...future.futureOptionsAdded) > [13:14:07.479] 0L) { [13:14:07.479] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.479] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.479] base::options(opts) [13:14:07.479] } [13:14:07.479] { [13:14:07.479] { [13:14:07.479] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.479] NULL [13:14:07.479] } [13:14:07.479] options(future.plan = NULL) [13:14:07.479] if (is.na(NA_character_)) [13:14:07.479] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.479] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.479] future::plan(list(function (..., workers = availableCores(), [13:14:07.479] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.479] envir = parent.frame()) [13:14:07.479] { [13:14:07.479] if (is.function(workers)) [13:14:07.479] workers <- workers() [13:14:07.479] workers <- structure(as.integer(workers), [13:14:07.479] class = class(workers)) [13:14:07.479] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.479] workers >= 1) [13:14:07.479] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.479] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.479] } [13:14:07.479] future <- MultisessionFuture(..., workers = workers, [13:14:07.479] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.479] envir = envir) [13:14:07.479] if (!future$lazy) [13:14:07.479] future <- run(future) [13:14:07.479] invisible(future) [13:14:07.479] }), .cleanup = FALSE, .init = FALSE) [13:14:07.479] } [13:14:07.479] } [13:14:07.479] } [13:14:07.479] }) [13:14:07.479] if (TRUE) { [13:14:07.479] base::sink(type = "output", split = FALSE) [13:14:07.479] if (TRUE) { [13:14:07.479] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.479] } [13:14:07.479] else { [13:14:07.479] ...future.result["stdout"] <- base::list(NULL) [13:14:07.479] } [13:14:07.479] base::close(...future.stdout) [13:14:07.479] ...future.stdout <- NULL [13:14:07.479] } [13:14:07.479] ...future.result$conditions <- ...future.conditions [13:14:07.479] ...future.result$finished <- base::Sys.time() [13:14:07.479] ...future.result [13:14:07.479] } [13:14:07.484] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:07.484] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:07.485] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:07.485] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.485] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.486] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.486] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.486] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.487] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.487] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.487] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.487] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:07.488] MultisessionFuture started [13:14:07.488] - Launch lazy future ... done [13:14:07.488] run() for 'MultisessionFuture' ... done [13:14:07.489] Created future: [13:14:07.504] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.504] - Validating connection of MultisessionFuture [13:14:07.504] - received message: FutureResult [13:14:07.504] - Received FutureResult [13:14:07.504] - Erased future from FutureRegistry [13:14:07.505] result() for ClusterFuture ... [13:14:07.505] - result already collected: FutureResult [13:14:07.505] result() for ClusterFuture ... done [13:14:07.505] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.489] MultisessionFuture: [13:14:07.489] Label: 'future_sapply-1' [13:14:07.489] Expression: [13:14:07.489] { [13:14:07.489] do.call(function(...) { [13:14:07.489] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.489] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.489] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.489] on.exit(options(oopts), add = TRUE) [13:14:07.489] } [13:14:07.489] { [13:14:07.489] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.489] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.489] ...future.FUN(...future.X_jj, ...) [13:14:07.489] }) [13:14:07.489] } [13:14:07.489] }, args = future.call.arguments) [13:14:07.489] } [13:14:07.489] Lazy evaluation: FALSE [13:14:07.489] Asynchronous evaluation: TRUE [13:14:07.489] Local evaluation: TRUE [13:14:07.489] Environment: R_GlobalEnv [13:14:07.489] Capture standard output: TRUE [13:14:07.489] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.489] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.489] Packages: [13:14:07.489] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.489] Resolved: TRUE [13:14:07.489] Value: [13:14:07.489] Conditions captured: [13:14:07.489] Early signaling: FALSE [13:14:07.489] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.489] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.505] Chunk #1 of 2 ... DONE [13:14:07.506] Chunk #2 of 2 ... [13:14:07.506] - Finding globals in 'X' for chunk #2 ... [13:14:07.506] getGlobalsAndPackages() ... [13:14:07.506] Searching for globals... [13:14:07.506] [13:14:07.507] Searching for globals ... DONE [13:14:07.507] - globals: [0] [13:14:07.507] getGlobalsAndPackages() ... DONE [13:14:07.507] + additional globals found: [n=0] [13:14:07.507] + additional namespaces needed: [n=0] [13:14:07.507] - Finding globals in 'X' for chunk #2 ... DONE [13:14:07.508] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.508] - seeds: [13:14:07.508] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.508] getGlobalsAndPackages() ... [13:14:07.508] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.508] Resolving globals: FALSE [13:14:07.509] Tweak future expression to call with '...' arguments ... [13:14:07.509] { [13:14:07.509] do.call(function(...) { [13:14:07.509] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.509] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.509] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.509] on.exit(options(oopts), add = TRUE) [13:14:07.509] } [13:14:07.509] { [13:14:07.509] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.509] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.509] ...future.FUN(...future.X_jj, ...) [13:14:07.509] }) [13:14:07.509] } [13:14:07.509] }, args = future.call.arguments) [13:14:07.509] } [13:14:07.509] Tweak future expression to call with '...' arguments ... DONE [13:14:07.510] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.510] [13:14:07.510] getGlobalsAndPackages() ... DONE [13:14:07.510] run() for 'Future' ... [13:14:07.511] - state: 'created' [13:14:07.511] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.525] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.525] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.525] - Field: 'node' [13:14:07.525] - Field: 'label' [13:14:07.526] - Field: 'local' [13:14:07.526] - Field: 'owner' [13:14:07.526] - Field: 'envir' [13:14:07.526] - Field: 'workers' [13:14:07.526] - Field: 'packages' [13:14:07.527] - Field: 'gc' [13:14:07.527] - Field: 'conditions' [13:14:07.527] - Field: 'persistent' [13:14:07.527] - Field: 'expr' [13:14:07.527] - Field: 'uuid' [13:14:07.527] - Field: 'seed' [13:14:07.528] - Field: 'version' [13:14:07.528] - Field: 'result' [13:14:07.528] - Field: 'asynchronous' [13:14:07.528] - Field: 'calls' [13:14:07.528] - Field: 'globals' [13:14:07.529] - Field: 'stdout' [13:14:07.529] - Field: 'earlySignal' [13:14:07.529] - Field: 'lazy' [13:14:07.529] - Field: 'state' [13:14:07.529] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.529] - Launch lazy future ... [13:14:07.530] Packages needed by the future expression (n = 0): [13:14:07.530] Packages needed by future strategies (n = 0): [13:14:07.530] { [13:14:07.530] { [13:14:07.530] { [13:14:07.530] ...future.startTime <- base::Sys.time() [13:14:07.530] { [13:14:07.530] { [13:14:07.530] { [13:14:07.530] { [13:14:07.530] base::local({ [13:14:07.530] has_future <- base::requireNamespace("future", [13:14:07.530] quietly = TRUE) [13:14:07.530] if (has_future) { [13:14:07.530] ns <- base::getNamespace("future") [13:14:07.530] version <- ns[[".package"]][["version"]] [13:14:07.530] if (is.null(version)) [13:14:07.530] version <- utils::packageVersion("future") [13:14:07.530] } [13:14:07.530] else { [13:14:07.530] version <- NULL [13:14:07.530] } [13:14:07.530] if (!has_future || version < "1.8.0") { [13:14:07.530] info <- base::c(r_version = base::gsub("R version ", [13:14:07.530] "", base::R.version$version.string), [13:14:07.530] platform = base::sprintf("%s (%s-bit)", [13:14:07.530] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.530] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.530] "release", "version")], collapse = " "), [13:14:07.530] hostname = base::Sys.info()[["nodename"]]) [13:14:07.530] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.530] info) [13:14:07.530] info <- base::paste(info, collapse = "; ") [13:14:07.530] if (!has_future) { [13:14:07.530] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.530] info) [13:14:07.530] } [13:14:07.530] else { [13:14:07.530] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.530] info, version) [13:14:07.530] } [13:14:07.530] base::stop(msg) [13:14:07.530] } [13:14:07.530] }) [13:14:07.530] } [13:14:07.530] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.530] base::options(mc.cores = 1L) [13:14:07.530] } [13:14:07.530] options(future.plan = NULL) [13:14:07.530] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.530] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.530] } [13:14:07.530] ...future.workdir <- getwd() [13:14:07.530] } [13:14:07.530] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.530] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.530] } [13:14:07.530] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.530] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.530] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.530] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.530] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.530] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.530] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.530] base::names(...future.oldOptions)) [13:14:07.530] } [13:14:07.530] if (FALSE) { [13:14:07.530] } [13:14:07.530] else { [13:14:07.530] if (TRUE) { [13:14:07.530] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.530] open = "w") [13:14:07.530] } [13:14:07.530] else { [13:14:07.530] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.530] windows = "NUL", "/dev/null"), open = "w") [13:14:07.530] } [13:14:07.530] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.530] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.530] base::sink(type = "output", split = FALSE) [13:14:07.530] base::close(...future.stdout) [13:14:07.530] }, add = TRUE) [13:14:07.530] } [13:14:07.530] ...future.frame <- base::sys.nframe() [13:14:07.530] ...future.conditions <- base::list() [13:14:07.530] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.530] if (FALSE) { [13:14:07.530] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.530] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.530] } [13:14:07.530] ...future.result <- base::tryCatch({ [13:14:07.530] base::withCallingHandlers({ [13:14:07.530] ...future.value <- base::withVisible(base::local({ [13:14:07.530] ...future.makeSendCondition <- local({ [13:14:07.530] sendCondition <- NULL [13:14:07.530] function(frame = 1L) { [13:14:07.530] if (is.function(sendCondition)) [13:14:07.530] return(sendCondition) [13:14:07.530] ns <- getNamespace("parallel") [13:14:07.530] if (exists("sendData", mode = "function", [13:14:07.530] envir = ns)) { [13:14:07.530] parallel_sendData <- get("sendData", mode = "function", [13:14:07.530] envir = ns) [13:14:07.530] envir <- sys.frame(frame) [13:14:07.530] master <- NULL [13:14:07.530] while (!identical(envir, .GlobalEnv) && [13:14:07.530] !identical(envir, emptyenv())) { [13:14:07.530] if (exists("master", mode = "list", envir = envir, [13:14:07.530] inherits = FALSE)) { [13:14:07.530] master <- get("master", mode = "list", [13:14:07.530] envir = envir, inherits = FALSE) [13:14:07.530] if (inherits(master, c("SOCKnode", [13:14:07.530] "SOCK0node"))) { [13:14:07.530] sendCondition <<- function(cond) { [13:14:07.530] data <- list(type = "VALUE", value = cond, [13:14:07.530] success = TRUE) [13:14:07.530] parallel_sendData(master, data) [13:14:07.530] } [13:14:07.530] return(sendCondition) [13:14:07.530] } [13:14:07.530] } [13:14:07.530] frame <- frame + 1L [13:14:07.530] envir <- sys.frame(frame) [13:14:07.530] } [13:14:07.530] } [13:14:07.530] sendCondition <<- function(cond) NULL [13:14:07.530] } [13:14:07.530] }) [13:14:07.530] withCallingHandlers({ [13:14:07.530] { [13:14:07.530] do.call(function(...) { [13:14:07.530] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.530] if (!identical(...future.globals.maxSize.org, [13:14:07.530] ...future.globals.maxSize)) { [13:14:07.530] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.530] on.exit(options(oopts), add = TRUE) [13:14:07.530] } [13:14:07.530] { [13:14:07.530] lapply(seq_along(...future.elements_ii), [13:14:07.530] FUN = function(jj) { [13:14:07.530] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.530] ...future.FUN(...future.X_jj, ...) [13:14:07.530] }) [13:14:07.530] } [13:14:07.530] }, args = future.call.arguments) [13:14:07.530] } [13:14:07.530] }, immediateCondition = function(cond) { [13:14:07.530] sendCondition <- ...future.makeSendCondition() [13:14:07.530] sendCondition(cond) [13:14:07.530] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.530] { [13:14:07.530] inherits <- base::inherits [13:14:07.530] invokeRestart <- base::invokeRestart [13:14:07.530] is.null <- base::is.null [13:14:07.530] muffled <- FALSE [13:14:07.530] if (inherits(cond, "message")) { [13:14:07.530] muffled <- grepl(pattern, "muffleMessage") [13:14:07.530] if (muffled) [13:14:07.530] invokeRestart("muffleMessage") [13:14:07.530] } [13:14:07.530] else if (inherits(cond, "warning")) { [13:14:07.530] muffled <- grepl(pattern, "muffleWarning") [13:14:07.530] if (muffled) [13:14:07.530] invokeRestart("muffleWarning") [13:14:07.530] } [13:14:07.530] else if (inherits(cond, "condition")) { [13:14:07.530] if (!is.null(pattern)) { [13:14:07.530] computeRestarts <- base::computeRestarts [13:14:07.530] grepl <- base::grepl [13:14:07.530] restarts <- computeRestarts(cond) [13:14:07.530] for (restart in restarts) { [13:14:07.530] name <- restart$name [13:14:07.530] if (is.null(name)) [13:14:07.530] next [13:14:07.530] if (!grepl(pattern, name)) [13:14:07.530] next [13:14:07.530] invokeRestart(restart) [13:14:07.530] muffled <- TRUE [13:14:07.530] break [13:14:07.530] } [13:14:07.530] } [13:14:07.530] } [13:14:07.530] invisible(muffled) [13:14:07.530] } [13:14:07.530] muffleCondition(cond) [13:14:07.530] }) [13:14:07.530] })) [13:14:07.530] future::FutureResult(value = ...future.value$value, [13:14:07.530] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.530] ...future.rng), globalenv = if (FALSE) [13:14:07.530] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.530] ...future.globalenv.names)) [13:14:07.530] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.530] }, condition = base::local({ [13:14:07.530] c <- base::c [13:14:07.530] inherits <- base::inherits [13:14:07.530] invokeRestart <- base::invokeRestart [13:14:07.530] length <- base::length [13:14:07.530] list <- base::list [13:14:07.530] seq.int <- base::seq.int [13:14:07.530] signalCondition <- base::signalCondition [13:14:07.530] sys.calls <- base::sys.calls [13:14:07.530] `[[` <- base::`[[` [13:14:07.530] `+` <- base::`+` [13:14:07.530] `<<-` <- base::`<<-` [13:14:07.530] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.530] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.530] 3L)] [13:14:07.530] } [13:14:07.530] function(cond) { [13:14:07.530] is_error <- inherits(cond, "error") [13:14:07.530] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.530] NULL) [13:14:07.530] if (is_error) { [13:14:07.530] sessionInformation <- function() { [13:14:07.530] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.530] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.530] search = base::search(), system = base::Sys.info()) [13:14:07.530] } [13:14:07.530] ...future.conditions[[length(...future.conditions) + [13:14:07.530] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.530] cond$call), session = sessionInformation(), [13:14:07.530] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.530] signalCondition(cond) [13:14:07.530] } [13:14:07.530] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.530] "immediateCondition"))) { [13:14:07.530] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.530] ...future.conditions[[length(...future.conditions) + [13:14:07.530] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.530] if (TRUE && !signal) { [13:14:07.530] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.530] { [13:14:07.530] inherits <- base::inherits [13:14:07.530] invokeRestart <- base::invokeRestart [13:14:07.530] is.null <- base::is.null [13:14:07.530] muffled <- FALSE [13:14:07.530] if (inherits(cond, "message")) { [13:14:07.530] muffled <- grepl(pattern, "muffleMessage") [13:14:07.530] if (muffled) [13:14:07.530] invokeRestart("muffleMessage") [13:14:07.530] } [13:14:07.530] else if (inherits(cond, "warning")) { [13:14:07.530] muffled <- grepl(pattern, "muffleWarning") [13:14:07.530] if (muffled) [13:14:07.530] invokeRestart("muffleWarning") [13:14:07.530] } [13:14:07.530] else if (inherits(cond, "condition")) { [13:14:07.530] if (!is.null(pattern)) { [13:14:07.530] computeRestarts <- base::computeRestarts [13:14:07.530] grepl <- base::grepl [13:14:07.530] restarts <- computeRestarts(cond) [13:14:07.530] for (restart in restarts) { [13:14:07.530] name <- restart$name [13:14:07.530] if (is.null(name)) [13:14:07.530] next [13:14:07.530] if (!grepl(pattern, name)) [13:14:07.530] next [13:14:07.530] invokeRestart(restart) [13:14:07.530] muffled <- TRUE [13:14:07.530] break [13:14:07.530] } [13:14:07.530] } [13:14:07.530] } [13:14:07.530] invisible(muffled) [13:14:07.530] } [13:14:07.530] muffleCondition(cond, pattern = "^muffle") [13:14:07.530] } [13:14:07.530] } [13:14:07.530] else { [13:14:07.530] if (TRUE) { [13:14:07.530] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.530] { [13:14:07.530] inherits <- base::inherits [13:14:07.530] invokeRestart <- base::invokeRestart [13:14:07.530] is.null <- base::is.null [13:14:07.530] muffled <- FALSE [13:14:07.530] if (inherits(cond, "message")) { [13:14:07.530] muffled <- grepl(pattern, "muffleMessage") [13:14:07.530] if (muffled) [13:14:07.530] invokeRestart("muffleMessage") [13:14:07.530] } [13:14:07.530] else if (inherits(cond, "warning")) { [13:14:07.530] muffled <- grepl(pattern, "muffleWarning") [13:14:07.530] if (muffled) [13:14:07.530] invokeRestart("muffleWarning") [13:14:07.530] } [13:14:07.530] else if (inherits(cond, "condition")) { [13:14:07.530] if (!is.null(pattern)) { [13:14:07.530] computeRestarts <- base::computeRestarts [13:14:07.530] grepl <- base::grepl [13:14:07.530] restarts <- computeRestarts(cond) [13:14:07.530] for (restart in restarts) { [13:14:07.530] name <- restart$name [13:14:07.530] if (is.null(name)) [13:14:07.530] next [13:14:07.530] if (!grepl(pattern, name)) [13:14:07.530] next [13:14:07.530] invokeRestart(restart) [13:14:07.530] muffled <- TRUE [13:14:07.530] break [13:14:07.530] } [13:14:07.530] } [13:14:07.530] } [13:14:07.530] invisible(muffled) [13:14:07.530] } [13:14:07.530] muffleCondition(cond, pattern = "^muffle") [13:14:07.530] } [13:14:07.530] } [13:14:07.530] } [13:14:07.530] })) [13:14:07.530] }, error = function(ex) { [13:14:07.530] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.530] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.530] ...future.rng), started = ...future.startTime, [13:14:07.530] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.530] version = "1.8"), class = "FutureResult") [13:14:07.530] }, finally = { [13:14:07.530] if (!identical(...future.workdir, getwd())) [13:14:07.530] setwd(...future.workdir) [13:14:07.530] { [13:14:07.530] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.530] ...future.oldOptions$nwarnings <- NULL [13:14:07.530] } [13:14:07.530] base::options(...future.oldOptions) [13:14:07.530] if (.Platform$OS.type == "windows") { [13:14:07.530] old_names <- names(...future.oldEnvVars) [13:14:07.530] envs <- base::Sys.getenv() [13:14:07.530] names <- names(envs) [13:14:07.530] common <- intersect(names, old_names) [13:14:07.530] added <- setdiff(names, old_names) [13:14:07.530] removed <- setdiff(old_names, names) [13:14:07.530] changed <- common[...future.oldEnvVars[common] != [13:14:07.530] envs[common]] [13:14:07.530] NAMES <- toupper(changed) [13:14:07.530] args <- list() [13:14:07.530] for (kk in seq_along(NAMES)) { [13:14:07.530] name <- changed[[kk]] [13:14:07.530] NAME <- NAMES[[kk]] [13:14:07.530] if (name != NAME && is.element(NAME, old_names)) [13:14:07.530] next [13:14:07.530] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.530] } [13:14:07.530] NAMES <- toupper(added) [13:14:07.530] for (kk in seq_along(NAMES)) { [13:14:07.530] name <- added[[kk]] [13:14:07.530] NAME <- NAMES[[kk]] [13:14:07.530] if (name != NAME && is.element(NAME, old_names)) [13:14:07.530] next [13:14:07.530] args[[name]] <- "" [13:14:07.530] } [13:14:07.530] NAMES <- toupper(removed) [13:14:07.530] for (kk in seq_along(NAMES)) { [13:14:07.530] name <- removed[[kk]] [13:14:07.530] NAME <- NAMES[[kk]] [13:14:07.530] if (name != NAME && is.element(NAME, old_names)) [13:14:07.530] next [13:14:07.530] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.530] } [13:14:07.530] if (length(args) > 0) [13:14:07.530] base::do.call(base::Sys.setenv, args = args) [13:14:07.530] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.530] } [13:14:07.530] else { [13:14:07.530] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.530] } [13:14:07.530] { [13:14:07.530] if (base::length(...future.futureOptionsAdded) > [13:14:07.530] 0L) { [13:14:07.530] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.530] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.530] base::options(opts) [13:14:07.530] } [13:14:07.530] { [13:14:07.530] { [13:14:07.530] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.530] NULL [13:14:07.530] } [13:14:07.530] options(future.plan = NULL) [13:14:07.530] if (is.na(NA_character_)) [13:14:07.530] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.530] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.530] future::plan(list(function (..., workers = availableCores(), [13:14:07.530] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.530] envir = parent.frame()) [13:14:07.530] { [13:14:07.530] if (is.function(workers)) [13:14:07.530] workers <- workers() [13:14:07.530] workers <- structure(as.integer(workers), [13:14:07.530] class = class(workers)) [13:14:07.530] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.530] workers >= 1) [13:14:07.530] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.530] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.530] } [13:14:07.530] future <- MultisessionFuture(..., workers = workers, [13:14:07.530] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.530] envir = envir) [13:14:07.530] if (!future$lazy) [13:14:07.530] future <- run(future) [13:14:07.530] invisible(future) [13:14:07.530] }), .cleanup = FALSE, .init = FALSE) [13:14:07.530] } [13:14:07.530] } [13:14:07.530] } [13:14:07.530] }) [13:14:07.530] if (TRUE) { [13:14:07.530] base::sink(type = "output", split = FALSE) [13:14:07.530] if (TRUE) { [13:14:07.530] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.530] } [13:14:07.530] else { [13:14:07.530] ...future.result["stdout"] <- base::list(NULL) [13:14:07.530] } [13:14:07.530] base::close(...future.stdout) [13:14:07.530] ...future.stdout <- NULL [13:14:07.530] } [13:14:07.530] ...future.result$conditions <- ...future.conditions [13:14:07.530] ...future.result$finished <- base::Sys.time() [13:14:07.530] ...future.result [13:14:07.530] } [13:14:07.536] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:07.536] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:07.537] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:07.537] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.537] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.538] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.538] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.538] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.539] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.539] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.539] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.546] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:07.547] MultisessionFuture started [13:14:07.547] - Launch lazy future ... done [13:14:07.547] run() for 'MultisessionFuture' ... done [13:14:07.548] Created future: [13:14:07.563] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.564] - Validating connection of MultisessionFuture [13:14:07.564] - received message: FutureResult [13:14:07.564] - Received FutureResult [13:14:07.564] - Erased future from FutureRegistry [13:14:07.564] result() for ClusterFuture ... [13:14:07.565] - result already collected: FutureResult [13:14:07.565] result() for ClusterFuture ... done [13:14:07.565] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.548] MultisessionFuture: [13:14:07.548] Label: 'future_sapply-2' [13:14:07.548] Expression: [13:14:07.548] { [13:14:07.548] do.call(function(...) { [13:14:07.548] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.548] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.548] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.548] on.exit(options(oopts), add = TRUE) [13:14:07.548] } [13:14:07.548] { [13:14:07.548] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.548] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.548] ...future.FUN(...future.X_jj, ...) [13:14:07.548] }) [13:14:07.548] } [13:14:07.548] }, args = future.call.arguments) [13:14:07.548] } [13:14:07.548] Lazy evaluation: FALSE [13:14:07.548] Asynchronous evaluation: TRUE [13:14:07.548] Local evaluation: TRUE [13:14:07.548] Environment: R_GlobalEnv [13:14:07.548] Capture standard output: TRUE [13:14:07.548] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.548] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.548] Packages: [13:14:07.548] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.548] Resolved: TRUE [13:14:07.548] Value: [13:14:07.548] Conditions captured: [13:14:07.548] Early signaling: FALSE [13:14:07.548] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.548] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.565] Chunk #2 of 2 ... DONE [13:14:07.566] Launching 2 futures (chunks) ... DONE [13:14:07.566] Resolving 2 futures (chunks) ... [13:14:07.566] resolve() on list ... [13:14:07.566] recursive: 0 [13:14:07.566] length: 2 [13:14:07.566] [13:14:07.566] Future #1 [13:14:07.567] result() for ClusterFuture ... [13:14:07.567] - result already collected: FutureResult [13:14:07.567] result() for ClusterFuture ... done [13:14:07.567] result() for ClusterFuture ... [13:14:07.567] - result already collected: FutureResult [13:14:07.567] result() for ClusterFuture ... done [13:14:07.568] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:07.568] - nx: 2 [13:14:07.568] - relay: TRUE [13:14:07.568] - stdout: TRUE [13:14:07.568] - signal: TRUE [13:14:07.568] - resignal: FALSE [13:14:07.568] - force: TRUE [13:14:07.569] - relayed: [n=2] FALSE, FALSE [13:14:07.569] - queued futures: [n=2] FALSE, FALSE [13:14:07.569] - until=1 [13:14:07.569] - relaying element #1 [13:14:07.569] result() for ClusterFuture ... [13:14:07.569] - result already collected: FutureResult [13:14:07.570] result() for ClusterFuture ... done [13:14:07.570] result() for ClusterFuture ... [13:14:07.570] - result already collected: FutureResult [13:14:07.570] result() for ClusterFuture ... done [13:14:07.570] result() for ClusterFuture ... [13:14:07.570] - result already collected: FutureResult [13:14:07.571] result() for ClusterFuture ... done [13:14:07.571] result() for ClusterFuture ... [13:14:07.571] - result already collected: FutureResult [13:14:07.571] result() for ClusterFuture ... done [13:14:07.571] - relayed: [n=2] TRUE, FALSE [13:14:07.571] - queued futures: [n=2] TRUE, FALSE [13:14:07.571] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:07.572] length: 1 (resolved future 1) [13:14:07.572] Future #2 [13:14:07.572] result() for ClusterFuture ... [13:14:07.572] - result already collected: FutureResult [13:14:07.572] result() for ClusterFuture ... done [13:14:07.572] result() for ClusterFuture ... [13:14:07.573] - result already collected: FutureResult [13:14:07.573] result() for ClusterFuture ... done [13:14:07.573] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:07.573] - nx: 2 [13:14:07.573] - relay: TRUE [13:14:07.573] - stdout: TRUE [13:14:07.574] - signal: TRUE [13:14:07.574] - resignal: FALSE [13:14:07.574] - force: TRUE [13:14:07.574] - relayed: [n=2] TRUE, FALSE [13:14:07.574] - queued futures: [n=2] TRUE, FALSE [13:14:07.574] - until=2 [13:14:07.574] - relaying element #2 [13:14:07.575] result() for ClusterFuture ... [13:14:07.575] - result already collected: FutureResult [13:14:07.575] result() for ClusterFuture ... done [13:14:07.575] result() for ClusterFuture ... [13:14:07.575] - result already collected: FutureResult [13:14:07.575] result() for ClusterFuture ... done [13:14:07.576] result() for ClusterFuture ... [13:14:07.576] - result already collected: FutureResult [13:14:07.576] result() for ClusterFuture ... done [13:14:07.576] result() for ClusterFuture ... [13:14:07.576] - result already collected: FutureResult [13:14:07.576] result() for ClusterFuture ... done [13:14:07.576] - relayed: [n=2] TRUE, TRUE [13:14:07.577] - queued futures: [n=2] TRUE, TRUE [13:14:07.577] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:07.577] length: 0 (resolved future 2) [13:14:07.577] Relaying remaining futures [13:14:07.577] signalConditionsASAP(NULL, pos=0) ... [13:14:07.577] - nx: 2 [13:14:07.578] - relay: TRUE [13:14:07.578] - stdout: TRUE [13:14:07.578] - signal: TRUE [13:14:07.578] - resignal: FALSE [13:14:07.578] - force: TRUE [13:14:07.578] - relayed: [n=2] TRUE, TRUE [13:14:07.578] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:07.579] - relayed: [n=2] TRUE, TRUE [13:14:07.579] - queued futures: [n=2] TRUE, TRUE [13:14:07.579] signalConditionsASAP(NULL, pos=0) ... done [13:14:07.579] resolve() on list ... DONE [13:14:07.579] result() for ClusterFuture ... [13:14:07.579] - result already collected: FutureResult [13:14:07.580] result() for ClusterFuture ... done [13:14:07.580] result() for ClusterFuture ... [13:14:07.580] - result already collected: FutureResult [13:14:07.580] result() for ClusterFuture ... done [13:14:07.580] result() for ClusterFuture ... [13:14:07.580] - result already collected: FutureResult [13:14:07.581] result() for ClusterFuture ... done [13:14:07.581] result() for ClusterFuture ... [13:14:07.581] - result already collected: FutureResult [13:14:07.581] result() for ClusterFuture ... done [13:14:07.581] - Number of value chunks collected: 2 [13:14:07.581] Resolving 2 futures (chunks) ... DONE [13:14:07.582] Reducing values from 2 chunks ... [13:14:07.582] - Number of values collected after concatenation: 6 [13:14:07.582] - Number of values expected: 6 [13:14:07.582] Reducing values from 2 chunks ... DONE [13:14:07.582] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:07.584] future_lapply() ... [13:14:07.587] Number of chunks: 2 [13:14:07.587] getGlobalsAndPackagesXApply() ... [13:14:07.587] - future.globals: TRUE [13:14:07.587] getGlobalsAndPackages() ... [13:14:07.588] Searching for globals... [13:14:07.589] - globals found: [2] 'FUN', 'UseMethod' [13:14:07.589] Searching for globals ... DONE [13:14:07.589] Resolving globals: FALSE [13:14:07.590] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:07.590] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:07.590] - globals: [1] 'FUN' [13:14:07.591] [13:14:07.591] getGlobalsAndPackages() ... DONE [13:14:07.591] - globals found/used: [n=1] 'FUN' [13:14:07.591] - needed namespaces: [n=0] [13:14:07.591] Finding globals ... DONE [13:14:07.591] - use_args: TRUE [13:14:07.591] - Getting '...' globals ... [13:14:07.592] resolve() on list ... [13:14:07.592] recursive: 0 [13:14:07.592] length: 1 [13:14:07.592] elements: '...' [13:14:07.593] length: 0 (resolved future 1) [13:14:07.593] resolve() on list ... DONE [13:14:07.593] - '...' content: [n=0] [13:14:07.593] List of 1 [13:14:07.593] $ ...: list() [13:14:07.593] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.593] - attr(*, "where")=List of 1 [13:14:07.593] ..$ ...: [13:14:07.593] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.593] - attr(*, "resolved")= logi TRUE [13:14:07.593] - attr(*, "total_size")= num NA [13:14:07.596] - Getting '...' globals ... DONE [13:14:07.596] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:07.597] List of 2 [13:14:07.597] $ ...future.FUN:function (x, ...) [13:14:07.597] $ ... : list() [13:14:07.597] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.597] - attr(*, "where")=List of 2 [13:14:07.597] ..$ ...future.FUN: [13:14:07.597] ..$ ... : [13:14:07.597] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.597] - attr(*, "resolved")= logi FALSE [13:14:07.597] - attr(*, "total_size")= num 1248 [13:14:07.600] Packages to be attached in all futures: [n=0] [13:14:07.600] getGlobalsAndPackagesXApply() ... DONE [13:14:07.600] Number of futures (= number of chunks): 2 [13:14:07.600] Launching 2 futures (chunks) ... [13:14:07.601] Chunk #1 of 2 ... [13:14:07.601] - Finding globals in 'X' for chunk #1 ... [13:14:07.601] getGlobalsAndPackages() ... [13:14:07.601] Searching for globals... [13:14:07.601] [13:14:07.602] Searching for globals ... DONE [13:14:07.602] - globals: [0] [13:14:07.602] getGlobalsAndPackages() ... DONE [13:14:07.602] + additional globals found: [n=0] [13:14:07.602] + additional namespaces needed: [n=0] [13:14:07.602] - Finding globals in 'X' for chunk #1 ... DONE [13:14:07.603] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.603] - seeds: [13:14:07.603] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.603] getGlobalsAndPackages() ... [13:14:07.603] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.603] Resolving globals: FALSE [13:14:07.604] Tweak future expression to call with '...' arguments ... [13:14:07.604] { [13:14:07.604] do.call(function(...) { [13:14:07.604] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.604] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.604] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.604] on.exit(options(oopts), add = TRUE) [13:14:07.604] } [13:14:07.604] { [13:14:07.604] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.604] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.604] ...future.FUN(...future.X_jj, ...) [13:14:07.604] }) [13:14:07.604] } [13:14:07.604] }, args = future.call.arguments) [13:14:07.604] } [13:14:07.604] Tweak future expression to call with '...' arguments ... DONE [13:14:07.605] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.605] [13:14:07.605] getGlobalsAndPackages() ... DONE [13:14:07.605] run() for 'Future' ... [13:14:07.606] - state: 'created' [13:14:07.606] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.620] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.620] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.620] - Field: 'node' [13:14:07.620] - Field: 'label' [13:14:07.620] - Field: 'local' [13:14:07.621] - Field: 'owner' [13:14:07.621] - Field: 'envir' [13:14:07.621] - Field: 'workers' [13:14:07.621] - Field: 'packages' [13:14:07.621] - Field: 'gc' [13:14:07.621] - Field: 'conditions' [13:14:07.622] - Field: 'persistent' [13:14:07.622] - Field: 'expr' [13:14:07.622] - Field: 'uuid' [13:14:07.622] - Field: 'seed' [13:14:07.622] - Field: 'version' [13:14:07.623] - Field: 'result' [13:14:07.623] - Field: 'asynchronous' [13:14:07.623] - Field: 'calls' [13:14:07.623] - Field: 'globals' [13:14:07.623] - Field: 'stdout' [13:14:07.623] - Field: 'earlySignal' [13:14:07.624] - Field: 'lazy' [13:14:07.624] - Field: 'state' [13:14:07.624] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.624] - Launch lazy future ... [13:14:07.624] Packages needed by the future expression (n = 0): [13:14:07.625] Packages needed by future strategies (n = 0): [13:14:07.625] { [13:14:07.625] { [13:14:07.625] { [13:14:07.625] ...future.startTime <- base::Sys.time() [13:14:07.625] { [13:14:07.625] { [13:14:07.625] { [13:14:07.625] { [13:14:07.625] base::local({ [13:14:07.625] has_future <- base::requireNamespace("future", [13:14:07.625] quietly = TRUE) [13:14:07.625] if (has_future) { [13:14:07.625] ns <- base::getNamespace("future") [13:14:07.625] version <- ns[[".package"]][["version"]] [13:14:07.625] if (is.null(version)) [13:14:07.625] version <- utils::packageVersion("future") [13:14:07.625] } [13:14:07.625] else { [13:14:07.625] version <- NULL [13:14:07.625] } [13:14:07.625] if (!has_future || version < "1.8.0") { [13:14:07.625] info <- base::c(r_version = base::gsub("R version ", [13:14:07.625] "", base::R.version$version.string), [13:14:07.625] platform = base::sprintf("%s (%s-bit)", [13:14:07.625] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.625] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.625] "release", "version")], collapse = " "), [13:14:07.625] hostname = base::Sys.info()[["nodename"]]) [13:14:07.625] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.625] info) [13:14:07.625] info <- base::paste(info, collapse = "; ") [13:14:07.625] if (!has_future) { [13:14:07.625] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.625] info) [13:14:07.625] } [13:14:07.625] else { [13:14:07.625] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.625] info, version) [13:14:07.625] } [13:14:07.625] base::stop(msg) [13:14:07.625] } [13:14:07.625] }) [13:14:07.625] } [13:14:07.625] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.625] base::options(mc.cores = 1L) [13:14:07.625] } [13:14:07.625] options(future.plan = NULL) [13:14:07.625] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.625] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.625] } [13:14:07.625] ...future.workdir <- getwd() [13:14:07.625] } [13:14:07.625] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.625] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.625] } [13:14:07.625] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.625] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.625] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.625] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.625] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.625] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.625] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.625] base::names(...future.oldOptions)) [13:14:07.625] } [13:14:07.625] if (FALSE) { [13:14:07.625] } [13:14:07.625] else { [13:14:07.625] if (TRUE) { [13:14:07.625] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.625] open = "w") [13:14:07.625] } [13:14:07.625] else { [13:14:07.625] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.625] windows = "NUL", "/dev/null"), open = "w") [13:14:07.625] } [13:14:07.625] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.625] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.625] base::sink(type = "output", split = FALSE) [13:14:07.625] base::close(...future.stdout) [13:14:07.625] }, add = TRUE) [13:14:07.625] } [13:14:07.625] ...future.frame <- base::sys.nframe() [13:14:07.625] ...future.conditions <- base::list() [13:14:07.625] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.625] if (FALSE) { [13:14:07.625] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.625] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.625] } [13:14:07.625] ...future.result <- base::tryCatch({ [13:14:07.625] base::withCallingHandlers({ [13:14:07.625] ...future.value <- base::withVisible(base::local({ [13:14:07.625] ...future.makeSendCondition <- local({ [13:14:07.625] sendCondition <- NULL [13:14:07.625] function(frame = 1L) { [13:14:07.625] if (is.function(sendCondition)) [13:14:07.625] return(sendCondition) [13:14:07.625] ns <- getNamespace("parallel") [13:14:07.625] if (exists("sendData", mode = "function", [13:14:07.625] envir = ns)) { [13:14:07.625] parallel_sendData <- get("sendData", mode = "function", [13:14:07.625] envir = ns) [13:14:07.625] envir <- sys.frame(frame) [13:14:07.625] master <- NULL [13:14:07.625] while (!identical(envir, .GlobalEnv) && [13:14:07.625] !identical(envir, emptyenv())) { [13:14:07.625] if (exists("master", mode = "list", envir = envir, [13:14:07.625] inherits = FALSE)) { [13:14:07.625] master <- get("master", mode = "list", [13:14:07.625] envir = envir, inherits = FALSE) [13:14:07.625] if (inherits(master, c("SOCKnode", [13:14:07.625] "SOCK0node"))) { [13:14:07.625] sendCondition <<- function(cond) { [13:14:07.625] data <- list(type = "VALUE", value = cond, [13:14:07.625] success = TRUE) [13:14:07.625] parallel_sendData(master, data) [13:14:07.625] } [13:14:07.625] return(sendCondition) [13:14:07.625] } [13:14:07.625] } [13:14:07.625] frame <- frame + 1L [13:14:07.625] envir <- sys.frame(frame) [13:14:07.625] } [13:14:07.625] } [13:14:07.625] sendCondition <<- function(cond) NULL [13:14:07.625] } [13:14:07.625] }) [13:14:07.625] withCallingHandlers({ [13:14:07.625] { [13:14:07.625] do.call(function(...) { [13:14:07.625] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.625] if (!identical(...future.globals.maxSize.org, [13:14:07.625] ...future.globals.maxSize)) { [13:14:07.625] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.625] on.exit(options(oopts), add = TRUE) [13:14:07.625] } [13:14:07.625] { [13:14:07.625] lapply(seq_along(...future.elements_ii), [13:14:07.625] FUN = function(jj) { [13:14:07.625] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.625] ...future.FUN(...future.X_jj, ...) [13:14:07.625] }) [13:14:07.625] } [13:14:07.625] }, args = future.call.arguments) [13:14:07.625] } [13:14:07.625] }, immediateCondition = function(cond) { [13:14:07.625] sendCondition <- ...future.makeSendCondition() [13:14:07.625] sendCondition(cond) [13:14:07.625] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.625] { [13:14:07.625] inherits <- base::inherits [13:14:07.625] invokeRestart <- base::invokeRestart [13:14:07.625] is.null <- base::is.null [13:14:07.625] muffled <- FALSE [13:14:07.625] if (inherits(cond, "message")) { [13:14:07.625] muffled <- grepl(pattern, "muffleMessage") [13:14:07.625] if (muffled) [13:14:07.625] invokeRestart("muffleMessage") [13:14:07.625] } [13:14:07.625] else if (inherits(cond, "warning")) { [13:14:07.625] muffled <- grepl(pattern, "muffleWarning") [13:14:07.625] if (muffled) [13:14:07.625] invokeRestart("muffleWarning") [13:14:07.625] } [13:14:07.625] else if (inherits(cond, "condition")) { [13:14:07.625] if (!is.null(pattern)) { [13:14:07.625] computeRestarts <- base::computeRestarts [13:14:07.625] grepl <- base::grepl [13:14:07.625] restarts <- computeRestarts(cond) [13:14:07.625] for (restart in restarts) { [13:14:07.625] name <- restart$name [13:14:07.625] if (is.null(name)) [13:14:07.625] next [13:14:07.625] if (!grepl(pattern, name)) [13:14:07.625] next [13:14:07.625] invokeRestart(restart) [13:14:07.625] muffled <- TRUE [13:14:07.625] break [13:14:07.625] } [13:14:07.625] } [13:14:07.625] } [13:14:07.625] invisible(muffled) [13:14:07.625] } [13:14:07.625] muffleCondition(cond) [13:14:07.625] }) [13:14:07.625] })) [13:14:07.625] future::FutureResult(value = ...future.value$value, [13:14:07.625] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.625] ...future.rng), globalenv = if (FALSE) [13:14:07.625] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.625] ...future.globalenv.names)) [13:14:07.625] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.625] }, condition = base::local({ [13:14:07.625] c <- base::c [13:14:07.625] inherits <- base::inherits [13:14:07.625] invokeRestart <- base::invokeRestart [13:14:07.625] length <- base::length [13:14:07.625] list <- base::list [13:14:07.625] seq.int <- base::seq.int [13:14:07.625] signalCondition <- base::signalCondition [13:14:07.625] sys.calls <- base::sys.calls [13:14:07.625] `[[` <- base::`[[` [13:14:07.625] `+` <- base::`+` [13:14:07.625] `<<-` <- base::`<<-` [13:14:07.625] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.625] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.625] 3L)] [13:14:07.625] } [13:14:07.625] function(cond) { [13:14:07.625] is_error <- inherits(cond, "error") [13:14:07.625] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.625] NULL) [13:14:07.625] if (is_error) { [13:14:07.625] sessionInformation <- function() { [13:14:07.625] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.625] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.625] search = base::search(), system = base::Sys.info()) [13:14:07.625] } [13:14:07.625] ...future.conditions[[length(...future.conditions) + [13:14:07.625] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.625] cond$call), session = sessionInformation(), [13:14:07.625] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.625] signalCondition(cond) [13:14:07.625] } [13:14:07.625] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.625] "immediateCondition"))) { [13:14:07.625] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.625] ...future.conditions[[length(...future.conditions) + [13:14:07.625] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.625] if (TRUE && !signal) { [13:14:07.625] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.625] { [13:14:07.625] inherits <- base::inherits [13:14:07.625] invokeRestart <- base::invokeRestart [13:14:07.625] is.null <- base::is.null [13:14:07.625] muffled <- FALSE [13:14:07.625] if (inherits(cond, "message")) { [13:14:07.625] muffled <- grepl(pattern, "muffleMessage") [13:14:07.625] if (muffled) [13:14:07.625] invokeRestart("muffleMessage") [13:14:07.625] } [13:14:07.625] else if (inherits(cond, "warning")) { [13:14:07.625] muffled <- grepl(pattern, "muffleWarning") [13:14:07.625] if (muffled) [13:14:07.625] invokeRestart("muffleWarning") [13:14:07.625] } [13:14:07.625] else if (inherits(cond, "condition")) { [13:14:07.625] if (!is.null(pattern)) { [13:14:07.625] computeRestarts <- base::computeRestarts [13:14:07.625] grepl <- base::grepl [13:14:07.625] restarts <- computeRestarts(cond) [13:14:07.625] for (restart in restarts) { [13:14:07.625] name <- restart$name [13:14:07.625] if (is.null(name)) [13:14:07.625] next [13:14:07.625] if (!grepl(pattern, name)) [13:14:07.625] next [13:14:07.625] invokeRestart(restart) [13:14:07.625] muffled <- TRUE [13:14:07.625] break [13:14:07.625] } [13:14:07.625] } [13:14:07.625] } [13:14:07.625] invisible(muffled) [13:14:07.625] } [13:14:07.625] muffleCondition(cond, pattern = "^muffle") [13:14:07.625] } [13:14:07.625] } [13:14:07.625] else { [13:14:07.625] if (TRUE) { [13:14:07.625] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.625] { [13:14:07.625] inherits <- base::inherits [13:14:07.625] invokeRestart <- base::invokeRestart [13:14:07.625] is.null <- base::is.null [13:14:07.625] muffled <- FALSE [13:14:07.625] if (inherits(cond, "message")) { [13:14:07.625] muffled <- grepl(pattern, "muffleMessage") [13:14:07.625] if (muffled) [13:14:07.625] invokeRestart("muffleMessage") [13:14:07.625] } [13:14:07.625] else if (inherits(cond, "warning")) { [13:14:07.625] muffled <- grepl(pattern, "muffleWarning") [13:14:07.625] if (muffled) [13:14:07.625] invokeRestart("muffleWarning") [13:14:07.625] } [13:14:07.625] else if (inherits(cond, "condition")) { [13:14:07.625] if (!is.null(pattern)) { [13:14:07.625] computeRestarts <- base::computeRestarts [13:14:07.625] grepl <- base::grepl [13:14:07.625] restarts <- computeRestarts(cond) [13:14:07.625] for (restart in restarts) { [13:14:07.625] name <- restart$name [13:14:07.625] if (is.null(name)) [13:14:07.625] next [13:14:07.625] if (!grepl(pattern, name)) [13:14:07.625] next [13:14:07.625] invokeRestart(restart) [13:14:07.625] muffled <- TRUE [13:14:07.625] break [13:14:07.625] } [13:14:07.625] } [13:14:07.625] } [13:14:07.625] invisible(muffled) [13:14:07.625] } [13:14:07.625] muffleCondition(cond, pattern = "^muffle") [13:14:07.625] } [13:14:07.625] } [13:14:07.625] } [13:14:07.625] })) [13:14:07.625] }, error = function(ex) { [13:14:07.625] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.625] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.625] ...future.rng), started = ...future.startTime, [13:14:07.625] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.625] version = "1.8"), class = "FutureResult") [13:14:07.625] }, finally = { [13:14:07.625] if (!identical(...future.workdir, getwd())) [13:14:07.625] setwd(...future.workdir) [13:14:07.625] { [13:14:07.625] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.625] ...future.oldOptions$nwarnings <- NULL [13:14:07.625] } [13:14:07.625] base::options(...future.oldOptions) [13:14:07.625] if (.Platform$OS.type == "windows") { [13:14:07.625] old_names <- names(...future.oldEnvVars) [13:14:07.625] envs <- base::Sys.getenv() [13:14:07.625] names <- names(envs) [13:14:07.625] common <- intersect(names, old_names) [13:14:07.625] added <- setdiff(names, old_names) [13:14:07.625] removed <- setdiff(old_names, names) [13:14:07.625] changed <- common[...future.oldEnvVars[common] != [13:14:07.625] envs[common]] [13:14:07.625] NAMES <- toupper(changed) [13:14:07.625] args <- list() [13:14:07.625] for (kk in seq_along(NAMES)) { [13:14:07.625] name <- changed[[kk]] [13:14:07.625] NAME <- NAMES[[kk]] [13:14:07.625] if (name != NAME && is.element(NAME, old_names)) [13:14:07.625] next [13:14:07.625] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.625] } [13:14:07.625] NAMES <- toupper(added) [13:14:07.625] for (kk in seq_along(NAMES)) { [13:14:07.625] name <- added[[kk]] [13:14:07.625] NAME <- NAMES[[kk]] [13:14:07.625] if (name != NAME && is.element(NAME, old_names)) [13:14:07.625] next [13:14:07.625] args[[name]] <- "" [13:14:07.625] } [13:14:07.625] NAMES <- toupper(removed) [13:14:07.625] for (kk in seq_along(NAMES)) { [13:14:07.625] name <- removed[[kk]] [13:14:07.625] NAME <- NAMES[[kk]] [13:14:07.625] if (name != NAME && is.element(NAME, old_names)) [13:14:07.625] next [13:14:07.625] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.625] } [13:14:07.625] if (length(args) > 0) [13:14:07.625] base::do.call(base::Sys.setenv, args = args) [13:14:07.625] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.625] } [13:14:07.625] else { [13:14:07.625] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.625] } [13:14:07.625] { [13:14:07.625] if (base::length(...future.futureOptionsAdded) > [13:14:07.625] 0L) { [13:14:07.625] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.625] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.625] base::options(opts) [13:14:07.625] } [13:14:07.625] { [13:14:07.625] { [13:14:07.625] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.625] NULL [13:14:07.625] } [13:14:07.625] options(future.plan = NULL) [13:14:07.625] if (is.na(NA_character_)) [13:14:07.625] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.625] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.625] future::plan(list(function (..., workers = availableCores(), [13:14:07.625] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.625] envir = parent.frame()) [13:14:07.625] { [13:14:07.625] if (is.function(workers)) [13:14:07.625] workers <- workers() [13:14:07.625] workers <- structure(as.integer(workers), [13:14:07.625] class = class(workers)) [13:14:07.625] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.625] workers >= 1) [13:14:07.625] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.625] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.625] } [13:14:07.625] future <- MultisessionFuture(..., workers = workers, [13:14:07.625] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.625] envir = envir) [13:14:07.625] if (!future$lazy) [13:14:07.625] future <- run(future) [13:14:07.625] invisible(future) [13:14:07.625] }), .cleanup = FALSE, .init = FALSE) [13:14:07.625] } [13:14:07.625] } [13:14:07.625] } [13:14:07.625] }) [13:14:07.625] if (TRUE) { [13:14:07.625] base::sink(type = "output", split = FALSE) [13:14:07.625] if (TRUE) { [13:14:07.625] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.625] } [13:14:07.625] else { [13:14:07.625] ...future.result["stdout"] <- base::list(NULL) [13:14:07.625] } [13:14:07.625] base::close(...future.stdout) [13:14:07.625] ...future.stdout <- NULL [13:14:07.625] } [13:14:07.625] ...future.result$conditions <- ...future.conditions [13:14:07.625] ...future.result$finished <- base::Sys.time() [13:14:07.625] ...future.result [13:14:07.625] } [13:14:07.631] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:07.631] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:07.631] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:07.632] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.632] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.632] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.633] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.633] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.633] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.633] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.634] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.634] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:07.635] MultisessionFuture started [13:14:07.635] - Launch lazy future ... done [13:14:07.635] run() for 'MultisessionFuture' ... done [13:14:07.635] Created future: [13:14:07.651] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.651] - Validating connection of MultisessionFuture [13:14:07.652] - received message: FutureResult [13:14:07.652] - Received FutureResult [13:14:07.652] - Erased future from FutureRegistry [13:14:07.652] result() for ClusterFuture ... [13:14:07.652] - result already collected: FutureResult [13:14:07.653] result() for ClusterFuture ... done [13:14:07.653] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.635] MultisessionFuture: [13:14:07.635] Label: 'future_sapply-1' [13:14:07.635] Expression: [13:14:07.635] { [13:14:07.635] do.call(function(...) { [13:14:07.635] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.635] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.635] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.635] on.exit(options(oopts), add = TRUE) [13:14:07.635] } [13:14:07.635] { [13:14:07.635] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.635] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.635] ...future.FUN(...future.X_jj, ...) [13:14:07.635] }) [13:14:07.635] } [13:14:07.635] }, args = future.call.arguments) [13:14:07.635] } [13:14:07.635] Lazy evaluation: FALSE [13:14:07.635] Asynchronous evaluation: TRUE [13:14:07.635] Local evaluation: TRUE [13:14:07.635] Environment: R_GlobalEnv [13:14:07.635] Capture standard output: TRUE [13:14:07.635] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.635] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.635] Packages: [13:14:07.635] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.635] Resolved: TRUE [13:14:07.635] Value: [13:14:07.635] Conditions captured: [13:14:07.635] Early signaling: FALSE [13:14:07.635] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.635] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.653] Chunk #1 of 2 ... DONE [13:14:07.653] Chunk #2 of 2 ... [13:14:07.653] - Finding globals in 'X' for chunk #2 ... [13:14:07.654] getGlobalsAndPackages() ... [13:14:07.654] Searching for globals... [13:14:07.654] [13:14:07.654] Searching for globals ... DONE [13:14:07.654] - globals: [0] [13:14:07.655] getGlobalsAndPackages() ... DONE [13:14:07.655] + additional globals found: [n=0] [13:14:07.655] + additional namespaces needed: [n=0] [13:14:07.655] - Finding globals in 'X' for chunk #2 ... DONE [13:14:07.655] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.655] - seeds: [13:14:07.656] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.656] getGlobalsAndPackages() ... [13:14:07.656] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.656] Resolving globals: FALSE [13:14:07.656] Tweak future expression to call with '...' arguments ... [13:14:07.656] { [13:14:07.656] do.call(function(...) { [13:14:07.656] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.656] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.656] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.656] on.exit(options(oopts), add = TRUE) [13:14:07.656] } [13:14:07.656] { [13:14:07.656] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.656] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.656] ...future.FUN(...future.X_jj, ...) [13:14:07.656] }) [13:14:07.656] } [13:14:07.656] }, args = future.call.arguments) [13:14:07.656] } [13:14:07.657] Tweak future expression to call with '...' arguments ... DONE [13:14:07.657] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.658] [13:14:07.658] getGlobalsAndPackages() ... DONE [13:14:07.658] run() for 'Future' ... [13:14:07.658] - state: 'created' [13:14:07.658] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.673] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.673] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.673] - Field: 'node' [13:14:07.673] - Field: 'label' [13:14:07.673] - Field: 'local' [13:14:07.674] - Field: 'owner' [13:14:07.674] - Field: 'envir' [13:14:07.674] - Field: 'workers' [13:14:07.674] - Field: 'packages' [13:14:07.674] - Field: 'gc' [13:14:07.674] - Field: 'conditions' [13:14:07.675] - Field: 'persistent' [13:14:07.675] - Field: 'expr' [13:14:07.675] - Field: 'uuid' [13:14:07.675] - Field: 'seed' [13:14:07.675] - Field: 'version' [13:14:07.676] - Field: 'result' [13:14:07.676] - Field: 'asynchronous' [13:14:07.676] - Field: 'calls' [13:14:07.676] - Field: 'globals' [13:14:07.676] - Field: 'stdout' [13:14:07.676] - Field: 'earlySignal' [13:14:07.677] - Field: 'lazy' [13:14:07.677] - Field: 'state' [13:14:07.677] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.677] - Launch lazy future ... [13:14:07.677] Packages needed by the future expression (n = 0): [13:14:07.678] Packages needed by future strategies (n = 0): [13:14:07.678] { [13:14:07.678] { [13:14:07.678] { [13:14:07.678] ...future.startTime <- base::Sys.time() [13:14:07.678] { [13:14:07.678] { [13:14:07.678] { [13:14:07.678] { [13:14:07.678] base::local({ [13:14:07.678] has_future <- base::requireNamespace("future", [13:14:07.678] quietly = TRUE) [13:14:07.678] if (has_future) { [13:14:07.678] ns <- base::getNamespace("future") [13:14:07.678] version <- ns[[".package"]][["version"]] [13:14:07.678] if (is.null(version)) [13:14:07.678] version <- utils::packageVersion("future") [13:14:07.678] } [13:14:07.678] else { [13:14:07.678] version <- NULL [13:14:07.678] } [13:14:07.678] if (!has_future || version < "1.8.0") { [13:14:07.678] info <- base::c(r_version = base::gsub("R version ", [13:14:07.678] "", base::R.version$version.string), [13:14:07.678] platform = base::sprintf("%s (%s-bit)", [13:14:07.678] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.678] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.678] "release", "version")], collapse = " "), [13:14:07.678] hostname = base::Sys.info()[["nodename"]]) [13:14:07.678] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.678] info) [13:14:07.678] info <- base::paste(info, collapse = "; ") [13:14:07.678] if (!has_future) { [13:14:07.678] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.678] info) [13:14:07.678] } [13:14:07.678] else { [13:14:07.678] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.678] info, version) [13:14:07.678] } [13:14:07.678] base::stop(msg) [13:14:07.678] } [13:14:07.678] }) [13:14:07.678] } [13:14:07.678] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.678] base::options(mc.cores = 1L) [13:14:07.678] } [13:14:07.678] options(future.plan = NULL) [13:14:07.678] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.678] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.678] } [13:14:07.678] ...future.workdir <- getwd() [13:14:07.678] } [13:14:07.678] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.678] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.678] } [13:14:07.678] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.678] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.678] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.678] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.678] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.678] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.678] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.678] base::names(...future.oldOptions)) [13:14:07.678] } [13:14:07.678] if (FALSE) { [13:14:07.678] } [13:14:07.678] else { [13:14:07.678] if (TRUE) { [13:14:07.678] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.678] open = "w") [13:14:07.678] } [13:14:07.678] else { [13:14:07.678] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.678] windows = "NUL", "/dev/null"), open = "w") [13:14:07.678] } [13:14:07.678] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.678] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.678] base::sink(type = "output", split = FALSE) [13:14:07.678] base::close(...future.stdout) [13:14:07.678] }, add = TRUE) [13:14:07.678] } [13:14:07.678] ...future.frame <- base::sys.nframe() [13:14:07.678] ...future.conditions <- base::list() [13:14:07.678] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.678] if (FALSE) { [13:14:07.678] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.678] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.678] } [13:14:07.678] ...future.result <- base::tryCatch({ [13:14:07.678] base::withCallingHandlers({ [13:14:07.678] ...future.value <- base::withVisible(base::local({ [13:14:07.678] ...future.makeSendCondition <- local({ [13:14:07.678] sendCondition <- NULL [13:14:07.678] function(frame = 1L) { [13:14:07.678] if (is.function(sendCondition)) [13:14:07.678] return(sendCondition) [13:14:07.678] ns <- getNamespace("parallel") [13:14:07.678] if (exists("sendData", mode = "function", [13:14:07.678] envir = ns)) { [13:14:07.678] parallel_sendData <- get("sendData", mode = "function", [13:14:07.678] envir = ns) [13:14:07.678] envir <- sys.frame(frame) [13:14:07.678] master <- NULL [13:14:07.678] while (!identical(envir, .GlobalEnv) && [13:14:07.678] !identical(envir, emptyenv())) { [13:14:07.678] if (exists("master", mode = "list", envir = envir, [13:14:07.678] inherits = FALSE)) { [13:14:07.678] master <- get("master", mode = "list", [13:14:07.678] envir = envir, inherits = FALSE) [13:14:07.678] if (inherits(master, c("SOCKnode", [13:14:07.678] "SOCK0node"))) { [13:14:07.678] sendCondition <<- function(cond) { [13:14:07.678] data <- list(type = "VALUE", value = cond, [13:14:07.678] success = TRUE) [13:14:07.678] parallel_sendData(master, data) [13:14:07.678] } [13:14:07.678] return(sendCondition) [13:14:07.678] } [13:14:07.678] } [13:14:07.678] frame <- frame + 1L [13:14:07.678] envir <- sys.frame(frame) [13:14:07.678] } [13:14:07.678] } [13:14:07.678] sendCondition <<- function(cond) NULL [13:14:07.678] } [13:14:07.678] }) [13:14:07.678] withCallingHandlers({ [13:14:07.678] { [13:14:07.678] do.call(function(...) { [13:14:07.678] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.678] if (!identical(...future.globals.maxSize.org, [13:14:07.678] ...future.globals.maxSize)) { [13:14:07.678] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.678] on.exit(options(oopts), add = TRUE) [13:14:07.678] } [13:14:07.678] { [13:14:07.678] lapply(seq_along(...future.elements_ii), [13:14:07.678] FUN = function(jj) { [13:14:07.678] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.678] ...future.FUN(...future.X_jj, ...) [13:14:07.678] }) [13:14:07.678] } [13:14:07.678] }, args = future.call.arguments) [13:14:07.678] } [13:14:07.678] }, immediateCondition = function(cond) { [13:14:07.678] sendCondition <- ...future.makeSendCondition() [13:14:07.678] sendCondition(cond) [13:14:07.678] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.678] { [13:14:07.678] inherits <- base::inherits [13:14:07.678] invokeRestart <- base::invokeRestart [13:14:07.678] is.null <- base::is.null [13:14:07.678] muffled <- FALSE [13:14:07.678] if (inherits(cond, "message")) { [13:14:07.678] muffled <- grepl(pattern, "muffleMessage") [13:14:07.678] if (muffled) [13:14:07.678] invokeRestart("muffleMessage") [13:14:07.678] } [13:14:07.678] else if (inherits(cond, "warning")) { [13:14:07.678] muffled <- grepl(pattern, "muffleWarning") [13:14:07.678] if (muffled) [13:14:07.678] invokeRestart("muffleWarning") [13:14:07.678] } [13:14:07.678] else if (inherits(cond, "condition")) { [13:14:07.678] if (!is.null(pattern)) { [13:14:07.678] computeRestarts <- base::computeRestarts [13:14:07.678] grepl <- base::grepl [13:14:07.678] restarts <- computeRestarts(cond) [13:14:07.678] for (restart in restarts) { [13:14:07.678] name <- restart$name [13:14:07.678] if (is.null(name)) [13:14:07.678] next [13:14:07.678] if (!grepl(pattern, name)) [13:14:07.678] next [13:14:07.678] invokeRestart(restart) [13:14:07.678] muffled <- TRUE [13:14:07.678] break [13:14:07.678] } [13:14:07.678] } [13:14:07.678] } [13:14:07.678] invisible(muffled) [13:14:07.678] } [13:14:07.678] muffleCondition(cond) [13:14:07.678] }) [13:14:07.678] })) [13:14:07.678] future::FutureResult(value = ...future.value$value, [13:14:07.678] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.678] ...future.rng), globalenv = if (FALSE) [13:14:07.678] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.678] ...future.globalenv.names)) [13:14:07.678] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.678] }, condition = base::local({ [13:14:07.678] c <- base::c [13:14:07.678] inherits <- base::inherits [13:14:07.678] invokeRestart <- base::invokeRestart [13:14:07.678] length <- base::length [13:14:07.678] list <- base::list [13:14:07.678] seq.int <- base::seq.int [13:14:07.678] signalCondition <- base::signalCondition [13:14:07.678] sys.calls <- base::sys.calls [13:14:07.678] `[[` <- base::`[[` [13:14:07.678] `+` <- base::`+` [13:14:07.678] `<<-` <- base::`<<-` [13:14:07.678] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.678] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.678] 3L)] [13:14:07.678] } [13:14:07.678] function(cond) { [13:14:07.678] is_error <- inherits(cond, "error") [13:14:07.678] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.678] NULL) [13:14:07.678] if (is_error) { [13:14:07.678] sessionInformation <- function() { [13:14:07.678] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.678] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.678] search = base::search(), system = base::Sys.info()) [13:14:07.678] } [13:14:07.678] ...future.conditions[[length(...future.conditions) + [13:14:07.678] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.678] cond$call), session = sessionInformation(), [13:14:07.678] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.678] signalCondition(cond) [13:14:07.678] } [13:14:07.678] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.678] "immediateCondition"))) { [13:14:07.678] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.678] ...future.conditions[[length(...future.conditions) + [13:14:07.678] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.678] if (TRUE && !signal) { [13:14:07.678] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.678] { [13:14:07.678] inherits <- base::inherits [13:14:07.678] invokeRestart <- base::invokeRestart [13:14:07.678] is.null <- base::is.null [13:14:07.678] muffled <- FALSE [13:14:07.678] if (inherits(cond, "message")) { [13:14:07.678] muffled <- grepl(pattern, "muffleMessage") [13:14:07.678] if (muffled) [13:14:07.678] invokeRestart("muffleMessage") [13:14:07.678] } [13:14:07.678] else if (inherits(cond, "warning")) { [13:14:07.678] muffled <- grepl(pattern, "muffleWarning") [13:14:07.678] if (muffled) [13:14:07.678] invokeRestart("muffleWarning") [13:14:07.678] } [13:14:07.678] else if (inherits(cond, "condition")) { [13:14:07.678] if (!is.null(pattern)) { [13:14:07.678] computeRestarts <- base::computeRestarts [13:14:07.678] grepl <- base::grepl [13:14:07.678] restarts <- computeRestarts(cond) [13:14:07.678] for (restart in restarts) { [13:14:07.678] name <- restart$name [13:14:07.678] if (is.null(name)) [13:14:07.678] next [13:14:07.678] if (!grepl(pattern, name)) [13:14:07.678] next [13:14:07.678] invokeRestart(restart) [13:14:07.678] muffled <- TRUE [13:14:07.678] break [13:14:07.678] } [13:14:07.678] } [13:14:07.678] } [13:14:07.678] invisible(muffled) [13:14:07.678] } [13:14:07.678] muffleCondition(cond, pattern = "^muffle") [13:14:07.678] } [13:14:07.678] } [13:14:07.678] else { [13:14:07.678] if (TRUE) { [13:14:07.678] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.678] { [13:14:07.678] inherits <- base::inherits [13:14:07.678] invokeRestart <- base::invokeRestart [13:14:07.678] is.null <- base::is.null [13:14:07.678] muffled <- FALSE [13:14:07.678] if (inherits(cond, "message")) { [13:14:07.678] muffled <- grepl(pattern, "muffleMessage") [13:14:07.678] if (muffled) [13:14:07.678] invokeRestart("muffleMessage") [13:14:07.678] } [13:14:07.678] else if (inherits(cond, "warning")) { [13:14:07.678] muffled <- grepl(pattern, "muffleWarning") [13:14:07.678] if (muffled) [13:14:07.678] invokeRestart("muffleWarning") [13:14:07.678] } [13:14:07.678] else if (inherits(cond, "condition")) { [13:14:07.678] if (!is.null(pattern)) { [13:14:07.678] computeRestarts <- base::computeRestarts [13:14:07.678] grepl <- base::grepl [13:14:07.678] restarts <- computeRestarts(cond) [13:14:07.678] for (restart in restarts) { [13:14:07.678] name <- restart$name [13:14:07.678] if (is.null(name)) [13:14:07.678] next [13:14:07.678] if (!grepl(pattern, name)) [13:14:07.678] next [13:14:07.678] invokeRestart(restart) [13:14:07.678] muffled <- TRUE [13:14:07.678] break [13:14:07.678] } [13:14:07.678] } [13:14:07.678] } [13:14:07.678] invisible(muffled) [13:14:07.678] } [13:14:07.678] muffleCondition(cond, pattern = "^muffle") [13:14:07.678] } [13:14:07.678] } [13:14:07.678] } [13:14:07.678] })) [13:14:07.678] }, error = function(ex) { [13:14:07.678] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.678] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.678] ...future.rng), started = ...future.startTime, [13:14:07.678] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.678] version = "1.8"), class = "FutureResult") [13:14:07.678] }, finally = { [13:14:07.678] if (!identical(...future.workdir, getwd())) [13:14:07.678] setwd(...future.workdir) [13:14:07.678] { [13:14:07.678] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.678] ...future.oldOptions$nwarnings <- NULL [13:14:07.678] } [13:14:07.678] base::options(...future.oldOptions) [13:14:07.678] if (.Platform$OS.type == "windows") { [13:14:07.678] old_names <- names(...future.oldEnvVars) [13:14:07.678] envs <- base::Sys.getenv() [13:14:07.678] names <- names(envs) [13:14:07.678] common <- intersect(names, old_names) [13:14:07.678] added <- setdiff(names, old_names) [13:14:07.678] removed <- setdiff(old_names, names) [13:14:07.678] changed <- common[...future.oldEnvVars[common] != [13:14:07.678] envs[common]] [13:14:07.678] NAMES <- toupper(changed) [13:14:07.678] args <- list() [13:14:07.678] for (kk in seq_along(NAMES)) { [13:14:07.678] name <- changed[[kk]] [13:14:07.678] NAME <- NAMES[[kk]] [13:14:07.678] if (name != NAME && is.element(NAME, old_names)) [13:14:07.678] next [13:14:07.678] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.678] } [13:14:07.678] NAMES <- toupper(added) [13:14:07.678] for (kk in seq_along(NAMES)) { [13:14:07.678] name <- added[[kk]] [13:14:07.678] NAME <- NAMES[[kk]] [13:14:07.678] if (name != NAME && is.element(NAME, old_names)) [13:14:07.678] next [13:14:07.678] args[[name]] <- "" [13:14:07.678] } [13:14:07.678] NAMES <- toupper(removed) [13:14:07.678] for (kk in seq_along(NAMES)) { [13:14:07.678] name <- removed[[kk]] [13:14:07.678] NAME <- NAMES[[kk]] [13:14:07.678] if (name != NAME && is.element(NAME, old_names)) [13:14:07.678] next [13:14:07.678] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.678] } [13:14:07.678] if (length(args) > 0) [13:14:07.678] base::do.call(base::Sys.setenv, args = args) [13:14:07.678] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.678] } [13:14:07.678] else { [13:14:07.678] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.678] } [13:14:07.678] { [13:14:07.678] if (base::length(...future.futureOptionsAdded) > [13:14:07.678] 0L) { [13:14:07.678] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.678] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.678] base::options(opts) [13:14:07.678] } [13:14:07.678] { [13:14:07.678] { [13:14:07.678] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.678] NULL [13:14:07.678] } [13:14:07.678] options(future.plan = NULL) [13:14:07.678] if (is.na(NA_character_)) [13:14:07.678] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.678] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.678] future::plan(list(function (..., workers = availableCores(), [13:14:07.678] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.678] envir = parent.frame()) [13:14:07.678] { [13:14:07.678] if (is.function(workers)) [13:14:07.678] workers <- workers() [13:14:07.678] workers <- structure(as.integer(workers), [13:14:07.678] class = class(workers)) [13:14:07.678] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.678] workers >= 1) [13:14:07.678] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.678] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.678] } [13:14:07.678] future <- MultisessionFuture(..., workers = workers, [13:14:07.678] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.678] envir = envir) [13:14:07.678] if (!future$lazy) [13:14:07.678] future <- run(future) [13:14:07.678] invisible(future) [13:14:07.678] }), .cleanup = FALSE, .init = FALSE) [13:14:07.678] } [13:14:07.678] } [13:14:07.678] } [13:14:07.678] }) [13:14:07.678] if (TRUE) { [13:14:07.678] base::sink(type = "output", split = FALSE) [13:14:07.678] if (TRUE) { [13:14:07.678] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.678] } [13:14:07.678] else { [13:14:07.678] ...future.result["stdout"] <- base::list(NULL) [13:14:07.678] } [13:14:07.678] base::close(...future.stdout) [13:14:07.678] ...future.stdout <- NULL [13:14:07.678] } [13:14:07.678] ...future.result$conditions <- ...future.conditions [13:14:07.678] ...future.result$finished <- base::Sys.time() [13:14:07.678] ...future.result [13:14:07.678] } [13:14:07.684] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:07.684] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:07.684] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:07.685] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.685] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.685] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.686] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.686] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.686] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.686] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.687] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.687] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:07.688] MultisessionFuture started [13:14:07.688] - Launch lazy future ... done [13:14:07.688] run() for 'MultisessionFuture' ... done [13:14:07.688] Created future: [13:14:07.704] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.704] - Validating connection of MultisessionFuture [13:14:07.705] - received message: FutureResult [13:14:07.705] - Received FutureResult [13:14:07.705] - Erased future from FutureRegistry [13:14:07.705] result() for ClusterFuture ... [13:14:07.705] - result already collected: FutureResult [13:14:07.705] result() for ClusterFuture ... done [13:14:07.706] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.688] MultisessionFuture: [13:14:07.688] Label: 'future_sapply-2' [13:14:07.688] Expression: [13:14:07.688] { [13:14:07.688] do.call(function(...) { [13:14:07.688] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.688] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.688] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.688] on.exit(options(oopts), add = TRUE) [13:14:07.688] } [13:14:07.688] { [13:14:07.688] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.688] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.688] ...future.FUN(...future.X_jj, ...) [13:14:07.688] }) [13:14:07.688] } [13:14:07.688] }, args = future.call.arguments) [13:14:07.688] } [13:14:07.688] Lazy evaluation: FALSE [13:14:07.688] Asynchronous evaluation: TRUE [13:14:07.688] Local evaluation: TRUE [13:14:07.688] Environment: R_GlobalEnv [13:14:07.688] Capture standard output: TRUE [13:14:07.688] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.688] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.688] Packages: [13:14:07.688] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.688] Resolved: TRUE [13:14:07.688] Value: [13:14:07.688] Conditions captured: [13:14:07.688] Early signaling: FALSE [13:14:07.688] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.688] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.706] Chunk #2 of 2 ... DONE [13:14:07.706] Launching 2 futures (chunks) ... DONE [13:14:07.706] Resolving 2 futures (chunks) ... [13:14:07.707] resolve() on list ... [13:14:07.707] recursive: 0 [13:14:07.707] length: 2 [13:14:07.707] [13:14:07.707] Future #1 [13:14:07.707] result() for ClusterFuture ... [13:14:07.707] - result already collected: FutureResult [13:14:07.708] result() for ClusterFuture ... done [13:14:07.708] result() for ClusterFuture ... [13:14:07.708] - result already collected: FutureResult [13:14:07.708] result() for ClusterFuture ... done [13:14:07.708] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:07.708] - nx: 2 [13:14:07.709] - relay: TRUE [13:14:07.709] - stdout: TRUE [13:14:07.709] - signal: TRUE [13:14:07.709] - resignal: FALSE [13:14:07.709] - force: TRUE [13:14:07.709] - relayed: [n=2] FALSE, FALSE [13:14:07.709] - queued futures: [n=2] FALSE, FALSE [13:14:07.710] - until=1 [13:14:07.710] - relaying element #1 [13:14:07.710] result() for ClusterFuture ... [13:14:07.710] - result already collected: FutureResult [13:14:07.710] result() for ClusterFuture ... done [13:14:07.710] result() for ClusterFuture ... [13:14:07.711] - result already collected: FutureResult [13:14:07.711] result() for ClusterFuture ... done [13:14:07.711] result() for ClusterFuture ... [13:14:07.711] - result already collected: FutureResult [13:14:07.711] result() for ClusterFuture ... done [13:14:07.711] result() for ClusterFuture ... [13:14:07.712] - result already collected: FutureResult [13:14:07.712] result() for ClusterFuture ... done [13:14:07.712] - relayed: [n=2] TRUE, FALSE [13:14:07.712] - queued futures: [n=2] TRUE, FALSE [13:14:07.712] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:07.712] length: 1 (resolved future 1) [13:14:07.713] Future #2 [13:14:07.713] result() for ClusterFuture ... [13:14:07.713] - result already collected: FutureResult [13:14:07.713] result() for ClusterFuture ... done [13:14:07.713] result() for ClusterFuture ... [13:14:07.713] - result already collected: FutureResult [13:14:07.714] result() for ClusterFuture ... done [13:14:07.714] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:07.714] - nx: 2 [13:14:07.714] - relay: TRUE [13:14:07.714] - stdout: TRUE [13:14:07.714] - signal: TRUE [13:14:07.714] - resignal: FALSE [13:14:07.715] - force: TRUE [13:14:07.715] - relayed: [n=2] TRUE, FALSE [13:14:07.715] - queued futures: [n=2] TRUE, FALSE [13:14:07.715] - until=2 [13:14:07.715] - relaying element #2 [13:14:07.715] result() for ClusterFuture ... [13:14:07.716] - result already collected: FutureResult [13:14:07.716] result() for ClusterFuture ... done [13:14:07.716] result() for ClusterFuture ... [13:14:07.716] - result already collected: FutureResult [13:14:07.716] result() for ClusterFuture ... done [13:14:07.716] result() for ClusterFuture ... [13:14:07.717] - result already collected: FutureResult [13:14:07.717] result() for ClusterFuture ... done [13:14:07.717] result() for ClusterFuture ... [13:14:07.717] - result already collected: FutureResult [13:14:07.717] result() for ClusterFuture ... done [13:14:07.717] - relayed: [n=2] TRUE, TRUE [13:14:07.718] - queued futures: [n=2] TRUE, TRUE [13:14:07.718] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:07.718] length: 0 (resolved future 2) [13:14:07.718] Relaying remaining futures [13:14:07.718] signalConditionsASAP(NULL, pos=0) ... [13:14:07.718] - nx: 2 [13:14:07.718] - relay: TRUE [13:14:07.719] - stdout: TRUE [13:14:07.719] - signal: TRUE [13:14:07.719] - resignal: FALSE [13:14:07.719] - force: TRUE [13:14:07.719] - relayed: [n=2] TRUE, TRUE [13:14:07.719] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:07.720] - relayed: [n=2] TRUE, TRUE [13:14:07.720] - queued futures: [n=2] TRUE, TRUE [13:14:07.720] signalConditionsASAP(NULL, pos=0) ... done [13:14:07.720] resolve() on list ... DONE [13:14:07.720] result() for ClusterFuture ... [13:14:07.720] - result already collected: FutureResult [13:14:07.721] result() for ClusterFuture ... done [13:14:07.721] result() for ClusterFuture ... [13:14:07.721] - result already collected: FutureResult [13:14:07.721] result() for ClusterFuture ... done [13:14:07.721] result() for ClusterFuture ... [13:14:07.721] - result already collected: FutureResult [13:14:07.722] result() for ClusterFuture ... done [13:14:07.724] result() for ClusterFuture ... [13:14:07.724] - result already collected: FutureResult [13:14:07.724] result() for ClusterFuture ... done [13:14:07.724] - Number of value chunks collected: 2 [13:14:07.725] Resolving 2 futures (chunks) ... DONE [13:14:07.725] Reducing values from 2 chunks ... [13:14:07.725] - Number of values collected after concatenation: 6 [13:14:07.725] - Number of values expected: 6 [13:14:07.725] Reducing values from 2 chunks ... DONE [13:14:07.726] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:07.728] future_lapply() ... [13:14:07.731] Number of chunks: 2 [13:14:07.731] getGlobalsAndPackagesXApply() ... [13:14:07.731] - future.globals: TRUE [13:14:07.731] getGlobalsAndPackages() ... [13:14:07.732] Searching for globals... [13:14:07.733] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:07.734] Searching for globals ... DONE [13:14:07.734] Resolving globals: FALSE [13:14:07.734] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:07.735] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:07.735] - globals: [1] 'FUN' [13:14:07.735] [13:14:07.735] getGlobalsAndPackages() ... DONE [13:14:07.735] - globals found/used: [n=1] 'FUN' [13:14:07.736] - needed namespaces: [n=0] [13:14:07.736] Finding globals ... DONE [13:14:07.736] - use_args: TRUE [13:14:07.736] - Getting '...' globals ... [13:14:07.736] resolve() on list ... [13:14:07.737] recursive: 0 [13:14:07.737] length: 1 [13:14:07.737] elements: '...' [13:14:07.737] length: 0 (resolved future 1) [13:14:07.737] resolve() on list ... DONE [13:14:07.737] - '...' content: [n=0] [13:14:07.738] List of 1 [13:14:07.738] $ ...: list() [13:14:07.738] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.738] - attr(*, "where")=List of 1 [13:14:07.738] ..$ ...: [13:14:07.738] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.738] - attr(*, "resolved")= logi TRUE [13:14:07.738] - attr(*, "total_size")= num NA [13:14:07.741] - Getting '...' globals ... DONE [13:14:07.741] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:07.741] List of 2 [13:14:07.741] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:07.741] $ ... : list() [13:14:07.741] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.741] - attr(*, "where")=List of 2 [13:14:07.741] ..$ ...future.FUN: [13:14:07.741] ..$ ... : [13:14:07.741] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.741] - attr(*, "resolved")= logi FALSE [13:14:07.741] - attr(*, "total_size")= num 4728 [13:14:07.744] Packages to be attached in all futures: [n=0] [13:14:07.744] getGlobalsAndPackagesXApply() ... DONE [13:14:07.745] Number of futures (= number of chunks): 2 [13:14:07.745] Launching 2 futures (chunks) ... [13:14:07.745] Chunk #1 of 2 ... [13:14:07.745] - Finding globals in 'X' for chunk #1 ... [13:14:07.745] getGlobalsAndPackages() ... [13:14:07.746] Searching for globals... [13:14:07.746] [13:14:07.746] Searching for globals ... DONE [13:14:07.746] - globals: [0] [13:14:07.746] getGlobalsAndPackages() ... DONE [13:14:07.747] + additional globals found: [n=0] [13:14:07.747] + additional namespaces needed: [n=0] [13:14:07.747] - Finding globals in 'X' for chunk #1 ... DONE [13:14:07.747] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.747] - seeds: [13:14:07.747] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.748] getGlobalsAndPackages() ... [13:14:07.748] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.748] Resolving globals: FALSE [13:14:07.748] Tweak future expression to call with '...' arguments ... [13:14:07.748] { [13:14:07.748] do.call(function(...) { [13:14:07.748] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.748] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.748] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.748] on.exit(options(oopts), add = TRUE) [13:14:07.748] } [13:14:07.748] { [13:14:07.748] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.748] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.748] ...future.FUN(...future.X_jj, ...) [13:14:07.748] }) [13:14:07.748] } [13:14:07.748] }, args = future.call.arguments) [13:14:07.748] } [13:14:07.749] Tweak future expression to call with '...' arguments ... DONE [13:14:07.749] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.749] [13:14:07.750] getGlobalsAndPackages() ... DONE [13:14:07.750] run() for 'Future' ... [13:14:07.750] - state: 'created' [13:14:07.750] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.765] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.765] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.765] - Field: 'node' [13:14:07.766] - Field: 'label' [13:14:07.766] - Field: 'local' [13:14:07.766] - Field: 'owner' [13:14:07.766] - Field: 'envir' [13:14:07.766] - Field: 'workers' [13:14:07.766] - Field: 'packages' [13:14:07.767] - Field: 'gc' [13:14:07.767] - Field: 'conditions' [13:14:07.767] - Field: 'persistent' [13:14:07.767] - Field: 'expr' [13:14:07.767] - Field: 'uuid' [13:14:07.768] - Field: 'seed' [13:14:07.768] - Field: 'version' [13:14:07.768] - Field: 'result' [13:14:07.768] - Field: 'asynchronous' [13:14:07.768] - Field: 'calls' [13:14:07.768] - Field: 'globals' [13:14:07.769] - Field: 'stdout' [13:14:07.769] - Field: 'earlySignal' [13:14:07.769] - Field: 'lazy' [13:14:07.769] - Field: 'state' [13:14:07.769] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.769] - Launch lazy future ... [13:14:07.770] Packages needed by the future expression (n = 0): [13:14:07.770] Packages needed by future strategies (n = 0): [13:14:07.771] { [13:14:07.771] { [13:14:07.771] { [13:14:07.771] ...future.startTime <- base::Sys.time() [13:14:07.771] { [13:14:07.771] { [13:14:07.771] { [13:14:07.771] { [13:14:07.771] base::local({ [13:14:07.771] has_future <- base::requireNamespace("future", [13:14:07.771] quietly = TRUE) [13:14:07.771] if (has_future) { [13:14:07.771] ns <- base::getNamespace("future") [13:14:07.771] version <- ns[[".package"]][["version"]] [13:14:07.771] if (is.null(version)) [13:14:07.771] version <- utils::packageVersion("future") [13:14:07.771] } [13:14:07.771] else { [13:14:07.771] version <- NULL [13:14:07.771] } [13:14:07.771] if (!has_future || version < "1.8.0") { [13:14:07.771] info <- base::c(r_version = base::gsub("R version ", [13:14:07.771] "", base::R.version$version.string), [13:14:07.771] platform = base::sprintf("%s (%s-bit)", [13:14:07.771] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.771] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.771] "release", "version")], collapse = " "), [13:14:07.771] hostname = base::Sys.info()[["nodename"]]) [13:14:07.771] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.771] info) [13:14:07.771] info <- base::paste(info, collapse = "; ") [13:14:07.771] if (!has_future) { [13:14:07.771] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.771] info) [13:14:07.771] } [13:14:07.771] else { [13:14:07.771] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.771] info, version) [13:14:07.771] } [13:14:07.771] base::stop(msg) [13:14:07.771] } [13:14:07.771] }) [13:14:07.771] } [13:14:07.771] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.771] base::options(mc.cores = 1L) [13:14:07.771] } [13:14:07.771] options(future.plan = NULL) [13:14:07.771] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.771] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.771] } [13:14:07.771] ...future.workdir <- getwd() [13:14:07.771] } [13:14:07.771] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.771] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.771] } [13:14:07.771] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.771] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.771] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.771] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.771] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.771] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.771] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.771] base::names(...future.oldOptions)) [13:14:07.771] } [13:14:07.771] if (FALSE) { [13:14:07.771] } [13:14:07.771] else { [13:14:07.771] if (TRUE) { [13:14:07.771] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.771] open = "w") [13:14:07.771] } [13:14:07.771] else { [13:14:07.771] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.771] windows = "NUL", "/dev/null"), open = "w") [13:14:07.771] } [13:14:07.771] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.771] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.771] base::sink(type = "output", split = FALSE) [13:14:07.771] base::close(...future.stdout) [13:14:07.771] }, add = TRUE) [13:14:07.771] } [13:14:07.771] ...future.frame <- base::sys.nframe() [13:14:07.771] ...future.conditions <- base::list() [13:14:07.771] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.771] if (FALSE) { [13:14:07.771] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.771] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.771] } [13:14:07.771] ...future.result <- base::tryCatch({ [13:14:07.771] base::withCallingHandlers({ [13:14:07.771] ...future.value <- base::withVisible(base::local({ [13:14:07.771] ...future.makeSendCondition <- local({ [13:14:07.771] sendCondition <- NULL [13:14:07.771] function(frame = 1L) { [13:14:07.771] if (is.function(sendCondition)) [13:14:07.771] return(sendCondition) [13:14:07.771] ns <- getNamespace("parallel") [13:14:07.771] if (exists("sendData", mode = "function", [13:14:07.771] envir = ns)) { [13:14:07.771] parallel_sendData <- get("sendData", mode = "function", [13:14:07.771] envir = ns) [13:14:07.771] envir <- sys.frame(frame) [13:14:07.771] master <- NULL [13:14:07.771] while (!identical(envir, .GlobalEnv) && [13:14:07.771] !identical(envir, emptyenv())) { [13:14:07.771] if (exists("master", mode = "list", envir = envir, [13:14:07.771] inherits = FALSE)) { [13:14:07.771] master <- get("master", mode = "list", [13:14:07.771] envir = envir, inherits = FALSE) [13:14:07.771] if (inherits(master, c("SOCKnode", [13:14:07.771] "SOCK0node"))) { [13:14:07.771] sendCondition <<- function(cond) { [13:14:07.771] data <- list(type = "VALUE", value = cond, [13:14:07.771] success = TRUE) [13:14:07.771] parallel_sendData(master, data) [13:14:07.771] } [13:14:07.771] return(sendCondition) [13:14:07.771] } [13:14:07.771] } [13:14:07.771] frame <- frame + 1L [13:14:07.771] envir <- sys.frame(frame) [13:14:07.771] } [13:14:07.771] } [13:14:07.771] sendCondition <<- function(cond) NULL [13:14:07.771] } [13:14:07.771] }) [13:14:07.771] withCallingHandlers({ [13:14:07.771] { [13:14:07.771] do.call(function(...) { [13:14:07.771] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.771] if (!identical(...future.globals.maxSize.org, [13:14:07.771] ...future.globals.maxSize)) { [13:14:07.771] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.771] on.exit(options(oopts), add = TRUE) [13:14:07.771] } [13:14:07.771] { [13:14:07.771] lapply(seq_along(...future.elements_ii), [13:14:07.771] FUN = function(jj) { [13:14:07.771] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.771] ...future.FUN(...future.X_jj, ...) [13:14:07.771] }) [13:14:07.771] } [13:14:07.771] }, args = future.call.arguments) [13:14:07.771] } [13:14:07.771] }, immediateCondition = function(cond) { [13:14:07.771] sendCondition <- ...future.makeSendCondition() [13:14:07.771] sendCondition(cond) [13:14:07.771] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.771] { [13:14:07.771] inherits <- base::inherits [13:14:07.771] invokeRestart <- base::invokeRestart [13:14:07.771] is.null <- base::is.null [13:14:07.771] muffled <- FALSE [13:14:07.771] if (inherits(cond, "message")) { [13:14:07.771] muffled <- grepl(pattern, "muffleMessage") [13:14:07.771] if (muffled) [13:14:07.771] invokeRestart("muffleMessage") [13:14:07.771] } [13:14:07.771] else if (inherits(cond, "warning")) { [13:14:07.771] muffled <- grepl(pattern, "muffleWarning") [13:14:07.771] if (muffled) [13:14:07.771] invokeRestart("muffleWarning") [13:14:07.771] } [13:14:07.771] else if (inherits(cond, "condition")) { [13:14:07.771] if (!is.null(pattern)) { [13:14:07.771] computeRestarts <- base::computeRestarts [13:14:07.771] grepl <- base::grepl [13:14:07.771] restarts <- computeRestarts(cond) [13:14:07.771] for (restart in restarts) { [13:14:07.771] name <- restart$name [13:14:07.771] if (is.null(name)) [13:14:07.771] next [13:14:07.771] if (!grepl(pattern, name)) [13:14:07.771] next [13:14:07.771] invokeRestart(restart) [13:14:07.771] muffled <- TRUE [13:14:07.771] break [13:14:07.771] } [13:14:07.771] } [13:14:07.771] } [13:14:07.771] invisible(muffled) [13:14:07.771] } [13:14:07.771] muffleCondition(cond) [13:14:07.771] }) [13:14:07.771] })) [13:14:07.771] future::FutureResult(value = ...future.value$value, [13:14:07.771] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.771] ...future.rng), globalenv = if (FALSE) [13:14:07.771] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.771] ...future.globalenv.names)) [13:14:07.771] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.771] }, condition = base::local({ [13:14:07.771] c <- base::c [13:14:07.771] inherits <- base::inherits [13:14:07.771] invokeRestart <- base::invokeRestart [13:14:07.771] length <- base::length [13:14:07.771] list <- base::list [13:14:07.771] seq.int <- base::seq.int [13:14:07.771] signalCondition <- base::signalCondition [13:14:07.771] sys.calls <- base::sys.calls [13:14:07.771] `[[` <- base::`[[` [13:14:07.771] `+` <- base::`+` [13:14:07.771] `<<-` <- base::`<<-` [13:14:07.771] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.771] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.771] 3L)] [13:14:07.771] } [13:14:07.771] function(cond) { [13:14:07.771] is_error <- inherits(cond, "error") [13:14:07.771] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.771] NULL) [13:14:07.771] if (is_error) { [13:14:07.771] sessionInformation <- function() { [13:14:07.771] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.771] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.771] search = base::search(), system = base::Sys.info()) [13:14:07.771] } [13:14:07.771] ...future.conditions[[length(...future.conditions) + [13:14:07.771] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.771] cond$call), session = sessionInformation(), [13:14:07.771] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.771] signalCondition(cond) [13:14:07.771] } [13:14:07.771] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.771] "immediateCondition"))) { [13:14:07.771] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.771] ...future.conditions[[length(...future.conditions) + [13:14:07.771] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.771] if (TRUE && !signal) { [13:14:07.771] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.771] { [13:14:07.771] inherits <- base::inherits [13:14:07.771] invokeRestart <- base::invokeRestart [13:14:07.771] is.null <- base::is.null [13:14:07.771] muffled <- FALSE [13:14:07.771] if (inherits(cond, "message")) { [13:14:07.771] muffled <- grepl(pattern, "muffleMessage") [13:14:07.771] if (muffled) [13:14:07.771] invokeRestart("muffleMessage") [13:14:07.771] } [13:14:07.771] else if (inherits(cond, "warning")) { [13:14:07.771] muffled <- grepl(pattern, "muffleWarning") [13:14:07.771] if (muffled) [13:14:07.771] invokeRestart("muffleWarning") [13:14:07.771] } [13:14:07.771] else if (inherits(cond, "condition")) { [13:14:07.771] if (!is.null(pattern)) { [13:14:07.771] computeRestarts <- base::computeRestarts [13:14:07.771] grepl <- base::grepl [13:14:07.771] restarts <- computeRestarts(cond) [13:14:07.771] for (restart in restarts) { [13:14:07.771] name <- restart$name [13:14:07.771] if (is.null(name)) [13:14:07.771] next [13:14:07.771] if (!grepl(pattern, name)) [13:14:07.771] next [13:14:07.771] invokeRestart(restart) [13:14:07.771] muffled <- TRUE [13:14:07.771] break [13:14:07.771] } [13:14:07.771] } [13:14:07.771] } [13:14:07.771] invisible(muffled) [13:14:07.771] } [13:14:07.771] muffleCondition(cond, pattern = "^muffle") [13:14:07.771] } [13:14:07.771] } [13:14:07.771] else { [13:14:07.771] if (TRUE) { [13:14:07.771] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.771] { [13:14:07.771] inherits <- base::inherits [13:14:07.771] invokeRestart <- base::invokeRestart [13:14:07.771] is.null <- base::is.null [13:14:07.771] muffled <- FALSE [13:14:07.771] if (inherits(cond, "message")) { [13:14:07.771] muffled <- grepl(pattern, "muffleMessage") [13:14:07.771] if (muffled) [13:14:07.771] invokeRestart("muffleMessage") [13:14:07.771] } [13:14:07.771] else if (inherits(cond, "warning")) { [13:14:07.771] muffled <- grepl(pattern, "muffleWarning") [13:14:07.771] if (muffled) [13:14:07.771] invokeRestart("muffleWarning") [13:14:07.771] } [13:14:07.771] else if (inherits(cond, "condition")) { [13:14:07.771] if (!is.null(pattern)) { [13:14:07.771] computeRestarts <- base::computeRestarts [13:14:07.771] grepl <- base::grepl [13:14:07.771] restarts <- computeRestarts(cond) [13:14:07.771] for (restart in restarts) { [13:14:07.771] name <- restart$name [13:14:07.771] if (is.null(name)) [13:14:07.771] next [13:14:07.771] if (!grepl(pattern, name)) [13:14:07.771] next [13:14:07.771] invokeRestart(restart) [13:14:07.771] muffled <- TRUE [13:14:07.771] break [13:14:07.771] } [13:14:07.771] } [13:14:07.771] } [13:14:07.771] invisible(muffled) [13:14:07.771] } [13:14:07.771] muffleCondition(cond, pattern = "^muffle") [13:14:07.771] } [13:14:07.771] } [13:14:07.771] } [13:14:07.771] })) [13:14:07.771] }, error = function(ex) { [13:14:07.771] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.771] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.771] ...future.rng), started = ...future.startTime, [13:14:07.771] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.771] version = "1.8"), class = "FutureResult") [13:14:07.771] }, finally = { [13:14:07.771] if (!identical(...future.workdir, getwd())) [13:14:07.771] setwd(...future.workdir) [13:14:07.771] { [13:14:07.771] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.771] ...future.oldOptions$nwarnings <- NULL [13:14:07.771] } [13:14:07.771] base::options(...future.oldOptions) [13:14:07.771] if (.Platform$OS.type == "windows") { [13:14:07.771] old_names <- names(...future.oldEnvVars) [13:14:07.771] envs <- base::Sys.getenv() [13:14:07.771] names <- names(envs) [13:14:07.771] common <- intersect(names, old_names) [13:14:07.771] added <- setdiff(names, old_names) [13:14:07.771] removed <- setdiff(old_names, names) [13:14:07.771] changed <- common[...future.oldEnvVars[common] != [13:14:07.771] envs[common]] [13:14:07.771] NAMES <- toupper(changed) [13:14:07.771] args <- list() [13:14:07.771] for (kk in seq_along(NAMES)) { [13:14:07.771] name <- changed[[kk]] [13:14:07.771] NAME <- NAMES[[kk]] [13:14:07.771] if (name != NAME && is.element(NAME, old_names)) [13:14:07.771] next [13:14:07.771] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.771] } [13:14:07.771] NAMES <- toupper(added) [13:14:07.771] for (kk in seq_along(NAMES)) { [13:14:07.771] name <- added[[kk]] [13:14:07.771] NAME <- NAMES[[kk]] [13:14:07.771] if (name != NAME && is.element(NAME, old_names)) [13:14:07.771] next [13:14:07.771] args[[name]] <- "" [13:14:07.771] } [13:14:07.771] NAMES <- toupper(removed) [13:14:07.771] for (kk in seq_along(NAMES)) { [13:14:07.771] name <- removed[[kk]] [13:14:07.771] NAME <- NAMES[[kk]] [13:14:07.771] if (name != NAME && is.element(NAME, old_names)) [13:14:07.771] next [13:14:07.771] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.771] } [13:14:07.771] if (length(args) > 0) [13:14:07.771] base::do.call(base::Sys.setenv, args = args) [13:14:07.771] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.771] } [13:14:07.771] else { [13:14:07.771] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.771] } [13:14:07.771] { [13:14:07.771] if (base::length(...future.futureOptionsAdded) > [13:14:07.771] 0L) { [13:14:07.771] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.771] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.771] base::options(opts) [13:14:07.771] } [13:14:07.771] { [13:14:07.771] { [13:14:07.771] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.771] NULL [13:14:07.771] } [13:14:07.771] options(future.plan = NULL) [13:14:07.771] if (is.na(NA_character_)) [13:14:07.771] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.771] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.771] future::plan(list(function (..., workers = availableCores(), [13:14:07.771] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.771] envir = parent.frame()) [13:14:07.771] { [13:14:07.771] if (is.function(workers)) [13:14:07.771] workers <- workers() [13:14:07.771] workers <- structure(as.integer(workers), [13:14:07.771] class = class(workers)) [13:14:07.771] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.771] workers >= 1) [13:14:07.771] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.771] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.771] } [13:14:07.771] future <- MultisessionFuture(..., workers = workers, [13:14:07.771] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.771] envir = envir) [13:14:07.771] if (!future$lazy) [13:14:07.771] future <- run(future) [13:14:07.771] invisible(future) [13:14:07.771] }), .cleanup = FALSE, .init = FALSE) [13:14:07.771] } [13:14:07.771] } [13:14:07.771] } [13:14:07.771] }) [13:14:07.771] if (TRUE) { [13:14:07.771] base::sink(type = "output", split = FALSE) [13:14:07.771] if (TRUE) { [13:14:07.771] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.771] } [13:14:07.771] else { [13:14:07.771] ...future.result["stdout"] <- base::list(NULL) [13:14:07.771] } [13:14:07.771] base::close(...future.stdout) [13:14:07.771] ...future.stdout <- NULL [13:14:07.771] } [13:14:07.771] ...future.result$conditions <- ...future.conditions [13:14:07.771] ...future.result$finished <- base::Sys.time() [13:14:07.771] ...future.result [13:14:07.771] } [13:14:07.776] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:07.776] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:07.777] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:07.777] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.777] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.778] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.778] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.778] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.779] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.779] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.779] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.780] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:07.780] MultisessionFuture started [13:14:07.780] - Launch lazy future ... done [13:14:07.781] run() for 'MultisessionFuture' ... done [13:14:07.781] Created future: [13:14:07.796] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.796] - Validating connection of MultisessionFuture [13:14:07.797] - received message: FutureResult [13:14:07.797] - Received FutureResult [13:14:07.797] - Erased future from FutureRegistry [13:14:07.797] result() for ClusterFuture ... [13:14:07.797] - result already collected: FutureResult [13:14:07.797] result() for ClusterFuture ... done [13:14:07.798] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.781] MultisessionFuture: [13:14:07.781] Label: 'future_sapply-1' [13:14:07.781] Expression: [13:14:07.781] { [13:14:07.781] do.call(function(...) { [13:14:07.781] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.781] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.781] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.781] on.exit(options(oopts), add = TRUE) [13:14:07.781] } [13:14:07.781] { [13:14:07.781] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.781] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.781] ...future.FUN(...future.X_jj, ...) [13:14:07.781] }) [13:14:07.781] } [13:14:07.781] }, args = future.call.arguments) [13:14:07.781] } [13:14:07.781] Lazy evaluation: FALSE [13:14:07.781] Asynchronous evaluation: TRUE [13:14:07.781] Local evaluation: TRUE [13:14:07.781] Environment: R_GlobalEnv [13:14:07.781] Capture standard output: TRUE [13:14:07.781] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.781] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.781] Packages: [13:14:07.781] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.781] Resolved: TRUE [13:14:07.781] Value: [13:14:07.781] Conditions captured: [13:14:07.781] Early signaling: FALSE [13:14:07.781] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.781] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.798] Chunk #1 of 2 ... DONE [13:14:07.798] Chunk #2 of 2 ... [13:14:07.798] - Finding globals in 'X' for chunk #2 ... [13:14:07.799] getGlobalsAndPackages() ... [13:14:07.799] Searching for globals... [13:14:07.799] [13:14:07.799] Searching for globals ... DONE [13:14:07.799] - globals: [0] [13:14:07.800] getGlobalsAndPackages() ... DONE [13:14:07.800] + additional globals found: [n=0] [13:14:07.800] + additional namespaces needed: [n=0] [13:14:07.800] - Finding globals in 'X' for chunk #2 ... DONE [13:14:07.800] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.800] - seeds: [13:14:07.801] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.801] getGlobalsAndPackages() ... [13:14:07.801] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.801] Resolving globals: FALSE [13:14:07.801] Tweak future expression to call with '...' arguments ... [13:14:07.801] { [13:14:07.801] do.call(function(...) { [13:14:07.801] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.801] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.801] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.801] on.exit(options(oopts), add = TRUE) [13:14:07.801] } [13:14:07.801] { [13:14:07.801] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.801] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.801] ...future.FUN(...future.X_jj, ...) [13:14:07.801] }) [13:14:07.801] } [13:14:07.801] }, args = future.call.arguments) [13:14:07.801] } [13:14:07.802] Tweak future expression to call with '...' arguments ... DONE [13:14:07.802] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.803] [13:14:07.803] getGlobalsAndPackages() ... DONE [13:14:07.803] run() for 'Future' ... [13:14:07.803] - state: 'created' [13:14:07.803] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.817] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.818] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.818] - Field: 'node' [13:14:07.818] - Field: 'label' [13:14:07.818] - Field: 'local' [13:14:07.818] - Field: 'owner' [13:14:07.819] - Field: 'envir' [13:14:07.819] - Field: 'workers' [13:14:07.819] - Field: 'packages' [13:14:07.819] - Field: 'gc' [13:14:07.819] - Field: 'conditions' [13:14:07.819] - Field: 'persistent' [13:14:07.820] - Field: 'expr' [13:14:07.820] - Field: 'uuid' [13:14:07.820] - Field: 'seed' [13:14:07.820] - Field: 'version' [13:14:07.820] - Field: 'result' [13:14:07.820] - Field: 'asynchronous' [13:14:07.821] - Field: 'calls' [13:14:07.821] - Field: 'globals' [13:14:07.821] - Field: 'stdout' [13:14:07.821] - Field: 'earlySignal' [13:14:07.821] - Field: 'lazy' [13:14:07.822] - Field: 'state' [13:14:07.822] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.822] - Launch lazy future ... [13:14:07.822] Packages needed by the future expression (n = 0): [13:14:07.822] Packages needed by future strategies (n = 0): [13:14:07.823] { [13:14:07.823] { [13:14:07.823] { [13:14:07.823] ...future.startTime <- base::Sys.time() [13:14:07.823] { [13:14:07.823] { [13:14:07.823] { [13:14:07.823] { [13:14:07.823] base::local({ [13:14:07.823] has_future <- base::requireNamespace("future", [13:14:07.823] quietly = TRUE) [13:14:07.823] if (has_future) { [13:14:07.823] ns <- base::getNamespace("future") [13:14:07.823] version <- ns[[".package"]][["version"]] [13:14:07.823] if (is.null(version)) [13:14:07.823] version <- utils::packageVersion("future") [13:14:07.823] } [13:14:07.823] else { [13:14:07.823] version <- NULL [13:14:07.823] } [13:14:07.823] if (!has_future || version < "1.8.0") { [13:14:07.823] info <- base::c(r_version = base::gsub("R version ", [13:14:07.823] "", base::R.version$version.string), [13:14:07.823] platform = base::sprintf("%s (%s-bit)", [13:14:07.823] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.823] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.823] "release", "version")], collapse = " "), [13:14:07.823] hostname = base::Sys.info()[["nodename"]]) [13:14:07.823] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.823] info) [13:14:07.823] info <- base::paste(info, collapse = "; ") [13:14:07.823] if (!has_future) { [13:14:07.823] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.823] info) [13:14:07.823] } [13:14:07.823] else { [13:14:07.823] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.823] info, version) [13:14:07.823] } [13:14:07.823] base::stop(msg) [13:14:07.823] } [13:14:07.823] }) [13:14:07.823] } [13:14:07.823] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.823] base::options(mc.cores = 1L) [13:14:07.823] } [13:14:07.823] options(future.plan = NULL) [13:14:07.823] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.823] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.823] } [13:14:07.823] ...future.workdir <- getwd() [13:14:07.823] } [13:14:07.823] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.823] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.823] } [13:14:07.823] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.823] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.823] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.823] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.823] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.823] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.823] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.823] base::names(...future.oldOptions)) [13:14:07.823] } [13:14:07.823] if (FALSE) { [13:14:07.823] } [13:14:07.823] else { [13:14:07.823] if (TRUE) { [13:14:07.823] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.823] open = "w") [13:14:07.823] } [13:14:07.823] else { [13:14:07.823] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.823] windows = "NUL", "/dev/null"), open = "w") [13:14:07.823] } [13:14:07.823] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.823] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.823] base::sink(type = "output", split = FALSE) [13:14:07.823] base::close(...future.stdout) [13:14:07.823] }, add = TRUE) [13:14:07.823] } [13:14:07.823] ...future.frame <- base::sys.nframe() [13:14:07.823] ...future.conditions <- base::list() [13:14:07.823] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.823] if (FALSE) { [13:14:07.823] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.823] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.823] } [13:14:07.823] ...future.result <- base::tryCatch({ [13:14:07.823] base::withCallingHandlers({ [13:14:07.823] ...future.value <- base::withVisible(base::local({ [13:14:07.823] ...future.makeSendCondition <- local({ [13:14:07.823] sendCondition <- NULL [13:14:07.823] function(frame = 1L) { [13:14:07.823] if (is.function(sendCondition)) [13:14:07.823] return(sendCondition) [13:14:07.823] ns <- getNamespace("parallel") [13:14:07.823] if (exists("sendData", mode = "function", [13:14:07.823] envir = ns)) { [13:14:07.823] parallel_sendData <- get("sendData", mode = "function", [13:14:07.823] envir = ns) [13:14:07.823] envir <- sys.frame(frame) [13:14:07.823] master <- NULL [13:14:07.823] while (!identical(envir, .GlobalEnv) && [13:14:07.823] !identical(envir, emptyenv())) { [13:14:07.823] if (exists("master", mode = "list", envir = envir, [13:14:07.823] inherits = FALSE)) { [13:14:07.823] master <- get("master", mode = "list", [13:14:07.823] envir = envir, inherits = FALSE) [13:14:07.823] if (inherits(master, c("SOCKnode", [13:14:07.823] "SOCK0node"))) { [13:14:07.823] sendCondition <<- function(cond) { [13:14:07.823] data <- list(type = "VALUE", value = cond, [13:14:07.823] success = TRUE) [13:14:07.823] parallel_sendData(master, data) [13:14:07.823] } [13:14:07.823] return(sendCondition) [13:14:07.823] } [13:14:07.823] } [13:14:07.823] frame <- frame + 1L [13:14:07.823] envir <- sys.frame(frame) [13:14:07.823] } [13:14:07.823] } [13:14:07.823] sendCondition <<- function(cond) NULL [13:14:07.823] } [13:14:07.823] }) [13:14:07.823] withCallingHandlers({ [13:14:07.823] { [13:14:07.823] do.call(function(...) { [13:14:07.823] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.823] if (!identical(...future.globals.maxSize.org, [13:14:07.823] ...future.globals.maxSize)) { [13:14:07.823] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.823] on.exit(options(oopts), add = TRUE) [13:14:07.823] } [13:14:07.823] { [13:14:07.823] lapply(seq_along(...future.elements_ii), [13:14:07.823] FUN = function(jj) { [13:14:07.823] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.823] ...future.FUN(...future.X_jj, ...) [13:14:07.823] }) [13:14:07.823] } [13:14:07.823] }, args = future.call.arguments) [13:14:07.823] } [13:14:07.823] }, immediateCondition = function(cond) { [13:14:07.823] sendCondition <- ...future.makeSendCondition() [13:14:07.823] sendCondition(cond) [13:14:07.823] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.823] { [13:14:07.823] inherits <- base::inherits [13:14:07.823] invokeRestart <- base::invokeRestart [13:14:07.823] is.null <- base::is.null [13:14:07.823] muffled <- FALSE [13:14:07.823] if (inherits(cond, "message")) { [13:14:07.823] muffled <- grepl(pattern, "muffleMessage") [13:14:07.823] if (muffled) [13:14:07.823] invokeRestart("muffleMessage") [13:14:07.823] } [13:14:07.823] else if (inherits(cond, "warning")) { [13:14:07.823] muffled <- grepl(pattern, "muffleWarning") [13:14:07.823] if (muffled) [13:14:07.823] invokeRestart("muffleWarning") [13:14:07.823] } [13:14:07.823] else if (inherits(cond, "condition")) { [13:14:07.823] if (!is.null(pattern)) { [13:14:07.823] computeRestarts <- base::computeRestarts [13:14:07.823] grepl <- base::grepl [13:14:07.823] restarts <- computeRestarts(cond) [13:14:07.823] for (restart in restarts) { [13:14:07.823] name <- restart$name [13:14:07.823] if (is.null(name)) [13:14:07.823] next [13:14:07.823] if (!grepl(pattern, name)) [13:14:07.823] next [13:14:07.823] invokeRestart(restart) [13:14:07.823] muffled <- TRUE [13:14:07.823] break [13:14:07.823] } [13:14:07.823] } [13:14:07.823] } [13:14:07.823] invisible(muffled) [13:14:07.823] } [13:14:07.823] muffleCondition(cond) [13:14:07.823] }) [13:14:07.823] })) [13:14:07.823] future::FutureResult(value = ...future.value$value, [13:14:07.823] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.823] ...future.rng), globalenv = if (FALSE) [13:14:07.823] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.823] ...future.globalenv.names)) [13:14:07.823] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.823] }, condition = base::local({ [13:14:07.823] c <- base::c [13:14:07.823] inherits <- base::inherits [13:14:07.823] invokeRestart <- base::invokeRestart [13:14:07.823] length <- base::length [13:14:07.823] list <- base::list [13:14:07.823] seq.int <- base::seq.int [13:14:07.823] signalCondition <- base::signalCondition [13:14:07.823] sys.calls <- base::sys.calls [13:14:07.823] `[[` <- base::`[[` [13:14:07.823] `+` <- base::`+` [13:14:07.823] `<<-` <- base::`<<-` [13:14:07.823] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.823] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.823] 3L)] [13:14:07.823] } [13:14:07.823] function(cond) { [13:14:07.823] is_error <- inherits(cond, "error") [13:14:07.823] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.823] NULL) [13:14:07.823] if (is_error) { [13:14:07.823] sessionInformation <- function() { [13:14:07.823] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.823] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.823] search = base::search(), system = base::Sys.info()) [13:14:07.823] } [13:14:07.823] ...future.conditions[[length(...future.conditions) + [13:14:07.823] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.823] cond$call), session = sessionInformation(), [13:14:07.823] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.823] signalCondition(cond) [13:14:07.823] } [13:14:07.823] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.823] "immediateCondition"))) { [13:14:07.823] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.823] ...future.conditions[[length(...future.conditions) + [13:14:07.823] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.823] if (TRUE && !signal) { [13:14:07.823] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.823] { [13:14:07.823] inherits <- base::inherits [13:14:07.823] invokeRestart <- base::invokeRestart [13:14:07.823] is.null <- base::is.null [13:14:07.823] muffled <- FALSE [13:14:07.823] if (inherits(cond, "message")) { [13:14:07.823] muffled <- grepl(pattern, "muffleMessage") [13:14:07.823] if (muffled) [13:14:07.823] invokeRestart("muffleMessage") [13:14:07.823] } [13:14:07.823] else if (inherits(cond, "warning")) { [13:14:07.823] muffled <- grepl(pattern, "muffleWarning") [13:14:07.823] if (muffled) [13:14:07.823] invokeRestart("muffleWarning") [13:14:07.823] } [13:14:07.823] else if (inherits(cond, "condition")) { [13:14:07.823] if (!is.null(pattern)) { [13:14:07.823] computeRestarts <- base::computeRestarts [13:14:07.823] grepl <- base::grepl [13:14:07.823] restarts <- computeRestarts(cond) [13:14:07.823] for (restart in restarts) { [13:14:07.823] name <- restart$name [13:14:07.823] if (is.null(name)) [13:14:07.823] next [13:14:07.823] if (!grepl(pattern, name)) [13:14:07.823] next [13:14:07.823] invokeRestart(restart) [13:14:07.823] muffled <- TRUE [13:14:07.823] break [13:14:07.823] } [13:14:07.823] } [13:14:07.823] } [13:14:07.823] invisible(muffled) [13:14:07.823] } [13:14:07.823] muffleCondition(cond, pattern = "^muffle") [13:14:07.823] } [13:14:07.823] } [13:14:07.823] else { [13:14:07.823] if (TRUE) { [13:14:07.823] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.823] { [13:14:07.823] inherits <- base::inherits [13:14:07.823] invokeRestart <- base::invokeRestart [13:14:07.823] is.null <- base::is.null [13:14:07.823] muffled <- FALSE [13:14:07.823] if (inherits(cond, "message")) { [13:14:07.823] muffled <- grepl(pattern, "muffleMessage") [13:14:07.823] if (muffled) [13:14:07.823] invokeRestart("muffleMessage") [13:14:07.823] } [13:14:07.823] else if (inherits(cond, "warning")) { [13:14:07.823] muffled <- grepl(pattern, "muffleWarning") [13:14:07.823] if (muffled) [13:14:07.823] invokeRestart("muffleWarning") [13:14:07.823] } [13:14:07.823] else if (inherits(cond, "condition")) { [13:14:07.823] if (!is.null(pattern)) { [13:14:07.823] computeRestarts <- base::computeRestarts [13:14:07.823] grepl <- base::grepl [13:14:07.823] restarts <- computeRestarts(cond) [13:14:07.823] for (restart in restarts) { [13:14:07.823] name <- restart$name [13:14:07.823] if (is.null(name)) [13:14:07.823] next [13:14:07.823] if (!grepl(pattern, name)) [13:14:07.823] next [13:14:07.823] invokeRestart(restart) [13:14:07.823] muffled <- TRUE [13:14:07.823] break [13:14:07.823] } [13:14:07.823] } [13:14:07.823] } [13:14:07.823] invisible(muffled) [13:14:07.823] } [13:14:07.823] muffleCondition(cond, pattern = "^muffle") [13:14:07.823] } [13:14:07.823] } [13:14:07.823] } [13:14:07.823] })) [13:14:07.823] }, error = function(ex) { [13:14:07.823] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.823] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.823] ...future.rng), started = ...future.startTime, [13:14:07.823] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.823] version = "1.8"), class = "FutureResult") [13:14:07.823] }, finally = { [13:14:07.823] if (!identical(...future.workdir, getwd())) [13:14:07.823] setwd(...future.workdir) [13:14:07.823] { [13:14:07.823] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.823] ...future.oldOptions$nwarnings <- NULL [13:14:07.823] } [13:14:07.823] base::options(...future.oldOptions) [13:14:07.823] if (.Platform$OS.type == "windows") { [13:14:07.823] old_names <- names(...future.oldEnvVars) [13:14:07.823] envs <- base::Sys.getenv() [13:14:07.823] names <- names(envs) [13:14:07.823] common <- intersect(names, old_names) [13:14:07.823] added <- setdiff(names, old_names) [13:14:07.823] removed <- setdiff(old_names, names) [13:14:07.823] changed <- common[...future.oldEnvVars[common] != [13:14:07.823] envs[common]] [13:14:07.823] NAMES <- toupper(changed) [13:14:07.823] args <- list() [13:14:07.823] for (kk in seq_along(NAMES)) { [13:14:07.823] name <- changed[[kk]] [13:14:07.823] NAME <- NAMES[[kk]] [13:14:07.823] if (name != NAME && is.element(NAME, old_names)) [13:14:07.823] next [13:14:07.823] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.823] } [13:14:07.823] NAMES <- toupper(added) [13:14:07.823] for (kk in seq_along(NAMES)) { [13:14:07.823] name <- added[[kk]] [13:14:07.823] NAME <- NAMES[[kk]] [13:14:07.823] if (name != NAME && is.element(NAME, old_names)) [13:14:07.823] next [13:14:07.823] args[[name]] <- "" [13:14:07.823] } [13:14:07.823] NAMES <- toupper(removed) [13:14:07.823] for (kk in seq_along(NAMES)) { [13:14:07.823] name <- removed[[kk]] [13:14:07.823] NAME <- NAMES[[kk]] [13:14:07.823] if (name != NAME && is.element(NAME, old_names)) [13:14:07.823] next [13:14:07.823] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.823] } [13:14:07.823] if (length(args) > 0) [13:14:07.823] base::do.call(base::Sys.setenv, args = args) [13:14:07.823] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.823] } [13:14:07.823] else { [13:14:07.823] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.823] } [13:14:07.823] { [13:14:07.823] if (base::length(...future.futureOptionsAdded) > [13:14:07.823] 0L) { [13:14:07.823] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.823] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.823] base::options(opts) [13:14:07.823] } [13:14:07.823] { [13:14:07.823] { [13:14:07.823] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.823] NULL [13:14:07.823] } [13:14:07.823] options(future.plan = NULL) [13:14:07.823] if (is.na(NA_character_)) [13:14:07.823] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.823] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.823] future::plan(list(function (..., workers = availableCores(), [13:14:07.823] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.823] envir = parent.frame()) [13:14:07.823] { [13:14:07.823] if (is.function(workers)) [13:14:07.823] workers <- workers() [13:14:07.823] workers <- structure(as.integer(workers), [13:14:07.823] class = class(workers)) [13:14:07.823] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.823] workers >= 1) [13:14:07.823] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.823] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.823] } [13:14:07.823] future <- MultisessionFuture(..., workers = workers, [13:14:07.823] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.823] envir = envir) [13:14:07.823] if (!future$lazy) [13:14:07.823] future <- run(future) [13:14:07.823] invisible(future) [13:14:07.823] }), .cleanup = FALSE, .init = FALSE) [13:14:07.823] } [13:14:07.823] } [13:14:07.823] } [13:14:07.823] }) [13:14:07.823] if (TRUE) { [13:14:07.823] base::sink(type = "output", split = FALSE) [13:14:07.823] if (TRUE) { [13:14:07.823] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.823] } [13:14:07.823] else { [13:14:07.823] ...future.result["stdout"] <- base::list(NULL) [13:14:07.823] } [13:14:07.823] base::close(...future.stdout) [13:14:07.823] ...future.stdout <- NULL [13:14:07.823] } [13:14:07.823] ...future.result$conditions <- ...future.conditions [13:14:07.823] ...future.result$finished <- base::Sys.time() [13:14:07.823] ...future.result [13:14:07.823] } [13:14:07.828] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:07.829] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:07.829] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:07.829] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.830] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.830] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.830] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.831] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.831] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.831] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.832] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.832] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:07.832] MultisessionFuture started [13:14:07.833] - Launch lazy future ... done [13:14:07.833] run() for 'MultisessionFuture' ... done [13:14:07.833] Created future: [13:14:07.849] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.849] - Validating connection of MultisessionFuture [13:14:07.849] - received message: FutureResult [13:14:07.849] - Received FutureResult [13:14:07.850] - Erased future from FutureRegistry [13:14:07.850] result() for ClusterFuture ... [13:14:07.850] - result already collected: FutureResult [13:14:07.850] result() for ClusterFuture ... done [13:14:07.850] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.833] MultisessionFuture: [13:14:07.833] Label: 'future_sapply-2' [13:14:07.833] Expression: [13:14:07.833] { [13:14:07.833] do.call(function(...) { [13:14:07.833] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.833] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.833] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.833] on.exit(options(oopts), add = TRUE) [13:14:07.833] } [13:14:07.833] { [13:14:07.833] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.833] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.833] ...future.FUN(...future.X_jj, ...) [13:14:07.833] }) [13:14:07.833] } [13:14:07.833] }, args = future.call.arguments) [13:14:07.833] } [13:14:07.833] Lazy evaluation: FALSE [13:14:07.833] Asynchronous evaluation: TRUE [13:14:07.833] Local evaluation: TRUE [13:14:07.833] Environment: R_GlobalEnv [13:14:07.833] Capture standard output: TRUE [13:14:07.833] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.833] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.833] Packages: [13:14:07.833] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.833] Resolved: TRUE [13:14:07.833] Value: [13:14:07.833] Conditions captured: [13:14:07.833] Early signaling: FALSE [13:14:07.833] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.833] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.851] Chunk #2 of 2 ... DONE [13:14:07.851] Launching 2 futures (chunks) ... DONE [13:14:07.851] Resolving 2 futures (chunks) ... [13:14:07.851] resolve() on list ... [13:14:07.851] recursive: 0 [13:14:07.851] length: 2 [13:14:07.852] [13:14:07.852] Future #1 [13:14:07.852] result() for ClusterFuture ... [13:14:07.852] - result already collected: FutureResult [13:14:07.852] result() for ClusterFuture ... done [13:14:07.852] result() for ClusterFuture ... [13:14:07.853] - result already collected: FutureResult [13:14:07.853] result() for ClusterFuture ... done [13:14:07.853] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:07.853] - nx: 2 [13:14:07.853] - relay: TRUE [13:14:07.853] - stdout: TRUE [13:14:07.854] - signal: TRUE [13:14:07.854] - resignal: FALSE [13:14:07.854] - force: TRUE [13:14:07.854] - relayed: [n=2] FALSE, FALSE [13:14:07.854] - queued futures: [n=2] FALSE, FALSE [13:14:07.854] - until=1 [13:14:07.854] - relaying element #1 [13:14:07.855] result() for ClusterFuture ... [13:14:07.855] - result already collected: FutureResult [13:14:07.855] result() for ClusterFuture ... done [13:14:07.855] result() for ClusterFuture ... [13:14:07.855] - result already collected: FutureResult [13:14:07.855] result() for ClusterFuture ... done [13:14:07.856] result() for ClusterFuture ... [13:14:07.856] - result already collected: FutureResult [13:14:07.856] result() for ClusterFuture ... done [13:14:07.856] result() for ClusterFuture ... [13:14:07.856] - result already collected: FutureResult [13:14:07.856] result() for ClusterFuture ... done [13:14:07.857] - relayed: [n=2] TRUE, FALSE [13:14:07.857] - queued futures: [n=2] TRUE, FALSE [13:14:07.857] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:07.857] length: 1 (resolved future 1) [13:14:07.857] Future #2 [13:14:07.857] result() for ClusterFuture ... [13:14:07.858] - result already collected: FutureResult [13:14:07.858] result() for ClusterFuture ... done [13:14:07.858] result() for ClusterFuture ... [13:14:07.858] - result already collected: FutureResult [13:14:07.858] result() for ClusterFuture ... done [13:14:07.858] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:07.859] - nx: 2 [13:14:07.859] - relay: TRUE [13:14:07.859] - stdout: TRUE [13:14:07.859] - signal: TRUE [13:14:07.859] - resignal: FALSE [13:14:07.859] - force: TRUE [13:14:07.859] - relayed: [n=2] TRUE, FALSE [13:14:07.860] - queued futures: [n=2] TRUE, FALSE [13:14:07.860] - until=2 [13:14:07.860] - relaying element #2 [13:14:07.860] result() for ClusterFuture ... [13:14:07.860] - result already collected: FutureResult [13:14:07.860] result() for ClusterFuture ... done [13:14:07.861] result() for ClusterFuture ... [13:14:07.861] - result already collected: FutureResult [13:14:07.861] result() for ClusterFuture ... done [13:14:07.861] result() for ClusterFuture ... [13:14:07.861] - result already collected: FutureResult [13:14:07.861] result() for ClusterFuture ... done [13:14:07.862] result() for ClusterFuture ... [13:14:07.862] - result already collected: FutureResult [13:14:07.862] result() for ClusterFuture ... done [13:14:07.862] - relayed: [n=2] TRUE, TRUE [13:14:07.862] - queued futures: [n=2] TRUE, TRUE [13:14:07.862] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:07.862] length: 0 (resolved future 2) [13:14:07.863] Relaying remaining futures [13:14:07.863] signalConditionsASAP(NULL, pos=0) ... [13:14:07.863] - nx: 2 [13:14:07.863] - relay: TRUE [13:14:07.863] - stdout: TRUE [13:14:07.863] - signal: TRUE [13:14:07.864] - resignal: FALSE [13:14:07.864] - force: TRUE [13:14:07.864] - relayed: [n=2] TRUE, TRUE [13:14:07.864] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:07.864] - relayed: [n=2] TRUE, TRUE [13:14:07.864] - queued futures: [n=2] TRUE, TRUE [13:14:07.865] signalConditionsASAP(NULL, pos=0) ... done [13:14:07.865] resolve() on list ... DONE [13:14:07.865] result() for ClusterFuture ... [13:14:07.865] - result already collected: FutureResult [13:14:07.865] result() for ClusterFuture ... done [13:14:07.865] result() for ClusterFuture ... [13:14:07.866] - result already collected: FutureResult [13:14:07.866] result() for ClusterFuture ... done [13:14:07.866] result() for ClusterFuture ... [13:14:07.866] - result already collected: FutureResult [13:14:07.866] result() for ClusterFuture ... done [13:14:07.866] result() for ClusterFuture ... [13:14:07.866] - result already collected: FutureResult [13:14:07.867] result() for ClusterFuture ... done [13:14:07.867] - Number of value chunks collected: 2 [13:14:07.867] Resolving 2 futures (chunks) ... DONE [13:14:07.867] Reducing values from 2 chunks ... [13:14:07.867] - Number of values collected after concatenation: 6 [13:14:07.867] - Number of values expected: 6 [13:14:07.868] Reducing values from 2 chunks ... DONE [13:14:07.868] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:07.871] future_lapply() ... [13:14:07.874] Number of chunks: 2 [13:14:07.874] getGlobalsAndPackagesXApply() ... [13:14:07.874] - future.globals: TRUE [13:14:07.874] getGlobalsAndPackages() ... [13:14:07.874] Searching for globals... [13:14:07.876] - globals found: [1] 'FUN' [13:14:07.876] Searching for globals ... DONE [13:14:07.876] Resolving globals: FALSE [13:14:07.876] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:07.877] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:07.877] - globals: [1] 'FUN' [13:14:07.877] [13:14:07.877] getGlobalsAndPackages() ... DONE [13:14:07.878] - globals found/used: [n=1] 'FUN' [13:14:07.878] - needed namespaces: [n=0] [13:14:07.878] Finding globals ... DONE [13:14:07.878] - use_args: TRUE [13:14:07.878] - Getting '...' globals ... [13:14:07.879] resolve() on list ... [13:14:07.879] recursive: 0 [13:14:07.879] length: 1 [13:14:07.879] elements: '...' [13:14:07.879] length: 0 (resolved future 1) [13:14:07.879] resolve() on list ... DONE [13:14:07.880] - '...' content: [n=0] [13:14:07.880] List of 1 [13:14:07.880] $ ...: list() [13:14:07.880] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.880] - attr(*, "where")=List of 1 [13:14:07.880] ..$ ...: [13:14:07.880] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.880] - attr(*, "resolved")= logi TRUE [13:14:07.880] - attr(*, "total_size")= num NA [13:14:07.885] - Getting '...' globals ... DONE [13:14:07.885] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:07.886] List of 2 [13:14:07.886] $ ...future.FUN:function (x) [13:14:07.886] $ ... : list() [13:14:07.886] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:07.886] - attr(*, "where")=List of 2 [13:14:07.886] ..$ ...future.FUN: [13:14:07.886] ..$ ... : [13:14:07.886] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:07.886] - attr(*, "resolved")= logi FALSE [13:14:07.886] - attr(*, "total_size")= num 848 [13:14:07.889] Packages to be attached in all futures: [n=0] [13:14:07.889] getGlobalsAndPackagesXApply() ... DONE [13:14:07.890] Number of futures (= number of chunks): 2 [13:14:07.890] Launching 2 futures (chunks) ... [13:14:07.890] Chunk #1 of 2 ... [13:14:07.890] - Finding globals in 'X' for chunk #1 ... [13:14:07.890] getGlobalsAndPackages() ... [13:14:07.891] Searching for globals... [13:14:07.891] [13:14:07.891] Searching for globals ... DONE [13:14:07.891] - globals: [0] [13:14:07.891] getGlobalsAndPackages() ... DONE [13:14:07.891] + additional globals found: [n=0] [13:14:07.892] + additional namespaces needed: [n=0] [13:14:07.892] - Finding globals in 'X' for chunk #1 ... DONE [13:14:07.892] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.892] - seeds: [13:14:07.893] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.893] getGlobalsAndPackages() ... [13:14:07.893] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.893] Resolving globals: FALSE [13:14:07.894] Tweak future expression to call with '...' arguments ... [13:14:07.894] { [13:14:07.894] do.call(function(...) { [13:14:07.894] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.894] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.894] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.894] on.exit(options(oopts), add = TRUE) [13:14:07.894] } [13:14:07.894] { [13:14:07.894] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.894] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.894] ...future.FUN(...future.X_jj, ...) [13:14:07.894] }) [13:14:07.894] } [13:14:07.894] }, args = future.call.arguments) [13:14:07.894] } [13:14:07.894] Tweak future expression to call with '...' arguments ... DONE [13:14:07.895] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.895] [13:14:07.895] getGlobalsAndPackages() ... DONE [13:14:07.895] run() for 'Future' ... [13:14:07.895] - state: 'created' [13:14:07.896] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.910] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.910] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.910] - Field: 'node' [13:14:07.910] - Field: 'label' [13:14:07.910] - Field: 'local' [13:14:07.911] - Field: 'owner' [13:14:07.911] - Field: 'envir' [13:14:07.911] - Field: 'workers' [13:14:07.911] - Field: 'packages' [13:14:07.911] - Field: 'gc' [13:14:07.911] - Field: 'conditions' [13:14:07.912] - Field: 'persistent' [13:14:07.912] - Field: 'expr' [13:14:07.912] - Field: 'uuid' [13:14:07.912] - Field: 'seed' [13:14:07.912] - Field: 'version' [13:14:07.912] - Field: 'result' [13:14:07.913] - Field: 'asynchronous' [13:14:07.913] - Field: 'calls' [13:14:07.913] - Field: 'globals' [13:14:07.913] - Field: 'stdout' [13:14:07.913] - Field: 'earlySignal' [13:14:07.913] - Field: 'lazy' [13:14:07.914] - Field: 'state' [13:14:07.914] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.914] - Launch lazy future ... [13:14:07.914] Packages needed by the future expression (n = 0): [13:14:07.915] Packages needed by future strategies (n = 0): [13:14:07.915] { [13:14:07.915] { [13:14:07.915] { [13:14:07.915] ...future.startTime <- base::Sys.time() [13:14:07.915] { [13:14:07.915] { [13:14:07.915] { [13:14:07.915] { [13:14:07.915] base::local({ [13:14:07.915] has_future <- base::requireNamespace("future", [13:14:07.915] quietly = TRUE) [13:14:07.915] if (has_future) { [13:14:07.915] ns <- base::getNamespace("future") [13:14:07.915] version <- ns[[".package"]][["version"]] [13:14:07.915] if (is.null(version)) [13:14:07.915] version <- utils::packageVersion("future") [13:14:07.915] } [13:14:07.915] else { [13:14:07.915] version <- NULL [13:14:07.915] } [13:14:07.915] if (!has_future || version < "1.8.0") { [13:14:07.915] info <- base::c(r_version = base::gsub("R version ", [13:14:07.915] "", base::R.version$version.string), [13:14:07.915] platform = base::sprintf("%s (%s-bit)", [13:14:07.915] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.915] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.915] "release", "version")], collapse = " "), [13:14:07.915] hostname = base::Sys.info()[["nodename"]]) [13:14:07.915] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.915] info) [13:14:07.915] info <- base::paste(info, collapse = "; ") [13:14:07.915] if (!has_future) { [13:14:07.915] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.915] info) [13:14:07.915] } [13:14:07.915] else { [13:14:07.915] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.915] info, version) [13:14:07.915] } [13:14:07.915] base::stop(msg) [13:14:07.915] } [13:14:07.915] }) [13:14:07.915] } [13:14:07.915] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.915] base::options(mc.cores = 1L) [13:14:07.915] } [13:14:07.915] options(future.plan = NULL) [13:14:07.915] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.915] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.915] } [13:14:07.915] ...future.workdir <- getwd() [13:14:07.915] } [13:14:07.915] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.915] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.915] } [13:14:07.915] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.915] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.915] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.915] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.915] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.915] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.915] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.915] base::names(...future.oldOptions)) [13:14:07.915] } [13:14:07.915] if (FALSE) { [13:14:07.915] } [13:14:07.915] else { [13:14:07.915] if (TRUE) { [13:14:07.915] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.915] open = "w") [13:14:07.915] } [13:14:07.915] else { [13:14:07.915] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.915] windows = "NUL", "/dev/null"), open = "w") [13:14:07.915] } [13:14:07.915] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.915] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.915] base::sink(type = "output", split = FALSE) [13:14:07.915] base::close(...future.stdout) [13:14:07.915] }, add = TRUE) [13:14:07.915] } [13:14:07.915] ...future.frame <- base::sys.nframe() [13:14:07.915] ...future.conditions <- base::list() [13:14:07.915] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.915] if (FALSE) { [13:14:07.915] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.915] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.915] } [13:14:07.915] ...future.result <- base::tryCatch({ [13:14:07.915] base::withCallingHandlers({ [13:14:07.915] ...future.value <- base::withVisible(base::local({ [13:14:07.915] ...future.makeSendCondition <- local({ [13:14:07.915] sendCondition <- NULL [13:14:07.915] function(frame = 1L) { [13:14:07.915] if (is.function(sendCondition)) [13:14:07.915] return(sendCondition) [13:14:07.915] ns <- getNamespace("parallel") [13:14:07.915] if (exists("sendData", mode = "function", [13:14:07.915] envir = ns)) { [13:14:07.915] parallel_sendData <- get("sendData", mode = "function", [13:14:07.915] envir = ns) [13:14:07.915] envir <- sys.frame(frame) [13:14:07.915] master <- NULL [13:14:07.915] while (!identical(envir, .GlobalEnv) && [13:14:07.915] !identical(envir, emptyenv())) { [13:14:07.915] if (exists("master", mode = "list", envir = envir, [13:14:07.915] inherits = FALSE)) { [13:14:07.915] master <- get("master", mode = "list", [13:14:07.915] envir = envir, inherits = FALSE) [13:14:07.915] if (inherits(master, c("SOCKnode", [13:14:07.915] "SOCK0node"))) { [13:14:07.915] sendCondition <<- function(cond) { [13:14:07.915] data <- list(type = "VALUE", value = cond, [13:14:07.915] success = TRUE) [13:14:07.915] parallel_sendData(master, data) [13:14:07.915] } [13:14:07.915] return(sendCondition) [13:14:07.915] } [13:14:07.915] } [13:14:07.915] frame <- frame + 1L [13:14:07.915] envir <- sys.frame(frame) [13:14:07.915] } [13:14:07.915] } [13:14:07.915] sendCondition <<- function(cond) NULL [13:14:07.915] } [13:14:07.915] }) [13:14:07.915] withCallingHandlers({ [13:14:07.915] { [13:14:07.915] do.call(function(...) { [13:14:07.915] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.915] if (!identical(...future.globals.maxSize.org, [13:14:07.915] ...future.globals.maxSize)) { [13:14:07.915] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.915] on.exit(options(oopts), add = TRUE) [13:14:07.915] } [13:14:07.915] { [13:14:07.915] lapply(seq_along(...future.elements_ii), [13:14:07.915] FUN = function(jj) { [13:14:07.915] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.915] ...future.FUN(...future.X_jj, ...) [13:14:07.915] }) [13:14:07.915] } [13:14:07.915] }, args = future.call.arguments) [13:14:07.915] } [13:14:07.915] }, immediateCondition = function(cond) { [13:14:07.915] sendCondition <- ...future.makeSendCondition() [13:14:07.915] sendCondition(cond) [13:14:07.915] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.915] { [13:14:07.915] inherits <- base::inherits [13:14:07.915] invokeRestart <- base::invokeRestart [13:14:07.915] is.null <- base::is.null [13:14:07.915] muffled <- FALSE [13:14:07.915] if (inherits(cond, "message")) { [13:14:07.915] muffled <- grepl(pattern, "muffleMessage") [13:14:07.915] if (muffled) [13:14:07.915] invokeRestart("muffleMessage") [13:14:07.915] } [13:14:07.915] else if (inherits(cond, "warning")) { [13:14:07.915] muffled <- grepl(pattern, "muffleWarning") [13:14:07.915] if (muffled) [13:14:07.915] invokeRestart("muffleWarning") [13:14:07.915] } [13:14:07.915] else if (inherits(cond, "condition")) { [13:14:07.915] if (!is.null(pattern)) { [13:14:07.915] computeRestarts <- base::computeRestarts [13:14:07.915] grepl <- base::grepl [13:14:07.915] restarts <- computeRestarts(cond) [13:14:07.915] for (restart in restarts) { [13:14:07.915] name <- restart$name [13:14:07.915] if (is.null(name)) [13:14:07.915] next [13:14:07.915] if (!grepl(pattern, name)) [13:14:07.915] next [13:14:07.915] invokeRestart(restart) [13:14:07.915] muffled <- TRUE [13:14:07.915] break [13:14:07.915] } [13:14:07.915] } [13:14:07.915] } [13:14:07.915] invisible(muffled) [13:14:07.915] } [13:14:07.915] muffleCondition(cond) [13:14:07.915] }) [13:14:07.915] })) [13:14:07.915] future::FutureResult(value = ...future.value$value, [13:14:07.915] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.915] ...future.rng), globalenv = if (FALSE) [13:14:07.915] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.915] ...future.globalenv.names)) [13:14:07.915] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.915] }, condition = base::local({ [13:14:07.915] c <- base::c [13:14:07.915] inherits <- base::inherits [13:14:07.915] invokeRestart <- base::invokeRestart [13:14:07.915] length <- base::length [13:14:07.915] list <- base::list [13:14:07.915] seq.int <- base::seq.int [13:14:07.915] signalCondition <- base::signalCondition [13:14:07.915] sys.calls <- base::sys.calls [13:14:07.915] `[[` <- base::`[[` [13:14:07.915] `+` <- base::`+` [13:14:07.915] `<<-` <- base::`<<-` [13:14:07.915] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.915] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.915] 3L)] [13:14:07.915] } [13:14:07.915] function(cond) { [13:14:07.915] is_error <- inherits(cond, "error") [13:14:07.915] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.915] NULL) [13:14:07.915] if (is_error) { [13:14:07.915] sessionInformation <- function() { [13:14:07.915] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.915] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.915] search = base::search(), system = base::Sys.info()) [13:14:07.915] } [13:14:07.915] ...future.conditions[[length(...future.conditions) + [13:14:07.915] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.915] cond$call), session = sessionInformation(), [13:14:07.915] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.915] signalCondition(cond) [13:14:07.915] } [13:14:07.915] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.915] "immediateCondition"))) { [13:14:07.915] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.915] ...future.conditions[[length(...future.conditions) + [13:14:07.915] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.915] if (TRUE && !signal) { [13:14:07.915] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.915] { [13:14:07.915] inherits <- base::inherits [13:14:07.915] invokeRestart <- base::invokeRestart [13:14:07.915] is.null <- base::is.null [13:14:07.915] muffled <- FALSE [13:14:07.915] if (inherits(cond, "message")) { [13:14:07.915] muffled <- grepl(pattern, "muffleMessage") [13:14:07.915] if (muffled) [13:14:07.915] invokeRestart("muffleMessage") [13:14:07.915] } [13:14:07.915] else if (inherits(cond, "warning")) { [13:14:07.915] muffled <- grepl(pattern, "muffleWarning") [13:14:07.915] if (muffled) [13:14:07.915] invokeRestart("muffleWarning") [13:14:07.915] } [13:14:07.915] else if (inherits(cond, "condition")) { [13:14:07.915] if (!is.null(pattern)) { [13:14:07.915] computeRestarts <- base::computeRestarts [13:14:07.915] grepl <- base::grepl [13:14:07.915] restarts <- computeRestarts(cond) [13:14:07.915] for (restart in restarts) { [13:14:07.915] name <- restart$name [13:14:07.915] if (is.null(name)) [13:14:07.915] next [13:14:07.915] if (!grepl(pattern, name)) [13:14:07.915] next [13:14:07.915] invokeRestart(restart) [13:14:07.915] muffled <- TRUE [13:14:07.915] break [13:14:07.915] } [13:14:07.915] } [13:14:07.915] } [13:14:07.915] invisible(muffled) [13:14:07.915] } [13:14:07.915] muffleCondition(cond, pattern = "^muffle") [13:14:07.915] } [13:14:07.915] } [13:14:07.915] else { [13:14:07.915] if (TRUE) { [13:14:07.915] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.915] { [13:14:07.915] inherits <- base::inherits [13:14:07.915] invokeRestart <- base::invokeRestart [13:14:07.915] is.null <- base::is.null [13:14:07.915] muffled <- FALSE [13:14:07.915] if (inherits(cond, "message")) { [13:14:07.915] muffled <- grepl(pattern, "muffleMessage") [13:14:07.915] if (muffled) [13:14:07.915] invokeRestart("muffleMessage") [13:14:07.915] } [13:14:07.915] else if (inherits(cond, "warning")) { [13:14:07.915] muffled <- grepl(pattern, "muffleWarning") [13:14:07.915] if (muffled) [13:14:07.915] invokeRestart("muffleWarning") [13:14:07.915] } [13:14:07.915] else if (inherits(cond, "condition")) { [13:14:07.915] if (!is.null(pattern)) { [13:14:07.915] computeRestarts <- base::computeRestarts [13:14:07.915] grepl <- base::grepl [13:14:07.915] restarts <- computeRestarts(cond) [13:14:07.915] for (restart in restarts) { [13:14:07.915] name <- restart$name [13:14:07.915] if (is.null(name)) [13:14:07.915] next [13:14:07.915] if (!grepl(pattern, name)) [13:14:07.915] next [13:14:07.915] invokeRestart(restart) [13:14:07.915] muffled <- TRUE [13:14:07.915] break [13:14:07.915] } [13:14:07.915] } [13:14:07.915] } [13:14:07.915] invisible(muffled) [13:14:07.915] } [13:14:07.915] muffleCondition(cond, pattern = "^muffle") [13:14:07.915] } [13:14:07.915] } [13:14:07.915] } [13:14:07.915] })) [13:14:07.915] }, error = function(ex) { [13:14:07.915] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.915] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.915] ...future.rng), started = ...future.startTime, [13:14:07.915] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.915] version = "1.8"), class = "FutureResult") [13:14:07.915] }, finally = { [13:14:07.915] if (!identical(...future.workdir, getwd())) [13:14:07.915] setwd(...future.workdir) [13:14:07.915] { [13:14:07.915] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.915] ...future.oldOptions$nwarnings <- NULL [13:14:07.915] } [13:14:07.915] base::options(...future.oldOptions) [13:14:07.915] if (.Platform$OS.type == "windows") { [13:14:07.915] old_names <- names(...future.oldEnvVars) [13:14:07.915] envs <- base::Sys.getenv() [13:14:07.915] names <- names(envs) [13:14:07.915] common <- intersect(names, old_names) [13:14:07.915] added <- setdiff(names, old_names) [13:14:07.915] removed <- setdiff(old_names, names) [13:14:07.915] changed <- common[...future.oldEnvVars[common] != [13:14:07.915] envs[common]] [13:14:07.915] NAMES <- toupper(changed) [13:14:07.915] args <- list() [13:14:07.915] for (kk in seq_along(NAMES)) { [13:14:07.915] name <- changed[[kk]] [13:14:07.915] NAME <- NAMES[[kk]] [13:14:07.915] if (name != NAME && is.element(NAME, old_names)) [13:14:07.915] next [13:14:07.915] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.915] } [13:14:07.915] NAMES <- toupper(added) [13:14:07.915] for (kk in seq_along(NAMES)) { [13:14:07.915] name <- added[[kk]] [13:14:07.915] NAME <- NAMES[[kk]] [13:14:07.915] if (name != NAME && is.element(NAME, old_names)) [13:14:07.915] next [13:14:07.915] args[[name]] <- "" [13:14:07.915] } [13:14:07.915] NAMES <- toupper(removed) [13:14:07.915] for (kk in seq_along(NAMES)) { [13:14:07.915] name <- removed[[kk]] [13:14:07.915] NAME <- NAMES[[kk]] [13:14:07.915] if (name != NAME && is.element(NAME, old_names)) [13:14:07.915] next [13:14:07.915] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.915] } [13:14:07.915] if (length(args) > 0) [13:14:07.915] base::do.call(base::Sys.setenv, args = args) [13:14:07.915] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.915] } [13:14:07.915] else { [13:14:07.915] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.915] } [13:14:07.915] { [13:14:07.915] if (base::length(...future.futureOptionsAdded) > [13:14:07.915] 0L) { [13:14:07.915] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.915] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.915] base::options(opts) [13:14:07.915] } [13:14:07.915] { [13:14:07.915] { [13:14:07.915] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.915] NULL [13:14:07.915] } [13:14:07.915] options(future.plan = NULL) [13:14:07.915] if (is.na(NA_character_)) [13:14:07.915] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.915] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.915] future::plan(list(function (..., workers = availableCores(), [13:14:07.915] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.915] envir = parent.frame()) [13:14:07.915] { [13:14:07.915] if (is.function(workers)) [13:14:07.915] workers <- workers() [13:14:07.915] workers <- structure(as.integer(workers), [13:14:07.915] class = class(workers)) [13:14:07.915] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.915] workers >= 1) [13:14:07.915] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.915] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.915] } [13:14:07.915] future <- MultisessionFuture(..., workers = workers, [13:14:07.915] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.915] envir = envir) [13:14:07.915] if (!future$lazy) [13:14:07.915] future <- run(future) [13:14:07.915] invisible(future) [13:14:07.915] }), .cleanup = FALSE, .init = FALSE) [13:14:07.915] } [13:14:07.915] } [13:14:07.915] } [13:14:07.915] }) [13:14:07.915] if (TRUE) { [13:14:07.915] base::sink(type = "output", split = FALSE) [13:14:07.915] if (TRUE) { [13:14:07.915] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.915] } [13:14:07.915] else { [13:14:07.915] ...future.result["stdout"] <- base::list(NULL) [13:14:07.915] } [13:14:07.915] base::close(...future.stdout) [13:14:07.915] ...future.stdout <- NULL [13:14:07.915] } [13:14:07.915] ...future.result$conditions <- ...future.conditions [13:14:07.915] ...future.result$finished <- base::Sys.time() [13:14:07.915] ...future.result [13:14:07.915] } [13:14:07.921] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:07.921] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:07.921] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:07.922] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.922] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.922] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.923] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.923] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.923] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.923] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.924] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.924] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:07.925] MultisessionFuture started [13:14:07.925] - Launch lazy future ... done [13:14:07.925] run() for 'MultisessionFuture' ... done [13:14:07.925] Created future: [13:14:07.941] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.941] - Validating connection of MultisessionFuture [13:14:07.941] - received message: FutureResult [13:14:07.942] - Received FutureResult [13:14:07.942] - Erased future from FutureRegistry [13:14:07.942] result() for ClusterFuture ... [13:14:07.942] - result already collected: FutureResult [13:14:07.942] result() for ClusterFuture ... done [13:14:07.942] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.925] MultisessionFuture: [13:14:07.925] Label: 'future_sapply-1' [13:14:07.925] Expression: [13:14:07.925] { [13:14:07.925] do.call(function(...) { [13:14:07.925] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.925] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.925] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.925] on.exit(options(oopts), add = TRUE) [13:14:07.925] } [13:14:07.925] { [13:14:07.925] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.925] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.925] ...future.FUN(...future.X_jj, ...) [13:14:07.925] }) [13:14:07.925] } [13:14:07.925] }, args = future.call.arguments) [13:14:07.925] } [13:14:07.925] Lazy evaluation: FALSE [13:14:07.925] Asynchronous evaluation: TRUE [13:14:07.925] Local evaluation: TRUE [13:14:07.925] Environment: R_GlobalEnv [13:14:07.925] Capture standard output: TRUE [13:14:07.925] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.925] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.925] Packages: [13:14:07.925] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.925] Resolved: TRUE [13:14:07.925] Value: [13:14:07.925] Conditions captured: [13:14:07.925] Early signaling: FALSE [13:14:07.925] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.925] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.943] Chunk #1 of 2 ... DONE [13:14:07.943] Chunk #2 of 2 ... [13:14:07.943] - Finding globals in 'X' for chunk #2 ... [13:14:07.943] getGlobalsAndPackages() ... [13:14:07.944] Searching for globals... [13:14:07.944] [13:14:07.944] Searching for globals ... DONE [13:14:07.944] - globals: [0] [13:14:07.944] getGlobalsAndPackages() ... DONE [13:14:07.945] + additional globals found: [n=0] [13:14:07.945] + additional namespaces needed: [n=0] [13:14:07.945] - Finding globals in 'X' for chunk #2 ... DONE [13:14:07.945] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:07.945] - seeds: [13:14:07.945] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.945] getGlobalsAndPackages() ... [13:14:07.946] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.946] Resolving globals: FALSE [13:14:07.946] Tweak future expression to call with '...' arguments ... [13:14:07.946] { [13:14:07.946] do.call(function(...) { [13:14:07.946] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.946] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.946] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.946] on.exit(options(oopts), add = TRUE) [13:14:07.946] } [13:14:07.946] { [13:14:07.946] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.946] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.946] ...future.FUN(...future.X_jj, ...) [13:14:07.946] }) [13:14:07.946] } [13:14:07.946] }, args = future.call.arguments) [13:14:07.946] } [13:14:07.947] Tweak future expression to call with '...' arguments ... DONE [13:14:07.947] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:07.947] [13:14:07.947] getGlobalsAndPackages() ... DONE [13:14:07.948] run() for 'Future' ... [13:14:07.948] - state: 'created' [13:14:07.948] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:07.964] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.965] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:07.965] - Field: 'node' [13:14:07.965] - Field: 'label' [13:14:07.965] - Field: 'local' [13:14:07.965] - Field: 'owner' [13:14:07.966] - Field: 'envir' [13:14:07.966] - Field: 'workers' [13:14:07.966] - Field: 'packages' [13:14:07.966] - Field: 'gc' [13:14:07.966] - Field: 'conditions' [13:14:07.966] - Field: 'persistent' [13:14:07.967] - Field: 'expr' [13:14:07.967] - Field: 'uuid' [13:14:07.967] - Field: 'seed' [13:14:07.967] - Field: 'version' [13:14:07.967] - Field: 'result' [13:14:07.967] - Field: 'asynchronous' [13:14:07.968] - Field: 'calls' [13:14:07.968] - Field: 'globals' [13:14:07.968] - Field: 'stdout' [13:14:07.968] - Field: 'earlySignal' [13:14:07.968] - Field: 'lazy' [13:14:07.968] - Field: 'state' [13:14:07.969] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:07.969] - Launch lazy future ... [13:14:07.969] Packages needed by the future expression (n = 0): [13:14:07.969] Packages needed by future strategies (n = 0): [13:14:07.970] { [13:14:07.970] { [13:14:07.970] { [13:14:07.970] ...future.startTime <- base::Sys.time() [13:14:07.970] { [13:14:07.970] { [13:14:07.970] { [13:14:07.970] { [13:14:07.970] base::local({ [13:14:07.970] has_future <- base::requireNamespace("future", [13:14:07.970] quietly = TRUE) [13:14:07.970] if (has_future) { [13:14:07.970] ns <- base::getNamespace("future") [13:14:07.970] version <- ns[[".package"]][["version"]] [13:14:07.970] if (is.null(version)) [13:14:07.970] version <- utils::packageVersion("future") [13:14:07.970] } [13:14:07.970] else { [13:14:07.970] version <- NULL [13:14:07.970] } [13:14:07.970] if (!has_future || version < "1.8.0") { [13:14:07.970] info <- base::c(r_version = base::gsub("R version ", [13:14:07.970] "", base::R.version$version.string), [13:14:07.970] platform = base::sprintf("%s (%s-bit)", [13:14:07.970] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:07.970] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:07.970] "release", "version")], collapse = " "), [13:14:07.970] hostname = base::Sys.info()[["nodename"]]) [13:14:07.970] info <- base::sprintf("%s: %s", base::names(info), [13:14:07.970] info) [13:14:07.970] info <- base::paste(info, collapse = "; ") [13:14:07.970] if (!has_future) { [13:14:07.970] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:07.970] info) [13:14:07.970] } [13:14:07.970] else { [13:14:07.970] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:07.970] info, version) [13:14:07.970] } [13:14:07.970] base::stop(msg) [13:14:07.970] } [13:14:07.970] }) [13:14:07.970] } [13:14:07.970] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:07.970] base::options(mc.cores = 1L) [13:14:07.970] } [13:14:07.970] options(future.plan = NULL) [13:14:07.970] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.970] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:07.970] } [13:14:07.970] ...future.workdir <- getwd() [13:14:07.970] } [13:14:07.970] ...future.oldOptions <- base::as.list(base::.Options) [13:14:07.970] ...future.oldEnvVars <- base::Sys.getenv() [13:14:07.970] } [13:14:07.970] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:07.970] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:07.970] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:07.970] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:07.970] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:07.970] future.stdout.windows.reencode = NULL, width = 80L) [13:14:07.970] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:07.970] base::names(...future.oldOptions)) [13:14:07.970] } [13:14:07.970] if (FALSE) { [13:14:07.970] } [13:14:07.970] else { [13:14:07.970] if (TRUE) { [13:14:07.970] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:07.970] open = "w") [13:14:07.970] } [13:14:07.970] else { [13:14:07.970] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:07.970] windows = "NUL", "/dev/null"), open = "w") [13:14:07.970] } [13:14:07.970] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:07.970] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:07.970] base::sink(type = "output", split = FALSE) [13:14:07.970] base::close(...future.stdout) [13:14:07.970] }, add = TRUE) [13:14:07.970] } [13:14:07.970] ...future.frame <- base::sys.nframe() [13:14:07.970] ...future.conditions <- base::list() [13:14:07.970] ...future.rng <- base::globalenv()$.Random.seed [13:14:07.970] if (FALSE) { [13:14:07.970] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:07.970] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:07.970] } [13:14:07.970] ...future.result <- base::tryCatch({ [13:14:07.970] base::withCallingHandlers({ [13:14:07.970] ...future.value <- base::withVisible(base::local({ [13:14:07.970] ...future.makeSendCondition <- local({ [13:14:07.970] sendCondition <- NULL [13:14:07.970] function(frame = 1L) { [13:14:07.970] if (is.function(sendCondition)) [13:14:07.970] return(sendCondition) [13:14:07.970] ns <- getNamespace("parallel") [13:14:07.970] if (exists("sendData", mode = "function", [13:14:07.970] envir = ns)) { [13:14:07.970] parallel_sendData <- get("sendData", mode = "function", [13:14:07.970] envir = ns) [13:14:07.970] envir <- sys.frame(frame) [13:14:07.970] master <- NULL [13:14:07.970] while (!identical(envir, .GlobalEnv) && [13:14:07.970] !identical(envir, emptyenv())) { [13:14:07.970] if (exists("master", mode = "list", envir = envir, [13:14:07.970] inherits = FALSE)) { [13:14:07.970] master <- get("master", mode = "list", [13:14:07.970] envir = envir, inherits = FALSE) [13:14:07.970] if (inherits(master, c("SOCKnode", [13:14:07.970] "SOCK0node"))) { [13:14:07.970] sendCondition <<- function(cond) { [13:14:07.970] data <- list(type = "VALUE", value = cond, [13:14:07.970] success = TRUE) [13:14:07.970] parallel_sendData(master, data) [13:14:07.970] } [13:14:07.970] return(sendCondition) [13:14:07.970] } [13:14:07.970] } [13:14:07.970] frame <- frame + 1L [13:14:07.970] envir <- sys.frame(frame) [13:14:07.970] } [13:14:07.970] } [13:14:07.970] sendCondition <<- function(cond) NULL [13:14:07.970] } [13:14:07.970] }) [13:14:07.970] withCallingHandlers({ [13:14:07.970] { [13:14:07.970] do.call(function(...) { [13:14:07.970] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.970] if (!identical(...future.globals.maxSize.org, [13:14:07.970] ...future.globals.maxSize)) { [13:14:07.970] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.970] on.exit(options(oopts), add = TRUE) [13:14:07.970] } [13:14:07.970] { [13:14:07.970] lapply(seq_along(...future.elements_ii), [13:14:07.970] FUN = function(jj) { [13:14:07.970] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.970] ...future.FUN(...future.X_jj, ...) [13:14:07.970] }) [13:14:07.970] } [13:14:07.970] }, args = future.call.arguments) [13:14:07.970] } [13:14:07.970] }, immediateCondition = function(cond) { [13:14:07.970] sendCondition <- ...future.makeSendCondition() [13:14:07.970] sendCondition(cond) [13:14:07.970] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.970] { [13:14:07.970] inherits <- base::inherits [13:14:07.970] invokeRestart <- base::invokeRestart [13:14:07.970] is.null <- base::is.null [13:14:07.970] muffled <- FALSE [13:14:07.970] if (inherits(cond, "message")) { [13:14:07.970] muffled <- grepl(pattern, "muffleMessage") [13:14:07.970] if (muffled) [13:14:07.970] invokeRestart("muffleMessage") [13:14:07.970] } [13:14:07.970] else if (inherits(cond, "warning")) { [13:14:07.970] muffled <- grepl(pattern, "muffleWarning") [13:14:07.970] if (muffled) [13:14:07.970] invokeRestart("muffleWarning") [13:14:07.970] } [13:14:07.970] else if (inherits(cond, "condition")) { [13:14:07.970] if (!is.null(pattern)) { [13:14:07.970] computeRestarts <- base::computeRestarts [13:14:07.970] grepl <- base::grepl [13:14:07.970] restarts <- computeRestarts(cond) [13:14:07.970] for (restart in restarts) { [13:14:07.970] name <- restart$name [13:14:07.970] if (is.null(name)) [13:14:07.970] next [13:14:07.970] if (!grepl(pattern, name)) [13:14:07.970] next [13:14:07.970] invokeRestart(restart) [13:14:07.970] muffled <- TRUE [13:14:07.970] break [13:14:07.970] } [13:14:07.970] } [13:14:07.970] } [13:14:07.970] invisible(muffled) [13:14:07.970] } [13:14:07.970] muffleCondition(cond) [13:14:07.970] }) [13:14:07.970] })) [13:14:07.970] future::FutureResult(value = ...future.value$value, [13:14:07.970] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.970] ...future.rng), globalenv = if (FALSE) [13:14:07.970] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:07.970] ...future.globalenv.names)) [13:14:07.970] else NULL, started = ...future.startTime, version = "1.8") [13:14:07.970] }, condition = base::local({ [13:14:07.970] c <- base::c [13:14:07.970] inherits <- base::inherits [13:14:07.970] invokeRestart <- base::invokeRestart [13:14:07.970] length <- base::length [13:14:07.970] list <- base::list [13:14:07.970] seq.int <- base::seq.int [13:14:07.970] signalCondition <- base::signalCondition [13:14:07.970] sys.calls <- base::sys.calls [13:14:07.970] `[[` <- base::`[[` [13:14:07.970] `+` <- base::`+` [13:14:07.970] `<<-` <- base::`<<-` [13:14:07.970] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:07.970] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:07.970] 3L)] [13:14:07.970] } [13:14:07.970] function(cond) { [13:14:07.970] is_error <- inherits(cond, "error") [13:14:07.970] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:07.970] NULL) [13:14:07.970] if (is_error) { [13:14:07.970] sessionInformation <- function() { [13:14:07.970] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:07.970] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:07.970] search = base::search(), system = base::Sys.info()) [13:14:07.970] } [13:14:07.970] ...future.conditions[[length(...future.conditions) + [13:14:07.970] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:07.970] cond$call), session = sessionInformation(), [13:14:07.970] timestamp = base::Sys.time(), signaled = 0L) [13:14:07.970] signalCondition(cond) [13:14:07.970] } [13:14:07.970] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:07.970] "immediateCondition"))) { [13:14:07.970] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:07.970] ...future.conditions[[length(...future.conditions) + [13:14:07.970] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:07.970] if (TRUE && !signal) { [13:14:07.970] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.970] { [13:14:07.970] inherits <- base::inherits [13:14:07.970] invokeRestart <- base::invokeRestart [13:14:07.970] is.null <- base::is.null [13:14:07.970] muffled <- FALSE [13:14:07.970] if (inherits(cond, "message")) { [13:14:07.970] muffled <- grepl(pattern, "muffleMessage") [13:14:07.970] if (muffled) [13:14:07.970] invokeRestart("muffleMessage") [13:14:07.970] } [13:14:07.970] else if (inherits(cond, "warning")) { [13:14:07.970] muffled <- grepl(pattern, "muffleWarning") [13:14:07.970] if (muffled) [13:14:07.970] invokeRestart("muffleWarning") [13:14:07.970] } [13:14:07.970] else if (inherits(cond, "condition")) { [13:14:07.970] if (!is.null(pattern)) { [13:14:07.970] computeRestarts <- base::computeRestarts [13:14:07.970] grepl <- base::grepl [13:14:07.970] restarts <- computeRestarts(cond) [13:14:07.970] for (restart in restarts) { [13:14:07.970] name <- restart$name [13:14:07.970] if (is.null(name)) [13:14:07.970] next [13:14:07.970] if (!grepl(pattern, name)) [13:14:07.970] next [13:14:07.970] invokeRestart(restart) [13:14:07.970] muffled <- TRUE [13:14:07.970] break [13:14:07.970] } [13:14:07.970] } [13:14:07.970] } [13:14:07.970] invisible(muffled) [13:14:07.970] } [13:14:07.970] muffleCondition(cond, pattern = "^muffle") [13:14:07.970] } [13:14:07.970] } [13:14:07.970] else { [13:14:07.970] if (TRUE) { [13:14:07.970] muffleCondition <- function (cond, pattern = "^muffle") [13:14:07.970] { [13:14:07.970] inherits <- base::inherits [13:14:07.970] invokeRestart <- base::invokeRestart [13:14:07.970] is.null <- base::is.null [13:14:07.970] muffled <- FALSE [13:14:07.970] if (inherits(cond, "message")) { [13:14:07.970] muffled <- grepl(pattern, "muffleMessage") [13:14:07.970] if (muffled) [13:14:07.970] invokeRestart("muffleMessage") [13:14:07.970] } [13:14:07.970] else if (inherits(cond, "warning")) { [13:14:07.970] muffled <- grepl(pattern, "muffleWarning") [13:14:07.970] if (muffled) [13:14:07.970] invokeRestart("muffleWarning") [13:14:07.970] } [13:14:07.970] else if (inherits(cond, "condition")) { [13:14:07.970] if (!is.null(pattern)) { [13:14:07.970] computeRestarts <- base::computeRestarts [13:14:07.970] grepl <- base::grepl [13:14:07.970] restarts <- computeRestarts(cond) [13:14:07.970] for (restart in restarts) { [13:14:07.970] name <- restart$name [13:14:07.970] if (is.null(name)) [13:14:07.970] next [13:14:07.970] if (!grepl(pattern, name)) [13:14:07.970] next [13:14:07.970] invokeRestart(restart) [13:14:07.970] muffled <- TRUE [13:14:07.970] break [13:14:07.970] } [13:14:07.970] } [13:14:07.970] } [13:14:07.970] invisible(muffled) [13:14:07.970] } [13:14:07.970] muffleCondition(cond, pattern = "^muffle") [13:14:07.970] } [13:14:07.970] } [13:14:07.970] } [13:14:07.970] })) [13:14:07.970] }, error = function(ex) { [13:14:07.970] base::structure(base::list(value = NULL, visible = NULL, [13:14:07.970] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:07.970] ...future.rng), started = ...future.startTime, [13:14:07.970] finished = Sys.time(), session_uuid = NA_character_, [13:14:07.970] version = "1.8"), class = "FutureResult") [13:14:07.970] }, finally = { [13:14:07.970] if (!identical(...future.workdir, getwd())) [13:14:07.970] setwd(...future.workdir) [13:14:07.970] { [13:14:07.970] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:07.970] ...future.oldOptions$nwarnings <- NULL [13:14:07.970] } [13:14:07.970] base::options(...future.oldOptions) [13:14:07.970] if (.Platform$OS.type == "windows") { [13:14:07.970] old_names <- names(...future.oldEnvVars) [13:14:07.970] envs <- base::Sys.getenv() [13:14:07.970] names <- names(envs) [13:14:07.970] common <- intersect(names, old_names) [13:14:07.970] added <- setdiff(names, old_names) [13:14:07.970] removed <- setdiff(old_names, names) [13:14:07.970] changed <- common[...future.oldEnvVars[common] != [13:14:07.970] envs[common]] [13:14:07.970] NAMES <- toupper(changed) [13:14:07.970] args <- list() [13:14:07.970] for (kk in seq_along(NAMES)) { [13:14:07.970] name <- changed[[kk]] [13:14:07.970] NAME <- NAMES[[kk]] [13:14:07.970] if (name != NAME && is.element(NAME, old_names)) [13:14:07.970] next [13:14:07.970] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.970] } [13:14:07.970] NAMES <- toupper(added) [13:14:07.970] for (kk in seq_along(NAMES)) { [13:14:07.970] name <- added[[kk]] [13:14:07.970] NAME <- NAMES[[kk]] [13:14:07.970] if (name != NAME && is.element(NAME, old_names)) [13:14:07.970] next [13:14:07.970] args[[name]] <- "" [13:14:07.970] } [13:14:07.970] NAMES <- toupper(removed) [13:14:07.970] for (kk in seq_along(NAMES)) { [13:14:07.970] name <- removed[[kk]] [13:14:07.970] NAME <- NAMES[[kk]] [13:14:07.970] if (name != NAME && is.element(NAME, old_names)) [13:14:07.970] next [13:14:07.970] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:07.970] } [13:14:07.970] if (length(args) > 0) [13:14:07.970] base::do.call(base::Sys.setenv, args = args) [13:14:07.970] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:07.970] } [13:14:07.970] else { [13:14:07.970] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:07.970] } [13:14:07.970] { [13:14:07.970] if (base::length(...future.futureOptionsAdded) > [13:14:07.970] 0L) { [13:14:07.970] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:07.970] base::names(opts) <- ...future.futureOptionsAdded [13:14:07.970] base::options(opts) [13:14:07.970] } [13:14:07.970] { [13:14:07.970] { [13:14:07.970] base::options(mc.cores = ...future.mc.cores.old) [13:14:07.970] NULL [13:14:07.970] } [13:14:07.970] options(future.plan = NULL) [13:14:07.970] if (is.na(NA_character_)) [13:14:07.970] Sys.unsetenv("R_FUTURE_PLAN") [13:14:07.970] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:07.970] future::plan(list(function (..., workers = availableCores(), [13:14:07.970] lazy = FALSE, rscript_libs = .libPaths(), [13:14:07.970] envir = parent.frame()) [13:14:07.970] { [13:14:07.970] if (is.function(workers)) [13:14:07.970] workers <- workers() [13:14:07.970] workers <- structure(as.integer(workers), [13:14:07.970] class = class(workers)) [13:14:07.970] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:07.970] workers >= 1) [13:14:07.970] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:07.970] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:07.970] } [13:14:07.970] future <- MultisessionFuture(..., workers = workers, [13:14:07.970] lazy = lazy, rscript_libs = rscript_libs, [13:14:07.970] envir = envir) [13:14:07.970] if (!future$lazy) [13:14:07.970] future <- run(future) [13:14:07.970] invisible(future) [13:14:07.970] }), .cleanup = FALSE, .init = FALSE) [13:14:07.970] } [13:14:07.970] } [13:14:07.970] } [13:14:07.970] }) [13:14:07.970] if (TRUE) { [13:14:07.970] base::sink(type = "output", split = FALSE) [13:14:07.970] if (TRUE) { [13:14:07.970] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:07.970] } [13:14:07.970] else { [13:14:07.970] ...future.result["stdout"] <- base::list(NULL) [13:14:07.970] } [13:14:07.970] base::close(...future.stdout) [13:14:07.970] ...future.stdout <- NULL [13:14:07.970] } [13:14:07.970] ...future.result$conditions <- ...future.conditions [13:14:07.970] ...future.result$finished <- base::Sys.time() [13:14:07.970] ...future.result [13:14:07.970] } [13:14:07.975] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:07.975] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:07.976] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:07.976] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:07.977] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:07.977] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:07.977] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:07.977] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:07.978] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:07.978] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:07.978] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:07.979] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:07.979] MultisessionFuture started [13:14:07.979] - Launch lazy future ... done [13:14:07.980] run() for 'MultisessionFuture' ... done [13:14:07.980] Created future: [13:14:07.995] receiveMessageFromWorker() for ClusterFuture ... [13:14:07.996] - Validating connection of MultisessionFuture [13:14:07.996] - received message: FutureResult [13:14:07.996] - Received FutureResult [13:14:07.996] - Erased future from FutureRegistry [13:14:07.996] result() for ClusterFuture ... [13:14:07.996] - result already collected: FutureResult [13:14:07.997] result() for ClusterFuture ... done [13:14:07.997] receiveMessageFromWorker() for ClusterFuture ... done [13:14:07.980] MultisessionFuture: [13:14:07.980] Label: 'future_sapply-2' [13:14:07.980] Expression: [13:14:07.980] { [13:14:07.980] do.call(function(...) { [13:14:07.980] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:07.980] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:07.980] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:07.980] on.exit(options(oopts), add = TRUE) [13:14:07.980] } [13:14:07.980] { [13:14:07.980] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:07.980] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:07.980] ...future.FUN(...future.X_jj, ...) [13:14:07.980] }) [13:14:07.980] } [13:14:07.980] }, args = future.call.arguments) [13:14:07.980] } [13:14:07.980] Lazy evaluation: FALSE [13:14:07.980] Asynchronous evaluation: TRUE [13:14:07.980] Local evaluation: TRUE [13:14:07.980] Environment: R_GlobalEnv [13:14:07.980] Capture standard output: TRUE [13:14:07.980] Capture condition classes: 'condition' (excluding 'nothing') [13:14:07.980] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:07.980] Packages: [13:14:07.980] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:07.980] Resolved: TRUE [13:14:07.980] Value: [13:14:07.980] Conditions captured: [13:14:07.980] Early signaling: FALSE [13:14:07.980] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:07.980] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:07.997] Chunk #2 of 2 ... DONE [13:14:07.997] Launching 2 futures (chunks) ... DONE [13:14:07.998] Resolving 2 futures (chunks) ... [13:14:07.998] resolve() on list ... [13:14:07.998] recursive: 0 [13:14:07.998] length: 2 [13:14:07.998] [13:14:07.998] Future #1 [13:14:07.999] result() for ClusterFuture ... [13:14:07.999] - result already collected: FutureResult [13:14:07.999] result() for ClusterFuture ... done [13:14:07.999] result() for ClusterFuture ... [13:14:07.999] - result already collected: FutureResult [13:14:07.999] result() for ClusterFuture ... done [13:14:07.999] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:08.000] - nx: 2 [13:14:08.000] - relay: TRUE [13:14:08.000] - stdout: TRUE [13:14:08.000] - signal: TRUE [13:14:08.000] - resignal: FALSE [13:14:08.000] - force: TRUE [13:14:08.001] - relayed: [n=2] FALSE, FALSE [13:14:08.001] - queued futures: [n=2] FALSE, FALSE [13:14:08.001] - until=1 [13:14:08.001] - relaying element #1 [13:14:08.001] result() for ClusterFuture ... [13:14:08.001] - result already collected: FutureResult [13:14:08.001] result() for ClusterFuture ... done [13:14:08.002] result() for ClusterFuture ... [13:14:08.002] - result already collected: FutureResult [13:14:08.002] result() for ClusterFuture ... done [13:14:08.002] result() for ClusterFuture ... [13:14:08.002] - result already collected: FutureResult [13:14:08.003] result() for ClusterFuture ... done [13:14:08.003] result() for ClusterFuture ... [13:14:08.003] - result already collected: FutureResult [13:14:08.003] result() for ClusterFuture ... done [13:14:08.003] - relayed: [n=2] TRUE, FALSE [13:14:08.003] - queued futures: [n=2] TRUE, FALSE [13:14:08.004] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:08.004] length: 1 (resolved future 1) [13:14:08.004] Future #2 [13:14:08.004] result() for ClusterFuture ... [13:14:08.004] - result already collected: FutureResult [13:14:08.004] result() for ClusterFuture ... done [13:14:08.005] result() for ClusterFuture ... [13:14:08.005] - result already collected: FutureResult [13:14:08.005] result() for ClusterFuture ... done [13:14:08.005] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:08.005] - nx: 2 [13:14:08.005] - relay: TRUE [13:14:08.005] - stdout: TRUE [13:14:08.006] - signal: TRUE [13:14:08.006] - resignal: FALSE [13:14:08.006] - force: TRUE [13:14:08.006] - relayed: [n=2] TRUE, FALSE [13:14:08.006] - queued futures: [n=2] TRUE, FALSE [13:14:08.006] - until=2 [13:14:08.007] - relaying element #2 [13:14:08.007] result() for ClusterFuture ... [13:14:08.007] - result already collected: FutureResult [13:14:08.007] result() for ClusterFuture ... done [13:14:08.007] result() for ClusterFuture ... [13:14:08.007] - result already collected: FutureResult [13:14:08.007] result() for ClusterFuture ... done [13:14:08.008] result() for ClusterFuture ... [13:14:08.008] - result already collected: FutureResult [13:14:08.008] result() for ClusterFuture ... done [13:14:08.008] result() for ClusterFuture ... [13:14:08.008] - result already collected: FutureResult [13:14:08.008] result() for ClusterFuture ... done [13:14:08.009] - relayed: [n=2] TRUE, TRUE [13:14:08.009] - queued futures: [n=2] TRUE, TRUE [13:14:08.009] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:08.009] length: 0 (resolved future 2) [13:14:08.009] Relaying remaining futures [13:14:08.009] signalConditionsASAP(NULL, pos=0) ... [13:14:08.010] - nx: 2 [13:14:08.010] - relay: TRUE [13:14:08.010] - stdout: TRUE [13:14:08.010] - signal: TRUE [13:14:08.010] - resignal: FALSE [13:14:08.010] - force: TRUE [13:14:08.010] - relayed: [n=2] TRUE, TRUE [13:14:08.011] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:08.011] - relayed: [n=2] TRUE, TRUE [13:14:08.011] - queued futures: [n=2] TRUE, TRUE [13:14:08.011] signalConditionsASAP(NULL, pos=0) ... done [13:14:08.011] resolve() on list ... DONE [13:14:08.011] result() for ClusterFuture ... [13:14:08.012] - result already collected: FutureResult [13:14:08.012] result() for ClusterFuture ... done [13:14:08.012] result() for ClusterFuture ... [13:14:08.012] - result already collected: FutureResult [13:14:08.012] result() for ClusterFuture ... done [13:14:08.012] result() for ClusterFuture ... [13:14:08.013] - result already collected: FutureResult [13:14:08.013] result() for ClusterFuture ... done [13:14:08.013] result() for ClusterFuture ... [13:14:08.013] - result already collected: FutureResult [13:14:08.013] result() for ClusterFuture ... done [13:14:08.013] - Number of value chunks collected: 2 [13:14:08.014] Resolving 2 futures (chunks) ... DONE [13:14:08.014] Reducing values from 2 chunks ... [13:14:08.014] - Number of values collected after concatenation: 6 [13:14:08.014] - Number of values expected: 6 [13:14:08.014] Reducing values from 2 chunks ... DONE [13:14:08.014] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:08.016] future_lapply() ... [13:14:08.019] Number of chunks: 2 [13:14:08.019] getGlobalsAndPackagesXApply() ... [13:14:08.020] - future.globals: TRUE [13:14:08.020] getGlobalsAndPackages() ... [13:14:08.020] Searching for globals... [13:14:08.021] - globals found: [2] 'FUN', 'UseMethod' [13:14:08.021] Searching for globals ... DONE [13:14:08.021] Resolving globals: FALSE [13:14:08.022] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:08.022] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:08.023] - globals: [1] 'FUN' [13:14:08.023] [13:14:08.023] getGlobalsAndPackages() ... DONE [13:14:08.023] - globals found/used: [n=1] 'FUN' [13:14:08.023] - needed namespaces: [n=0] [13:14:08.023] Finding globals ... DONE [13:14:08.024] - use_args: TRUE [13:14:08.024] - Getting '...' globals ... [13:14:08.024] resolve() on list ... [13:14:08.024] recursive: 0 [13:14:08.024] length: 1 [13:14:08.025] elements: '...' [13:14:08.025] length: 0 (resolved future 1) [13:14:08.025] resolve() on list ... DONE [13:14:08.025] - '...' content: [n=0] [13:14:08.025] List of 1 [13:14:08.025] $ ...: list() [13:14:08.025] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.025] - attr(*, "where")=List of 1 [13:14:08.025] ..$ ...: [13:14:08.025] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.025] - attr(*, "resolved")= logi TRUE [13:14:08.025] - attr(*, "total_size")= num NA [13:14:08.028] - Getting '...' globals ... DONE [13:14:08.029] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:08.029] List of 2 [13:14:08.029] $ ...future.FUN:function (x, ...) [13:14:08.029] $ ... : list() [13:14:08.029] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.029] - attr(*, "where")=List of 2 [13:14:08.029] ..$ ...future.FUN: [13:14:08.029] ..$ ... : [13:14:08.029] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.029] - attr(*, "resolved")= logi FALSE [13:14:08.029] - attr(*, "total_size")= num 1248 [13:14:08.032] Packages to be attached in all futures: [n=0] [13:14:08.032] getGlobalsAndPackagesXApply() ... DONE [13:14:08.032] Number of futures (= number of chunks): 2 [13:14:08.033] Launching 2 futures (chunks) ... [13:14:08.033] Chunk #1 of 2 ... [13:14:08.033] - Finding globals in 'X' for chunk #1 ... [13:14:08.033] getGlobalsAndPackages() ... [13:14:08.033] Searching for globals... [13:14:08.034] [13:14:08.034] Searching for globals ... DONE [13:14:08.034] - globals: [0] [13:14:08.034] getGlobalsAndPackages() ... DONE [13:14:08.034] + additional globals found: [n=0] [13:14:08.034] + additional namespaces needed: [n=0] [13:14:08.035] - Finding globals in 'X' for chunk #1 ... DONE [13:14:08.035] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.035] - seeds: [13:14:08.035] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.035] getGlobalsAndPackages() ... [13:14:08.035] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.036] Resolving globals: FALSE [13:14:08.036] Tweak future expression to call with '...' arguments ... [13:14:08.036] { [13:14:08.036] do.call(function(...) { [13:14:08.036] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.036] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.036] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.036] on.exit(options(oopts), add = TRUE) [13:14:08.036] } [13:14:08.036] { [13:14:08.036] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.036] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.036] ...future.FUN(...future.X_jj, ...) [13:14:08.036] }) [13:14:08.036] } [13:14:08.036] }, args = future.call.arguments) [13:14:08.036] } [13:14:08.036] Tweak future expression to call with '...' arguments ... DONE [13:14:08.037] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.037] [13:14:08.037] getGlobalsAndPackages() ... DONE [13:14:08.038] run() for 'Future' ... [13:14:08.038] - state: 'created' [13:14:08.038] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.052] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.053] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.053] - Field: 'node' [13:14:08.053] - Field: 'label' [13:14:08.053] - Field: 'local' [13:14:08.053] - Field: 'owner' [13:14:08.054] - Field: 'envir' [13:14:08.054] - Field: 'workers' [13:14:08.054] - Field: 'packages' [13:14:08.054] - Field: 'gc' [13:14:08.054] - Field: 'conditions' [13:14:08.054] - Field: 'persistent' [13:14:08.055] - Field: 'expr' [13:14:08.055] - Field: 'uuid' [13:14:08.055] - Field: 'seed' [13:14:08.055] - Field: 'version' [13:14:08.055] - Field: 'result' [13:14:08.058] - Field: 'asynchronous' [13:14:08.058] - Field: 'calls' [13:14:08.058] - Field: 'globals' [13:14:08.058] - Field: 'stdout' [13:14:08.059] - Field: 'earlySignal' [13:14:08.059] - Field: 'lazy' [13:14:08.059] - Field: 'state' [13:14:08.059] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.059] - Launch lazy future ... [13:14:08.060] Packages needed by the future expression (n = 0): [13:14:08.060] Packages needed by future strategies (n = 0): [13:14:08.061] { [13:14:08.061] { [13:14:08.061] { [13:14:08.061] ...future.startTime <- base::Sys.time() [13:14:08.061] { [13:14:08.061] { [13:14:08.061] { [13:14:08.061] { [13:14:08.061] base::local({ [13:14:08.061] has_future <- base::requireNamespace("future", [13:14:08.061] quietly = TRUE) [13:14:08.061] if (has_future) { [13:14:08.061] ns <- base::getNamespace("future") [13:14:08.061] version <- ns[[".package"]][["version"]] [13:14:08.061] if (is.null(version)) [13:14:08.061] version <- utils::packageVersion("future") [13:14:08.061] } [13:14:08.061] else { [13:14:08.061] version <- NULL [13:14:08.061] } [13:14:08.061] if (!has_future || version < "1.8.0") { [13:14:08.061] info <- base::c(r_version = base::gsub("R version ", [13:14:08.061] "", base::R.version$version.string), [13:14:08.061] platform = base::sprintf("%s (%s-bit)", [13:14:08.061] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.061] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.061] "release", "version")], collapse = " "), [13:14:08.061] hostname = base::Sys.info()[["nodename"]]) [13:14:08.061] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.061] info) [13:14:08.061] info <- base::paste(info, collapse = "; ") [13:14:08.061] if (!has_future) { [13:14:08.061] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.061] info) [13:14:08.061] } [13:14:08.061] else { [13:14:08.061] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.061] info, version) [13:14:08.061] } [13:14:08.061] base::stop(msg) [13:14:08.061] } [13:14:08.061] }) [13:14:08.061] } [13:14:08.061] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.061] base::options(mc.cores = 1L) [13:14:08.061] } [13:14:08.061] options(future.plan = NULL) [13:14:08.061] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.061] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.061] } [13:14:08.061] ...future.workdir <- getwd() [13:14:08.061] } [13:14:08.061] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.061] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.061] } [13:14:08.061] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.061] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.061] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.061] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.061] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.061] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.061] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.061] base::names(...future.oldOptions)) [13:14:08.061] } [13:14:08.061] if (FALSE) { [13:14:08.061] } [13:14:08.061] else { [13:14:08.061] if (TRUE) { [13:14:08.061] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.061] open = "w") [13:14:08.061] } [13:14:08.061] else { [13:14:08.061] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.061] windows = "NUL", "/dev/null"), open = "w") [13:14:08.061] } [13:14:08.061] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.061] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.061] base::sink(type = "output", split = FALSE) [13:14:08.061] base::close(...future.stdout) [13:14:08.061] }, add = TRUE) [13:14:08.061] } [13:14:08.061] ...future.frame <- base::sys.nframe() [13:14:08.061] ...future.conditions <- base::list() [13:14:08.061] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.061] if (FALSE) { [13:14:08.061] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.061] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.061] } [13:14:08.061] ...future.result <- base::tryCatch({ [13:14:08.061] base::withCallingHandlers({ [13:14:08.061] ...future.value <- base::withVisible(base::local({ [13:14:08.061] ...future.makeSendCondition <- local({ [13:14:08.061] sendCondition <- NULL [13:14:08.061] function(frame = 1L) { [13:14:08.061] if (is.function(sendCondition)) [13:14:08.061] return(sendCondition) [13:14:08.061] ns <- getNamespace("parallel") [13:14:08.061] if (exists("sendData", mode = "function", [13:14:08.061] envir = ns)) { [13:14:08.061] parallel_sendData <- get("sendData", mode = "function", [13:14:08.061] envir = ns) [13:14:08.061] envir <- sys.frame(frame) [13:14:08.061] master <- NULL [13:14:08.061] while (!identical(envir, .GlobalEnv) && [13:14:08.061] !identical(envir, emptyenv())) { [13:14:08.061] if (exists("master", mode = "list", envir = envir, [13:14:08.061] inherits = FALSE)) { [13:14:08.061] master <- get("master", mode = "list", [13:14:08.061] envir = envir, inherits = FALSE) [13:14:08.061] if (inherits(master, c("SOCKnode", [13:14:08.061] "SOCK0node"))) { [13:14:08.061] sendCondition <<- function(cond) { [13:14:08.061] data <- list(type = "VALUE", value = cond, [13:14:08.061] success = TRUE) [13:14:08.061] parallel_sendData(master, data) [13:14:08.061] } [13:14:08.061] return(sendCondition) [13:14:08.061] } [13:14:08.061] } [13:14:08.061] frame <- frame + 1L [13:14:08.061] envir <- sys.frame(frame) [13:14:08.061] } [13:14:08.061] } [13:14:08.061] sendCondition <<- function(cond) NULL [13:14:08.061] } [13:14:08.061] }) [13:14:08.061] withCallingHandlers({ [13:14:08.061] { [13:14:08.061] do.call(function(...) { [13:14:08.061] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.061] if (!identical(...future.globals.maxSize.org, [13:14:08.061] ...future.globals.maxSize)) { [13:14:08.061] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.061] on.exit(options(oopts), add = TRUE) [13:14:08.061] } [13:14:08.061] { [13:14:08.061] lapply(seq_along(...future.elements_ii), [13:14:08.061] FUN = function(jj) { [13:14:08.061] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.061] ...future.FUN(...future.X_jj, ...) [13:14:08.061] }) [13:14:08.061] } [13:14:08.061] }, args = future.call.arguments) [13:14:08.061] } [13:14:08.061] }, immediateCondition = function(cond) { [13:14:08.061] sendCondition <- ...future.makeSendCondition() [13:14:08.061] sendCondition(cond) [13:14:08.061] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.061] { [13:14:08.061] inherits <- base::inherits [13:14:08.061] invokeRestart <- base::invokeRestart [13:14:08.061] is.null <- base::is.null [13:14:08.061] muffled <- FALSE [13:14:08.061] if (inherits(cond, "message")) { [13:14:08.061] muffled <- grepl(pattern, "muffleMessage") [13:14:08.061] if (muffled) [13:14:08.061] invokeRestart("muffleMessage") [13:14:08.061] } [13:14:08.061] else if (inherits(cond, "warning")) { [13:14:08.061] muffled <- grepl(pattern, "muffleWarning") [13:14:08.061] if (muffled) [13:14:08.061] invokeRestart("muffleWarning") [13:14:08.061] } [13:14:08.061] else if (inherits(cond, "condition")) { [13:14:08.061] if (!is.null(pattern)) { [13:14:08.061] computeRestarts <- base::computeRestarts [13:14:08.061] grepl <- base::grepl [13:14:08.061] restarts <- computeRestarts(cond) [13:14:08.061] for (restart in restarts) { [13:14:08.061] name <- restart$name [13:14:08.061] if (is.null(name)) [13:14:08.061] next [13:14:08.061] if (!grepl(pattern, name)) [13:14:08.061] next [13:14:08.061] invokeRestart(restart) [13:14:08.061] muffled <- TRUE [13:14:08.061] break [13:14:08.061] } [13:14:08.061] } [13:14:08.061] } [13:14:08.061] invisible(muffled) [13:14:08.061] } [13:14:08.061] muffleCondition(cond) [13:14:08.061] }) [13:14:08.061] })) [13:14:08.061] future::FutureResult(value = ...future.value$value, [13:14:08.061] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.061] ...future.rng), globalenv = if (FALSE) [13:14:08.061] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.061] ...future.globalenv.names)) [13:14:08.061] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.061] }, condition = base::local({ [13:14:08.061] c <- base::c [13:14:08.061] inherits <- base::inherits [13:14:08.061] invokeRestart <- base::invokeRestart [13:14:08.061] length <- base::length [13:14:08.061] list <- base::list [13:14:08.061] seq.int <- base::seq.int [13:14:08.061] signalCondition <- base::signalCondition [13:14:08.061] sys.calls <- base::sys.calls [13:14:08.061] `[[` <- base::`[[` [13:14:08.061] `+` <- base::`+` [13:14:08.061] `<<-` <- base::`<<-` [13:14:08.061] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.061] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.061] 3L)] [13:14:08.061] } [13:14:08.061] function(cond) { [13:14:08.061] is_error <- inherits(cond, "error") [13:14:08.061] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.061] NULL) [13:14:08.061] if (is_error) { [13:14:08.061] sessionInformation <- function() { [13:14:08.061] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.061] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.061] search = base::search(), system = base::Sys.info()) [13:14:08.061] } [13:14:08.061] ...future.conditions[[length(...future.conditions) + [13:14:08.061] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.061] cond$call), session = sessionInformation(), [13:14:08.061] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.061] signalCondition(cond) [13:14:08.061] } [13:14:08.061] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.061] "immediateCondition"))) { [13:14:08.061] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.061] ...future.conditions[[length(...future.conditions) + [13:14:08.061] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.061] if (TRUE && !signal) { [13:14:08.061] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.061] { [13:14:08.061] inherits <- base::inherits [13:14:08.061] invokeRestart <- base::invokeRestart [13:14:08.061] is.null <- base::is.null [13:14:08.061] muffled <- FALSE [13:14:08.061] if (inherits(cond, "message")) { [13:14:08.061] muffled <- grepl(pattern, "muffleMessage") [13:14:08.061] if (muffled) [13:14:08.061] invokeRestart("muffleMessage") [13:14:08.061] } [13:14:08.061] else if (inherits(cond, "warning")) { [13:14:08.061] muffled <- grepl(pattern, "muffleWarning") [13:14:08.061] if (muffled) [13:14:08.061] invokeRestart("muffleWarning") [13:14:08.061] } [13:14:08.061] else if (inherits(cond, "condition")) { [13:14:08.061] if (!is.null(pattern)) { [13:14:08.061] computeRestarts <- base::computeRestarts [13:14:08.061] grepl <- base::grepl [13:14:08.061] restarts <- computeRestarts(cond) [13:14:08.061] for (restart in restarts) { [13:14:08.061] name <- restart$name [13:14:08.061] if (is.null(name)) [13:14:08.061] next [13:14:08.061] if (!grepl(pattern, name)) [13:14:08.061] next [13:14:08.061] invokeRestart(restart) [13:14:08.061] muffled <- TRUE [13:14:08.061] break [13:14:08.061] } [13:14:08.061] } [13:14:08.061] } [13:14:08.061] invisible(muffled) [13:14:08.061] } [13:14:08.061] muffleCondition(cond, pattern = "^muffle") [13:14:08.061] } [13:14:08.061] } [13:14:08.061] else { [13:14:08.061] if (TRUE) { [13:14:08.061] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.061] { [13:14:08.061] inherits <- base::inherits [13:14:08.061] invokeRestart <- base::invokeRestart [13:14:08.061] is.null <- base::is.null [13:14:08.061] muffled <- FALSE [13:14:08.061] if (inherits(cond, "message")) { [13:14:08.061] muffled <- grepl(pattern, "muffleMessage") [13:14:08.061] if (muffled) [13:14:08.061] invokeRestart("muffleMessage") [13:14:08.061] } [13:14:08.061] else if (inherits(cond, "warning")) { [13:14:08.061] muffled <- grepl(pattern, "muffleWarning") [13:14:08.061] if (muffled) [13:14:08.061] invokeRestart("muffleWarning") [13:14:08.061] } [13:14:08.061] else if (inherits(cond, "condition")) { [13:14:08.061] if (!is.null(pattern)) { [13:14:08.061] computeRestarts <- base::computeRestarts [13:14:08.061] grepl <- base::grepl [13:14:08.061] restarts <- computeRestarts(cond) [13:14:08.061] for (restart in restarts) { [13:14:08.061] name <- restart$name [13:14:08.061] if (is.null(name)) [13:14:08.061] next [13:14:08.061] if (!grepl(pattern, name)) [13:14:08.061] next [13:14:08.061] invokeRestart(restart) [13:14:08.061] muffled <- TRUE [13:14:08.061] break [13:14:08.061] } [13:14:08.061] } [13:14:08.061] } [13:14:08.061] invisible(muffled) [13:14:08.061] } [13:14:08.061] muffleCondition(cond, pattern = "^muffle") [13:14:08.061] } [13:14:08.061] } [13:14:08.061] } [13:14:08.061] })) [13:14:08.061] }, error = function(ex) { [13:14:08.061] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.061] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.061] ...future.rng), started = ...future.startTime, [13:14:08.061] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.061] version = "1.8"), class = "FutureResult") [13:14:08.061] }, finally = { [13:14:08.061] if (!identical(...future.workdir, getwd())) [13:14:08.061] setwd(...future.workdir) [13:14:08.061] { [13:14:08.061] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.061] ...future.oldOptions$nwarnings <- NULL [13:14:08.061] } [13:14:08.061] base::options(...future.oldOptions) [13:14:08.061] if (.Platform$OS.type == "windows") { [13:14:08.061] old_names <- names(...future.oldEnvVars) [13:14:08.061] envs <- base::Sys.getenv() [13:14:08.061] names <- names(envs) [13:14:08.061] common <- intersect(names, old_names) [13:14:08.061] added <- setdiff(names, old_names) [13:14:08.061] removed <- setdiff(old_names, names) [13:14:08.061] changed <- common[...future.oldEnvVars[common] != [13:14:08.061] envs[common]] [13:14:08.061] NAMES <- toupper(changed) [13:14:08.061] args <- list() [13:14:08.061] for (kk in seq_along(NAMES)) { [13:14:08.061] name <- changed[[kk]] [13:14:08.061] NAME <- NAMES[[kk]] [13:14:08.061] if (name != NAME && is.element(NAME, old_names)) [13:14:08.061] next [13:14:08.061] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.061] } [13:14:08.061] NAMES <- toupper(added) [13:14:08.061] for (kk in seq_along(NAMES)) { [13:14:08.061] name <- added[[kk]] [13:14:08.061] NAME <- NAMES[[kk]] [13:14:08.061] if (name != NAME && is.element(NAME, old_names)) [13:14:08.061] next [13:14:08.061] args[[name]] <- "" [13:14:08.061] } [13:14:08.061] NAMES <- toupper(removed) [13:14:08.061] for (kk in seq_along(NAMES)) { [13:14:08.061] name <- removed[[kk]] [13:14:08.061] NAME <- NAMES[[kk]] [13:14:08.061] if (name != NAME && is.element(NAME, old_names)) [13:14:08.061] next [13:14:08.061] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.061] } [13:14:08.061] if (length(args) > 0) [13:14:08.061] base::do.call(base::Sys.setenv, args = args) [13:14:08.061] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.061] } [13:14:08.061] else { [13:14:08.061] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.061] } [13:14:08.061] { [13:14:08.061] if (base::length(...future.futureOptionsAdded) > [13:14:08.061] 0L) { [13:14:08.061] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.061] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.061] base::options(opts) [13:14:08.061] } [13:14:08.061] { [13:14:08.061] { [13:14:08.061] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.061] NULL [13:14:08.061] } [13:14:08.061] options(future.plan = NULL) [13:14:08.061] if (is.na(NA_character_)) [13:14:08.061] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.061] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.061] future::plan(list(function (..., workers = availableCores(), [13:14:08.061] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.061] envir = parent.frame()) [13:14:08.061] { [13:14:08.061] if (is.function(workers)) [13:14:08.061] workers <- workers() [13:14:08.061] workers <- structure(as.integer(workers), [13:14:08.061] class = class(workers)) [13:14:08.061] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.061] workers >= 1) [13:14:08.061] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.061] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.061] } [13:14:08.061] future <- MultisessionFuture(..., workers = workers, [13:14:08.061] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.061] envir = envir) [13:14:08.061] if (!future$lazy) [13:14:08.061] future <- run(future) [13:14:08.061] invisible(future) [13:14:08.061] }), .cleanup = FALSE, .init = FALSE) [13:14:08.061] } [13:14:08.061] } [13:14:08.061] } [13:14:08.061] }) [13:14:08.061] if (TRUE) { [13:14:08.061] base::sink(type = "output", split = FALSE) [13:14:08.061] if (TRUE) { [13:14:08.061] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.061] } [13:14:08.061] else { [13:14:08.061] ...future.result["stdout"] <- base::list(NULL) [13:14:08.061] } [13:14:08.061] base::close(...future.stdout) [13:14:08.061] ...future.stdout <- NULL [13:14:08.061] } [13:14:08.061] ...future.result$conditions <- ...future.conditions [13:14:08.061] ...future.result$finished <- base::Sys.time() [13:14:08.061] ...future.result [13:14:08.061] } [13:14:08.066] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:08.066] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:08.067] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:08.067] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.068] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.068] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.068] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.068] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.069] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.069] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.069] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.070] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:08.070] MultisessionFuture started [13:14:08.070] - Launch lazy future ... done [13:14:08.071] run() for 'MultisessionFuture' ... done [13:14:08.071] Created future: [13:14:08.086] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.087] - Validating connection of MultisessionFuture [13:14:08.087] - received message: FutureResult [13:14:08.087] - Received FutureResult [13:14:08.087] - Erased future from FutureRegistry [13:14:08.087] result() for ClusterFuture ... [13:14:08.088] - result already collected: FutureResult [13:14:08.088] result() for ClusterFuture ... done [13:14:08.088] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.071] MultisessionFuture: [13:14:08.071] Label: 'future_sapply-1' [13:14:08.071] Expression: [13:14:08.071] { [13:14:08.071] do.call(function(...) { [13:14:08.071] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.071] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.071] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.071] on.exit(options(oopts), add = TRUE) [13:14:08.071] } [13:14:08.071] { [13:14:08.071] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.071] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.071] ...future.FUN(...future.X_jj, ...) [13:14:08.071] }) [13:14:08.071] } [13:14:08.071] }, args = future.call.arguments) [13:14:08.071] } [13:14:08.071] Lazy evaluation: FALSE [13:14:08.071] Asynchronous evaluation: TRUE [13:14:08.071] Local evaluation: TRUE [13:14:08.071] Environment: R_GlobalEnv [13:14:08.071] Capture standard output: TRUE [13:14:08.071] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.071] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.071] Packages: [13:14:08.071] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.071] Resolved: TRUE [13:14:08.071] Value: [13:14:08.071] Conditions captured: [13:14:08.071] Early signaling: FALSE [13:14:08.071] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.071] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.088] Chunk #1 of 2 ... DONE [13:14:08.088] Chunk #2 of 2 ... [13:14:08.089] - Finding globals in 'X' for chunk #2 ... [13:14:08.089] getGlobalsAndPackages() ... [13:14:08.089] Searching for globals... [13:14:08.089] [13:14:08.089] Searching for globals ... DONE [13:14:08.090] - globals: [0] [13:14:08.090] getGlobalsAndPackages() ... DONE [13:14:08.090] + additional globals found: [n=0] [13:14:08.090] + additional namespaces needed: [n=0] [13:14:08.090] - Finding globals in 'X' for chunk #2 ... DONE [13:14:08.090] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.091] - seeds: [13:14:08.091] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.091] getGlobalsAndPackages() ... [13:14:08.091] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.091] Resolving globals: FALSE [13:14:08.091] Tweak future expression to call with '...' arguments ... [13:14:08.092] { [13:14:08.092] do.call(function(...) { [13:14:08.092] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.092] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.092] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.092] on.exit(options(oopts), add = TRUE) [13:14:08.092] } [13:14:08.092] { [13:14:08.092] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.092] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.092] ...future.FUN(...future.X_jj, ...) [13:14:08.092] }) [13:14:08.092] } [13:14:08.092] }, args = future.call.arguments) [13:14:08.092] } [13:14:08.092] Tweak future expression to call with '...' arguments ... DONE [13:14:08.092] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.093] [13:14:08.093] getGlobalsAndPackages() ... DONE [13:14:08.093] run() for 'Future' ... [13:14:08.093] - state: 'created' [13:14:08.094] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.107] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.108] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.108] - Field: 'node' [13:14:08.108] - Field: 'label' [13:14:08.108] - Field: 'local' [13:14:08.108] - Field: 'owner' [13:14:08.108] - Field: 'envir' [13:14:08.109] - Field: 'workers' [13:14:08.109] - Field: 'packages' [13:14:08.109] - Field: 'gc' [13:14:08.109] - Field: 'conditions' [13:14:08.109] - Field: 'persistent' [13:14:08.109] - Field: 'expr' [13:14:08.110] - Field: 'uuid' [13:14:08.110] - Field: 'seed' [13:14:08.110] - Field: 'version' [13:14:08.110] - Field: 'result' [13:14:08.110] - Field: 'asynchronous' [13:14:08.111] - Field: 'calls' [13:14:08.111] - Field: 'globals' [13:14:08.111] - Field: 'stdout' [13:14:08.111] - Field: 'earlySignal' [13:14:08.111] - Field: 'lazy' [13:14:08.111] - Field: 'state' [13:14:08.112] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.112] - Launch lazy future ... [13:14:08.112] Packages needed by the future expression (n = 0): [13:14:08.112] Packages needed by future strategies (n = 0): [13:14:08.113] { [13:14:08.113] { [13:14:08.113] { [13:14:08.113] ...future.startTime <- base::Sys.time() [13:14:08.113] { [13:14:08.113] { [13:14:08.113] { [13:14:08.113] { [13:14:08.113] base::local({ [13:14:08.113] has_future <- base::requireNamespace("future", [13:14:08.113] quietly = TRUE) [13:14:08.113] if (has_future) { [13:14:08.113] ns <- base::getNamespace("future") [13:14:08.113] version <- ns[[".package"]][["version"]] [13:14:08.113] if (is.null(version)) [13:14:08.113] version <- utils::packageVersion("future") [13:14:08.113] } [13:14:08.113] else { [13:14:08.113] version <- NULL [13:14:08.113] } [13:14:08.113] if (!has_future || version < "1.8.0") { [13:14:08.113] info <- base::c(r_version = base::gsub("R version ", [13:14:08.113] "", base::R.version$version.string), [13:14:08.113] platform = base::sprintf("%s (%s-bit)", [13:14:08.113] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.113] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.113] "release", "version")], collapse = " "), [13:14:08.113] hostname = base::Sys.info()[["nodename"]]) [13:14:08.113] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.113] info) [13:14:08.113] info <- base::paste(info, collapse = "; ") [13:14:08.113] if (!has_future) { [13:14:08.113] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.113] info) [13:14:08.113] } [13:14:08.113] else { [13:14:08.113] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.113] info, version) [13:14:08.113] } [13:14:08.113] base::stop(msg) [13:14:08.113] } [13:14:08.113] }) [13:14:08.113] } [13:14:08.113] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.113] base::options(mc.cores = 1L) [13:14:08.113] } [13:14:08.113] options(future.plan = NULL) [13:14:08.113] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.113] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.113] } [13:14:08.113] ...future.workdir <- getwd() [13:14:08.113] } [13:14:08.113] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.113] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.113] } [13:14:08.113] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.113] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.113] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.113] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.113] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.113] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.113] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.113] base::names(...future.oldOptions)) [13:14:08.113] } [13:14:08.113] if (FALSE) { [13:14:08.113] } [13:14:08.113] else { [13:14:08.113] if (TRUE) { [13:14:08.113] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.113] open = "w") [13:14:08.113] } [13:14:08.113] else { [13:14:08.113] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.113] windows = "NUL", "/dev/null"), open = "w") [13:14:08.113] } [13:14:08.113] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.113] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.113] base::sink(type = "output", split = FALSE) [13:14:08.113] base::close(...future.stdout) [13:14:08.113] }, add = TRUE) [13:14:08.113] } [13:14:08.113] ...future.frame <- base::sys.nframe() [13:14:08.113] ...future.conditions <- base::list() [13:14:08.113] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.113] if (FALSE) { [13:14:08.113] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.113] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.113] } [13:14:08.113] ...future.result <- base::tryCatch({ [13:14:08.113] base::withCallingHandlers({ [13:14:08.113] ...future.value <- base::withVisible(base::local({ [13:14:08.113] ...future.makeSendCondition <- local({ [13:14:08.113] sendCondition <- NULL [13:14:08.113] function(frame = 1L) { [13:14:08.113] if (is.function(sendCondition)) [13:14:08.113] return(sendCondition) [13:14:08.113] ns <- getNamespace("parallel") [13:14:08.113] if (exists("sendData", mode = "function", [13:14:08.113] envir = ns)) { [13:14:08.113] parallel_sendData <- get("sendData", mode = "function", [13:14:08.113] envir = ns) [13:14:08.113] envir <- sys.frame(frame) [13:14:08.113] master <- NULL [13:14:08.113] while (!identical(envir, .GlobalEnv) && [13:14:08.113] !identical(envir, emptyenv())) { [13:14:08.113] if (exists("master", mode = "list", envir = envir, [13:14:08.113] inherits = FALSE)) { [13:14:08.113] master <- get("master", mode = "list", [13:14:08.113] envir = envir, inherits = FALSE) [13:14:08.113] if (inherits(master, c("SOCKnode", [13:14:08.113] "SOCK0node"))) { [13:14:08.113] sendCondition <<- function(cond) { [13:14:08.113] data <- list(type = "VALUE", value = cond, [13:14:08.113] success = TRUE) [13:14:08.113] parallel_sendData(master, data) [13:14:08.113] } [13:14:08.113] return(sendCondition) [13:14:08.113] } [13:14:08.113] } [13:14:08.113] frame <- frame + 1L [13:14:08.113] envir <- sys.frame(frame) [13:14:08.113] } [13:14:08.113] } [13:14:08.113] sendCondition <<- function(cond) NULL [13:14:08.113] } [13:14:08.113] }) [13:14:08.113] withCallingHandlers({ [13:14:08.113] { [13:14:08.113] do.call(function(...) { [13:14:08.113] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.113] if (!identical(...future.globals.maxSize.org, [13:14:08.113] ...future.globals.maxSize)) { [13:14:08.113] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.113] on.exit(options(oopts), add = TRUE) [13:14:08.113] } [13:14:08.113] { [13:14:08.113] lapply(seq_along(...future.elements_ii), [13:14:08.113] FUN = function(jj) { [13:14:08.113] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.113] ...future.FUN(...future.X_jj, ...) [13:14:08.113] }) [13:14:08.113] } [13:14:08.113] }, args = future.call.arguments) [13:14:08.113] } [13:14:08.113] }, immediateCondition = function(cond) { [13:14:08.113] sendCondition <- ...future.makeSendCondition() [13:14:08.113] sendCondition(cond) [13:14:08.113] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.113] { [13:14:08.113] inherits <- base::inherits [13:14:08.113] invokeRestart <- base::invokeRestart [13:14:08.113] is.null <- base::is.null [13:14:08.113] muffled <- FALSE [13:14:08.113] if (inherits(cond, "message")) { [13:14:08.113] muffled <- grepl(pattern, "muffleMessage") [13:14:08.113] if (muffled) [13:14:08.113] invokeRestart("muffleMessage") [13:14:08.113] } [13:14:08.113] else if (inherits(cond, "warning")) { [13:14:08.113] muffled <- grepl(pattern, "muffleWarning") [13:14:08.113] if (muffled) [13:14:08.113] invokeRestart("muffleWarning") [13:14:08.113] } [13:14:08.113] else if (inherits(cond, "condition")) { [13:14:08.113] if (!is.null(pattern)) { [13:14:08.113] computeRestarts <- base::computeRestarts [13:14:08.113] grepl <- base::grepl [13:14:08.113] restarts <- computeRestarts(cond) [13:14:08.113] for (restart in restarts) { [13:14:08.113] name <- restart$name [13:14:08.113] if (is.null(name)) [13:14:08.113] next [13:14:08.113] if (!grepl(pattern, name)) [13:14:08.113] next [13:14:08.113] invokeRestart(restart) [13:14:08.113] muffled <- TRUE [13:14:08.113] break [13:14:08.113] } [13:14:08.113] } [13:14:08.113] } [13:14:08.113] invisible(muffled) [13:14:08.113] } [13:14:08.113] muffleCondition(cond) [13:14:08.113] }) [13:14:08.113] })) [13:14:08.113] future::FutureResult(value = ...future.value$value, [13:14:08.113] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.113] ...future.rng), globalenv = if (FALSE) [13:14:08.113] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.113] ...future.globalenv.names)) [13:14:08.113] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.113] }, condition = base::local({ [13:14:08.113] c <- base::c [13:14:08.113] inherits <- base::inherits [13:14:08.113] invokeRestart <- base::invokeRestart [13:14:08.113] length <- base::length [13:14:08.113] list <- base::list [13:14:08.113] seq.int <- base::seq.int [13:14:08.113] signalCondition <- base::signalCondition [13:14:08.113] sys.calls <- base::sys.calls [13:14:08.113] `[[` <- base::`[[` [13:14:08.113] `+` <- base::`+` [13:14:08.113] `<<-` <- base::`<<-` [13:14:08.113] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.113] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.113] 3L)] [13:14:08.113] } [13:14:08.113] function(cond) { [13:14:08.113] is_error <- inherits(cond, "error") [13:14:08.113] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.113] NULL) [13:14:08.113] if (is_error) { [13:14:08.113] sessionInformation <- function() { [13:14:08.113] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.113] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.113] search = base::search(), system = base::Sys.info()) [13:14:08.113] } [13:14:08.113] ...future.conditions[[length(...future.conditions) + [13:14:08.113] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.113] cond$call), session = sessionInformation(), [13:14:08.113] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.113] signalCondition(cond) [13:14:08.113] } [13:14:08.113] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.113] "immediateCondition"))) { [13:14:08.113] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.113] ...future.conditions[[length(...future.conditions) + [13:14:08.113] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.113] if (TRUE && !signal) { [13:14:08.113] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.113] { [13:14:08.113] inherits <- base::inherits [13:14:08.113] invokeRestart <- base::invokeRestart [13:14:08.113] is.null <- base::is.null [13:14:08.113] muffled <- FALSE [13:14:08.113] if (inherits(cond, "message")) { [13:14:08.113] muffled <- grepl(pattern, "muffleMessage") [13:14:08.113] if (muffled) [13:14:08.113] invokeRestart("muffleMessage") [13:14:08.113] } [13:14:08.113] else if (inherits(cond, "warning")) { [13:14:08.113] muffled <- grepl(pattern, "muffleWarning") [13:14:08.113] if (muffled) [13:14:08.113] invokeRestart("muffleWarning") [13:14:08.113] } [13:14:08.113] else if (inherits(cond, "condition")) { [13:14:08.113] if (!is.null(pattern)) { [13:14:08.113] computeRestarts <- base::computeRestarts [13:14:08.113] grepl <- base::grepl [13:14:08.113] restarts <- computeRestarts(cond) [13:14:08.113] for (restart in restarts) { [13:14:08.113] name <- restart$name [13:14:08.113] if (is.null(name)) [13:14:08.113] next [13:14:08.113] if (!grepl(pattern, name)) [13:14:08.113] next [13:14:08.113] invokeRestart(restart) [13:14:08.113] muffled <- TRUE [13:14:08.113] break [13:14:08.113] } [13:14:08.113] } [13:14:08.113] } [13:14:08.113] invisible(muffled) [13:14:08.113] } [13:14:08.113] muffleCondition(cond, pattern = "^muffle") [13:14:08.113] } [13:14:08.113] } [13:14:08.113] else { [13:14:08.113] if (TRUE) { [13:14:08.113] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.113] { [13:14:08.113] inherits <- base::inherits [13:14:08.113] invokeRestart <- base::invokeRestart [13:14:08.113] is.null <- base::is.null [13:14:08.113] muffled <- FALSE [13:14:08.113] if (inherits(cond, "message")) { [13:14:08.113] muffled <- grepl(pattern, "muffleMessage") [13:14:08.113] if (muffled) [13:14:08.113] invokeRestart("muffleMessage") [13:14:08.113] } [13:14:08.113] else if (inherits(cond, "warning")) { [13:14:08.113] muffled <- grepl(pattern, "muffleWarning") [13:14:08.113] if (muffled) [13:14:08.113] invokeRestart("muffleWarning") [13:14:08.113] } [13:14:08.113] else if (inherits(cond, "condition")) { [13:14:08.113] if (!is.null(pattern)) { [13:14:08.113] computeRestarts <- base::computeRestarts [13:14:08.113] grepl <- base::grepl [13:14:08.113] restarts <- computeRestarts(cond) [13:14:08.113] for (restart in restarts) { [13:14:08.113] name <- restart$name [13:14:08.113] if (is.null(name)) [13:14:08.113] next [13:14:08.113] if (!grepl(pattern, name)) [13:14:08.113] next [13:14:08.113] invokeRestart(restart) [13:14:08.113] muffled <- TRUE [13:14:08.113] break [13:14:08.113] } [13:14:08.113] } [13:14:08.113] } [13:14:08.113] invisible(muffled) [13:14:08.113] } [13:14:08.113] muffleCondition(cond, pattern = "^muffle") [13:14:08.113] } [13:14:08.113] } [13:14:08.113] } [13:14:08.113] })) [13:14:08.113] }, error = function(ex) { [13:14:08.113] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.113] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.113] ...future.rng), started = ...future.startTime, [13:14:08.113] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.113] version = "1.8"), class = "FutureResult") [13:14:08.113] }, finally = { [13:14:08.113] if (!identical(...future.workdir, getwd())) [13:14:08.113] setwd(...future.workdir) [13:14:08.113] { [13:14:08.113] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.113] ...future.oldOptions$nwarnings <- NULL [13:14:08.113] } [13:14:08.113] base::options(...future.oldOptions) [13:14:08.113] if (.Platform$OS.type == "windows") { [13:14:08.113] old_names <- names(...future.oldEnvVars) [13:14:08.113] envs <- base::Sys.getenv() [13:14:08.113] names <- names(envs) [13:14:08.113] common <- intersect(names, old_names) [13:14:08.113] added <- setdiff(names, old_names) [13:14:08.113] removed <- setdiff(old_names, names) [13:14:08.113] changed <- common[...future.oldEnvVars[common] != [13:14:08.113] envs[common]] [13:14:08.113] NAMES <- toupper(changed) [13:14:08.113] args <- list() [13:14:08.113] for (kk in seq_along(NAMES)) { [13:14:08.113] name <- changed[[kk]] [13:14:08.113] NAME <- NAMES[[kk]] [13:14:08.113] if (name != NAME && is.element(NAME, old_names)) [13:14:08.113] next [13:14:08.113] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.113] } [13:14:08.113] NAMES <- toupper(added) [13:14:08.113] for (kk in seq_along(NAMES)) { [13:14:08.113] name <- added[[kk]] [13:14:08.113] NAME <- NAMES[[kk]] [13:14:08.113] if (name != NAME && is.element(NAME, old_names)) [13:14:08.113] next [13:14:08.113] args[[name]] <- "" [13:14:08.113] } [13:14:08.113] NAMES <- toupper(removed) [13:14:08.113] for (kk in seq_along(NAMES)) { [13:14:08.113] name <- removed[[kk]] [13:14:08.113] NAME <- NAMES[[kk]] [13:14:08.113] if (name != NAME && is.element(NAME, old_names)) [13:14:08.113] next [13:14:08.113] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.113] } [13:14:08.113] if (length(args) > 0) [13:14:08.113] base::do.call(base::Sys.setenv, args = args) [13:14:08.113] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.113] } [13:14:08.113] else { [13:14:08.113] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.113] } [13:14:08.113] { [13:14:08.113] if (base::length(...future.futureOptionsAdded) > [13:14:08.113] 0L) { [13:14:08.113] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.113] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.113] base::options(opts) [13:14:08.113] } [13:14:08.113] { [13:14:08.113] { [13:14:08.113] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.113] NULL [13:14:08.113] } [13:14:08.113] options(future.plan = NULL) [13:14:08.113] if (is.na(NA_character_)) [13:14:08.113] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.113] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.113] future::plan(list(function (..., workers = availableCores(), [13:14:08.113] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.113] envir = parent.frame()) [13:14:08.113] { [13:14:08.113] if (is.function(workers)) [13:14:08.113] workers <- workers() [13:14:08.113] workers <- structure(as.integer(workers), [13:14:08.113] class = class(workers)) [13:14:08.113] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.113] workers >= 1) [13:14:08.113] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.113] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.113] } [13:14:08.113] future <- MultisessionFuture(..., workers = workers, [13:14:08.113] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.113] envir = envir) [13:14:08.113] if (!future$lazy) [13:14:08.113] future <- run(future) [13:14:08.113] invisible(future) [13:14:08.113] }), .cleanup = FALSE, .init = FALSE) [13:14:08.113] } [13:14:08.113] } [13:14:08.113] } [13:14:08.113] }) [13:14:08.113] if (TRUE) { [13:14:08.113] base::sink(type = "output", split = FALSE) [13:14:08.113] if (TRUE) { [13:14:08.113] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.113] } [13:14:08.113] else { [13:14:08.113] ...future.result["stdout"] <- base::list(NULL) [13:14:08.113] } [13:14:08.113] base::close(...future.stdout) [13:14:08.113] ...future.stdout <- NULL [13:14:08.113] } [13:14:08.113] ...future.result$conditions <- ...future.conditions [13:14:08.113] ...future.result$finished <- base::Sys.time() [13:14:08.113] ...future.result [13:14:08.113] } [13:14:08.118] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:08.118] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:08.119] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:08.119] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.120] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.120] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.120] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.120] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.121] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.121] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.121] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.122] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:08.122] MultisessionFuture started [13:14:08.122] - Launch lazy future ... done [13:14:08.123] run() for 'MultisessionFuture' ... done [13:14:08.123] Created future: [13:14:08.138] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.138] - Validating connection of MultisessionFuture [13:14:08.139] - received message: FutureResult [13:14:08.139] - Received FutureResult [13:14:08.139] - Erased future from FutureRegistry [13:14:08.139] result() for ClusterFuture ... [13:14:08.139] - result already collected: FutureResult [13:14:08.140] result() for ClusterFuture ... done [13:14:08.140] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.123] MultisessionFuture: [13:14:08.123] Label: 'future_sapply-2' [13:14:08.123] Expression: [13:14:08.123] { [13:14:08.123] do.call(function(...) { [13:14:08.123] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.123] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.123] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.123] on.exit(options(oopts), add = TRUE) [13:14:08.123] } [13:14:08.123] { [13:14:08.123] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.123] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.123] ...future.FUN(...future.X_jj, ...) [13:14:08.123] }) [13:14:08.123] } [13:14:08.123] }, args = future.call.arguments) [13:14:08.123] } [13:14:08.123] Lazy evaluation: FALSE [13:14:08.123] Asynchronous evaluation: TRUE [13:14:08.123] Local evaluation: TRUE [13:14:08.123] Environment: R_GlobalEnv [13:14:08.123] Capture standard output: TRUE [13:14:08.123] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.123] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.123] Packages: [13:14:08.123] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.123] Resolved: TRUE [13:14:08.123] Value: [13:14:08.123] Conditions captured: [13:14:08.123] Early signaling: FALSE [13:14:08.123] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.123] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.140] Chunk #2 of 2 ... DONE [13:14:08.140] Launching 2 futures (chunks) ... DONE [13:14:08.140] Resolving 2 futures (chunks) ... [13:14:08.141] resolve() on list ... [13:14:08.141] recursive: 0 [13:14:08.141] length: 2 [13:14:08.141] [13:14:08.141] Future #1 [13:14:08.141] result() for ClusterFuture ... [13:14:08.142] - result already collected: FutureResult [13:14:08.142] result() for ClusterFuture ... done [13:14:08.142] result() for ClusterFuture ... [13:14:08.142] - result already collected: FutureResult [13:14:08.142] result() for ClusterFuture ... done [13:14:08.142] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:08.143] - nx: 2 [13:14:08.143] - relay: TRUE [13:14:08.143] - stdout: TRUE [13:14:08.143] - signal: TRUE [13:14:08.143] - resignal: FALSE [13:14:08.143] - force: TRUE [13:14:08.143] - relayed: [n=2] FALSE, FALSE [13:14:08.144] - queued futures: [n=2] FALSE, FALSE [13:14:08.144] - until=1 [13:14:08.144] - relaying element #1 [13:14:08.144] result() for ClusterFuture ... [13:14:08.144] - result already collected: FutureResult [13:14:08.144] result() for ClusterFuture ... done [13:14:08.145] result() for ClusterFuture ... [13:14:08.145] - result already collected: FutureResult [13:14:08.145] result() for ClusterFuture ... done [13:14:08.145] result() for ClusterFuture ... [13:14:08.145] - result already collected: FutureResult [13:14:08.145] result() for ClusterFuture ... done [13:14:08.146] result() for ClusterFuture ... [13:14:08.146] - result already collected: FutureResult [13:14:08.146] result() for ClusterFuture ... done [13:14:08.146] - relayed: [n=2] TRUE, FALSE [13:14:08.146] - queued futures: [n=2] TRUE, FALSE [13:14:08.146] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:08.147] length: 1 (resolved future 1) [13:14:08.147] Future #2 [13:14:08.147] result() for ClusterFuture ... [13:14:08.147] - result already collected: FutureResult [13:14:08.147] result() for ClusterFuture ... done [13:14:08.147] result() for ClusterFuture ... [13:14:08.147] - result already collected: FutureResult [13:14:08.148] result() for ClusterFuture ... done [13:14:08.148] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:08.148] - nx: 2 [13:14:08.148] - relay: TRUE [13:14:08.148] - stdout: TRUE [13:14:08.148] - signal: TRUE [13:14:08.149] - resignal: FALSE [13:14:08.149] - force: TRUE [13:14:08.149] - relayed: [n=2] TRUE, FALSE [13:14:08.149] - queued futures: [n=2] TRUE, FALSE [13:14:08.149] - until=2 [13:14:08.149] - relaying element #2 [13:14:08.149] result() for ClusterFuture ... [13:14:08.150] - result already collected: FutureResult [13:14:08.150] result() for ClusterFuture ... done [13:14:08.150] result() for ClusterFuture ... [13:14:08.150] - result already collected: FutureResult [13:14:08.150] result() for ClusterFuture ... done [13:14:08.150] result() for ClusterFuture ... [13:14:08.151] - result already collected: FutureResult [13:14:08.151] result() for ClusterFuture ... done [13:14:08.151] result() for ClusterFuture ... [13:14:08.151] - result already collected: FutureResult [13:14:08.151] result() for ClusterFuture ... done [13:14:08.151] - relayed: [n=2] TRUE, TRUE [13:14:08.152] - queued futures: [n=2] TRUE, TRUE [13:14:08.152] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:08.152] length: 0 (resolved future 2) [13:14:08.152] Relaying remaining futures [13:14:08.152] signalConditionsASAP(NULL, pos=0) ... [13:14:08.152] - nx: 2 [13:14:08.152] - relay: TRUE [13:14:08.153] - stdout: TRUE [13:14:08.153] - signal: TRUE [13:14:08.153] - resignal: FALSE [13:14:08.153] - force: TRUE [13:14:08.153] - relayed: [n=2] TRUE, TRUE [13:14:08.153] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:08.154] - relayed: [n=2] TRUE, TRUE [13:14:08.154] - queued futures: [n=2] TRUE, TRUE [13:14:08.154] signalConditionsASAP(NULL, pos=0) ... done [13:14:08.154] resolve() on list ... DONE [13:14:08.154] result() for ClusterFuture ... [13:14:08.154] - result already collected: FutureResult [13:14:08.155] result() for ClusterFuture ... done [13:14:08.155] result() for ClusterFuture ... [13:14:08.155] - result already collected: FutureResult [13:14:08.155] result() for ClusterFuture ... done [13:14:08.155] result() for ClusterFuture ... [13:14:08.155] - result already collected: FutureResult [13:14:08.155] result() for ClusterFuture ... done [13:14:08.156] result() for ClusterFuture ... [13:14:08.156] - result already collected: FutureResult [13:14:08.156] result() for ClusterFuture ... done [13:14:08.156] - Number of value chunks collected: 2 [13:14:08.156] Resolving 2 futures (chunks) ... DONE [13:14:08.156] Reducing values from 2 chunks ... [13:14:08.157] - Number of values collected after concatenation: 6 [13:14:08.157] - Number of values expected: 6 [13:14:08.157] Reducing values from 2 chunks ... DONE [13:14:08.157] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:08.159] future_lapply() ... [13:14:08.162] Number of chunks: 2 [13:14:08.162] getGlobalsAndPackagesXApply() ... [13:14:08.163] - future.globals: TRUE [13:14:08.163] getGlobalsAndPackages() ... [13:14:08.163] Searching for globals... [13:14:08.165] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:08.165] Searching for globals ... DONE [13:14:08.165] Resolving globals: FALSE [13:14:08.166] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:08.166] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:08.166] - globals: [1] 'FUN' [13:14:08.166] [13:14:08.167] getGlobalsAndPackages() ... DONE [13:14:08.167] - globals found/used: [n=1] 'FUN' [13:14:08.167] - needed namespaces: [n=0] [13:14:08.167] Finding globals ... DONE [13:14:08.167] - use_args: TRUE [13:14:08.167] - Getting '...' globals ... [13:14:08.168] resolve() on list ... [13:14:08.168] recursive: 0 [13:14:08.168] length: 1 [13:14:08.168] elements: '...' [13:14:08.168] length: 0 (resolved future 1) [13:14:08.169] resolve() on list ... DONE [13:14:08.169] - '...' content: [n=0] [13:14:08.169] List of 1 [13:14:08.169] $ ...: list() [13:14:08.169] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.169] - attr(*, "where")=List of 1 [13:14:08.169] ..$ ...: [13:14:08.169] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.169] - attr(*, "resolved")= logi TRUE [13:14:08.169] - attr(*, "total_size")= num NA [13:14:08.172] - Getting '...' globals ... DONE [13:14:08.172] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:08.172] List of 2 [13:14:08.172] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:08.172] $ ... : list() [13:14:08.172] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.172] - attr(*, "where")=List of 2 [13:14:08.172] ..$ ...future.FUN: [13:14:08.172] ..$ ... : [13:14:08.172] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.172] - attr(*, "resolved")= logi FALSE [13:14:08.172] - attr(*, "total_size")= num 4728 [13:14:08.176] Packages to be attached in all futures: [n=0] [13:14:08.176] getGlobalsAndPackagesXApply() ... DONE [13:14:08.176] Number of futures (= number of chunks): 2 [13:14:08.176] Launching 2 futures (chunks) ... [13:14:08.177] Chunk #1 of 2 ... [13:14:08.177] - Finding globals in 'X' for chunk #1 ... [13:14:08.177] getGlobalsAndPackages() ... [13:14:08.177] Searching for globals... [13:14:08.177] [13:14:08.178] Searching for globals ... DONE [13:14:08.178] - globals: [0] [13:14:08.178] getGlobalsAndPackages() ... DONE [13:14:08.178] + additional globals found: [n=0] [13:14:08.178] + additional namespaces needed: [n=0] [13:14:08.178] - Finding globals in 'X' for chunk #1 ... DONE [13:14:08.179] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.179] - seeds: [13:14:08.179] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.179] getGlobalsAndPackages() ... [13:14:08.179] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.179] Resolving globals: FALSE [13:14:08.180] Tweak future expression to call with '...' arguments ... [13:14:08.180] { [13:14:08.180] do.call(function(...) { [13:14:08.180] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.180] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.180] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.180] on.exit(options(oopts), add = TRUE) [13:14:08.180] } [13:14:08.180] { [13:14:08.180] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.180] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.180] ...future.FUN(...future.X_jj, ...) [13:14:08.180] }) [13:14:08.180] } [13:14:08.180] }, args = future.call.arguments) [13:14:08.180] } [13:14:08.180] Tweak future expression to call with '...' arguments ... DONE [13:14:08.181] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.181] [13:14:08.181] getGlobalsAndPackages() ... DONE [13:14:08.182] run() for 'Future' ... [13:14:08.182] - state: 'created' [13:14:08.182] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.196] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.196] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.196] - Field: 'node' [13:14:08.197] - Field: 'label' [13:14:08.197] - Field: 'local' [13:14:08.197] - Field: 'owner' [13:14:08.197] - Field: 'envir' [13:14:08.197] - Field: 'workers' [13:14:08.198] - Field: 'packages' [13:14:08.198] - Field: 'gc' [13:14:08.198] - Field: 'conditions' [13:14:08.198] - Field: 'persistent' [13:14:08.198] - Field: 'expr' [13:14:08.198] - Field: 'uuid' [13:14:08.199] - Field: 'seed' [13:14:08.199] - Field: 'version' [13:14:08.199] - Field: 'result' [13:14:08.199] - Field: 'asynchronous' [13:14:08.199] - Field: 'calls' [13:14:08.199] - Field: 'globals' [13:14:08.200] - Field: 'stdout' [13:14:08.200] - Field: 'earlySignal' [13:14:08.200] - Field: 'lazy' [13:14:08.200] - Field: 'state' [13:14:08.200] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.201] - Launch lazy future ... [13:14:08.201] Packages needed by the future expression (n = 0): [13:14:08.201] Packages needed by future strategies (n = 0): [13:14:08.202] { [13:14:08.202] { [13:14:08.202] { [13:14:08.202] ...future.startTime <- base::Sys.time() [13:14:08.202] { [13:14:08.202] { [13:14:08.202] { [13:14:08.202] { [13:14:08.202] base::local({ [13:14:08.202] has_future <- base::requireNamespace("future", [13:14:08.202] quietly = TRUE) [13:14:08.202] if (has_future) { [13:14:08.202] ns <- base::getNamespace("future") [13:14:08.202] version <- ns[[".package"]][["version"]] [13:14:08.202] if (is.null(version)) [13:14:08.202] version <- utils::packageVersion("future") [13:14:08.202] } [13:14:08.202] else { [13:14:08.202] version <- NULL [13:14:08.202] } [13:14:08.202] if (!has_future || version < "1.8.0") { [13:14:08.202] info <- base::c(r_version = base::gsub("R version ", [13:14:08.202] "", base::R.version$version.string), [13:14:08.202] platform = base::sprintf("%s (%s-bit)", [13:14:08.202] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.202] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.202] "release", "version")], collapse = " "), [13:14:08.202] hostname = base::Sys.info()[["nodename"]]) [13:14:08.202] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.202] info) [13:14:08.202] info <- base::paste(info, collapse = "; ") [13:14:08.202] if (!has_future) { [13:14:08.202] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.202] info) [13:14:08.202] } [13:14:08.202] else { [13:14:08.202] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.202] info, version) [13:14:08.202] } [13:14:08.202] base::stop(msg) [13:14:08.202] } [13:14:08.202] }) [13:14:08.202] } [13:14:08.202] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.202] base::options(mc.cores = 1L) [13:14:08.202] } [13:14:08.202] options(future.plan = NULL) [13:14:08.202] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.202] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.202] } [13:14:08.202] ...future.workdir <- getwd() [13:14:08.202] } [13:14:08.202] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.202] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.202] } [13:14:08.202] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.202] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.202] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.202] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.202] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.202] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.202] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.202] base::names(...future.oldOptions)) [13:14:08.202] } [13:14:08.202] if (FALSE) { [13:14:08.202] } [13:14:08.202] else { [13:14:08.202] if (TRUE) { [13:14:08.202] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.202] open = "w") [13:14:08.202] } [13:14:08.202] else { [13:14:08.202] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.202] windows = "NUL", "/dev/null"), open = "w") [13:14:08.202] } [13:14:08.202] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.202] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.202] base::sink(type = "output", split = FALSE) [13:14:08.202] base::close(...future.stdout) [13:14:08.202] }, add = TRUE) [13:14:08.202] } [13:14:08.202] ...future.frame <- base::sys.nframe() [13:14:08.202] ...future.conditions <- base::list() [13:14:08.202] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.202] if (FALSE) { [13:14:08.202] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.202] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.202] } [13:14:08.202] ...future.result <- base::tryCatch({ [13:14:08.202] base::withCallingHandlers({ [13:14:08.202] ...future.value <- base::withVisible(base::local({ [13:14:08.202] ...future.makeSendCondition <- local({ [13:14:08.202] sendCondition <- NULL [13:14:08.202] function(frame = 1L) { [13:14:08.202] if (is.function(sendCondition)) [13:14:08.202] return(sendCondition) [13:14:08.202] ns <- getNamespace("parallel") [13:14:08.202] if (exists("sendData", mode = "function", [13:14:08.202] envir = ns)) { [13:14:08.202] parallel_sendData <- get("sendData", mode = "function", [13:14:08.202] envir = ns) [13:14:08.202] envir <- sys.frame(frame) [13:14:08.202] master <- NULL [13:14:08.202] while (!identical(envir, .GlobalEnv) && [13:14:08.202] !identical(envir, emptyenv())) { [13:14:08.202] if (exists("master", mode = "list", envir = envir, [13:14:08.202] inherits = FALSE)) { [13:14:08.202] master <- get("master", mode = "list", [13:14:08.202] envir = envir, inherits = FALSE) [13:14:08.202] if (inherits(master, c("SOCKnode", [13:14:08.202] "SOCK0node"))) { [13:14:08.202] sendCondition <<- function(cond) { [13:14:08.202] data <- list(type = "VALUE", value = cond, [13:14:08.202] success = TRUE) [13:14:08.202] parallel_sendData(master, data) [13:14:08.202] } [13:14:08.202] return(sendCondition) [13:14:08.202] } [13:14:08.202] } [13:14:08.202] frame <- frame + 1L [13:14:08.202] envir <- sys.frame(frame) [13:14:08.202] } [13:14:08.202] } [13:14:08.202] sendCondition <<- function(cond) NULL [13:14:08.202] } [13:14:08.202] }) [13:14:08.202] withCallingHandlers({ [13:14:08.202] { [13:14:08.202] do.call(function(...) { [13:14:08.202] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.202] if (!identical(...future.globals.maxSize.org, [13:14:08.202] ...future.globals.maxSize)) { [13:14:08.202] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.202] on.exit(options(oopts), add = TRUE) [13:14:08.202] } [13:14:08.202] { [13:14:08.202] lapply(seq_along(...future.elements_ii), [13:14:08.202] FUN = function(jj) { [13:14:08.202] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.202] ...future.FUN(...future.X_jj, ...) [13:14:08.202] }) [13:14:08.202] } [13:14:08.202] }, args = future.call.arguments) [13:14:08.202] } [13:14:08.202] }, immediateCondition = function(cond) { [13:14:08.202] sendCondition <- ...future.makeSendCondition() [13:14:08.202] sendCondition(cond) [13:14:08.202] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.202] { [13:14:08.202] inherits <- base::inherits [13:14:08.202] invokeRestart <- base::invokeRestart [13:14:08.202] is.null <- base::is.null [13:14:08.202] muffled <- FALSE [13:14:08.202] if (inherits(cond, "message")) { [13:14:08.202] muffled <- grepl(pattern, "muffleMessage") [13:14:08.202] if (muffled) [13:14:08.202] invokeRestart("muffleMessage") [13:14:08.202] } [13:14:08.202] else if (inherits(cond, "warning")) { [13:14:08.202] muffled <- grepl(pattern, "muffleWarning") [13:14:08.202] if (muffled) [13:14:08.202] invokeRestart("muffleWarning") [13:14:08.202] } [13:14:08.202] else if (inherits(cond, "condition")) { [13:14:08.202] if (!is.null(pattern)) { [13:14:08.202] computeRestarts <- base::computeRestarts [13:14:08.202] grepl <- base::grepl [13:14:08.202] restarts <- computeRestarts(cond) [13:14:08.202] for (restart in restarts) { [13:14:08.202] name <- restart$name [13:14:08.202] if (is.null(name)) [13:14:08.202] next [13:14:08.202] if (!grepl(pattern, name)) [13:14:08.202] next [13:14:08.202] invokeRestart(restart) [13:14:08.202] muffled <- TRUE [13:14:08.202] break [13:14:08.202] } [13:14:08.202] } [13:14:08.202] } [13:14:08.202] invisible(muffled) [13:14:08.202] } [13:14:08.202] muffleCondition(cond) [13:14:08.202] }) [13:14:08.202] })) [13:14:08.202] future::FutureResult(value = ...future.value$value, [13:14:08.202] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.202] ...future.rng), globalenv = if (FALSE) [13:14:08.202] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.202] ...future.globalenv.names)) [13:14:08.202] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.202] }, condition = base::local({ [13:14:08.202] c <- base::c [13:14:08.202] inherits <- base::inherits [13:14:08.202] invokeRestart <- base::invokeRestart [13:14:08.202] length <- base::length [13:14:08.202] list <- base::list [13:14:08.202] seq.int <- base::seq.int [13:14:08.202] signalCondition <- base::signalCondition [13:14:08.202] sys.calls <- base::sys.calls [13:14:08.202] `[[` <- base::`[[` [13:14:08.202] `+` <- base::`+` [13:14:08.202] `<<-` <- base::`<<-` [13:14:08.202] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.202] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.202] 3L)] [13:14:08.202] } [13:14:08.202] function(cond) { [13:14:08.202] is_error <- inherits(cond, "error") [13:14:08.202] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.202] NULL) [13:14:08.202] if (is_error) { [13:14:08.202] sessionInformation <- function() { [13:14:08.202] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.202] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.202] search = base::search(), system = base::Sys.info()) [13:14:08.202] } [13:14:08.202] ...future.conditions[[length(...future.conditions) + [13:14:08.202] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.202] cond$call), session = sessionInformation(), [13:14:08.202] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.202] signalCondition(cond) [13:14:08.202] } [13:14:08.202] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.202] "immediateCondition"))) { [13:14:08.202] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.202] ...future.conditions[[length(...future.conditions) + [13:14:08.202] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.202] if (TRUE && !signal) { [13:14:08.202] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.202] { [13:14:08.202] inherits <- base::inherits [13:14:08.202] invokeRestart <- base::invokeRestart [13:14:08.202] is.null <- base::is.null [13:14:08.202] muffled <- FALSE [13:14:08.202] if (inherits(cond, "message")) { [13:14:08.202] muffled <- grepl(pattern, "muffleMessage") [13:14:08.202] if (muffled) [13:14:08.202] invokeRestart("muffleMessage") [13:14:08.202] } [13:14:08.202] else if (inherits(cond, "warning")) { [13:14:08.202] muffled <- grepl(pattern, "muffleWarning") [13:14:08.202] if (muffled) [13:14:08.202] invokeRestart("muffleWarning") [13:14:08.202] } [13:14:08.202] else if (inherits(cond, "condition")) { [13:14:08.202] if (!is.null(pattern)) { [13:14:08.202] computeRestarts <- base::computeRestarts [13:14:08.202] grepl <- base::grepl [13:14:08.202] restarts <- computeRestarts(cond) [13:14:08.202] for (restart in restarts) { [13:14:08.202] name <- restart$name [13:14:08.202] if (is.null(name)) [13:14:08.202] next [13:14:08.202] if (!grepl(pattern, name)) [13:14:08.202] next [13:14:08.202] invokeRestart(restart) [13:14:08.202] muffled <- TRUE [13:14:08.202] break [13:14:08.202] } [13:14:08.202] } [13:14:08.202] } [13:14:08.202] invisible(muffled) [13:14:08.202] } [13:14:08.202] muffleCondition(cond, pattern = "^muffle") [13:14:08.202] } [13:14:08.202] } [13:14:08.202] else { [13:14:08.202] if (TRUE) { [13:14:08.202] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.202] { [13:14:08.202] inherits <- base::inherits [13:14:08.202] invokeRestart <- base::invokeRestart [13:14:08.202] is.null <- base::is.null [13:14:08.202] muffled <- FALSE [13:14:08.202] if (inherits(cond, "message")) { [13:14:08.202] muffled <- grepl(pattern, "muffleMessage") [13:14:08.202] if (muffled) [13:14:08.202] invokeRestart("muffleMessage") [13:14:08.202] } [13:14:08.202] else if (inherits(cond, "warning")) { [13:14:08.202] muffled <- grepl(pattern, "muffleWarning") [13:14:08.202] if (muffled) [13:14:08.202] invokeRestart("muffleWarning") [13:14:08.202] } [13:14:08.202] else if (inherits(cond, "condition")) { [13:14:08.202] if (!is.null(pattern)) { [13:14:08.202] computeRestarts <- base::computeRestarts [13:14:08.202] grepl <- base::grepl [13:14:08.202] restarts <- computeRestarts(cond) [13:14:08.202] for (restart in restarts) { [13:14:08.202] name <- restart$name [13:14:08.202] if (is.null(name)) [13:14:08.202] next [13:14:08.202] if (!grepl(pattern, name)) [13:14:08.202] next [13:14:08.202] invokeRestart(restart) [13:14:08.202] muffled <- TRUE [13:14:08.202] break [13:14:08.202] } [13:14:08.202] } [13:14:08.202] } [13:14:08.202] invisible(muffled) [13:14:08.202] } [13:14:08.202] muffleCondition(cond, pattern = "^muffle") [13:14:08.202] } [13:14:08.202] } [13:14:08.202] } [13:14:08.202] })) [13:14:08.202] }, error = function(ex) { [13:14:08.202] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.202] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.202] ...future.rng), started = ...future.startTime, [13:14:08.202] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.202] version = "1.8"), class = "FutureResult") [13:14:08.202] }, finally = { [13:14:08.202] if (!identical(...future.workdir, getwd())) [13:14:08.202] setwd(...future.workdir) [13:14:08.202] { [13:14:08.202] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.202] ...future.oldOptions$nwarnings <- NULL [13:14:08.202] } [13:14:08.202] base::options(...future.oldOptions) [13:14:08.202] if (.Platform$OS.type == "windows") { [13:14:08.202] old_names <- names(...future.oldEnvVars) [13:14:08.202] envs <- base::Sys.getenv() [13:14:08.202] names <- names(envs) [13:14:08.202] common <- intersect(names, old_names) [13:14:08.202] added <- setdiff(names, old_names) [13:14:08.202] removed <- setdiff(old_names, names) [13:14:08.202] changed <- common[...future.oldEnvVars[common] != [13:14:08.202] envs[common]] [13:14:08.202] NAMES <- toupper(changed) [13:14:08.202] args <- list() [13:14:08.202] for (kk in seq_along(NAMES)) { [13:14:08.202] name <- changed[[kk]] [13:14:08.202] NAME <- NAMES[[kk]] [13:14:08.202] if (name != NAME && is.element(NAME, old_names)) [13:14:08.202] next [13:14:08.202] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.202] } [13:14:08.202] NAMES <- toupper(added) [13:14:08.202] for (kk in seq_along(NAMES)) { [13:14:08.202] name <- added[[kk]] [13:14:08.202] NAME <- NAMES[[kk]] [13:14:08.202] if (name != NAME && is.element(NAME, old_names)) [13:14:08.202] next [13:14:08.202] args[[name]] <- "" [13:14:08.202] } [13:14:08.202] NAMES <- toupper(removed) [13:14:08.202] for (kk in seq_along(NAMES)) { [13:14:08.202] name <- removed[[kk]] [13:14:08.202] NAME <- NAMES[[kk]] [13:14:08.202] if (name != NAME && is.element(NAME, old_names)) [13:14:08.202] next [13:14:08.202] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.202] } [13:14:08.202] if (length(args) > 0) [13:14:08.202] base::do.call(base::Sys.setenv, args = args) [13:14:08.202] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.202] } [13:14:08.202] else { [13:14:08.202] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.202] } [13:14:08.202] { [13:14:08.202] if (base::length(...future.futureOptionsAdded) > [13:14:08.202] 0L) { [13:14:08.202] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.202] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.202] base::options(opts) [13:14:08.202] } [13:14:08.202] { [13:14:08.202] { [13:14:08.202] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.202] NULL [13:14:08.202] } [13:14:08.202] options(future.plan = NULL) [13:14:08.202] if (is.na(NA_character_)) [13:14:08.202] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.202] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.202] future::plan(list(function (..., workers = availableCores(), [13:14:08.202] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.202] envir = parent.frame()) [13:14:08.202] { [13:14:08.202] if (is.function(workers)) [13:14:08.202] workers <- workers() [13:14:08.202] workers <- structure(as.integer(workers), [13:14:08.202] class = class(workers)) [13:14:08.202] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.202] workers >= 1) [13:14:08.202] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.202] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.202] } [13:14:08.202] future <- MultisessionFuture(..., workers = workers, [13:14:08.202] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.202] envir = envir) [13:14:08.202] if (!future$lazy) [13:14:08.202] future <- run(future) [13:14:08.202] invisible(future) [13:14:08.202] }), .cleanup = FALSE, .init = FALSE) [13:14:08.202] } [13:14:08.202] } [13:14:08.202] } [13:14:08.202] }) [13:14:08.202] if (TRUE) { [13:14:08.202] base::sink(type = "output", split = FALSE) [13:14:08.202] if (TRUE) { [13:14:08.202] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.202] } [13:14:08.202] else { [13:14:08.202] ...future.result["stdout"] <- base::list(NULL) [13:14:08.202] } [13:14:08.202] base::close(...future.stdout) [13:14:08.202] ...future.stdout <- NULL [13:14:08.202] } [13:14:08.202] ...future.result$conditions <- ...future.conditions [13:14:08.202] ...future.result$finished <- base::Sys.time() [13:14:08.202] ...future.result [13:14:08.202] } [13:14:08.207] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:08.207] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:08.208] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:08.208] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.208] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.209] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.209] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.209] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.210] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.210] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.210] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.210] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:08.211] MultisessionFuture started [13:14:08.211] - Launch lazy future ... done [13:14:08.212] run() for 'MultisessionFuture' ... done [13:14:08.212] Created future: [13:14:08.227] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.228] - Validating connection of MultisessionFuture [13:14:08.228] - received message: FutureResult [13:14:08.228] - Received FutureResult [13:14:08.228] - Erased future from FutureRegistry [13:14:08.228] result() for ClusterFuture ... [13:14:08.229] - result already collected: FutureResult [13:14:08.229] result() for ClusterFuture ... done [13:14:08.229] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.212] MultisessionFuture: [13:14:08.212] Label: 'future_sapply-1' [13:14:08.212] Expression: [13:14:08.212] { [13:14:08.212] do.call(function(...) { [13:14:08.212] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.212] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.212] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.212] on.exit(options(oopts), add = TRUE) [13:14:08.212] } [13:14:08.212] { [13:14:08.212] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.212] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.212] ...future.FUN(...future.X_jj, ...) [13:14:08.212] }) [13:14:08.212] } [13:14:08.212] }, args = future.call.arguments) [13:14:08.212] } [13:14:08.212] Lazy evaluation: FALSE [13:14:08.212] Asynchronous evaluation: TRUE [13:14:08.212] Local evaluation: TRUE [13:14:08.212] Environment: R_GlobalEnv [13:14:08.212] Capture standard output: TRUE [13:14:08.212] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.212] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.212] Packages: [13:14:08.212] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.212] Resolved: TRUE [13:14:08.212] Value: [13:14:08.212] Conditions captured: [13:14:08.212] Early signaling: FALSE [13:14:08.212] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.212] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.229] Chunk #1 of 2 ... DONE [13:14:08.229] Chunk #2 of 2 ... [13:14:08.230] - Finding globals in 'X' for chunk #2 ... [13:14:08.230] getGlobalsAndPackages() ... [13:14:08.230] Searching for globals... [13:14:08.230] [13:14:08.230] Searching for globals ... DONE [13:14:08.231] - globals: [0] [13:14:08.231] getGlobalsAndPackages() ... DONE [13:14:08.231] + additional globals found: [n=0] [13:14:08.231] + additional namespaces needed: [n=0] [13:14:08.231] - Finding globals in 'X' for chunk #2 ... DONE [13:14:08.231] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.232] - seeds: [13:14:08.232] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.232] getGlobalsAndPackages() ... [13:14:08.232] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.232] Resolving globals: FALSE [13:14:08.232] Tweak future expression to call with '...' arguments ... [13:14:08.233] { [13:14:08.233] do.call(function(...) { [13:14:08.233] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.233] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.233] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.233] on.exit(options(oopts), add = TRUE) [13:14:08.233] } [13:14:08.233] { [13:14:08.233] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.233] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.233] ...future.FUN(...future.X_jj, ...) [13:14:08.233] }) [13:14:08.233] } [13:14:08.233] }, args = future.call.arguments) [13:14:08.233] } [13:14:08.233] Tweak future expression to call with '...' arguments ... DONE [13:14:08.233] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.234] [13:14:08.234] getGlobalsAndPackages() ... DONE [13:14:08.234] run() for 'Future' ... [13:14:08.234] - state: 'created' [13:14:08.235] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.260] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.260] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.260] - Field: 'node' [13:14:08.260] - Field: 'label' [13:14:08.260] - Field: 'local' [13:14:08.261] - Field: 'owner' [13:14:08.261] - Field: 'envir' [13:14:08.261] - Field: 'workers' [13:14:08.261] - Field: 'packages' [13:14:08.261] - Field: 'gc' [13:14:08.261] - Field: 'conditions' [13:14:08.262] - Field: 'persistent' [13:14:08.262] - Field: 'expr' [13:14:08.262] - Field: 'uuid' [13:14:08.262] - Field: 'seed' [13:14:08.262] - Field: 'version' [13:14:08.262] - Field: 'result' [13:14:08.263] - Field: 'asynchronous' [13:14:08.263] - Field: 'calls' [13:14:08.263] - Field: 'globals' [13:14:08.263] - Field: 'stdout' [13:14:08.263] - Field: 'earlySignal' [13:14:08.264] - Field: 'lazy' [13:14:08.264] - Field: 'state' [13:14:08.264] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.264] - Launch lazy future ... [13:14:08.264] Packages needed by the future expression (n = 0): [13:14:08.265] Packages needed by future strategies (n = 0): [13:14:08.265] { [13:14:08.265] { [13:14:08.265] { [13:14:08.265] ...future.startTime <- base::Sys.time() [13:14:08.265] { [13:14:08.265] { [13:14:08.265] { [13:14:08.265] { [13:14:08.265] base::local({ [13:14:08.265] has_future <- base::requireNamespace("future", [13:14:08.265] quietly = TRUE) [13:14:08.265] if (has_future) { [13:14:08.265] ns <- base::getNamespace("future") [13:14:08.265] version <- ns[[".package"]][["version"]] [13:14:08.265] if (is.null(version)) [13:14:08.265] version <- utils::packageVersion("future") [13:14:08.265] } [13:14:08.265] else { [13:14:08.265] version <- NULL [13:14:08.265] } [13:14:08.265] if (!has_future || version < "1.8.0") { [13:14:08.265] info <- base::c(r_version = base::gsub("R version ", [13:14:08.265] "", base::R.version$version.string), [13:14:08.265] platform = base::sprintf("%s (%s-bit)", [13:14:08.265] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.265] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.265] "release", "version")], collapse = " "), [13:14:08.265] hostname = base::Sys.info()[["nodename"]]) [13:14:08.265] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.265] info) [13:14:08.265] info <- base::paste(info, collapse = "; ") [13:14:08.265] if (!has_future) { [13:14:08.265] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.265] info) [13:14:08.265] } [13:14:08.265] else { [13:14:08.265] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.265] info, version) [13:14:08.265] } [13:14:08.265] base::stop(msg) [13:14:08.265] } [13:14:08.265] }) [13:14:08.265] } [13:14:08.265] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.265] base::options(mc.cores = 1L) [13:14:08.265] } [13:14:08.265] options(future.plan = NULL) [13:14:08.265] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.265] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.265] } [13:14:08.265] ...future.workdir <- getwd() [13:14:08.265] } [13:14:08.265] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.265] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.265] } [13:14:08.265] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.265] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.265] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.265] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.265] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.265] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.265] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.265] base::names(...future.oldOptions)) [13:14:08.265] } [13:14:08.265] if (FALSE) { [13:14:08.265] } [13:14:08.265] else { [13:14:08.265] if (TRUE) { [13:14:08.265] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.265] open = "w") [13:14:08.265] } [13:14:08.265] else { [13:14:08.265] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.265] windows = "NUL", "/dev/null"), open = "w") [13:14:08.265] } [13:14:08.265] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.265] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.265] base::sink(type = "output", split = FALSE) [13:14:08.265] base::close(...future.stdout) [13:14:08.265] }, add = TRUE) [13:14:08.265] } [13:14:08.265] ...future.frame <- base::sys.nframe() [13:14:08.265] ...future.conditions <- base::list() [13:14:08.265] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.265] if (FALSE) { [13:14:08.265] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.265] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.265] } [13:14:08.265] ...future.result <- base::tryCatch({ [13:14:08.265] base::withCallingHandlers({ [13:14:08.265] ...future.value <- base::withVisible(base::local({ [13:14:08.265] ...future.makeSendCondition <- local({ [13:14:08.265] sendCondition <- NULL [13:14:08.265] function(frame = 1L) { [13:14:08.265] if (is.function(sendCondition)) [13:14:08.265] return(sendCondition) [13:14:08.265] ns <- getNamespace("parallel") [13:14:08.265] if (exists("sendData", mode = "function", [13:14:08.265] envir = ns)) { [13:14:08.265] parallel_sendData <- get("sendData", mode = "function", [13:14:08.265] envir = ns) [13:14:08.265] envir <- sys.frame(frame) [13:14:08.265] master <- NULL [13:14:08.265] while (!identical(envir, .GlobalEnv) && [13:14:08.265] !identical(envir, emptyenv())) { [13:14:08.265] if (exists("master", mode = "list", envir = envir, [13:14:08.265] inherits = FALSE)) { [13:14:08.265] master <- get("master", mode = "list", [13:14:08.265] envir = envir, inherits = FALSE) [13:14:08.265] if (inherits(master, c("SOCKnode", [13:14:08.265] "SOCK0node"))) { [13:14:08.265] sendCondition <<- function(cond) { [13:14:08.265] data <- list(type = "VALUE", value = cond, [13:14:08.265] success = TRUE) [13:14:08.265] parallel_sendData(master, data) [13:14:08.265] } [13:14:08.265] return(sendCondition) [13:14:08.265] } [13:14:08.265] } [13:14:08.265] frame <- frame + 1L [13:14:08.265] envir <- sys.frame(frame) [13:14:08.265] } [13:14:08.265] } [13:14:08.265] sendCondition <<- function(cond) NULL [13:14:08.265] } [13:14:08.265] }) [13:14:08.265] withCallingHandlers({ [13:14:08.265] { [13:14:08.265] do.call(function(...) { [13:14:08.265] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.265] if (!identical(...future.globals.maxSize.org, [13:14:08.265] ...future.globals.maxSize)) { [13:14:08.265] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.265] on.exit(options(oopts), add = TRUE) [13:14:08.265] } [13:14:08.265] { [13:14:08.265] lapply(seq_along(...future.elements_ii), [13:14:08.265] FUN = function(jj) { [13:14:08.265] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.265] ...future.FUN(...future.X_jj, ...) [13:14:08.265] }) [13:14:08.265] } [13:14:08.265] }, args = future.call.arguments) [13:14:08.265] } [13:14:08.265] }, immediateCondition = function(cond) { [13:14:08.265] sendCondition <- ...future.makeSendCondition() [13:14:08.265] sendCondition(cond) [13:14:08.265] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.265] { [13:14:08.265] inherits <- base::inherits [13:14:08.265] invokeRestart <- base::invokeRestart [13:14:08.265] is.null <- base::is.null [13:14:08.265] muffled <- FALSE [13:14:08.265] if (inherits(cond, "message")) { [13:14:08.265] muffled <- grepl(pattern, "muffleMessage") [13:14:08.265] if (muffled) [13:14:08.265] invokeRestart("muffleMessage") [13:14:08.265] } [13:14:08.265] else if (inherits(cond, "warning")) { [13:14:08.265] muffled <- grepl(pattern, "muffleWarning") [13:14:08.265] if (muffled) [13:14:08.265] invokeRestart("muffleWarning") [13:14:08.265] } [13:14:08.265] else if (inherits(cond, "condition")) { [13:14:08.265] if (!is.null(pattern)) { [13:14:08.265] computeRestarts <- base::computeRestarts [13:14:08.265] grepl <- base::grepl [13:14:08.265] restarts <- computeRestarts(cond) [13:14:08.265] for (restart in restarts) { [13:14:08.265] name <- restart$name [13:14:08.265] if (is.null(name)) [13:14:08.265] next [13:14:08.265] if (!grepl(pattern, name)) [13:14:08.265] next [13:14:08.265] invokeRestart(restart) [13:14:08.265] muffled <- TRUE [13:14:08.265] break [13:14:08.265] } [13:14:08.265] } [13:14:08.265] } [13:14:08.265] invisible(muffled) [13:14:08.265] } [13:14:08.265] muffleCondition(cond) [13:14:08.265] }) [13:14:08.265] })) [13:14:08.265] future::FutureResult(value = ...future.value$value, [13:14:08.265] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.265] ...future.rng), globalenv = if (FALSE) [13:14:08.265] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.265] ...future.globalenv.names)) [13:14:08.265] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.265] }, condition = base::local({ [13:14:08.265] c <- base::c [13:14:08.265] inherits <- base::inherits [13:14:08.265] invokeRestart <- base::invokeRestart [13:14:08.265] length <- base::length [13:14:08.265] list <- base::list [13:14:08.265] seq.int <- base::seq.int [13:14:08.265] signalCondition <- base::signalCondition [13:14:08.265] sys.calls <- base::sys.calls [13:14:08.265] `[[` <- base::`[[` [13:14:08.265] `+` <- base::`+` [13:14:08.265] `<<-` <- base::`<<-` [13:14:08.265] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.265] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.265] 3L)] [13:14:08.265] } [13:14:08.265] function(cond) { [13:14:08.265] is_error <- inherits(cond, "error") [13:14:08.265] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.265] NULL) [13:14:08.265] if (is_error) { [13:14:08.265] sessionInformation <- function() { [13:14:08.265] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.265] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.265] search = base::search(), system = base::Sys.info()) [13:14:08.265] } [13:14:08.265] ...future.conditions[[length(...future.conditions) + [13:14:08.265] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.265] cond$call), session = sessionInformation(), [13:14:08.265] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.265] signalCondition(cond) [13:14:08.265] } [13:14:08.265] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.265] "immediateCondition"))) { [13:14:08.265] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.265] ...future.conditions[[length(...future.conditions) + [13:14:08.265] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.265] if (TRUE && !signal) { [13:14:08.265] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.265] { [13:14:08.265] inherits <- base::inherits [13:14:08.265] invokeRestart <- base::invokeRestart [13:14:08.265] is.null <- base::is.null [13:14:08.265] muffled <- FALSE [13:14:08.265] if (inherits(cond, "message")) { [13:14:08.265] muffled <- grepl(pattern, "muffleMessage") [13:14:08.265] if (muffled) [13:14:08.265] invokeRestart("muffleMessage") [13:14:08.265] } [13:14:08.265] else if (inherits(cond, "warning")) { [13:14:08.265] muffled <- grepl(pattern, "muffleWarning") [13:14:08.265] if (muffled) [13:14:08.265] invokeRestart("muffleWarning") [13:14:08.265] } [13:14:08.265] else if (inherits(cond, "condition")) { [13:14:08.265] if (!is.null(pattern)) { [13:14:08.265] computeRestarts <- base::computeRestarts [13:14:08.265] grepl <- base::grepl [13:14:08.265] restarts <- computeRestarts(cond) [13:14:08.265] for (restart in restarts) { [13:14:08.265] name <- restart$name [13:14:08.265] if (is.null(name)) [13:14:08.265] next [13:14:08.265] if (!grepl(pattern, name)) [13:14:08.265] next [13:14:08.265] invokeRestart(restart) [13:14:08.265] muffled <- TRUE [13:14:08.265] break [13:14:08.265] } [13:14:08.265] } [13:14:08.265] } [13:14:08.265] invisible(muffled) [13:14:08.265] } [13:14:08.265] muffleCondition(cond, pattern = "^muffle") [13:14:08.265] } [13:14:08.265] } [13:14:08.265] else { [13:14:08.265] if (TRUE) { [13:14:08.265] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.265] { [13:14:08.265] inherits <- base::inherits [13:14:08.265] invokeRestart <- base::invokeRestart [13:14:08.265] is.null <- base::is.null [13:14:08.265] muffled <- FALSE [13:14:08.265] if (inherits(cond, "message")) { [13:14:08.265] muffled <- grepl(pattern, "muffleMessage") [13:14:08.265] if (muffled) [13:14:08.265] invokeRestart("muffleMessage") [13:14:08.265] } [13:14:08.265] else if (inherits(cond, "warning")) { [13:14:08.265] muffled <- grepl(pattern, "muffleWarning") [13:14:08.265] if (muffled) [13:14:08.265] invokeRestart("muffleWarning") [13:14:08.265] } [13:14:08.265] else if (inherits(cond, "condition")) { [13:14:08.265] if (!is.null(pattern)) { [13:14:08.265] computeRestarts <- base::computeRestarts [13:14:08.265] grepl <- base::grepl [13:14:08.265] restarts <- computeRestarts(cond) [13:14:08.265] for (restart in restarts) { [13:14:08.265] name <- restart$name [13:14:08.265] if (is.null(name)) [13:14:08.265] next [13:14:08.265] if (!grepl(pattern, name)) [13:14:08.265] next [13:14:08.265] invokeRestart(restart) [13:14:08.265] muffled <- TRUE [13:14:08.265] break [13:14:08.265] } [13:14:08.265] } [13:14:08.265] } [13:14:08.265] invisible(muffled) [13:14:08.265] } [13:14:08.265] muffleCondition(cond, pattern = "^muffle") [13:14:08.265] } [13:14:08.265] } [13:14:08.265] } [13:14:08.265] })) [13:14:08.265] }, error = function(ex) { [13:14:08.265] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.265] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.265] ...future.rng), started = ...future.startTime, [13:14:08.265] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.265] version = "1.8"), class = "FutureResult") [13:14:08.265] }, finally = { [13:14:08.265] if (!identical(...future.workdir, getwd())) [13:14:08.265] setwd(...future.workdir) [13:14:08.265] { [13:14:08.265] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.265] ...future.oldOptions$nwarnings <- NULL [13:14:08.265] } [13:14:08.265] base::options(...future.oldOptions) [13:14:08.265] if (.Platform$OS.type == "windows") { [13:14:08.265] old_names <- names(...future.oldEnvVars) [13:14:08.265] envs <- base::Sys.getenv() [13:14:08.265] names <- names(envs) [13:14:08.265] common <- intersect(names, old_names) [13:14:08.265] added <- setdiff(names, old_names) [13:14:08.265] removed <- setdiff(old_names, names) [13:14:08.265] changed <- common[...future.oldEnvVars[common] != [13:14:08.265] envs[common]] [13:14:08.265] NAMES <- toupper(changed) [13:14:08.265] args <- list() [13:14:08.265] for (kk in seq_along(NAMES)) { [13:14:08.265] name <- changed[[kk]] [13:14:08.265] NAME <- NAMES[[kk]] [13:14:08.265] if (name != NAME && is.element(NAME, old_names)) [13:14:08.265] next [13:14:08.265] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.265] } [13:14:08.265] NAMES <- toupper(added) [13:14:08.265] for (kk in seq_along(NAMES)) { [13:14:08.265] name <- added[[kk]] [13:14:08.265] NAME <- NAMES[[kk]] [13:14:08.265] if (name != NAME && is.element(NAME, old_names)) [13:14:08.265] next [13:14:08.265] args[[name]] <- "" [13:14:08.265] } [13:14:08.265] NAMES <- toupper(removed) [13:14:08.265] for (kk in seq_along(NAMES)) { [13:14:08.265] name <- removed[[kk]] [13:14:08.265] NAME <- NAMES[[kk]] [13:14:08.265] if (name != NAME && is.element(NAME, old_names)) [13:14:08.265] next [13:14:08.265] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.265] } [13:14:08.265] if (length(args) > 0) [13:14:08.265] base::do.call(base::Sys.setenv, args = args) [13:14:08.265] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.265] } [13:14:08.265] else { [13:14:08.265] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.265] } [13:14:08.265] { [13:14:08.265] if (base::length(...future.futureOptionsAdded) > [13:14:08.265] 0L) { [13:14:08.265] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.265] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.265] base::options(opts) [13:14:08.265] } [13:14:08.265] { [13:14:08.265] { [13:14:08.265] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.265] NULL [13:14:08.265] } [13:14:08.265] options(future.plan = NULL) [13:14:08.265] if (is.na(NA_character_)) [13:14:08.265] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.265] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.265] future::plan(list(function (..., workers = availableCores(), [13:14:08.265] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.265] envir = parent.frame()) [13:14:08.265] { [13:14:08.265] if (is.function(workers)) [13:14:08.265] workers <- workers() [13:14:08.265] workers <- structure(as.integer(workers), [13:14:08.265] class = class(workers)) [13:14:08.265] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.265] workers >= 1) [13:14:08.265] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.265] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.265] } [13:14:08.265] future <- MultisessionFuture(..., workers = workers, [13:14:08.265] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.265] envir = envir) [13:14:08.265] if (!future$lazy) [13:14:08.265] future <- run(future) [13:14:08.265] invisible(future) [13:14:08.265] }), .cleanup = FALSE, .init = FALSE) [13:14:08.265] } [13:14:08.265] } [13:14:08.265] } [13:14:08.265] }) [13:14:08.265] if (TRUE) { [13:14:08.265] base::sink(type = "output", split = FALSE) [13:14:08.265] if (TRUE) { [13:14:08.265] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.265] } [13:14:08.265] else { [13:14:08.265] ...future.result["stdout"] <- base::list(NULL) [13:14:08.265] } [13:14:08.265] base::close(...future.stdout) [13:14:08.265] ...future.stdout <- NULL [13:14:08.265] } [13:14:08.265] ...future.result$conditions <- ...future.conditions [13:14:08.265] ...future.result$finished <- base::Sys.time() [13:14:08.265] ...future.result [13:14:08.265] } [13:14:08.271] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:08.271] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:08.271] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:08.272] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.272] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.272] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.273] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.273] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.273] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.274] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.274] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.274] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:08.275] MultisessionFuture started [13:14:08.275] - Launch lazy future ... done [13:14:08.275] run() for 'MultisessionFuture' ... done [13:14:08.275] Created future: [13:14:08.290] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.290] - Validating connection of MultisessionFuture [13:14:08.291] - received message: FutureResult [13:14:08.291] - Received FutureResult [13:14:08.291] - Erased future from FutureRegistry [13:14:08.291] result() for ClusterFuture ... [13:14:08.291] - result already collected: FutureResult [13:14:08.292] result() for ClusterFuture ... done [13:14:08.292] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.276] MultisessionFuture: [13:14:08.276] Label: 'future_sapply-2' [13:14:08.276] Expression: [13:14:08.276] { [13:14:08.276] do.call(function(...) { [13:14:08.276] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.276] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.276] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.276] on.exit(options(oopts), add = TRUE) [13:14:08.276] } [13:14:08.276] { [13:14:08.276] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.276] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.276] ...future.FUN(...future.X_jj, ...) [13:14:08.276] }) [13:14:08.276] } [13:14:08.276] }, args = future.call.arguments) [13:14:08.276] } [13:14:08.276] Lazy evaluation: FALSE [13:14:08.276] Asynchronous evaluation: TRUE [13:14:08.276] Local evaluation: TRUE [13:14:08.276] Environment: R_GlobalEnv [13:14:08.276] Capture standard output: TRUE [13:14:08.276] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.276] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.276] Packages: [13:14:08.276] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.276] Resolved: TRUE [13:14:08.276] Value: [13:14:08.276] Conditions captured: [13:14:08.276] Early signaling: FALSE [13:14:08.276] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.276] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.292] Chunk #2 of 2 ... DONE [13:14:08.292] Launching 2 futures (chunks) ... DONE [13:14:08.292] Resolving 2 futures (chunks) ... [13:14:08.293] resolve() on list ... [13:14:08.293] recursive: 0 [13:14:08.293] length: 2 [13:14:08.293] [13:14:08.293] Future #1 [13:14:08.293] result() for ClusterFuture ... [13:14:08.294] - result already collected: FutureResult [13:14:08.294] result() for ClusterFuture ... done [13:14:08.294] result() for ClusterFuture ... [13:14:08.294] - result already collected: FutureResult [13:14:08.294] result() for ClusterFuture ... done [13:14:08.294] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:08.295] - nx: 2 [13:14:08.295] - relay: TRUE [13:14:08.295] - stdout: TRUE [13:14:08.295] - signal: TRUE [13:14:08.295] - resignal: FALSE [13:14:08.295] - force: TRUE [13:14:08.296] - relayed: [n=2] FALSE, FALSE [13:14:08.296] - queued futures: [n=2] FALSE, FALSE [13:14:08.296] - until=1 [13:14:08.296] - relaying element #1 [13:14:08.296] result() for ClusterFuture ... [13:14:08.296] - result already collected: FutureResult [13:14:08.296] result() for ClusterFuture ... done [13:14:08.297] result() for ClusterFuture ... [13:14:08.297] - result already collected: FutureResult [13:14:08.297] result() for ClusterFuture ... done [13:14:08.297] result() for ClusterFuture ... [13:14:08.297] - result already collected: FutureResult [13:14:08.297] result() for ClusterFuture ... done [13:14:08.298] result() for ClusterFuture ... [13:14:08.298] - result already collected: FutureResult [13:14:08.298] result() for ClusterFuture ... done [13:14:08.298] - relayed: [n=2] TRUE, FALSE [13:14:08.298] - queued futures: [n=2] TRUE, FALSE [13:14:08.298] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:08.299] length: 1 (resolved future 1) [13:14:08.299] Future #2 [13:14:08.299] result() for ClusterFuture ... [13:14:08.299] - result already collected: FutureResult [13:14:08.299] result() for ClusterFuture ... done [13:14:08.299] result() for ClusterFuture ... [13:14:08.300] - result already collected: FutureResult [13:14:08.300] result() for ClusterFuture ... done [13:14:08.300] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:08.300] - nx: 2 [13:14:08.300] - relay: TRUE [13:14:08.300] - stdout: TRUE [13:14:08.300] - signal: TRUE [13:14:08.301] - resignal: FALSE [13:14:08.301] - force: TRUE [13:14:08.301] - relayed: [n=2] TRUE, FALSE [13:14:08.301] - queued futures: [n=2] TRUE, FALSE [13:14:08.301] - until=2 [13:14:08.301] - relaying element #2 [13:14:08.302] result() for ClusterFuture ... [13:14:08.302] - result already collected: FutureResult [13:14:08.302] result() for ClusterFuture ... done [13:14:08.302] result() for ClusterFuture ... [13:14:08.302] - result already collected: FutureResult [13:14:08.302] result() for ClusterFuture ... done [13:14:08.303] result() for ClusterFuture ... [13:14:08.303] - result already collected: FutureResult [13:14:08.303] result() for ClusterFuture ... done [13:14:08.303] result() for ClusterFuture ... [13:14:08.303] - result already collected: FutureResult [13:14:08.303] result() for ClusterFuture ... done [13:14:08.303] - relayed: [n=2] TRUE, TRUE [13:14:08.304] - queued futures: [n=2] TRUE, TRUE [13:14:08.304] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:08.304] length: 0 (resolved future 2) [13:14:08.304] Relaying remaining futures [13:14:08.304] signalConditionsASAP(NULL, pos=0) ... [13:14:08.304] - nx: 2 [13:14:08.305] - relay: TRUE [13:14:08.305] - stdout: TRUE [13:14:08.305] - signal: TRUE [13:14:08.305] - resignal: FALSE [13:14:08.305] - force: TRUE [13:14:08.305] - relayed: [n=2] TRUE, TRUE [13:14:08.305] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:08.306] - relayed: [n=2] TRUE, TRUE [13:14:08.306] - queued futures: [n=2] TRUE, TRUE [13:14:08.306] signalConditionsASAP(NULL, pos=0) ... done [13:14:08.306] resolve() on list ... DONE [13:14:08.306] result() for ClusterFuture ... [13:14:08.306] - result already collected: FutureResult [13:14:08.307] result() for ClusterFuture ... done [13:14:08.307] result() for ClusterFuture ... [13:14:08.307] - result already collected: FutureResult [13:14:08.307] result() for ClusterFuture ... done [13:14:08.307] result() for ClusterFuture ... [13:14:08.307] - result already collected: FutureResult [13:14:08.308] result() for ClusterFuture ... done [13:14:08.308] result() for ClusterFuture ... [13:14:08.308] - result already collected: FutureResult [13:14:08.308] result() for ClusterFuture ... done [13:14:08.308] - Number of value chunks collected: 2 [13:14:08.308] Resolving 2 futures (chunks) ... DONE [13:14:08.309] Reducing values from 2 chunks ... [13:14:08.309] - Number of values collected after concatenation: 6 [13:14:08.309] - Number of values expected: 6 [13:14:08.309] Reducing values from 2 chunks ... DONE [13:14:08.309] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:08.313] future_lapply() ... [13:14:08.316] Number of chunks: 2 [13:14:08.316] getGlobalsAndPackagesXApply() ... [13:14:08.316] - future.globals: TRUE [13:14:08.316] getGlobalsAndPackages() ... [13:14:08.316] Searching for globals... [13:14:08.317] - globals found: [1] 'FUN' [13:14:08.318] Searching for globals ... DONE [13:14:08.318] Resolving globals: FALSE [13:14:08.318] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:08.319] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:08.319] - globals: [1] 'FUN' [13:14:08.319] [13:14:08.319] getGlobalsAndPackages() ... DONE [13:14:08.319] - globals found/used: [n=1] 'FUN' [13:14:08.319] - needed namespaces: [n=0] [13:14:08.320] Finding globals ... DONE [13:14:08.320] - use_args: TRUE [13:14:08.320] - Getting '...' globals ... [13:14:08.320] resolve() on list ... [13:14:08.320] recursive: 0 [13:14:08.321] length: 1 [13:14:08.321] elements: '...' [13:14:08.321] length: 0 (resolved future 1) [13:14:08.321] resolve() on list ... DONE [13:14:08.321] - '...' content: [n=0] [13:14:08.321] List of 1 [13:14:08.321] $ ...: list() [13:14:08.321] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.321] - attr(*, "where")=List of 1 [13:14:08.321] ..$ ...: [13:14:08.321] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.321] - attr(*, "resolved")= logi TRUE [13:14:08.321] - attr(*, "total_size")= num NA [13:14:08.324] - Getting '...' globals ... DONE [13:14:08.325] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:08.325] List of 2 [13:14:08.325] $ ...future.FUN:function (x) [13:14:08.325] $ ... : list() [13:14:08.325] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.325] - attr(*, "where")=List of 2 [13:14:08.325] ..$ ...future.FUN: [13:14:08.325] ..$ ... : [13:14:08.325] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.325] - attr(*, "resolved")= logi FALSE [13:14:08.325] - attr(*, "total_size")= num 848 [13:14:08.328] Packages to be attached in all futures: [n=0] [13:14:08.328] getGlobalsAndPackagesXApply() ... DONE [13:14:08.329] Number of futures (= number of chunks): 2 [13:14:08.329] Launching 2 futures (chunks) ... [13:14:08.329] Chunk #1 of 2 ... [13:14:08.329] - Finding globals in 'X' for chunk #1 ... [13:14:08.329] getGlobalsAndPackages() ... [13:14:08.329] Searching for globals... [13:14:08.330] [13:14:08.330] Searching for globals ... DONE [13:14:08.330] - globals: [0] [13:14:08.330] getGlobalsAndPackages() ... DONE [13:14:08.330] + additional globals found: [n=0] [13:14:08.331] + additional namespaces needed: [n=0] [13:14:08.331] - Finding globals in 'X' for chunk #1 ... DONE [13:14:08.331] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.331] - seeds: [13:14:08.331] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.332] getGlobalsAndPackages() ... [13:14:08.332] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.332] Resolving globals: FALSE [13:14:08.332] Tweak future expression to call with '...' arguments ... [13:14:08.332] { [13:14:08.332] do.call(function(...) { [13:14:08.332] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.332] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.332] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.332] on.exit(options(oopts), add = TRUE) [13:14:08.332] } [13:14:08.332] { [13:14:08.332] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.332] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.332] ...future.FUN(...future.X_jj, ...) [13:14:08.332] }) [13:14:08.332] } [13:14:08.332] }, args = future.call.arguments) [13:14:08.332] } [13:14:08.333] Tweak future expression to call with '...' arguments ... DONE [13:14:08.333] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.333] [13:14:08.333] getGlobalsAndPackages() ... DONE [13:14:08.334] run() for 'Future' ... [13:14:08.334] - state: 'created' [13:14:08.334] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.348] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.349] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.349] - Field: 'node' [13:14:08.349] - Field: 'label' [13:14:08.349] - Field: 'local' [13:14:08.349] - Field: 'owner' [13:14:08.349] - Field: 'envir' [13:14:08.350] - Field: 'workers' [13:14:08.350] - Field: 'packages' [13:14:08.350] - Field: 'gc' [13:14:08.350] - Field: 'conditions' [13:14:08.350] - Field: 'persistent' [13:14:08.350] - Field: 'expr' [13:14:08.351] - Field: 'uuid' [13:14:08.351] - Field: 'seed' [13:14:08.351] - Field: 'version' [13:14:08.351] - Field: 'result' [13:14:08.351] - Field: 'asynchronous' [13:14:08.352] - Field: 'calls' [13:14:08.352] - Field: 'globals' [13:14:08.352] - Field: 'stdout' [13:14:08.352] - Field: 'earlySignal' [13:14:08.352] - Field: 'lazy' [13:14:08.352] - Field: 'state' [13:14:08.353] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.353] - Launch lazy future ... [13:14:08.353] Packages needed by the future expression (n = 0): [13:14:08.353] Packages needed by future strategies (n = 0): [13:14:08.354] { [13:14:08.354] { [13:14:08.354] { [13:14:08.354] ...future.startTime <- base::Sys.time() [13:14:08.354] { [13:14:08.354] { [13:14:08.354] { [13:14:08.354] { [13:14:08.354] base::local({ [13:14:08.354] has_future <- base::requireNamespace("future", [13:14:08.354] quietly = TRUE) [13:14:08.354] if (has_future) { [13:14:08.354] ns <- base::getNamespace("future") [13:14:08.354] version <- ns[[".package"]][["version"]] [13:14:08.354] if (is.null(version)) [13:14:08.354] version <- utils::packageVersion("future") [13:14:08.354] } [13:14:08.354] else { [13:14:08.354] version <- NULL [13:14:08.354] } [13:14:08.354] if (!has_future || version < "1.8.0") { [13:14:08.354] info <- base::c(r_version = base::gsub("R version ", [13:14:08.354] "", base::R.version$version.string), [13:14:08.354] platform = base::sprintf("%s (%s-bit)", [13:14:08.354] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.354] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.354] "release", "version")], collapse = " "), [13:14:08.354] hostname = base::Sys.info()[["nodename"]]) [13:14:08.354] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.354] info) [13:14:08.354] info <- base::paste(info, collapse = "; ") [13:14:08.354] if (!has_future) { [13:14:08.354] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.354] info) [13:14:08.354] } [13:14:08.354] else { [13:14:08.354] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.354] info, version) [13:14:08.354] } [13:14:08.354] base::stop(msg) [13:14:08.354] } [13:14:08.354] }) [13:14:08.354] } [13:14:08.354] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.354] base::options(mc.cores = 1L) [13:14:08.354] } [13:14:08.354] options(future.plan = NULL) [13:14:08.354] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.354] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.354] } [13:14:08.354] ...future.workdir <- getwd() [13:14:08.354] } [13:14:08.354] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.354] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.354] } [13:14:08.354] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.354] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.354] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.354] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.354] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.354] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.354] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.354] base::names(...future.oldOptions)) [13:14:08.354] } [13:14:08.354] if (FALSE) { [13:14:08.354] } [13:14:08.354] else { [13:14:08.354] if (TRUE) { [13:14:08.354] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.354] open = "w") [13:14:08.354] } [13:14:08.354] else { [13:14:08.354] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.354] windows = "NUL", "/dev/null"), open = "w") [13:14:08.354] } [13:14:08.354] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.354] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.354] base::sink(type = "output", split = FALSE) [13:14:08.354] base::close(...future.stdout) [13:14:08.354] }, add = TRUE) [13:14:08.354] } [13:14:08.354] ...future.frame <- base::sys.nframe() [13:14:08.354] ...future.conditions <- base::list() [13:14:08.354] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.354] if (FALSE) { [13:14:08.354] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.354] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.354] } [13:14:08.354] ...future.result <- base::tryCatch({ [13:14:08.354] base::withCallingHandlers({ [13:14:08.354] ...future.value <- base::withVisible(base::local({ [13:14:08.354] ...future.makeSendCondition <- local({ [13:14:08.354] sendCondition <- NULL [13:14:08.354] function(frame = 1L) { [13:14:08.354] if (is.function(sendCondition)) [13:14:08.354] return(sendCondition) [13:14:08.354] ns <- getNamespace("parallel") [13:14:08.354] if (exists("sendData", mode = "function", [13:14:08.354] envir = ns)) { [13:14:08.354] parallel_sendData <- get("sendData", mode = "function", [13:14:08.354] envir = ns) [13:14:08.354] envir <- sys.frame(frame) [13:14:08.354] master <- NULL [13:14:08.354] while (!identical(envir, .GlobalEnv) && [13:14:08.354] !identical(envir, emptyenv())) { [13:14:08.354] if (exists("master", mode = "list", envir = envir, [13:14:08.354] inherits = FALSE)) { [13:14:08.354] master <- get("master", mode = "list", [13:14:08.354] envir = envir, inherits = FALSE) [13:14:08.354] if (inherits(master, c("SOCKnode", [13:14:08.354] "SOCK0node"))) { [13:14:08.354] sendCondition <<- function(cond) { [13:14:08.354] data <- list(type = "VALUE", value = cond, [13:14:08.354] success = TRUE) [13:14:08.354] parallel_sendData(master, data) [13:14:08.354] } [13:14:08.354] return(sendCondition) [13:14:08.354] } [13:14:08.354] } [13:14:08.354] frame <- frame + 1L [13:14:08.354] envir <- sys.frame(frame) [13:14:08.354] } [13:14:08.354] } [13:14:08.354] sendCondition <<- function(cond) NULL [13:14:08.354] } [13:14:08.354] }) [13:14:08.354] withCallingHandlers({ [13:14:08.354] { [13:14:08.354] do.call(function(...) { [13:14:08.354] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.354] if (!identical(...future.globals.maxSize.org, [13:14:08.354] ...future.globals.maxSize)) { [13:14:08.354] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.354] on.exit(options(oopts), add = TRUE) [13:14:08.354] } [13:14:08.354] { [13:14:08.354] lapply(seq_along(...future.elements_ii), [13:14:08.354] FUN = function(jj) { [13:14:08.354] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.354] ...future.FUN(...future.X_jj, ...) [13:14:08.354] }) [13:14:08.354] } [13:14:08.354] }, args = future.call.arguments) [13:14:08.354] } [13:14:08.354] }, immediateCondition = function(cond) { [13:14:08.354] sendCondition <- ...future.makeSendCondition() [13:14:08.354] sendCondition(cond) [13:14:08.354] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.354] { [13:14:08.354] inherits <- base::inherits [13:14:08.354] invokeRestart <- base::invokeRestart [13:14:08.354] is.null <- base::is.null [13:14:08.354] muffled <- FALSE [13:14:08.354] if (inherits(cond, "message")) { [13:14:08.354] muffled <- grepl(pattern, "muffleMessage") [13:14:08.354] if (muffled) [13:14:08.354] invokeRestart("muffleMessage") [13:14:08.354] } [13:14:08.354] else if (inherits(cond, "warning")) { [13:14:08.354] muffled <- grepl(pattern, "muffleWarning") [13:14:08.354] if (muffled) [13:14:08.354] invokeRestart("muffleWarning") [13:14:08.354] } [13:14:08.354] else if (inherits(cond, "condition")) { [13:14:08.354] if (!is.null(pattern)) { [13:14:08.354] computeRestarts <- base::computeRestarts [13:14:08.354] grepl <- base::grepl [13:14:08.354] restarts <- computeRestarts(cond) [13:14:08.354] for (restart in restarts) { [13:14:08.354] name <- restart$name [13:14:08.354] if (is.null(name)) [13:14:08.354] next [13:14:08.354] if (!grepl(pattern, name)) [13:14:08.354] next [13:14:08.354] invokeRestart(restart) [13:14:08.354] muffled <- TRUE [13:14:08.354] break [13:14:08.354] } [13:14:08.354] } [13:14:08.354] } [13:14:08.354] invisible(muffled) [13:14:08.354] } [13:14:08.354] muffleCondition(cond) [13:14:08.354] }) [13:14:08.354] })) [13:14:08.354] future::FutureResult(value = ...future.value$value, [13:14:08.354] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.354] ...future.rng), globalenv = if (FALSE) [13:14:08.354] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.354] ...future.globalenv.names)) [13:14:08.354] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.354] }, condition = base::local({ [13:14:08.354] c <- base::c [13:14:08.354] inherits <- base::inherits [13:14:08.354] invokeRestart <- base::invokeRestart [13:14:08.354] length <- base::length [13:14:08.354] list <- base::list [13:14:08.354] seq.int <- base::seq.int [13:14:08.354] signalCondition <- base::signalCondition [13:14:08.354] sys.calls <- base::sys.calls [13:14:08.354] `[[` <- base::`[[` [13:14:08.354] `+` <- base::`+` [13:14:08.354] `<<-` <- base::`<<-` [13:14:08.354] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.354] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.354] 3L)] [13:14:08.354] } [13:14:08.354] function(cond) { [13:14:08.354] is_error <- inherits(cond, "error") [13:14:08.354] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.354] NULL) [13:14:08.354] if (is_error) { [13:14:08.354] sessionInformation <- function() { [13:14:08.354] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.354] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.354] search = base::search(), system = base::Sys.info()) [13:14:08.354] } [13:14:08.354] ...future.conditions[[length(...future.conditions) + [13:14:08.354] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.354] cond$call), session = sessionInformation(), [13:14:08.354] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.354] signalCondition(cond) [13:14:08.354] } [13:14:08.354] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.354] "immediateCondition"))) { [13:14:08.354] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.354] ...future.conditions[[length(...future.conditions) + [13:14:08.354] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.354] if (TRUE && !signal) { [13:14:08.354] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.354] { [13:14:08.354] inherits <- base::inherits [13:14:08.354] invokeRestart <- base::invokeRestart [13:14:08.354] is.null <- base::is.null [13:14:08.354] muffled <- FALSE [13:14:08.354] if (inherits(cond, "message")) { [13:14:08.354] muffled <- grepl(pattern, "muffleMessage") [13:14:08.354] if (muffled) [13:14:08.354] invokeRestart("muffleMessage") [13:14:08.354] } [13:14:08.354] else if (inherits(cond, "warning")) { [13:14:08.354] muffled <- grepl(pattern, "muffleWarning") [13:14:08.354] if (muffled) [13:14:08.354] invokeRestart("muffleWarning") [13:14:08.354] } [13:14:08.354] else if (inherits(cond, "condition")) { [13:14:08.354] if (!is.null(pattern)) { [13:14:08.354] computeRestarts <- base::computeRestarts [13:14:08.354] grepl <- base::grepl [13:14:08.354] restarts <- computeRestarts(cond) [13:14:08.354] for (restart in restarts) { [13:14:08.354] name <- restart$name [13:14:08.354] if (is.null(name)) [13:14:08.354] next [13:14:08.354] if (!grepl(pattern, name)) [13:14:08.354] next [13:14:08.354] invokeRestart(restart) [13:14:08.354] muffled <- TRUE [13:14:08.354] break [13:14:08.354] } [13:14:08.354] } [13:14:08.354] } [13:14:08.354] invisible(muffled) [13:14:08.354] } [13:14:08.354] muffleCondition(cond, pattern = "^muffle") [13:14:08.354] } [13:14:08.354] } [13:14:08.354] else { [13:14:08.354] if (TRUE) { [13:14:08.354] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.354] { [13:14:08.354] inherits <- base::inherits [13:14:08.354] invokeRestart <- base::invokeRestart [13:14:08.354] is.null <- base::is.null [13:14:08.354] muffled <- FALSE [13:14:08.354] if (inherits(cond, "message")) { [13:14:08.354] muffled <- grepl(pattern, "muffleMessage") [13:14:08.354] if (muffled) [13:14:08.354] invokeRestart("muffleMessage") [13:14:08.354] } [13:14:08.354] else if (inherits(cond, "warning")) { [13:14:08.354] muffled <- grepl(pattern, "muffleWarning") [13:14:08.354] if (muffled) [13:14:08.354] invokeRestart("muffleWarning") [13:14:08.354] } [13:14:08.354] else if (inherits(cond, "condition")) { [13:14:08.354] if (!is.null(pattern)) { [13:14:08.354] computeRestarts <- base::computeRestarts [13:14:08.354] grepl <- base::grepl [13:14:08.354] restarts <- computeRestarts(cond) [13:14:08.354] for (restart in restarts) { [13:14:08.354] name <- restart$name [13:14:08.354] if (is.null(name)) [13:14:08.354] next [13:14:08.354] if (!grepl(pattern, name)) [13:14:08.354] next [13:14:08.354] invokeRestart(restart) [13:14:08.354] muffled <- TRUE [13:14:08.354] break [13:14:08.354] } [13:14:08.354] } [13:14:08.354] } [13:14:08.354] invisible(muffled) [13:14:08.354] } [13:14:08.354] muffleCondition(cond, pattern = "^muffle") [13:14:08.354] } [13:14:08.354] } [13:14:08.354] } [13:14:08.354] })) [13:14:08.354] }, error = function(ex) { [13:14:08.354] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.354] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.354] ...future.rng), started = ...future.startTime, [13:14:08.354] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.354] version = "1.8"), class = "FutureResult") [13:14:08.354] }, finally = { [13:14:08.354] if (!identical(...future.workdir, getwd())) [13:14:08.354] setwd(...future.workdir) [13:14:08.354] { [13:14:08.354] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.354] ...future.oldOptions$nwarnings <- NULL [13:14:08.354] } [13:14:08.354] base::options(...future.oldOptions) [13:14:08.354] if (.Platform$OS.type == "windows") { [13:14:08.354] old_names <- names(...future.oldEnvVars) [13:14:08.354] envs <- base::Sys.getenv() [13:14:08.354] names <- names(envs) [13:14:08.354] common <- intersect(names, old_names) [13:14:08.354] added <- setdiff(names, old_names) [13:14:08.354] removed <- setdiff(old_names, names) [13:14:08.354] changed <- common[...future.oldEnvVars[common] != [13:14:08.354] envs[common]] [13:14:08.354] NAMES <- toupper(changed) [13:14:08.354] args <- list() [13:14:08.354] for (kk in seq_along(NAMES)) { [13:14:08.354] name <- changed[[kk]] [13:14:08.354] NAME <- NAMES[[kk]] [13:14:08.354] if (name != NAME && is.element(NAME, old_names)) [13:14:08.354] next [13:14:08.354] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.354] } [13:14:08.354] NAMES <- toupper(added) [13:14:08.354] for (kk in seq_along(NAMES)) { [13:14:08.354] name <- added[[kk]] [13:14:08.354] NAME <- NAMES[[kk]] [13:14:08.354] if (name != NAME && is.element(NAME, old_names)) [13:14:08.354] next [13:14:08.354] args[[name]] <- "" [13:14:08.354] } [13:14:08.354] NAMES <- toupper(removed) [13:14:08.354] for (kk in seq_along(NAMES)) { [13:14:08.354] name <- removed[[kk]] [13:14:08.354] NAME <- NAMES[[kk]] [13:14:08.354] if (name != NAME && is.element(NAME, old_names)) [13:14:08.354] next [13:14:08.354] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.354] } [13:14:08.354] if (length(args) > 0) [13:14:08.354] base::do.call(base::Sys.setenv, args = args) [13:14:08.354] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.354] } [13:14:08.354] else { [13:14:08.354] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.354] } [13:14:08.354] { [13:14:08.354] if (base::length(...future.futureOptionsAdded) > [13:14:08.354] 0L) { [13:14:08.354] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.354] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.354] base::options(opts) [13:14:08.354] } [13:14:08.354] { [13:14:08.354] { [13:14:08.354] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.354] NULL [13:14:08.354] } [13:14:08.354] options(future.plan = NULL) [13:14:08.354] if (is.na(NA_character_)) [13:14:08.354] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.354] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.354] future::plan(list(function (..., workers = availableCores(), [13:14:08.354] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.354] envir = parent.frame()) [13:14:08.354] { [13:14:08.354] if (is.function(workers)) [13:14:08.354] workers <- workers() [13:14:08.354] workers <- structure(as.integer(workers), [13:14:08.354] class = class(workers)) [13:14:08.354] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.354] workers >= 1) [13:14:08.354] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.354] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.354] } [13:14:08.354] future <- MultisessionFuture(..., workers = workers, [13:14:08.354] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.354] envir = envir) [13:14:08.354] if (!future$lazy) [13:14:08.354] future <- run(future) [13:14:08.354] invisible(future) [13:14:08.354] }), .cleanup = FALSE, .init = FALSE) [13:14:08.354] } [13:14:08.354] } [13:14:08.354] } [13:14:08.354] }) [13:14:08.354] if (TRUE) { [13:14:08.354] base::sink(type = "output", split = FALSE) [13:14:08.354] if (TRUE) { [13:14:08.354] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.354] } [13:14:08.354] else { [13:14:08.354] ...future.result["stdout"] <- base::list(NULL) [13:14:08.354] } [13:14:08.354] base::close(...future.stdout) [13:14:08.354] ...future.stdout <- NULL [13:14:08.354] } [13:14:08.354] ...future.result$conditions <- ...future.conditions [13:14:08.354] ...future.result$finished <- base::Sys.time() [13:14:08.354] ...future.result [13:14:08.354] } [13:14:08.359] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:08.359] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:08.360] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:08.360] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.361] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.361] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.362] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.362] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.362] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.363] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.363] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.363] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:08.364] MultisessionFuture started [13:14:08.364] - Launch lazy future ... done [13:14:08.364] run() for 'MultisessionFuture' ... done [13:14:08.364] Created future: [13:14:08.383] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.383] - Validating connection of MultisessionFuture [13:14:08.383] - received message: FutureResult [13:14:08.383] - Received FutureResult [13:14:08.384] - Erased future from FutureRegistry [13:14:08.384] result() for ClusterFuture ... [13:14:08.384] - result already collected: FutureResult [13:14:08.384] result() for ClusterFuture ... done [13:14:08.384] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.365] MultisessionFuture: [13:14:08.365] Label: 'future_sapply-1' [13:14:08.365] Expression: [13:14:08.365] { [13:14:08.365] do.call(function(...) { [13:14:08.365] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.365] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.365] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.365] on.exit(options(oopts), add = TRUE) [13:14:08.365] } [13:14:08.365] { [13:14:08.365] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.365] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.365] ...future.FUN(...future.X_jj, ...) [13:14:08.365] }) [13:14:08.365] } [13:14:08.365] }, args = future.call.arguments) [13:14:08.365] } [13:14:08.365] Lazy evaluation: FALSE [13:14:08.365] Asynchronous evaluation: TRUE [13:14:08.365] Local evaluation: TRUE [13:14:08.365] Environment: R_GlobalEnv [13:14:08.365] Capture standard output: TRUE [13:14:08.365] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.365] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.365] Packages: [13:14:08.365] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.365] Resolved: TRUE [13:14:08.365] Value: [13:14:08.365] Conditions captured: [13:14:08.365] Early signaling: FALSE [13:14:08.365] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.365] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.385] Chunk #1 of 2 ... DONE [13:14:08.385] Chunk #2 of 2 ... [13:14:08.385] - Finding globals in 'X' for chunk #2 ... [13:14:08.385] getGlobalsAndPackages() ... [13:14:08.385] Searching for globals... [13:14:08.386] [13:14:08.386] Searching for globals ... DONE [13:14:08.386] - globals: [0] [13:14:08.386] getGlobalsAndPackages() ... DONE [13:14:08.386] + additional globals found: [n=0] [13:14:08.386] + additional namespaces needed: [n=0] [13:14:08.387] - Finding globals in 'X' for chunk #2 ... DONE [13:14:08.387] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.387] - seeds: [13:14:08.387] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.387] getGlobalsAndPackages() ... [13:14:08.387] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.388] Resolving globals: FALSE [13:14:08.388] Tweak future expression to call with '...' arguments ... [13:14:08.388] { [13:14:08.388] do.call(function(...) { [13:14:08.388] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.388] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.388] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.388] on.exit(options(oopts), add = TRUE) [13:14:08.388] } [13:14:08.388] { [13:14:08.388] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.388] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.388] ...future.FUN(...future.X_jj, ...) [13:14:08.388] }) [13:14:08.388] } [13:14:08.388] }, args = future.call.arguments) [13:14:08.388] } [13:14:08.388] Tweak future expression to call with '...' arguments ... DONE [13:14:08.389] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.389] [13:14:08.389] getGlobalsAndPackages() ... DONE [13:14:08.390] run() for 'Future' ... [13:14:08.390] - state: 'created' [13:14:08.390] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.404] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.404] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.404] - Field: 'node' [13:14:08.405] - Field: 'label' [13:14:08.405] - Field: 'local' [13:14:08.405] - Field: 'owner' [13:14:08.405] - Field: 'envir' [13:14:08.405] - Field: 'workers' [13:14:08.405] - Field: 'packages' [13:14:08.406] - Field: 'gc' [13:14:08.406] - Field: 'conditions' [13:14:08.406] - Field: 'persistent' [13:14:08.406] - Field: 'expr' [13:14:08.406] - Field: 'uuid' [13:14:08.406] - Field: 'seed' [13:14:08.407] - Field: 'version' [13:14:08.407] - Field: 'result' [13:14:08.407] - Field: 'asynchronous' [13:14:08.407] - Field: 'calls' [13:14:08.407] - Field: 'globals' [13:14:08.408] - Field: 'stdout' [13:14:08.408] - Field: 'earlySignal' [13:14:08.408] - Field: 'lazy' [13:14:08.408] - Field: 'state' [13:14:08.408] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.408] - Launch lazy future ... [13:14:08.409] Packages needed by the future expression (n = 0): [13:14:08.409] Packages needed by future strategies (n = 0): [13:14:08.410] { [13:14:08.410] { [13:14:08.410] { [13:14:08.410] ...future.startTime <- base::Sys.time() [13:14:08.410] { [13:14:08.410] { [13:14:08.410] { [13:14:08.410] { [13:14:08.410] base::local({ [13:14:08.410] has_future <- base::requireNamespace("future", [13:14:08.410] quietly = TRUE) [13:14:08.410] if (has_future) { [13:14:08.410] ns <- base::getNamespace("future") [13:14:08.410] version <- ns[[".package"]][["version"]] [13:14:08.410] if (is.null(version)) [13:14:08.410] version <- utils::packageVersion("future") [13:14:08.410] } [13:14:08.410] else { [13:14:08.410] version <- NULL [13:14:08.410] } [13:14:08.410] if (!has_future || version < "1.8.0") { [13:14:08.410] info <- base::c(r_version = base::gsub("R version ", [13:14:08.410] "", base::R.version$version.string), [13:14:08.410] platform = base::sprintf("%s (%s-bit)", [13:14:08.410] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.410] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.410] "release", "version")], collapse = " "), [13:14:08.410] hostname = base::Sys.info()[["nodename"]]) [13:14:08.410] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.410] info) [13:14:08.410] info <- base::paste(info, collapse = "; ") [13:14:08.410] if (!has_future) { [13:14:08.410] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.410] info) [13:14:08.410] } [13:14:08.410] else { [13:14:08.410] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.410] info, version) [13:14:08.410] } [13:14:08.410] base::stop(msg) [13:14:08.410] } [13:14:08.410] }) [13:14:08.410] } [13:14:08.410] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.410] base::options(mc.cores = 1L) [13:14:08.410] } [13:14:08.410] options(future.plan = NULL) [13:14:08.410] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.410] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.410] } [13:14:08.410] ...future.workdir <- getwd() [13:14:08.410] } [13:14:08.410] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.410] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.410] } [13:14:08.410] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.410] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.410] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.410] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.410] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.410] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.410] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.410] base::names(...future.oldOptions)) [13:14:08.410] } [13:14:08.410] if (FALSE) { [13:14:08.410] } [13:14:08.410] else { [13:14:08.410] if (TRUE) { [13:14:08.410] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.410] open = "w") [13:14:08.410] } [13:14:08.410] else { [13:14:08.410] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.410] windows = "NUL", "/dev/null"), open = "w") [13:14:08.410] } [13:14:08.410] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.410] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.410] base::sink(type = "output", split = FALSE) [13:14:08.410] base::close(...future.stdout) [13:14:08.410] }, add = TRUE) [13:14:08.410] } [13:14:08.410] ...future.frame <- base::sys.nframe() [13:14:08.410] ...future.conditions <- base::list() [13:14:08.410] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.410] if (FALSE) { [13:14:08.410] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.410] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.410] } [13:14:08.410] ...future.result <- base::tryCatch({ [13:14:08.410] base::withCallingHandlers({ [13:14:08.410] ...future.value <- base::withVisible(base::local({ [13:14:08.410] ...future.makeSendCondition <- local({ [13:14:08.410] sendCondition <- NULL [13:14:08.410] function(frame = 1L) { [13:14:08.410] if (is.function(sendCondition)) [13:14:08.410] return(sendCondition) [13:14:08.410] ns <- getNamespace("parallel") [13:14:08.410] if (exists("sendData", mode = "function", [13:14:08.410] envir = ns)) { [13:14:08.410] parallel_sendData <- get("sendData", mode = "function", [13:14:08.410] envir = ns) [13:14:08.410] envir <- sys.frame(frame) [13:14:08.410] master <- NULL [13:14:08.410] while (!identical(envir, .GlobalEnv) && [13:14:08.410] !identical(envir, emptyenv())) { [13:14:08.410] if (exists("master", mode = "list", envir = envir, [13:14:08.410] inherits = FALSE)) { [13:14:08.410] master <- get("master", mode = "list", [13:14:08.410] envir = envir, inherits = FALSE) [13:14:08.410] if (inherits(master, c("SOCKnode", [13:14:08.410] "SOCK0node"))) { [13:14:08.410] sendCondition <<- function(cond) { [13:14:08.410] data <- list(type = "VALUE", value = cond, [13:14:08.410] success = TRUE) [13:14:08.410] parallel_sendData(master, data) [13:14:08.410] } [13:14:08.410] return(sendCondition) [13:14:08.410] } [13:14:08.410] } [13:14:08.410] frame <- frame + 1L [13:14:08.410] envir <- sys.frame(frame) [13:14:08.410] } [13:14:08.410] } [13:14:08.410] sendCondition <<- function(cond) NULL [13:14:08.410] } [13:14:08.410] }) [13:14:08.410] withCallingHandlers({ [13:14:08.410] { [13:14:08.410] do.call(function(...) { [13:14:08.410] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.410] if (!identical(...future.globals.maxSize.org, [13:14:08.410] ...future.globals.maxSize)) { [13:14:08.410] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.410] on.exit(options(oopts), add = TRUE) [13:14:08.410] } [13:14:08.410] { [13:14:08.410] lapply(seq_along(...future.elements_ii), [13:14:08.410] FUN = function(jj) { [13:14:08.410] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.410] ...future.FUN(...future.X_jj, ...) [13:14:08.410] }) [13:14:08.410] } [13:14:08.410] }, args = future.call.arguments) [13:14:08.410] } [13:14:08.410] }, immediateCondition = function(cond) { [13:14:08.410] sendCondition <- ...future.makeSendCondition() [13:14:08.410] sendCondition(cond) [13:14:08.410] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.410] { [13:14:08.410] inherits <- base::inherits [13:14:08.410] invokeRestart <- base::invokeRestart [13:14:08.410] is.null <- base::is.null [13:14:08.410] muffled <- FALSE [13:14:08.410] if (inherits(cond, "message")) { [13:14:08.410] muffled <- grepl(pattern, "muffleMessage") [13:14:08.410] if (muffled) [13:14:08.410] invokeRestart("muffleMessage") [13:14:08.410] } [13:14:08.410] else if (inherits(cond, "warning")) { [13:14:08.410] muffled <- grepl(pattern, "muffleWarning") [13:14:08.410] if (muffled) [13:14:08.410] invokeRestart("muffleWarning") [13:14:08.410] } [13:14:08.410] else if (inherits(cond, "condition")) { [13:14:08.410] if (!is.null(pattern)) { [13:14:08.410] computeRestarts <- base::computeRestarts [13:14:08.410] grepl <- base::grepl [13:14:08.410] restarts <- computeRestarts(cond) [13:14:08.410] for (restart in restarts) { [13:14:08.410] name <- restart$name [13:14:08.410] if (is.null(name)) [13:14:08.410] next [13:14:08.410] if (!grepl(pattern, name)) [13:14:08.410] next [13:14:08.410] invokeRestart(restart) [13:14:08.410] muffled <- TRUE [13:14:08.410] break [13:14:08.410] } [13:14:08.410] } [13:14:08.410] } [13:14:08.410] invisible(muffled) [13:14:08.410] } [13:14:08.410] muffleCondition(cond) [13:14:08.410] }) [13:14:08.410] })) [13:14:08.410] future::FutureResult(value = ...future.value$value, [13:14:08.410] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.410] ...future.rng), globalenv = if (FALSE) [13:14:08.410] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.410] ...future.globalenv.names)) [13:14:08.410] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.410] }, condition = base::local({ [13:14:08.410] c <- base::c [13:14:08.410] inherits <- base::inherits [13:14:08.410] invokeRestart <- base::invokeRestart [13:14:08.410] length <- base::length [13:14:08.410] list <- base::list [13:14:08.410] seq.int <- base::seq.int [13:14:08.410] signalCondition <- base::signalCondition [13:14:08.410] sys.calls <- base::sys.calls [13:14:08.410] `[[` <- base::`[[` [13:14:08.410] `+` <- base::`+` [13:14:08.410] `<<-` <- base::`<<-` [13:14:08.410] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.410] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.410] 3L)] [13:14:08.410] } [13:14:08.410] function(cond) { [13:14:08.410] is_error <- inherits(cond, "error") [13:14:08.410] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.410] NULL) [13:14:08.410] if (is_error) { [13:14:08.410] sessionInformation <- function() { [13:14:08.410] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.410] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.410] search = base::search(), system = base::Sys.info()) [13:14:08.410] } [13:14:08.410] ...future.conditions[[length(...future.conditions) + [13:14:08.410] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.410] cond$call), session = sessionInformation(), [13:14:08.410] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.410] signalCondition(cond) [13:14:08.410] } [13:14:08.410] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.410] "immediateCondition"))) { [13:14:08.410] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.410] ...future.conditions[[length(...future.conditions) + [13:14:08.410] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.410] if (TRUE && !signal) { [13:14:08.410] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.410] { [13:14:08.410] inherits <- base::inherits [13:14:08.410] invokeRestart <- base::invokeRestart [13:14:08.410] is.null <- base::is.null [13:14:08.410] muffled <- FALSE [13:14:08.410] if (inherits(cond, "message")) { [13:14:08.410] muffled <- grepl(pattern, "muffleMessage") [13:14:08.410] if (muffled) [13:14:08.410] invokeRestart("muffleMessage") [13:14:08.410] } [13:14:08.410] else if (inherits(cond, "warning")) { [13:14:08.410] muffled <- grepl(pattern, "muffleWarning") [13:14:08.410] if (muffled) [13:14:08.410] invokeRestart("muffleWarning") [13:14:08.410] } [13:14:08.410] else if (inherits(cond, "condition")) { [13:14:08.410] if (!is.null(pattern)) { [13:14:08.410] computeRestarts <- base::computeRestarts [13:14:08.410] grepl <- base::grepl [13:14:08.410] restarts <- computeRestarts(cond) [13:14:08.410] for (restart in restarts) { [13:14:08.410] name <- restart$name [13:14:08.410] if (is.null(name)) [13:14:08.410] next [13:14:08.410] if (!grepl(pattern, name)) [13:14:08.410] next [13:14:08.410] invokeRestart(restart) [13:14:08.410] muffled <- TRUE [13:14:08.410] break [13:14:08.410] } [13:14:08.410] } [13:14:08.410] } [13:14:08.410] invisible(muffled) [13:14:08.410] } [13:14:08.410] muffleCondition(cond, pattern = "^muffle") [13:14:08.410] } [13:14:08.410] } [13:14:08.410] else { [13:14:08.410] if (TRUE) { [13:14:08.410] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.410] { [13:14:08.410] inherits <- base::inherits [13:14:08.410] invokeRestart <- base::invokeRestart [13:14:08.410] is.null <- base::is.null [13:14:08.410] muffled <- FALSE [13:14:08.410] if (inherits(cond, "message")) { [13:14:08.410] muffled <- grepl(pattern, "muffleMessage") [13:14:08.410] if (muffled) [13:14:08.410] invokeRestart("muffleMessage") [13:14:08.410] } [13:14:08.410] else if (inherits(cond, "warning")) { [13:14:08.410] muffled <- grepl(pattern, "muffleWarning") [13:14:08.410] if (muffled) [13:14:08.410] invokeRestart("muffleWarning") [13:14:08.410] } [13:14:08.410] else if (inherits(cond, "condition")) { [13:14:08.410] if (!is.null(pattern)) { [13:14:08.410] computeRestarts <- base::computeRestarts [13:14:08.410] grepl <- base::grepl [13:14:08.410] restarts <- computeRestarts(cond) [13:14:08.410] for (restart in restarts) { [13:14:08.410] name <- restart$name [13:14:08.410] if (is.null(name)) [13:14:08.410] next [13:14:08.410] if (!grepl(pattern, name)) [13:14:08.410] next [13:14:08.410] invokeRestart(restart) [13:14:08.410] muffled <- TRUE [13:14:08.410] break [13:14:08.410] } [13:14:08.410] } [13:14:08.410] } [13:14:08.410] invisible(muffled) [13:14:08.410] } [13:14:08.410] muffleCondition(cond, pattern = "^muffle") [13:14:08.410] } [13:14:08.410] } [13:14:08.410] } [13:14:08.410] })) [13:14:08.410] }, error = function(ex) { [13:14:08.410] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.410] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.410] ...future.rng), started = ...future.startTime, [13:14:08.410] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.410] version = "1.8"), class = "FutureResult") [13:14:08.410] }, finally = { [13:14:08.410] if (!identical(...future.workdir, getwd())) [13:14:08.410] setwd(...future.workdir) [13:14:08.410] { [13:14:08.410] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.410] ...future.oldOptions$nwarnings <- NULL [13:14:08.410] } [13:14:08.410] base::options(...future.oldOptions) [13:14:08.410] if (.Platform$OS.type == "windows") { [13:14:08.410] old_names <- names(...future.oldEnvVars) [13:14:08.410] envs <- base::Sys.getenv() [13:14:08.410] names <- names(envs) [13:14:08.410] common <- intersect(names, old_names) [13:14:08.410] added <- setdiff(names, old_names) [13:14:08.410] removed <- setdiff(old_names, names) [13:14:08.410] changed <- common[...future.oldEnvVars[common] != [13:14:08.410] envs[common]] [13:14:08.410] NAMES <- toupper(changed) [13:14:08.410] args <- list() [13:14:08.410] for (kk in seq_along(NAMES)) { [13:14:08.410] name <- changed[[kk]] [13:14:08.410] NAME <- NAMES[[kk]] [13:14:08.410] if (name != NAME && is.element(NAME, old_names)) [13:14:08.410] next [13:14:08.410] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.410] } [13:14:08.410] NAMES <- toupper(added) [13:14:08.410] for (kk in seq_along(NAMES)) { [13:14:08.410] name <- added[[kk]] [13:14:08.410] NAME <- NAMES[[kk]] [13:14:08.410] if (name != NAME && is.element(NAME, old_names)) [13:14:08.410] next [13:14:08.410] args[[name]] <- "" [13:14:08.410] } [13:14:08.410] NAMES <- toupper(removed) [13:14:08.410] for (kk in seq_along(NAMES)) { [13:14:08.410] name <- removed[[kk]] [13:14:08.410] NAME <- NAMES[[kk]] [13:14:08.410] if (name != NAME && is.element(NAME, old_names)) [13:14:08.410] next [13:14:08.410] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.410] } [13:14:08.410] if (length(args) > 0) [13:14:08.410] base::do.call(base::Sys.setenv, args = args) [13:14:08.410] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.410] } [13:14:08.410] else { [13:14:08.410] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.410] } [13:14:08.410] { [13:14:08.410] if (base::length(...future.futureOptionsAdded) > [13:14:08.410] 0L) { [13:14:08.410] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.410] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.410] base::options(opts) [13:14:08.410] } [13:14:08.410] { [13:14:08.410] { [13:14:08.410] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.410] NULL [13:14:08.410] } [13:14:08.410] options(future.plan = NULL) [13:14:08.410] if (is.na(NA_character_)) [13:14:08.410] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.410] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.410] future::plan(list(function (..., workers = availableCores(), [13:14:08.410] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.410] envir = parent.frame()) [13:14:08.410] { [13:14:08.410] if (is.function(workers)) [13:14:08.410] workers <- workers() [13:14:08.410] workers <- structure(as.integer(workers), [13:14:08.410] class = class(workers)) [13:14:08.410] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.410] workers >= 1) [13:14:08.410] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.410] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.410] } [13:14:08.410] future <- MultisessionFuture(..., workers = workers, [13:14:08.410] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.410] envir = envir) [13:14:08.410] if (!future$lazy) [13:14:08.410] future <- run(future) [13:14:08.410] invisible(future) [13:14:08.410] }), .cleanup = FALSE, .init = FALSE) [13:14:08.410] } [13:14:08.410] } [13:14:08.410] } [13:14:08.410] }) [13:14:08.410] if (TRUE) { [13:14:08.410] base::sink(type = "output", split = FALSE) [13:14:08.410] if (TRUE) { [13:14:08.410] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.410] } [13:14:08.410] else { [13:14:08.410] ...future.result["stdout"] <- base::list(NULL) [13:14:08.410] } [13:14:08.410] base::close(...future.stdout) [13:14:08.410] ...future.stdout <- NULL [13:14:08.410] } [13:14:08.410] ...future.result$conditions <- ...future.conditions [13:14:08.410] ...future.result$finished <- base::Sys.time() [13:14:08.410] ...future.result [13:14:08.410] } [13:14:08.415] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:08.415] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:08.416] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:08.416] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.416] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.417] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.417] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.417] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.418] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.418] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.418] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.418] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:08.419] MultisessionFuture started [13:14:08.419] - Launch lazy future ... done [13:14:08.419] run() for 'MultisessionFuture' ... done [13:14:08.420] Created future: [13:14:08.435] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.436] - Validating connection of MultisessionFuture [13:14:08.436] - received message: FutureResult [13:14:08.436] - Received FutureResult [13:14:08.436] - Erased future from FutureRegistry [13:14:08.437] result() for ClusterFuture ... [13:14:08.437] - result already collected: FutureResult [13:14:08.437] result() for ClusterFuture ... done [13:14:08.437] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.420] MultisessionFuture: [13:14:08.420] Label: 'future_sapply-2' [13:14:08.420] Expression: [13:14:08.420] { [13:14:08.420] do.call(function(...) { [13:14:08.420] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.420] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.420] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.420] on.exit(options(oopts), add = TRUE) [13:14:08.420] } [13:14:08.420] { [13:14:08.420] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.420] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.420] ...future.FUN(...future.X_jj, ...) [13:14:08.420] }) [13:14:08.420] } [13:14:08.420] }, args = future.call.arguments) [13:14:08.420] } [13:14:08.420] Lazy evaluation: FALSE [13:14:08.420] Asynchronous evaluation: TRUE [13:14:08.420] Local evaluation: TRUE [13:14:08.420] Environment: R_GlobalEnv [13:14:08.420] Capture standard output: TRUE [13:14:08.420] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.420] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.420] Packages: [13:14:08.420] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.420] Resolved: TRUE [13:14:08.420] Value: [13:14:08.420] Conditions captured: [13:14:08.420] Early signaling: FALSE [13:14:08.420] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.420] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.440] Chunk #2 of 2 ... DONE [13:14:08.440] Launching 2 futures (chunks) ... DONE [13:14:08.440] Resolving 2 futures (chunks) ... [13:14:08.440] resolve() on list ... [13:14:08.441] recursive: 0 [13:14:08.441] length: 2 [13:14:08.441] [13:14:08.441] Future #1 [13:14:08.441] result() for ClusterFuture ... [13:14:08.441] - result already collected: FutureResult [13:14:08.442] result() for ClusterFuture ... done [13:14:08.442] result() for ClusterFuture ... [13:14:08.442] - result already collected: FutureResult [13:14:08.442] result() for ClusterFuture ... done [13:14:08.442] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:08.443] - nx: 2 [13:14:08.443] - relay: TRUE [13:14:08.443] - stdout: TRUE [13:14:08.443] - signal: TRUE [13:14:08.443] - resignal: FALSE [13:14:08.443] - force: TRUE [13:14:08.443] - relayed: [n=2] FALSE, FALSE [13:14:08.444] - queued futures: [n=2] FALSE, FALSE [13:14:08.444] - until=1 [13:14:08.444] - relaying element #1 [13:14:08.444] result() for ClusterFuture ... [13:14:08.444] - result already collected: FutureResult [13:14:08.444] result() for ClusterFuture ... done [13:14:08.445] result() for ClusterFuture ... [13:14:08.445] - result already collected: FutureResult [13:14:08.445] result() for ClusterFuture ... done [13:14:08.445] result() for ClusterFuture ... [13:14:08.445] - result already collected: FutureResult [13:14:08.445] result() for ClusterFuture ... done [13:14:08.446] result() for ClusterFuture ... [13:14:08.446] - result already collected: FutureResult [13:14:08.446] result() for ClusterFuture ... done [13:14:08.446] - relayed: [n=2] TRUE, FALSE [13:14:08.446] - queued futures: [n=2] TRUE, FALSE [13:14:08.446] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:08.447] length: 1 (resolved future 1) [13:14:08.447] Future #2 [13:14:08.447] result() for ClusterFuture ... [13:14:08.447] - result already collected: FutureResult [13:14:08.447] result() for ClusterFuture ... done [13:14:08.447] result() for ClusterFuture ... [13:14:08.448] - result already collected: FutureResult [13:14:08.448] result() for ClusterFuture ... done [13:14:08.448] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:08.448] - nx: 2 [13:14:08.448] - relay: TRUE [13:14:08.448] - stdout: TRUE [13:14:08.448] - signal: TRUE [13:14:08.449] - resignal: FALSE [13:14:08.449] - force: TRUE [13:14:08.449] - relayed: [n=2] TRUE, FALSE [13:14:08.449] - queued futures: [n=2] TRUE, FALSE [13:14:08.449] - until=2 [13:14:08.449] - relaying element #2 [13:14:08.449] result() for ClusterFuture ... [13:14:08.450] - result already collected: FutureResult [13:14:08.450] result() for ClusterFuture ... done [13:14:08.450] result() for ClusterFuture ... [13:14:08.450] - result already collected: FutureResult [13:14:08.450] result() for ClusterFuture ... done [13:14:08.450] result() for ClusterFuture ... [13:14:08.451] - result already collected: FutureResult [13:14:08.451] result() for ClusterFuture ... done [13:14:08.451] result() for ClusterFuture ... [13:14:08.451] - result already collected: FutureResult [13:14:08.451] result() for ClusterFuture ... done [13:14:08.451] - relayed: [n=2] TRUE, TRUE [13:14:08.452] - queued futures: [n=2] TRUE, TRUE [13:14:08.452] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:08.452] length: 0 (resolved future 2) [13:14:08.452] Relaying remaining futures [13:14:08.452] signalConditionsASAP(NULL, pos=0) ... [13:14:08.452] - nx: 2 [13:14:08.452] - relay: TRUE [13:14:08.453] - stdout: TRUE [13:14:08.453] - signal: TRUE [13:14:08.453] - resignal: FALSE [13:14:08.453] - force: TRUE [13:14:08.453] - relayed: [n=2] TRUE, TRUE [13:14:08.453] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:08.454] - relayed: [n=2] TRUE, TRUE [13:14:08.454] - queued futures: [n=2] TRUE, TRUE [13:14:08.454] signalConditionsASAP(NULL, pos=0) ... done [13:14:08.454] resolve() on list ... DONE [13:14:08.454] result() for ClusterFuture ... [13:14:08.454] - result already collected: FutureResult [13:14:08.455] result() for ClusterFuture ... done [13:14:08.455] result() for ClusterFuture ... [13:14:08.455] - result already collected: FutureResult [13:14:08.455] result() for ClusterFuture ... done [13:14:08.455] result() for ClusterFuture ... [13:14:08.455] - result already collected: FutureResult [13:14:08.456] result() for ClusterFuture ... done [13:14:08.456] result() for ClusterFuture ... [13:14:08.456] - result already collected: FutureResult [13:14:08.456] result() for ClusterFuture ... done [13:14:08.456] - Number of value chunks collected: 2 [13:14:08.456] Resolving 2 futures (chunks) ... DONE [13:14:08.456] Reducing values from 2 chunks ... [13:14:08.457] - Number of values collected after concatenation: 6 [13:14:08.457] - Number of values expected: 6 [13:14:08.457] Reducing values from 2 chunks ... DONE [13:14:08.457] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y1:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 List of 2 $ y0:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 $ y2:List of 6 ..$ a1: int 1 ..$ a2: int 2 ..$ b1: int 2 ..$ b2: int 3 ..$ c1: int 3 ..$ c2: int 4 [13:14:08.468] future_lapply() ... [13:14:08.470] Number of chunks: 2 [13:14:08.471] getGlobalsAndPackagesXApply() ... [13:14:08.471] - future.globals: TRUE [13:14:08.471] getGlobalsAndPackages() ... [13:14:08.471] Searching for globals... [13:14:08.472] - globals found: [2] 'FUN', 'UseMethod' [13:14:08.473] Searching for globals ... DONE [13:14:08.473] Resolving globals: FALSE [13:14:08.473] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:08.474] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:08.474] - globals: [1] 'FUN' [13:14:08.474] [13:14:08.474] getGlobalsAndPackages() ... DONE [13:14:08.474] - globals found/used: [n=1] 'FUN' [13:14:08.475] - needed namespaces: [n=0] [13:14:08.475] Finding globals ... DONE [13:14:08.475] - use_args: TRUE [13:14:08.475] - Getting '...' globals ... [13:14:08.475] resolve() on list ... [13:14:08.476] recursive: 0 [13:14:08.476] length: 1 [13:14:08.476] elements: '...' [13:14:08.476] length: 0 (resolved future 1) [13:14:08.476] resolve() on list ... DONE [13:14:08.476] - '...' content: [n=0] [13:14:08.477] List of 1 [13:14:08.477] $ ...: list() [13:14:08.477] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.477] - attr(*, "where")=List of 1 [13:14:08.477] ..$ ...: [13:14:08.477] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.477] - attr(*, "resolved")= logi TRUE [13:14:08.477] - attr(*, "total_size")= num NA [13:14:08.480] - Getting '...' globals ... DONE [13:14:08.480] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:08.480] List of 2 [13:14:08.480] $ ...future.FUN:function (x, ...) [13:14:08.480] $ ... : list() [13:14:08.480] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.480] - attr(*, "where")=List of 2 [13:14:08.480] ..$ ...future.FUN: [13:14:08.480] ..$ ... : [13:14:08.480] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.480] - attr(*, "resolved")= logi FALSE [13:14:08.480] - attr(*, "total_size")= num 1248 [13:14:08.483] Packages to be attached in all futures: [n=0] [13:14:08.483] getGlobalsAndPackagesXApply() ... DONE [13:14:08.484] Number of futures (= number of chunks): 2 [13:14:08.484] Launching 2 futures (chunks) ... [13:14:08.484] Chunk #1 of 2 ... [13:14:08.484] - Finding globals in 'X' for chunk #1 ... [13:14:08.484] getGlobalsAndPackages() ... [13:14:08.485] Searching for globals... [13:14:08.485] [13:14:08.485] Searching for globals ... DONE [13:14:08.485] - globals: [0] [13:14:08.485] getGlobalsAndPackages() ... DONE [13:14:08.486] + additional globals found: [n=0] [13:14:08.486] + additional namespaces needed: [n=0] [13:14:08.486] - Finding globals in 'X' for chunk #1 ... DONE [13:14:08.486] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.486] - seeds: [13:14:08.486] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.487] getGlobalsAndPackages() ... [13:14:08.487] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.487] Resolving globals: FALSE [13:14:08.487] Tweak future expression to call with '...' arguments ... [13:14:08.487] { [13:14:08.487] do.call(function(...) { [13:14:08.487] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.487] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.487] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.487] on.exit(options(oopts), add = TRUE) [13:14:08.487] } [13:14:08.487] { [13:14:08.487] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.487] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.487] ...future.FUN(...future.X_jj, ...) [13:14:08.487] }) [13:14:08.487] } [13:14:08.487] }, args = future.call.arguments) [13:14:08.487] } [13:14:08.488] Tweak future expression to call with '...' arguments ... DONE [13:14:08.488] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.488] [13:14:08.488] getGlobalsAndPackages() ... DONE [13:14:08.489] run() for 'Future' ... [13:14:08.489] - state: 'created' [13:14:08.489] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.504] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.504] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.504] - Field: 'node' [13:14:08.504] - Field: 'label' [13:14:08.505] - Field: 'local' [13:14:08.505] - Field: 'owner' [13:14:08.505] - Field: 'envir' [13:14:08.505] - Field: 'workers' [13:14:08.505] - Field: 'packages' [13:14:08.505] - Field: 'gc' [13:14:08.506] - Field: 'conditions' [13:14:08.506] - Field: 'persistent' [13:14:08.506] - Field: 'expr' [13:14:08.506] - Field: 'uuid' [13:14:08.506] - Field: 'seed' [13:14:08.507] - Field: 'version' [13:14:08.507] - Field: 'result' [13:14:08.507] - Field: 'asynchronous' [13:14:08.507] - Field: 'calls' [13:14:08.507] - Field: 'globals' [13:14:08.507] - Field: 'stdout' [13:14:08.508] - Field: 'earlySignal' [13:14:08.508] - Field: 'lazy' [13:14:08.508] - Field: 'state' [13:14:08.508] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.508] - Launch lazy future ... [13:14:08.509] Packages needed by the future expression (n = 0): [13:14:08.509] Packages needed by future strategies (n = 0): [13:14:08.509] { [13:14:08.509] { [13:14:08.509] { [13:14:08.509] ...future.startTime <- base::Sys.time() [13:14:08.509] { [13:14:08.509] { [13:14:08.509] { [13:14:08.509] { [13:14:08.509] base::local({ [13:14:08.509] has_future <- base::requireNamespace("future", [13:14:08.509] quietly = TRUE) [13:14:08.509] if (has_future) { [13:14:08.509] ns <- base::getNamespace("future") [13:14:08.509] version <- ns[[".package"]][["version"]] [13:14:08.509] if (is.null(version)) [13:14:08.509] version <- utils::packageVersion("future") [13:14:08.509] } [13:14:08.509] else { [13:14:08.509] version <- NULL [13:14:08.509] } [13:14:08.509] if (!has_future || version < "1.8.0") { [13:14:08.509] info <- base::c(r_version = base::gsub("R version ", [13:14:08.509] "", base::R.version$version.string), [13:14:08.509] platform = base::sprintf("%s (%s-bit)", [13:14:08.509] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.509] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.509] "release", "version")], collapse = " "), [13:14:08.509] hostname = base::Sys.info()[["nodename"]]) [13:14:08.509] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.509] info) [13:14:08.509] info <- base::paste(info, collapse = "; ") [13:14:08.509] if (!has_future) { [13:14:08.509] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.509] info) [13:14:08.509] } [13:14:08.509] else { [13:14:08.509] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.509] info, version) [13:14:08.509] } [13:14:08.509] base::stop(msg) [13:14:08.509] } [13:14:08.509] }) [13:14:08.509] } [13:14:08.509] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.509] base::options(mc.cores = 1L) [13:14:08.509] } [13:14:08.509] options(future.plan = NULL) [13:14:08.509] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.509] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.509] } [13:14:08.509] ...future.workdir <- getwd() [13:14:08.509] } [13:14:08.509] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.509] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.509] } [13:14:08.509] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.509] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.509] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.509] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.509] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.509] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.509] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.509] base::names(...future.oldOptions)) [13:14:08.509] } [13:14:08.509] if (FALSE) { [13:14:08.509] } [13:14:08.509] else { [13:14:08.509] if (TRUE) { [13:14:08.509] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.509] open = "w") [13:14:08.509] } [13:14:08.509] else { [13:14:08.509] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.509] windows = "NUL", "/dev/null"), open = "w") [13:14:08.509] } [13:14:08.509] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.509] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.509] base::sink(type = "output", split = FALSE) [13:14:08.509] base::close(...future.stdout) [13:14:08.509] }, add = TRUE) [13:14:08.509] } [13:14:08.509] ...future.frame <- base::sys.nframe() [13:14:08.509] ...future.conditions <- base::list() [13:14:08.509] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.509] if (FALSE) { [13:14:08.509] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.509] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.509] } [13:14:08.509] ...future.result <- base::tryCatch({ [13:14:08.509] base::withCallingHandlers({ [13:14:08.509] ...future.value <- base::withVisible(base::local({ [13:14:08.509] ...future.makeSendCondition <- local({ [13:14:08.509] sendCondition <- NULL [13:14:08.509] function(frame = 1L) { [13:14:08.509] if (is.function(sendCondition)) [13:14:08.509] return(sendCondition) [13:14:08.509] ns <- getNamespace("parallel") [13:14:08.509] if (exists("sendData", mode = "function", [13:14:08.509] envir = ns)) { [13:14:08.509] parallel_sendData <- get("sendData", mode = "function", [13:14:08.509] envir = ns) [13:14:08.509] envir <- sys.frame(frame) [13:14:08.509] master <- NULL [13:14:08.509] while (!identical(envir, .GlobalEnv) && [13:14:08.509] !identical(envir, emptyenv())) { [13:14:08.509] if (exists("master", mode = "list", envir = envir, [13:14:08.509] inherits = FALSE)) { [13:14:08.509] master <- get("master", mode = "list", [13:14:08.509] envir = envir, inherits = FALSE) [13:14:08.509] if (inherits(master, c("SOCKnode", [13:14:08.509] "SOCK0node"))) { [13:14:08.509] sendCondition <<- function(cond) { [13:14:08.509] data <- list(type = "VALUE", value = cond, [13:14:08.509] success = TRUE) [13:14:08.509] parallel_sendData(master, data) [13:14:08.509] } [13:14:08.509] return(sendCondition) [13:14:08.509] } [13:14:08.509] } [13:14:08.509] frame <- frame + 1L [13:14:08.509] envir <- sys.frame(frame) [13:14:08.509] } [13:14:08.509] } [13:14:08.509] sendCondition <<- function(cond) NULL [13:14:08.509] } [13:14:08.509] }) [13:14:08.509] withCallingHandlers({ [13:14:08.509] { [13:14:08.509] do.call(function(...) { [13:14:08.509] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.509] if (!identical(...future.globals.maxSize.org, [13:14:08.509] ...future.globals.maxSize)) { [13:14:08.509] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.509] on.exit(options(oopts), add = TRUE) [13:14:08.509] } [13:14:08.509] { [13:14:08.509] lapply(seq_along(...future.elements_ii), [13:14:08.509] FUN = function(jj) { [13:14:08.509] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.509] ...future.FUN(...future.X_jj, ...) [13:14:08.509] }) [13:14:08.509] } [13:14:08.509] }, args = future.call.arguments) [13:14:08.509] } [13:14:08.509] }, immediateCondition = function(cond) { [13:14:08.509] sendCondition <- ...future.makeSendCondition() [13:14:08.509] sendCondition(cond) [13:14:08.509] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.509] { [13:14:08.509] inherits <- base::inherits [13:14:08.509] invokeRestart <- base::invokeRestart [13:14:08.509] is.null <- base::is.null [13:14:08.509] muffled <- FALSE [13:14:08.509] if (inherits(cond, "message")) { [13:14:08.509] muffled <- grepl(pattern, "muffleMessage") [13:14:08.509] if (muffled) [13:14:08.509] invokeRestart("muffleMessage") [13:14:08.509] } [13:14:08.509] else if (inherits(cond, "warning")) { [13:14:08.509] muffled <- grepl(pattern, "muffleWarning") [13:14:08.509] if (muffled) [13:14:08.509] invokeRestart("muffleWarning") [13:14:08.509] } [13:14:08.509] else if (inherits(cond, "condition")) { [13:14:08.509] if (!is.null(pattern)) { [13:14:08.509] computeRestarts <- base::computeRestarts [13:14:08.509] grepl <- base::grepl [13:14:08.509] restarts <- computeRestarts(cond) [13:14:08.509] for (restart in restarts) { [13:14:08.509] name <- restart$name [13:14:08.509] if (is.null(name)) [13:14:08.509] next [13:14:08.509] if (!grepl(pattern, name)) [13:14:08.509] next [13:14:08.509] invokeRestart(restart) [13:14:08.509] muffled <- TRUE [13:14:08.509] break [13:14:08.509] } [13:14:08.509] } [13:14:08.509] } [13:14:08.509] invisible(muffled) [13:14:08.509] } [13:14:08.509] muffleCondition(cond) [13:14:08.509] }) [13:14:08.509] })) [13:14:08.509] future::FutureResult(value = ...future.value$value, [13:14:08.509] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.509] ...future.rng), globalenv = if (FALSE) [13:14:08.509] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.509] ...future.globalenv.names)) [13:14:08.509] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.509] }, condition = base::local({ [13:14:08.509] c <- base::c [13:14:08.509] inherits <- base::inherits [13:14:08.509] invokeRestart <- base::invokeRestart [13:14:08.509] length <- base::length [13:14:08.509] list <- base::list [13:14:08.509] seq.int <- base::seq.int [13:14:08.509] signalCondition <- base::signalCondition [13:14:08.509] sys.calls <- base::sys.calls [13:14:08.509] `[[` <- base::`[[` [13:14:08.509] `+` <- base::`+` [13:14:08.509] `<<-` <- base::`<<-` [13:14:08.509] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.509] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.509] 3L)] [13:14:08.509] } [13:14:08.509] function(cond) { [13:14:08.509] is_error <- inherits(cond, "error") [13:14:08.509] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.509] NULL) [13:14:08.509] if (is_error) { [13:14:08.509] sessionInformation <- function() { [13:14:08.509] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.509] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.509] search = base::search(), system = base::Sys.info()) [13:14:08.509] } [13:14:08.509] ...future.conditions[[length(...future.conditions) + [13:14:08.509] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.509] cond$call), session = sessionInformation(), [13:14:08.509] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.509] signalCondition(cond) [13:14:08.509] } [13:14:08.509] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.509] "immediateCondition"))) { [13:14:08.509] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.509] ...future.conditions[[length(...future.conditions) + [13:14:08.509] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.509] if (TRUE && !signal) { [13:14:08.509] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.509] { [13:14:08.509] inherits <- base::inherits [13:14:08.509] invokeRestart <- base::invokeRestart [13:14:08.509] is.null <- base::is.null [13:14:08.509] muffled <- FALSE [13:14:08.509] if (inherits(cond, "message")) { [13:14:08.509] muffled <- grepl(pattern, "muffleMessage") [13:14:08.509] if (muffled) [13:14:08.509] invokeRestart("muffleMessage") [13:14:08.509] } [13:14:08.509] else if (inherits(cond, "warning")) { [13:14:08.509] muffled <- grepl(pattern, "muffleWarning") [13:14:08.509] if (muffled) [13:14:08.509] invokeRestart("muffleWarning") [13:14:08.509] } [13:14:08.509] else if (inherits(cond, "condition")) { [13:14:08.509] if (!is.null(pattern)) { [13:14:08.509] computeRestarts <- base::computeRestarts [13:14:08.509] grepl <- base::grepl [13:14:08.509] restarts <- computeRestarts(cond) [13:14:08.509] for (restart in restarts) { [13:14:08.509] name <- restart$name [13:14:08.509] if (is.null(name)) [13:14:08.509] next [13:14:08.509] if (!grepl(pattern, name)) [13:14:08.509] next [13:14:08.509] invokeRestart(restart) [13:14:08.509] muffled <- TRUE [13:14:08.509] break [13:14:08.509] } [13:14:08.509] } [13:14:08.509] } [13:14:08.509] invisible(muffled) [13:14:08.509] } [13:14:08.509] muffleCondition(cond, pattern = "^muffle") [13:14:08.509] } [13:14:08.509] } [13:14:08.509] else { [13:14:08.509] if (TRUE) { [13:14:08.509] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.509] { [13:14:08.509] inherits <- base::inherits [13:14:08.509] invokeRestart <- base::invokeRestart [13:14:08.509] is.null <- base::is.null [13:14:08.509] muffled <- FALSE [13:14:08.509] if (inherits(cond, "message")) { [13:14:08.509] muffled <- grepl(pattern, "muffleMessage") [13:14:08.509] if (muffled) [13:14:08.509] invokeRestart("muffleMessage") [13:14:08.509] } [13:14:08.509] else if (inherits(cond, "warning")) { [13:14:08.509] muffled <- grepl(pattern, "muffleWarning") [13:14:08.509] if (muffled) [13:14:08.509] invokeRestart("muffleWarning") [13:14:08.509] } [13:14:08.509] else if (inherits(cond, "condition")) { [13:14:08.509] if (!is.null(pattern)) { [13:14:08.509] computeRestarts <- base::computeRestarts [13:14:08.509] grepl <- base::grepl [13:14:08.509] restarts <- computeRestarts(cond) [13:14:08.509] for (restart in restarts) { [13:14:08.509] name <- restart$name [13:14:08.509] if (is.null(name)) [13:14:08.509] next [13:14:08.509] if (!grepl(pattern, name)) [13:14:08.509] next [13:14:08.509] invokeRestart(restart) [13:14:08.509] muffled <- TRUE [13:14:08.509] break [13:14:08.509] } [13:14:08.509] } [13:14:08.509] } [13:14:08.509] invisible(muffled) [13:14:08.509] } [13:14:08.509] muffleCondition(cond, pattern = "^muffle") [13:14:08.509] } [13:14:08.509] } [13:14:08.509] } [13:14:08.509] })) [13:14:08.509] }, error = function(ex) { [13:14:08.509] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.509] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.509] ...future.rng), started = ...future.startTime, [13:14:08.509] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.509] version = "1.8"), class = "FutureResult") [13:14:08.509] }, finally = { [13:14:08.509] if (!identical(...future.workdir, getwd())) [13:14:08.509] setwd(...future.workdir) [13:14:08.509] { [13:14:08.509] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.509] ...future.oldOptions$nwarnings <- NULL [13:14:08.509] } [13:14:08.509] base::options(...future.oldOptions) [13:14:08.509] if (.Platform$OS.type == "windows") { [13:14:08.509] old_names <- names(...future.oldEnvVars) [13:14:08.509] envs <- base::Sys.getenv() [13:14:08.509] names <- names(envs) [13:14:08.509] common <- intersect(names, old_names) [13:14:08.509] added <- setdiff(names, old_names) [13:14:08.509] removed <- setdiff(old_names, names) [13:14:08.509] changed <- common[...future.oldEnvVars[common] != [13:14:08.509] envs[common]] [13:14:08.509] NAMES <- toupper(changed) [13:14:08.509] args <- list() [13:14:08.509] for (kk in seq_along(NAMES)) { [13:14:08.509] name <- changed[[kk]] [13:14:08.509] NAME <- NAMES[[kk]] [13:14:08.509] if (name != NAME && is.element(NAME, old_names)) [13:14:08.509] next [13:14:08.509] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.509] } [13:14:08.509] NAMES <- toupper(added) [13:14:08.509] for (kk in seq_along(NAMES)) { [13:14:08.509] name <- added[[kk]] [13:14:08.509] NAME <- NAMES[[kk]] [13:14:08.509] if (name != NAME && is.element(NAME, old_names)) [13:14:08.509] next [13:14:08.509] args[[name]] <- "" [13:14:08.509] } [13:14:08.509] NAMES <- toupper(removed) [13:14:08.509] for (kk in seq_along(NAMES)) { [13:14:08.509] name <- removed[[kk]] [13:14:08.509] NAME <- NAMES[[kk]] [13:14:08.509] if (name != NAME && is.element(NAME, old_names)) [13:14:08.509] next [13:14:08.509] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.509] } [13:14:08.509] if (length(args) > 0) [13:14:08.509] base::do.call(base::Sys.setenv, args = args) [13:14:08.509] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.509] } [13:14:08.509] else { [13:14:08.509] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.509] } [13:14:08.509] { [13:14:08.509] if (base::length(...future.futureOptionsAdded) > [13:14:08.509] 0L) { [13:14:08.509] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.509] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.509] base::options(opts) [13:14:08.509] } [13:14:08.509] { [13:14:08.509] { [13:14:08.509] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.509] NULL [13:14:08.509] } [13:14:08.509] options(future.plan = NULL) [13:14:08.509] if (is.na(NA_character_)) [13:14:08.509] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.509] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.509] future::plan(list(function (..., workers = availableCores(), [13:14:08.509] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.509] envir = parent.frame()) [13:14:08.509] { [13:14:08.509] if (is.function(workers)) [13:14:08.509] workers <- workers() [13:14:08.509] workers <- structure(as.integer(workers), [13:14:08.509] class = class(workers)) [13:14:08.509] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.509] workers >= 1) [13:14:08.509] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.509] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.509] } [13:14:08.509] future <- MultisessionFuture(..., workers = workers, [13:14:08.509] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.509] envir = envir) [13:14:08.509] if (!future$lazy) [13:14:08.509] future <- run(future) [13:14:08.509] invisible(future) [13:14:08.509] }), .cleanup = FALSE, .init = FALSE) [13:14:08.509] } [13:14:08.509] } [13:14:08.509] } [13:14:08.509] }) [13:14:08.509] if (TRUE) { [13:14:08.509] base::sink(type = "output", split = FALSE) [13:14:08.509] if (TRUE) { [13:14:08.509] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.509] } [13:14:08.509] else { [13:14:08.509] ...future.result["stdout"] <- base::list(NULL) [13:14:08.509] } [13:14:08.509] base::close(...future.stdout) [13:14:08.509] ...future.stdout <- NULL [13:14:08.509] } [13:14:08.509] ...future.result$conditions <- ...future.conditions [13:14:08.509] ...future.result$finished <- base::Sys.time() [13:14:08.509] ...future.result [13:14:08.509] } [13:14:08.515] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:08.515] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:08.516] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:08.516] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.516] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.517] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.517] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.517] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.518] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.518] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.519] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.519] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:08.519] MultisessionFuture started [13:14:08.520] - Launch lazy future ... done [13:14:08.520] run() for 'MultisessionFuture' ... done [13:14:08.520] Created future: [13:14:08.535] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.535] - Validating connection of MultisessionFuture [13:14:08.535] - received message: FutureResult [13:14:08.536] - Received FutureResult [13:14:08.536] - Erased future from FutureRegistry [13:14:08.536] result() for ClusterFuture ... [13:14:08.536] - result already collected: FutureResult [13:14:08.536] result() for ClusterFuture ... done [13:14:08.536] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.520] MultisessionFuture: [13:14:08.520] Label: 'future_sapply-1' [13:14:08.520] Expression: [13:14:08.520] { [13:14:08.520] do.call(function(...) { [13:14:08.520] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.520] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.520] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.520] on.exit(options(oopts), add = TRUE) [13:14:08.520] } [13:14:08.520] { [13:14:08.520] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.520] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.520] ...future.FUN(...future.X_jj, ...) [13:14:08.520] }) [13:14:08.520] } [13:14:08.520] }, args = future.call.arguments) [13:14:08.520] } [13:14:08.520] Lazy evaluation: FALSE [13:14:08.520] Asynchronous evaluation: TRUE [13:14:08.520] Local evaluation: TRUE [13:14:08.520] Environment: R_GlobalEnv [13:14:08.520] Capture standard output: TRUE [13:14:08.520] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.520] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.520] Packages: [13:14:08.520] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.520] Resolved: TRUE [13:14:08.520] Value: [13:14:08.520] Conditions captured: [13:14:08.520] Early signaling: FALSE [13:14:08.520] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.520] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.537] Chunk #1 of 2 ... DONE [13:14:08.537] Chunk #2 of 2 ... [13:14:08.537] - Finding globals in 'X' for chunk #2 ... [13:14:08.537] getGlobalsAndPackages() ... [13:14:08.538] Searching for globals... [13:14:08.538] [13:14:08.538] Searching for globals ... DONE [13:14:08.538] - globals: [0] [13:14:08.538] getGlobalsAndPackages() ... DONE [13:14:08.539] + additional globals found: [n=0] [13:14:08.539] + additional namespaces needed: [n=0] [13:14:08.539] - Finding globals in 'X' for chunk #2 ... DONE [13:14:08.539] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.539] - seeds: [13:14:08.539] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.540] getGlobalsAndPackages() ... [13:14:08.540] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.540] Resolving globals: FALSE [13:14:08.540] Tweak future expression to call with '...' arguments ... [13:14:08.540] { [13:14:08.540] do.call(function(...) { [13:14:08.540] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.540] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.540] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.540] on.exit(options(oopts), add = TRUE) [13:14:08.540] } [13:14:08.540] { [13:14:08.540] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.540] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.540] ...future.FUN(...future.X_jj, ...) [13:14:08.540] }) [13:14:08.540] } [13:14:08.540] }, args = future.call.arguments) [13:14:08.540] } [13:14:08.541] Tweak future expression to call with '...' arguments ... DONE [13:14:08.541] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.541] [13:14:08.542] getGlobalsAndPackages() ... DONE [13:14:08.542] run() for 'Future' ... [13:14:08.542] - state: 'created' [13:14:08.542] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.556] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.556] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.557] - Field: 'node' [13:14:08.557] - Field: 'label' [13:14:08.557] - Field: 'local' [13:14:08.557] - Field: 'owner' [13:14:08.557] - Field: 'envir' [13:14:08.558] - Field: 'workers' [13:14:08.558] - Field: 'packages' [13:14:08.558] - Field: 'gc' [13:14:08.558] - Field: 'conditions' [13:14:08.558] - Field: 'persistent' [13:14:08.558] - Field: 'expr' [13:14:08.559] - Field: 'uuid' [13:14:08.559] - Field: 'seed' [13:14:08.559] - Field: 'version' [13:14:08.559] - Field: 'result' [13:14:08.559] - Field: 'asynchronous' [13:14:08.559] - Field: 'calls' [13:14:08.560] - Field: 'globals' [13:14:08.560] - Field: 'stdout' [13:14:08.560] - Field: 'earlySignal' [13:14:08.560] - Field: 'lazy' [13:14:08.560] - Field: 'state' [13:14:08.561] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.561] - Launch lazy future ... [13:14:08.561] Packages needed by the future expression (n = 0): [13:14:08.561] Packages needed by future strategies (n = 0): [13:14:08.562] { [13:14:08.562] { [13:14:08.562] { [13:14:08.562] ...future.startTime <- base::Sys.time() [13:14:08.562] { [13:14:08.562] { [13:14:08.562] { [13:14:08.562] { [13:14:08.562] base::local({ [13:14:08.562] has_future <- base::requireNamespace("future", [13:14:08.562] quietly = TRUE) [13:14:08.562] if (has_future) { [13:14:08.562] ns <- base::getNamespace("future") [13:14:08.562] version <- ns[[".package"]][["version"]] [13:14:08.562] if (is.null(version)) [13:14:08.562] version <- utils::packageVersion("future") [13:14:08.562] } [13:14:08.562] else { [13:14:08.562] version <- NULL [13:14:08.562] } [13:14:08.562] if (!has_future || version < "1.8.0") { [13:14:08.562] info <- base::c(r_version = base::gsub("R version ", [13:14:08.562] "", base::R.version$version.string), [13:14:08.562] platform = base::sprintf("%s (%s-bit)", [13:14:08.562] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.562] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.562] "release", "version")], collapse = " "), [13:14:08.562] hostname = base::Sys.info()[["nodename"]]) [13:14:08.562] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.562] info) [13:14:08.562] info <- base::paste(info, collapse = "; ") [13:14:08.562] if (!has_future) { [13:14:08.562] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.562] info) [13:14:08.562] } [13:14:08.562] else { [13:14:08.562] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.562] info, version) [13:14:08.562] } [13:14:08.562] base::stop(msg) [13:14:08.562] } [13:14:08.562] }) [13:14:08.562] } [13:14:08.562] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.562] base::options(mc.cores = 1L) [13:14:08.562] } [13:14:08.562] options(future.plan = NULL) [13:14:08.562] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.562] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.562] } [13:14:08.562] ...future.workdir <- getwd() [13:14:08.562] } [13:14:08.562] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.562] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.562] } [13:14:08.562] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.562] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.562] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.562] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.562] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.562] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.562] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.562] base::names(...future.oldOptions)) [13:14:08.562] } [13:14:08.562] if (FALSE) { [13:14:08.562] } [13:14:08.562] else { [13:14:08.562] if (TRUE) { [13:14:08.562] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.562] open = "w") [13:14:08.562] } [13:14:08.562] else { [13:14:08.562] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.562] windows = "NUL", "/dev/null"), open = "w") [13:14:08.562] } [13:14:08.562] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.562] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.562] base::sink(type = "output", split = FALSE) [13:14:08.562] base::close(...future.stdout) [13:14:08.562] }, add = TRUE) [13:14:08.562] } [13:14:08.562] ...future.frame <- base::sys.nframe() [13:14:08.562] ...future.conditions <- base::list() [13:14:08.562] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.562] if (FALSE) { [13:14:08.562] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.562] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.562] } [13:14:08.562] ...future.result <- base::tryCatch({ [13:14:08.562] base::withCallingHandlers({ [13:14:08.562] ...future.value <- base::withVisible(base::local({ [13:14:08.562] ...future.makeSendCondition <- local({ [13:14:08.562] sendCondition <- NULL [13:14:08.562] function(frame = 1L) { [13:14:08.562] if (is.function(sendCondition)) [13:14:08.562] return(sendCondition) [13:14:08.562] ns <- getNamespace("parallel") [13:14:08.562] if (exists("sendData", mode = "function", [13:14:08.562] envir = ns)) { [13:14:08.562] parallel_sendData <- get("sendData", mode = "function", [13:14:08.562] envir = ns) [13:14:08.562] envir <- sys.frame(frame) [13:14:08.562] master <- NULL [13:14:08.562] while (!identical(envir, .GlobalEnv) && [13:14:08.562] !identical(envir, emptyenv())) { [13:14:08.562] if (exists("master", mode = "list", envir = envir, [13:14:08.562] inherits = FALSE)) { [13:14:08.562] master <- get("master", mode = "list", [13:14:08.562] envir = envir, inherits = FALSE) [13:14:08.562] if (inherits(master, c("SOCKnode", [13:14:08.562] "SOCK0node"))) { [13:14:08.562] sendCondition <<- function(cond) { [13:14:08.562] data <- list(type = "VALUE", value = cond, [13:14:08.562] success = TRUE) [13:14:08.562] parallel_sendData(master, data) [13:14:08.562] } [13:14:08.562] return(sendCondition) [13:14:08.562] } [13:14:08.562] } [13:14:08.562] frame <- frame + 1L [13:14:08.562] envir <- sys.frame(frame) [13:14:08.562] } [13:14:08.562] } [13:14:08.562] sendCondition <<- function(cond) NULL [13:14:08.562] } [13:14:08.562] }) [13:14:08.562] withCallingHandlers({ [13:14:08.562] { [13:14:08.562] do.call(function(...) { [13:14:08.562] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.562] if (!identical(...future.globals.maxSize.org, [13:14:08.562] ...future.globals.maxSize)) { [13:14:08.562] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.562] on.exit(options(oopts), add = TRUE) [13:14:08.562] } [13:14:08.562] { [13:14:08.562] lapply(seq_along(...future.elements_ii), [13:14:08.562] FUN = function(jj) { [13:14:08.562] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.562] ...future.FUN(...future.X_jj, ...) [13:14:08.562] }) [13:14:08.562] } [13:14:08.562] }, args = future.call.arguments) [13:14:08.562] } [13:14:08.562] }, immediateCondition = function(cond) { [13:14:08.562] sendCondition <- ...future.makeSendCondition() [13:14:08.562] sendCondition(cond) [13:14:08.562] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.562] { [13:14:08.562] inherits <- base::inherits [13:14:08.562] invokeRestart <- base::invokeRestart [13:14:08.562] is.null <- base::is.null [13:14:08.562] muffled <- FALSE [13:14:08.562] if (inherits(cond, "message")) { [13:14:08.562] muffled <- grepl(pattern, "muffleMessage") [13:14:08.562] if (muffled) [13:14:08.562] invokeRestart("muffleMessage") [13:14:08.562] } [13:14:08.562] else if (inherits(cond, "warning")) { [13:14:08.562] muffled <- grepl(pattern, "muffleWarning") [13:14:08.562] if (muffled) [13:14:08.562] invokeRestart("muffleWarning") [13:14:08.562] } [13:14:08.562] else if (inherits(cond, "condition")) { [13:14:08.562] if (!is.null(pattern)) { [13:14:08.562] computeRestarts <- base::computeRestarts [13:14:08.562] grepl <- base::grepl [13:14:08.562] restarts <- computeRestarts(cond) [13:14:08.562] for (restart in restarts) { [13:14:08.562] name <- restart$name [13:14:08.562] if (is.null(name)) [13:14:08.562] next [13:14:08.562] if (!grepl(pattern, name)) [13:14:08.562] next [13:14:08.562] invokeRestart(restart) [13:14:08.562] muffled <- TRUE [13:14:08.562] break [13:14:08.562] } [13:14:08.562] } [13:14:08.562] } [13:14:08.562] invisible(muffled) [13:14:08.562] } [13:14:08.562] muffleCondition(cond) [13:14:08.562] }) [13:14:08.562] })) [13:14:08.562] future::FutureResult(value = ...future.value$value, [13:14:08.562] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.562] ...future.rng), globalenv = if (FALSE) [13:14:08.562] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.562] ...future.globalenv.names)) [13:14:08.562] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.562] }, condition = base::local({ [13:14:08.562] c <- base::c [13:14:08.562] inherits <- base::inherits [13:14:08.562] invokeRestart <- base::invokeRestart [13:14:08.562] length <- base::length [13:14:08.562] list <- base::list [13:14:08.562] seq.int <- base::seq.int [13:14:08.562] signalCondition <- base::signalCondition [13:14:08.562] sys.calls <- base::sys.calls [13:14:08.562] `[[` <- base::`[[` [13:14:08.562] `+` <- base::`+` [13:14:08.562] `<<-` <- base::`<<-` [13:14:08.562] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.562] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.562] 3L)] [13:14:08.562] } [13:14:08.562] function(cond) { [13:14:08.562] is_error <- inherits(cond, "error") [13:14:08.562] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.562] NULL) [13:14:08.562] if (is_error) { [13:14:08.562] sessionInformation <- function() { [13:14:08.562] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.562] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.562] search = base::search(), system = base::Sys.info()) [13:14:08.562] } [13:14:08.562] ...future.conditions[[length(...future.conditions) + [13:14:08.562] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.562] cond$call), session = sessionInformation(), [13:14:08.562] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.562] signalCondition(cond) [13:14:08.562] } [13:14:08.562] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.562] "immediateCondition"))) { [13:14:08.562] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.562] ...future.conditions[[length(...future.conditions) + [13:14:08.562] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.562] if (TRUE && !signal) { [13:14:08.562] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.562] { [13:14:08.562] inherits <- base::inherits [13:14:08.562] invokeRestart <- base::invokeRestart [13:14:08.562] is.null <- base::is.null [13:14:08.562] muffled <- FALSE [13:14:08.562] if (inherits(cond, "message")) { [13:14:08.562] muffled <- grepl(pattern, "muffleMessage") [13:14:08.562] if (muffled) [13:14:08.562] invokeRestart("muffleMessage") [13:14:08.562] } [13:14:08.562] else if (inherits(cond, "warning")) { [13:14:08.562] muffled <- grepl(pattern, "muffleWarning") [13:14:08.562] if (muffled) [13:14:08.562] invokeRestart("muffleWarning") [13:14:08.562] } [13:14:08.562] else if (inherits(cond, "condition")) { [13:14:08.562] if (!is.null(pattern)) { [13:14:08.562] computeRestarts <- base::computeRestarts [13:14:08.562] grepl <- base::grepl [13:14:08.562] restarts <- computeRestarts(cond) [13:14:08.562] for (restart in restarts) { [13:14:08.562] name <- restart$name [13:14:08.562] if (is.null(name)) [13:14:08.562] next [13:14:08.562] if (!grepl(pattern, name)) [13:14:08.562] next [13:14:08.562] invokeRestart(restart) [13:14:08.562] muffled <- TRUE [13:14:08.562] break [13:14:08.562] } [13:14:08.562] } [13:14:08.562] } [13:14:08.562] invisible(muffled) [13:14:08.562] } [13:14:08.562] muffleCondition(cond, pattern = "^muffle") [13:14:08.562] } [13:14:08.562] } [13:14:08.562] else { [13:14:08.562] if (TRUE) { [13:14:08.562] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.562] { [13:14:08.562] inherits <- base::inherits [13:14:08.562] invokeRestart <- base::invokeRestart [13:14:08.562] is.null <- base::is.null [13:14:08.562] muffled <- FALSE [13:14:08.562] if (inherits(cond, "message")) { [13:14:08.562] muffled <- grepl(pattern, "muffleMessage") [13:14:08.562] if (muffled) [13:14:08.562] invokeRestart("muffleMessage") [13:14:08.562] } [13:14:08.562] else if (inherits(cond, "warning")) { [13:14:08.562] muffled <- grepl(pattern, "muffleWarning") [13:14:08.562] if (muffled) [13:14:08.562] invokeRestart("muffleWarning") [13:14:08.562] } [13:14:08.562] else if (inherits(cond, "condition")) { [13:14:08.562] if (!is.null(pattern)) { [13:14:08.562] computeRestarts <- base::computeRestarts [13:14:08.562] grepl <- base::grepl [13:14:08.562] restarts <- computeRestarts(cond) [13:14:08.562] for (restart in restarts) { [13:14:08.562] name <- restart$name [13:14:08.562] if (is.null(name)) [13:14:08.562] next [13:14:08.562] if (!grepl(pattern, name)) [13:14:08.562] next [13:14:08.562] invokeRestart(restart) [13:14:08.562] muffled <- TRUE [13:14:08.562] break [13:14:08.562] } [13:14:08.562] } [13:14:08.562] } [13:14:08.562] invisible(muffled) [13:14:08.562] } [13:14:08.562] muffleCondition(cond, pattern = "^muffle") [13:14:08.562] } [13:14:08.562] } [13:14:08.562] } [13:14:08.562] })) [13:14:08.562] }, error = function(ex) { [13:14:08.562] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.562] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.562] ...future.rng), started = ...future.startTime, [13:14:08.562] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.562] version = "1.8"), class = "FutureResult") [13:14:08.562] }, finally = { [13:14:08.562] if (!identical(...future.workdir, getwd())) [13:14:08.562] setwd(...future.workdir) [13:14:08.562] { [13:14:08.562] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.562] ...future.oldOptions$nwarnings <- NULL [13:14:08.562] } [13:14:08.562] base::options(...future.oldOptions) [13:14:08.562] if (.Platform$OS.type == "windows") { [13:14:08.562] old_names <- names(...future.oldEnvVars) [13:14:08.562] envs <- base::Sys.getenv() [13:14:08.562] names <- names(envs) [13:14:08.562] common <- intersect(names, old_names) [13:14:08.562] added <- setdiff(names, old_names) [13:14:08.562] removed <- setdiff(old_names, names) [13:14:08.562] changed <- common[...future.oldEnvVars[common] != [13:14:08.562] envs[common]] [13:14:08.562] NAMES <- toupper(changed) [13:14:08.562] args <- list() [13:14:08.562] for (kk in seq_along(NAMES)) { [13:14:08.562] name <- changed[[kk]] [13:14:08.562] NAME <- NAMES[[kk]] [13:14:08.562] if (name != NAME && is.element(NAME, old_names)) [13:14:08.562] next [13:14:08.562] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.562] } [13:14:08.562] NAMES <- toupper(added) [13:14:08.562] for (kk in seq_along(NAMES)) { [13:14:08.562] name <- added[[kk]] [13:14:08.562] NAME <- NAMES[[kk]] [13:14:08.562] if (name != NAME && is.element(NAME, old_names)) [13:14:08.562] next [13:14:08.562] args[[name]] <- "" [13:14:08.562] } [13:14:08.562] NAMES <- toupper(removed) [13:14:08.562] for (kk in seq_along(NAMES)) { [13:14:08.562] name <- removed[[kk]] [13:14:08.562] NAME <- NAMES[[kk]] [13:14:08.562] if (name != NAME && is.element(NAME, old_names)) [13:14:08.562] next [13:14:08.562] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.562] } [13:14:08.562] if (length(args) > 0) [13:14:08.562] base::do.call(base::Sys.setenv, args = args) [13:14:08.562] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.562] } [13:14:08.562] else { [13:14:08.562] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.562] } [13:14:08.562] { [13:14:08.562] if (base::length(...future.futureOptionsAdded) > [13:14:08.562] 0L) { [13:14:08.562] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.562] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.562] base::options(opts) [13:14:08.562] } [13:14:08.562] { [13:14:08.562] { [13:14:08.562] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.562] NULL [13:14:08.562] } [13:14:08.562] options(future.plan = NULL) [13:14:08.562] if (is.na(NA_character_)) [13:14:08.562] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.562] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.562] future::plan(list(function (..., workers = availableCores(), [13:14:08.562] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.562] envir = parent.frame()) [13:14:08.562] { [13:14:08.562] if (is.function(workers)) [13:14:08.562] workers <- workers() [13:14:08.562] workers <- structure(as.integer(workers), [13:14:08.562] class = class(workers)) [13:14:08.562] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.562] workers >= 1) [13:14:08.562] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.562] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.562] } [13:14:08.562] future <- MultisessionFuture(..., workers = workers, [13:14:08.562] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.562] envir = envir) [13:14:08.562] if (!future$lazy) [13:14:08.562] future <- run(future) [13:14:08.562] invisible(future) [13:14:08.562] }), .cleanup = FALSE, .init = FALSE) [13:14:08.562] } [13:14:08.562] } [13:14:08.562] } [13:14:08.562] }) [13:14:08.562] if (TRUE) { [13:14:08.562] base::sink(type = "output", split = FALSE) [13:14:08.562] if (TRUE) { [13:14:08.562] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.562] } [13:14:08.562] else { [13:14:08.562] ...future.result["stdout"] <- base::list(NULL) [13:14:08.562] } [13:14:08.562] base::close(...future.stdout) [13:14:08.562] ...future.stdout <- NULL [13:14:08.562] } [13:14:08.562] ...future.result$conditions <- ...future.conditions [13:14:08.562] ...future.result$finished <- base::Sys.time() [13:14:08.562] ...future.result [13:14:08.562] } [13:14:08.567] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:08.568] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:08.568] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:08.568] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.569] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.569] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.569] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.570] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.570] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.570] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.571] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.571] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:08.572] MultisessionFuture started [13:14:08.572] - Launch lazy future ... done [13:14:08.572] run() for 'MultisessionFuture' ... done [13:14:08.572] Created future: [13:14:08.588] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.588] - Validating connection of MultisessionFuture [13:14:08.588] - received message: FutureResult [13:14:08.589] - Received FutureResult [13:14:08.589] - Erased future from FutureRegistry [13:14:08.589] result() for ClusterFuture ... [13:14:08.589] - result already collected: FutureResult [13:14:08.589] result() for ClusterFuture ... done [13:14:08.589] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.572] MultisessionFuture: [13:14:08.572] Label: 'future_sapply-2' [13:14:08.572] Expression: [13:14:08.572] { [13:14:08.572] do.call(function(...) { [13:14:08.572] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.572] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.572] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.572] on.exit(options(oopts), add = TRUE) [13:14:08.572] } [13:14:08.572] { [13:14:08.572] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.572] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.572] ...future.FUN(...future.X_jj, ...) [13:14:08.572] }) [13:14:08.572] } [13:14:08.572] }, args = future.call.arguments) [13:14:08.572] } [13:14:08.572] Lazy evaluation: FALSE [13:14:08.572] Asynchronous evaluation: TRUE [13:14:08.572] Local evaluation: TRUE [13:14:08.572] Environment: R_GlobalEnv [13:14:08.572] Capture standard output: TRUE [13:14:08.572] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.572] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.572] Packages: [13:14:08.572] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.572] Resolved: TRUE [13:14:08.572] Value: [13:14:08.572] Conditions captured: [13:14:08.572] Early signaling: FALSE [13:14:08.572] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.572] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.590] Chunk #2 of 2 ... DONE [13:14:08.590] Launching 2 futures (chunks) ... DONE [13:14:08.590] Resolving 2 futures (chunks) ... [13:14:08.590] resolve() on list ... [13:14:08.591] recursive: 0 [13:14:08.591] length: 2 [13:14:08.591] [13:14:08.591] Future #1 [13:14:08.591] result() for ClusterFuture ... [13:14:08.591] - result already collected: FutureResult [13:14:08.592] result() for ClusterFuture ... done [13:14:08.592] result() for ClusterFuture ... [13:14:08.592] - result already collected: FutureResult [13:14:08.592] result() for ClusterFuture ... done [13:14:08.592] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:08.592] - nx: 2 [13:14:08.593] - relay: TRUE [13:14:08.593] - stdout: TRUE [13:14:08.593] - signal: TRUE [13:14:08.593] - resignal: FALSE [13:14:08.593] - force: TRUE [13:14:08.593] - relayed: [n=2] FALSE, FALSE [13:14:08.593] - queued futures: [n=2] FALSE, FALSE [13:14:08.594] - until=1 [13:14:08.594] - relaying element #1 [13:14:08.594] result() for ClusterFuture ... [13:14:08.596] - result already collected: FutureResult [13:14:08.597] result() for ClusterFuture ... done [13:14:08.597] result() for ClusterFuture ... [13:14:08.597] - result already collected: FutureResult [13:14:08.597] result() for ClusterFuture ... done [13:14:08.597] result() for ClusterFuture ... [13:14:08.598] - result already collected: FutureResult [13:14:08.598] result() for ClusterFuture ... done [13:14:08.598] result() for ClusterFuture ... [13:14:08.598] - result already collected: FutureResult [13:14:08.598] result() for ClusterFuture ... done [13:14:08.598] - relayed: [n=2] TRUE, FALSE [13:14:08.599] - queued futures: [n=2] TRUE, FALSE [13:14:08.599] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:08.599] length: 1 (resolved future 1) [13:14:08.599] Future #2 [13:14:08.599] result() for ClusterFuture ... [13:14:08.600] - result already collected: FutureResult [13:14:08.600] result() for ClusterFuture ... done [13:14:08.600] result() for ClusterFuture ... [13:14:08.600] - result already collected: FutureResult [13:14:08.600] result() for ClusterFuture ... done [13:14:08.600] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:08.601] - nx: 2 [13:14:08.601] - relay: TRUE [13:14:08.601] - stdout: TRUE [13:14:08.601] - signal: TRUE [13:14:08.601] - resignal: FALSE [13:14:08.601] - force: TRUE [13:14:08.601] - relayed: [n=2] TRUE, FALSE [13:14:08.602] - queued futures: [n=2] TRUE, FALSE [13:14:08.602] - until=2 [13:14:08.602] - relaying element #2 [13:14:08.602] result() for ClusterFuture ... [13:14:08.602] - result already collected: FutureResult [13:14:08.602] result() for ClusterFuture ... done [13:14:08.603] result() for ClusterFuture ... [13:14:08.603] - result already collected: FutureResult [13:14:08.603] result() for ClusterFuture ... done [13:14:08.603] result() for ClusterFuture ... [13:14:08.603] - result already collected: FutureResult [13:14:08.603] result() for ClusterFuture ... done [13:14:08.604] result() for ClusterFuture ... [13:14:08.604] - result already collected: FutureResult [13:14:08.604] result() for ClusterFuture ... done [13:14:08.604] - relayed: [n=2] TRUE, TRUE [13:14:08.604] - queued futures: [n=2] TRUE, TRUE [13:14:08.604] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:08.604] length: 0 (resolved future 2) [13:14:08.605] Relaying remaining futures [13:14:08.605] signalConditionsASAP(NULL, pos=0) ... [13:14:08.605] - nx: 2 [13:14:08.605] - relay: TRUE [13:14:08.605] - stdout: TRUE [13:14:08.605] - signal: TRUE [13:14:08.605] - resignal: FALSE [13:14:08.606] - force: TRUE [13:14:08.606] - relayed: [n=2] TRUE, TRUE [13:14:08.606] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:08.606] - relayed: [n=2] TRUE, TRUE [13:14:08.606] - queued futures: [n=2] TRUE, TRUE [13:14:08.607] signalConditionsASAP(NULL, pos=0) ... done [13:14:08.607] resolve() on list ... DONE [13:14:08.607] result() for ClusterFuture ... [13:14:08.607] - result already collected: FutureResult [13:14:08.607] result() for ClusterFuture ... done [13:14:08.607] result() for ClusterFuture ... [13:14:08.607] - result already collected: FutureResult [13:14:08.608] result() for ClusterFuture ... done [13:14:08.608] result() for ClusterFuture ... [13:14:08.608] - result already collected: FutureResult [13:14:08.608] result() for ClusterFuture ... done [13:14:08.608] result() for ClusterFuture ... [13:14:08.608] - result already collected: FutureResult [13:14:08.609] result() for ClusterFuture ... done [13:14:08.609] - Number of value chunks collected: 2 [13:14:08.609] Resolving 2 futures (chunks) ... DONE [13:14:08.609] Reducing values from 2 chunks ... [13:14:08.609] - Number of values collected after concatenation: 6 [13:14:08.609] - Number of values expected: 6 [13:14:08.610] Reducing values from 2 chunks ... DONE [13:14:08.610] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y1:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 List of 2 $ y0:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 $ y2:List of 6 ..$ a1: int [1, 1] 1 ..$ a2: int [1, 1] 2 ..$ b1: int [1, 1] 2 ..$ b2: int [1, 1] 3 ..$ c1: int [1, 1] 3 ..$ c2: int [1, 1] 4 [13:14:08.621] future_lapply() ... [13:14:08.625] Number of chunks: 2 [13:14:08.625] getGlobalsAndPackagesXApply() ... [13:14:08.625] - future.globals: TRUE [13:14:08.625] getGlobalsAndPackages() ... [13:14:08.625] Searching for globals... [13:14:08.627] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:08.627] Searching for globals ... DONE [13:14:08.627] Resolving globals: FALSE [13:14:08.628] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:08.628] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:08.629] - globals: [1] 'FUN' [13:14:08.629] [13:14:08.629] getGlobalsAndPackages() ... DONE [13:14:08.629] - globals found/used: [n=1] 'FUN' [13:14:08.629] - needed namespaces: [n=0] [13:14:08.629] Finding globals ... DONE [13:14:08.630] - use_args: TRUE [13:14:08.630] - Getting '...' globals ... [13:14:08.630] resolve() on list ... [13:14:08.630] recursive: 0 [13:14:08.631] length: 1 [13:14:08.631] elements: '...' [13:14:08.631] length: 0 (resolved future 1) [13:14:08.631] resolve() on list ... DONE [13:14:08.631] - '...' content: [n=0] [13:14:08.631] List of 1 [13:14:08.631] $ ...: list() [13:14:08.631] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.631] - attr(*, "where")=List of 1 [13:14:08.631] ..$ ...: [13:14:08.631] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.631] - attr(*, "resolved")= logi TRUE [13:14:08.631] - attr(*, "total_size")= num NA [13:14:08.634] - Getting '...' globals ... DONE [13:14:08.635] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:08.635] List of 2 [13:14:08.635] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:08.635] $ ... : list() [13:14:08.635] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.635] - attr(*, "where")=List of 2 [13:14:08.635] ..$ ...future.FUN: [13:14:08.635] ..$ ... : [13:14:08.635] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.635] - attr(*, "resolved")= logi FALSE [13:14:08.635] - attr(*, "total_size")= num 4728 [13:14:08.638] Packages to be attached in all futures: [n=0] [13:14:08.638] getGlobalsAndPackagesXApply() ... DONE [13:14:08.638] Number of futures (= number of chunks): 2 [13:14:08.639] Launching 2 futures (chunks) ... [13:14:08.639] Chunk #1 of 2 ... [13:14:08.639] - Finding globals in 'X' for chunk #1 ... [13:14:08.639] getGlobalsAndPackages() ... [13:14:08.639] Searching for globals... [13:14:08.640] [13:14:08.640] Searching for globals ... DONE [13:14:08.640] - globals: [0] [13:14:08.640] getGlobalsAndPackages() ... DONE [13:14:08.640] + additional globals found: [n=0] [13:14:08.640] + additional namespaces needed: [n=0] [13:14:08.641] - Finding globals in 'X' for chunk #1 ... DONE [13:14:08.641] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.641] - seeds: [13:14:08.641] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.641] getGlobalsAndPackages() ... [13:14:08.641] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.642] Resolving globals: FALSE [13:14:08.642] Tweak future expression to call with '...' arguments ... [13:14:08.642] { [13:14:08.642] do.call(function(...) { [13:14:08.642] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.642] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.642] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.642] on.exit(options(oopts), add = TRUE) [13:14:08.642] } [13:14:08.642] { [13:14:08.642] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.642] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.642] ...future.FUN(...future.X_jj, ...) [13:14:08.642] }) [13:14:08.642] } [13:14:08.642] }, args = future.call.arguments) [13:14:08.642] } [13:14:08.642] Tweak future expression to call with '...' arguments ... DONE [13:14:08.643] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.643] [13:14:08.643] getGlobalsAndPackages() ... DONE [13:14:08.644] run() for 'Future' ... [13:14:08.644] - state: 'created' [13:14:08.644] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.658] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.658] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.658] - Field: 'node' [13:14:08.659] - Field: 'label' [13:14:08.659] - Field: 'local' [13:14:08.659] - Field: 'owner' [13:14:08.659] - Field: 'envir' [13:14:08.659] - Field: 'workers' [13:14:08.660] - Field: 'packages' [13:14:08.660] - Field: 'gc' [13:14:08.660] - Field: 'conditions' [13:14:08.660] - Field: 'persistent' [13:14:08.660] - Field: 'expr' [13:14:08.660] - Field: 'uuid' [13:14:08.661] - Field: 'seed' [13:14:08.661] - Field: 'version' [13:14:08.661] - Field: 'result' [13:14:08.661] - Field: 'asynchronous' [13:14:08.661] - Field: 'calls' [13:14:08.661] - Field: 'globals' [13:14:08.662] - Field: 'stdout' [13:14:08.662] - Field: 'earlySignal' [13:14:08.662] - Field: 'lazy' [13:14:08.662] - Field: 'state' [13:14:08.662] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.662] - Launch lazy future ... [13:14:08.663] Packages needed by the future expression (n = 0): [13:14:08.663] Packages needed by future strategies (n = 0): [13:14:08.664] { [13:14:08.664] { [13:14:08.664] { [13:14:08.664] ...future.startTime <- base::Sys.time() [13:14:08.664] { [13:14:08.664] { [13:14:08.664] { [13:14:08.664] { [13:14:08.664] base::local({ [13:14:08.664] has_future <- base::requireNamespace("future", [13:14:08.664] quietly = TRUE) [13:14:08.664] if (has_future) { [13:14:08.664] ns <- base::getNamespace("future") [13:14:08.664] version <- ns[[".package"]][["version"]] [13:14:08.664] if (is.null(version)) [13:14:08.664] version <- utils::packageVersion("future") [13:14:08.664] } [13:14:08.664] else { [13:14:08.664] version <- NULL [13:14:08.664] } [13:14:08.664] if (!has_future || version < "1.8.0") { [13:14:08.664] info <- base::c(r_version = base::gsub("R version ", [13:14:08.664] "", base::R.version$version.string), [13:14:08.664] platform = base::sprintf("%s (%s-bit)", [13:14:08.664] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.664] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.664] "release", "version")], collapse = " "), [13:14:08.664] hostname = base::Sys.info()[["nodename"]]) [13:14:08.664] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.664] info) [13:14:08.664] info <- base::paste(info, collapse = "; ") [13:14:08.664] if (!has_future) { [13:14:08.664] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.664] info) [13:14:08.664] } [13:14:08.664] else { [13:14:08.664] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.664] info, version) [13:14:08.664] } [13:14:08.664] base::stop(msg) [13:14:08.664] } [13:14:08.664] }) [13:14:08.664] } [13:14:08.664] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.664] base::options(mc.cores = 1L) [13:14:08.664] } [13:14:08.664] options(future.plan = NULL) [13:14:08.664] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.664] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.664] } [13:14:08.664] ...future.workdir <- getwd() [13:14:08.664] } [13:14:08.664] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.664] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.664] } [13:14:08.664] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.664] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.664] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.664] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.664] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.664] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.664] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.664] base::names(...future.oldOptions)) [13:14:08.664] } [13:14:08.664] if (FALSE) { [13:14:08.664] } [13:14:08.664] else { [13:14:08.664] if (TRUE) { [13:14:08.664] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.664] open = "w") [13:14:08.664] } [13:14:08.664] else { [13:14:08.664] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.664] windows = "NUL", "/dev/null"), open = "w") [13:14:08.664] } [13:14:08.664] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.664] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.664] base::sink(type = "output", split = FALSE) [13:14:08.664] base::close(...future.stdout) [13:14:08.664] }, add = TRUE) [13:14:08.664] } [13:14:08.664] ...future.frame <- base::sys.nframe() [13:14:08.664] ...future.conditions <- base::list() [13:14:08.664] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.664] if (FALSE) { [13:14:08.664] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.664] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.664] } [13:14:08.664] ...future.result <- base::tryCatch({ [13:14:08.664] base::withCallingHandlers({ [13:14:08.664] ...future.value <- base::withVisible(base::local({ [13:14:08.664] ...future.makeSendCondition <- local({ [13:14:08.664] sendCondition <- NULL [13:14:08.664] function(frame = 1L) { [13:14:08.664] if (is.function(sendCondition)) [13:14:08.664] return(sendCondition) [13:14:08.664] ns <- getNamespace("parallel") [13:14:08.664] if (exists("sendData", mode = "function", [13:14:08.664] envir = ns)) { [13:14:08.664] parallel_sendData <- get("sendData", mode = "function", [13:14:08.664] envir = ns) [13:14:08.664] envir <- sys.frame(frame) [13:14:08.664] master <- NULL [13:14:08.664] while (!identical(envir, .GlobalEnv) && [13:14:08.664] !identical(envir, emptyenv())) { [13:14:08.664] if (exists("master", mode = "list", envir = envir, [13:14:08.664] inherits = FALSE)) { [13:14:08.664] master <- get("master", mode = "list", [13:14:08.664] envir = envir, inherits = FALSE) [13:14:08.664] if (inherits(master, c("SOCKnode", [13:14:08.664] "SOCK0node"))) { [13:14:08.664] sendCondition <<- function(cond) { [13:14:08.664] data <- list(type = "VALUE", value = cond, [13:14:08.664] success = TRUE) [13:14:08.664] parallel_sendData(master, data) [13:14:08.664] } [13:14:08.664] return(sendCondition) [13:14:08.664] } [13:14:08.664] } [13:14:08.664] frame <- frame + 1L [13:14:08.664] envir <- sys.frame(frame) [13:14:08.664] } [13:14:08.664] } [13:14:08.664] sendCondition <<- function(cond) NULL [13:14:08.664] } [13:14:08.664] }) [13:14:08.664] withCallingHandlers({ [13:14:08.664] { [13:14:08.664] do.call(function(...) { [13:14:08.664] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.664] if (!identical(...future.globals.maxSize.org, [13:14:08.664] ...future.globals.maxSize)) { [13:14:08.664] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.664] on.exit(options(oopts), add = TRUE) [13:14:08.664] } [13:14:08.664] { [13:14:08.664] lapply(seq_along(...future.elements_ii), [13:14:08.664] FUN = function(jj) { [13:14:08.664] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.664] ...future.FUN(...future.X_jj, ...) [13:14:08.664] }) [13:14:08.664] } [13:14:08.664] }, args = future.call.arguments) [13:14:08.664] } [13:14:08.664] }, immediateCondition = function(cond) { [13:14:08.664] sendCondition <- ...future.makeSendCondition() [13:14:08.664] sendCondition(cond) [13:14:08.664] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.664] { [13:14:08.664] inherits <- base::inherits [13:14:08.664] invokeRestart <- base::invokeRestart [13:14:08.664] is.null <- base::is.null [13:14:08.664] muffled <- FALSE [13:14:08.664] if (inherits(cond, "message")) { [13:14:08.664] muffled <- grepl(pattern, "muffleMessage") [13:14:08.664] if (muffled) [13:14:08.664] invokeRestart("muffleMessage") [13:14:08.664] } [13:14:08.664] else if (inherits(cond, "warning")) { [13:14:08.664] muffled <- grepl(pattern, "muffleWarning") [13:14:08.664] if (muffled) [13:14:08.664] invokeRestart("muffleWarning") [13:14:08.664] } [13:14:08.664] else if (inherits(cond, "condition")) { [13:14:08.664] if (!is.null(pattern)) { [13:14:08.664] computeRestarts <- base::computeRestarts [13:14:08.664] grepl <- base::grepl [13:14:08.664] restarts <- computeRestarts(cond) [13:14:08.664] for (restart in restarts) { [13:14:08.664] name <- restart$name [13:14:08.664] if (is.null(name)) [13:14:08.664] next [13:14:08.664] if (!grepl(pattern, name)) [13:14:08.664] next [13:14:08.664] invokeRestart(restart) [13:14:08.664] muffled <- TRUE [13:14:08.664] break [13:14:08.664] } [13:14:08.664] } [13:14:08.664] } [13:14:08.664] invisible(muffled) [13:14:08.664] } [13:14:08.664] muffleCondition(cond) [13:14:08.664] }) [13:14:08.664] })) [13:14:08.664] future::FutureResult(value = ...future.value$value, [13:14:08.664] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.664] ...future.rng), globalenv = if (FALSE) [13:14:08.664] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.664] ...future.globalenv.names)) [13:14:08.664] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.664] }, condition = base::local({ [13:14:08.664] c <- base::c [13:14:08.664] inherits <- base::inherits [13:14:08.664] invokeRestart <- base::invokeRestart [13:14:08.664] length <- base::length [13:14:08.664] list <- base::list [13:14:08.664] seq.int <- base::seq.int [13:14:08.664] signalCondition <- base::signalCondition [13:14:08.664] sys.calls <- base::sys.calls [13:14:08.664] `[[` <- base::`[[` [13:14:08.664] `+` <- base::`+` [13:14:08.664] `<<-` <- base::`<<-` [13:14:08.664] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.664] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.664] 3L)] [13:14:08.664] } [13:14:08.664] function(cond) { [13:14:08.664] is_error <- inherits(cond, "error") [13:14:08.664] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.664] NULL) [13:14:08.664] if (is_error) { [13:14:08.664] sessionInformation <- function() { [13:14:08.664] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.664] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.664] search = base::search(), system = base::Sys.info()) [13:14:08.664] } [13:14:08.664] ...future.conditions[[length(...future.conditions) + [13:14:08.664] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.664] cond$call), session = sessionInformation(), [13:14:08.664] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.664] signalCondition(cond) [13:14:08.664] } [13:14:08.664] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.664] "immediateCondition"))) { [13:14:08.664] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.664] ...future.conditions[[length(...future.conditions) + [13:14:08.664] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.664] if (TRUE && !signal) { [13:14:08.664] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.664] { [13:14:08.664] inherits <- base::inherits [13:14:08.664] invokeRestart <- base::invokeRestart [13:14:08.664] is.null <- base::is.null [13:14:08.664] muffled <- FALSE [13:14:08.664] if (inherits(cond, "message")) { [13:14:08.664] muffled <- grepl(pattern, "muffleMessage") [13:14:08.664] if (muffled) [13:14:08.664] invokeRestart("muffleMessage") [13:14:08.664] } [13:14:08.664] else if (inherits(cond, "warning")) { [13:14:08.664] muffled <- grepl(pattern, "muffleWarning") [13:14:08.664] if (muffled) [13:14:08.664] invokeRestart("muffleWarning") [13:14:08.664] } [13:14:08.664] else if (inherits(cond, "condition")) { [13:14:08.664] if (!is.null(pattern)) { [13:14:08.664] computeRestarts <- base::computeRestarts [13:14:08.664] grepl <- base::grepl [13:14:08.664] restarts <- computeRestarts(cond) [13:14:08.664] for (restart in restarts) { [13:14:08.664] name <- restart$name [13:14:08.664] if (is.null(name)) [13:14:08.664] next [13:14:08.664] if (!grepl(pattern, name)) [13:14:08.664] next [13:14:08.664] invokeRestart(restart) [13:14:08.664] muffled <- TRUE [13:14:08.664] break [13:14:08.664] } [13:14:08.664] } [13:14:08.664] } [13:14:08.664] invisible(muffled) [13:14:08.664] } [13:14:08.664] muffleCondition(cond, pattern = "^muffle") [13:14:08.664] } [13:14:08.664] } [13:14:08.664] else { [13:14:08.664] if (TRUE) { [13:14:08.664] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.664] { [13:14:08.664] inherits <- base::inherits [13:14:08.664] invokeRestart <- base::invokeRestart [13:14:08.664] is.null <- base::is.null [13:14:08.664] muffled <- FALSE [13:14:08.664] if (inherits(cond, "message")) { [13:14:08.664] muffled <- grepl(pattern, "muffleMessage") [13:14:08.664] if (muffled) [13:14:08.664] invokeRestart("muffleMessage") [13:14:08.664] } [13:14:08.664] else if (inherits(cond, "warning")) { [13:14:08.664] muffled <- grepl(pattern, "muffleWarning") [13:14:08.664] if (muffled) [13:14:08.664] invokeRestart("muffleWarning") [13:14:08.664] } [13:14:08.664] else if (inherits(cond, "condition")) { [13:14:08.664] if (!is.null(pattern)) { [13:14:08.664] computeRestarts <- base::computeRestarts [13:14:08.664] grepl <- base::grepl [13:14:08.664] restarts <- computeRestarts(cond) [13:14:08.664] for (restart in restarts) { [13:14:08.664] name <- restart$name [13:14:08.664] if (is.null(name)) [13:14:08.664] next [13:14:08.664] if (!grepl(pattern, name)) [13:14:08.664] next [13:14:08.664] invokeRestart(restart) [13:14:08.664] muffled <- TRUE [13:14:08.664] break [13:14:08.664] } [13:14:08.664] } [13:14:08.664] } [13:14:08.664] invisible(muffled) [13:14:08.664] } [13:14:08.664] muffleCondition(cond, pattern = "^muffle") [13:14:08.664] } [13:14:08.664] } [13:14:08.664] } [13:14:08.664] })) [13:14:08.664] }, error = function(ex) { [13:14:08.664] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.664] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.664] ...future.rng), started = ...future.startTime, [13:14:08.664] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.664] version = "1.8"), class = "FutureResult") [13:14:08.664] }, finally = { [13:14:08.664] if (!identical(...future.workdir, getwd())) [13:14:08.664] setwd(...future.workdir) [13:14:08.664] { [13:14:08.664] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.664] ...future.oldOptions$nwarnings <- NULL [13:14:08.664] } [13:14:08.664] base::options(...future.oldOptions) [13:14:08.664] if (.Platform$OS.type == "windows") { [13:14:08.664] old_names <- names(...future.oldEnvVars) [13:14:08.664] envs <- base::Sys.getenv() [13:14:08.664] names <- names(envs) [13:14:08.664] common <- intersect(names, old_names) [13:14:08.664] added <- setdiff(names, old_names) [13:14:08.664] removed <- setdiff(old_names, names) [13:14:08.664] changed <- common[...future.oldEnvVars[common] != [13:14:08.664] envs[common]] [13:14:08.664] NAMES <- toupper(changed) [13:14:08.664] args <- list() [13:14:08.664] for (kk in seq_along(NAMES)) { [13:14:08.664] name <- changed[[kk]] [13:14:08.664] NAME <- NAMES[[kk]] [13:14:08.664] if (name != NAME && is.element(NAME, old_names)) [13:14:08.664] next [13:14:08.664] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.664] } [13:14:08.664] NAMES <- toupper(added) [13:14:08.664] for (kk in seq_along(NAMES)) { [13:14:08.664] name <- added[[kk]] [13:14:08.664] NAME <- NAMES[[kk]] [13:14:08.664] if (name != NAME && is.element(NAME, old_names)) [13:14:08.664] next [13:14:08.664] args[[name]] <- "" [13:14:08.664] } [13:14:08.664] NAMES <- toupper(removed) [13:14:08.664] for (kk in seq_along(NAMES)) { [13:14:08.664] name <- removed[[kk]] [13:14:08.664] NAME <- NAMES[[kk]] [13:14:08.664] if (name != NAME && is.element(NAME, old_names)) [13:14:08.664] next [13:14:08.664] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.664] } [13:14:08.664] if (length(args) > 0) [13:14:08.664] base::do.call(base::Sys.setenv, args = args) [13:14:08.664] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.664] } [13:14:08.664] else { [13:14:08.664] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.664] } [13:14:08.664] { [13:14:08.664] if (base::length(...future.futureOptionsAdded) > [13:14:08.664] 0L) { [13:14:08.664] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.664] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.664] base::options(opts) [13:14:08.664] } [13:14:08.664] { [13:14:08.664] { [13:14:08.664] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.664] NULL [13:14:08.664] } [13:14:08.664] options(future.plan = NULL) [13:14:08.664] if (is.na(NA_character_)) [13:14:08.664] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.664] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.664] future::plan(list(function (..., workers = availableCores(), [13:14:08.664] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.664] envir = parent.frame()) [13:14:08.664] { [13:14:08.664] if (is.function(workers)) [13:14:08.664] workers <- workers() [13:14:08.664] workers <- structure(as.integer(workers), [13:14:08.664] class = class(workers)) [13:14:08.664] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.664] workers >= 1) [13:14:08.664] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.664] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.664] } [13:14:08.664] future <- MultisessionFuture(..., workers = workers, [13:14:08.664] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.664] envir = envir) [13:14:08.664] if (!future$lazy) [13:14:08.664] future <- run(future) [13:14:08.664] invisible(future) [13:14:08.664] }), .cleanup = FALSE, .init = FALSE) [13:14:08.664] } [13:14:08.664] } [13:14:08.664] } [13:14:08.664] }) [13:14:08.664] if (TRUE) { [13:14:08.664] base::sink(type = "output", split = FALSE) [13:14:08.664] if (TRUE) { [13:14:08.664] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.664] } [13:14:08.664] else { [13:14:08.664] ...future.result["stdout"] <- base::list(NULL) [13:14:08.664] } [13:14:08.664] base::close(...future.stdout) [13:14:08.664] ...future.stdout <- NULL [13:14:08.664] } [13:14:08.664] ...future.result$conditions <- ...future.conditions [13:14:08.664] ...future.result$finished <- base::Sys.time() [13:14:08.664] ...future.result [13:14:08.664] } [13:14:08.669] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:08.669] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:08.670] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:08.670] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.670] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.671] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.671] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.671] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.672] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.672] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.672] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.672] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:08.673] MultisessionFuture started [13:14:08.673] - Launch lazy future ... done [13:14:08.673] run() for 'MultisessionFuture' ... done [13:14:08.674] Created future: [13:14:08.689] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.690] - Validating connection of MultisessionFuture [13:14:08.690] - received message: FutureResult [13:14:08.690] - Received FutureResult [13:14:08.690] - Erased future from FutureRegistry [13:14:08.690] result() for ClusterFuture ... [13:14:08.691] - result already collected: FutureResult [13:14:08.691] result() for ClusterFuture ... done [13:14:08.691] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.674] MultisessionFuture: [13:14:08.674] Label: 'future_sapply-1' [13:14:08.674] Expression: [13:14:08.674] { [13:14:08.674] do.call(function(...) { [13:14:08.674] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.674] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.674] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.674] on.exit(options(oopts), add = TRUE) [13:14:08.674] } [13:14:08.674] { [13:14:08.674] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.674] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.674] ...future.FUN(...future.X_jj, ...) [13:14:08.674] }) [13:14:08.674] } [13:14:08.674] }, args = future.call.arguments) [13:14:08.674] } [13:14:08.674] Lazy evaluation: FALSE [13:14:08.674] Asynchronous evaluation: TRUE [13:14:08.674] Local evaluation: TRUE [13:14:08.674] Environment: R_GlobalEnv [13:14:08.674] Capture standard output: TRUE [13:14:08.674] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.674] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.674] Packages: [13:14:08.674] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.674] Resolved: TRUE [13:14:08.674] Value: [13:14:08.674] Conditions captured: [13:14:08.674] Early signaling: FALSE [13:14:08.674] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.674] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.691] Chunk #1 of 2 ... DONE [13:14:08.691] Chunk #2 of 2 ... [13:14:08.692] - Finding globals in 'X' for chunk #2 ... [13:14:08.692] getGlobalsAndPackages() ... [13:14:08.692] Searching for globals... [13:14:08.692] [13:14:08.692] Searching for globals ... DONE [13:14:08.693] - globals: [0] [13:14:08.693] getGlobalsAndPackages() ... DONE [13:14:08.693] + additional globals found: [n=0] [13:14:08.693] + additional namespaces needed: [n=0] [13:14:08.693] - Finding globals in 'X' for chunk #2 ... DONE [13:14:08.693] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.694] - seeds: [13:14:08.694] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.694] getGlobalsAndPackages() ... [13:14:08.694] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.694] Resolving globals: FALSE [13:14:08.694] Tweak future expression to call with '...' arguments ... [13:14:08.695] { [13:14:08.695] do.call(function(...) { [13:14:08.695] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.695] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.695] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.695] on.exit(options(oopts), add = TRUE) [13:14:08.695] } [13:14:08.695] { [13:14:08.695] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.695] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.695] ...future.FUN(...future.X_jj, ...) [13:14:08.695] }) [13:14:08.695] } [13:14:08.695] }, args = future.call.arguments) [13:14:08.695] } [13:14:08.695] Tweak future expression to call with '...' arguments ... DONE [13:14:08.695] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.696] [13:14:08.696] getGlobalsAndPackages() ... DONE [13:14:08.696] run() for 'Future' ... [13:14:08.696] - state: 'created' [13:14:08.697] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.711] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.711] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.711] - Field: 'node' [13:14:08.711] - Field: 'label' [13:14:08.711] - Field: 'local' [13:14:08.712] - Field: 'owner' [13:14:08.712] - Field: 'envir' [13:14:08.712] - Field: 'workers' [13:14:08.712] - Field: 'packages' [13:14:08.712] - Field: 'gc' [13:14:08.712] - Field: 'conditions' [13:14:08.713] - Field: 'persistent' [13:14:08.713] - Field: 'expr' [13:14:08.713] - Field: 'uuid' [13:14:08.713] - Field: 'seed' [13:14:08.713] - Field: 'version' [13:14:08.713] - Field: 'result' [13:14:08.714] - Field: 'asynchronous' [13:14:08.714] - Field: 'calls' [13:14:08.714] - Field: 'globals' [13:14:08.714] - Field: 'stdout' [13:14:08.714] - Field: 'earlySignal' [13:14:08.715] - Field: 'lazy' [13:14:08.715] - Field: 'state' [13:14:08.715] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.715] - Launch lazy future ... [13:14:08.715] Packages needed by the future expression (n = 0): [13:14:08.716] Packages needed by future strategies (n = 0): [13:14:08.716] { [13:14:08.716] { [13:14:08.716] { [13:14:08.716] ...future.startTime <- base::Sys.time() [13:14:08.716] { [13:14:08.716] { [13:14:08.716] { [13:14:08.716] { [13:14:08.716] base::local({ [13:14:08.716] has_future <- base::requireNamespace("future", [13:14:08.716] quietly = TRUE) [13:14:08.716] if (has_future) { [13:14:08.716] ns <- base::getNamespace("future") [13:14:08.716] version <- ns[[".package"]][["version"]] [13:14:08.716] if (is.null(version)) [13:14:08.716] version <- utils::packageVersion("future") [13:14:08.716] } [13:14:08.716] else { [13:14:08.716] version <- NULL [13:14:08.716] } [13:14:08.716] if (!has_future || version < "1.8.0") { [13:14:08.716] info <- base::c(r_version = base::gsub("R version ", [13:14:08.716] "", base::R.version$version.string), [13:14:08.716] platform = base::sprintf("%s (%s-bit)", [13:14:08.716] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.716] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.716] "release", "version")], collapse = " "), [13:14:08.716] hostname = base::Sys.info()[["nodename"]]) [13:14:08.716] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.716] info) [13:14:08.716] info <- base::paste(info, collapse = "; ") [13:14:08.716] if (!has_future) { [13:14:08.716] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.716] info) [13:14:08.716] } [13:14:08.716] else { [13:14:08.716] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.716] info, version) [13:14:08.716] } [13:14:08.716] base::stop(msg) [13:14:08.716] } [13:14:08.716] }) [13:14:08.716] } [13:14:08.716] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.716] base::options(mc.cores = 1L) [13:14:08.716] } [13:14:08.716] options(future.plan = NULL) [13:14:08.716] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.716] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.716] } [13:14:08.716] ...future.workdir <- getwd() [13:14:08.716] } [13:14:08.716] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.716] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.716] } [13:14:08.716] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.716] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.716] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.716] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.716] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.716] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.716] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.716] base::names(...future.oldOptions)) [13:14:08.716] } [13:14:08.716] if (FALSE) { [13:14:08.716] } [13:14:08.716] else { [13:14:08.716] if (TRUE) { [13:14:08.716] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.716] open = "w") [13:14:08.716] } [13:14:08.716] else { [13:14:08.716] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.716] windows = "NUL", "/dev/null"), open = "w") [13:14:08.716] } [13:14:08.716] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.716] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.716] base::sink(type = "output", split = FALSE) [13:14:08.716] base::close(...future.stdout) [13:14:08.716] }, add = TRUE) [13:14:08.716] } [13:14:08.716] ...future.frame <- base::sys.nframe() [13:14:08.716] ...future.conditions <- base::list() [13:14:08.716] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.716] if (FALSE) { [13:14:08.716] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.716] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.716] } [13:14:08.716] ...future.result <- base::tryCatch({ [13:14:08.716] base::withCallingHandlers({ [13:14:08.716] ...future.value <- base::withVisible(base::local({ [13:14:08.716] ...future.makeSendCondition <- local({ [13:14:08.716] sendCondition <- NULL [13:14:08.716] function(frame = 1L) { [13:14:08.716] if (is.function(sendCondition)) [13:14:08.716] return(sendCondition) [13:14:08.716] ns <- getNamespace("parallel") [13:14:08.716] if (exists("sendData", mode = "function", [13:14:08.716] envir = ns)) { [13:14:08.716] parallel_sendData <- get("sendData", mode = "function", [13:14:08.716] envir = ns) [13:14:08.716] envir <- sys.frame(frame) [13:14:08.716] master <- NULL [13:14:08.716] while (!identical(envir, .GlobalEnv) && [13:14:08.716] !identical(envir, emptyenv())) { [13:14:08.716] if (exists("master", mode = "list", envir = envir, [13:14:08.716] inherits = FALSE)) { [13:14:08.716] master <- get("master", mode = "list", [13:14:08.716] envir = envir, inherits = FALSE) [13:14:08.716] if (inherits(master, c("SOCKnode", [13:14:08.716] "SOCK0node"))) { [13:14:08.716] sendCondition <<- function(cond) { [13:14:08.716] data <- list(type = "VALUE", value = cond, [13:14:08.716] success = TRUE) [13:14:08.716] parallel_sendData(master, data) [13:14:08.716] } [13:14:08.716] return(sendCondition) [13:14:08.716] } [13:14:08.716] } [13:14:08.716] frame <- frame + 1L [13:14:08.716] envir <- sys.frame(frame) [13:14:08.716] } [13:14:08.716] } [13:14:08.716] sendCondition <<- function(cond) NULL [13:14:08.716] } [13:14:08.716] }) [13:14:08.716] withCallingHandlers({ [13:14:08.716] { [13:14:08.716] do.call(function(...) { [13:14:08.716] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.716] if (!identical(...future.globals.maxSize.org, [13:14:08.716] ...future.globals.maxSize)) { [13:14:08.716] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.716] on.exit(options(oopts), add = TRUE) [13:14:08.716] } [13:14:08.716] { [13:14:08.716] lapply(seq_along(...future.elements_ii), [13:14:08.716] FUN = function(jj) { [13:14:08.716] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.716] ...future.FUN(...future.X_jj, ...) [13:14:08.716] }) [13:14:08.716] } [13:14:08.716] }, args = future.call.arguments) [13:14:08.716] } [13:14:08.716] }, immediateCondition = function(cond) { [13:14:08.716] sendCondition <- ...future.makeSendCondition() [13:14:08.716] sendCondition(cond) [13:14:08.716] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.716] { [13:14:08.716] inherits <- base::inherits [13:14:08.716] invokeRestart <- base::invokeRestart [13:14:08.716] is.null <- base::is.null [13:14:08.716] muffled <- FALSE [13:14:08.716] if (inherits(cond, "message")) { [13:14:08.716] muffled <- grepl(pattern, "muffleMessage") [13:14:08.716] if (muffled) [13:14:08.716] invokeRestart("muffleMessage") [13:14:08.716] } [13:14:08.716] else if (inherits(cond, "warning")) { [13:14:08.716] muffled <- grepl(pattern, "muffleWarning") [13:14:08.716] if (muffled) [13:14:08.716] invokeRestart("muffleWarning") [13:14:08.716] } [13:14:08.716] else if (inherits(cond, "condition")) { [13:14:08.716] if (!is.null(pattern)) { [13:14:08.716] computeRestarts <- base::computeRestarts [13:14:08.716] grepl <- base::grepl [13:14:08.716] restarts <- computeRestarts(cond) [13:14:08.716] for (restart in restarts) { [13:14:08.716] name <- restart$name [13:14:08.716] if (is.null(name)) [13:14:08.716] next [13:14:08.716] if (!grepl(pattern, name)) [13:14:08.716] next [13:14:08.716] invokeRestart(restart) [13:14:08.716] muffled <- TRUE [13:14:08.716] break [13:14:08.716] } [13:14:08.716] } [13:14:08.716] } [13:14:08.716] invisible(muffled) [13:14:08.716] } [13:14:08.716] muffleCondition(cond) [13:14:08.716] }) [13:14:08.716] })) [13:14:08.716] future::FutureResult(value = ...future.value$value, [13:14:08.716] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.716] ...future.rng), globalenv = if (FALSE) [13:14:08.716] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.716] ...future.globalenv.names)) [13:14:08.716] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.716] }, condition = base::local({ [13:14:08.716] c <- base::c [13:14:08.716] inherits <- base::inherits [13:14:08.716] invokeRestart <- base::invokeRestart [13:14:08.716] length <- base::length [13:14:08.716] list <- base::list [13:14:08.716] seq.int <- base::seq.int [13:14:08.716] signalCondition <- base::signalCondition [13:14:08.716] sys.calls <- base::sys.calls [13:14:08.716] `[[` <- base::`[[` [13:14:08.716] `+` <- base::`+` [13:14:08.716] `<<-` <- base::`<<-` [13:14:08.716] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.716] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.716] 3L)] [13:14:08.716] } [13:14:08.716] function(cond) { [13:14:08.716] is_error <- inherits(cond, "error") [13:14:08.716] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.716] NULL) [13:14:08.716] if (is_error) { [13:14:08.716] sessionInformation <- function() { [13:14:08.716] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.716] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.716] search = base::search(), system = base::Sys.info()) [13:14:08.716] } [13:14:08.716] ...future.conditions[[length(...future.conditions) + [13:14:08.716] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.716] cond$call), session = sessionInformation(), [13:14:08.716] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.716] signalCondition(cond) [13:14:08.716] } [13:14:08.716] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.716] "immediateCondition"))) { [13:14:08.716] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.716] ...future.conditions[[length(...future.conditions) + [13:14:08.716] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.716] if (TRUE && !signal) { [13:14:08.716] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.716] { [13:14:08.716] inherits <- base::inherits [13:14:08.716] invokeRestart <- base::invokeRestart [13:14:08.716] is.null <- base::is.null [13:14:08.716] muffled <- FALSE [13:14:08.716] if (inherits(cond, "message")) { [13:14:08.716] muffled <- grepl(pattern, "muffleMessage") [13:14:08.716] if (muffled) [13:14:08.716] invokeRestart("muffleMessage") [13:14:08.716] } [13:14:08.716] else if (inherits(cond, "warning")) { [13:14:08.716] muffled <- grepl(pattern, "muffleWarning") [13:14:08.716] if (muffled) [13:14:08.716] invokeRestart("muffleWarning") [13:14:08.716] } [13:14:08.716] else if (inherits(cond, "condition")) { [13:14:08.716] if (!is.null(pattern)) { [13:14:08.716] computeRestarts <- base::computeRestarts [13:14:08.716] grepl <- base::grepl [13:14:08.716] restarts <- computeRestarts(cond) [13:14:08.716] for (restart in restarts) { [13:14:08.716] name <- restart$name [13:14:08.716] if (is.null(name)) [13:14:08.716] next [13:14:08.716] if (!grepl(pattern, name)) [13:14:08.716] next [13:14:08.716] invokeRestart(restart) [13:14:08.716] muffled <- TRUE [13:14:08.716] break [13:14:08.716] } [13:14:08.716] } [13:14:08.716] } [13:14:08.716] invisible(muffled) [13:14:08.716] } [13:14:08.716] muffleCondition(cond, pattern = "^muffle") [13:14:08.716] } [13:14:08.716] } [13:14:08.716] else { [13:14:08.716] if (TRUE) { [13:14:08.716] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.716] { [13:14:08.716] inherits <- base::inherits [13:14:08.716] invokeRestart <- base::invokeRestart [13:14:08.716] is.null <- base::is.null [13:14:08.716] muffled <- FALSE [13:14:08.716] if (inherits(cond, "message")) { [13:14:08.716] muffled <- grepl(pattern, "muffleMessage") [13:14:08.716] if (muffled) [13:14:08.716] invokeRestart("muffleMessage") [13:14:08.716] } [13:14:08.716] else if (inherits(cond, "warning")) { [13:14:08.716] muffled <- grepl(pattern, "muffleWarning") [13:14:08.716] if (muffled) [13:14:08.716] invokeRestart("muffleWarning") [13:14:08.716] } [13:14:08.716] else if (inherits(cond, "condition")) { [13:14:08.716] if (!is.null(pattern)) { [13:14:08.716] computeRestarts <- base::computeRestarts [13:14:08.716] grepl <- base::grepl [13:14:08.716] restarts <- computeRestarts(cond) [13:14:08.716] for (restart in restarts) { [13:14:08.716] name <- restart$name [13:14:08.716] if (is.null(name)) [13:14:08.716] next [13:14:08.716] if (!grepl(pattern, name)) [13:14:08.716] next [13:14:08.716] invokeRestart(restart) [13:14:08.716] muffled <- TRUE [13:14:08.716] break [13:14:08.716] } [13:14:08.716] } [13:14:08.716] } [13:14:08.716] invisible(muffled) [13:14:08.716] } [13:14:08.716] muffleCondition(cond, pattern = "^muffle") [13:14:08.716] } [13:14:08.716] } [13:14:08.716] } [13:14:08.716] })) [13:14:08.716] }, error = function(ex) { [13:14:08.716] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.716] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.716] ...future.rng), started = ...future.startTime, [13:14:08.716] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.716] version = "1.8"), class = "FutureResult") [13:14:08.716] }, finally = { [13:14:08.716] if (!identical(...future.workdir, getwd())) [13:14:08.716] setwd(...future.workdir) [13:14:08.716] { [13:14:08.716] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.716] ...future.oldOptions$nwarnings <- NULL [13:14:08.716] } [13:14:08.716] base::options(...future.oldOptions) [13:14:08.716] if (.Platform$OS.type == "windows") { [13:14:08.716] old_names <- names(...future.oldEnvVars) [13:14:08.716] envs <- base::Sys.getenv() [13:14:08.716] names <- names(envs) [13:14:08.716] common <- intersect(names, old_names) [13:14:08.716] added <- setdiff(names, old_names) [13:14:08.716] removed <- setdiff(old_names, names) [13:14:08.716] changed <- common[...future.oldEnvVars[common] != [13:14:08.716] envs[common]] [13:14:08.716] NAMES <- toupper(changed) [13:14:08.716] args <- list() [13:14:08.716] for (kk in seq_along(NAMES)) { [13:14:08.716] name <- changed[[kk]] [13:14:08.716] NAME <- NAMES[[kk]] [13:14:08.716] if (name != NAME && is.element(NAME, old_names)) [13:14:08.716] next [13:14:08.716] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.716] } [13:14:08.716] NAMES <- toupper(added) [13:14:08.716] for (kk in seq_along(NAMES)) { [13:14:08.716] name <- added[[kk]] [13:14:08.716] NAME <- NAMES[[kk]] [13:14:08.716] if (name != NAME && is.element(NAME, old_names)) [13:14:08.716] next [13:14:08.716] args[[name]] <- "" [13:14:08.716] } [13:14:08.716] NAMES <- toupper(removed) [13:14:08.716] for (kk in seq_along(NAMES)) { [13:14:08.716] name <- removed[[kk]] [13:14:08.716] NAME <- NAMES[[kk]] [13:14:08.716] if (name != NAME && is.element(NAME, old_names)) [13:14:08.716] next [13:14:08.716] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.716] } [13:14:08.716] if (length(args) > 0) [13:14:08.716] base::do.call(base::Sys.setenv, args = args) [13:14:08.716] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.716] } [13:14:08.716] else { [13:14:08.716] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.716] } [13:14:08.716] { [13:14:08.716] if (base::length(...future.futureOptionsAdded) > [13:14:08.716] 0L) { [13:14:08.716] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.716] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.716] base::options(opts) [13:14:08.716] } [13:14:08.716] { [13:14:08.716] { [13:14:08.716] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.716] NULL [13:14:08.716] } [13:14:08.716] options(future.plan = NULL) [13:14:08.716] if (is.na(NA_character_)) [13:14:08.716] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.716] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.716] future::plan(list(function (..., workers = availableCores(), [13:14:08.716] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.716] envir = parent.frame()) [13:14:08.716] { [13:14:08.716] if (is.function(workers)) [13:14:08.716] workers <- workers() [13:14:08.716] workers <- structure(as.integer(workers), [13:14:08.716] class = class(workers)) [13:14:08.716] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.716] workers >= 1) [13:14:08.716] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.716] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.716] } [13:14:08.716] future <- MultisessionFuture(..., workers = workers, [13:14:08.716] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.716] envir = envir) [13:14:08.716] if (!future$lazy) [13:14:08.716] future <- run(future) [13:14:08.716] invisible(future) [13:14:08.716] }), .cleanup = FALSE, .init = FALSE) [13:14:08.716] } [13:14:08.716] } [13:14:08.716] } [13:14:08.716] }) [13:14:08.716] if (TRUE) { [13:14:08.716] base::sink(type = "output", split = FALSE) [13:14:08.716] if (TRUE) { [13:14:08.716] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.716] } [13:14:08.716] else { [13:14:08.716] ...future.result["stdout"] <- base::list(NULL) [13:14:08.716] } [13:14:08.716] base::close(...future.stdout) [13:14:08.716] ...future.stdout <- NULL [13:14:08.716] } [13:14:08.716] ...future.result$conditions <- ...future.conditions [13:14:08.716] ...future.result$finished <- base::Sys.time() [13:14:08.716] ...future.result [13:14:08.716] } [13:14:08.722] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:08.722] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:08.722] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:08.723] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.723] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.723] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.724] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.724] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.724] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.725] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.725] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.725] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:08.726] MultisessionFuture started [13:14:08.726] - Launch lazy future ... done [13:14:08.726] run() for 'MultisessionFuture' ... done [13:14:08.726] Created future: [13:14:08.741] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.742] - Validating connection of MultisessionFuture [13:14:08.742] - received message: FutureResult [13:14:08.742] - Received FutureResult [13:14:08.742] - Erased future from FutureRegistry [13:14:08.743] result() for ClusterFuture ... [13:14:08.743] - result already collected: FutureResult [13:14:08.743] result() for ClusterFuture ... done [13:14:08.743] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.727] MultisessionFuture: [13:14:08.727] Label: 'future_sapply-2' [13:14:08.727] Expression: [13:14:08.727] { [13:14:08.727] do.call(function(...) { [13:14:08.727] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.727] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.727] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.727] on.exit(options(oopts), add = TRUE) [13:14:08.727] } [13:14:08.727] { [13:14:08.727] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.727] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.727] ...future.FUN(...future.X_jj, ...) [13:14:08.727] }) [13:14:08.727] } [13:14:08.727] }, args = future.call.arguments) [13:14:08.727] } [13:14:08.727] Lazy evaluation: FALSE [13:14:08.727] Asynchronous evaluation: TRUE [13:14:08.727] Local evaluation: TRUE [13:14:08.727] Environment: R_GlobalEnv [13:14:08.727] Capture standard output: TRUE [13:14:08.727] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.727] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.727] Packages: [13:14:08.727] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.727] Resolved: TRUE [13:14:08.727] Value: [13:14:08.727] Conditions captured: [13:14:08.727] Early signaling: FALSE [13:14:08.727] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.727] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.743] Chunk #2 of 2 ... DONE [13:14:08.744] Launching 2 futures (chunks) ... DONE [13:14:08.744] Resolving 2 futures (chunks) ... [13:14:08.744] resolve() on list ... [13:14:08.744] recursive: 0 [13:14:08.744] length: 2 [13:14:08.744] [13:14:08.745] Future #1 [13:14:08.745] result() for ClusterFuture ... [13:14:08.745] - result already collected: FutureResult [13:14:08.745] result() for ClusterFuture ... done [13:14:08.745] result() for ClusterFuture ... [13:14:08.745] - result already collected: FutureResult [13:14:08.746] result() for ClusterFuture ... done [13:14:08.746] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:08.746] - nx: 2 [13:14:08.746] - relay: TRUE [13:14:08.746] - stdout: TRUE [13:14:08.746] - signal: TRUE [13:14:08.746] - resignal: FALSE [13:14:08.747] - force: TRUE [13:14:08.747] - relayed: [n=2] FALSE, FALSE [13:14:08.747] - queued futures: [n=2] FALSE, FALSE [13:14:08.747] - until=1 [13:14:08.747] - relaying element #1 [13:14:08.747] result() for ClusterFuture ... [13:14:08.748] - result already collected: FutureResult [13:14:08.748] result() for ClusterFuture ... done [13:14:08.748] result() for ClusterFuture ... [13:14:08.748] - result already collected: FutureResult [13:14:08.751] result() for ClusterFuture ... done [13:14:08.751] result() for ClusterFuture ... [13:14:08.751] - result already collected: FutureResult [13:14:08.751] result() for ClusterFuture ... done [13:14:08.751] result() for ClusterFuture ... [13:14:08.752] - result already collected: FutureResult [13:14:08.752] result() for ClusterFuture ... done [13:14:08.752] - relayed: [n=2] TRUE, FALSE [13:14:08.752] - queued futures: [n=2] TRUE, FALSE [13:14:08.752] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:08.753] length: 1 (resolved future 1) [13:14:08.753] Future #2 [13:14:08.753] result() for ClusterFuture ... [13:14:08.753] - result already collected: FutureResult [13:14:08.753] result() for ClusterFuture ... done [13:14:08.753] result() for ClusterFuture ... [13:14:08.754] - result already collected: FutureResult [13:14:08.754] result() for ClusterFuture ... done [13:14:08.754] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:08.754] - nx: 2 [13:14:08.754] - relay: TRUE [13:14:08.754] - stdout: TRUE [13:14:08.755] - signal: TRUE [13:14:08.755] - resignal: FALSE [13:14:08.755] - force: TRUE [13:14:08.755] - relayed: [n=2] TRUE, FALSE [13:14:08.755] - queued futures: [n=2] TRUE, FALSE [13:14:08.755] - until=2 [13:14:08.756] - relaying element #2 [13:14:08.756] result() for ClusterFuture ... [13:14:08.756] - result already collected: FutureResult [13:14:08.756] result() for ClusterFuture ... done [13:14:08.756] result() for ClusterFuture ... [13:14:08.756] - result already collected: FutureResult [13:14:08.756] result() for ClusterFuture ... done [13:14:08.757] result() for ClusterFuture ... [13:14:08.757] - result already collected: FutureResult [13:14:08.757] result() for ClusterFuture ... done [13:14:08.757] result() for ClusterFuture ... [13:14:08.757] - result already collected: FutureResult [13:14:08.757] result() for ClusterFuture ... done [13:14:08.758] - relayed: [n=2] TRUE, TRUE [13:14:08.758] - queued futures: [n=2] TRUE, TRUE [13:14:08.758] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:08.758] length: 0 (resolved future 2) [13:14:08.758] Relaying remaining futures [13:14:08.758] signalConditionsASAP(NULL, pos=0) ... [13:14:08.759] - nx: 2 [13:14:08.759] - relay: TRUE [13:14:08.759] - stdout: TRUE [13:14:08.759] - signal: TRUE [13:14:08.759] - resignal: FALSE [13:14:08.759] - force: TRUE [13:14:08.759] - relayed: [n=2] TRUE, TRUE [13:14:08.760] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:08.760] - relayed: [n=2] TRUE, TRUE [13:14:08.760] - queued futures: [n=2] TRUE, TRUE [13:14:08.760] signalConditionsASAP(NULL, pos=0) ... done [13:14:08.760] resolve() on list ... DONE [13:14:08.760] result() for ClusterFuture ... [13:14:08.761] - result already collected: FutureResult [13:14:08.761] result() for ClusterFuture ... done [13:14:08.761] result() for ClusterFuture ... [13:14:08.761] - result already collected: FutureResult [13:14:08.761] result() for ClusterFuture ... done [13:14:08.761] result() for ClusterFuture ... [13:14:08.762] - result already collected: FutureResult [13:14:08.762] result() for ClusterFuture ... done [13:14:08.762] result() for ClusterFuture ... [13:14:08.762] - result already collected: FutureResult [13:14:08.762] result() for ClusterFuture ... done [13:14:08.762] - Number of value chunks collected: 2 [13:14:08.762] Resolving 2 futures (chunks) ... DONE [13:14:08.763] Reducing values from 2 chunks ... [13:14:08.763] - Number of values collected after concatenation: 6 [13:14:08.763] - Number of values expected: 6 [13:14:08.763] Reducing values from 2 chunks ... DONE [13:14:08.763] future_lapply() ... DONE List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y1:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... List of 2 $ y0:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... $ y2:List of 6 ..$ a1: num [1:3, 1:5] 2 2 2 4 4 4 6 6 6 8 ... ..$ a2: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b1: num [1:3, 1:5] 4 4 4 8 8 8 12 12 12 16 ... ..$ b2: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c1: num [1:3, 1:5] 6 6 6 12 12 12 18 18 18 24 ... ..$ c2: num [1:3, 1:5] 8 8 8 16 16 16 24 24 24 32 ... [13:14:08.776] future_lapply() ... [13:14:08.779] Number of chunks: 2 [13:14:08.779] getGlobalsAndPackagesXApply() ... [13:14:08.779] - future.globals: TRUE [13:14:08.779] getGlobalsAndPackages() ... [13:14:08.780] Searching for globals... [13:14:08.781] - globals found: [1] 'FUN' [13:14:08.781] Searching for globals ... DONE [13:14:08.781] Resolving globals: FALSE [13:14:08.781] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:08.782] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:08.782] - globals: [1] 'FUN' [13:14:08.782] [13:14:08.782] getGlobalsAndPackages() ... DONE [13:14:08.783] - globals found/used: [n=1] 'FUN' [13:14:08.783] - needed namespaces: [n=0] [13:14:08.783] Finding globals ... DONE [13:14:08.783] - use_args: TRUE [13:14:08.783] - Getting '...' globals ... [13:14:08.784] resolve() on list ... [13:14:08.784] recursive: 0 [13:14:08.784] length: 1 [13:14:08.784] elements: '...' [13:14:08.785] length: 0 (resolved future 1) [13:14:08.785] resolve() on list ... DONE [13:14:08.785] - '...' content: [n=0] [13:14:08.785] List of 1 [13:14:08.785] $ ...: list() [13:14:08.785] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.785] - attr(*, "where")=List of 1 [13:14:08.785] ..$ ...: [13:14:08.785] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.785] - attr(*, "resolved")= logi TRUE [13:14:08.785] - attr(*, "total_size")= num NA [13:14:08.788] - Getting '...' globals ... DONE [13:14:08.789] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:08.789] List of 2 [13:14:08.789] $ ...future.FUN:function (x) [13:14:08.789] $ ... : list() [13:14:08.789] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.789] - attr(*, "where")=List of 2 [13:14:08.789] ..$ ...future.FUN: [13:14:08.789] ..$ ... : [13:14:08.789] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.789] - attr(*, "resolved")= logi FALSE [13:14:08.789] - attr(*, "total_size")= num 848 [13:14:08.792] Packages to be attached in all futures: [n=0] [13:14:08.792] getGlobalsAndPackagesXApply() ... DONE [13:14:08.793] Number of futures (= number of chunks): 2 [13:14:08.793] Launching 2 futures (chunks) ... [13:14:08.793] Chunk #1 of 2 ... [13:14:08.793] - Finding globals in 'X' for chunk #1 ... [13:14:08.793] getGlobalsAndPackages() ... [13:14:08.793] Searching for globals... [13:14:08.794] [13:14:08.794] Searching for globals ... DONE [13:14:08.794] - globals: [0] [13:14:08.794] getGlobalsAndPackages() ... DONE [13:14:08.794] + additional globals found: [n=0] [13:14:08.795] + additional namespaces needed: [n=0] [13:14:08.795] - Finding globals in 'X' for chunk #1 ... DONE [13:14:08.795] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.795] - seeds: [13:14:08.795] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.795] getGlobalsAndPackages() ... [13:14:08.795] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.796] Resolving globals: FALSE [13:14:08.796] Tweak future expression to call with '...' arguments ... [13:14:08.796] { [13:14:08.796] do.call(function(...) { [13:14:08.796] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.796] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.796] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.796] on.exit(options(oopts), add = TRUE) [13:14:08.796] } [13:14:08.796] { [13:14:08.796] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.796] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.796] ...future.FUN(...future.X_jj, ...) [13:14:08.796] }) [13:14:08.796] } [13:14:08.796] }, args = future.call.arguments) [13:14:08.796] } [13:14:08.796] Tweak future expression to call with '...' arguments ... DONE [13:14:08.797] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.797] [13:14:08.797] getGlobalsAndPackages() ... DONE [13:14:08.798] run() for 'Future' ... [13:14:08.798] - state: 'created' [13:14:08.798] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.812] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.812] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.812] - Field: 'node' [13:14:08.813] - Field: 'label' [13:14:08.813] - Field: 'local' [13:14:08.813] - Field: 'owner' [13:14:08.813] - Field: 'envir' [13:14:08.813] - Field: 'workers' [13:14:08.813] - Field: 'packages' [13:14:08.814] - Field: 'gc' [13:14:08.814] - Field: 'conditions' [13:14:08.814] - Field: 'persistent' [13:14:08.814] - Field: 'expr' [13:14:08.814] - Field: 'uuid' [13:14:08.814] - Field: 'seed' [13:14:08.815] - Field: 'version' [13:14:08.815] - Field: 'result' [13:14:08.815] - Field: 'asynchronous' [13:14:08.815] - Field: 'calls' [13:14:08.815] - Field: 'globals' [13:14:08.816] - Field: 'stdout' [13:14:08.816] - Field: 'earlySignal' [13:14:08.816] - Field: 'lazy' [13:14:08.816] - Field: 'state' [13:14:08.816] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.816] - Launch lazy future ... [13:14:08.817] Packages needed by the future expression (n = 0): [13:14:08.817] Packages needed by future strategies (n = 0): [13:14:08.817] { [13:14:08.817] { [13:14:08.817] { [13:14:08.817] ...future.startTime <- base::Sys.time() [13:14:08.817] { [13:14:08.817] { [13:14:08.817] { [13:14:08.817] { [13:14:08.817] base::local({ [13:14:08.817] has_future <- base::requireNamespace("future", [13:14:08.817] quietly = TRUE) [13:14:08.817] if (has_future) { [13:14:08.817] ns <- base::getNamespace("future") [13:14:08.817] version <- ns[[".package"]][["version"]] [13:14:08.817] if (is.null(version)) [13:14:08.817] version <- utils::packageVersion("future") [13:14:08.817] } [13:14:08.817] else { [13:14:08.817] version <- NULL [13:14:08.817] } [13:14:08.817] if (!has_future || version < "1.8.0") { [13:14:08.817] info <- base::c(r_version = base::gsub("R version ", [13:14:08.817] "", base::R.version$version.string), [13:14:08.817] platform = base::sprintf("%s (%s-bit)", [13:14:08.817] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.817] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.817] "release", "version")], collapse = " "), [13:14:08.817] hostname = base::Sys.info()[["nodename"]]) [13:14:08.817] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.817] info) [13:14:08.817] info <- base::paste(info, collapse = "; ") [13:14:08.817] if (!has_future) { [13:14:08.817] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.817] info) [13:14:08.817] } [13:14:08.817] else { [13:14:08.817] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.817] info, version) [13:14:08.817] } [13:14:08.817] base::stop(msg) [13:14:08.817] } [13:14:08.817] }) [13:14:08.817] } [13:14:08.817] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.817] base::options(mc.cores = 1L) [13:14:08.817] } [13:14:08.817] options(future.plan = NULL) [13:14:08.817] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.817] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.817] } [13:14:08.817] ...future.workdir <- getwd() [13:14:08.817] } [13:14:08.817] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.817] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.817] } [13:14:08.817] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.817] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.817] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.817] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.817] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.817] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.817] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.817] base::names(...future.oldOptions)) [13:14:08.817] } [13:14:08.817] if (FALSE) { [13:14:08.817] } [13:14:08.817] else { [13:14:08.817] if (TRUE) { [13:14:08.817] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.817] open = "w") [13:14:08.817] } [13:14:08.817] else { [13:14:08.817] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.817] windows = "NUL", "/dev/null"), open = "w") [13:14:08.817] } [13:14:08.817] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.817] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.817] base::sink(type = "output", split = FALSE) [13:14:08.817] base::close(...future.stdout) [13:14:08.817] }, add = TRUE) [13:14:08.817] } [13:14:08.817] ...future.frame <- base::sys.nframe() [13:14:08.817] ...future.conditions <- base::list() [13:14:08.817] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.817] if (FALSE) { [13:14:08.817] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.817] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.817] } [13:14:08.817] ...future.result <- base::tryCatch({ [13:14:08.817] base::withCallingHandlers({ [13:14:08.817] ...future.value <- base::withVisible(base::local({ [13:14:08.817] ...future.makeSendCondition <- local({ [13:14:08.817] sendCondition <- NULL [13:14:08.817] function(frame = 1L) { [13:14:08.817] if (is.function(sendCondition)) [13:14:08.817] return(sendCondition) [13:14:08.817] ns <- getNamespace("parallel") [13:14:08.817] if (exists("sendData", mode = "function", [13:14:08.817] envir = ns)) { [13:14:08.817] parallel_sendData <- get("sendData", mode = "function", [13:14:08.817] envir = ns) [13:14:08.817] envir <- sys.frame(frame) [13:14:08.817] master <- NULL [13:14:08.817] while (!identical(envir, .GlobalEnv) && [13:14:08.817] !identical(envir, emptyenv())) { [13:14:08.817] if (exists("master", mode = "list", envir = envir, [13:14:08.817] inherits = FALSE)) { [13:14:08.817] master <- get("master", mode = "list", [13:14:08.817] envir = envir, inherits = FALSE) [13:14:08.817] if (inherits(master, c("SOCKnode", [13:14:08.817] "SOCK0node"))) { [13:14:08.817] sendCondition <<- function(cond) { [13:14:08.817] data <- list(type = "VALUE", value = cond, [13:14:08.817] success = TRUE) [13:14:08.817] parallel_sendData(master, data) [13:14:08.817] } [13:14:08.817] return(sendCondition) [13:14:08.817] } [13:14:08.817] } [13:14:08.817] frame <- frame + 1L [13:14:08.817] envir <- sys.frame(frame) [13:14:08.817] } [13:14:08.817] } [13:14:08.817] sendCondition <<- function(cond) NULL [13:14:08.817] } [13:14:08.817] }) [13:14:08.817] withCallingHandlers({ [13:14:08.817] { [13:14:08.817] do.call(function(...) { [13:14:08.817] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.817] if (!identical(...future.globals.maxSize.org, [13:14:08.817] ...future.globals.maxSize)) { [13:14:08.817] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.817] on.exit(options(oopts), add = TRUE) [13:14:08.817] } [13:14:08.817] { [13:14:08.817] lapply(seq_along(...future.elements_ii), [13:14:08.817] FUN = function(jj) { [13:14:08.817] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.817] ...future.FUN(...future.X_jj, ...) [13:14:08.817] }) [13:14:08.817] } [13:14:08.817] }, args = future.call.arguments) [13:14:08.817] } [13:14:08.817] }, immediateCondition = function(cond) { [13:14:08.817] sendCondition <- ...future.makeSendCondition() [13:14:08.817] sendCondition(cond) [13:14:08.817] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.817] { [13:14:08.817] inherits <- base::inherits [13:14:08.817] invokeRestart <- base::invokeRestart [13:14:08.817] is.null <- base::is.null [13:14:08.817] muffled <- FALSE [13:14:08.817] if (inherits(cond, "message")) { [13:14:08.817] muffled <- grepl(pattern, "muffleMessage") [13:14:08.817] if (muffled) [13:14:08.817] invokeRestart("muffleMessage") [13:14:08.817] } [13:14:08.817] else if (inherits(cond, "warning")) { [13:14:08.817] muffled <- grepl(pattern, "muffleWarning") [13:14:08.817] if (muffled) [13:14:08.817] invokeRestart("muffleWarning") [13:14:08.817] } [13:14:08.817] else if (inherits(cond, "condition")) { [13:14:08.817] if (!is.null(pattern)) { [13:14:08.817] computeRestarts <- base::computeRestarts [13:14:08.817] grepl <- base::grepl [13:14:08.817] restarts <- computeRestarts(cond) [13:14:08.817] for (restart in restarts) { [13:14:08.817] name <- restart$name [13:14:08.817] if (is.null(name)) [13:14:08.817] next [13:14:08.817] if (!grepl(pattern, name)) [13:14:08.817] next [13:14:08.817] invokeRestart(restart) [13:14:08.817] muffled <- TRUE [13:14:08.817] break [13:14:08.817] } [13:14:08.817] } [13:14:08.817] } [13:14:08.817] invisible(muffled) [13:14:08.817] } [13:14:08.817] muffleCondition(cond) [13:14:08.817] }) [13:14:08.817] })) [13:14:08.817] future::FutureResult(value = ...future.value$value, [13:14:08.817] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.817] ...future.rng), globalenv = if (FALSE) [13:14:08.817] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.817] ...future.globalenv.names)) [13:14:08.817] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.817] }, condition = base::local({ [13:14:08.817] c <- base::c [13:14:08.817] inherits <- base::inherits [13:14:08.817] invokeRestart <- base::invokeRestart [13:14:08.817] length <- base::length [13:14:08.817] list <- base::list [13:14:08.817] seq.int <- base::seq.int [13:14:08.817] signalCondition <- base::signalCondition [13:14:08.817] sys.calls <- base::sys.calls [13:14:08.817] `[[` <- base::`[[` [13:14:08.817] `+` <- base::`+` [13:14:08.817] `<<-` <- base::`<<-` [13:14:08.817] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.817] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.817] 3L)] [13:14:08.817] } [13:14:08.817] function(cond) { [13:14:08.817] is_error <- inherits(cond, "error") [13:14:08.817] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.817] NULL) [13:14:08.817] if (is_error) { [13:14:08.817] sessionInformation <- function() { [13:14:08.817] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.817] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.817] search = base::search(), system = base::Sys.info()) [13:14:08.817] } [13:14:08.817] ...future.conditions[[length(...future.conditions) + [13:14:08.817] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.817] cond$call), session = sessionInformation(), [13:14:08.817] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.817] signalCondition(cond) [13:14:08.817] } [13:14:08.817] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.817] "immediateCondition"))) { [13:14:08.817] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.817] ...future.conditions[[length(...future.conditions) + [13:14:08.817] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.817] if (TRUE && !signal) { [13:14:08.817] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.817] { [13:14:08.817] inherits <- base::inherits [13:14:08.817] invokeRestart <- base::invokeRestart [13:14:08.817] is.null <- base::is.null [13:14:08.817] muffled <- FALSE [13:14:08.817] if (inherits(cond, "message")) { [13:14:08.817] muffled <- grepl(pattern, "muffleMessage") [13:14:08.817] if (muffled) [13:14:08.817] invokeRestart("muffleMessage") [13:14:08.817] } [13:14:08.817] else if (inherits(cond, "warning")) { [13:14:08.817] muffled <- grepl(pattern, "muffleWarning") [13:14:08.817] if (muffled) [13:14:08.817] invokeRestart("muffleWarning") [13:14:08.817] } [13:14:08.817] else if (inherits(cond, "condition")) { [13:14:08.817] if (!is.null(pattern)) { [13:14:08.817] computeRestarts <- base::computeRestarts [13:14:08.817] grepl <- base::grepl [13:14:08.817] restarts <- computeRestarts(cond) [13:14:08.817] for (restart in restarts) { [13:14:08.817] name <- restart$name [13:14:08.817] if (is.null(name)) [13:14:08.817] next [13:14:08.817] if (!grepl(pattern, name)) [13:14:08.817] next [13:14:08.817] invokeRestart(restart) [13:14:08.817] muffled <- TRUE [13:14:08.817] break [13:14:08.817] } [13:14:08.817] } [13:14:08.817] } [13:14:08.817] invisible(muffled) [13:14:08.817] } [13:14:08.817] muffleCondition(cond, pattern = "^muffle") [13:14:08.817] } [13:14:08.817] } [13:14:08.817] else { [13:14:08.817] if (TRUE) { [13:14:08.817] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.817] { [13:14:08.817] inherits <- base::inherits [13:14:08.817] invokeRestart <- base::invokeRestart [13:14:08.817] is.null <- base::is.null [13:14:08.817] muffled <- FALSE [13:14:08.817] if (inherits(cond, "message")) { [13:14:08.817] muffled <- grepl(pattern, "muffleMessage") [13:14:08.817] if (muffled) [13:14:08.817] invokeRestart("muffleMessage") [13:14:08.817] } [13:14:08.817] else if (inherits(cond, "warning")) { [13:14:08.817] muffled <- grepl(pattern, "muffleWarning") [13:14:08.817] if (muffled) [13:14:08.817] invokeRestart("muffleWarning") [13:14:08.817] } [13:14:08.817] else if (inherits(cond, "condition")) { [13:14:08.817] if (!is.null(pattern)) { [13:14:08.817] computeRestarts <- base::computeRestarts [13:14:08.817] grepl <- base::grepl [13:14:08.817] restarts <- computeRestarts(cond) [13:14:08.817] for (restart in restarts) { [13:14:08.817] name <- restart$name [13:14:08.817] if (is.null(name)) [13:14:08.817] next [13:14:08.817] if (!grepl(pattern, name)) [13:14:08.817] next [13:14:08.817] invokeRestart(restart) [13:14:08.817] muffled <- TRUE [13:14:08.817] break [13:14:08.817] } [13:14:08.817] } [13:14:08.817] } [13:14:08.817] invisible(muffled) [13:14:08.817] } [13:14:08.817] muffleCondition(cond, pattern = "^muffle") [13:14:08.817] } [13:14:08.817] } [13:14:08.817] } [13:14:08.817] })) [13:14:08.817] }, error = function(ex) { [13:14:08.817] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.817] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.817] ...future.rng), started = ...future.startTime, [13:14:08.817] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.817] version = "1.8"), class = "FutureResult") [13:14:08.817] }, finally = { [13:14:08.817] if (!identical(...future.workdir, getwd())) [13:14:08.817] setwd(...future.workdir) [13:14:08.817] { [13:14:08.817] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.817] ...future.oldOptions$nwarnings <- NULL [13:14:08.817] } [13:14:08.817] base::options(...future.oldOptions) [13:14:08.817] if (.Platform$OS.type == "windows") { [13:14:08.817] old_names <- names(...future.oldEnvVars) [13:14:08.817] envs <- base::Sys.getenv() [13:14:08.817] names <- names(envs) [13:14:08.817] common <- intersect(names, old_names) [13:14:08.817] added <- setdiff(names, old_names) [13:14:08.817] removed <- setdiff(old_names, names) [13:14:08.817] changed <- common[...future.oldEnvVars[common] != [13:14:08.817] envs[common]] [13:14:08.817] NAMES <- toupper(changed) [13:14:08.817] args <- list() [13:14:08.817] for (kk in seq_along(NAMES)) { [13:14:08.817] name <- changed[[kk]] [13:14:08.817] NAME <- NAMES[[kk]] [13:14:08.817] if (name != NAME && is.element(NAME, old_names)) [13:14:08.817] next [13:14:08.817] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.817] } [13:14:08.817] NAMES <- toupper(added) [13:14:08.817] for (kk in seq_along(NAMES)) { [13:14:08.817] name <- added[[kk]] [13:14:08.817] NAME <- NAMES[[kk]] [13:14:08.817] if (name != NAME && is.element(NAME, old_names)) [13:14:08.817] next [13:14:08.817] args[[name]] <- "" [13:14:08.817] } [13:14:08.817] NAMES <- toupper(removed) [13:14:08.817] for (kk in seq_along(NAMES)) { [13:14:08.817] name <- removed[[kk]] [13:14:08.817] NAME <- NAMES[[kk]] [13:14:08.817] if (name != NAME && is.element(NAME, old_names)) [13:14:08.817] next [13:14:08.817] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.817] } [13:14:08.817] if (length(args) > 0) [13:14:08.817] base::do.call(base::Sys.setenv, args = args) [13:14:08.817] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.817] } [13:14:08.817] else { [13:14:08.817] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.817] } [13:14:08.817] { [13:14:08.817] if (base::length(...future.futureOptionsAdded) > [13:14:08.817] 0L) { [13:14:08.817] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.817] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.817] base::options(opts) [13:14:08.817] } [13:14:08.817] { [13:14:08.817] { [13:14:08.817] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.817] NULL [13:14:08.817] } [13:14:08.817] options(future.plan = NULL) [13:14:08.817] if (is.na(NA_character_)) [13:14:08.817] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.817] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.817] future::plan(list(function (..., workers = availableCores(), [13:14:08.817] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.817] envir = parent.frame()) [13:14:08.817] { [13:14:08.817] if (is.function(workers)) [13:14:08.817] workers <- workers() [13:14:08.817] workers <- structure(as.integer(workers), [13:14:08.817] class = class(workers)) [13:14:08.817] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.817] workers >= 1) [13:14:08.817] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.817] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.817] } [13:14:08.817] future <- MultisessionFuture(..., workers = workers, [13:14:08.817] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.817] envir = envir) [13:14:08.817] if (!future$lazy) [13:14:08.817] future <- run(future) [13:14:08.817] invisible(future) [13:14:08.817] }), .cleanup = FALSE, .init = FALSE) [13:14:08.817] } [13:14:08.817] } [13:14:08.817] } [13:14:08.817] }) [13:14:08.817] if (TRUE) { [13:14:08.817] base::sink(type = "output", split = FALSE) [13:14:08.817] if (TRUE) { [13:14:08.817] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.817] } [13:14:08.817] else { [13:14:08.817] ...future.result["stdout"] <- base::list(NULL) [13:14:08.817] } [13:14:08.817] base::close(...future.stdout) [13:14:08.817] ...future.stdout <- NULL [13:14:08.817] } [13:14:08.817] ...future.result$conditions <- ...future.conditions [13:14:08.817] ...future.result$finished <- base::Sys.time() [13:14:08.817] ...future.result [13:14:08.817] } [13:14:08.823] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:08.823] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:08.823] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:08.824] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.824] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.824] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.825] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.825] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.825] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.826] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.826] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.826] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:08.827] MultisessionFuture started [13:14:08.827] - Launch lazy future ... done [13:14:08.827] run() for 'MultisessionFuture' ... done [13:14:08.827] Created future: [13:14:08.843] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.843] - Validating connection of MultisessionFuture [13:14:08.844] - received message: FutureResult [13:14:08.844] - Received FutureResult [13:14:08.844] - Erased future from FutureRegistry [13:14:08.844] result() for ClusterFuture ... [13:14:08.844] - result already collected: FutureResult [13:14:08.845] result() for ClusterFuture ... done [13:14:08.845] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.828] MultisessionFuture: [13:14:08.828] Label: 'future_sapply-1' [13:14:08.828] Expression: [13:14:08.828] { [13:14:08.828] do.call(function(...) { [13:14:08.828] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.828] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.828] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.828] on.exit(options(oopts), add = TRUE) [13:14:08.828] } [13:14:08.828] { [13:14:08.828] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.828] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.828] ...future.FUN(...future.X_jj, ...) [13:14:08.828] }) [13:14:08.828] } [13:14:08.828] }, args = future.call.arguments) [13:14:08.828] } [13:14:08.828] Lazy evaluation: FALSE [13:14:08.828] Asynchronous evaluation: TRUE [13:14:08.828] Local evaluation: TRUE [13:14:08.828] Environment: R_GlobalEnv [13:14:08.828] Capture standard output: TRUE [13:14:08.828] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.828] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.828] Packages: [13:14:08.828] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.828] Resolved: TRUE [13:14:08.828] Value: [13:14:08.828] Conditions captured: [13:14:08.828] Early signaling: FALSE [13:14:08.828] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.828] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.845] Chunk #1 of 2 ... DONE [13:14:08.845] Chunk #2 of 2 ... [13:14:08.846] - Finding globals in 'X' for chunk #2 ... [13:14:08.846] getGlobalsAndPackages() ... [13:14:08.846] Searching for globals... [13:14:08.846] [13:14:08.846] Searching for globals ... DONE [13:14:08.847] - globals: [0] [13:14:08.847] getGlobalsAndPackages() ... DONE [13:14:08.847] + additional globals found: [n=0] [13:14:08.847] + additional namespaces needed: [n=0] [13:14:08.847] - Finding globals in 'X' for chunk #2 ... DONE [13:14:08.847] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.848] - seeds: [13:14:08.848] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.848] getGlobalsAndPackages() ... [13:14:08.848] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.848] Resolving globals: FALSE [13:14:08.848] Tweak future expression to call with '...' arguments ... [13:14:08.849] { [13:14:08.849] do.call(function(...) { [13:14:08.849] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.849] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.849] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.849] on.exit(options(oopts), add = TRUE) [13:14:08.849] } [13:14:08.849] { [13:14:08.849] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.849] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.849] ...future.FUN(...future.X_jj, ...) [13:14:08.849] }) [13:14:08.849] } [13:14:08.849] }, args = future.call.arguments) [13:14:08.849] } [13:14:08.849] Tweak future expression to call with '...' arguments ... DONE [13:14:08.849] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.850] [13:14:08.850] getGlobalsAndPackages() ... DONE [13:14:08.850] run() for 'Future' ... [13:14:08.850] - state: 'created' [13:14:08.851] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.864] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.865] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.865] - Field: 'node' [13:14:08.865] - Field: 'label' [13:14:08.865] - Field: 'local' [13:14:08.865] - Field: 'owner' [13:14:08.866] - Field: 'envir' [13:14:08.866] - Field: 'workers' [13:14:08.866] - Field: 'packages' [13:14:08.866] - Field: 'gc' [13:14:08.866] - Field: 'conditions' [13:14:08.866] - Field: 'persistent' [13:14:08.867] - Field: 'expr' [13:14:08.867] - Field: 'uuid' [13:14:08.867] - Field: 'seed' [13:14:08.867] - Field: 'version' [13:14:08.867] - Field: 'result' [13:14:08.867] - Field: 'asynchronous' [13:14:08.868] - Field: 'calls' [13:14:08.868] - Field: 'globals' [13:14:08.868] - Field: 'stdout' [13:14:08.868] - Field: 'earlySignal' [13:14:08.868] - Field: 'lazy' [13:14:08.868] - Field: 'state' [13:14:08.869] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.869] - Launch lazy future ... [13:14:08.869] Packages needed by the future expression (n = 0): [13:14:08.869] Packages needed by future strategies (n = 0): [13:14:08.870] { [13:14:08.870] { [13:14:08.870] { [13:14:08.870] ...future.startTime <- base::Sys.time() [13:14:08.870] { [13:14:08.870] { [13:14:08.870] { [13:14:08.870] { [13:14:08.870] base::local({ [13:14:08.870] has_future <- base::requireNamespace("future", [13:14:08.870] quietly = TRUE) [13:14:08.870] if (has_future) { [13:14:08.870] ns <- base::getNamespace("future") [13:14:08.870] version <- ns[[".package"]][["version"]] [13:14:08.870] if (is.null(version)) [13:14:08.870] version <- utils::packageVersion("future") [13:14:08.870] } [13:14:08.870] else { [13:14:08.870] version <- NULL [13:14:08.870] } [13:14:08.870] if (!has_future || version < "1.8.0") { [13:14:08.870] info <- base::c(r_version = base::gsub("R version ", [13:14:08.870] "", base::R.version$version.string), [13:14:08.870] platform = base::sprintf("%s (%s-bit)", [13:14:08.870] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.870] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.870] "release", "version")], collapse = " "), [13:14:08.870] hostname = base::Sys.info()[["nodename"]]) [13:14:08.870] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.870] info) [13:14:08.870] info <- base::paste(info, collapse = "; ") [13:14:08.870] if (!has_future) { [13:14:08.870] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.870] info) [13:14:08.870] } [13:14:08.870] else { [13:14:08.870] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.870] info, version) [13:14:08.870] } [13:14:08.870] base::stop(msg) [13:14:08.870] } [13:14:08.870] }) [13:14:08.870] } [13:14:08.870] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.870] base::options(mc.cores = 1L) [13:14:08.870] } [13:14:08.870] options(future.plan = NULL) [13:14:08.870] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.870] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.870] } [13:14:08.870] ...future.workdir <- getwd() [13:14:08.870] } [13:14:08.870] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.870] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.870] } [13:14:08.870] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.870] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.870] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.870] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.870] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.870] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.870] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.870] base::names(...future.oldOptions)) [13:14:08.870] } [13:14:08.870] if (FALSE) { [13:14:08.870] } [13:14:08.870] else { [13:14:08.870] if (TRUE) { [13:14:08.870] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.870] open = "w") [13:14:08.870] } [13:14:08.870] else { [13:14:08.870] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.870] windows = "NUL", "/dev/null"), open = "w") [13:14:08.870] } [13:14:08.870] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.870] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.870] base::sink(type = "output", split = FALSE) [13:14:08.870] base::close(...future.stdout) [13:14:08.870] }, add = TRUE) [13:14:08.870] } [13:14:08.870] ...future.frame <- base::sys.nframe() [13:14:08.870] ...future.conditions <- base::list() [13:14:08.870] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.870] if (FALSE) { [13:14:08.870] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.870] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.870] } [13:14:08.870] ...future.result <- base::tryCatch({ [13:14:08.870] base::withCallingHandlers({ [13:14:08.870] ...future.value <- base::withVisible(base::local({ [13:14:08.870] ...future.makeSendCondition <- local({ [13:14:08.870] sendCondition <- NULL [13:14:08.870] function(frame = 1L) { [13:14:08.870] if (is.function(sendCondition)) [13:14:08.870] return(sendCondition) [13:14:08.870] ns <- getNamespace("parallel") [13:14:08.870] if (exists("sendData", mode = "function", [13:14:08.870] envir = ns)) { [13:14:08.870] parallel_sendData <- get("sendData", mode = "function", [13:14:08.870] envir = ns) [13:14:08.870] envir <- sys.frame(frame) [13:14:08.870] master <- NULL [13:14:08.870] while (!identical(envir, .GlobalEnv) && [13:14:08.870] !identical(envir, emptyenv())) { [13:14:08.870] if (exists("master", mode = "list", envir = envir, [13:14:08.870] inherits = FALSE)) { [13:14:08.870] master <- get("master", mode = "list", [13:14:08.870] envir = envir, inherits = FALSE) [13:14:08.870] if (inherits(master, c("SOCKnode", [13:14:08.870] "SOCK0node"))) { [13:14:08.870] sendCondition <<- function(cond) { [13:14:08.870] data <- list(type = "VALUE", value = cond, [13:14:08.870] success = TRUE) [13:14:08.870] parallel_sendData(master, data) [13:14:08.870] } [13:14:08.870] return(sendCondition) [13:14:08.870] } [13:14:08.870] } [13:14:08.870] frame <- frame + 1L [13:14:08.870] envir <- sys.frame(frame) [13:14:08.870] } [13:14:08.870] } [13:14:08.870] sendCondition <<- function(cond) NULL [13:14:08.870] } [13:14:08.870] }) [13:14:08.870] withCallingHandlers({ [13:14:08.870] { [13:14:08.870] do.call(function(...) { [13:14:08.870] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.870] if (!identical(...future.globals.maxSize.org, [13:14:08.870] ...future.globals.maxSize)) { [13:14:08.870] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.870] on.exit(options(oopts), add = TRUE) [13:14:08.870] } [13:14:08.870] { [13:14:08.870] lapply(seq_along(...future.elements_ii), [13:14:08.870] FUN = function(jj) { [13:14:08.870] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.870] ...future.FUN(...future.X_jj, ...) [13:14:08.870] }) [13:14:08.870] } [13:14:08.870] }, args = future.call.arguments) [13:14:08.870] } [13:14:08.870] }, immediateCondition = function(cond) { [13:14:08.870] sendCondition <- ...future.makeSendCondition() [13:14:08.870] sendCondition(cond) [13:14:08.870] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.870] { [13:14:08.870] inherits <- base::inherits [13:14:08.870] invokeRestart <- base::invokeRestart [13:14:08.870] is.null <- base::is.null [13:14:08.870] muffled <- FALSE [13:14:08.870] if (inherits(cond, "message")) { [13:14:08.870] muffled <- grepl(pattern, "muffleMessage") [13:14:08.870] if (muffled) [13:14:08.870] invokeRestart("muffleMessage") [13:14:08.870] } [13:14:08.870] else if (inherits(cond, "warning")) { [13:14:08.870] muffled <- grepl(pattern, "muffleWarning") [13:14:08.870] if (muffled) [13:14:08.870] invokeRestart("muffleWarning") [13:14:08.870] } [13:14:08.870] else if (inherits(cond, "condition")) { [13:14:08.870] if (!is.null(pattern)) { [13:14:08.870] computeRestarts <- base::computeRestarts [13:14:08.870] grepl <- base::grepl [13:14:08.870] restarts <- computeRestarts(cond) [13:14:08.870] for (restart in restarts) { [13:14:08.870] name <- restart$name [13:14:08.870] if (is.null(name)) [13:14:08.870] next [13:14:08.870] if (!grepl(pattern, name)) [13:14:08.870] next [13:14:08.870] invokeRestart(restart) [13:14:08.870] muffled <- TRUE [13:14:08.870] break [13:14:08.870] } [13:14:08.870] } [13:14:08.870] } [13:14:08.870] invisible(muffled) [13:14:08.870] } [13:14:08.870] muffleCondition(cond) [13:14:08.870] }) [13:14:08.870] })) [13:14:08.870] future::FutureResult(value = ...future.value$value, [13:14:08.870] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.870] ...future.rng), globalenv = if (FALSE) [13:14:08.870] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.870] ...future.globalenv.names)) [13:14:08.870] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.870] }, condition = base::local({ [13:14:08.870] c <- base::c [13:14:08.870] inherits <- base::inherits [13:14:08.870] invokeRestart <- base::invokeRestart [13:14:08.870] length <- base::length [13:14:08.870] list <- base::list [13:14:08.870] seq.int <- base::seq.int [13:14:08.870] signalCondition <- base::signalCondition [13:14:08.870] sys.calls <- base::sys.calls [13:14:08.870] `[[` <- base::`[[` [13:14:08.870] `+` <- base::`+` [13:14:08.870] `<<-` <- base::`<<-` [13:14:08.870] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.870] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.870] 3L)] [13:14:08.870] } [13:14:08.870] function(cond) { [13:14:08.870] is_error <- inherits(cond, "error") [13:14:08.870] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.870] NULL) [13:14:08.870] if (is_error) { [13:14:08.870] sessionInformation <- function() { [13:14:08.870] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.870] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.870] search = base::search(), system = base::Sys.info()) [13:14:08.870] } [13:14:08.870] ...future.conditions[[length(...future.conditions) + [13:14:08.870] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.870] cond$call), session = sessionInformation(), [13:14:08.870] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.870] signalCondition(cond) [13:14:08.870] } [13:14:08.870] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.870] "immediateCondition"))) { [13:14:08.870] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.870] ...future.conditions[[length(...future.conditions) + [13:14:08.870] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.870] if (TRUE && !signal) { [13:14:08.870] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.870] { [13:14:08.870] inherits <- base::inherits [13:14:08.870] invokeRestart <- base::invokeRestart [13:14:08.870] is.null <- base::is.null [13:14:08.870] muffled <- FALSE [13:14:08.870] if (inherits(cond, "message")) { [13:14:08.870] muffled <- grepl(pattern, "muffleMessage") [13:14:08.870] if (muffled) [13:14:08.870] invokeRestart("muffleMessage") [13:14:08.870] } [13:14:08.870] else if (inherits(cond, "warning")) { [13:14:08.870] muffled <- grepl(pattern, "muffleWarning") [13:14:08.870] if (muffled) [13:14:08.870] invokeRestart("muffleWarning") [13:14:08.870] } [13:14:08.870] else if (inherits(cond, "condition")) { [13:14:08.870] if (!is.null(pattern)) { [13:14:08.870] computeRestarts <- base::computeRestarts [13:14:08.870] grepl <- base::grepl [13:14:08.870] restarts <- computeRestarts(cond) [13:14:08.870] for (restart in restarts) { [13:14:08.870] name <- restart$name [13:14:08.870] if (is.null(name)) [13:14:08.870] next [13:14:08.870] if (!grepl(pattern, name)) [13:14:08.870] next [13:14:08.870] invokeRestart(restart) [13:14:08.870] muffled <- TRUE [13:14:08.870] break [13:14:08.870] } [13:14:08.870] } [13:14:08.870] } [13:14:08.870] invisible(muffled) [13:14:08.870] } [13:14:08.870] muffleCondition(cond, pattern = "^muffle") [13:14:08.870] } [13:14:08.870] } [13:14:08.870] else { [13:14:08.870] if (TRUE) { [13:14:08.870] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.870] { [13:14:08.870] inherits <- base::inherits [13:14:08.870] invokeRestart <- base::invokeRestart [13:14:08.870] is.null <- base::is.null [13:14:08.870] muffled <- FALSE [13:14:08.870] if (inherits(cond, "message")) { [13:14:08.870] muffled <- grepl(pattern, "muffleMessage") [13:14:08.870] if (muffled) [13:14:08.870] invokeRestart("muffleMessage") [13:14:08.870] } [13:14:08.870] else if (inherits(cond, "warning")) { [13:14:08.870] muffled <- grepl(pattern, "muffleWarning") [13:14:08.870] if (muffled) [13:14:08.870] invokeRestart("muffleWarning") [13:14:08.870] } [13:14:08.870] else if (inherits(cond, "condition")) { [13:14:08.870] if (!is.null(pattern)) { [13:14:08.870] computeRestarts <- base::computeRestarts [13:14:08.870] grepl <- base::grepl [13:14:08.870] restarts <- computeRestarts(cond) [13:14:08.870] for (restart in restarts) { [13:14:08.870] name <- restart$name [13:14:08.870] if (is.null(name)) [13:14:08.870] next [13:14:08.870] if (!grepl(pattern, name)) [13:14:08.870] next [13:14:08.870] invokeRestart(restart) [13:14:08.870] muffled <- TRUE [13:14:08.870] break [13:14:08.870] } [13:14:08.870] } [13:14:08.870] } [13:14:08.870] invisible(muffled) [13:14:08.870] } [13:14:08.870] muffleCondition(cond, pattern = "^muffle") [13:14:08.870] } [13:14:08.870] } [13:14:08.870] } [13:14:08.870] })) [13:14:08.870] }, error = function(ex) { [13:14:08.870] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.870] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.870] ...future.rng), started = ...future.startTime, [13:14:08.870] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.870] version = "1.8"), class = "FutureResult") [13:14:08.870] }, finally = { [13:14:08.870] if (!identical(...future.workdir, getwd())) [13:14:08.870] setwd(...future.workdir) [13:14:08.870] { [13:14:08.870] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.870] ...future.oldOptions$nwarnings <- NULL [13:14:08.870] } [13:14:08.870] base::options(...future.oldOptions) [13:14:08.870] if (.Platform$OS.type == "windows") { [13:14:08.870] old_names <- names(...future.oldEnvVars) [13:14:08.870] envs <- base::Sys.getenv() [13:14:08.870] names <- names(envs) [13:14:08.870] common <- intersect(names, old_names) [13:14:08.870] added <- setdiff(names, old_names) [13:14:08.870] removed <- setdiff(old_names, names) [13:14:08.870] changed <- common[...future.oldEnvVars[common] != [13:14:08.870] envs[common]] [13:14:08.870] NAMES <- toupper(changed) [13:14:08.870] args <- list() [13:14:08.870] for (kk in seq_along(NAMES)) { [13:14:08.870] name <- changed[[kk]] [13:14:08.870] NAME <- NAMES[[kk]] [13:14:08.870] if (name != NAME && is.element(NAME, old_names)) [13:14:08.870] next [13:14:08.870] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.870] } [13:14:08.870] NAMES <- toupper(added) [13:14:08.870] for (kk in seq_along(NAMES)) { [13:14:08.870] name <- added[[kk]] [13:14:08.870] NAME <- NAMES[[kk]] [13:14:08.870] if (name != NAME && is.element(NAME, old_names)) [13:14:08.870] next [13:14:08.870] args[[name]] <- "" [13:14:08.870] } [13:14:08.870] NAMES <- toupper(removed) [13:14:08.870] for (kk in seq_along(NAMES)) { [13:14:08.870] name <- removed[[kk]] [13:14:08.870] NAME <- NAMES[[kk]] [13:14:08.870] if (name != NAME && is.element(NAME, old_names)) [13:14:08.870] next [13:14:08.870] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.870] } [13:14:08.870] if (length(args) > 0) [13:14:08.870] base::do.call(base::Sys.setenv, args = args) [13:14:08.870] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.870] } [13:14:08.870] else { [13:14:08.870] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.870] } [13:14:08.870] { [13:14:08.870] if (base::length(...future.futureOptionsAdded) > [13:14:08.870] 0L) { [13:14:08.870] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.870] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.870] base::options(opts) [13:14:08.870] } [13:14:08.870] { [13:14:08.870] { [13:14:08.870] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.870] NULL [13:14:08.870] } [13:14:08.870] options(future.plan = NULL) [13:14:08.870] if (is.na(NA_character_)) [13:14:08.870] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.870] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.870] future::plan(list(function (..., workers = availableCores(), [13:14:08.870] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.870] envir = parent.frame()) [13:14:08.870] { [13:14:08.870] if (is.function(workers)) [13:14:08.870] workers <- workers() [13:14:08.870] workers <- structure(as.integer(workers), [13:14:08.870] class = class(workers)) [13:14:08.870] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.870] workers >= 1) [13:14:08.870] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.870] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.870] } [13:14:08.870] future <- MultisessionFuture(..., workers = workers, [13:14:08.870] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.870] envir = envir) [13:14:08.870] if (!future$lazy) [13:14:08.870] future <- run(future) [13:14:08.870] invisible(future) [13:14:08.870] }), .cleanup = FALSE, .init = FALSE) [13:14:08.870] } [13:14:08.870] } [13:14:08.870] } [13:14:08.870] }) [13:14:08.870] if (TRUE) { [13:14:08.870] base::sink(type = "output", split = FALSE) [13:14:08.870] if (TRUE) { [13:14:08.870] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.870] } [13:14:08.870] else { [13:14:08.870] ...future.result["stdout"] <- base::list(NULL) [13:14:08.870] } [13:14:08.870] base::close(...future.stdout) [13:14:08.870] ...future.stdout <- NULL [13:14:08.870] } [13:14:08.870] ...future.result$conditions <- ...future.conditions [13:14:08.870] ...future.result$finished <- base::Sys.time() [13:14:08.870] ...future.result [13:14:08.870] } [13:14:08.875] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:08.875] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:08.876] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:08.876] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.877] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.877] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.877] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.877] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.878] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.878] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.878] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.879] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:08.879] MultisessionFuture started [13:14:08.880] - Launch lazy future ... done [13:14:08.880] run() for 'MultisessionFuture' ... done [13:14:08.880] Created future: [13:14:08.895] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.896] - Validating connection of MultisessionFuture [13:14:08.896] - received message: FutureResult [13:14:08.896] - Received FutureResult [13:14:08.896] - Erased future from FutureRegistry [13:14:08.896] result() for ClusterFuture ... [13:14:08.897] - result already collected: FutureResult [13:14:08.897] result() for ClusterFuture ... done [13:14:08.897] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.880] MultisessionFuture: [13:14:08.880] Label: 'future_sapply-2' [13:14:08.880] Expression: [13:14:08.880] { [13:14:08.880] do.call(function(...) { [13:14:08.880] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.880] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.880] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.880] on.exit(options(oopts), add = TRUE) [13:14:08.880] } [13:14:08.880] { [13:14:08.880] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.880] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.880] ...future.FUN(...future.X_jj, ...) [13:14:08.880] }) [13:14:08.880] } [13:14:08.880] }, args = future.call.arguments) [13:14:08.880] } [13:14:08.880] Lazy evaluation: FALSE [13:14:08.880] Asynchronous evaluation: TRUE [13:14:08.880] Local evaluation: TRUE [13:14:08.880] Environment: R_GlobalEnv [13:14:08.880] Capture standard output: TRUE [13:14:08.880] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.880] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.880] Packages: [13:14:08.880] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.880] Resolved: TRUE [13:14:08.880] Value: [13:14:08.880] Conditions captured: [13:14:08.880] Early signaling: FALSE [13:14:08.880] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.880] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.897] Chunk #2 of 2 ... DONE [13:14:08.898] Launching 2 futures (chunks) ... DONE [13:14:08.898] Resolving 2 futures (chunks) ... [13:14:08.898] resolve() on list ... [13:14:08.898] recursive: 0 [13:14:08.898] length: 2 [13:14:08.898] [13:14:08.899] Future #1 [13:14:08.899] result() for ClusterFuture ... [13:14:08.899] - result already collected: FutureResult [13:14:08.899] result() for ClusterFuture ... done [13:14:08.899] result() for ClusterFuture ... [13:14:08.899] - result already collected: FutureResult [13:14:08.899] result() for ClusterFuture ... done [13:14:08.900] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:08.900] - nx: 2 [13:14:08.900] - relay: TRUE [13:14:08.900] - stdout: TRUE [13:14:08.900] - signal: TRUE [13:14:08.900] - resignal: FALSE [13:14:08.901] - force: TRUE [13:14:08.901] - relayed: [n=2] FALSE, FALSE [13:14:08.901] - queued futures: [n=2] FALSE, FALSE [13:14:08.901] - until=1 [13:14:08.901] - relaying element #1 [13:14:08.901] result() for ClusterFuture ... [13:14:08.902] - result already collected: FutureResult [13:14:08.902] result() for ClusterFuture ... done [13:14:08.902] result() for ClusterFuture ... [13:14:08.902] - result already collected: FutureResult [13:14:08.902] result() for ClusterFuture ... done [13:14:08.902] result() for ClusterFuture ... [13:14:08.902] - result already collected: FutureResult [13:14:08.903] result() for ClusterFuture ... done [13:14:08.903] result() for ClusterFuture ... [13:14:08.903] - result already collected: FutureResult [13:14:08.903] result() for ClusterFuture ... done [13:14:08.903] - relayed: [n=2] TRUE, FALSE [13:14:08.906] - queued futures: [n=2] TRUE, FALSE [13:14:08.906] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:08.906] length: 1 (resolved future 1) [13:14:08.906] Future #2 [13:14:08.907] result() for ClusterFuture ... [13:14:08.907] - result already collected: FutureResult [13:14:08.907] result() for ClusterFuture ... done [13:14:08.907] result() for ClusterFuture ... [13:14:08.907] - result already collected: FutureResult [13:14:08.907] result() for ClusterFuture ... done [13:14:08.908] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:08.908] - nx: 2 [13:14:08.908] - relay: TRUE [13:14:08.908] - stdout: TRUE [13:14:08.908] - signal: TRUE [13:14:08.908] - resignal: FALSE [13:14:08.909] - force: TRUE [13:14:08.909] - relayed: [n=2] TRUE, FALSE [13:14:08.909] - queued futures: [n=2] TRUE, FALSE [13:14:08.909] - until=2 [13:14:08.909] - relaying element #2 [13:14:08.909] result() for ClusterFuture ... [13:14:08.910] - result already collected: FutureResult [13:14:08.910] result() for ClusterFuture ... done [13:14:08.910] result() for ClusterFuture ... [13:14:08.910] - result already collected: FutureResult [13:14:08.910] result() for ClusterFuture ... done [13:14:08.910] result() for ClusterFuture ... [13:14:08.911] - result already collected: FutureResult [13:14:08.911] result() for ClusterFuture ... done [13:14:08.911] result() for ClusterFuture ... [13:14:08.911] - result already collected: FutureResult [13:14:08.911] result() for ClusterFuture ... done [13:14:08.911] - relayed: [n=2] TRUE, TRUE [13:14:08.911] - queued futures: [n=2] TRUE, TRUE [13:14:08.912] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:08.912] length: 0 (resolved future 2) [13:14:08.912] Relaying remaining futures [13:14:08.912] signalConditionsASAP(NULL, pos=0) ... [13:14:08.912] - nx: 2 [13:14:08.912] - relay: TRUE [13:14:08.913] - stdout: TRUE [13:14:08.913] - signal: TRUE [13:14:08.913] - resignal: FALSE [13:14:08.913] - force: TRUE [13:14:08.913] - relayed: [n=2] TRUE, TRUE [13:14:08.913] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:08.914] - relayed: [n=2] TRUE, TRUE [13:14:08.914] - queued futures: [n=2] TRUE, TRUE [13:14:08.914] signalConditionsASAP(NULL, pos=0) ... done [13:14:08.914] resolve() on list ... DONE [13:14:08.914] result() for ClusterFuture ... [13:14:08.914] - result already collected: FutureResult [13:14:08.914] result() for ClusterFuture ... done [13:14:08.915] result() for ClusterFuture ... [13:14:08.915] - result already collected: FutureResult [13:14:08.915] result() for ClusterFuture ... done [13:14:08.915] result() for ClusterFuture ... [13:14:08.915] - result already collected: FutureResult [13:14:08.915] result() for ClusterFuture ... done [13:14:08.916] result() for ClusterFuture ... [13:14:08.916] - result already collected: FutureResult [13:14:08.916] result() for ClusterFuture ... done [13:14:08.916] - Number of value chunks collected: 2 [13:14:08.916] Resolving 2 futures (chunks) ... DONE [13:14:08.916] Reducing values from 2 chunks ... [13:14:08.917] - Number of values collected after concatenation: 6 [13:14:08.917] - Number of values expected: 6 [13:14:08.917] Reducing values from 2 chunks ... DONE [13:14:08.917] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:08.919] future_lapply() ... [13:14:08.922] Number of chunks: 2 [13:14:08.922] getGlobalsAndPackagesXApply() ... [13:14:08.922] - future.globals: TRUE [13:14:08.922] getGlobalsAndPackages() ... [13:14:08.922] Searching for globals... [13:14:08.924] - globals found: [2] 'FUN', 'UseMethod' [13:14:08.924] Searching for globals ... DONE [13:14:08.924] Resolving globals: FALSE [13:14:08.925] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:08.925] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:08.925] - globals: [1] 'FUN' [13:14:08.925] [13:14:08.925] getGlobalsAndPackages() ... DONE [13:14:08.926] - globals found/used: [n=1] 'FUN' [13:14:08.926] - needed namespaces: [n=0] [13:14:08.926] Finding globals ... DONE [13:14:08.926] - use_args: TRUE [13:14:08.926] - Getting '...' globals ... [13:14:08.927] resolve() on list ... [13:14:08.927] recursive: 0 [13:14:08.927] length: 1 [13:14:08.927] elements: '...' [13:14:08.927] length: 0 (resolved future 1) [13:14:08.927] resolve() on list ... DONE [13:14:08.928] - '...' content: [n=0] [13:14:08.928] List of 1 [13:14:08.928] $ ...: list() [13:14:08.928] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.928] - attr(*, "where")=List of 1 [13:14:08.928] ..$ ...: [13:14:08.928] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.928] - attr(*, "resolved")= logi TRUE [13:14:08.928] - attr(*, "total_size")= num NA [13:14:08.931] - Getting '...' globals ... DONE [13:14:08.931] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:08.931] List of 2 [13:14:08.931] $ ...future.FUN:function (x, ...) [13:14:08.931] $ ... : list() [13:14:08.931] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:08.931] - attr(*, "where")=List of 2 [13:14:08.931] ..$ ...future.FUN: [13:14:08.931] ..$ ... : [13:14:08.931] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:08.931] - attr(*, "resolved")= logi FALSE [13:14:08.931] - attr(*, "total_size")= num 1248 [13:14:08.934] Packages to be attached in all futures: [n=0] [13:14:08.935] getGlobalsAndPackagesXApply() ... DONE [13:14:08.935] Number of futures (= number of chunks): 2 [13:14:08.935] Launching 2 futures (chunks) ... [13:14:08.935] Chunk #1 of 2 ... [13:14:08.935] - Finding globals in 'X' for chunk #1 ... [13:14:08.936] getGlobalsAndPackages() ... [13:14:08.936] Searching for globals... [13:14:08.936] [13:14:08.936] Searching for globals ... DONE [13:14:08.936] - globals: [0] [13:14:08.937] getGlobalsAndPackages() ... DONE [13:14:08.937] + additional globals found: [n=0] [13:14:08.937] + additional namespaces needed: [n=0] [13:14:08.937] - Finding globals in 'X' for chunk #1 ... DONE [13:14:08.937] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.937] - seeds: [13:14:08.937] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.938] getGlobalsAndPackages() ... [13:14:08.938] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.938] Resolving globals: FALSE [13:14:08.938] Tweak future expression to call with '...' arguments ... [13:14:08.938] { [13:14:08.938] do.call(function(...) { [13:14:08.938] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.938] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.938] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.938] on.exit(options(oopts), add = TRUE) [13:14:08.938] } [13:14:08.938] { [13:14:08.938] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.938] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.938] ...future.FUN(...future.X_jj, ...) [13:14:08.938] }) [13:14:08.938] } [13:14:08.938] }, args = future.call.arguments) [13:14:08.938] } [13:14:08.939] Tweak future expression to call with '...' arguments ... DONE [13:14:08.939] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.940] [13:14:08.940] getGlobalsAndPackages() ... DONE [13:14:08.940] run() for 'Future' ... [13:14:08.940] - state: 'created' [13:14:08.941] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:08.956] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.956] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:08.956] - Field: 'node' [13:14:08.956] - Field: 'label' [13:14:08.957] - Field: 'local' [13:14:08.957] - Field: 'owner' [13:14:08.957] - Field: 'envir' [13:14:08.957] - Field: 'workers' [13:14:08.957] - Field: 'packages' [13:14:08.957] - Field: 'gc' [13:14:08.958] - Field: 'conditions' [13:14:08.958] - Field: 'persistent' [13:14:08.958] - Field: 'expr' [13:14:08.958] - Field: 'uuid' [13:14:08.958] - Field: 'seed' [13:14:08.959] - Field: 'version' [13:14:08.959] - Field: 'result' [13:14:08.959] - Field: 'asynchronous' [13:14:08.959] - Field: 'calls' [13:14:08.959] - Field: 'globals' [13:14:08.959] - Field: 'stdout' [13:14:08.960] - Field: 'earlySignal' [13:14:08.960] - Field: 'lazy' [13:14:08.960] - Field: 'state' [13:14:08.960] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:08.960] - Launch lazy future ... [13:14:08.961] Packages needed by the future expression (n = 0): [13:14:08.961] Packages needed by future strategies (n = 0): [13:14:08.961] { [13:14:08.961] { [13:14:08.961] { [13:14:08.961] ...future.startTime <- base::Sys.time() [13:14:08.961] { [13:14:08.961] { [13:14:08.961] { [13:14:08.961] { [13:14:08.961] base::local({ [13:14:08.961] has_future <- base::requireNamespace("future", [13:14:08.961] quietly = TRUE) [13:14:08.961] if (has_future) { [13:14:08.961] ns <- base::getNamespace("future") [13:14:08.961] version <- ns[[".package"]][["version"]] [13:14:08.961] if (is.null(version)) [13:14:08.961] version <- utils::packageVersion("future") [13:14:08.961] } [13:14:08.961] else { [13:14:08.961] version <- NULL [13:14:08.961] } [13:14:08.961] if (!has_future || version < "1.8.0") { [13:14:08.961] info <- base::c(r_version = base::gsub("R version ", [13:14:08.961] "", base::R.version$version.string), [13:14:08.961] platform = base::sprintf("%s (%s-bit)", [13:14:08.961] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:08.961] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:08.961] "release", "version")], collapse = " "), [13:14:08.961] hostname = base::Sys.info()[["nodename"]]) [13:14:08.961] info <- base::sprintf("%s: %s", base::names(info), [13:14:08.961] info) [13:14:08.961] info <- base::paste(info, collapse = "; ") [13:14:08.961] if (!has_future) { [13:14:08.961] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:08.961] info) [13:14:08.961] } [13:14:08.961] else { [13:14:08.961] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:08.961] info, version) [13:14:08.961] } [13:14:08.961] base::stop(msg) [13:14:08.961] } [13:14:08.961] }) [13:14:08.961] } [13:14:08.961] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:08.961] base::options(mc.cores = 1L) [13:14:08.961] } [13:14:08.961] options(future.plan = NULL) [13:14:08.961] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.961] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:08.961] } [13:14:08.961] ...future.workdir <- getwd() [13:14:08.961] } [13:14:08.961] ...future.oldOptions <- base::as.list(base::.Options) [13:14:08.961] ...future.oldEnvVars <- base::Sys.getenv() [13:14:08.961] } [13:14:08.961] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:08.961] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:08.961] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:08.961] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:08.961] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:08.961] future.stdout.windows.reencode = NULL, width = 80L) [13:14:08.961] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:08.961] base::names(...future.oldOptions)) [13:14:08.961] } [13:14:08.961] if (FALSE) { [13:14:08.961] } [13:14:08.961] else { [13:14:08.961] if (TRUE) { [13:14:08.961] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:08.961] open = "w") [13:14:08.961] } [13:14:08.961] else { [13:14:08.961] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:08.961] windows = "NUL", "/dev/null"), open = "w") [13:14:08.961] } [13:14:08.961] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:08.961] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:08.961] base::sink(type = "output", split = FALSE) [13:14:08.961] base::close(...future.stdout) [13:14:08.961] }, add = TRUE) [13:14:08.961] } [13:14:08.961] ...future.frame <- base::sys.nframe() [13:14:08.961] ...future.conditions <- base::list() [13:14:08.961] ...future.rng <- base::globalenv()$.Random.seed [13:14:08.961] if (FALSE) { [13:14:08.961] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:08.961] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:08.961] } [13:14:08.961] ...future.result <- base::tryCatch({ [13:14:08.961] base::withCallingHandlers({ [13:14:08.961] ...future.value <- base::withVisible(base::local({ [13:14:08.961] ...future.makeSendCondition <- local({ [13:14:08.961] sendCondition <- NULL [13:14:08.961] function(frame = 1L) { [13:14:08.961] if (is.function(sendCondition)) [13:14:08.961] return(sendCondition) [13:14:08.961] ns <- getNamespace("parallel") [13:14:08.961] if (exists("sendData", mode = "function", [13:14:08.961] envir = ns)) { [13:14:08.961] parallel_sendData <- get("sendData", mode = "function", [13:14:08.961] envir = ns) [13:14:08.961] envir <- sys.frame(frame) [13:14:08.961] master <- NULL [13:14:08.961] while (!identical(envir, .GlobalEnv) && [13:14:08.961] !identical(envir, emptyenv())) { [13:14:08.961] if (exists("master", mode = "list", envir = envir, [13:14:08.961] inherits = FALSE)) { [13:14:08.961] master <- get("master", mode = "list", [13:14:08.961] envir = envir, inherits = FALSE) [13:14:08.961] if (inherits(master, c("SOCKnode", [13:14:08.961] "SOCK0node"))) { [13:14:08.961] sendCondition <<- function(cond) { [13:14:08.961] data <- list(type = "VALUE", value = cond, [13:14:08.961] success = TRUE) [13:14:08.961] parallel_sendData(master, data) [13:14:08.961] } [13:14:08.961] return(sendCondition) [13:14:08.961] } [13:14:08.961] } [13:14:08.961] frame <- frame + 1L [13:14:08.961] envir <- sys.frame(frame) [13:14:08.961] } [13:14:08.961] } [13:14:08.961] sendCondition <<- function(cond) NULL [13:14:08.961] } [13:14:08.961] }) [13:14:08.961] withCallingHandlers({ [13:14:08.961] { [13:14:08.961] do.call(function(...) { [13:14:08.961] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.961] if (!identical(...future.globals.maxSize.org, [13:14:08.961] ...future.globals.maxSize)) { [13:14:08.961] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.961] on.exit(options(oopts), add = TRUE) [13:14:08.961] } [13:14:08.961] { [13:14:08.961] lapply(seq_along(...future.elements_ii), [13:14:08.961] FUN = function(jj) { [13:14:08.961] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.961] ...future.FUN(...future.X_jj, ...) [13:14:08.961] }) [13:14:08.961] } [13:14:08.961] }, args = future.call.arguments) [13:14:08.961] } [13:14:08.961] }, immediateCondition = function(cond) { [13:14:08.961] sendCondition <- ...future.makeSendCondition() [13:14:08.961] sendCondition(cond) [13:14:08.961] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.961] { [13:14:08.961] inherits <- base::inherits [13:14:08.961] invokeRestart <- base::invokeRestart [13:14:08.961] is.null <- base::is.null [13:14:08.961] muffled <- FALSE [13:14:08.961] if (inherits(cond, "message")) { [13:14:08.961] muffled <- grepl(pattern, "muffleMessage") [13:14:08.961] if (muffled) [13:14:08.961] invokeRestart("muffleMessage") [13:14:08.961] } [13:14:08.961] else if (inherits(cond, "warning")) { [13:14:08.961] muffled <- grepl(pattern, "muffleWarning") [13:14:08.961] if (muffled) [13:14:08.961] invokeRestart("muffleWarning") [13:14:08.961] } [13:14:08.961] else if (inherits(cond, "condition")) { [13:14:08.961] if (!is.null(pattern)) { [13:14:08.961] computeRestarts <- base::computeRestarts [13:14:08.961] grepl <- base::grepl [13:14:08.961] restarts <- computeRestarts(cond) [13:14:08.961] for (restart in restarts) { [13:14:08.961] name <- restart$name [13:14:08.961] if (is.null(name)) [13:14:08.961] next [13:14:08.961] if (!grepl(pattern, name)) [13:14:08.961] next [13:14:08.961] invokeRestart(restart) [13:14:08.961] muffled <- TRUE [13:14:08.961] break [13:14:08.961] } [13:14:08.961] } [13:14:08.961] } [13:14:08.961] invisible(muffled) [13:14:08.961] } [13:14:08.961] muffleCondition(cond) [13:14:08.961] }) [13:14:08.961] })) [13:14:08.961] future::FutureResult(value = ...future.value$value, [13:14:08.961] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.961] ...future.rng), globalenv = if (FALSE) [13:14:08.961] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:08.961] ...future.globalenv.names)) [13:14:08.961] else NULL, started = ...future.startTime, version = "1.8") [13:14:08.961] }, condition = base::local({ [13:14:08.961] c <- base::c [13:14:08.961] inherits <- base::inherits [13:14:08.961] invokeRestart <- base::invokeRestart [13:14:08.961] length <- base::length [13:14:08.961] list <- base::list [13:14:08.961] seq.int <- base::seq.int [13:14:08.961] signalCondition <- base::signalCondition [13:14:08.961] sys.calls <- base::sys.calls [13:14:08.961] `[[` <- base::`[[` [13:14:08.961] `+` <- base::`+` [13:14:08.961] `<<-` <- base::`<<-` [13:14:08.961] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:08.961] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:08.961] 3L)] [13:14:08.961] } [13:14:08.961] function(cond) { [13:14:08.961] is_error <- inherits(cond, "error") [13:14:08.961] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:08.961] NULL) [13:14:08.961] if (is_error) { [13:14:08.961] sessionInformation <- function() { [13:14:08.961] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:08.961] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:08.961] search = base::search(), system = base::Sys.info()) [13:14:08.961] } [13:14:08.961] ...future.conditions[[length(...future.conditions) + [13:14:08.961] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:08.961] cond$call), session = sessionInformation(), [13:14:08.961] timestamp = base::Sys.time(), signaled = 0L) [13:14:08.961] signalCondition(cond) [13:14:08.961] } [13:14:08.961] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:08.961] "immediateCondition"))) { [13:14:08.961] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:08.961] ...future.conditions[[length(...future.conditions) + [13:14:08.961] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:08.961] if (TRUE && !signal) { [13:14:08.961] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.961] { [13:14:08.961] inherits <- base::inherits [13:14:08.961] invokeRestart <- base::invokeRestart [13:14:08.961] is.null <- base::is.null [13:14:08.961] muffled <- FALSE [13:14:08.961] if (inherits(cond, "message")) { [13:14:08.961] muffled <- grepl(pattern, "muffleMessage") [13:14:08.961] if (muffled) [13:14:08.961] invokeRestart("muffleMessage") [13:14:08.961] } [13:14:08.961] else if (inherits(cond, "warning")) { [13:14:08.961] muffled <- grepl(pattern, "muffleWarning") [13:14:08.961] if (muffled) [13:14:08.961] invokeRestart("muffleWarning") [13:14:08.961] } [13:14:08.961] else if (inherits(cond, "condition")) { [13:14:08.961] if (!is.null(pattern)) { [13:14:08.961] computeRestarts <- base::computeRestarts [13:14:08.961] grepl <- base::grepl [13:14:08.961] restarts <- computeRestarts(cond) [13:14:08.961] for (restart in restarts) { [13:14:08.961] name <- restart$name [13:14:08.961] if (is.null(name)) [13:14:08.961] next [13:14:08.961] if (!grepl(pattern, name)) [13:14:08.961] next [13:14:08.961] invokeRestart(restart) [13:14:08.961] muffled <- TRUE [13:14:08.961] break [13:14:08.961] } [13:14:08.961] } [13:14:08.961] } [13:14:08.961] invisible(muffled) [13:14:08.961] } [13:14:08.961] muffleCondition(cond, pattern = "^muffle") [13:14:08.961] } [13:14:08.961] } [13:14:08.961] else { [13:14:08.961] if (TRUE) { [13:14:08.961] muffleCondition <- function (cond, pattern = "^muffle") [13:14:08.961] { [13:14:08.961] inherits <- base::inherits [13:14:08.961] invokeRestart <- base::invokeRestart [13:14:08.961] is.null <- base::is.null [13:14:08.961] muffled <- FALSE [13:14:08.961] if (inherits(cond, "message")) { [13:14:08.961] muffled <- grepl(pattern, "muffleMessage") [13:14:08.961] if (muffled) [13:14:08.961] invokeRestart("muffleMessage") [13:14:08.961] } [13:14:08.961] else if (inherits(cond, "warning")) { [13:14:08.961] muffled <- grepl(pattern, "muffleWarning") [13:14:08.961] if (muffled) [13:14:08.961] invokeRestart("muffleWarning") [13:14:08.961] } [13:14:08.961] else if (inherits(cond, "condition")) { [13:14:08.961] if (!is.null(pattern)) { [13:14:08.961] computeRestarts <- base::computeRestarts [13:14:08.961] grepl <- base::grepl [13:14:08.961] restarts <- computeRestarts(cond) [13:14:08.961] for (restart in restarts) { [13:14:08.961] name <- restart$name [13:14:08.961] if (is.null(name)) [13:14:08.961] next [13:14:08.961] if (!grepl(pattern, name)) [13:14:08.961] next [13:14:08.961] invokeRestart(restart) [13:14:08.961] muffled <- TRUE [13:14:08.961] break [13:14:08.961] } [13:14:08.961] } [13:14:08.961] } [13:14:08.961] invisible(muffled) [13:14:08.961] } [13:14:08.961] muffleCondition(cond, pattern = "^muffle") [13:14:08.961] } [13:14:08.961] } [13:14:08.961] } [13:14:08.961] })) [13:14:08.961] }, error = function(ex) { [13:14:08.961] base::structure(base::list(value = NULL, visible = NULL, [13:14:08.961] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:08.961] ...future.rng), started = ...future.startTime, [13:14:08.961] finished = Sys.time(), session_uuid = NA_character_, [13:14:08.961] version = "1.8"), class = "FutureResult") [13:14:08.961] }, finally = { [13:14:08.961] if (!identical(...future.workdir, getwd())) [13:14:08.961] setwd(...future.workdir) [13:14:08.961] { [13:14:08.961] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:08.961] ...future.oldOptions$nwarnings <- NULL [13:14:08.961] } [13:14:08.961] base::options(...future.oldOptions) [13:14:08.961] if (.Platform$OS.type == "windows") { [13:14:08.961] old_names <- names(...future.oldEnvVars) [13:14:08.961] envs <- base::Sys.getenv() [13:14:08.961] names <- names(envs) [13:14:08.961] common <- intersect(names, old_names) [13:14:08.961] added <- setdiff(names, old_names) [13:14:08.961] removed <- setdiff(old_names, names) [13:14:08.961] changed <- common[...future.oldEnvVars[common] != [13:14:08.961] envs[common]] [13:14:08.961] NAMES <- toupper(changed) [13:14:08.961] args <- list() [13:14:08.961] for (kk in seq_along(NAMES)) { [13:14:08.961] name <- changed[[kk]] [13:14:08.961] NAME <- NAMES[[kk]] [13:14:08.961] if (name != NAME && is.element(NAME, old_names)) [13:14:08.961] next [13:14:08.961] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.961] } [13:14:08.961] NAMES <- toupper(added) [13:14:08.961] for (kk in seq_along(NAMES)) { [13:14:08.961] name <- added[[kk]] [13:14:08.961] NAME <- NAMES[[kk]] [13:14:08.961] if (name != NAME && is.element(NAME, old_names)) [13:14:08.961] next [13:14:08.961] args[[name]] <- "" [13:14:08.961] } [13:14:08.961] NAMES <- toupper(removed) [13:14:08.961] for (kk in seq_along(NAMES)) { [13:14:08.961] name <- removed[[kk]] [13:14:08.961] NAME <- NAMES[[kk]] [13:14:08.961] if (name != NAME && is.element(NAME, old_names)) [13:14:08.961] next [13:14:08.961] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:08.961] } [13:14:08.961] if (length(args) > 0) [13:14:08.961] base::do.call(base::Sys.setenv, args = args) [13:14:08.961] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:08.961] } [13:14:08.961] else { [13:14:08.961] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:08.961] } [13:14:08.961] { [13:14:08.961] if (base::length(...future.futureOptionsAdded) > [13:14:08.961] 0L) { [13:14:08.961] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:08.961] base::names(opts) <- ...future.futureOptionsAdded [13:14:08.961] base::options(opts) [13:14:08.961] } [13:14:08.961] { [13:14:08.961] { [13:14:08.961] base::options(mc.cores = ...future.mc.cores.old) [13:14:08.961] NULL [13:14:08.961] } [13:14:08.961] options(future.plan = NULL) [13:14:08.961] if (is.na(NA_character_)) [13:14:08.961] Sys.unsetenv("R_FUTURE_PLAN") [13:14:08.961] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:08.961] future::plan(list(function (..., workers = availableCores(), [13:14:08.961] lazy = FALSE, rscript_libs = .libPaths(), [13:14:08.961] envir = parent.frame()) [13:14:08.961] { [13:14:08.961] if (is.function(workers)) [13:14:08.961] workers <- workers() [13:14:08.961] workers <- structure(as.integer(workers), [13:14:08.961] class = class(workers)) [13:14:08.961] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:08.961] workers >= 1) [13:14:08.961] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:08.961] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:08.961] } [13:14:08.961] future <- MultisessionFuture(..., workers = workers, [13:14:08.961] lazy = lazy, rscript_libs = rscript_libs, [13:14:08.961] envir = envir) [13:14:08.961] if (!future$lazy) [13:14:08.961] future <- run(future) [13:14:08.961] invisible(future) [13:14:08.961] }), .cleanup = FALSE, .init = FALSE) [13:14:08.961] } [13:14:08.961] } [13:14:08.961] } [13:14:08.961] }) [13:14:08.961] if (TRUE) { [13:14:08.961] base::sink(type = "output", split = FALSE) [13:14:08.961] if (TRUE) { [13:14:08.961] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:08.961] } [13:14:08.961] else { [13:14:08.961] ...future.result["stdout"] <- base::list(NULL) [13:14:08.961] } [13:14:08.961] base::close(...future.stdout) [13:14:08.961] ...future.stdout <- NULL [13:14:08.961] } [13:14:08.961] ...future.result$conditions <- ...future.conditions [13:14:08.961] ...future.result$finished <- base::Sys.time() [13:14:08.961] ...future.result [13:14:08.961] } [13:14:08.967] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:08.967] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:08.968] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:08.968] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:08.968] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:08.969] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:08.969] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:08.969] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:08.970] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:08.970] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:08.971] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:08.971] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:08.972] MultisessionFuture started [13:14:08.972] - Launch lazy future ... done [13:14:08.972] run() for 'MultisessionFuture' ... done [13:14:08.973] Created future: [13:14:08.988] receiveMessageFromWorker() for ClusterFuture ... [13:14:08.988] - Validating connection of MultisessionFuture [13:14:08.988] - received message: FutureResult [13:14:08.989] - Received FutureResult [13:14:08.989] - Erased future from FutureRegistry [13:14:08.989] result() for ClusterFuture ... [13:14:08.989] - result already collected: FutureResult [13:14:08.989] result() for ClusterFuture ... done [13:14:08.990] receiveMessageFromWorker() for ClusterFuture ... done [13:14:08.973] MultisessionFuture: [13:14:08.973] Label: 'future_sapply-1' [13:14:08.973] Expression: [13:14:08.973] { [13:14:08.973] do.call(function(...) { [13:14:08.973] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.973] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.973] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.973] on.exit(options(oopts), add = TRUE) [13:14:08.973] } [13:14:08.973] { [13:14:08.973] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.973] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.973] ...future.FUN(...future.X_jj, ...) [13:14:08.973] }) [13:14:08.973] } [13:14:08.973] }, args = future.call.arguments) [13:14:08.973] } [13:14:08.973] Lazy evaluation: FALSE [13:14:08.973] Asynchronous evaluation: TRUE [13:14:08.973] Local evaluation: TRUE [13:14:08.973] Environment: R_GlobalEnv [13:14:08.973] Capture standard output: TRUE [13:14:08.973] Capture condition classes: 'condition' (excluding 'nothing') [13:14:08.973] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:08.973] Packages: [13:14:08.973] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:08.973] Resolved: TRUE [13:14:08.973] Value: [13:14:08.973] Conditions captured: [13:14:08.973] Early signaling: FALSE [13:14:08.973] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:08.973] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:08.990] Chunk #1 of 2 ... DONE [13:14:08.990] Chunk #2 of 2 ... [13:14:08.990] - Finding globals in 'X' for chunk #2 ... [13:14:08.990] getGlobalsAndPackages() ... [13:14:08.991] Searching for globals... [13:14:08.991] [13:14:08.991] Searching for globals ... DONE [13:14:08.991] - globals: [0] [13:14:08.991] getGlobalsAndPackages() ... DONE [13:14:08.992] + additional globals found: [n=0] [13:14:08.992] + additional namespaces needed: [n=0] [13:14:08.992] - Finding globals in 'X' for chunk #2 ... DONE [13:14:08.992] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:08.992] - seeds: [13:14:08.992] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.993] getGlobalsAndPackages() ... [13:14:08.993] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.993] Resolving globals: FALSE [13:14:08.993] Tweak future expression to call with '...' arguments ... [13:14:08.993] { [13:14:08.993] do.call(function(...) { [13:14:08.993] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:08.993] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:08.993] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:08.993] on.exit(options(oopts), add = TRUE) [13:14:08.993] } [13:14:08.993] { [13:14:08.993] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:08.993] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:08.993] ...future.FUN(...future.X_jj, ...) [13:14:08.993] }) [13:14:08.993] } [13:14:08.993] }, args = future.call.arguments) [13:14:08.993] } [13:14:08.994] Tweak future expression to call with '...' arguments ... DONE [13:14:08.994] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:08.994] [13:14:08.995] getGlobalsAndPackages() ... DONE [13:14:08.995] run() for 'Future' ... [13:14:08.995] - state: 'created' [13:14:08.995] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.010] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.010] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.010] - Field: 'node' [13:14:09.010] - Field: 'label' [13:14:09.010] - Field: 'local' [13:14:09.011] - Field: 'owner' [13:14:09.011] - Field: 'envir' [13:14:09.011] - Field: 'workers' [13:14:09.011] - Field: 'packages' [13:14:09.011] - Field: 'gc' [13:14:09.011] - Field: 'conditions' [13:14:09.012] - Field: 'persistent' [13:14:09.012] - Field: 'expr' [13:14:09.012] - Field: 'uuid' [13:14:09.012] - Field: 'seed' [13:14:09.012] - Field: 'version' [13:14:09.012] - Field: 'result' [13:14:09.013] - Field: 'asynchronous' [13:14:09.013] - Field: 'calls' [13:14:09.013] - Field: 'globals' [13:14:09.013] - Field: 'stdout' [13:14:09.013] - Field: 'earlySignal' [13:14:09.014] - Field: 'lazy' [13:14:09.014] - Field: 'state' [13:14:09.014] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.014] - Launch lazy future ... [13:14:09.014] Packages needed by the future expression (n = 0): [13:14:09.015] Packages needed by future strategies (n = 0): [13:14:09.015] { [13:14:09.015] { [13:14:09.015] { [13:14:09.015] ...future.startTime <- base::Sys.time() [13:14:09.015] { [13:14:09.015] { [13:14:09.015] { [13:14:09.015] { [13:14:09.015] base::local({ [13:14:09.015] has_future <- base::requireNamespace("future", [13:14:09.015] quietly = TRUE) [13:14:09.015] if (has_future) { [13:14:09.015] ns <- base::getNamespace("future") [13:14:09.015] version <- ns[[".package"]][["version"]] [13:14:09.015] if (is.null(version)) [13:14:09.015] version <- utils::packageVersion("future") [13:14:09.015] } [13:14:09.015] else { [13:14:09.015] version <- NULL [13:14:09.015] } [13:14:09.015] if (!has_future || version < "1.8.0") { [13:14:09.015] info <- base::c(r_version = base::gsub("R version ", [13:14:09.015] "", base::R.version$version.string), [13:14:09.015] platform = base::sprintf("%s (%s-bit)", [13:14:09.015] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.015] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.015] "release", "version")], collapse = " "), [13:14:09.015] hostname = base::Sys.info()[["nodename"]]) [13:14:09.015] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.015] info) [13:14:09.015] info <- base::paste(info, collapse = "; ") [13:14:09.015] if (!has_future) { [13:14:09.015] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.015] info) [13:14:09.015] } [13:14:09.015] else { [13:14:09.015] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.015] info, version) [13:14:09.015] } [13:14:09.015] base::stop(msg) [13:14:09.015] } [13:14:09.015] }) [13:14:09.015] } [13:14:09.015] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.015] base::options(mc.cores = 1L) [13:14:09.015] } [13:14:09.015] options(future.plan = NULL) [13:14:09.015] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.015] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.015] } [13:14:09.015] ...future.workdir <- getwd() [13:14:09.015] } [13:14:09.015] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.015] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.015] } [13:14:09.015] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.015] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.015] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.015] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.015] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.015] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.015] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.015] base::names(...future.oldOptions)) [13:14:09.015] } [13:14:09.015] if (FALSE) { [13:14:09.015] } [13:14:09.015] else { [13:14:09.015] if (TRUE) { [13:14:09.015] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.015] open = "w") [13:14:09.015] } [13:14:09.015] else { [13:14:09.015] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.015] windows = "NUL", "/dev/null"), open = "w") [13:14:09.015] } [13:14:09.015] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.015] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.015] base::sink(type = "output", split = FALSE) [13:14:09.015] base::close(...future.stdout) [13:14:09.015] }, add = TRUE) [13:14:09.015] } [13:14:09.015] ...future.frame <- base::sys.nframe() [13:14:09.015] ...future.conditions <- base::list() [13:14:09.015] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.015] if (FALSE) { [13:14:09.015] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.015] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.015] } [13:14:09.015] ...future.result <- base::tryCatch({ [13:14:09.015] base::withCallingHandlers({ [13:14:09.015] ...future.value <- base::withVisible(base::local({ [13:14:09.015] ...future.makeSendCondition <- local({ [13:14:09.015] sendCondition <- NULL [13:14:09.015] function(frame = 1L) { [13:14:09.015] if (is.function(sendCondition)) [13:14:09.015] return(sendCondition) [13:14:09.015] ns <- getNamespace("parallel") [13:14:09.015] if (exists("sendData", mode = "function", [13:14:09.015] envir = ns)) { [13:14:09.015] parallel_sendData <- get("sendData", mode = "function", [13:14:09.015] envir = ns) [13:14:09.015] envir <- sys.frame(frame) [13:14:09.015] master <- NULL [13:14:09.015] while (!identical(envir, .GlobalEnv) && [13:14:09.015] !identical(envir, emptyenv())) { [13:14:09.015] if (exists("master", mode = "list", envir = envir, [13:14:09.015] inherits = FALSE)) { [13:14:09.015] master <- get("master", mode = "list", [13:14:09.015] envir = envir, inherits = FALSE) [13:14:09.015] if (inherits(master, c("SOCKnode", [13:14:09.015] "SOCK0node"))) { [13:14:09.015] sendCondition <<- function(cond) { [13:14:09.015] data <- list(type = "VALUE", value = cond, [13:14:09.015] success = TRUE) [13:14:09.015] parallel_sendData(master, data) [13:14:09.015] } [13:14:09.015] return(sendCondition) [13:14:09.015] } [13:14:09.015] } [13:14:09.015] frame <- frame + 1L [13:14:09.015] envir <- sys.frame(frame) [13:14:09.015] } [13:14:09.015] } [13:14:09.015] sendCondition <<- function(cond) NULL [13:14:09.015] } [13:14:09.015] }) [13:14:09.015] withCallingHandlers({ [13:14:09.015] { [13:14:09.015] do.call(function(...) { [13:14:09.015] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.015] if (!identical(...future.globals.maxSize.org, [13:14:09.015] ...future.globals.maxSize)) { [13:14:09.015] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.015] on.exit(options(oopts), add = TRUE) [13:14:09.015] } [13:14:09.015] { [13:14:09.015] lapply(seq_along(...future.elements_ii), [13:14:09.015] FUN = function(jj) { [13:14:09.015] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.015] ...future.FUN(...future.X_jj, ...) [13:14:09.015] }) [13:14:09.015] } [13:14:09.015] }, args = future.call.arguments) [13:14:09.015] } [13:14:09.015] }, immediateCondition = function(cond) { [13:14:09.015] sendCondition <- ...future.makeSendCondition() [13:14:09.015] sendCondition(cond) [13:14:09.015] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.015] { [13:14:09.015] inherits <- base::inherits [13:14:09.015] invokeRestart <- base::invokeRestart [13:14:09.015] is.null <- base::is.null [13:14:09.015] muffled <- FALSE [13:14:09.015] if (inherits(cond, "message")) { [13:14:09.015] muffled <- grepl(pattern, "muffleMessage") [13:14:09.015] if (muffled) [13:14:09.015] invokeRestart("muffleMessage") [13:14:09.015] } [13:14:09.015] else if (inherits(cond, "warning")) { [13:14:09.015] muffled <- grepl(pattern, "muffleWarning") [13:14:09.015] if (muffled) [13:14:09.015] invokeRestart("muffleWarning") [13:14:09.015] } [13:14:09.015] else if (inherits(cond, "condition")) { [13:14:09.015] if (!is.null(pattern)) { [13:14:09.015] computeRestarts <- base::computeRestarts [13:14:09.015] grepl <- base::grepl [13:14:09.015] restarts <- computeRestarts(cond) [13:14:09.015] for (restart in restarts) { [13:14:09.015] name <- restart$name [13:14:09.015] if (is.null(name)) [13:14:09.015] next [13:14:09.015] if (!grepl(pattern, name)) [13:14:09.015] next [13:14:09.015] invokeRestart(restart) [13:14:09.015] muffled <- TRUE [13:14:09.015] break [13:14:09.015] } [13:14:09.015] } [13:14:09.015] } [13:14:09.015] invisible(muffled) [13:14:09.015] } [13:14:09.015] muffleCondition(cond) [13:14:09.015] }) [13:14:09.015] })) [13:14:09.015] future::FutureResult(value = ...future.value$value, [13:14:09.015] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.015] ...future.rng), globalenv = if (FALSE) [13:14:09.015] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.015] ...future.globalenv.names)) [13:14:09.015] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.015] }, condition = base::local({ [13:14:09.015] c <- base::c [13:14:09.015] inherits <- base::inherits [13:14:09.015] invokeRestart <- base::invokeRestart [13:14:09.015] length <- base::length [13:14:09.015] list <- base::list [13:14:09.015] seq.int <- base::seq.int [13:14:09.015] signalCondition <- base::signalCondition [13:14:09.015] sys.calls <- base::sys.calls [13:14:09.015] `[[` <- base::`[[` [13:14:09.015] `+` <- base::`+` [13:14:09.015] `<<-` <- base::`<<-` [13:14:09.015] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.015] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.015] 3L)] [13:14:09.015] } [13:14:09.015] function(cond) { [13:14:09.015] is_error <- inherits(cond, "error") [13:14:09.015] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.015] NULL) [13:14:09.015] if (is_error) { [13:14:09.015] sessionInformation <- function() { [13:14:09.015] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.015] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.015] search = base::search(), system = base::Sys.info()) [13:14:09.015] } [13:14:09.015] ...future.conditions[[length(...future.conditions) + [13:14:09.015] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.015] cond$call), session = sessionInformation(), [13:14:09.015] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.015] signalCondition(cond) [13:14:09.015] } [13:14:09.015] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.015] "immediateCondition"))) { [13:14:09.015] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.015] ...future.conditions[[length(...future.conditions) + [13:14:09.015] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.015] if (TRUE && !signal) { [13:14:09.015] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.015] { [13:14:09.015] inherits <- base::inherits [13:14:09.015] invokeRestart <- base::invokeRestart [13:14:09.015] is.null <- base::is.null [13:14:09.015] muffled <- FALSE [13:14:09.015] if (inherits(cond, "message")) { [13:14:09.015] muffled <- grepl(pattern, "muffleMessage") [13:14:09.015] if (muffled) [13:14:09.015] invokeRestart("muffleMessage") [13:14:09.015] } [13:14:09.015] else if (inherits(cond, "warning")) { [13:14:09.015] muffled <- grepl(pattern, "muffleWarning") [13:14:09.015] if (muffled) [13:14:09.015] invokeRestart("muffleWarning") [13:14:09.015] } [13:14:09.015] else if (inherits(cond, "condition")) { [13:14:09.015] if (!is.null(pattern)) { [13:14:09.015] computeRestarts <- base::computeRestarts [13:14:09.015] grepl <- base::grepl [13:14:09.015] restarts <- computeRestarts(cond) [13:14:09.015] for (restart in restarts) { [13:14:09.015] name <- restart$name [13:14:09.015] if (is.null(name)) [13:14:09.015] next [13:14:09.015] if (!grepl(pattern, name)) [13:14:09.015] next [13:14:09.015] invokeRestart(restart) [13:14:09.015] muffled <- TRUE [13:14:09.015] break [13:14:09.015] } [13:14:09.015] } [13:14:09.015] } [13:14:09.015] invisible(muffled) [13:14:09.015] } [13:14:09.015] muffleCondition(cond, pattern = "^muffle") [13:14:09.015] } [13:14:09.015] } [13:14:09.015] else { [13:14:09.015] if (TRUE) { [13:14:09.015] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.015] { [13:14:09.015] inherits <- base::inherits [13:14:09.015] invokeRestart <- base::invokeRestart [13:14:09.015] is.null <- base::is.null [13:14:09.015] muffled <- FALSE [13:14:09.015] if (inherits(cond, "message")) { [13:14:09.015] muffled <- grepl(pattern, "muffleMessage") [13:14:09.015] if (muffled) [13:14:09.015] invokeRestart("muffleMessage") [13:14:09.015] } [13:14:09.015] else if (inherits(cond, "warning")) { [13:14:09.015] muffled <- grepl(pattern, "muffleWarning") [13:14:09.015] if (muffled) [13:14:09.015] invokeRestart("muffleWarning") [13:14:09.015] } [13:14:09.015] else if (inherits(cond, "condition")) { [13:14:09.015] if (!is.null(pattern)) { [13:14:09.015] computeRestarts <- base::computeRestarts [13:14:09.015] grepl <- base::grepl [13:14:09.015] restarts <- computeRestarts(cond) [13:14:09.015] for (restart in restarts) { [13:14:09.015] name <- restart$name [13:14:09.015] if (is.null(name)) [13:14:09.015] next [13:14:09.015] if (!grepl(pattern, name)) [13:14:09.015] next [13:14:09.015] invokeRestart(restart) [13:14:09.015] muffled <- TRUE [13:14:09.015] break [13:14:09.015] } [13:14:09.015] } [13:14:09.015] } [13:14:09.015] invisible(muffled) [13:14:09.015] } [13:14:09.015] muffleCondition(cond, pattern = "^muffle") [13:14:09.015] } [13:14:09.015] } [13:14:09.015] } [13:14:09.015] })) [13:14:09.015] }, error = function(ex) { [13:14:09.015] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.015] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.015] ...future.rng), started = ...future.startTime, [13:14:09.015] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.015] version = "1.8"), class = "FutureResult") [13:14:09.015] }, finally = { [13:14:09.015] if (!identical(...future.workdir, getwd())) [13:14:09.015] setwd(...future.workdir) [13:14:09.015] { [13:14:09.015] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.015] ...future.oldOptions$nwarnings <- NULL [13:14:09.015] } [13:14:09.015] base::options(...future.oldOptions) [13:14:09.015] if (.Platform$OS.type == "windows") { [13:14:09.015] old_names <- names(...future.oldEnvVars) [13:14:09.015] envs <- base::Sys.getenv() [13:14:09.015] names <- names(envs) [13:14:09.015] common <- intersect(names, old_names) [13:14:09.015] added <- setdiff(names, old_names) [13:14:09.015] removed <- setdiff(old_names, names) [13:14:09.015] changed <- common[...future.oldEnvVars[common] != [13:14:09.015] envs[common]] [13:14:09.015] NAMES <- toupper(changed) [13:14:09.015] args <- list() [13:14:09.015] for (kk in seq_along(NAMES)) { [13:14:09.015] name <- changed[[kk]] [13:14:09.015] NAME <- NAMES[[kk]] [13:14:09.015] if (name != NAME && is.element(NAME, old_names)) [13:14:09.015] next [13:14:09.015] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.015] } [13:14:09.015] NAMES <- toupper(added) [13:14:09.015] for (kk in seq_along(NAMES)) { [13:14:09.015] name <- added[[kk]] [13:14:09.015] NAME <- NAMES[[kk]] [13:14:09.015] if (name != NAME && is.element(NAME, old_names)) [13:14:09.015] next [13:14:09.015] args[[name]] <- "" [13:14:09.015] } [13:14:09.015] NAMES <- toupper(removed) [13:14:09.015] for (kk in seq_along(NAMES)) { [13:14:09.015] name <- removed[[kk]] [13:14:09.015] NAME <- NAMES[[kk]] [13:14:09.015] if (name != NAME && is.element(NAME, old_names)) [13:14:09.015] next [13:14:09.015] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.015] } [13:14:09.015] if (length(args) > 0) [13:14:09.015] base::do.call(base::Sys.setenv, args = args) [13:14:09.015] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.015] } [13:14:09.015] else { [13:14:09.015] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.015] } [13:14:09.015] { [13:14:09.015] if (base::length(...future.futureOptionsAdded) > [13:14:09.015] 0L) { [13:14:09.015] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.015] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.015] base::options(opts) [13:14:09.015] } [13:14:09.015] { [13:14:09.015] { [13:14:09.015] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.015] NULL [13:14:09.015] } [13:14:09.015] options(future.plan = NULL) [13:14:09.015] if (is.na(NA_character_)) [13:14:09.015] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.015] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.015] future::plan(list(function (..., workers = availableCores(), [13:14:09.015] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.015] envir = parent.frame()) [13:14:09.015] { [13:14:09.015] if (is.function(workers)) [13:14:09.015] workers <- workers() [13:14:09.015] workers <- structure(as.integer(workers), [13:14:09.015] class = class(workers)) [13:14:09.015] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.015] workers >= 1) [13:14:09.015] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.015] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.015] } [13:14:09.015] future <- MultisessionFuture(..., workers = workers, [13:14:09.015] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.015] envir = envir) [13:14:09.015] if (!future$lazy) [13:14:09.015] future <- run(future) [13:14:09.015] invisible(future) [13:14:09.015] }), .cleanup = FALSE, .init = FALSE) [13:14:09.015] } [13:14:09.015] } [13:14:09.015] } [13:14:09.015] }) [13:14:09.015] if (TRUE) { [13:14:09.015] base::sink(type = "output", split = FALSE) [13:14:09.015] if (TRUE) { [13:14:09.015] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.015] } [13:14:09.015] else { [13:14:09.015] ...future.result["stdout"] <- base::list(NULL) [13:14:09.015] } [13:14:09.015] base::close(...future.stdout) [13:14:09.015] ...future.stdout <- NULL [13:14:09.015] } [13:14:09.015] ...future.result$conditions <- ...future.conditions [13:14:09.015] ...future.result$finished <- base::Sys.time() [13:14:09.015] ...future.result [13:14:09.015] } [13:14:09.021] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:09.021] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:09.021] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:09.022] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.022] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.022] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.023] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.023] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.023] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.023] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.024] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.024] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:09.025] MultisessionFuture started [13:14:09.025] - Launch lazy future ... done [13:14:09.025] run() for 'MultisessionFuture' ... done [13:14:09.025] Created future: [13:14:09.041] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.041] - Validating connection of MultisessionFuture [13:14:09.042] - received message: FutureResult [13:14:09.042] - Received FutureResult [13:14:09.042] - Erased future from FutureRegistry [13:14:09.042] result() for ClusterFuture ... [13:14:09.042] - result already collected: FutureResult [13:14:09.042] result() for ClusterFuture ... done [13:14:09.043] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.025] MultisessionFuture: [13:14:09.025] Label: 'future_sapply-2' [13:14:09.025] Expression: [13:14:09.025] { [13:14:09.025] do.call(function(...) { [13:14:09.025] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.025] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.025] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.025] on.exit(options(oopts), add = TRUE) [13:14:09.025] } [13:14:09.025] { [13:14:09.025] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.025] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.025] ...future.FUN(...future.X_jj, ...) [13:14:09.025] }) [13:14:09.025] } [13:14:09.025] }, args = future.call.arguments) [13:14:09.025] } [13:14:09.025] Lazy evaluation: FALSE [13:14:09.025] Asynchronous evaluation: TRUE [13:14:09.025] Local evaluation: TRUE [13:14:09.025] Environment: R_GlobalEnv [13:14:09.025] Capture standard output: TRUE [13:14:09.025] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.025] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.025] Packages: [13:14:09.025] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.025] Resolved: TRUE [13:14:09.025] Value: [13:14:09.025] Conditions captured: [13:14:09.025] Early signaling: FALSE [13:14:09.025] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.025] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.043] Chunk #2 of 2 ... DONE [13:14:09.043] Launching 2 futures (chunks) ... DONE [13:14:09.043] Resolving 2 futures (chunks) ... [13:14:09.044] resolve() on list ... [13:14:09.044] recursive: 0 [13:14:09.044] length: 2 [13:14:09.044] [13:14:09.044] Future #1 [13:14:09.044] result() for ClusterFuture ... [13:14:09.045] - result already collected: FutureResult [13:14:09.045] result() for ClusterFuture ... done [13:14:09.045] result() for ClusterFuture ... [13:14:09.045] - result already collected: FutureResult [13:14:09.045] result() for ClusterFuture ... done [13:14:09.045] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:09.046] - nx: 2 [13:14:09.046] - relay: TRUE [13:14:09.046] - stdout: TRUE [13:14:09.046] - signal: TRUE [13:14:09.046] - resignal: FALSE [13:14:09.046] - force: TRUE [13:14:09.046] - relayed: [n=2] FALSE, FALSE [13:14:09.047] - queued futures: [n=2] FALSE, FALSE [13:14:09.047] - until=1 [13:14:09.047] - relaying element #1 [13:14:09.047] result() for ClusterFuture ... [13:14:09.047] - result already collected: FutureResult [13:14:09.047] result() for ClusterFuture ... done [13:14:09.048] result() for ClusterFuture ... [13:14:09.048] - result already collected: FutureResult [13:14:09.048] result() for ClusterFuture ... done [13:14:09.048] result() for ClusterFuture ... [13:14:09.048] - result already collected: FutureResult [13:14:09.048] result() for ClusterFuture ... done [13:14:09.049] result() for ClusterFuture ... [13:14:09.049] - result already collected: FutureResult [13:14:09.049] result() for ClusterFuture ... done [13:14:09.049] - relayed: [n=2] TRUE, FALSE [13:14:09.049] - queued futures: [n=2] TRUE, FALSE [13:14:09.050] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:09.050] length: 1 (resolved future 1) [13:14:09.050] Future #2 [13:14:09.050] result() for ClusterFuture ... [13:14:09.050] - result already collected: FutureResult [13:14:09.051] result() for ClusterFuture ... done [13:14:09.051] result() for ClusterFuture ... [13:14:09.051] - result already collected: FutureResult [13:14:09.051] result() for ClusterFuture ... done [13:14:09.051] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:09.051] - nx: 2 [13:14:09.051] - relay: TRUE [13:14:09.052] - stdout: TRUE [13:14:09.052] - signal: TRUE [13:14:09.052] - resignal: FALSE [13:14:09.052] - force: TRUE [13:14:09.052] - relayed: [n=2] TRUE, FALSE [13:14:09.052] - queued futures: [n=2] TRUE, FALSE [13:14:09.053] - until=2 [13:14:09.053] - relaying element #2 [13:14:09.053] result() for ClusterFuture ... [13:14:09.053] - result already collected: FutureResult [13:14:09.053] result() for ClusterFuture ... done [13:14:09.053] result() for ClusterFuture ... [13:14:09.053] - result already collected: FutureResult [13:14:09.054] result() for ClusterFuture ... done [13:14:09.054] result() for ClusterFuture ... [13:14:09.054] - result already collected: FutureResult [13:14:09.054] result() for ClusterFuture ... done [13:14:09.054] result() for ClusterFuture ... [13:14:09.054] - result already collected: FutureResult [13:14:09.055] result() for ClusterFuture ... done [13:14:09.055] - relayed: [n=2] TRUE, TRUE [13:14:09.055] - queued futures: [n=2] TRUE, TRUE [13:14:09.055] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:09.055] length: 0 (resolved future 2) [13:14:09.055] Relaying remaining futures [13:14:09.056] signalConditionsASAP(NULL, pos=0) ... [13:14:09.056] - nx: 2 [13:14:09.056] - relay: TRUE [13:14:09.056] - stdout: TRUE [13:14:09.056] - signal: TRUE [13:14:09.056] - resignal: FALSE [13:14:09.056] - force: TRUE [13:14:09.057] - relayed: [n=2] TRUE, TRUE [13:14:09.057] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:09.057] - relayed: [n=2] TRUE, TRUE [13:14:09.057] - queued futures: [n=2] TRUE, TRUE [13:14:09.057] signalConditionsASAP(NULL, pos=0) ... done [13:14:09.057] resolve() on list ... DONE [13:14:09.058] result() for ClusterFuture ... [13:14:09.058] - result already collected: FutureResult [13:14:09.058] result() for ClusterFuture ... done [13:14:09.058] result() for ClusterFuture ... [13:14:09.058] - result already collected: FutureResult [13:14:09.058] result() for ClusterFuture ... done [13:14:09.059] result() for ClusterFuture ... [13:14:09.059] - result already collected: FutureResult [13:14:09.059] result() for ClusterFuture ... done [13:14:09.059] result() for ClusterFuture ... [13:14:09.059] - result already collected: FutureResult [13:14:09.059] result() for ClusterFuture ... done [13:14:09.060] - Number of value chunks collected: 2 [13:14:09.060] Resolving 2 futures (chunks) ... DONE [13:14:09.060] Reducing values from 2 chunks ... [13:14:09.060] - Number of values collected after concatenation: 6 [13:14:09.060] - Number of values expected: 6 [13:14:09.060] Reducing values from 2 chunks ... DONE [13:14:09.060] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:09.063] future_lapply() ... [13:14:09.068] Number of chunks: 2 [13:14:09.069] getGlobalsAndPackagesXApply() ... [13:14:09.069] - future.globals: TRUE [13:14:09.069] getGlobalsAndPackages() ... [13:14:09.069] Searching for globals... [13:14:09.071] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:09.071] Searching for globals ... DONE [13:14:09.072] Resolving globals: FALSE [13:14:09.072] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:09.072] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:09.073] - globals: [1] 'FUN' [13:14:09.073] [13:14:09.073] getGlobalsAndPackages() ... DONE [13:14:09.073] - globals found/used: [n=1] 'FUN' [13:14:09.073] - needed namespaces: [n=0] [13:14:09.074] Finding globals ... DONE [13:14:09.074] - use_args: TRUE [13:14:09.074] - Getting '...' globals ... [13:14:09.074] resolve() on list ... [13:14:09.074] recursive: 0 [13:14:09.075] length: 1 [13:14:09.075] elements: '...' [13:14:09.075] length: 0 (resolved future 1) [13:14:09.075] resolve() on list ... DONE [13:14:09.075] - '...' content: [n=0] [13:14:09.075] List of 1 [13:14:09.075] $ ...: list() [13:14:09.075] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.075] - attr(*, "where")=List of 1 [13:14:09.075] ..$ ...: [13:14:09.075] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.075] - attr(*, "resolved")= logi TRUE [13:14:09.075] - attr(*, "total_size")= num NA [13:14:09.078] - Getting '...' globals ... DONE [13:14:09.079] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:09.079] List of 2 [13:14:09.079] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:09.079] $ ... : list() [13:14:09.079] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.079] - attr(*, "where")=List of 2 [13:14:09.079] ..$ ...future.FUN: [13:14:09.079] ..$ ... : [13:14:09.079] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.079] - attr(*, "resolved")= logi FALSE [13:14:09.079] - attr(*, "total_size")= num 4728 [13:14:09.082] Packages to be attached in all futures: [n=0] [13:14:09.082] getGlobalsAndPackagesXApply() ... DONE [13:14:09.083] Number of futures (= number of chunks): 2 [13:14:09.083] Launching 2 futures (chunks) ... [13:14:09.083] Chunk #1 of 2 ... [13:14:09.083] - Finding globals in 'X' for chunk #1 ... [13:14:09.083] getGlobalsAndPackages() ... [13:14:09.083] Searching for globals... [13:14:09.084] [13:14:09.084] Searching for globals ... DONE [13:14:09.084] - globals: [0] [13:14:09.084] getGlobalsAndPackages() ... DONE [13:14:09.084] + additional globals found: [n=0] [13:14:09.085] + additional namespaces needed: [n=0] [13:14:09.085] - Finding globals in 'X' for chunk #1 ... DONE [13:14:09.085] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.085] - seeds: [13:14:09.085] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.085] getGlobalsAndPackages() ... [13:14:09.086] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.086] Resolving globals: FALSE [13:14:09.086] Tweak future expression to call with '...' arguments ... [13:14:09.086] { [13:14:09.086] do.call(function(...) { [13:14:09.086] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.086] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.086] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.086] on.exit(options(oopts), add = TRUE) [13:14:09.086] } [13:14:09.086] { [13:14:09.086] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.086] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.086] ...future.FUN(...future.X_jj, ...) [13:14:09.086] }) [13:14:09.086] } [13:14:09.086] }, args = future.call.arguments) [13:14:09.086] } [13:14:09.087] Tweak future expression to call with '...' arguments ... DONE [13:14:09.087] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.087] [13:14:09.087] getGlobalsAndPackages() ... DONE [13:14:09.088] run() for 'Future' ... [13:14:09.088] - state: 'created' [13:14:09.088] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.102] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.102] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.102] - Field: 'node' [13:14:09.103] - Field: 'label' [13:14:09.103] - Field: 'local' [13:14:09.103] - Field: 'owner' [13:14:09.103] - Field: 'envir' [13:14:09.103] - Field: 'workers' [13:14:09.103] - Field: 'packages' [13:14:09.104] - Field: 'gc' [13:14:09.104] - Field: 'conditions' [13:14:09.104] - Field: 'persistent' [13:14:09.104] - Field: 'expr' [13:14:09.104] - Field: 'uuid' [13:14:09.105] - Field: 'seed' [13:14:09.105] - Field: 'version' [13:14:09.105] - Field: 'result' [13:14:09.105] - Field: 'asynchronous' [13:14:09.105] - Field: 'calls' [13:14:09.105] - Field: 'globals' [13:14:09.106] - Field: 'stdout' [13:14:09.106] - Field: 'earlySignal' [13:14:09.106] - Field: 'lazy' [13:14:09.106] - Field: 'state' [13:14:09.106] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.106] - Launch lazy future ... [13:14:09.107] Packages needed by the future expression (n = 0): [13:14:09.107] Packages needed by future strategies (n = 0): [13:14:09.107] { [13:14:09.107] { [13:14:09.107] { [13:14:09.107] ...future.startTime <- base::Sys.time() [13:14:09.107] { [13:14:09.107] { [13:14:09.107] { [13:14:09.107] { [13:14:09.107] base::local({ [13:14:09.107] has_future <- base::requireNamespace("future", [13:14:09.107] quietly = TRUE) [13:14:09.107] if (has_future) { [13:14:09.107] ns <- base::getNamespace("future") [13:14:09.107] version <- ns[[".package"]][["version"]] [13:14:09.107] if (is.null(version)) [13:14:09.107] version <- utils::packageVersion("future") [13:14:09.107] } [13:14:09.107] else { [13:14:09.107] version <- NULL [13:14:09.107] } [13:14:09.107] if (!has_future || version < "1.8.0") { [13:14:09.107] info <- base::c(r_version = base::gsub("R version ", [13:14:09.107] "", base::R.version$version.string), [13:14:09.107] platform = base::sprintf("%s (%s-bit)", [13:14:09.107] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.107] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.107] "release", "version")], collapse = " "), [13:14:09.107] hostname = base::Sys.info()[["nodename"]]) [13:14:09.107] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.107] info) [13:14:09.107] info <- base::paste(info, collapse = "; ") [13:14:09.107] if (!has_future) { [13:14:09.107] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.107] info) [13:14:09.107] } [13:14:09.107] else { [13:14:09.107] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.107] info, version) [13:14:09.107] } [13:14:09.107] base::stop(msg) [13:14:09.107] } [13:14:09.107] }) [13:14:09.107] } [13:14:09.107] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.107] base::options(mc.cores = 1L) [13:14:09.107] } [13:14:09.107] options(future.plan = NULL) [13:14:09.107] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.107] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.107] } [13:14:09.107] ...future.workdir <- getwd() [13:14:09.107] } [13:14:09.107] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.107] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.107] } [13:14:09.107] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.107] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.107] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.107] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.107] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.107] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.107] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.107] base::names(...future.oldOptions)) [13:14:09.107] } [13:14:09.107] if (FALSE) { [13:14:09.107] } [13:14:09.107] else { [13:14:09.107] if (TRUE) { [13:14:09.107] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.107] open = "w") [13:14:09.107] } [13:14:09.107] else { [13:14:09.107] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.107] windows = "NUL", "/dev/null"), open = "w") [13:14:09.107] } [13:14:09.107] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.107] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.107] base::sink(type = "output", split = FALSE) [13:14:09.107] base::close(...future.stdout) [13:14:09.107] }, add = TRUE) [13:14:09.107] } [13:14:09.107] ...future.frame <- base::sys.nframe() [13:14:09.107] ...future.conditions <- base::list() [13:14:09.107] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.107] if (FALSE) { [13:14:09.107] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.107] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.107] } [13:14:09.107] ...future.result <- base::tryCatch({ [13:14:09.107] base::withCallingHandlers({ [13:14:09.107] ...future.value <- base::withVisible(base::local({ [13:14:09.107] ...future.makeSendCondition <- local({ [13:14:09.107] sendCondition <- NULL [13:14:09.107] function(frame = 1L) { [13:14:09.107] if (is.function(sendCondition)) [13:14:09.107] return(sendCondition) [13:14:09.107] ns <- getNamespace("parallel") [13:14:09.107] if (exists("sendData", mode = "function", [13:14:09.107] envir = ns)) { [13:14:09.107] parallel_sendData <- get("sendData", mode = "function", [13:14:09.107] envir = ns) [13:14:09.107] envir <- sys.frame(frame) [13:14:09.107] master <- NULL [13:14:09.107] while (!identical(envir, .GlobalEnv) && [13:14:09.107] !identical(envir, emptyenv())) { [13:14:09.107] if (exists("master", mode = "list", envir = envir, [13:14:09.107] inherits = FALSE)) { [13:14:09.107] master <- get("master", mode = "list", [13:14:09.107] envir = envir, inherits = FALSE) [13:14:09.107] if (inherits(master, c("SOCKnode", [13:14:09.107] "SOCK0node"))) { [13:14:09.107] sendCondition <<- function(cond) { [13:14:09.107] data <- list(type = "VALUE", value = cond, [13:14:09.107] success = TRUE) [13:14:09.107] parallel_sendData(master, data) [13:14:09.107] } [13:14:09.107] return(sendCondition) [13:14:09.107] } [13:14:09.107] } [13:14:09.107] frame <- frame + 1L [13:14:09.107] envir <- sys.frame(frame) [13:14:09.107] } [13:14:09.107] } [13:14:09.107] sendCondition <<- function(cond) NULL [13:14:09.107] } [13:14:09.107] }) [13:14:09.107] withCallingHandlers({ [13:14:09.107] { [13:14:09.107] do.call(function(...) { [13:14:09.107] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.107] if (!identical(...future.globals.maxSize.org, [13:14:09.107] ...future.globals.maxSize)) { [13:14:09.107] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.107] on.exit(options(oopts), add = TRUE) [13:14:09.107] } [13:14:09.107] { [13:14:09.107] lapply(seq_along(...future.elements_ii), [13:14:09.107] FUN = function(jj) { [13:14:09.107] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.107] ...future.FUN(...future.X_jj, ...) [13:14:09.107] }) [13:14:09.107] } [13:14:09.107] }, args = future.call.arguments) [13:14:09.107] } [13:14:09.107] }, immediateCondition = function(cond) { [13:14:09.107] sendCondition <- ...future.makeSendCondition() [13:14:09.107] sendCondition(cond) [13:14:09.107] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.107] { [13:14:09.107] inherits <- base::inherits [13:14:09.107] invokeRestart <- base::invokeRestart [13:14:09.107] is.null <- base::is.null [13:14:09.107] muffled <- FALSE [13:14:09.107] if (inherits(cond, "message")) { [13:14:09.107] muffled <- grepl(pattern, "muffleMessage") [13:14:09.107] if (muffled) [13:14:09.107] invokeRestart("muffleMessage") [13:14:09.107] } [13:14:09.107] else if (inherits(cond, "warning")) { [13:14:09.107] muffled <- grepl(pattern, "muffleWarning") [13:14:09.107] if (muffled) [13:14:09.107] invokeRestart("muffleWarning") [13:14:09.107] } [13:14:09.107] else if (inherits(cond, "condition")) { [13:14:09.107] if (!is.null(pattern)) { [13:14:09.107] computeRestarts <- base::computeRestarts [13:14:09.107] grepl <- base::grepl [13:14:09.107] restarts <- computeRestarts(cond) [13:14:09.107] for (restart in restarts) { [13:14:09.107] name <- restart$name [13:14:09.107] if (is.null(name)) [13:14:09.107] next [13:14:09.107] if (!grepl(pattern, name)) [13:14:09.107] next [13:14:09.107] invokeRestart(restart) [13:14:09.107] muffled <- TRUE [13:14:09.107] break [13:14:09.107] } [13:14:09.107] } [13:14:09.107] } [13:14:09.107] invisible(muffled) [13:14:09.107] } [13:14:09.107] muffleCondition(cond) [13:14:09.107] }) [13:14:09.107] })) [13:14:09.107] future::FutureResult(value = ...future.value$value, [13:14:09.107] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.107] ...future.rng), globalenv = if (FALSE) [13:14:09.107] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.107] ...future.globalenv.names)) [13:14:09.107] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.107] }, condition = base::local({ [13:14:09.107] c <- base::c [13:14:09.107] inherits <- base::inherits [13:14:09.107] invokeRestart <- base::invokeRestart [13:14:09.107] length <- base::length [13:14:09.107] list <- base::list [13:14:09.107] seq.int <- base::seq.int [13:14:09.107] signalCondition <- base::signalCondition [13:14:09.107] sys.calls <- base::sys.calls [13:14:09.107] `[[` <- base::`[[` [13:14:09.107] `+` <- base::`+` [13:14:09.107] `<<-` <- base::`<<-` [13:14:09.107] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.107] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.107] 3L)] [13:14:09.107] } [13:14:09.107] function(cond) { [13:14:09.107] is_error <- inherits(cond, "error") [13:14:09.107] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.107] NULL) [13:14:09.107] if (is_error) { [13:14:09.107] sessionInformation <- function() { [13:14:09.107] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.107] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.107] search = base::search(), system = base::Sys.info()) [13:14:09.107] } [13:14:09.107] ...future.conditions[[length(...future.conditions) + [13:14:09.107] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.107] cond$call), session = sessionInformation(), [13:14:09.107] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.107] signalCondition(cond) [13:14:09.107] } [13:14:09.107] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.107] "immediateCondition"))) { [13:14:09.107] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.107] ...future.conditions[[length(...future.conditions) + [13:14:09.107] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.107] if (TRUE && !signal) { [13:14:09.107] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.107] { [13:14:09.107] inherits <- base::inherits [13:14:09.107] invokeRestart <- base::invokeRestart [13:14:09.107] is.null <- base::is.null [13:14:09.107] muffled <- FALSE [13:14:09.107] if (inherits(cond, "message")) { [13:14:09.107] muffled <- grepl(pattern, "muffleMessage") [13:14:09.107] if (muffled) [13:14:09.107] invokeRestart("muffleMessage") [13:14:09.107] } [13:14:09.107] else if (inherits(cond, "warning")) { [13:14:09.107] muffled <- grepl(pattern, "muffleWarning") [13:14:09.107] if (muffled) [13:14:09.107] invokeRestart("muffleWarning") [13:14:09.107] } [13:14:09.107] else if (inherits(cond, "condition")) { [13:14:09.107] if (!is.null(pattern)) { [13:14:09.107] computeRestarts <- base::computeRestarts [13:14:09.107] grepl <- base::grepl [13:14:09.107] restarts <- computeRestarts(cond) [13:14:09.107] for (restart in restarts) { [13:14:09.107] name <- restart$name [13:14:09.107] if (is.null(name)) [13:14:09.107] next [13:14:09.107] if (!grepl(pattern, name)) [13:14:09.107] next [13:14:09.107] invokeRestart(restart) [13:14:09.107] muffled <- TRUE [13:14:09.107] break [13:14:09.107] } [13:14:09.107] } [13:14:09.107] } [13:14:09.107] invisible(muffled) [13:14:09.107] } [13:14:09.107] muffleCondition(cond, pattern = "^muffle") [13:14:09.107] } [13:14:09.107] } [13:14:09.107] else { [13:14:09.107] if (TRUE) { [13:14:09.107] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.107] { [13:14:09.107] inherits <- base::inherits [13:14:09.107] invokeRestart <- base::invokeRestart [13:14:09.107] is.null <- base::is.null [13:14:09.107] muffled <- FALSE [13:14:09.107] if (inherits(cond, "message")) { [13:14:09.107] muffled <- grepl(pattern, "muffleMessage") [13:14:09.107] if (muffled) [13:14:09.107] invokeRestart("muffleMessage") [13:14:09.107] } [13:14:09.107] else if (inherits(cond, "warning")) { [13:14:09.107] muffled <- grepl(pattern, "muffleWarning") [13:14:09.107] if (muffled) [13:14:09.107] invokeRestart("muffleWarning") [13:14:09.107] } [13:14:09.107] else if (inherits(cond, "condition")) { [13:14:09.107] if (!is.null(pattern)) { [13:14:09.107] computeRestarts <- base::computeRestarts [13:14:09.107] grepl <- base::grepl [13:14:09.107] restarts <- computeRestarts(cond) [13:14:09.107] for (restart in restarts) { [13:14:09.107] name <- restart$name [13:14:09.107] if (is.null(name)) [13:14:09.107] next [13:14:09.107] if (!grepl(pattern, name)) [13:14:09.107] next [13:14:09.107] invokeRestart(restart) [13:14:09.107] muffled <- TRUE [13:14:09.107] break [13:14:09.107] } [13:14:09.107] } [13:14:09.107] } [13:14:09.107] invisible(muffled) [13:14:09.107] } [13:14:09.107] muffleCondition(cond, pattern = "^muffle") [13:14:09.107] } [13:14:09.107] } [13:14:09.107] } [13:14:09.107] })) [13:14:09.107] }, error = function(ex) { [13:14:09.107] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.107] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.107] ...future.rng), started = ...future.startTime, [13:14:09.107] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.107] version = "1.8"), class = "FutureResult") [13:14:09.107] }, finally = { [13:14:09.107] if (!identical(...future.workdir, getwd())) [13:14:09.107] setwd(...future.workdir) [13:14:09.107] { [13:14:09.107] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.107] ...future.oldOptions$nwarnings <- NULL [13:14:09.107] } [13:14:09.107] base::options(...future.oldOptions) [13:14:09.107] if (.Platform$OS.type == "windows") { [13:14:09.107] old_names <- names(...future.oldEnvVars) [13:14:09.107] envs <- base::Sys.getenv() [13:14:09.107] names <- names(envs) [13:14:09.107] common <- intersect(names, old_names) [13:14:09.107] added <- setdiff(names, old_names) [13:14:09.107] removed <- setdiff(old_names, names) [13:14:09.107] changed <- common[...future.oldEnvVars[common] != [13:14:09.107] envs[common]] [13:14:09.107] NAMES <- toupper(changed) [13:14:09.107] args <- list() [13:14:09.107] for (kk in seq_along(NAMES)) { [13:14:09.107] name <- changed[[kk]] [13:14:09.107] NAME <- NAMES[[kk]] [13:14:09.107] if (name != NAME && is.element(NAME, old_names)) [13:14:09.107] next [13:14:09.107] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.107] } [13:14:09.107] NAMES <- toupper(added) [13:14:09.107] for (kk in seq_along(NAMES)) { [13:14:09.107] name <- added[[kk]] [13:14:09.107] NAME <- NAMES[[kk]] [13:14:09.107] if (name != NAME && is.element(NAME, old_names)) [13:14:09.107] next [13:14:09.107] args[[name]] <- "" [13:14:09.107] } [13:14:09.107] NAMES <- toupper(removed) [13:14:09.107] for (kk in seq_along(NAMES)) { [13:14:09.107] name <- removed[[kk]] [13:14:09.107] NAME <- NAMES[[kk]] [13:14:09.107] if (name != NAME && is.element(NAME, old_names)) [13:14:09.107] next [13:14:09.107] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.107] } [13:14:09.107] if (length(args) > 0) [13:14:09.107] base::do.call(base::Sys.setenv, args = args) [13:14:09.107] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.107] } [13:14:09.107] else { [13:14:09.107] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.107] } [13:14:09.107] { [13:14:09.107] if (base::length(...future.futureOptionsAdded) > [13:14:09.107] 0L) { [13:14:09.107] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.107] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.107] base::options(opts) [13:14:09.107] } [13:14:09.107] { [13:14:09.107] { [13:14:09.107] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.107] NULL [13:14:09.107] } [13:14:09.107] options(future.plan = NULL) [13:14:09.107] if (is.na(NA_character_)) [13:14:09.107] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.107] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.107] future::plan(list(function (..., workers = availableCores(), [13:14:09.107] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.107] envir = parent.frame()) [13:14:09.107] { [13:14:09.107] if (is.function(workers)) [13:14:09.107] workers <- workers() [13:14:09.107] workers <- structure(as.integer(workers), [13:14:09.107] class = class(workers)) [13:14:09.107] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.107] workers >= 1) [13:14:09.107] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.107] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.107] } [13:14:09.107] future <- MultisessionFuture(..., workers = workers, [13:14:09.107] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.107] envir = envir) [13:14:09.107] if (!future$lazy) [13:14:09.107] future <- run(future) [13:14:09.107] invisible(future) [13:14:09.107] }), .cleanup = FALSE, .init = FALSE) [13:14:09.107] } [13:14:09.107] } [13:14:09.107] } [13:14:09.107] }) [13:14:09.107] if (TRUE) { [13:14:09.107] base::sink(type = "output", split = FALSE) [13:14:09.107] if (TRUE) { [13:14:09.107] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.107] } [13:14:09.107] else { [13:14:09.107] ...future.result["stdout"] <- base::list(NULL) [13:14:09.107] } [13:14:09.107] base::close(...future.stdout) [13:14:09.107] ...future.stdout <- NULL [13:14:09.107] } [13:14:09.107] ...future.result$conditions <- ...future.conditions [13:14:09.107] ...future.result$finished <- base::Sys.time() [13:14:09.107] ...future.result [13:14:09.107] } [13:14:09.113] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:09.113] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:09.114] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:09.114] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.115] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.115] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.115] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.115] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.116] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.116] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.116] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.117] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:09.117] MultisessionFuture started [13:14:09.117] - Launch lazy future ... done [13:14:09.118] run() for 'MultisessionFuture' ... done [13:14:09.118] Created future: [13:14:09.133] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.133] - Validating connection of MultisessionFuture [13:14:09.133] - received message: FutureResult [13:14:09.133] - Received FutureResult [13:14:09.133] - Erased future from FutureRegistry [13:14:09.134] result() for ClusterFuture ... [13:14:09.134] - result already collected: FutureResult [13:14:09.134] result() for ClusterFuture ... done [13:14:09.134] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.118] MultisessionFuture: [13:14:09.118] Label: 'future_sapply-1' [13:14:09.118] Expression: [13:14:09.118] { [13:14:09.118] do.call(function(...) { [13:14:09.118] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.118] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.118] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.118] on.exit(options(oopts), add = TRUE) [13:14:09.118] } [13:14:09.118] { [13:14:09.118] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.118] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.118] ...future.FUN(...future.X_jj, ...) [13:14:09.118] }) [13:14:09.118] } [13:14:09.118] }, args = future.call.arguments) [13:14:09.118] } [13:14:09.118] Lazy evaluation: FALSE [13:14:09.118] Asynchronous evaluation: TRUE [13:14:09.118] Local evaluation: TRUE [13:14:09.118] Environment: R_GlobalEnv [13:14:09.118] Capture standard output: TRUE [13:14:09.118] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.118] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.118] Packages: [13:14:09.118] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.118] Resolved: TRUE [13:14:09.118] Value: [13:14:09.118] Conditions captured: [13:14:09.118] Early signaling: FALSE [13:14:09.118] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.118] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.135] Chunk #1 of 2 ... DONE [13:14:09.135] Chunk #2 of 2 ... [13:14:09.135] - Finding globals in 'X' for chunk #2 ... [13:14:09.135] getGlobalsAndPackages() ... [13:14:09.135] Searching for globals... [13:14:09.136] [13:14:09.136] Searching for globals ... DONE [13:14:09.136] - globals: [0] [13:14:09.136] getGlobalsAndPackages() ... DONE [13:14:09.136] + additional globals found: [n=0] [13:14:09.136] + additional namespaces needed: [n=0] [13:14:09.136] - Finding globals in 'X' for chunk #2 ... DONE [13:14:09.137] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.137] - seeds: [13:14:09.137] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.137] getGlobalsAndPackages() ... [13:14:09.137] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.138] Resolving globals: FALSE [13:14:09.138] Tweak future expression to call with '...' arguments ... [13:14:09.138] { [13:14:09.138] do.call(function(...) { [13:14:09.138] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.138] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.138] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.138] on.exit(options(oopts), add = TRUE) [13:14:09.138] } [13:14:09.138] { [13:14:09.138] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.138] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.138] ...future.FUN(...future.X_jj, ...) [13:14:09.138] }) [13:14:09.138] } [13:14:09.138] }, args = future.call.arguments) [13:14:09.138] } [13:14:09.138] Tweak future expression to call with '...' arguments ... DONE [13:14:09.139] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.139] [13:14:09.139] getGlobalsAndPackages() ... DONE [13:14:09.139] run() for 'Future' ... [13:14:09.140] - state: 'created' [13:14:09.140] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.154] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.154] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.154] - Field: 'node' [13:14:09.155] - Field: 'label' [13:14:09.155] - Field: 'local' [13:14:09.155] - Field: 'owner' [13:14:09.155] - Field: 'envir' [13:14:09.155] - Field: 'workers' [13:14:09.155] - Field: 'packages' [13:14:09.156] - Field: 'gc' [13:14:09.156] - Field: 'conditions' [13:14:09.156] - Field: 'persistent' [13:14:09.156] - Field: 'expr' [13:14:09.156] - Field: 'uuid' [13:14:09.156] - Field: 'seed' [13:14:09.157] - Field: 'version' [13:14:09.157] - Field: 'result' [13:14:09.157] - Field: 'asynchronous' [13:14:09.157] - Field: 'calls' [13:14:09.157] - Field: 'globals' [13:14:09.158] - Field: 'stdout' [13:14:09.158] - Field: 'earlySignal' [13:14:09.158] - Field: 'lazy' [13:14:09.158] - Field: 'state' [13:14:09.158] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.158] - Launch lazy future ... [13:14:09.159] Packages needed by the future expression (n = 0): [13:14:09.159] Packages needed by future strategies (n = 0): [13:14:09.159] { [13:14:09.159] { [13:14:09.159] { [13:14:09.159] ...future.startTime <- base::Sys.time() [13:14:09.159] { [13:14:09.159] { [13:14:09.159] { [13:14:09.159] { [13:14:09.159] base::local({ [13:14:09.159] has_future <- base::requireNamespace("future", [13:14:09.159] quietly = TRUE) [13:14:09.159] if (has_future) { [13:14:09.159] ns <- base::getNamespace("future") [13:14:09.159] version <- ns[[".package"]][["version"]] [13:14:09.159] if (is.null(version)) [13:14:09.159] version <- utils::packageVersion("future") [13:14:09.159] } [13:14:09.159] else { [13:14:09.159] version <- NULL [13:14:09.159] } [13:14:09.159] if (!has_future || version < "1.8.0") { [13:14:09.159] info <- base::c(r_version = base::gsub("R version ", [13:14:09.159] "", base::R.version$version.string), [13:14:09.159] platform = base::sprintf("%s (%s-bit)", [13:14:09.159] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.159] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.159] "release", "version")], collapse = " "), [13:14:09.159] hostname = base::Sys.info()[["nodename"]]) [13:14:09.159] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.159] info) [13:14:09.159] info <- base::paste(info, collapse = "; ") [13:14:09.159] if (!has_future) { [13:14:09.159] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.159] info) [13:14:09.159] } [13:14:09.159] else { [13:14:09.159] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.159] info, version) [13:14:09.159] } [13:14:09.159] base::stop(msg) [13:14:09.159] } [13:14:09.159] }) [13:14:09.159] } [13:14:09.159] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.159] base::options(mc.cores = 1L) [13:14:09.159] } [13:14:09.159] options(future.plan = NULL) [13:14:09.159] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.159] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.159] } [13:14:09.159] ...future.workdir <- getwd() [13:14:09.159] } [13:14:09.159] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.159] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.159] } [13:14:09.159] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.159] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.159] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.159] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.159] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.159] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.159] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.159] base::names(...future.oldOptions)) [13:14:09.159] } [13:14:09.159] if (FALSE) { [13:14:09.159] } [13:14:09.159] else { [13:14:09.159] if (TRUE) { [13:14:09.159] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.159] open = "w") [13:14:09.159] } [13:14:09.159] else { [13:14:09.159] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.159] windows = "NUL", "/dev/null"), open = "w") [13:14:09.159] } [13:14:09.159] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.159] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.159] base::sink(type = "output", split = FALSE) [13:14:09.159] base::close(...future.stdout) [13:14:09.159] }, add = TRUE) [13:14:09.159] } [13:14:09.159] ...future.frame <- base::sys.nframe() [13:14:09.159] ...future.conditions <- base::list() [13:14:09.159] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.159] if (FALSE) { [13:14:09.159] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.159] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.159] } [13:14:09.159] ...future.result <- base::tryCatch({ [13:14:09.159] base::withCallingHandlers({ [13:14:09.159] ...future.value <- base::withVisible(base::local({ [13:14:09.159] ...future.makeSendCondition <- local({ [13:14:09.159] sendCondition <- NULL [13:14:09.159] function(frame = 1L) { [13:14:09.159] if (is.function(sendCondition)) [13:14:09.159] return(sendCondition) [13:14:09.159] ns <- getNamespace("parallel") [13:14:09.159] if (exists("sendData", mode = "function", [13:14:09.159] envir = ns)) { [13:14:09.159] parallel_sendData <- get("sendData", mode = "function", [13:14:09.159] envir = ns) [13:14:09.159] envir <- sys.frame(frame) [13:14:09.159] master <- NULL [13:14:09.159] while (!identical(envir, .GlobalEnv) && [13:14:09.159] !identical(envir, emptyenv())) { [13:14:09.159] if (exists("master", mode = "list", envir = envir, [13:14:09.159] inherits = FALSE)) { [13:14:09.159] master <- get("master", mode = "list", [13:14:09.159] envir = envir, inherits = FALSE) [13:14:09.159] if (inherits(master, c("SOCKnode", [13:14:09.159] "SOCK0node"))) { [13:14:09.159] sendCondition <<- function(cond) { [13:14:09.159] data <- list(type = "VALUE", value = cond, [13:14:09.159] success = TRUE) [13:14:09.159] parallel_sendData(master, data) [13:14:09.159] } [13:14:09.159] return(sendCondition) [13:14:09.159] } [13:14:09.159] } [13:14:09.159] frame <- frame + 1L [13:14:09.159] envir <- sys.frame(frame) [13:14:09.159] } [13:14:09.159] } [13:14:09.159] sendCondition <<- function(cond) NULL [13:14:09.159] } [13:14:09.159] }) [13:14:09.159] withCallingHandlers({ [13:14:09.159] { [13:14:09.159] do.call(function(...) { [13:14:09.159] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.159] if (!identical(...future.globals.maxSize.org, [13:14:09.159] ...future.globals.maxSize)) { [13:14:09.159] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.159] on.exit(options(oopts), add = TRUE) [13:14:09.159] } [13:14:09.159] { [13:14:09.159] lapply(seq_along(...future.elements_ii), [13:14:09.159] FUN = function(jj) { [13:14:09.159] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.159] ...future.FUN(...future.X_jj, ...) [13:14:09.159] }) [13:14:09.159] } [13:14:09.159] }, args = future.call.arguments) [13:14:09.159] } [13:14:09.159] }, immediateCondition = function(cond) { [13:14:09.159] sendCondition <- ...future.makeSendCondition() [13:14:09.159] sendCondition(cond) [13:14:09.159] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.159] { [13:14:09.159] inherits <- base::inherits [13:14:09.159] invokeRestart <- base::invokeRestart [13:14:09.159] is.null <- base::is.null [13:14:09.159] muffled <- FALSE [13:14:09.159] if (inherits(cond, "message")) { [13:14:09.159] muffled <- grepl(pattern, "muffleMessage") [13:14:09.159] if (muffled) [13:14:09.159] invokeRestart("muffleMessage") [13:14:09.159] } [13:14:09.159] else if (inherits(cond, "warning")) { [13:14:09.159] muffled <- grepl(pattern, "muffleWarning") [13:14:09.159] if (muffled) [13:14:09.159] invokeRestart("muffleWarning") [13:14:09.159] } [13:14:09.159] else if (inherits(cond, "condition")) { [13:14:09.159] if (!is.null(pattern)) { [13:14:09.159] computeRestarts <- base::computeRestarts [13:14:09.159] grepl <- base::grepl [13:14:09.159] restarts <- computeRestarts(cond) [13:14:09.159] for (restart in restarts) { [13:14:09.159] name <- restart$name [13:14:09.159] if (is.null(name)) [13:14:09.159] next [13:14:09.159] if (!grepl(pattern, name)) [13:14:09.159] next [13:14:09.159] invokeRestart(restart) [13:14:09.159] muffled <- TRUE [13:14:09.159] break [13:14:09.159] } [13:14:09.159] } [13:14:09.159] } [13:14:09.159] invisible(muffled) [13:14:09.159] } [13:14:09.159] muffleCondition(cond) [13:14:09.159] }) [13:14:09.159] })) [13:14:09.159] future::FutureResult(value = ...future.value$value, [13:14:09.159] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.159] ...future.rng), globalenv = if (FALSE) [13:14:09.159] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.159] ...future.globalenv.names)) [13:14:09.159] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.159] }, condition = base::local({ [13:14:09.159] c <- base::c [13:14:09.159] inherits <- base::inherits [13:14:09.159] invokeRestart <- base::invokeRestart [13:14:09.159] length <- base::length [13:14:09.159] list <- base::list [13:14:09.159] seq.int <- base::seq.int [13:14:09.159] signalCondition <- base::signalCondition [13:14:09.159] sys.calls <- base::sys.calls [13:14:09.159] `[[` <- base::`[[` [13:14:09.159] `+` <- base::`+` [13:14:09.159] `<<-` <- base::`<<-` [13:14:09.159] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.159] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.159] 3L)] [13:14:09.159] } [13:14:09.159] function(cond) { [13:14:09.159] is_error <- inherits(cond, "error") [13:14:09.159] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.159] NULL) [13:14:09.159] if (is_error) { [13:14:09.159] sessionInformation <- function() { [13:14:09.159] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.159] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.159] search = base::search(), system = base::Sys.info()) [13:14:09.159] } [13:14:09.159] ...future.conditions[[length(...future.conditions) + [13:14:09.159] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.159] cond$call), session = sessionInformation(), [13:14:09.159] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.159] signalCondition(cond) [13:14:09.159] } [13:14:09.159] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.159] "immediateCondition"))) { [13:14:09.159] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.159] ...future.conditions[[length(...future.conditions) + [13:14:09.159] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.159] if (TRUE && !signal) { [13:14:09.159] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.159] { [13:14:09.159] inherits <- base::inherits [13:14:09.159] invokeRestart <- base::invokeRestart [13:14:09.159] is.null <- base::is.null [13:14:09.159] muffled <- FALSE [13:14:09.159] if (inherits(cond, "message")) { [13:14:09.159] muffled <- grepl(pattern, "muffleMessage") [13:14:09.159] if (muffled) [13:14:09.159] invokeRestart("muffleMessage") [13:14:09.159] } [13:14:09.159] else if (inherits(cond, "warning")) { [13:14:09.159] muffled <- grepl(pattern, "muffleWarning") [13:14:09.159] if (muffled) [13:14:09.159] invokeRestart("muffleWarning") [13:14:09.159] } [13:14:09.159] else if (inherits(cond, "condition")) { [13:14:09.159] if (!is.null(pattern)) { [13:14:09.159] computeRestarts <- base::computeRestarts [13:14:09.159] grepl <- base::grepl [13:14:09.159] restarts <- computeRestarts(cond) [13:14:09.159] for (restart in restarts) { [13:14:09.159] name <- restart$name [13:14:09.159] if (is.null(name)) [13:14:09.159] next [13:14:09.159] if (!grepl(pattern, name)) [13:14:09.159] next [13:14:09.159] invokeRestart(restart) [13:14:09.159] muffled <- TRUE [13:14:09.159] break [13:14:09.159] } [13:14:09.159] } [13:14:09.159] } [13:14:09.159] invisible(muffled) [13:14:09.159] } [13:14:09.159] muffleCondition(cond, pattern = "^muffle") [13:14:09.159] } [13:14:09.159] } [13:14:09.159] else { [13:14:09.159] if (TRUE) { [13:14:09.159] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.159] { [13:14:09.159] inherits <- base::inherits [13:14:09.159] invokeRestart <- base::invokeRestart [13:14:09.159] is.null <- base::is.null [13:14:09.159] muffled <- FALSE [13:14:09.159] if (inherits(cond, "message")) { [13:14:09.159] muffled <- grepl(pattern, "muffleMessage") [13:14:09.159] if (muffled) [13:14:09.159] invokeRestart("muffleMessage") [13:14:09.159] } [13:14:09.159] else if (inherits(cond, "warning")) { [13:14:09.159] muffled <- grepl(pattern, "muffleWarning") [13:14:09.159] if (muffled) [13:14:09.159] invokeRestart("muffleWarning") [13:14:09.159] } [13:14:09.159] else if (inherits(cond, "condition")) { [13:14:09.159] if (!is.null(pattern)) { [13:14:09.159] computeRestarts <- base::computeRestarts [13:14:09.159] grepl <- base::grepl [13:14:09.159] restarts <- computeRestarts(cond) [13:14:09.159] for (restart in restarts) { [13:14:09.159] name <- restart$name [13:14:09.159] if (is.null(name)) [13:14:09.159] next [13:14:09.159] if (!grepl(pattern, name)) [13:14:09.159] next [13:14:09.159] invokeRestart(restart) [13:14:09.159] muffled <- TRUE [13:14:09.159] break [13:14:09.159] } [13:14:09.159] } [13:14:09.159] } [13:14:09.159] invisible(muffled) [13:14:09.159] } [13:14:09.159] muffleCondition(cond, pattern = "^muffle") [13:14:09.159] } [13:14:09.159] } [13:14:09.159] } [13:14:09.159] })) [13:14:09.159] }, error = function(ex) { [13:14:09.159] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.159] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.159] ...future.rng), started = ...future.startTime, [13:14:09.159] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.159] version = "1.8"), class = "FutureResult") [13:14:09.159] }, finally = { [13:14:09.159] if (!identical(...future.workdir, getwd())) [13:14:09.159] setwd(...future.workdir) [13:14:09.159] { [13:14:09.159] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.159] ...future.oldOptions$nwarnings <- NULL [13:14:09.159] } [13:14:09.159] base::options(...future.oldOptions) [13:14:09.159] if (.Platform$OS.type == "windows") { [13:14:09.159] old_names <- names(...future.oldEnvVars) [13:14:09.159] envs <- base::Sys.getenv() [13:14:09.159] names <- names(envs) [13:14:09.159] common <- intersect(names, old_names) [13:14:09.159] added <- setdiff(names, old_names) [13:14:09.159] removed <- setdiff(old_names, names) [13:14:09.159] changed <- common[...future.oldEnvVars[common] != [13:14:09.159] envs[common]] [13:14:09.159] NAMES <- toupper(changed) [13:14:09.159] args <- list() [13:14:09.159] for (kk in seq_along(NAMES)) { [13:14:09.159] name <- changed[[kk]] [13:14:09.159] NAME <- NAMES[[kk]] [13:14:09.159] if (name != NAME && is.element(NAME, old_names)) [13:14:09.159] next [13:14:09.159] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.159] } [13:14:09.159] NAMES <- toupper(added) [13:14:09.159] for (kk in seq_along(NAMES)) { [13:14:09.159] name <- added[[kk]] [13:14:09.159] NAME <- NAMES[[kk]] [13:14:09.159] if (name != NAME && is.element(NAME, old_names)) [13:14:09.159] next [13:14:09.159] args[[name]] <- "" [13:14:09.159] } [13:14:09.159] NAMES <- toupper(removed) [13:14:09.159] for (kk in seq_along(NAMES)) { [13:14:09.159] name <- removed[[kk]] [13:14:09.159] NAME <- NAMES[[kk]] [13:14:09.159] if (name != NAME && is.element(NAME, old_names)) [13:14:09.159] next [13:14:09.159] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.159] } [13:14:09.159] if (length(args) > 0) [13:14:09.159] base::do.call(base::Sys.setenv, args = args) [13:14:09.159] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.159] } [13:14:09.159] else { [13:14:09.159] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.159] } [13:14:09.159] { [13:14:09.159] if (base::length(...future.futureOptionsAdded) > [13:14:09.159] 0L) { [13:14:09.159] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.159] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.159] base::options(opts) [13:14:09.159] } [13:14:09.159] { [13:14:09.159] { [13:14:09.159] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.159] NULL [13:14:09.159] } [13:14:09.159] options(future.plan = NULL) [13:14:09.159] if (is.na(NA_character_)) [13:14:09.159] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.159] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.159] future::plan(list(function (..., workers = availableCores(), [13:14:09.159] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.159] envir = parent.frame()) [13:14:09.159] { [13:14:09.159] if (is.function(workers)) [13:14:09.159] workers <- workers() [13:14:09.159] workers <- structure(as.integer(workers), [13:14:09.159] class = class(workers)) [13:14:09.159] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.159] workers >= 1) [13:14:09.159] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.159] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.159] } [13:14:09.159] future <- MultisessionFuture(..., workers = workers, [13:14:09.159] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.159] envir = envir) [13:14:09.159] if (!future$lazy) [13:14:09.159] future <- run(future) [13:14:09.159] invisible(future) [13:14:09.159] }), .cleanup = FALSE, .init = FALSE) [13:14:09.159] } [13:14:09.159] } [13:14:09.159] } [13:14:09.159] }) [13:14:09.159] if (TRUE) { [13:14:09.159] base::sink(type = "output", split = FALSE) [13:14:09.159] if (TRUE) { [13:14:09.159] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.159] } [13:14:09.159] else { [13:14:09.159] ...future.result["stdout"] <- base::list(NULL) [13:14:09.159] } [13:14:09.159] base::close(...future.stdout) [13:14:09.159] ...future.stdout <- NULL [13:14:09.159] } [13:14:09.159] ...future.result$conditions <- ...future.conditions [13:14:09.159] ...future.result$finished <- base::Sys.time() [13:14:09.159] ...future.result [13:14:09.159] } [13:14:09.165] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:09.165] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:09.166] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:09.166] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.166] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.166] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.167] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.167] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.167] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.168] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.168] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.168] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:09.169] MultisessionFuture started [13:14:09.169] - Launch lazy future ... done [13:14:09.169] run() for 'MultisessionFuture' ... done [13:14:09.170] Created future: [13:14:09.185] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.185] - Validating connection of MultisessionFuture [13:14:09.186] - received message: FutureResult [13:14:09.186] - Received FutureResult [13:14:09.186] - Erased future from FutureRegistry [13:14:09.186] result() for ClusterFuture ... [13:14:09.186] - result already collected: FutureResult [13:14:09.187] result() for ClusterFuture ... done [13:14:09.187] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.170] MultisessionFuture: [13:14:09.170] Label: 'future_sapply-2' [13:14:09.170] Expression: [13:14:09.170] { [13:14:09.170] do.call(function(...) { [13:14:09.170] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.170] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.170] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.170] on.exit(options(oopts), add = TRUE) [13:14:09.170] } [13:14:09.170] { [13:14:09.170] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.170] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.170] ...future.FUN(...future.X_jj, ...) [13:14:09.170] }) [13:14:09.170] } [13:14:09.170] }, args = future.call.arguments) [13:14:09.170] } [13:14:09.170] Lazy evaluation: FALSE [13:14:09.170] Asynchronous evaluation: TRUE [13:14:09.170] Local evaluation: TRUE [13:14:09.170] Environment: R_GlobalEnv [13:14:09.170] Capture standard output: TRUE [13:14:09.170] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.170] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.170] Packages: [13:14:09.170] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.170] Resolved: TRUE [13:14:09.170] Value: [13:14:09.170] Conditions captured: [13:14:09.170] Early signaling: FALSE [13:14:09.170] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.170] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.187] Chunk #2 of 2 ... DONE [13:14:09.187] Launching 2 futures (chunks) ... DONE [13:14:09.187] Resolving 2 futures (chunks) ... [13:14:09.188] resolve() on list ... [13:14:09.188] recursive: 0 [13:14:09.188] length: 2 [13:14:09.188] [13:14:09.188] Future #1 [13:14:09.188] result() for ClusterFuture ... [13:14:09.189] - result already collected: FutureResult [13:14:09.189] result() for ClusterFuture ... done [13:14:09.189] result() for ClusterFuture ... [13:14:09.189] - result already collected: FutureResult [13:14:09.189] result() for ClusterFuture ... done [13:14:09.189] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:09.190] - nx: 2 [13:14:09.190] - relay: TRUE [13:14:09.190] - stdout: TRUE [13:14:09.190] - signal: TRUE [13:14:09.190] - resignal: FALSE [13:14:09.190] - force: TRUE [13:14:09.191] - relayed: [n=2] FALSE, FALSE [13:14:09.191] - queued futures: [n=2] FALSE, FALSE [13:14:09.191] - until=1 [13:14:09.191] - relaying element #1 [13:14:09.191] result() for ClusterFuture ... [13:14:09.191] - result already collected: FutureResult [13:14:09.191] result() for ClusterFuture ... done [13:14:09.192] result() for ClusterFuture ... [13:14:09.192] - result already collected: FutureResult [13:14:09.192] result() for ClusterFuture ... done [13:14:09.192] result() for ClusterFuture ... [13:14:09.192] - result already collected: FutureResult [13:14:09.192] result() for ClusterFuture ... done [13:14:09.193] result() for ClusterFuture ... [13:14:09.193] - result already collected: FutureResult [13:14:09.193] result() for ClusterFuture ... done [13:14:09.193] - relayed: [n=2] TRUE, FALSE [13:14:09.193] - queued futures: [n=2] TRUE, FALSE [13:14:09.193] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:09.194] length: 1 (resolved future 1) [13:14:09.194] Future #2 [13:14:09.194] result() for ClusterFuture ... [13:14:09.194] - result already collected: FutureResult [13:14:09.194] result() for ClusterFuture ... done [13:14:09.194] result() for ClusterFuture ... [13:14:09.195] - result already collected: FutureResult [13:14:09.195] result() for ClusterFuture ... done [13:14:09.195] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:09.195] - nx: 2 [13:14:09.195] - relay: TRUE [13:14:09.195] - stdout: TRUE [13:14:09.195] - signal: TRUE [13:14:09.196] - resignal: FALSE [13:14:09.196] - force: TRUE [13:14:09.196] - relayed: [n=2] TRUE, FALSE [13:14:09.196] - queued futures: [n=2] TRUE, FALSE [13:14:09.196] - until=2 [13:14:09.196] - relaying element #2 [13:14:09.197] result() for ClusterFuture ... [13:14:09.197] - result already collected: FutureResult [13:14:09.197] result() for ClusterFuture ... done [13:14:09.197] result() for ClusterFuture ... [13:14:09.197] - result already collected: FutureResult [13:14:09.197] result() for ClusterFuture ... done [13:14:09.198] result() for ClusterFuture ... [13:14:09.198] - result already collected: FutureResult [13:14:09.198] result() for ClusterFuture ... done [13:14:09.198] result() for ClusterFuture ... [13:14:09.198] - result already collected: FutureResult [13:14:09.198] result() for ClusterFuture ... done [13:14:09.198] - relayed: [n=2] TRUE, TRUE [13:14:09.199] - queued futures: [n=2] TRUE, TRUE [13:14:09.199] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:09.199] length: 0 (resolved future 2) [13:14:09.199] Relaying remaining futures [13:14:09.199] signalConditionsASAP(NULL, pos=0) ... [13:14:09.199] - nx: 2 [13:14:09.200] - relay: TRUE [13:14:09.200] - stdout: TRUE [13:14:09.200] - signal: TRUE [13:14:09.200] - resignal: FALSE [13:14:09.200] - force: TRUE [13:14:09.200] - relayed: [n=2] TRUE, TRUE [13:14:09.200] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:09.201] - relayed: [n=2] TRUE, TRUE [13:14:09.201] - queued futures: [n=2] TRUE, TRUE [13:14:09.201] signalConditionsASAP(NULL, pos=0) ... done [13:14:09.201] resolve() on list ... DONE [13:14:09.201] result() for ClusterFuture ... [13:14:09.201] - result already collected: FutureResult [13:14:09.202] result() for ClusterFuture ... done [13:14:09.202] result() for ClusterFuture ... [13:14:09.202] - result already collected: FutureResult [13:14:09.202] result() for ClusterFuture ... done [13:14:09.202] result() for ClusterFuture ... [13:14:09.202] - result already collected: FutureResult [13:14:09.203] result() for ClusterFuture ... done [13:14:09.203] result() for ClusterFuture ... [13:14:09.203] - result already collected: FutureResult [13:14:09.203] result() for ClusterFuture ... done [13:14:09.203] - Number of value chunks collected: 2 [13:14:09.203] Resolving 2 futures (chunks) ... DONE [13:14:09.204] Reducing values from 2 chunks ... [13:14:09.204] - Number of values collected after concatenation: 6 [13:14:09.204] - Number of values expected: 6 [13:14:09.204] Reducing values from 2 chunks ... DONE [13:14:09.204] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:15, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:09.207] future_lapply() ... [13:14:09.210] Number of chunks: 2 [13:14:09.210] getGlobalsAndPackagesXApply() ... [13:14:09.211] - future.globals: TRUE [13:14:09.211] getGlobalsAndPackages() ... [13:14:09.211] Searching for globals... [13:14:09.212] - globals found: [1] 'FUN' [13:14:09.212] Searching for globals ... DONE [13:14:09.212] Resolving globals: FALSE [13:14:09.213] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:09.213] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:09.213] - globals: [1] 'FUN' [13:14:09.214] [13:14:09.214] getGlobalsAndPackages() ... DONE [13:14:09.214] - globals found/used: [n=1] 'FUN' [13:14:09.214] - needed namespaces: [n=0] [13:14:09.214] Finding globals ... DONE [13:14:09.214] - use_args: TRUE [13:14:09.215] - Getting '...' globals ... [13:14:09.215] resolve() on list ... [13:14:09.215] recursive: 0 [13:14:09.215] length: 1 [13:14:09.215] elements: '...' [13:14:09.216] length: 0 (resolved future 1) [13:14:09.216] resolve() on list ... DONE [13:14:09.216] - '...' content: [n=0] [13:14:09.216] List of 1 [13:14:09.216] $ ...: list() [13:14:09.216] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.216] - attr(*, "where")=List of 1 [13:14:09.216] ..$ ...: [13:14:09.216] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.216] - attr(*, "resolved")= logi TRUE [13:14:09.216] - attr(*, "total_size")= num NA [13:14:09.219] - Getting '...' globals ... DONE [13:14:09.219] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:09.220] List of 2 [13:14:09.220] $ ...future.FUN:function (x) [13:14:09.220] $ ... : list() [13:14:09.220] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.220] - attr(*, "where")=List of 2 [13:14:09.220] ..$ ...future.FUN: [13:14:09.220] ..$ ... : [13:14:09.220] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.220] - attr(*, "resolved")= logi FALSE [13:14:09.220] - attr(*, "total_size")= num 848 [13:14:09.226] Packages to be attached in all futures: [n=0] [13:14:09.226] getGlobalsAndPackagesXApply() ... DONE [13:14:09.226] Number of futures (= number of chunks): 2 [13:14:09.226] Launching 2 futures (chunks) ... [13:14:09.226] Chunk #1 of 2 ... [13:14:09.227] - Finding globals in 'X' for chunk #1 ... [13:14:09.227] getGlobalsAndPackages() ... [13:14:09.227] Searching for globals... [13:14:09.227] [13:14:09.227] Searching for globals ... DONE [13:14:09.228] - globals: [0] [13:14:09.228] getGlobalsAndPackages() ... DONE [13:14:09.228] + additional globals found: [n=0] [13:14:09.228] + additional namespaces needed: [n=0] [13:14:09.228] - Finding globals in 'X' for chunk #1 ... DONE [13:14:09.228] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.229] - seeds: [13:14:09.229] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.229] getGlobalsAndPackages() ... [13:14:09.229] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.229] Resolving globals: FALSE [13:14:09.229] Tweak future expression to call with '...' arguments ... [13:14:09.230] { [13:14:09.230] do.call(function(...) { [13:14:09.230] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.230] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.230] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.230] on.exit(options(oopts), add = TRUE) [13:14:09.230] } [13:14:09.230] { [13:14:09.230] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.230] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.230] ...future.FUN(...future.X_jj, ...) [13:14:09.230] }) [13:14:09.230] } [13:14:09.230] }, args = future.call.arguments) [13:14:09.230] } [13:14:09.230] Tweak future expression to call with '...' arguments ... DONE [13:14:09.231] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.231] [13:14:09.231] getGlobalsAndPackages() ... DONE [13:14:09.231] run() for 'Future' ... [13:14:09.231] - state: 'created' [13:14:09.232] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.246] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.246] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.246] - Field: 'node' [13:14:09.247] - Field: 'label' [13:14:09.247] - Field: 'local' [13:14:09.247] - Field: 'owner' [13:14:09.247] - Field: 'envir' [13:14:09.247] - Field: 'workers' [13:14:09.248] - Field: 'packages' [13:14:09.248] - Field: 'gc' [13:14:09.248] - Field: 'conditions' [13:14:09.248] - Field: 'persistent' [13:14:09.248] - Field: 'expr' [13:14:09.248] - Field: 'uuid' [13:14:09.249] - Field: 'seed' [13:14:09.249] - Field: 'version' [13:14:09.249] - Field: 'result' [13:14:09.249] - Field: 'asynchronous' [13:14:09.249] - Field: 'calls' [13:14:09.249] - Field: 'globals' [13:14:09.250] - Field: 'stdout' [13:14:09.250] - Field: 'earlySignal' [13:14:09.250] - Field: 'lazy' [13:14:09.250] - Field: 'state' [13:14:09.250] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.250] - Launch lazy future ... [13:14:09.251] Packages needed by the future expression (n = 0): [13:14:09.251] Packages needed by future strategies (n = 0): [13:14:09.252] { [13:14:09.252] { [13:14:09.252] { [13:14:09.252] ...future.startTime <- base::Sys.time() [13:14:09.252] { [13:14:09.252] { [13:14:09.252] { [13:14:09.252] { [13:14:09.252] base::local({ [13:14:09.252] has_future <- base::requireNamespace("future", [13:14:09.252] quietly = TRUE) [13:14:09.252] if (has_future) { [13:14:09.252] ns <- base::getNamespace("future") [13:14:09.252] version <- ns[[".package"]][["version"]] [13:14:09.252] if (is.null(version)) [13:14:09.252] version <- utils::packageVersion("future") [13:14:09.252] } [13:14:09.252] else { [13:14:09.252] version <- NULL [13:14:09.252] } [13:14:09.252] if (!has_future || version < "1.8.0") { [13:14:09.252] info <- base::c(r_version = base::gsub("R version ", [13:14:09.252] "", base::R.version$version.string), [13:14:09.252] platform = base::sprintf("%s (%s-bit)", [13:14:09.252] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.252] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.252] "release", "version")], collapse = " "), [13:14:09.252] hostname = base::Sys.info()[["nodename"]]) [13:14:09.252] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.252] info) [13:14:09.252] info <- base::paste(info, collapse = "; ") [13:14:09.252] if (!has_future) { [13:14:09.252] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.252] info) [13:14:09.252] } [13:14:09.252] else { [13:14:09.252] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.252] info, version) [13:14:09.252] } [13:14:09.252] base::stop(msg) [13:14:09.252] } [13:14:09.252] }) [13:14:09.252] } [13:14:09.252] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.252] base::options(mc.cores = 1L) [13:14:09.252] } [13:14:09.252] options(future.plan = NULL) [13:14:09.252] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.252] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.252] } [13:14:09.252] ...future.workdir <- getwd() [13:14:09.252] } [13:14:09.252] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.252] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.252] } [13:14:09.252] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.252] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.252] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.252] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.252] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.252] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.252] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.252] base::names(...future.oldOptions)) [13:14:09.252] } [13:14:09.252] if (FALSE) { [13:14:09.252] } [13:14:09.252] else { [13:14:09.252] if (TRUE) { [13:14:09.252] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.252] open = "w") [13:14:09.252] } [13:14:09.252] else { [13:14:09.252] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.252] windows = "NUL", "/dev/null"), open = "w") [13:14:09.252] } [13:14:09.252] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.252] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.252] base::sink(type = "output", split = FALSE) [13:14:09.252] base::close(...future.stdout) [13:14:09.252] }, add = TRUE) [13:14:09.252] } [13:14:09.252] ...future.frame <- base::sys.nframe() [13:14:09.252] ...future.conditions <- base::list() [13:14:09.252] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.252] if (FALSE) { [13:14:09.252] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.252] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.252] } [13:14:09.252] ...future.result <- base::tryCatch({ [13:14:09.252] base::withCallingHandlers({ [13:14:09.252] ...future.value <- base::withVisible(base::local({ [13:14:09.252] ...future.makeSendCondition <- local({ [13:14:09.252] sendCondition <- NULL [13:14:09.252] function(frame = 1L) { [13:14:09.252] if (is.function(sendCondition)) [13:14:09.252] return(sendCondition) [13:14:09.252] ns <- getNamespace("parallel") [13:14:09.252] if (exists("sendData", mode = "function", [13:14:09.252] envir = ns)) { [13:14:09.252] parallel_sendData <- get("sendData", mode = "function", [13:14:09.252] envir = ns) [13:14:09.252] envir <- sys.frame(frame) [13:14:09.252] master <- NULL [13:14:09.252] while (!identical(envir, .GlobalEnv) && [13:14:09.252] !identical(envir, emptyenv())) { [13:14:09.252] if (exists("master", mode = "list", envir = envir, [13:14:09.252] inherits = FALSE)) { [13:14:09.252] master <- get("master", mode = "list", [13:14:09.252] envir = envir, inherits = FALSE) [13:14:09.252] if (inherits(master, c("SOCKnode", [13:14:09.252] "SOCK0node"))) { [13:14:09.252] sendCondition <<- function(cond) { [13:14:09.252] data <- list(type = "VALUE", value = cond, [13:14:09.252] success = TRUE) [13:14:09.252] parallel_sendData(master, data) [13:14:09.252] } [13:14:09.252] return(sendCondition) [13:14:09.252] } [13:14:09.252] } [13:14:09.252] frame <- frame + 1L [13:14:09.252] envir <- sys.frame(frame) [13:14:09.252] } [13:14:09.252] } [13:14:09.252] sendCondition <<- function(cond) NULL [13:14:09.252] } [13:14:09.252] }) [13:14:09.252] withCallingHandlers({ [13:14:09.252] { [13:14:09.252] do.call(function(...) { [13:14:09.252] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.252] if (!identical(...future.globals.maxSize.org, [13:14:09.252] ...future.globals.maxSize)) { [13:14:09.252] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.252] on.exit(options(oopts), add = TRUE) [13:14:09.252] } [13:14:09.252] { [13:14:09.252] lapply(seq_along(...future.elements_ii), [13:14:09.252] FUN = function(jj) { [13:14:09.252] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.252] ...future.FUN(...future.X_jj, ...) [13:14:09.252] }) [13:14:09.252] } [13:14:09.252] }, args = future.call.arguments) [13:14:09.252] } [13:14:09.252] }, immediateCondition = function(cond) { [13:14:09.252] sendCondition <- ...future.makeSendCondition() [13:14:09.252] sendCondition(cond) [13:14:09.252] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.252] { [13:14:09.252] inherits <- base::inherits [13:14:09.252] invokeRestart <- base::invokeRestart [13:14:09.252] is.null <- base::is.null [13:14:09.252] muffled <- FALSE [13:14:09.252] if (inherits(cond, "message")) { [13:14:09.252] muffled <- grepl(pattern, "muffleMessage") [13:14:09.252] if (muffled) [13:14:09.252] invokeRestart("muffleMessage") [13:14:09.252] } [13:14:09.252] else if (inherits(cond, "warning")) { [13:14:09.252] muffled <- grepl(pattern, "muffleWarning") [13:14:09.252] if (muffled) [13:14:09.252] invokeRestart("muffleWarning") [13:14:09.252] } [13:14:09.252] else if (inherits(cond, "condition")) { [13:14:09.252] if (!is.null(pattern)) { [13:14:09.252] computeRestarts <- base::computeRestarts [13:14:09.252] grepl <- base::grepl [13:14:09.252] restarts <- computeRestarts(cond) [13:14:09.252] for (restart in restarts) { [13:14:09.252] name <- restart$name [13:14:09.252] if (is.null(name)) [13:14:09.252] next [13:14:09.252] if (!grepl(pattern, name)) [13:14:09.252] next [13:14:09.252] invokeRestart(restart) [13:14:09.252] muffled <- TRUE [13:14:09.252] break [13:14:09.252] } [13:14:09.252] } [13:14:09.252] } [13:14:09.252] invisible(muffled) [13:14:09.252] } [13:14:09.252] muffleCondition(cond) [13:14:09.252] }) [13:14:09.252] })) [13:14:09.252] future::FutureResult(value = ...future.value$value, [13:14:09.252] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.252] ...future.rng), globalenv = if (FALSE) [13:14:09.252] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.252] ...future.globalenv.names)) [13:14:09.252] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.252] }, condition = base::local({ [13:14:09.252] c <- base::c [13:14:09.252] inherits <- base::inherits [13:14:09.252] invokeRestart <- base::invokeRestart [13:14:09.252] length <- base::length [13:14:09.252] list <- base::list [13:14:09.252] seq.int <- base::seq.int [13:14:09.252] signalCondition <- base::signalCondition [13:14:09.252] sys.calls <- base::sys.calls [13:14:09.252] `[[` <- base::`[[` [13:14:09.252] `+` <- base::`+` [13:14:09.252] `<<-` <- base::`<<-` [13:14:09.252] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.252] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.252] 3L)] [13:14:09.252] } [13:14:09.252] function(cond) { [13:14:09.252] is_error <- inherits(cond, "error") [13:14:09.252] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.252] NULL) [13:14:09.252] if (is_error) { [13:14:09.252] sessionInformation <- function() { [13:14:09.252] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.252] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.252] search = base::search(), system = base::Sys.info()) [13:14:09.252] } [13:14:09.252] ...future.conditions[[length(...future.conditions) + [13:14:09.252] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.252] cond$call), session = sessionInformation(), [13:14:09.252] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.252] signalCondition(cond) [13:14:09.252] } [13:14:09.252] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.252] "immediateCondition"))) { [13:14:09.252] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.252] ...future.conditions[[length(...future.conditions) + [13:14:09.252] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.252] if (TRUE && !signal) { [13:14:09.252] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.252] { [13:14:09.252] inherits <- base::inherits [13:14:09.252] invokeRestart <- base::invokeRestart [13:14:09.252] is.null <- base::is.null [13:14:09.252] muffled <- FALSE [13:14:09.252] if (inherits(cond, "message")) { [13:14:09.252] muffled <- grepl(pattern, "muffleMessage") [13:14:09.252] if (muffled) [13:14:09.252] invokeRestart("muffleMessage") [13:14:09.252] } [13:14:09.252] else if (inherits(cond, "warning")) { [13:14:09.252] muffled <- grepl(pattern, "muffleWarning") [13:14:09.252] if (muffled) [13:14:09.252] invokeRestart("muffleWarning") [13:14:09.252] } [13:14:09.252] else if (inherits(cond, "condition")) { [13:14:09.252] if (!is.null(pattern)) { [13:14:09.252] computeRestarts <- base::computeRestarts [13:14:09.252] grepl <- base::grepl [13:14:09.252] restarts <- computeRestarts(cond) [13:14:09.252] for (restart in restarts) { [13:14:09.252] name <- restart$name [13:14:09.252] if (is.null(name)) [13:14:09.252] next [13:14:09.252] if (!grepl(pattern, name)) [13:14:09.252] next [13:14:09.252] invokeRestart(restart) [13:14:09.252] muffled <- TRUE [13:14:09.252] break [13:14:09.252] } [13:14:09.252] } [13:14:09.252] } [13:14:09.252] invisible(muffled) [13:14:09.252] } [13:14:09.252] muffleCondition(cond, pattern = "^muffle") [13:14:09.252] } [13:14:09.252] } [13:14:09.252] else { [13:14:09.252] if (TRUE) { [13:14:09.252] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.252] { [13:14:09.252] inherits <- base::inherits [13:14:09.252] invokeRestart <- base::invokeRestart [13:14:09.252] is.null <- base::is.null [13:14:09.252] muffled <- FALSE [13:14:09.252] if (inherits(cond, "message")) { [13:14:09.252] muffled <- grepl(pattern, "muffleMessage") [13:14:09.252] if (muffled) [13:14:09.252] invokeRestart("muffleMessage") [13:14:09.252] } [13:14:09.252] else if (inherits(cond, "warning")) { [13:14:09.252] muffled <- grepl(pattern, "muffleWarning") [13:14:09.252] if (muffled) [13:14:09.252] invokeRestart("muffleWarning") [13:14:09.252] } [13:14:09.252] else if (inherits(cond, "condition")) { [13:14:09.252] if (!is.null(pattern)) { [13:14:09.252] computeRestarts <- base::computeRestarts [13:14:09.252] grepl <- base::grepl [13:14:09.252] restarts <- computeRestarts(cond) [13:14:09.252] for (restart in restarts) { [13:14:09.252] name <- restart$name [13:14:09.252] if (is.null(name)) [13:14:09.252] next [13:14:09.252] if (!grepl(pattern, name)) [13:14:09.252] next [13:14:09.252] invokeRestart(restart) [13:14:09.252] muffled <- TRUE [13:14:09.252] break [13:14:09.252] } [13:14:09.252] } [13:14:09.252] } [13:14:09.252] invisible(muffled) [13:14:09.252] } [13:14:09.252] muffleCondition(cond, pattern = "^muffle") [13:14:09.252] } [13:14:09.252] } [13:14:09.252] } [13:14:09.252] })) [13:14:09.252] }, error = function(ex) { [13:14:09.252] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.252] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.252] ...future.rng), started = ...future.startTime, [13:14:09.252] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.252] version = "1.8"), class = "FutureResult") [13:14:09.252] }, finally = { [13:14:09.252] if (!identical(...future.workdir, getwd())) [13:14:09.252] setwd(...future.workdir) [13:14:09.252] { [13:14:09.252] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.252] ...future.oldOptions$nwarnings <- NULL [13:14:09.252] } [13:14:09.252] base::options(...future.oldOptions) [13:14:09.252] if (.Platform$OS.type == "windows") { [13:14:09.252] old_names <- names(...future.oldEnvVars) [13:14:09.252] envs <- base::Sys.getenv() [13:14:09.252] names <- names(envs) [13:14:09.252] common <- intersect(names, old_names) [13:14:09.252] added <- setdiff(names, old_names) [13:14:09.252] removed <- setdiff(old_names, names) [13:14:09.252] changed <- common[...future.oldEnvVars[common] != [13:14:09.252] envs[common]] [13:14:09.252] NAMES <- toupper(changed) [13:14:09.252] args <- list() [13:14:09.252] for (kk in seq_along(NAMES)) { [13:14:09.252] name <- changed[[kk]] [13:14:09.252] NAME <- NAMES[[kk]] [13:14:09.252] if (name != NAME && is.element(NAME, old_names)) [13:14:09.252] next [13:14:09.252] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.252] } [13:14:09.252] NAMES <- toupper(added) [13:14:09.252] for (kk in seq_along(NAMES)) { [13:14:09.252] name <- added[[kk]] [13:14:09.252] NAME <- NAMES[[kk]] [13:14:09.252] if (name != NAME && is.element(NAME, old_names)) [13:14:09.252] next [13:14:09.252] args[[name]] <- "" [13:14:09.252] } [13:14:09.252] NAMES <- toupper(removed) [13:14:09.252] for (kk in seq_along(NAMES)) { [13:14:09.252] name <- removed[[kk]] [13:14:09.252] NAME <- NAMES[[kk]] [13:14:09.252] if (name != NAME && is.element(NAME, old_names)) [13:14:09.252] next [13:14:09.252] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.252] } [13:14:09.252] if (length(args) > 0) [13:14:09.252] base::do.call(base::Sys.setenv, args = args) [13:14:09.252] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.252] } [13:14:09.252] else { [13:14:09.252] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.252] } [13:14:09.252] { [13:14:09.252] if (base::length(...future.futureOptionsAdded) > [13:14:09.252] 0L) { [13:14:09.252] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.252] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.252] base::options(opts) [13:14:09.252] } [13:14:09.252] { [13:14:09.252] { [13:14:09.252] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.252] NULL [13:14:09.252] } [13:14:09.252] options(future.plan = NULL) [13:14:09.252] if (is.na(NA_character_)) [13:14:09.252] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.252] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.252] future::plan(list(function (..., workers = availableCores(), [13:14:09.252] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.252] envir = parent.frame()) [13:14:09.252] { [13:14:09.252] if (is.function(workers)) [13:14:09.252] workers <- workers() [13:14:09.252] workers <- structure(as.integer(workers), [13:14:09.252] class = class(workers)) [13:14:09.252] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.252] workers >= 1) [13:14:09.252] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.252] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.252] } [13:14:09.252] future <- MultisessionFuture(..., workers = workers, [13:14:09.252] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.252] envir = envir) [13:14:09.252] if (!future$lazy) [13:14:09.252] future <- run(future) [13:14:09.252] invisible(future) [13:14:09.252] }), .cleanup = FALSE, .init = FALSE) [13:14:09.252] } [13:14:09.252] } [13:14:09.252] } [13:14:09.252] }) [13:14:09.252] if (TRUE) { [13:14:09.252] base::sink(type = "output", split = FALSE) [13:14:09.252] if (TRUE) { [13:14:09.252] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.252] } [13:14:09.252] else { [13:14:09.252] ...future.result["stdout"] <- base::list(NULL) [13:14:09.252] } [13:14:09.252] base::close(...future.stdout) [13:14:09.252] ...future.stdout <- NULL [13:14:09.252] } [13:14:09.252] ...future.result$conditions <- ...future.conditions [13:14:09.252] ...future.result$finished <- base::Sys.time() [13:14:09.252] ...future.result [13:14:09.252] } [13:14:09.257] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:09.257] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:09.258] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:09.258] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.258] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.259] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.259] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.259] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.260] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.260] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.260] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.260] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:09.261] MultisessionFuture started [13:14:09.261] - Launch lazy future ... done [13:14:09.261] run() for 'MultisessionFuture' ... done [13:14:09.262] Created future: [13:14:09.277] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.278] - Validating connection of MultisessionFuture [13:14:09.278] - received message: FutureResult [13:14:09.278] - Received FutureResult [13:14:09.278] - Erased future from FutureRegistry [13:14:09.278] result() for ClusterFuture ... [13:14:09.278] - result already collected: FutureResult [13:14:09.279] result() for ClusterFuture ... done [13:14:09.279] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.262] MultisessionFuture: [13:14:09.262] Label: 'future_sapply-1' [13:14:09.262] Expression: [13:14:09.262] { [13:14:09.262] do.call(function(...) { [13:14:09.262] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.262] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.262] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.262] on.exit(options(oopts), add = TRUE) [13:14:09.262] } [13:14:09.262] { [13:14:09.262] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.262] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.262] ...future.FUN(...future.X_jj, ...) [13:14:09.262] }) [13:14:09.262] } [13:14:09.262] }, args = future.call.arguments) [13:14:09.262] } [13:14:09.262] Lazy evaluation: FALSE [13:14:09.262] Asynchronous evaluation: TRUE [13:14:09.262] Local evaluation: TRUE [13:14:09.262] Environment: R_GlobalEnv [13:14:09.262] Capture standard output: TRUE [13:14:09.262] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.262] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.262] Packages: [13:14:09.262] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.262] Resolved: TRUE [13:14:09.262] Value: [13:14:09.262] Conditions captured: [13:14:09.262] Early signaling: FALSE [13:14:09.262] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.262] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.279] Chunk #1 of 2 ... DONE [13:14:09.279] Chunk #2 of 2 ... [13:14:09.280] - Finding globals in 'X' for chunk #2 ... [13:14:09.280] getGlobalsAndPackages() ... [13:14:09.280] Searching for globals... [13:14:09.280] [13:14:09.280] Searching for globals ... DONE [13:14:09.281] - globals: [0] [13:14:09.281] getGlobalsAndPackages() ... DONE [13:14:09.281] + additional globals found: [n=0] [13:14:09.281] + additional namespaces needed: [n=0] [13:14:09.281] - Finding globals in 'X' for chunk #2 ... DONE [13:14:09.281] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.282] - seeds: [13:14:09.282] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.282] getGlobalsAndPackages() ... [13:14:09.282] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.282] Resolving globals: FALSE [13:14:09.282] Tweak future expression to call with '...' arguments ... [13:14:09.283] { [13:14:09.283] do.call(function(...) { [13:14:09.283] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.283] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.283] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.283] on.exit(options(oopts), add = TRUE) [13:14:09.283] } [13:14:09.283] { [13:14:09.283] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.283] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.283] ...future.FUN(...future.X_jj, ...) [13:14:09.283] }) [13:14:09.283] } [13:14:09.283] }, args = future.call.arguments) [13:14:09.283] } [13:14:09.283] Tweak future expression to call with '...' arguments ... DONE [13:14:09.283] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.284] [13:14:09.284] getGlobalsAndPackages() ... DONE [13:14:09.284] run() for 'Future' ... [13:14:09.284] - state: 'created' [13:14:09.285] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.298] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.299] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.299] - Field: 'node' [13:14:09.299] - Field: 'label' [13:14:09.299] - Field: 'local' [13:14:09.299] - Field: 'owner' [13:14:09.300] - Field: 'envir' [13:14:09.300] - Field: 'workers' [13:14:09.300] - Field: 'packages' [13:14:09.300] - Field: 'gc' [13:14:09.300] - Field: 'conditions' [13:14:09.300] - Field: 'persistent' [13:14:09.301] - Field: 'expr' [13:14:09.301] - Field: 'uuid' [13:14:09.301] - Field: 'seed' [13:14:09.301] - Field: 'version' [13:14:09.301] - Field: 'result' [13:14:09.302] - Field: 'asynchronous' [13:14:09.302] - Field: 'calls' [13:14:09.302] - Field: 'globals' [13:14:09.302] - Field: 'stdout' [13:14:09.302] - Field: 'earlySignal' [13:14:09.302] - Field: 'lazy' [13:14:09.303] - Field: 'state' [13:14:09.303] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.303] - Launch lazy future ... [13:14:09.303] Packages needed by the future expression (n = 0): [13:14:09.303] Packages needed by future strategies (n = 0): [13:14:09.304] { [13:14:09.304] { [13:14:09.304] { [13:14:09.304] ...future.startTime <- base::Sys.time() [13:14:09.304] { [13:14:09.304] { [13:14:09.304] { [13:14:09.304] { [13:14:09.304] base::local({ [13:14:09.304] has_future <- base::requireNamespace("future", [13:14:09.304] quietly = TRUE) [13:14:09.304] if (has_future) { [13:14:09.304] ns <- base::getNamespace("future") [13:14:09.304] version <- ns[[".package"]][["version"]] [13:14:09.304] if (is.null(version)) [13:14:09.304] version <- utils::packageVersion("future") [13:14:09.304] } [13:14:09.304] else { [13:14:09.304] version <- NULL [13:14:09.304] } [13:14:09.304] if (!has_future || version < "1.8.0") { [13:14:09.304] info <- base::c(r_version = base::gsub("R version ", [13:14:09.304] "", base::R.version$version.string), [13:14:09.304] platform = base::sprintf("%s (%s-bit)", [13:14:09.304] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.304] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.304] "release", "version")], collapse = " "), [13:14:09.304] hostname = base::Sys.info()[["nodename"]]) [13:14:09.304] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.304] info) [13:14:09.304] info <- base::paste(info, collapse = "; ") [13:14:09.304] if (!has_future) { [13:14:09.304] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.304] info) [13:14:09.304] } [13:14:09.304] else { [13:14:09.304] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.304] info, version) [13:14:09.304] } [13:14:09.304] base::stop(msg) [13:14:09.304] } [13:14:09.304] }) [13:14:09.304] } [13:14:09.304] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.304] base::options(mc.cores = 1L) [13:14:09.304] } [13:14:09.304] options(future.plan = NULL) [13:14:09.304] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.304] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.304] } [13:14:09.304] ...future.workdir <- getwd() [13:14:09.304] } [13:14:09.304] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.304] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.304] } [13:14:09.304] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.304] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.304] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.304] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.304] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.304] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.304] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.304] base::names(...future.oldOptions)) [13:14:09.304] } [13:14:09.304] if (FALSE) { [13:14:09.304] } [13:14:09.304] else { [13:14:09.304] if (TRUE) { [13:14:09.304] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.304] open = "w") [13:14:09.304] } [13:14:09.304] else { [13:14:09.304] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.304] windows = "NUL", "/dev/null"), open = "w") [13:14:09.304] } [13:14:09.304] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.304] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.304] base::sink(type = "output", split = FALSE) [13:14:09.304] base::close(...future.stdout) [13:14:09.304] }, add = TRUE) [13:14:09.304] } [13:14:09.304] ...future.frame <- base::sys.nframe() [13:14:09.304] ...future.conditions <- base::list() [13:14:09.304] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.304] if (FALSE) { [13:14:09.304] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.304] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.304] } [13:14:09.304] ...future.result <- base::tryCatch({ [13:14:09.304] base::withCallingHandlers({ [13:14:09.304] ...future.value <- base::withVisible(base::local({ [13:14:09.304] ...future.makeSendCondition <- local({ [13:14:09.304] sendCondition <- NULL [13:14:09.304] function(frame = 1L) { [13:14:09.304] if (is.function(sendCondition)) [13:14:09.304] return(sendCondition) [13:14:09.304] ns <- getNamespace("parallel") [13:14:09.304] if (exists("sendData", mode = "function", [13:14:09.304] envir = ns)) { [13:14:09.304] parallel_sendData <- get("sendData", mode = "function", [13:14:09.304] envir = ns) [13:14:09.304] envir <- sys.frame(frame) [13:14:09.304] master <- NULL [13:14:09.304] while (!identical(envir, .GlobalEnv) && [13:14:09.304] !identical(envir, emptyenv())) { [13:14:09.304] if (exists("master", mode = "list", envir = envir, [13:14:09.304] inherits = FALSE)) { [13:14:09.304] master <- get("master", mode = "list", [13:14:09.304] envir = envir, inherits = FALSE) [13:14:09.304] if (inherits(master, c("SOCKnode", [13:14:09.304] "SOCK0node"))) { [13:14:09.304] sendCondition <<- function(cond) { [13:14:09.304] data <- list(type = "VALUE", value = cond, [13:14:09.304] success = TRUE) [13:14:09.304] parallel_sendData(master, data) [13:14:09.304] } [13:14:09.304] return(sendCondition) [13:14:09.304] } [13:14:09.304] } [13:14:09.304] frame <- frame + 1L [13:14:09.304] envir <- sys.frame(frame) [13:14:09.304] } [13:14:09.304] } [13:14:09.304] sendCondition <<- function(cond) NULL [13:14:09.304] } [13:14:09.304] }) [13:14:09.304] withCallingHandlers({ [13:14:09.304] { [13:14:09.304] do.call(function(...) { [13:14:09.304] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.304] if (!identical(...future.globals.maxSize.org, [13:14:09.304] ...future.globals.maxSize)) { [13:14:09.304] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.304] on.exit(options(oopts), add = TRUE) [13:14:09.304] } [13:14:09.304] { [13:14:09.304] lapply(seq_along(...future.elements_ii), [13:14:09.304] FUN = function(jj) { [13:14:09.304] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.304] ...future.FUN(...future.X_jj, ...) [13:14:09.304] }) [13:14:09.304] } [13:14:09.304] }, args = future.call.arguments) [13:14:09.304] } [13:14:09.304] }, immediateCondition = function(cond) { [13:14:09.304] sendCondition <- ...future.makeSendCondition() [13:14:09.304] sendCondition(cond) [13:14:09.304] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.304] { [13:14:09.304] inherits <- base::inherits [13:14:09.304] invokeRestart <- base::invokeRestart [13:14:09.304] is.null <- base::is.null [13:14:09.304] muffled <- FALSE [13:14:09.304] if (inherits(cond, "message")) { [13:14:09.304] muffled <- grepl(pattern, "muffleMessage") [13:14:09.304] if (muffled) [13:14:09.304] invokeRestart("muffleMessage") [13:14:09.304] } [13:14:09.304] else if (inherits(cond, "warning")) { [13:14:09.304] muffled <- grepl(pattern, "muffleWarning") [13:14:09.304] if (muffled) [13:14:09.304] invokeRestart("muffleWarning") [13:14:09.304] } [13:14:09.304] else if (inherits(cond, "condition")) { [13:14:09.304] if (!is.null(pattern)) { [13:14:09.304] computeRestarts <- base::computeRestarts [13:14:09.304] grepl <- base::grepl [13:14:09.304] restarts <- computeRestarts(cond) [13:14:09.304] for (restart in restarts) { [13:14:09.304] name <- restart$name [13:14:09.304] if (is.null(name)) [13:14:09.304] next [13:14:09.304] if (!grepl(pattern, name)) [13:14:09.304] next [13:14:09.304] invokeRestart(restart) [13:14:09.304] muffled <- TRUE [13:14:09.304] break [13:14:09.304] } [13:14:09.304] } [13:14:09.304] } [13:14:09.304] invisible(muffled) [13:14:09.304] } [13:14:09.304] muffleCondition(cond) [13:14:09.304] }) [13:14:09.304] })) [13:14:09.304] future::FutureResult(value = ...future.value$value, [13:14:09.304] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.304] ...future.rng), globalenv = if (FALSE) [13:14:09.304] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.304] ...future.globalenv.names)) [13:14:09.304] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.304] }, condition = base::local({ [13:14:09.304] c <- base::c [13:14:09.304] inherits <- base::inherits [13:14:09.304] invokeRestart <- base::invokeRestart [13:14:09.304] length <- base::length [13:14:09.304] list <- base::list [13:14:09.304] seq.int <- base::seq.int [13:14:09.304] signalCondition <- base::signalCondition [13:14:09.304] sys.calls <- base::sys.calls [13:14:09.304] `[[` <- base::`[[` [13:14:09.304] `+` <- base::`+` [13:14:09.304] `<<-` <- base::`<<-` [13:14:09.304] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.304] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.304] 3L)] [13:14:09.304] } [13:14:09.304] function(cond) { [13:14:09.304] is_error <- inherits(cond, "error") [13:14:09.304] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.304] NULL) [13:14:09.304] if (is_error) { [13:14:09.304] sessionInformation <- function() { [13:14:09.304] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.304] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.304] search = base::search(), system = base::Sys.info()) [13:14:09.304] } [13:14:09.304] ...future.conditions[[length(...future.conditions) + [13:14:09.304] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.304] cond$call), session = sessionInformation(), [13:14:09.304] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.304] signalCondition(cond) [13:14:09.304] } [13:14:09.304] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.304] "immediateCondition"))) { [13:14:09.304] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.304] ...future.conditions[[length(...future.conditions) + [13:14:09.304] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.304] if (TRUE && !signal) { [13:14:09.304] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.304] { [13:14:09.304] inherits <- base::inherits [13:14:09.304] invokeRestart <- base::invokeRestart [13:14:09.304] is.null <- base::is.null [13:14:09.304] muffled <- FALSE [13:14:09.304] if (inherits(cond, "message")) { [13:14:09.304] muffled <- grepl(pattern, "muffleMessage") [13:14:09.304] if (muffled) [13:14:09.304] invokeRestart("muffleMessage") [13:14:09.304] } [13:14:09.304] else if (inherits(cond, "warning")) { [13:14:09.304] muffled <- grepl(pattern, "muffleWarning") [13:14:09.304] if (muffled) [13:14:09.304] invokeRestart("muffleWarning") [13:14:09.304] } [13:14:09.304] else if (inherits(cond, "condition")) { [13:14:09.304] if (!is.null(pattern)) { [13:14:09.304] computeRestarts <- base::computeRestarts [13:14:09.304] grepl <- base::grepl [13:14:09.304] restarts <- computeRestarts(cond) [13:14:09.304] for (restart in restarts) { [13:14:09.304] name <- restart$name [13:14:09.304] if (is.null(name)) [13:14:09.304] next [13:14:09.304] if (!grepl(pattern, name)) [13:14:09.304] next [13:14:09.304] invokeRestart(restart) [13:14:09.304] muffled <- TRUE [13:14:09.304] break [13:14:09.304] } [13:14:09.304] } [13:14:09.304] } [13:14:09.304] invisible(muffled) [13:14:09.304] } [13:14:09.304] muffleCondition(cond, pattern = "^muffle") [13:14:09.304] } [13:14:09.304] } [13:14:09.304] else { [13:14:09.304] if (TRUE) { [13:14:09.304] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.304] { [13:14:09.304] inherits <- base::inherits [13:14:09.304] invokeRestart <- base::invokeRestart [13:14:09.304] is.null <- base::is.null [13:14:09.304] muffled <- FALSE [13:14:09.304] if (inherits(cond, "message")) { [13:14:09.304] muffled <- grepl(pattern, "muffleMessage") [13:14:09.304] if (muffled) [13:14:09.304] invokeRestart("muffleMessage") [13:14:09.304] } [13:14:09.304] else if (inherits(cond, "warning")) { [13:14:09.304] muffled <- grepl(pattern, "muffleWarning") [13:14:09.304] if (muffled) [13:14:09.304] invokeRestart("muffleWarning") [13:14:09.304] } [13:14:09.304] else if (inherits(cond, "condition")) { [13:14:09.304] if (!is.null(pattern)) { [13:14:09.304] computeRestarts <- base::computeRestarts [13:14:09.304] grepl <- base::grepl [13:14:09.304] restarts <- computeRestarts(cond) [13:14:09.304] for (restart in restarts) { [13:14:09.304] name <- restart$name [13:14:09.304] if (is.null(name)) [13:14:09.304] next [13:14:09.304] if (!grepl(pattern, name)) [13:14:09.304] next [13:14:09.304] invokeRestart(restart) [13:14:09.304] muffled <- TRUE [13:14:09.304] break [13:14:09.304] } [13:14:09.304] } [13:14:09.304] } [13:14:09.304] invisible(muffled) [13:14:09.304] } [13:14:09.304] muffleCondition(cond, pattern = "^muffle") [13:14:09.304] } [13:14:09.304] } [13:14:09.304] } [13:14:09.304] })) [13:14:09.304] }, error = function(ex) { [13:14:09.304] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.304] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.304] ...future.rng), started = ...future.startTime, [13:14:09.304] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.304] version = "1.8"), class = "FutureResult") [13:14:09.304] }, finally = { [13:14:09.304] if (!identical(...future.workdir, getwd())) [13:14:09.304] setwd(...future.workdir) [13:14:09.304] { [13:14:09.304] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.304] ...future.oldOptions$nwarnings <- NULL [13:14:09.304] } [13:14:09.304] base::options(...future.oldOptions) [13:14:09.304] if (.Platform$OS.type == "windows") { [13:14:09.304] old_names <- names(...future.oldEnvVars) [13:14:09.304] envs <- base::Sys.getenv() [13:14:09.304] names <- names(envs) [13:14:09.304] common <- intersect(names, old_names) [13:14:09.304] added <- setdiff(names, old_names) [13:14:09.304] removed <- setdiff(old_names, names) [13:14:09.304] changed <- common[...future.oldEnvVars[common] != [13:14:09.304] envs[common]] [13:14:09.304] NAMES <- toupper(changed) [13:14:09.304] args <- list() [13:14:09.304] for (kk in seq_along(NAMES)) { [13:14:09.304] name <- changed[[kk]] [13:14:09.304] NAME <- NAMES[[kk]] [13:14:09.304] if (name != NAME && is.element(NAME, old_names)) [13:14:09.304] next [13:14:09.304] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.304] } [13:14:09.304] NAMES <- toupper(added) [13:14:09.304] for (kk in seq_along(NAMES)) { [13:14:09.304] name <- added[[kk]] [13:14:09.304] NAME <- NAMES[[kk]] [13:14:09.304] if (name != NAME && is.element(NAME, old_names)) [13:14:09.304] next [13:14:09.304] args[[name]] <- "" [13:14:09.304] } [13:14:09.304] NAMES <- toupper(removed) [13:14:09.304] for (kk in seq_along(NAMES)) { [13:14:09.304] name <- removed[[kk]] [13:14:09.304] NAME <- NAMES[[kk]] [13:14:09.304] if (name != NAME && is.element(NAME, old_names)) [13:14:09.304] next [13:14:09.304] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.304] } [13:14:09.304] if (length(args) > 0) [13:14:09.304] base::do.call(base::Sys.setenv, args = args) [13:14:09.304] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.304] } [13:14:09.304] else { [13:14:09.304] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.304] } [13:14:09.304] { [13:14:09.304] if (base::length(...future.futureOptionsAdded) > [13:14:09.304] 0L) { [13:14:09.304] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.304] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.304] base::options(opts) [13:14:09.304] } [13:14:09.304] { [13:14:09.304] { [13:14:09.304] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.304] NULL [13:14:09.304] } [13:14:09.304] options(future.plan = NULL) [13:14:09.304] if (is.na(NA_character_)) [13:14:09.304] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.304] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.304] future::plan(list(function (..., workers = availableCores(), [13:14:09.304] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.304] envir = parent.frame()) [13:14:09.304] { [13:14:09.304] if (is.function(workers)) [13:14:09.304] workers <- workers() [13:14:09.304] workers <- structure(as.integer(workers), [13:14:09.304] class = class(workers)) [13:14:09.304] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.304] workers >= 1) [13:14:09.304] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.304] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.304] } [13:14:09.304] future <- MultisessionFuture(..., workers = workers, [13:14:09.304] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.304] envir = envir) [13:14:09.304] if (!future$lazy) [13:14:09.304] future <- run(future) [13:14:09.304] invisible(future) [13:14:09.304] }), .cleanup = FALSE, .init = FALSE) [13:14:09.304] } [13:14:09.304] } [13:14:09.304] } [13:14:09.304] }) [13:14:09.304] if (TRUE) { [13:14:09.304] base::sink(type = "output", split = FALSE) [13:14:09.304] if (TRUE) { [13:14:09.304] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.304] } [13:14:09.304] else { [13:14:09.304] ...future.result["stdout"] <- base::list(NULL) [13:14:09.304] } [13:14:09.304] base::close(...future.stdout) [13:14:09.304] ...future.stdout <- NULL [13:14:09.304] } [13:14:09.304] ...future.result$conditions <- ...future.conditions [13:14:09.304] ...future.result$finished <- base::Sys.time() [13:14:09.304] ...future.result [13:14:09.304] } [13:14:09.309] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:09.310] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:09.310] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:09.310] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.311] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.311] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.311] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.312] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.312] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.312] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.313] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.313] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:09.313] MultisessionFuture started [13:14:09.314] - Launch lazy future ... done [13:14:09.314] run() for 'MultisessionFuture' ... done [13:14:09.314] Created future: [13:14:09.330] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.330] - Validating connection of MultisessionFuture [13:14:09.330] - received message: FutureResult [13:14:09.331] - Received FutureResult [13:14:09.331] - Erased future from FutureRegistry [13:14:09.331] result() for ClusterFuture ... [13:14:09.331] - result already collected: FutureResult [13:14:09.331] result() for ClusterFuture ... done [13:14:09.331] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.314] MultisessionFuture: [13:14:09.314] Label: 'future_sapply-2' [13:14:09.314] Expression: [13:14:09.314] { [13:14:09.314] do.call(function(...) { [13:14:09.314] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.314] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.314] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.314] on.exit(options(oopts), add = TRUE) [13:14:09.314] } [13:14:09.314] { [13:14:09.314] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.314] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.314] ...future.FUN(...future.X_jj, ...) [13:14:09.314] }) [13:14:09.314] } [13:14:09.314] }, args = future.call.arguments) [13:14:09.314] } [13:14:09.314] Lazy evaluation: FALSE [13:14:09.314] Asynchronous evaluation: TRUE [13:14:09.314] Local evaluation: TRUE [13:14:09.314] Environment: R_GlobalEnv [13:14:09.314] Capture standard output: TRUE [13:14:09.314] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.314] Globals: 5 objects totaling 0.99 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.314] Packages: [13:14:09.314] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.314] Resolved: TRUE [13:14:09.314] Value: [13:14:09.314] Conditions captured: [13:14:09.314] Early signaling: FALSE [13:14:09.314] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.314] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.332] Chunk #2 of 2 ... DONE [13:14:09.332] Launching 2 futures (chunks) ... DONE [13:14:09.332] Resolving 2 futures (chunks) ... [13:14:09.332] resolve() on list ... [13:14:09.332] recursive: 0 [13:14:09.333] length: 2 [13:14:09.333] [13:14:09.333] Future #1 [13:14:09.333] result() for ClusterFuture ... [13:14:09.333] - result already collected: FutureResult [13:14:09.333] result() for ClusterFuture ... done [13:14:09.334] result() for ClusterFuture ... [13:14:09.334] - result already collected: FutureResult [13:14:09.334] result() for ClusterFuture ... done [13:14:09.334] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:09.334] - nx: 2 [13:14:09.334] - relay: TRUE [13:14:09.334] - stdout: TRUE [13:14:09.335] - signal: TRUE [13:14:09.335] - resignal: FALSE [13:14:09.335] - force: TRUE [13:14:09.335] - relayed: [n=2] FALSE, FALSE [13:14:09.335] - queued futures: [n=2] FALSE, FALSE [13:14:09.335] - until=1 [13:14:09.336] - relaying element #1 [13:14:09.336] result() for ClusterFuture ... [13:14:09.336] - result already collected: FutureResult [13:14:09.336] result() for ClusterFuture ... done [13:14:09.336] result() for ClusterFuture ... [13:14:09.336] - result already collected: FutureResult [13:14:09.336] result() for ClusterFuture ... done [13:14:09.337] result() for ClusterFuture ... [13:14:09.337] - result already collected: FutureResult [13:14:09.337] result() for ClusterFuture ... done [13:14:09.337] result() for ClusterFuture ... [13:14:09.337] - result already collected: FutureResult [13:14:09.337] result() for ClusterFuture ... done [13:14:09.338] - relayed: [n=2] TRUE, FALSE [13:14:09.338] - queued futures: [n=2] TRUE, FALSE [13:14:09.338] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:09.338] length: 1 (resolved future 1) [13:14:09.338] Future #2 [13:14:09.338] result() for ClusterFuture ... [13:14:09.339] - result already collected: FutureResult [13:14:09.339] result() for ClusterFuture ... done [13:14:09.339] result() for ClusterFuture ... [13:14:09.339] - result already collected: FutureResult [13:14:09.339] result() for ClusterFuture ... done [13:14:09.339] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:09.340] - nx: 2 [13:14:09.340] - relay: TRUE [13:14:09.340] - stdout: TRUE [13:14:09.340] - signal: TRUE [13:14:09.340] - resignal: FALSE [13:14:09.340] - force: TRUE [13:14:09.340] - relayed: [n=2] TRUE, FALSE [13:14:09.341] - queued futures: [n=2] TRUE, FALSE [13:14:09.341] - until=2 [13:14:09.341] - relaying element #2 [13:14:09.341] result() for ClusterFuture ... [13:14:09.341] - result already collected: FutureResult [13:14:09.341] result() for ClusterFuture ... done [13:14:09.342] result() for ClusterFuture ... [13:14:09.342] - result already collected: FutureResult [13:14:09.342] result() for ClusterFuture ... done [13:14:09.342] result() for ClusterFuture ... [13:14:09.342] - result already collected: FutureResult [13:14:09.342] result() for ClusterFuture ... done [13:14:09.343] result() for ClusterFuture ... [13:14:09.343] - result already collected: FutureResult [13:14:09.343] result() for ClusterFuture ... done [13:14:09.343] - relayed: [n=2] TRUE, TRUE [13:14:09.343] - queued futures: [n=2] TRUE, TRUE [13:14:09.343] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:09.344] length: 0 (resolved future 2) [13:14:09.344] Relaying remaining futures [13:14:09.344] signalConditionsASAP(NULL, pos=0) ... [13:14:09.344] - nx: 2 [13:14:09.344] - relay: TRUE [13:14:09.344] - stdout: TRUE [13:14:09.344] - signal: TRUE [13:14:09.345] - resignal: FALSE [13:14:09.345] - force: TRUE [13:14:09.345] - relayed: [n=2] TRUE, TRUE [13:14:09.345] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:09.345] - relayed: [n=2] TRUE, TRUE [13:14:09.345] - queued futures: [n=2] TRUE, TRUE [13:14:09.346] signalConditionsASAP(NULL, pos=0) ... done [13:14:09.346] resolve() on list ... DONE [13:14:09.346] result() for ClusterFuture ... [13:14:09.346] - result already collected: FutureResult [13:14:09.347] result() for ClusterFuture ... done [13:14:09.347] result() for ClusterFuture ... [13:14:09.347] - result already collected: FutureResult [13:14:09.347] result() for ClusterFuture ... done [13:14:09.347] result() for ClusterFuture ... [13:14:09.347] - result already collected: FutureResult [13:14:09.348] result() for ClusterFuture ... done [13:14:09.348] result() for ClusterFuture ... [13:14:09.348] - result already collected: FutureResult [13:14:09.348] result() for ClusterFuture ... done [13:14:09.348] - Number of value chunks collected: 2 [13:14:09.348] Resolving 2 futures (chunks) ... DONE [13:14:09.348] Reducing values from 2 chunks ... [13:14:09.349] - Number of values collected after concatenation: 6 [13:14:09.349] - Number of values expected: 6 [13:14:09.349] Reducing values from 2 chunks ... DONE [13:14:09.349] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:09.351] future_lapply() ... [13:14:09.354] Number of chunks: 2 [13:14:09.354] getGlobalsAndPackagesXApply() ... [13:14:09.354] - future.globals: TRUE [13:14:09.354] getGlobalsAndPackages() ... [13:14:09.355] Searching for globals... [13:14:09.356] - globals found: [2] 'FUN', 'UseMethod' [13:14:09.356] Searching for globals ... DONE [13:14:09.356] Resolving globals: FALSE [13:14:09.357] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:09.357] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:09.357] - globals: [1] 'FUN' [13:14:09.358] [13:14:09.358] getGlobalsAndPackages() ... DONE [13:14:09.358] - globals found/used: [n=1] 'FUN' [13:14:09.358] - needed namespaces: [n=0] [13:14:09.358] Finding globals ... DONE [13:14:09.358] - use_args: TRUE [13:14:09.358] - Getting '...' globals ... [13:14:09.359] resolve() on list ... [13:14:09.359] recursive: 0 [13:14:09.359] length: 1 [13:14:09.359] elements: '...' [13:14:09.360] length: 0 (resolved future 1) [13:14:09.360] resolve() on list ... DONE [13:14:09.360] - '...' content: [n=0] [13:14:09.360] List of 1 [13:14:09.360] $ ...: list() [13:14:09.360] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.360] - attr(*, "where")=List of 1 [13:14:09.360] ..$ ...: [13:14:09.360] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.360] - attr(*, "resolved")= logi TRUE [13:14:09.360] - attr(*, "total_size")= num NA [13:14:09.363] - Getting '...' globals ... DONE [13:14:09.363] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:09.364] List of 2 [13:14:09.364] $ ...future.FUN:function (x, ...) [13:14:09.364] $ ... : list() [13:14:09.364] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.364] - attr(*, "where")=List of 2 [13:14:09.364] ..$ ...future.FUN: [13:14:09.364] ..$ ... : [13:14:09.364] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.364] - attr(*, "resolved")= logi FALSE [13:14:09.364] - attr(*, "total_size")= num 1248 [13:14:09.367] Packages to be attached in all futures: [n=0] [13:14:09.367] getGlobalsAndPackagesXApply() ... DONE [13:14:09.367] Number of futures (= number of chunks): 2 [13:14:09.367] Launching 2 futures (chunks) ... [13:14:09.368] Chunk #1 of 2 ... [13:14:09.368] - Finding globals in 'X' for chunk #1 ... [13:14:09.368] getGlobalsAndPackages() ... [13:14:09.368] Searching for globals... [13:14:09.368] [13:14:09.369] Searching for globals ... DONE [13:14:09.369] - globals: [0] [13:14:09.369] getGlobalsAndPackages() ... DONE [13:14:09.369] + additional globals found: [n=0] [13:14:09.369] + additional namespaces needed: [n=0] [13:14:09.369] - Finding globals in 'X' for chunk #1 ... DONE [13:14:09.370] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.370] - seeds: [13:14:09.370] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.370] getGlobalsAndPackages() ... [13:14:09.370] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.370] Resolving globals: FALSE [13:14:09.371] Tweak future expression to call with '...' arguments ... [13:14:09.371] { [13:14:09.371] do.call(function(...) { [13:14:09.371] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.371] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.371] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.371] on.exit(options(oopts), add = TRUE) [13:14:09.371] } [13:14:09.371] { [13:14:09.371] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.371] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.371] ...future.FUN(...future.X_jj, ...) [13:14:09.371] }) [13:14:09.371] } [13:14:09.371] }, args = future.call.arguments) [13:14:09.371] } [13:14:09.371] Tweak future expression to call with '...' arguments ... DONE [13:14:09.372] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.372] [13:14:09.372] getGlobalsAndPackages() ... DONE [13:14:09.372] run() for 'Future' ... [13:14:09.373] - state: 'created' [13:14:09.373] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.387] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.387] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.387] - Field: 'node' [13:14:09.388] - Field: 'label' [13:14:09.388] - Field: 'local' [13:14:09.388] - Field: 'owner' [13:14:09.388] - Field: 'envir' [13:14:09.388] - Field: 'workers' [13:14:09.388] - Field: 'packages' [13:14:09.391] - Field: 'gc' [13:14:09.391] - Field: 'conditions' [13:14:09.392] - Field: 'persistent' [13:14:09.392] - Field: 'expr' [13:14:09.392] - Field: 'uuid' [13:14:09.392] - Field: 'seed' [13:14:09.392] - Field: 'version' [13:14:09.393] - Field: 'result' [13:14:09.393] - Field: 'asynchronous' [13:14:09.393] - Field: 'calls' [13:14:09.393] - Field: 'globals' [13:14:09.393] - Field: 'stdout' [13:14:09.393] - Field: 'earlySignal' [13:14:09.394] - Field: 'lazy' [13:14:09.394] - Field: 'state' [13:14:09.394] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.394] - Launch lazy future ... [13:14:09.395] Packages needed by the future expression (n = 0): [13:14:09.395] Packages needed by future strategies (n = 0): [13:14:09.395] { [13:14:09.395] { [13:14:09.395] { [13:14:09.395] ...future.startTime <- base::Sys.time() [13:14:09.395] { [13:14:09.395] { [13:14:09.395] { [13:14:09.395] { [13:14:09.395] base::local({ [13:14:09.395] has_future <- base::requireNamespace("future", [13:14:09.395] quietly = TRUE) [13:14:09.395] if (has_future) { [13:14:09.395] ns <- base::getNamespace("future") [13:14:09.395] version <- ns[[".package"]][["version"]] [13:14:09.395] if (is.null(version)) [13:14:09.395] version <- utils::packageVersion("future") [13:14:09.395] } [13:14:09.395] else { [13:14:09.395] version <- NULL [13:14:09.395] } [13:14:09.395] if (!has_future || version < "1.8.0") { [13:14:09.395] info <- base::c(r_version = base::gsub("R version ", [13:14:09.395] "", base::R.version$version.string), [13:14:09.395] platform = base::sprintf("%s (%s-bit)", [13:14:09.395] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.395] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.395] "release", "version")], collapse = " "), [13:14:09.395] hostname = base::Sys.info()[["nodename"]]) [13:14:09.395] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.395] info) [13:14:09.395] info <- base::paste(info, collapse = "; ") [13:14:09.395] if (!has_future) { [13:14:09.395] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.395] info) [13:14:09.395] } [13:14:09.395] else { [13:14:09.395] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.395] info, version) [13:14:09.395] } [13:14:09.395] base::stop(msg) [13:14:09.395] } [13:14:09.395] }) [13:14:09.395] } [13:14:09.395] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.395] base::options(mc.cores = 1L) [13:14:09.395] } [13:14:09.395] options(future.plan = NULL) [13:14:09.395] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.395] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.395] } [13:14:09.395] ...future.workdir <- getwd() [13:14:09.395] } [13:14:09.395] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.395] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.395] } [13:14:09.395] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.395] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.395] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.395] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.395] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.395] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.395] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.395] base::names(...future.oldOptions)) [13:14:09.395] } [13:14:09.395] if (FALSE) { [13:14:09.395] } [13:14:09.395] else { [13:14:09.395] if (TRUE) { [13:14:09.395] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.395] open = "w") [13:14:09.395] } [13:14:09.395] else { [13:14:09.395] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.395] windows = "NUL", "/dev/null"), open = "w") [13:14:09.395] } [13:14:09.395] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.395] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.395] base::sink(type = "output", split = FALSE) [13:14:09.395] base::close(...future.stdout) [13:14:09.395] }, add = TRUE) [13:14:09.395] } [13:14:09.395] ...future.frame <- base::sys.nframe() [13:14:09.395] ...future.conditions <- base::list() [13:14:09.395] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.395] if (FALSE) { [13:14:09.395] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.395] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.395] } [13:14:09.395] ...future.result <- base::tryCatch({ [13:14:09.395] base::withCallingHandlers({ [13:14:09.395] ...future.value <- base::withVisible(base::local({ [13:14:09.395] ...future.makeSendCondition <- local({ [13:14:09.395] sendCondition <- NULL [13:14:09.395] function(frame = 1L) { [13:14:09.395] if (is.function(sendCondition)) [13:14:09.395] return(sendCondition) [13:14:09.395] ns <- getNamespace("parallel") [13:14:09.395] if (exists("sendData", mode = "function", [13:14:09.395] envir = ns)) { [13:14:09.395] parallel_sendData <- get("sendData", mode = "function", [13:14:09.395] envir = ns) [13:14:09.395] envir <- sys.frame(frame) [13:14:09.395] master <- NULL [13:14:09.395] while (!identical(envir, .GlobalEnv) && [13:14:09.395] !identical(envir, emptyenv())) { [13:14:09.395] if (exists("master", mode = "list", envir = envir, [13:14:09.395] inherits = FALSE)) { [13:14:09.395] master <- get("master", mode = "list", [13:14:09.395] envir = envir, inherits = FALSE) [13:14:09.395] if (inherits(master, c("SOCKnode", [13:14:09.395] "SOCK0node"))) { [13:14:09.395] sendCondition <<- function(cond) { [13:14:09.395] data <- list(type = "VALUE", value = cond, [13:14:09.395] success = TRUE) [13:14:09.395] parallel_sendData(master, data) [13:14:09.395] } [13:14:09.395] return(sendCondition) [13:14:09.395] } [13:14:09.395] } [13:14:09.395] frame <- frame + 1L [13:14:09.395] envir <- sys.frame(frame) [13:14:09.395] } [13:14:09.395] } [13:14:09.395] sendCondition <<- function(cond) NULL [13:14:09.395] } [13:14:09.395] }) [13:14:09.395] withCallingHandlers({ [13:14:09.395] { [13:14:09.395] do.call(function(...) { [13:14:09.395] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.395] if (!identical(...future.globals.maxSize.org, [13:14:09.395] ...future.globals.maxSize)) { [13:14:09.395] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.395] on.exit(options(oopts), add = TRUE) [13:14:09.395] } [13:14:09.395] { [13:14:09.395] lapply(seq_along(...future.elements_ii), [13:14:09.395] FUN = function(jj) { [13:14:09.395] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.395] ...future.FUN(...future.X_jj, ...) [13:14:09.395] }) [13:14:09.395] } [13:14:09.395] }, args = future.call.arguments) [13:14:09.395] } [13:14:09.395] }, immediateCondition = function(cond) { [13:14:09.395] sendCondition <- ...future.makeSendCondition() [13:14:09.395] sendCondition(cond) [13:14:09.395] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.395] { [13:14:09.395] inherits <- base::inherits [13:14:09.395] invokeRestart <- base::invokeRestart [13:14:09.395] is.null <- base::is.null [13:14:09.395] muffled <- FALSE [13:14:09.395] if (inherits(cond, "message")) { [13:14:09.395] muffled <- grepl(pattern, "muffleMessage") [13:14:09.395] if (muffled) [13:14:09.395] invokeRestart("muffleMessage") [13:14:09.395] } [13:14:09.395] else if (inherits(cond, "warning")) { [13:14:09.395] muffled <- grepl(pattern, "muffleWarning") [13:14:09.395] if (muffled) [13:14:09.395] invokeRestart("muffleWarning") [13:14:09.395] } [13:14:09.395] else if (inherits(cond, "condition")) { [13:14:09.395] if (!is.null(pattern)) { [13:14:09.395] computeRestarts <- base::computeRestarts [13:14:09.395] grepl <- base::grepl [13:14:09.395] restarts <- computeRestarts(cond) [13:14:09.395] for (restart in restarts) { [13:14:09.395] name <- restart$name [13:14:09.395] if (is.null(name)) [13:14:09.395] next [13:14:09.395] if (!grepl(pattern, name)) [13:14:09.395] next [13:14:09.395] invokeRestart(restart) [13:14:09.395] muffled <- TRUE [13:14:09.395] break [13:14:09.395] } [13:14:09.395] } [13:14:09.395] } [13:14:09.395] invisible(muffled) [13:14:09.395] } [13:14:09.395] muffleCondition(cond) [13:14:09.395] }) [13:14:09.395] })) [13:14:09.395] future::FutureResult(value = ...future.value$value, [13:14:09.395] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.395] ...future.rng), globalenv = if (FALSE) [13:14:09.395] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.395] ...future.globalenv.names)) [13:14:09.395] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.395] }, condition = base::local({ [13:14:09.395] c <- base::c [13:14:09.395] inherits <- base::inherits [13:14:09.395] invokeRestart <- base::invokeRestart [13:14:09.395] length <- base::length [13:14:09.395] list <- base::list [13:14:09.395] seq.int <- base::seq.int [13:14:09.395] signalCondition <- base::signalCondition [13:14:09.395] sys.calls <- base::sys.calls [13:14:09.395] `[[` <- base::`[[` [13:14:09.395] `+` <- base::`+` [13:14:09.395] `<<-` <- base::`<<-` [13:14:09.395] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.395] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.395] 3L)] [13:14:09.395] } [13:14:09.395] function(cond) { [13:14:09.395] is_error <- inherits(cond, "error") [13:14:09.395] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.395] NULL) [13:14:09.395] if (is_error) { [13:14:09.395] sessionInformation <- function() { [13:14:09.395] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.395] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.395] search = base::search(), system = base::Sys.info()) [13:14:09.395] } [13:14:09.395] ...future.conditions[[length(...future.conditions) + [13:14:09.395] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.395] cond$call), session = sessionInformation(), [13:14:09.395] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.395] signalCondition(cond) [13:14:09.395] } [13:14:09.395] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.395] "immediateCondition"))) { [13:14:09.395] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.395] ...future.conditions[[length(...future.conditions) + [13:14:09.395] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.395] if (TRUE && !signal) { [13:14:09.395] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.395] { [13:14:09.395] inherits <- base::inherits [13:14:09.395] invokeRestart <- base::invokeRestart [13:14:09.395] is.null <- base::is.null [13:14:09.395] muffled <- FALSE [13:14:09.395] if (inherits(cond, "message")) { [13:14:09.395] muffled <- grepl(pattern, "muffleMessage") [13:14:09.395] if (muffled) [13:14:09.395] invokeRestart("muffleMessage") [13:14:09.395] } [13:14:09.395] else if (inherits(cond, "warning")) { [13:14:09.395] muffled <- grepl(pattern, "muffleWarning") [13:14:09.395] if (muffled) [13:14:09.395] invokeRestart("muffleWarning") [13:14:09.395] } [13:14:09.395] else if (inherits(cond, "condition")) { [13:14:09.395] if (!is.null(pattern)) { [13:14:09.395] computeRestarts <- base::computeRestarts [13:14:09.395] grepl <- base::grepl [13:14:09.395] restarts <- computeRestarts(cond) [13:14:09.395] for (restart in restarts) { [13:14:09.395] name <- restart$name [13:14:09.395] if (is.null(name)) [13:14:09.395] next [13:14:09.395] if (!grepl(pattern, name)) [13:14:09.395] next [13:14:09.395] invokeRestart(restart) [13:14:09.395] muffled <- TRUE [13:14:09.395] break [13:14:09.395] } [13:14:09.395] } [13:14:09.395] } [13:14:09.395] invisible(muffled) [13:14:09.395] } [13:14:09.395] muffleCondition(cond, pattern = "^muffle") [13:14:09.395] } [13:14:09.395] } [13:14:09.395] else { [13:14:09.395] if (TRUE) { [13:14:09.395] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.395] { [13:14:09.395] inherits <- base::inherits [13:14:09.395] invokeRestart <- base::invokeRestart [13:14:09.395] is.null <- base::is.null [13:14:09.395] muffled <- FALSE [13:14:09.395] if (inherits(cond, "message")) { [13:14:09.395] muffled <- grepl(pattern, "muffleMessage") [13:14:09.395] if (muffled) [13:14:09.395] invokeRestart("muffleMessage") [13:14:09.395] } [13:14:09.395] else if (inherits(cond, "warning")) { [13:14:09.395] muffled <- grepl(pattern, "muffleWarning") [13:14:09.395] if (muffled) [13:14:09.395] invokeRestart("muffleWarning") [13:14:09.395] } [13:14:09.395] else if (inherits(cond, "condition")) { [13:14:09.395] if (!is.null(pattern)) { [13:14:09.395] computeRestarts <- base::computeRestarts [13:14:09.395] grepl <- base::grepl [13:14:09.395] restarts <- computeRestarts(cond) [13:14:09.395] for (restart in restarts) { [13:14:09.395] name <- restart$name [13:14:09.395] if (is.null(name)) [13:14:09.395] next [13:14:09.395] if (!grepl(pattern, name)) [13:14:09.395] next [13:14:09.395] invokeRestart(restart) [13:14:09.395] muffled <- TRUE [13:14:09.395] break [13:14:09.395] } [13:14:09.395] } [13:14:09.395] } [13:14:09.395] invisible(muffled) [13:14:09.395] } [13:14:09.395] muffleCondition(cond, pattern = "^muffle") [13:14:09.395] } [13:14:09.395] } [13:14:09.395] } [13:14:09.395] })) [13:14:09.395] }, error = function(ex) { [13:14:09.395] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.395] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.395] ...future.rng), started = ...future.startTime, [13:14:09.395] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.395] version = "1.8"), class = "FutureResult") [13:14:09.395] }, finally = { [13:14:09.395] if (!identical(...future.workdir, getwd())) [13:14:09.395] setwd(...future.workdir) [13:14:09.395] { [13:14:09.395] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.395] ...future.oldOptions$nwarnings <- NULL [13:14:09.395] } [13:14:09.395] base::options(...future.oldOptions) [13:14:09.395] if (.Platform$OS.type == "windows") { [13:14:09.395] old_names <- names(...future.oldEnvVars) [13:14:09.395] envs <- base::Sys.getenv() [13:14:09.395] names <- names(envs) [13:14:09.395] common <- intersect(names, old_names) [13:14:09.395] added <- setdiff(names, old_names) [13:14:09.395] removed <- setdiff(old_names, names) [13:14:09.395] changed <- common[...future.oldEnvVars[common] != [13:14:09.395] envs[common]] [13:14:09.395] NAMES <- toupper(changed) [13:14:09.395] args <- list() [13:14:09.395] for (kk in seq_along(NAMES)) { [13:14:09.395] name <- changed[[kk]] [13:14:09.395] NAME <- NAMES[[kk]] [13:14:09.395] if (name != NAME && is.element(NAME, old_names)) [13:14:09.395] next [13:14:09.395] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.395] } [13:14:09.395] NAMES <- toupper(added) [13:14:09.395] for (kk in seq_along(NAMES)) { [13:14:09.395] name <- added[[kk]] [13:14:09.395] NAME <- NAMES[[kk]] [13:14:09.395] if (name != NAME && is.element(NAME, old_names)) [13:14:09.395] next [13:14:09.395] args[[name]] <- "" [13:14:09.395] } [13:14:09.395] NAMES <- toupper(removed) [13:14:09.395] for (kk in seq_along(NAMES)) { [13:14:09.395] name <- removed[[kk]] [13:14:09.395] NAME <- NAMES[[kk]] [13:14:09.395] if (name != NAME && is.element(NAME, old_names)) [13:14:09.395] next [13:14:09.395] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.395] } [13:14:09.395] if (length(args) > 0) [13:14:09.395] base::do.call(base::Sys.setenv, args = args) [13:14:09.395] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.395] } [13:14:09.395] else { [13:14:09.395] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.395] } [13:14:09.395] { [13:14:09.395] if (base::length(...future.futureOptionsAdded) > [13:14:09.395] 0L) { [13:14:09.395] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.395] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.395] base::options(opts) [13:14:09.395] } [13:14:09.395] { [13:14:09.395] { [13:14:09.395] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.395] NULL [13:14:09.395] } [13:14:09.395] options(future.plan = NULL) [13:14:09.395] if (is.na(NA_character_)) [13:14:09.395] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.395] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.395] future::plan(list(function (..., workers = availableCores(), [13:14:09.395] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.395] envir = parent.frame()) [13:14:09.395] { [13:14:09.395] if (is.function(workers)) [13:14:09.395] workers <- workers() [13:14:09.395] workers <- structure(as.integer(workers), [13:14:09.395] class = class(workers)) [13:14:09.395] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.395] workers >= 1) [13:14:09.395] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.395] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.395] } [13:14:09.395] future <- MultisessionFuture(..., workers = workers, [13:14:09.395] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.395] envir = envir) [13:14:09.395] if (!future$lazy) [13:14:09.395] future <- run(future) [13:14:09.395] invisible(future) [13:14:09.395] }), .cleanup = FALSE, .init = FALSE) [13:14:09.395] } [13:14:09.395] } [13:14:09.395] } [13:14:09.395] }) [13:14:09.395] if (TRUE) { [13:14:09.395] base::sink(type = "output", split = FALSE) [13:14:09.395] if (TRUE) { [13:14:09.395] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.395] } [13:14:09.395] else { [13:14:09.395] ...future.result["stdout"] <- base::list(NULL) [13:14:09.395] } [13:14:09.395] base::close(...future.stdout) [13:14:09.395] ...future.stdout <- NULL [13:14:09.395] } [13:14:09.395] ...future.result$conditions <- ...future.conditions [13:14:09.395] ...future.result$finished <- base::Sys.time() [13:14:09.395] ...future.result [13:14:09.395] } [13:14:09.401] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:09.401] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:09.402] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:09.402] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.402] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.403] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.403] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.403] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.404] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.404] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.404] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.405] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:09.405] MultisessionFuture started [13:14:09.405] - Launch lazy future ... done [13:14:09.406] run() for 'MultisessionFuture' ... done [13:14:09.406] Created future: [13:14:09.421] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.421] - Validating connection of MultisessionFuture [13:14:09.421] - received message: FutureResult [13:14:09.422] - Received FutureResult [13:14:09.422] - Erased future from FutureRegistry [13:14:09.422] result() for ClusterFuture ... [13:14:09.422] - result already collected: FutureResult [13:14:09.422] result() for ClusterFuture ... done [13:14:09.422] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.406] MultisessionFuture: [13:14:09.406] Label: 'future_sapply-1' [13:14:09.406] Expression: [13:14:09.406] { [13:14:09.406] do.call(function(...) { [13:14:09.406] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.406] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.406] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.406] on.exit(options(oopts), add = TRUE) [13:14:09.406] } [13:14:09.406] { [13:14:09.406] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.406] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.406] ...future.FUN(...future.X_jj, ...) [13:14:09.406] }) [13:14:09.406] } [13:14:09.406] }, args = future.call.arguments) [13:14:09.406] } [13:14:09.406] Lazy evaluation: FALSE [13:14:09.406] Asynchronous evaluation: TRUE [13:14:09.406] Local evaluation: TRUE [13:14:09.406] Environment: R_GlobalEnv [13:14:09.406] Capture standard output: TRUE [13:14:09.406] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.406] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.406] Packages: [13:14:09.406] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.406] Resolved: TRUE [13:14:09.406] Value: [13:14:09.406] Conditions captured: [13:14:09.406] Early signaling: FALSE [13:14:09.406] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.406] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.423] Chunk #1 of 2 ... DONE [13:14:09.423] Chunk #2 of 2 ... [13:14:09.423] - Finding globals in 'X' for chunk #2 ... [13:14:09.423] getGlobalsAndPackages() ... [13:14:09.423] Searching for globals... [13:14:09.424] [13:14:09.424] Searching for globals ... DONE [13:14:09.424] - globals: [0] [13:14:09.424] getGlobalsAndPackages() ... DONE [13:14:09.424] + additional globals found: [n=0] [13:14:09.425] + additional namespaces needed: [n=0] [13:14:09.425] - Finding globals in 'X' for chunk #2 ... DONE [13:14:09.425] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.425] - seeds: [13:14:09.425] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.425] getGlobalsAndPackages() ... [13:14:09.426] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.426] Resolving globals: FALSE [13:14:09.426] Tweak future expression to call with '...' arguments ... [13:14:09.426] { [13:14:09.426] do.call(function(...) { [13:14:09.426] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.426] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.426] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.426] on.exit(options(oopts), add = TRUE) [13:14:09.426] } [13:14:09.426] { [13:14:09.426] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.426] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.426] ...future.FUN(...future.X_jj, ...) [13:14:09.426] }) [13:14:09.426] } [13:14:09.426] }, args = future.call.arguments) [13:14:09.426] } [13:14:09.427] Tweak future expression to call with '...' arguments ... DONE [13:14:09.427] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.427] [13:14:09.427] getGlobalsAndPackages() ... DONE [13:14:09.428] run() for 'Future' ... [13:14:09.428] - state: 'created' [13:14:09.428] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.442] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.442] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.443] - Field: 'node' [13:14:09.443] - Field: 'label' [13:14:09.443] - Field: 'local' [13:14:09.443] - Field: 'owner' [13:14:09.443] - Field: 'envir' [13:14:09.444] - Field: 'workers' [13:14:09.444] - Field: 'packages' [13:14:09.444] - Field: 'gc' [13:14:09.444] - Field: 'conditions' [13:14:09.444] - Field: 'persistent' [13:14:09.444] - Field: 'expr' [13:14:09.445] - Field: 'uuid' [13:14:09.445] - Field: 'seed' [13:14:09.445] - Field: 'version' [13:14:09.445] - Field: 'result' [13:14:09.445] - Field: 'asynchronous' [13:14:09.445] - Field: 'calls' [13:14:09.446] - Field: 'globals' [13:14:09.446] - Field: 'stdout' [13:14:09.446] - Field: 'earlySignal' [13:14:09.446] - Field: 'lazy' [13:14:09.446] - Field: 'state' [13:14:09.446] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.447] - Launch lazy future ... [13:14:09.447] Packages needed by the future expression (n = 0): [13:14:09.447] Packages needed by future strategies (n = 0): [13:14:09.448] { [13:14:09.448] { [13:14:09.448] { [13:14:09.448] ...future.startTime <- base::Sys.time() [13:14:09.448] { [13:14:09.448] { [13:14:09.448] { [13:14:09.448] { [13:14:09.448] base::local({ [13:14:09.448] has_future <- base::requireNamespace("future", [13:14:09.448] quietly = TRUE) [13:14:09.448] if (has_future) { [13:14:09.448] ns <- base::getNamespace("future") [13:14:09.448] version <- ns[[".package"]][["version"]] [13:14:09.448] if (is.null(version)) [13:14:09.448] version <- utils::packageVersion("future") [13:14:09.448] } [13:14:09.448] else { [13:14:09.448] version <- NULL [13:14:09.448] } [13:14:09.448] if (!has_future || version < "1.8.0") { [13:14:09.448] info <- base::c(r_version = base::gsub("R version ", [13:14:09.448] "", base::R.version$version.string), [13:14:09.448] platform = base::sprintf("%s (%s-bit)", [13:14:09.448] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.448] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.448] "release", "version")], collapse = " "), [13:14:09.448] hostname = base::Sys.info()[["nodename"]]) [13:14:09.448] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.448] info) [13:14:09.448] info <- base::paste(info, collapse = "; ") [13:14:09.448] if (!has_future) { [13:14:09.448] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.448] info) [13:14:09.448] } [13:14:09.448] else { [13:14:09.448] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.448] info, version) [13:14:09.448] } [13:14:09.448] base::stop(msg) [13:14:09.448] } [13:14:09.448] }) [13:14:09.448] } [13:14:09.448] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.448] base::options(mc.cores = 1L) [13:14:09.448] } [13:14:09.448] options(future.plan = NULL) [13:14:09.448] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.448] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.448] } [13:14:09.448] ...future.workdir <- getwd() [13:14:09.448] } [13:14:09.448] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.448] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.448] } [13:14:09.448] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.448] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.448] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.448] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.448] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.448] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.448] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.448] base::names(...future.oldOptions)) [13:14:09.448] } [13:14:09.448] if (FALSE) { [13:14:09.448] } [13:14:09.448] else { [13:14:09.448] if (TRUE) { [13:14:09.448] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.448] open = "w") [13:14:09.448] } [13:14:09.448] else { [13:14:09.448] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.448] windows = "NUL", "/dev/null"), open = "w") [13:14:09.448] } [13:14:09.448] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.448] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.448] base::sink(type = "output", split = FALSE) [13:14:09.448] base::close(...future.stdout) [13:14:09.448] }, add = TRUE) [13:14:09.448] } [13:14:09.448] ...future.frame <- base::sys.nframe() [13:14:09.448] ...future.conditions <- base::list() [13:14:09.448] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.448] if (FALSE) { [13:14:09.448] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.448] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.448] } [13:14:09.448] ...future.result <- base::tryCatch({ [13:14:09.448] base::withCallingHandlers({ [13:14:09.448] ...future.value <- base::withVisible(base::local({ [13:14:09.448] ...future.makeSendCondition <- local({ [13:14:09.448] sendCondition <- NULL [13:14:09.448] function(frame = 1L) { [13:14:09.448] if (is.function(sendCondition)) [13:14:09.448] return(sendCondition) [13:14:09.448] ns <- getNamespace("parallel") [13:14:09.448] if (exists("sendData", mode = "function", [13:14:09.448] envir = ns)) { [13:14:09.448] parallel_sendData <- get("sendData", mode = "function", [13:14:09.448] envir = ns) [13:14:09.448] envir <- sys.frame(frame) [13:14:09.448] master <- NULL [13:14:09.448] while (!identical(envir, .GlobalEnv) && [13:14:09.448] !identical(envir, emptyenv())) { [13:14:09.448] if (exists("master", mode = "list", envir = envir, [13:14:09.448] inherits = FALSE)) { [13:14:09.448] master <- get("master", mode = "list", [13:14:09.448] envir = envir, inherits = FALSE) [13:14:09.448] if (inherits(master, c("SOCKnode", [13:14:09.448] "SOCK0node"))) { [13:14:09.448] sendCondition <<- function(cond) { [13:14:09.448] data <- list(type = "VALUE", value = cond, [13:14:09.448] success = TRUE) [13:14:09.448] parallel_sendData(master, data) [13:14:09.448] } [13:14:09.448] return(sendCondition) [13:14:09.448] } [13:14:09.448] } [13:14:09.448] frame <- frame + 1L [13:14:09.448] envir <- sys.frame(frame) [13:14:09.448] } [13:14:09.448] } [13:14:09.448] sendCondition <<- function(cond) NULL [13:14:09.448] } [13:14:09.448] }) [13:14:09.448] withCallingHandlers({ [13:14:09.448] { [13:14:09.448] do.call(function(...) { [13:14:09.448] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.448] if (!identical(...future.globals.maxSize.org, [13:14:09.448] ...future.globals.maxSize)) { [13:14:09.448] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.448] on.exit(options(oopts), add = TRUE) [13:14:09.448] } [13:14:09.448] { [13:14:09.448] lapply(seq_along(...future.elements_ii), [13:14:09.448] FUN = function(jj) { [13:14:09.448] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.448] ...future.FUN(...future.X_jj, ...) [13:14:09.448] }) [13:14:09.448] } [13:14:09.448] }, args = future.call.arguments) [13:14:09.448] } [13:14:09.448] }, immediateCondition = function(cond) { [13:14:09.448] sendCondition <- ...future.makeSendCondition() [13:14:09.448] sendCondition(cond) [13:14:09.448] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.448] { [13:14:09.448] inherits <- base::inherits [13:14:09.448] invokeRestart <- base::invokeRestart [13:14:09.448] is.null <- base::is.null [13:14:09.448] muffled <- FALSE [13:14:09.448] if (inherits(cond, "message")) { [13:14:09.448] muffled <- grepl(pattern, "muffleMessage") [13:14:09.448] if (muffled) [13:14:09.448] invokeRestart("muffleMessage") [13:14:09.448] } [13:14:09.448] else if (inherits(cond, "warning")) { [13:14:09.448] muffled <- grepl(pattern, "muffleWarning") [13:14:09.448] if (muffled) [13:14:09.448] invokeRestart("muffleWarning") [13:14:09.448] } [13:14:09.448] else if (inherits(cond, "condition")) { [13:14:09.448] if (!is.null(pattern)) { [13:14:09.448] computeRestarts <- base::computeRestarts [13:14:09.448] grepl <- base::grepl [13:14:09.448] restarts <- computeRestarts(cond) [13:14:09.448] for (restart in restarts) { [13:14:09.448] name <- restart$name [13:14:09.448] if (is.null(name)) [13:14:09.448] next [13:14:09.448] if (!grepl(pattern, name)) [13:14:09.448] next [13:14:09.448] invokeRestart(restart) [13:14:09.448] muffled <- TRUE [13:14:09.448] break [13:14:09.448] } [13:14:09.448] } [13:14:09.448] } [13:14:09.448] invisible(muffled) [13:14:09.448] } [13:14:09.448] muffleCondition(cond) [13:14:09.448] }) [13:14:09.448] })) [13:14:09.448] future::FutureResult(value = ...future.value$value, [13:14:09.448] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.448] ...future.rng), globalenv = if (FALSE) [13:14:09.448] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.448] ...future.globalenv.names)) [13:14:09.448] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.448] }, condition = base::local({ [13:14:09.448] c <- base::c [13:14:09.448] inherits <- base::inherits [13:14:09.448] invokeRestart <- base::invokeRestart [13:14:09.448] length <- base::length [13:14:09.448] list <- base::list [13:14:09.448] seq.int <- base::seq.int [13:14:09.448] signalCondition <- base::signalCondition [13:14:09.448] sys.calls <- base::sys.calls [13:14:09.448] `[[` <- base::`[[` [13:14:09.448] `+` <- base::`+` [13:14:09.448] `<<-` <- base::`<<-` [13:14:09.448] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.448] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.448] 3L)] [13:14:09.448] } [13:14:09.448] function(cond) { [13:14:09.448] is_error <- inherits(cond, "error") [13:14:09.448] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.448] NULL) [13:14:09.448] if (is_error) { [13:14:09.448] sessionInformation <- function() { [13:14:09.448] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.448] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.448] search = base::search(), system = base::Sys.info()) [13:14:09.448] } [13:14:09.448] ...future.conditions[[length(...future.conditions) + [13:14:09.448] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.448] cond$call), session = sessionInformation(), [13:14:09.448] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.448] signalCondition(cond) [13:14:09.448] } [13:14:09.448] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.448] "immediateCondition"))) { [13:14:09.448] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.448] ...future.conditions[[length(...future.conditions) + [13:14:09.448] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.448] if (TRUE && !signal) { [13:14:09.448] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.448] { [13:14:09.448] inherits <- base::inherits [13:14:09.448] invokeRestart <- base::invokeRestart [13:14:09.448] is.null <- base::is.null [13:14:09.448] muffled <- FALSE [13:14:09.448] if (inherits(cond, "message")) { [13:14:09.448] muffled <- grepl(pattern, "muffleMessage") [13:14:09.448] if (muffled) [13:14:09.448] invokeRestart("muffleMessage") [13:14:09.448] } [13:14:09.448] else if (inherits(cond, "warning")) { [13:14:09.448] muffled <- grepl(pattern, "muffleWarning") [13:14:09.448] if (muffled) [13:14:09.448] invokeRestart("muffleWarning") [13:14:09.448] } [13:14:09.448] else if (inherits(cond, "condition")) { [13:14:09.448] if (!is.null(pattern)) { [13:14:09.448] computeRestarts <- base::computeRestarts [13:14:09.448] grepl <- base::grepl [13:14:09.448] restarts <- computeRestarts(cond) [13:14:09.448] for (restart in restarts) { [13:14:09.448] name <- restart$name [13:14:09.448] if (is.null(name)) [13:14:09.448] next [13:14:09.448] if (!grepl(pattern, name)) [13:14:09.448] next [13:14:09.448] invokeRestart(restart) [13:14:09.448] muffled <- TRUE [13:14:09.448] break [13:14:09.448] } [13:14:09.448] } [13:14:09.448] } [13:14:09.448] invisible(muffled) [13:14:09.448] } [13:14:09.448] muffleCondition(cond, pattern = "^muffle") [13:14:09.448] } [13:14:09.448] } [13:14:09.448] else { [13:14:09.448] if (TRUE) { [13:14:09.448] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.448] { [13:14:09.448] inherits <- base::inherits [13:14:09.448] invokeRestart <- base::invokeRestart [13:14:09.448] is.null <- base::is.null [13:14:09.448] muffled <- FALSE [13:14:09.448] if (inherits(cond, "message")) { [13:14:09.448] muffled <- grepl(pattern, "muffleMessage") [13:14:09.448] if (muffled) [13:14:09.448] invokeRestart("muffleMessage") [13:14:09.448] } [13:14:09.448] else if (inherits(cond, "warning")) { [13:14:09.448] muffled <- grepl(pattern, "muffleWarning") [13:14:09.448] if (muffled) [13:14:09.448] invokeRestart("muffleWarning") [13:14:09.448] } [13:14:09.448] else if (inherits(cond, "condition")) { [13:14:09.448] if (!is.null(pattern)) { [13:14:09.448] computeRestarts <- base::computeRestarts [13:14:09.448] grepl <- base::grepl [13:14:09.448] restarts <- computeRestarts(cond) [13:14:09.448] for (restart in restarts) { [13:14:09.448] name <- restart$name [13:14:09.448] if (is.null(name)) [13:14:09.448] next [13:14:09.448] if (!grepl(pattern, name)) [13:14:09.448] next [13:14:09.448] invokeRestart(restart) [13:14:09.448] muffled <- TRUE [13:14:09.448] break [13:14:09.448] } [13:14:09.448] } [13:14:09.448] } [13:14:09.448] invisible(muffled) [13:14:09.448] } [13:14:09.448] muffleCondition(cond, pattern = "^muffle") [13:14:09.448] } [13:14:09.448] } [13:14:09.448] } [13:14:09.448] })) [13:14:09.448] }, error = function(ex) { [13:14:09.448] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.448] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.448] ...future.rng), started = ...future.startTime, [13:14:09.448] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.448] version = "1.8"), class = "FutureResult") [13:14:09.448] }, finally = { [13:14:09.448] if (!identical(...future.workdir, getwd())) [13:14:09.448] setwd(...future.workdir) [13:14:09.448] { [13:14:09.448] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.448] ...future.oldOptions$nwarnings <- NULL [13:14:09.448] } [13:14:09.448] base::options(...future.oldOptions) [13:14:09.448] if (.Platform$OS.type == "windows") { [13:14:09.448] old_names <- names(...future.oldEnvVars) [13:14:09.448] envs <- base::Sys.getenv() [13:14:09.448] names <- names(envs) [13:14:09.448] common <- intersect(names, old_names) [13:14:09.448] added <- setdiff(names, old_names) [13:14:09.448] removed <- setdiff(old_names, names) [13:14:09.448] changed <- common[...future.oldEnvVars[common] != [13:14:09.448] envs[common]] [13:14:09.448] NAMES <- toupper(changed) [13:14:09.448] args <- list() [13:14:09.448] for (kk in seq_along(NAMES)) { [13:14:09.448] name <- changed[[kk]] [13:14:09.448] NAME <- NAMES[[kk]] [13:14:09.448] if (name != NAME && is.element(NAME, old_names)) [13:14:09.448] next [13:14:09.448] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.448] } [13:14:09.448] NAMES <- toupper(added) [13:14:09.448] for (kk in seq_along(NAMES)) { [13:14:09.448] name <- added[[kk]] [13:14:09.448] NAME <- NAMES[[kk]] [13:14:09.448] if (name != NAME && is.element(NAME, old_names)) [13:14:09.448] next [13:14:09.448] args[[name]] <- "" [13:14:09.448] } [13:14:09.448] NAMES <- toupper(removed) [13:14:09.448] for (kk in seq_along(NAMES)) { [13:14:09.448] name <- removed[[kk]] [13:14:09.448] NAME <- NAMES[[kk]] [13:14:09.448] if (name != NAME && is.element(NAME, old_names)) [13:14:09.448] next [13:14:09.448] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.448] } [13:14:09.448] if (length(args) > 0) [13:14:09.448] base::do.call(base::Sys.setenv, args = args) [13:14:09.448] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.448] } [13:14:09.448] else { [13:14:09.448] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.448] } [13:14:09.448] { [13:14:09.448] if (base::length(...future.futureOptionsAdded) > [13:14:09.448] 0L) { [13:14:09.448] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.448] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.448] base::options(opts) [13:14:09.448] } [13:14:09.448] { [13:14:09.448] { [13:14:09.448] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.448] NULL [13:14:09.448] } [13:14:09.448] options(future.plan = NULL) [13:14:09.448] if (is.na(NA_character_)) [13:14:09.448] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.448] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.448] future::plan(list(function (..., workers = availableCores(), [13:14:09.448] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.448] envir = parent.frame()) [13:14:09.448] { [13:14:09.448] if (is.function(workers)) [13:14:09.448] workers <- workers() [13:14:09.448] workers <- structure(as.integer(workers), [13:14:09.448] class = class(workers)) [13:14:09.448] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.448] workers >= 1) [13:14:09.448] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.448] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.448] } [13:14:09.448] future <- MultisessionFuture(..., workers = workers, [13:14:09.448] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.448] envir = envir) [13:14:09.448] if (!future$lazy) [13:14:09.448] future <- run(future) [13:14:09.448] invisible(future) [13:14:09.448] }), .cleanup = FALSE, .init = FALSE) [13:14:09.448] } [13:14:09.448] } [13:14:09.448] } [13:14:09.448] }) [13:14:09.448] if (TRUE) { [13:14:09.448] base::sink(type = "output", split = FALSE) [13:14:09.448] if (TRUE) { [13:14:09.448] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.448] } [13:14:09.448] else { [13:14:09.448] ...future.result["stdout"] <- base::list(NULL) [13:14:09.448] } [13:14:09.448] base::close(...future.stdout) [13:14:09.448] ...future.stdout <- NULL [13:14:09.448] } [13:14:09.448] ...future.result$conditions <- ...future.conditions [13:14:09.448] ...future.result$finished <- base::Sys.time() [13:14:09.448] ...future.result [13:14:09.448] } [13:14:09.453] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:09.453] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:09.454] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:09.454] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.455] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.455] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.455] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.455] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.456] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.456] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.456] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.457] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:09.457] MultisessionFuture started [13:14:09.457] - Launch lazy future ... done [13:14:09.458] run() for 'MultisessionFuture' ... done [13:14:09.458] Created future: [13:14:09.474] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.474] - Validating connection of MultisessionFuture [13:14:09.474] - received message: FutureResult [13:14:09.474] - Received FutureResult [13:14:09.475] - Erased future from FutureRegistry [13:14:09.475] result() for ClusterFuture ... [13:14:09.475] - result already collected: FutureResult [13:14:09.475] result() for ClusterFuture ... done [13:14:09.475] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.458] MultisessionFuture: [13:14:09.458] Label: 'future_sapply-2' [13:14:09.458] Expression: [13:14:09.458] { [13:14:09.458] do.call(function(...) { [13:14:09.458] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.458] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.458] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.458] on.exit(options(oopts), add = TRUE) [13:14:09.458] } [13:14:09.458] { [13:14:09.458] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.458] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.458] ...future.FUN(...future.X_jj, ...) [13:14:09.458] }) [13:14:09.458] } [13:14:09.458] }, args = future.call.arguments) [13:14:09.458] } [13:14:09.458] Lazy evaluation: FALSE [13:14:09.458] Asynchronous evaluation: TRUE [13:14:09.458] Local evaluation: TRUE [13:14:09.458] Environment: R_GlobalEnv [13:14:09.458] Capture standard output: TRUE [13:14:09.458] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.458] Globals: 5 objects totaling 1.38 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.458] Packages: [13:14:09.458] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.458] Resolved: TRUE [13:14:09.458] Value: [13:14:09.458] Conditions captured: [13:14:09.458] Early signaling: FALSE [13:14:09.458] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.458] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.476] Chunk #2 of 2 ... DONE [13:14:09.476] Launching 2 futures (chunks) ... DONE [13:14:09.476] Resolving 2 futures (chunks) ... [13:14:09.476] resolve() on list ... [13:14:09.476] recursive: 0 [13:14:09.476] length: 2 [13:14:09.477] [13:14:09.477] Future #1 [13:14:09.477] result() for ClusterFuture ... [13:14:09.477] - result already collected: FutureResult [13:14:09.477] result() for ClusterFuture ... done [13:14:09.477] result() for ClusterFuture ... [13:14:09.478] - result already collected: FutureResult [13:14:09.478] result() for ClusterFuture ... done [13:14:09.478] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:09.478] - nx: 2 [13:14:09.478] - relay: TRUE [13:14:09.478] - stdout: TRUE [13:14:09.479] - signal: TRUE [13:14:09.479] - resignal: FALSE [13:14:09.479] - force: TRUE [13:14:09.479] - relayed: [n=2] FALSE, FALSE [13:14:09.479] - queued futures: [n=2] FALSE, FALSE [13:14:09.479] - until=1 [13:14:09.479] - relaying element #1 [13:14:09.480] result() for ClusterFuture ... [13:14:09.480] - result already collected: FutureResult [13:14:09.480] result() for ClusterFuture ... done [13:14:09.480] result() for ClusterFuture ... [13:14:09.480] - result already collected: FutureResult [13:14:09.480] result() for ClusterFuture ... done [13:14:09.481] result() for ClusterFuture ... [13:14:09.481] - result already collected: FutureResult [13:14:09.481] result() for ClusterFuture ... done [13:14:09.481] result() for ClusterFuture ... [13:14:09.481] - result already collected: FutureResult [13:14:09.481] result() for ClusterFuture ... done [13:14:09.482] - relayed: [n=2] TRUE, FALSE [13:14:09.482] - queued futures: [n=2] TRUE, FALSE [13:14:09.482] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:09.482] length: 1 (resolved future 1) [13:14:09.482] Future #2 [13:14:09.482] result() for ClusterFuture ... [13:14:09.483] - result already collected: FutureResult [13:14:09.483] result() for ClusterFuture ... done [13:14:09.483] result() for ClusterFuture ... [13:14:09.483] - result already collected: FutureResult [13:14:09.483] result() for ClusterFuture ... done [13:14:09.483] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:09.483] - nx: 2 [13:14:09.484] - relay: TRUE [13:14:09.484] - stdout: TRUE [13:14:09.484] - signal: TRUE [13:14:09.484] - resignal: FALSE [13:14:09.484] - force: TRUE [13:14:09.484] - relayed: [n=2] TRUE, FALSE [13:14:09.485] - queued futures: [n=2] TRUE, FALSE [13:14:09.485] - until=2 [13:14:09.485] - relaying element #2 [13:14:09.485] result() for ClusterFuture ... [13:14:09.485] - result already collected: FutureResult [13:14:09.485] result() for ClusterFuture ... done [13:14:09.485] result() for ClusterFuture ... [13:14:09.486] - result already collected: FutureResult [13:14:09.486] result() for ClusterFuture ... done [13:14:09.486] result() for ClusterFuture ... [13:14:09.486] - result already collected: FutureResult [13:14:09.486] result() for ClusterFuture ... done [13:14:09.486] result() for ClusterFuture ... [13:14:09.487] - result already collected: FutureResult [13:14:09.487] result() for ClusterFuture ... done [13:14:09.487] - relayed: [n=2] TRUE, TRUE [13:14:09.487] - queued futures: [n=2] TRUE, TRUE [13:14:09.487] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:09.487] length: 0 (resolved future 2) [13:14:09.488] Relaying remaining futures [13:14:09.488] signalConditionsASAP(NULL, pos=0) ... [13:14:09.488] - nx: 2 [13:14:09.488] - relay: TRUE [13:14:09.488] - stdout: TRUE [13:14:09.488] - signal: TRUE [13:14:09.488] - resignal: FALSE [13:14:09.489] - force: TRUE [13:14:09.489] - relayed: [n=2] TRUE, TRUE [13:14:09.489] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:09.489] - relayed: [n=2] TRUE, TRUE [13:14:09.489] - queued futures: [n=2] TRUE, TRUE [13:14:09.489] signalConditionsASAP(NULL, pos=0) ... done [13:14:09.490] resolve() on list ... DONE [13:14:09.490] result() for ClusterFuture ... [13:14:09.490] - result already collected: FutureResult [13:14:09.490] result() for ClusterFuture ... done [13:14:09.490] result() for ClusterFuture ... [13:14:09.490] - result already collected: FutureResult [13:14:09.491] result() for ClusterFuture ... done [13:14:09.491] result() for ClusterFuture ... [13:14:09.491] - result already collected: FutureResult [13:14:09.491] result() for ClusterFuture ... done [13:14:09.491] result() for ClusterFuture ... [13:14:09.491] - result already collected: FutureResult [13:14:09.492] result() for ClusterFuture ... done [13:14:09.492] - Number of value chunks collected: 2 [13:14:09.492] Resolving 2 futures (chunks) ... DONE [13:14:09.492] Reducing values from 2 chunks ... [13:14:09.492] - Number of values collected after concatenation: 6 [13:14:09.492] - Number of values expected: 6 [13:14:09.492] Reducing values from 2 chunks ... DONE [13:14:09.493] future_lapply() ... DONE List of 2 $ y0: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: Named int [1:6] 1 2 2 3 3 4 ..- attr(*, "names")= chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:09.495] future_lapply() ... [13:14:09.498] Number of chunks: 2 [13:14:09.498] getGlobalsAndPackagesXApply() ... [13:14:09.498] - future.globals: TRUE [13:14:09.498] getGlobalsAndPackages() ... [13:14:09.499] Searching for globals... [13:14:09.500] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:09.501] Searching for globals ... DONE [13:14:09.501] Resolving globals: FALSE [13:14:09.501] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:09.502] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:09.502] - globals: [1] 'FUN' [13:14:09.502] [13:14:09.502] getGlobalsAndPackages() ... DONE [13:14:09.503] - globals found/used: [n=1] 'FUN' [13:14:09.503] - needed namespaces: [n=0] [13:14:09.503] Finding globals ... DONE [13:14:09.503] - use_args: TRUE [13:14:09.503] - Getting '...' globals ... [13:14:09.504] resolve() on list ... [13:14:09.504] recursive: 0 [13:14:09.504] length: 1 [13:14:09.504] elements: '...' [13:14:09.504] length: 0 (resolved future 1) [13:14:09.504] resolve() on list ... DONE [13:14:09.505] - '...' content: [n=0] [13:14:09.505] List of 1 [13:14:09.505] $ ...: list() [13:14:09.505] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.505] - attr(*, "where")=List of 1 [13:14:09.505] ..$ ...: [13:14:09.505] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.505] - attr(*, "resolved")= logi TRUE [13:14:09.505] - attr(*, "total_size")= num NA [13:14:09.508] - Getting '...' globals ... DONE [13:14:09.508] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:09.508] List of 2 [13:14:09.508] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:09.508] $ ... : list() [13:14:09.508] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.508] - attr(*, "where")=List of 2 [13:14:09.508] ..$ ...future.FUN: [13:14:09.508] ..$ ... : [13:14:09.508] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.508] - attr(*, "resolved")= logi FALSE [13:14:09.508] - attr(*, "total_size")= num 4728 [13:14:09.512] Packages to be attached in all futures: [n=0] [13:14:09.512] getGlobalsAndPackagesXApply() ... DONE [13:14:09.512] Number of futures (= number of chunks): 2 [13:14:09.512] Launching 2 futures (chunks) ... [13:14:09.512] Chunk #1 of 2 ... [13:14:09.513] - Finding globals in 'X' for chunk #1 ... [13:14:09.513] getGlobalsAndPackages() ... [13:14:09.513] Searching for globals... [13:14:09.513] [13:14:09.513] Searching for globals ... DONE [13:14:09.514] - globals: [0] [13:14:09.514] getGlobalsAndPackages() ... DONE [13:14:09.514] + additional globals found: [n=0] [13:14:09.514] + additional namespaces needed: [n=0] [13:14:09.514] - Finding globals in 'X' for chunk #1 ... DONE [13:14:09.514] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.515] - seeds: [13:14:09.515] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.515] getGlobalsAndPackages() ... [13:14:09.515] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.515] Resolving globals: FALSE [13:14:09.515] Tweak future expression to call with '...' arguments ... [13:14:09.516] { [13:14:09.516] do.call(function(...) { [13:14:09.516] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.516] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.516] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.516] on.exit(options(oopts), add = TRUE) [13:14:09.516] } [13:14:09.516] { [13:14:09.516] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.516] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.516] ...future.FUN(...future.X_jj, ...) [13:14:09.516] }) [13:14:09.516] } [13:14:09.516] }, args = future.call.arguments) [13:14:09.516] } [13:14:09.516] Tweak future expression to call with '...' arguments ... DONE [13:14:09.516] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.517] [13:14:09.517] getGlobalsAndPackages() ... DONE [13:14:09.517] run() for 'Future' ... [13:14:09.517] - state: 'created' [13:14:09.518] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.532] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.532] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.532] - Field: 'node' [13:14:09.533] - Field: 'label' [13:14:09.533] - Field: 'local' [13:14:09.533] - Field: 'owner' [13:14:09.533] - Field: 'envir' [13:14:09.533] - Field: 'workers' [13:14:09.534] - Field: 'packages' [13:14:09.534] - Field: 'gc' [13:14:09.534] - Field: 'conditions' [13:14:09.534] - Field: 'persistent' [13:14:09.534] - Field: 'expr' [13:14:09.534] - Field: 'uuid' [13:14:09.535] - Field: 'seed' [13:14:09.535] - Field: 'version' [13:14:09.535] - Field: 'result' [13:14:09.535] - Field: 'asynchronous' [13:14:09.535] - Field: 'calls' [13:14:09.535] - Field: 'globals' [13:14:09.536] - Field: 'stdout' [13:14:09.536] - Field: 'earlySignal' [13:14:09.536] - Field: 'lazy' [13:14:09.536] - Field: 'state' [13:14:09.536] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.537] - Launch lazy future ... [13:14:09.537] Packages needed by the future expression (n = 0): [13:14:09.537] Packages needed by future strategies (n = 0): [13:14:09.538] { [13:14:09.538] { [13:14:09.538] { [13:14:09.538] ...future.startTime <- base::Sys.time() [13:14:09.538] { [13:14:09.538] { [13:14:09.538] { [13:14:09.538] { [13:14:09.538] base::local({ [13:14:09.538] has_future <- base::requireNamespace("future", [13:14:09.538] quietly = TRUE) [13:14:09.538] if (has_future) { [13:14:09.538] ns <- base::getNamespace("future") [13:14:09.538] version <- ns[[".package"]][["version"]] [13:14:09.538] if (is.null(version)) [13:14:09.538] version <- utils::packageVersion("future") [13:14:09.538] } [13:14:09.538] else { [13:14:09.538] version <- NULL [13:14:09.538] } [13:14:09.538] if (!has_future || version < "1.8.0") { [13:14:09.538] info <- base::c(r_version = base::gsub("R version ", [13:14:09.538] "", base::R.version$version.string), [13:14:09.538] platform = base::sprintf("%s (%s-bit)", [13:14:09.538] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.538] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.538] "release", "version")], collapse = " "), [13:14:09.538] hostname = base::Sys.info()[["nodename"]]) [13:14:09.538] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.538] info) [13:14:09.538] info <- base::paste(info, collapse = "; ") [13:14:09.538] if (!has_future) { [13:14:09.538] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.538] info) [13:14:09.538] } [13:14:09.538] else { [13:14:09.538] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.538] info, version) [13:14:09.538] } [13:14:09.538] base::stop(msg) [13:14:09.538] } [13:14:09.538] }) [13:14:09.538] } [13:14:09.538] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.538] base::options(mc.cores = 1L) [13:14:09.538] } [13:14:09.538] options(future.plan = NULL) [13:14:09.538] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.538] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.538] } [13:14:09.538] ...future.workdir <- getwd() [13:14:09.538] } [13:14:09.538] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.538] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.538] } [13:14:09.538] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.538] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.538] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.538] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.538] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.538] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.538] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.538] base::names(...future.oldOptions)) [13:14:09.538] } [13:14:09.538] if (FALSE) { [13:14:09.538] } [13:14:09.538] else { [13:14:09.538] if (TRUE) { [13:14:09.538] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.538] open = "w") [13:14:09.538] } [13:14:09.538] else { [13:14:09.538] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.538] windows = "NUL", "/dev/null"), open = "w") [13:14:09.538] } [13:14:09.538] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.538] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.538] base::sink(type = "output", split = FALSE) [13:14:09.538] base::close(...future.stdout) [13:14:09.538] }, add = TRUE) [13:14:09.538] } [13:14:09.538] ...future.frame <- base::sys.nframe() [13:14:09.538] ...future.conditions <- base::list() [13:14:09.538] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.538] if (FALSE) { [13:14:09.538] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.538] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.538] } [13:14:09.538] ...future.result <- base::tryCatch({ [13:14:09.538] base::withCallingHandlers({ [13:14:09.538] ...future.value <- base::withVisible(base::local({ [13:14:09.538] ...future.makeSendCondition <- local({ [13:14:09.538] sendCondition <- NULL [13:14:09.538] function(frame = 1L) { [13:14:09.538] if (is.function(sendCondition)) [13:14:09.538] return(sendCondition) [13:14:09.538] ns <- getNamespace("parallel") [13:14:09.538] if (exists("sendData", mode = "function", [13:14:09.538] envir = ns)) { [13:14:09.538] parallel_sendData <- get("sendData", mode = "function", [13:14:09.538] envir = ns) [13:14:09.538] envir <- sys.frame(frame) [13:14:09.538] master <- NULL [13:14:09.538] while (!identical(envir, .GlobalEnv) && [13:14:09.538] !identical(envir, emptyenv())) { [13:14:09.538] if (exists("master", mode = "list", envir = envir, [13:14:09.538] inherits = FALSE)) { [13:14:09.538] master <- get("master", mode = "list", [13:14:09.538] envir = envir, inherits = FALSE) [13:14:09.538] if (inherits(master, c("SOCKnode", [13:14:09.538] "SOCK0node"))) { [13:14:09.538] sendCondition <<- function(cond) { [13:14:09.538] data <- list(type = "VALUE", value = cond, [13:14:09.538] success = TRUE) [13:14:09.538] parallel_sendData(master, data) [13:14:09.538] } [13:14:09.538] return(sendCondition) [13:14:09.538] } [13:14:09.538] } [13:14:09.538] frame <- frame + 1L [13:14:09.538] envir <- sys.frame(frame) [13:14:09.538] } [13:14:09.538] } [13:14:09.538] sendCondition <<- function(cond) NULL [13:14:09.538] } [13:14:09.538] }) [13:14:09.538] withCallingHandlers({ [13:14:09.538] { [13:14:09.538] do.call(function(...) { [13:14:09.538] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.538] if (!identical(...future.globals.maxSize.org, [13:14:09.538] ...future.globals.maxSize)) { [13:14:09.538] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.538] on.exit(options(oopts), add = TRUE) [13:14:09.538] } [13:14:09.538] { [13:14:09.538] lapply(seq_along(...future.elements_ii), [13:14:09.538] FUN = function(jj) { [13:14:09.538] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.538] ...future.FUN(...future.X_jj, ...) [13:14:09.538] }) [13:14:09.538] } [13:14:09.538] }, args = future.call.arguments) [13:14:09.538] } [13:14:09.538] }, immediateCondition = function(cond) { [13:14:09.538] sendCondition <- ...future.makeSendCondition() [13:14:09.538] sendCondition(cond) [13:14:09.538] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.538] { [13:14:09.538] inherits <- base::inherits [13:14:09.538] invokeRestart <- base::invokeRestart [13:14:09.538] is.null <- base::is.null [13:14:09.538] muffled <- FALSE [13:14:09.538] if (inherits(cond, "message")) { [13:14:09.538] muffled <- grepl(pattern, "muffleMessage") [13:14:09.538] if (muffled) [13:14:09.538] invokeRestart("muffleMessage") [13:14:09.538] } [13:14:09.538] else if (inherits(cond, "warning")) { [13:14:09.538] muffled <- grepl(pattern, "muffleWarning") [13:14:09.538] if (muffled) [13:14:09.538] invokeRestart("muffleWarning") [13:14:09.538] } [13:14:09.538] else if (inherits(cond, "condition")) { [13:14:09.538] if (!is.null(pattern)) { [13:14:09.538] computeRestarts <- base::computeRestarts [13:14:09.538] grepl <- base::grepl [13:14:09.538] restarts <- computeRestarts(cond) [13:14:09.538] for (restart in restarts) { [13:14:09.538] name <- restart$name [13:14:09.538] if (is.null(name)) [13:14:09.538] next [13:14:09.538] if (!grepl(pattern, name)) [13:14:09.538] next [13:14:09.538] invokeRestart(restart) [13:14:09.538] muffled <- TRUE [13:14:09.538] break [13:14:09.538] } [13:14:09.538] } [13:14:09.538] } [13:14:09.538] invisible(muffled) [13:14:09.538] } [13:14:09.538] muffleCondition(cond) [13:14:09.538] }) [13:14:09.538] })) [13:14:09.538] future::FutureResult(value = ...future.value$value, [13:14:09.538] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.538] ...future.rng), globalenv = if (FALSE) [13:14:09.538] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.538] ...future.globalenv.names)) [13:14:09.538] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.538] }, condition = base::local({ [13:14:09.538] c <- base::c [13:14:09.538] inherits <- base::inherits [13:14:09.538] invokeRestart <- base::invokeRestart [13:14:09.538] length <- base::length [13:14:09.538] list <- base::list [13:14:09.538] seq.int <- base::seq.int [13:14:09.538] signalCondition <- base::signalCondition [13:14:09.538] sys.calls <- base::sys.calls [13:14:09.538] `[[` <- base::`[[` [13:14:09.538] `+` <- base::`+` [13:14:09.538] `<<-` <- base::`<<-` [13:14:09.538] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.538] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.538] 3L)] [13:14:09.538] } [13:14:09.538] function(cond) { [13:14:09.538] is_error <- inherits(cond, "error") [13:14:09.538] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.538] NULL) [13:14:09.538] if (is_error) { [13:14:09.538] sessionInformation <- function() { [13:14:09.538] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.538] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.538] search = base::search(), system = base::Sys.info()) [13:14:09.538] } [13:14:09.538] ...future.conditions[[length(...future.conditions) + [13:14:09.538] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.538] cond$call), session = sessionInformation(), [13:14:09.538] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.538] signalCondition(cond) [13:14:09.538] } [13:14:09.538] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.538] "immediateCondition"))) { [13:14:09.538] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.538] ...future.conditions[[length(...future.conditions) + [13:14:09.538] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.538] if (TRUE && !signal) { [13:14:09.538] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.538] { [13:14:09.538] inherits <- base::inherits [13:14:09.538] invokeRestart <- base::invokeRestart [13:14:09.538] is.null <- base::is.null [13:14:09.538] muffled <- FALSE [13:14:09.538] if (inherits(cond, "message")) { [13:14:09.538] muffled <- grepl(pattern, "muffleMessage") [13:14:09.538] if (muffled) [13:14:09.538] invokeRestart("muffleMessage") [13:14:09.538] } [13:14:09.538] else if (inherits(cond, "warning")) { [13:14:09.538] muffled <- grepl(pattern, "muffleWarning") [13:14:09.538] if (muffled) [13:14:09.538] invokeRestart("muffleWarning") [13:14:09.538] } [13:14:09.538] else if (inherits(cond, "condition")) { [13:14:09.538] if (!is.null(pattern)) { [13:14:09.538] computeRestarts <- base::computeRestarts [13:14:09.538] grepl <- base::grepl [13:14:09.538] restarts <- computeRestarts(cond) [13:14:09.538] for (restart in restarts) { [13:14:09.538] name <- restart$name [13:14:09.538] if (is.null(name)) [13:14:09.538] next [13:14:09.538] if (!grepl(pattern, name)) [13:14:09.538] next [13:14:09.538] invokeRestart(restart) [13:14:09.538] muffled <- TRUE [13:14:09.538] break [13:14:09.538] } [13:14:09.538] } [13:14:09.538] } [13:14:09.538] invisible(muffled) [13:14:09.538] } [13:14:09.538] muffleCondition(cond, pattern = "^muffle") [13:14:09.538] } [13:14:09.538] } [13:14:09.538] else { [13:14:09.538] if (TRUE) { [13:14:09.538] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.538] { [13:14:09.538] inherits <- base::inherits [13:14:09.538] invokeRestart <- base::invokeRestart [13:14:09.538] is.null <- base::is.null [13:14:09.538] muffled <- FALSE [13:14:09.538] if (inherits(cond, "message")) { [13:14:09.538] muffled <- grepl(pattern, "muffleMessage") [13:14:09.538] if (muffled) [13:14:09.538] invokeRestart("muffleMessage") [13:14:09.538] } [13:14:09.538] else if (inherits(cond, "warning")) { [13:14:09.538] muffled <- grepl(pattern, "muffleWarning") [13:14:09.538] if (muffled) [13:14:09.538] invokeRestart("muffleWarning") [13:14:09.538] } [13:14:09.538] else if (inherits(cond, "condition")) { [13:14:09.538] if (!is.null(pattern)) { [13:14:09.538] computeRestarts <- base::computeRestarts [13:14:09.538] grepl <- base::grepl [13:14:09.538] restarts <- computeRestarts(cond) [13:14:09.538] for (restart in restarts) { [13:14:09.538] name <- restart$name [13:14:09.538] if (is.null(name)) [13:14:09.538] next [13:14:09.538] if (!grepl(pattern, name)) [13:14:09.538] next [13:14:09.538] invokeRestart(restart) [13:14:09.538] muffled <- TRUE [13:14:09.538] break [13:14:09.538] } [13:14:09.538] } [13:14:09.538] } [13:14:09.538] invisible(muffled) [13:14:09.538] } [13:14:09.538] muffleCondition(cond, pattern = "^muffle") [13:14:09.538] } [13:14:09.538] } [13:14:09.538] } [13:14:09.538] })) [13:14:09.538] }, error = function(ex) { [13:14:09.538] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.538] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.538] ...future.rng), started = ...future.startTime, [13:14:09.538] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.538] version = "1.8"), class = "FutureResult") [13:14:09.538] }, finally = { [13:14:09.538] if (!identical(...future.workdir, getwd())) [13:14:09.538] setwd(...future.workdir) [13:14:09.538] { [13:14:09.538] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.538] ...future.oldOptions$nwarnings <- NULL [13:14:09.538] } [13:14:09.538] base::options(...future.oldOptions) [13:14:09.538] if (.Platform$OS.type == "windows") { [13:14:09.538] old_names <- names(...future.oldEnvVars) [13:14:09.538] envs <- base::Sys.getenv() [13:14:09.538] names <- names(envs) [13:14:09.538] common <- intersect(names, old_names) [13:14:09.538] added <- setdiff(names, old_names) [13:14:09.538] removed <- setdiff(old_names, names) [13:14:09.538] changed <- common[...future.oldEnvVars[common] != [13:14:09.538] envs[common]] [13:14:09.538] NAMES <- toupper(changed) [13:14:09.538] args <- list() [13:14:09.538] for (kk in seq_along(NAMES)) { [13:14:09.538] name <- changed[[kk]] [13:14:09.538] NAME <- NAMES[[kk]] [13:14:09.538] if (name != NAME && is.element(NAME, old_names)) [13:14:09.538] next [13:14:09.538] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.538] } [13:14:09.538] NAMES <- toupper(added) [13:14:09.538] for (kk in seq_along(NAMES)) { [13:14:09.538] name <- added[[kk]] [13:14:09.538] NAME <- NAMES[[kk]] [13:14:09.538] if (name != NAME && is.element(NAME, old_names)) [13:14:09.538] next [13:14:09.538] args[[name]] <- "" [13:14:09.538] } [13:14:09.538] NAMES <- toupper(removed) [13:14:09.538] for (kk in seq_along(NAMES)) { [13:14:09.538] name <- removed[[kk]] [13:14:09.538] NAME <- NAMES[[kk]] [13:14:09.538] if (name != NAME && is.element(NAME, old_names)) [13:14:09.538] next [13:14:09.538] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.538] } [13:14:09.538] if (length(args) > 0) [13:14:09.538] base::do.call(base::Sys.setenv, args = args) [13:14:09.538] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.538] } [13:14:09.538] else { [13:14:09.538] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.538] } [13:14:09.538] { [13:14:09.538] if (base::length(...future.futureOptionsAdded) > [13:14:09.538] 0L) { [13:14:09.538] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.538] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.538] base::options(opts) [13:14:09.538] } [13:14:09.538] { [13:14:09.538] { [13:14:09.538] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.538] NULL [13:14:09.538] } [13:14:09.538] options(future.plan = NULL) [13:14:09.538] if (is.na(NA_character_)) [13:14:09.538] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.538] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.538] future::plan(list(function (..., workers = availableCores(), [13:14:09.538] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.538] envir = parent.frame()) [13:14:09.538] { [13:14:09.538] if (is.function(workers)) [13:14:09.538] workers <- workers() [13:14:09.538] workers <- structure(as.integer(workers), [13:14:09.538] class = class(workers)) [13:14:09.538] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.538] workers >= 1) [13:14:09.538] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.538] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.538] } [13:14:09.538] future <- MultisessionFuture(..., workers = workers, [13:14:09.538] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.538] envir = envir) [13:14:09.538] if (!future$lazy) [13:14:09.538] future <- run(future) [13:14:09.538] invisible(future) [13:14:09.538] }), .cleanup = FALSE, .init = FALSE) [13:14:09.538] } [13:14:09.538] } [13:14:09.538] } [13:14:09.538] }) [13:14:09.538] if (TRUE) { [13:14:09.538] base::sink(type = "output", split = FALSE) [13:14:09.538] if (TRUE) { [13:14:09.538] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.538] } [13:14:09.538] else { [13:14:09.538] ...future.result["stdout"] <- base::list(NULL) [13:14:09.538] } [13:14:09.538] base::close(...future.stdout) [13:14:09.538] ...future.stdout <- NULL [13:14:09.538] } [13:14:09.538] ...future.result$conditions <- ...future.conditions [13:14:09.538] ...future.result$finished <- base::Sys.time() [13:14:09.538] ...future.result [13:14:09.538] } [13:14:09.543] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:09.543] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:09.544] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:09.544] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.545] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.545] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.545] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.545] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.546] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.546] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.546] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.547] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:09.547] MultisessionFuture started [13:14:09.548] - Launch lazy future ... done [13:14:09.548] run() for 'MultisessionFuture' ... done [13:14:09.548] Created future: [13:14:09.564] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.564] - Validating connection of MultisessionFuture [13:14:09.564] - received message: FutureResult [13:14:09.564] - Received FutureResult [13:14:09.564] - Erased future from FutureRegistry [13:14:09.565] result() for ClusterFuture ... [13:14:09.565] - result already collected: FutureResult [13:14:09.565] result() for ClusterFuture ... done [13:14:09.565] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.548] MultisessionFuture: [13:14:09.548] Label: 'future_sapply-1' [13:14:09.548] Expression: [13:14:09.548] { [13:14:09.548] do.call(function(...) { [13:14:09.548] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.548] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.548] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.548] on.exit(options(oopts), add = TRUE) [13:14:09.548] } [13:14:09.548] { [13:14:09.548] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.548] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.548] ...future.FUN(...future.X_jj, ...) [13:14:09.548] }) [13:14:09.548] } [13:14:09.548] }, args = future.call.arguments) [13:14:09.548] } [13:14:09.548] Lazy evaluation: FALSE [13:14:09.548] Asynchronous evaluation: TRUE [13:14:09.548] Local evaluation: TRUE [13:14:09.548] Environment: R_GlobalEnv [13:14:09.548] Capture standard output: TRUE [13:14:09.548] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.548] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.548] Packages: [13:14:09.548] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.548] Resolved: TRUE [13:14:09.548] Value: [13:14:09.548] Conditions captured: [13:14:09.548] Early signaling: FALSE [13:14:09.548] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.548] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.566] Chunk #1 of 2 ... DONE [13:14:09.566] Chunk #2 of 2 ... [13:14:09.566] - Finding globals in 'X' for chunk #2 ... [13:14:09.566] getGlobalsAndPackages() ... [13:14:09.566] Searching for globals... [13:14:09.567] [13:14:09.569] Searching for globals ... DONE [13:14:09.570] - globals: [0] [13:14:09.570] getGlobalsAndPackages() ... DONE [13:14:09.570] + additional globals found: [n=0] [13:14:09.570] + additional namespaces needed: [n=0] [13:14:09.570] - Finding globals in 'X' for chunk #2 ... DONE [13:14:09.570] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.571] - seeds: [13:14:09.571] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.571] getGlobalsAndPackages() ... [13:14:09.571] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.571] Resolving globals: FALSE [13:14:09.572] Tweak future expression to call with '...' arguments ... [13:14:09.572] { [13:14:09.572] do.call(function(...) { [13:14:09.572] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.572] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.572] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.572] on.exit(options(oopts), add = TRUE) [13:14:09.572] } [13:14:09.572] { [13:14:09.572] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.572] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.572] ...future.FUN(...future.X_jj, ...) [13:14:09.572] }) [13:14:09.572] } [13:14:09.572] }, args = future.call.arguments) [13:14:09.572] } [13:14:09.572] Tweak future expression to call with '...' arguments ... DONE [13:14:09.573] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.573] [13:14:09.573] getGlobalsAndPackages() ... DONE [13:14:09.573] run() for 'Future' ... [13:14:09.574] - state: 'created' [13:14:09.574] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.589] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.589] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.589] - Field: 'node' [13:14:09.589] - Field: 'label' [13:14:09.590] - Field: 'local' [13:14:09.590] - Field: 'owner' [13:14:09.590] - Field: 'envir' [13:14:09.590] - Field: 'workers' [13:14:09.590] - Field: 'packages' [13:14:09.590] - Field: 'gc' [13:14:09.591] - Field: 'conditions' [13:14:09.591] - Field: 'persistent' [13:14:09.591] - Field: 'expr' [13:14:09.591] - Field: 'uuid' [13:14:09.591] - Field: 'seed' [13:14:09.591] - Field: 'version' [13:14:09.592] - Field: 'result' [13:14:09.592] - Field: 'asynchronous' [13:14:09.592] - Field: 'calls' [13:14:09.592] - Field: 'globals' [13:14:09.592] - Field: 'stdout' [13:14:09.592] - Field: 'earlySignal' [13:14:09.593] - Field: 'lazy' [13:14:09.593] - Field: 'state' [13:14:09.593] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.593] - Launch lazy future ... [13:14:09.594] Packages needed by the future expression (n = 0): [13:14:09.594] Packages needed by future strategies (n = 0): [13:14:09.594] { [13:14:09.594] { [13:14:09.594] { [13:14:09.594] ...future.startTime <- base::Sys.time() [13:14:09.594] { [13:14:09.594] { [13:14:09.594] { [13:14:09.594] { [13:14:09.594] base::local({ [13:14:09.594] has_future <- base::requireNamespace("future", [13:14:09.594] quietly = TRUE) [13:14:09.594] if (has_future) { [13:14:09.594] ns <- base::getNamespace("future") [13:14:09.594] version <- ns[[".package"]][["version"]] [13:14:09.594] if (is.null(version)) [13:14:09.594] version <- utils::packageVersion("future") [13:14:09.594] } [13:14:09.594] else { [13:14:09.594] version <- NULL [13:14:09.594] } [13:14:09.594] if (!has_future || version < "1.8.0") { [13:14:09.594] info <- base::c(r_version = base::gsub("R version ", [13:14:09.594] "", base::R.version$version.string), [13:14:09.594] platform = base::sprintf("%s (%s-bit)", [13:14:09.594] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.594] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.594] "release", "version")], collapse = " "), [13:14:09.594] hostname = base::Sys.info()[["nodename"]]) [13:14:09.594] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.594] info) [13:14:09.594] info <- base::paste(info, collapse = "; ") [13:14:09.594] if (!has_future) { [13:14:09.594] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.594] info) [13:14:09.594] } [13:14:09.594] else { [13:14:09.594] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.594] info, version) [13:14:09.594] } [13:14:09.594] base::stop(msg) [13:14:09.594] } [13:14:09.594] }) [13:14:09.594] } [13:14:09.594] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.594] base::options(mc.cores = 1L) [13:14:09.594] } [13:14:09.594] options(future.plan = NULL) [13:14:09.594] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.594] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.594] } [13:14:09.594] ...future.workdir <- getwd() [13:14:09.594] } [13:14:09.594] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.594] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.594] } [13:14:09.594] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.594] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.594] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.594] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.594] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.594] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.594] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.594] base::names(...future.oldOptions)) [13:14:09.594] } [13:14:09.594] if (FALSE) { [13:14:09.594] } [13:14:09.594] else { [13:14:09.594] if (TRUE) { [13:14:09.594] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.594] open = "w") [13:14:09.594] } [13:14:09.594] else { [13:14:09.594] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.594] windows = "NUL", "/dev/null"), open = "w") [13:14:09.594] } [13:14:09.594] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.594] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.594] base::sink(type = "output", split = FALSE) [13:14:09.594] base::close(...future.stdout) [13:14:09.594] }, add = TRUE) [13:14:09.594] } [13:14:09.594] ...future.frame <- base::sys.nframe() [13:14:09.594] ...future.conditions <- base::list() [13:14:09.594] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.594] if (FALSE) { [13:14:09.594] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.594] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.594] } [13:14:09.594] ...future.result <- base::tryCatch({ [13:14:09.594] base::withCallingHandlers({ [13:14:09.594] ...future.value <- base::withVisible(base::local({ [13:14:09.594] ...future.makeSendCondition <- local({ [13:14:09.594] sendCondition <- NULL [13:14:09.594] function(frame = 1L) { [13:14:09.594] if (is.function(sendCondition)) [13:14:09.594] return(sendCondition) [13:14:09.594] ns <- getNamespace("parallel") [13:14:09.594] if (exists("sendData", mode = "function", [13:14:09.594] envir = ns)) { [13:14:09.594] parallel_sendData <- get("sendData", mode = "function", [13:14:09.594] envir = ns) [13:14:09.594] envir <- sys.frame(frame) [13:14:09.594] master <- NULL [13:14:09.594] while (!identical(envir, .GlobalEnv) && [13:14:09.594] !identical(envir, emptyenv())) { [13:14:09.594] if (exists("master", mode = "list", envir = envir, [13:14:09.594] inherits = FALSE)) { [13:14:09.594] master <- get("master", mode = "list", [13:14:09.594] envir = envir, inherits = FALSE) [13:14:09.594] if (inherits(master, c("SOCKnode", [13:14:09.594] "SOCK0node"))) { [13:14:09.594] sendCondition <<- function(cond) { [13:14:09.594] data <- list(type = "VALUE", value = cond, [13:14:09.594] success = TRUE) [13:14:09.594] parallel_sendData(master, data) [13:14:09.594] } [13:14:09.594] return(sendCondition) [13:14:09.594] } [13:14:09.594] } [13:14:09.594] frame <- frame + 1L [13:14:09.594] envir <- sys.frame(frame) [13:14:09.594] } [13:14:09.594] } [13:14:09.594] sendCondition <<- function(cond) NULL [13:14:09.594] } [13:14:09.594] }) [13:14:09.594] withCallingHandlers({ [13:14:09.594] { [13:14:09.594] do.call(function(...) { [13:14:09.594] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.594] if (!identical(...future.globals.maxSize.org, [13:14:09.594] ...future.globals.maxSize)) { [13:14:09.594] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.594] on.exit(options(oopts), add = TRUE) [13:14:09.594] } [13:14:09.594] { [13:14:09.594] lapply(seq_along(...future.elements_ii), [13:14:09.594] FUN = function(jj) { [13:14:09.594] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.594] ...future.FUN(...future.X_jj, ...) [13:14:09.594] }) [13:14:09.594] } [13:14:09.594] }, args = future.call.arguments) [13:14:09.594] } [13:14:09.594] }, immediateCondition = function(cond) { [13:14:09.594] sendCondition <- ...future.makeSendCondition() [13:14:09.594] sendCondition(cond) [13:14:09.594] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.594] { [13:14:09.594] inherits <- base::inherits [13:14:09.594] invokeRestart <- base::invokeRestart [13:14:09.594] is.null <- base::is.null [13:14:09.594] muffled <- FALSE [13:14:09.594] if (inherits(cond, "message")) { [13:14:09.594] muffled <- grepl(pattern, "muffleMessage") [13:14:09.594] if (muffled) [13:14:09.594] invokeRestart("muffleMessage") [13:14:09.594] } [13:14:09.594] else if (inherits(cond, "warning")) { [13:14:09.594] muffled <- grepl(pattern, "muffleWarning") [13:14:09.594] if (muffled) [13:14:09.594] invokeRestart("muffleWarning") [13:14:09.594] } [13:14:09.594] else if (inherits(cond, "condition")) { [13:14:09.594] if (!is.null(pattern)) { [13:14:09.594] computeRestarts <- base::computeRestarts [13:14:09.594] grepl <- base::grepl [13:14:09.594] restarts <- computeRestarts(cond) [13:14:09.594] for (restart in restarts) { [13:14:09.594] name <- restart$name [13:14:09.594] if (is.null(name)) [13:14:09.594] next [13:14:09.594] if (!grepl(pattern, name)) [13:14:09.594] next [13:14:09.594] invokeRestart(restart) [13:14:09.594] muffled <- TRUE [13:14:09.594] break [13:14:09.594] } [13:14:09.594] } [13:14:09.594] } [13:14:09.594] invisible(muffled) [13:14:09.594] } [13:14:09.594] muffleCondition(cond) [13:14:09.594] }) [13:14:09.594] })) [13:14:09.594] future::FutureResult(value = ...future.value$value, [13:14:09.594] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.594] ...future.rng), globalenv = if (FALSE) [13:14:09.594] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.594] ...future.globalenv.names)) [13:14:09.594] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.594] }, condition = base::local({ [13:14:09.594] c <- base::c [13:14:09.594] inherits <- base::inherits [13:14:09.594] invokeRestart <- base::invokeRestart [13:14:09.594] length <- base::length [13:14:09.594] list <- base::list [13:14:09.594] seq.int <- base::seq.int [13:14:09.594] signalCondition <- base::signalCondition [13:14:09.594] sys.calls <- base::sys.calls [13:14:09.594] `[[` <- base::`[[` [13:14:09.594] `+` <- base::`+` [13:14:09.594] `<<-` <- base::`<<-` [13:14:09.594] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.594] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.594] 3L)] [13:14:09.594] } [13:14:09.594] function(cond) { [13:14:09.594] is_error <- inherits(cond, "error") [13:14:09.594] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.594] NULL) [13:14:09.594] if (is_error) { [13:14:09.594] sessionInformation <- function() { [13:14:09.594] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.594] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.594] search = base::search(), system = base::Sys.info()) [13:14:09.594] } [13:14:09.594] ...future.conditions[[length(...future.conditions) + [13:14:09.594] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.594] cond$call), session = sessionInformation(), [13:14:09.594] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.594] signalCondition(cond) [13:14:09.594] } [13:14:09.594] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.594] "immediateCondition"))) { [13:14:09.594] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.594] ...future.conditions[[length(...future.conditions) + [13:14:09.594] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.594] if (TRUE && !signal) { [13:14:09.594] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.594] { [13:14:09.594] inherits <- base::inherits [13:14:09.594] invokeRestart <- base::invokeRestart [13:14:09.594] is.null <- base::is.null [13:14:09.594] muffled <- FALSE [13:14:09.594] if (inherits(cond, "message")) { [13:14:09.594] muffled <- grepl(pattern, "muffleMessage") [13:14:09.594] if (muffled) [13:14:09.594] invokeRestart("muffleMessage") [13:14:09.594] } [13:14:09.594] else if (inherits(cond, "warning")) { [13:14:09.594] muffled <- grepl(pattern, "muffleWarning") [13:14:09.594] if (muffled) [13:14:09.594] invokeRestart("muffleWarning") [13:14:09.594] } [13:14:09.594] else if (inherits(cond, "condition")) { [13:14:09.594] if (!is.null(pattern)) { [13:14:09.594] computeRestarts <- base::computeRestarts [13:14:09.594] grepl <- base::grepl [13:14:09.594] restarts <- computeRestarts(cond) [13:14:09.594] for (restart in restarts) { [13:14:09.594] name <- restart$name [13:14:09.594] if (is.null(name)) [13:14:09.594] next [13:14:09.594] if (!grepl(pattern, name)) [13:14:09.594] next [13:14:09.594] invokeRestart(restart) [13:14:09.594] muffled <- TRUE [13:14:09.594] break [13:14:09.594] } [13:14:09.594] } [13:14:09.594] } [13:14:09.594] invisible(muffled) [13:14:09.594] } [13:14:09.594] muffleCondition(cond, pattern = "^muffle") [13:14:09.594] } [13:14:09.594] } [13:14:09.594] else { [13:14:09.594] if (TRUE) { [13:14:09.594] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.594] { [13:14:09.594] inherits <- base::inherits [13:14:09.594] invokeRestart <- base::invokeRestart [13:14:09.594] is.null <- base::is.null [13:14:09.594] muffled <- FALSE [13:14:09.594] if (inherits(cond, "message")) { [13:14:09.594] muffled <- grepl(pattern, "muffleMessage") [13:14:09.594] if (muffled) [13:14:09.594] invokeRestart("muffleMessage") [13:14:09.594] } [13:14:09.594] else if (inherits(cond, "warning")) { [13:14:09.594] muffled <- grepl(pattern, "muffleWarning") [13:14:09.594] if (muffled) [13:14:09.594] invokeRestart("muffleWarning") [13:14:09.594] } [13:14:09.594] else if (inherits(cond, "condition")) { [13:14:09.594] if (!is.null(pattern)) { [13:14:09.594] computeRestarts <- base::computeRestarts [13:14:09.594] grepl <- base::grepl [13:14:09.594] restarts <- computeRestarts(cond) [13:14:09.594] for (restart in restarts) { [13:14:09.594] name <- restart$name [13:14:09.594] if (is.null(name)) [13:14:09.594] next [13:14:09.594] if (!grepl(pattern, name)) [13:14:09.594] next [13:14:09.594] invokeRestart(restart) [13:14:09.594] muffled <- TRUE [13:14:09.594] break [13:14:09.594] } [13:14:09.594] } [13:14:09.594] } [13:14:09.594] invisible(muffled) [13:14:09.594] } [13:14:09.594] muffleCondition(cond, pattern = "^muffle") [13:14:09.594] } [13:14:09.594] } [13:14:09.594] } [13:14:09.594] })) [13:14:09.594] }, error = function(ex) { [13:14:09.594] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.594] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.594] ...future.rng), started = ...future.startTime, [13:14:09.594] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.594] version = "1.8"), class = "FutureResult") [13:14:09.594] }, finally = { [13:14:09.594] if (!identical(...future.workdir, getwd())) [13:14:09.594] setwd(...future.workdir) [13:14:09.594] { [13:14:09.594] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.594] ...future.oldOptions$nwarnings <- NULL [13:14:09.594] } [13:14:09.594] base::options(...future.oldOptions) [13:14:09.594] if (.Platform$OS.type == "windows") { [13:14:09.594] old_names <- names(...future.oldEnvVars) [13:14:09.594] envs <- base::Sys.getenv() [13:14:09.594] names <- names(envs) [13:14:09.594] common <- intersect(names, old_names) [13:14:09.594] added <- setdiff(names, old_names) [13:14:09.594] removed <- setdiff(old_names, names) [13:14:09.594] changed <- common[...future.oldEnvVars[common] != [13:14:09.594] envs[common]] [13:14:09.594] NAMES <- toupper(changed) [13:14:09.594] args <- list() [13:14:09.594] for (kk in seq_along(NAMES)) { [13:14:09.594] name <- changed[[kk]] [13:14:09.594] NAME <- NAMES[[kk]] [13:14:09.594] if (name != NAME && is.element(NAME, old_names)) [13:14:09.594] next [13:14:09.594] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.594] } [13:14:09.594] NAMES <- toupper(added) [13:14:09.594] for (kk in seq_along(NAMES)) { [13:14:09.594] name <- added[[kk]] [13:14:09.594] NAME <- NAMES[[kk]] [13:14:09.594] if (name != NAME && is.element(NAME, old_names)) [13:14:09.594] next [13:14:09.594] args[[name]] <- "" [13:14:09.594] } [13:14:09.594] NAMES <- toupper(removed) [13:14:09.594] for (kk in seq_along(NAMES)) { [13:14:09.594] name <- removed[[kk]] [13:14:09.594] NAME <- NAMES[[kk]] [13:14:09.594] if (name != NAME && is.element(NAME, old_names)) [13:14:09.594] next [13:14:09.594] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.594] } [13:14:09.594] if (length(args) > 0) [13:14:09.594] base::do.call(base::Sys.setenv, args = args) [13:14:09.594] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.594] } [13:14:09.594] else { [13:14:09.594] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.594] } [13:14:09.594] { [13:14:09.594] if (base::length(...future.futureOptionsAdded) > [13:14:09.594] 0L) { [13:14:09.594] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.594] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.594] base::options(opts) [13:14:09.594] } [13:14:09.594] { [13:14:09.594] { [13:14:09.594] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.594] NULL [13:14:09.594] } [13:14:09.594] options(future.plan = NULL) [13:14:09.594] if (is.na(NA_character_)) [13:14:09.594] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.594] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.594] future::plan(list(function (..., workers = availableCores(), [13:14:09.594] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.594] envir = parent.frame()) [13:14:09.594] { [13:14:09.594] if (is.function(workers)) [13:14:09.594] workers <- workers() [13:14:09.594] workers <- structure(as.integer(workers), [13:14:09.594] class = class(workers)) [13:14:09.594] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.594] workers >= 1) [13:14:09.594] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.594] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.594] } [13:14:09.594] future <- MultisessionFuture(..., workers = workers, [13:14:09.594] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.594] envir = envir) [13:14:09.594] if (!future$lazy) [13:14:09.594] future <- run(future) [13:14:09.594] invisible(future) [13:14:09.594] }), .cleanup = FALSE, .init = FALSE) [13:14:09.594] } [13:14:09.594] } [13:14:09.594] } [13:14:09.594] }) [13:14:09.594] if (TRUE) { [13:14:09.594] base::sink(type = "output", split = FALSE) [13:14:09.594] if (TRUE) { [13:14:09.594] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.594] } [13:14:09.594] else { [13:14:09.594] ...future.result["stdout"] <- base::list(NULL) [13:14:09.594] } [13:14:09.594] base::close(...future.stdout) [13:14:09.594] ...future.stdout <- NULL [13:14:09.594] } [13:14:09.594] ...future.result$conditions <- ...future.conditions [13:14:09.594] ...future.result$finished <- base::Sys.time() [13:14:09.594] ...future.result [13:14:09.594] } [13:14:09.600] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:09.600] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:09.600] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:09.601] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.601] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.601] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... [13:14:09.602] Exporting '...future.elements_ii' (168 bytes) to cluster node #1 ... DONE [13:14:09.602] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.602] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.603] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.603] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.603] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:09.604] MultisessionFuture started [13:14:09.604] - Launch lazy future ... done [13:14:09.604] run() for 'MultisessionFuture' ... done [13:14:09.604] Created future: [13:14:09.619] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.619] - Validating connection of MultisessionFuture [13:14:09.620] - received message: FutureResult [13:14:09.620] - Received FutureResult [13:14:09.620] - Erased future from FutureRegistry [13:14:09.620] result() for ClusterFuture ... [13:14:09.620] - result already collected: FutureResult [13:14:09.621] result() for ClusterFuture ... done [13:14:09.621] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.605] MultisessionFuture: [13:14:09.605] Label: 'future_sapply-2' [13:14:09.605] Expression: [13:14:09.605] { [13:14:09.605] do.call(function(...) { [13:14:09.605] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.605] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.605] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.605] on.exit(options(oopts), add = TRUE) [13:14:09.605] } [13:14:09.605] { [13:14:09.605] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.605] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.605] ...future.FUN(...future.X_jj, ...) [13:14:09.605] }) [13:14:09.605] } [13:14:09.605] }, args = future.call.arguments) [13:14:09.605] } [13:14:09.605] Lazy evaluation: FALSE [13:14:09.605] Asynchronous evaluation: TRUE [13:14:09.605] Local evaluation: TRUE [13:14:09.605] Environment: R_GlobalEnv [13:14:09.605] Capture standard output: TRUE [13:14:09.605] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.605] Globals: 5 objects totaling 4.78 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 168 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.605] Packages: [13:14:09.605] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.605] Resolved: TRUE [13:14:09.605] Value: [13:14:09.605] Conditions captured: [13:14:09.605] Early signaling: FALSE [13:14:09.605] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.605] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.621] Chunk #2 of 2 ... DONE [13:14:09.621] Launching 2 futures (chunks) ... DONE [13:14:09.621] Resolving 2 futures (chunks) ... [13:14:09.622] resolve() on list ... [13:14:09.622] recursive: 0 [13:14:09.622] length: 2 [13:14:09.622] [13:14:09.622] Future #1 [13:14:09.622] result() for ClusterFuture ... [13:14:09.623] - result already collected: FutureResult [13:14:09.623] result() for ClusterFuture ... done [13:14:09.623] result() for ClusterFuture ... [13:14:09.623] - result already collected: FutureResult [13:14:09.623] result() for ClusterFuture ... done [13:14:09.623] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:09.624] - nx: 2 [13:14:09.624] - relay: TRUE [13:14:09.624] - stdout: TRUE [13:14:09.624] - signal: TRUE [13:14:09.624] - resignal: FALSE [13:14:09.624] - force: TRUE [13:14:09.624] - relayed: [n=2] FALSE, FALSE [13:14:09.625] - queued futures: [n=2] FALSE, FALSE [13:14:09.625] - until=1 [13:14:09.625] - relaying element #1 [13:14:09.625] result() for ClusterFuture ... [13:14:09.625] - result already collected: FutureResult [13:14:09.625] result() for ClusterFuture ... done [13:14:09.626] result() for ClusterFuture ... [13:14:09.626] - result already collected: FutureResult [13:14:09.626] result() for ClusterFuture ... done [13:14:09.626] result() for ClusterFuture ... [13:14:09.626] - result already collected: FutureResult [13:14:09.626] result() for ClusterFuture ... done [13:14:09.627] result() for ClusterFuture ... [13:14:09.627] - result already collected: FutureResult [13:14:09.627] result() for ClusterFuture ... done [13:14:09.627] - relayed: [n=2] TRUE, FALSE [13:14:09.627] - queued futures: [n=2] TRUE, FALSE [13:14:09.627] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:09.628] length: 1 (resolved future 1) [13:14:09.628] Future #2 [13:14:09.628] result() for ClusterFuture ... [13:14:09.628] - result already collected: FutureResult [13:14:09.628] result() for ClusterFuture ... done [13:14:09.628] result() for ClusterFuture ... [13:14:09.628] - result already collected: FutureResult [13:14:09.629] result() for ClusterFuture ... done [13:14:09.629] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:09.629] - nx: 2 [13:14:09.629] - relay: TRUE [13:14:09.629] - stdout: TRUE [13:14:09.629] - signal: TRUE [13:14:09.630] - resignal: FALSE [13:14:09.630] - force: TRUE [13:14:09.630] - relayed: [n=2] TRUE, FALSE [13:14:09.630] - queued futures: [n=2] TRUE, FALSE [13:14:09.630] - until=2 [13:14:09.630] - relaying element #2 [13:14:09.631] result() for ClusterFuture ... [13:14:09.631] - result already collected: FutureResult [13:14:09.631] result() for ClusterFuture ... done [13:14:09.631] result() for ClusterFuture ... [13:14:09.631] - result already collected: FutureResult [13:14:09.631] result() for ClusterFuture ... done [13:14:09.631] result() for ClusterFuture ... [13:14:09.632] - result already collected: FutureResult [13:14:09.632] result() for ClusterFuture ... done [13:14:09.632] result() for ClusterFuture ... [13:14:09.632] - result already collected: FutureResult [13:14:09.632] result() for ClusterFuture ... done [13:14:09.632] - relayed: [n=2] TRUE, TRUE [13:14:09.633] - queued futures: [n=2] TRUE, TRUE [13:14:09.633] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:09.633] length: 0 (resolved future 2) [13:14:09.633] Relaying remaining futures [13:14:09.633] signalConditionsASAP(NULL, pos=0) ... [13:14:09.633] - nx: 2 [13:14:09.634] - relay: TRUE [13:14:09.634] - stdout: TRUE [13:14:09.634] - signal: TRUE [13:14:09.634] - resignal: FALSE [13:14:09.634] - force: TRUE [13:14:09.634] - relayed: [n=2] TRUE, TRUE [13:14:09.634] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:09.635] - relayed: [n=2] TRUE, TRUE [13:14:09.635] - queued futures: [n=2] TRUE, TRUE [13:14:09.635] signalConditionsASAP(NULL, pos=0) ... done [13:14:09.635] resolve() on list ... DONE [13:14:09.635] result() for ClusterFuture ... [13:14:09.635] - result already collected: FutureResult [13:14:09.636] result() for ClusterFuture ... done [13:14:09.636] result() for ClusterFuture ... [13:14:09.636] - result already collected: FutureResult [13:14:09.636] result() for ClusterFuture ... done [13:14:09.636] result() for ClusterFuture ... [13:14:09.636] - result already collected: FutureResult [13:14:09.637] result() for ClusterFuture ... done [13:14:09.637] result() for ClusterFuture ... [13:14:09.637] - result already collected: FutureResult [13:14:09.637] result() for ClusterFuture ... done [13:14:09.637] - Number of value chunks collected: 2 [13:14:09.637] Resolving 2 futures (chunks) ... DONE [13:14:09.637] Reducing values from 2 chunks ... [13:14:09.638] - Number of values collected after concatenation: 6 [13:14:09.638] - Number of values expected: 6 [13:14:09.638] Reducing values from 2 chunks ... DONE [13:14:09.638] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... $ y1: num [1:3, 1:5, 1:6] 2 2 2 4 4 4 6 6 6 8 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:6] "a1" "a2" "b1" "b2" ... [13:14:09.642] future_lapply() ... [13:14:09.644] Number of chunks: 2 [13:14:09.645] getGlobalsAndPackagesXApply() ... [13:14:09.645] - future.globals: TRUE [13:14:09.645] getGlobalsAndPackages() ... [13:14:09.645] Searching for globals... [13:14:09.646] - globals found: [1] 'FUN' [13:14:09.647] Searching for globals ... DONE [13:14:09.647] Resolving globals: FALSE [13:14:09.647] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:09.648] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:09.648] - globals: [1] 'FUN' [13:14:09.648] [13:14:09.648] getGlobalsAndPackages() ... DONE [13:14:09.648] - globals found/used: [n=1] 'FUN' [13:14:09.648] - needed namespaces: [n=0] [13:14:09.649] Finding globals ... DONE [13:14:09.649] - use_args: TRUE [13:14:09.649] - Getting '...' globals ... [13:14:09.649] resolve() on list ... [13:14:09.649] recursive: 0 [13:14:09.650] length: 1 [13:14:09.650] elements: '...' [13:14:09.650] length: 0 (resolved future 1) [13:14:09.650] resolve() on list ... DONE [13:14:09.650] - '...' content: [n=0] [13:14:09.650] List of 1 [13:14:09.650] $ ...: list() [13:14:09.650] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.650] - attr(*, "where")=List of 1 [13:14:09.650] ..$ ...: [13:14:09.650] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.650] - attr(*, "resolved")= logi TRUE [13:14:09.650] - attr(*, "total_size")= num NA [13:14:09.653] - Getting '...' globals ... DONE [13:14:09.654] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:09.654] List of 2 [13:14:09.654] $ ...future.FUN:function (x) [13:14:09.654] $ ... : list() [13:14:09.654] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.654] - attr(*, "where")=List of 2 [13:14:09.654] ..$ ...future.FUN: [13:14:09.654] ..$ ... : [13:14:09.654] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.654] - attr(*, "resolved")= logi FALSE [13:14:09.654] - attr(*, "total_size")= num 848 [13:14:09.657] Packages to be attached in all futures: [n=0] [13:14:09.657] getGlobalsAndPackagesXApply() ... DONE [13:14:09.658] Number of futures (= number of chunks): 2 [13:14:09.658] Launching 2 futures (chunks) ... [13:14:09.658] Chunk #1 of 2 ... [13:14:09.658] - Finding globals in 'X' for chunk #1 ... [13:14:09.658] getGlobalsAndPackages() ... [13:14:09.659] Searching for globals... [13:14:09.659] [13:14:09.659] Searching for globals ... DONE [13:14:09.659] - globals: [0] [13:14:09.659] getGlobalsAndPackages() ... DONE [13:14:09.659] + additional globals found: [n=0] [13:14:09.660] + additional namespaces needed: [n=0] [13:14:09.660] - Finding globals in 'X' for chunk #1 ... DONE [13:14:09.660] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.660] - seeds: [13:14:09.660] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.661] getGlobalsAndPackages() ... [13:14:09.661] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.661] Resolving globals: FALSE [13:14:09.661] Tweak future expression to call with '...' arguments ... [13:14:09.661] { [13:14:09.661] do.call(function(...) { [13:14:09.661] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.661] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.661] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.661] on.exit(options(oopts), add = TRUE) [13:14:09.661] } [13:14:09.661] { [13:14:09.661] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.661] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.661] ...future.FUN(...future.X_jj, ...) [13:14:09.661] }) [13:14:09.661] } [13:14:09.661] }, args = future.call.arguments) [13:14:09.661] } [13:14:09.662] Tweak future expression to call with '...' arguments ... DONE [13:14:09.662] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.662] [13:14:09.662] getGlobalsAndPackages() ... DONE [13:14:09.663] run() for 'Future' ... [13:14:09.663] - state: 'created' [13:14:09.663] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.677] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.678] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.678] - Field: 'node' [13:14:09.678] - Field: 'label' [13:14:09.678] - Field: 'local' [13:14:09.678] - Field: 'owner' [13:14:09.679] - Field: 'envir' [13:14:09.679] - Field: 'workers' [13:14:09.679] - Field: 'packages' [13:14:09.679] - Field: 'gc' [13:14:09.679] - Field: 'conditions' [13:14:09.679] - Field: 'persistent' [13:14:09.680] - Field: 'expr' [13:14:09.680] - Field: 'uuid' [13:14:09.680] - Field: 'seed' [13:14:09.680] - Field: 'version' [13:14:09.680] - Field: 'result' [13:14:09.680] - Field: 'asynchronous' [13:14:09.681] - Field: 'calls' [13:14:09.681] - Field: 'globals' [13:14:09.681] - Field: 'stdout' [13:14:09.681] - Field: 'earlySignal' [13:14:09.681] - Field: 'lazy' [13:14:09.681] - Field: 'state' [13:14:09.682] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.682] - Launch lazy future ... [13:14:09.682] Packages needed by the future expression (n = 0): [13:14:09.682] Packages needed by future strategies (n = 0): [13:14:09.683] { [13:14:09.683] { [13:14:09.683] { [13:14:09.683] ...future.startTime <- base::Sys.time() [13:14:09.683] { [13:14:09.683] { [13:14:09.683] { [13:14:09.683] { [13:14:09.683] base::local({ [13:14:09.683] has_future <- base::requireNamespace("future", [13:14:09.683] quietly = TRUE) [13:14:09.683] if (has_future) { [13:14:09.683] ns <- base::getNamespace("future") [13:14:09.683] version <- ns[[".package"]][["version"]] [13:14:09.683] if (is.null(version)) [13:14:09.683] version <- utils::packageVersion("future") [13:14:09.683] } [13:14:09.683] else { [13:14:09.683] version <- NULL [13:14:09.683] } [13:14:09.683] if (!has_future || version < "1.8.0") { [13:14:09.683] info <- base::c(r_version = base::gsub("R version ", [13:14:09.683] "", base::R.version$version.string), [13:14:09.683] platform = base::sprintf("%s (%s-bit)", [13:14:09.683] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.683] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.683] "release", "version")], collapse = " "), [13:14:09.683] hostname = base::Sys.info()[["nodename"]]) [13:14:09.683] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.683] info) [13:14:09.683] info <- base::paste(info, collapse = "; ") [13:14:09.683] if (!has_future) { [13:14:09.683] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.683] info) [13:14:09.683] } [13:14:09.683] else { [13:14:09.683] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.683] info, version) [13:14:09.683] } [13:14:09.683] base::stop(msg) [13:14:09.683] } [13:14:09.683] }) [13:14:09.683] } [13:14:09.683] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.683] base::options(mc.cores = 1L) [13:14:09.683] } [13:14:09.683] options(future.plan = NULL) [13:14:09.683] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.683] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.683] } [13:14:09.683] ...future.workdir <- getwd() [13:14:09.683] } [13:14:09.683] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.683] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.683] } [13:14:09.683] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.683] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.683] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.683] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.683] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.683] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.683] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.683] base::names(...future.oldOptions)) [13:14:09.683] } [13:14:09.683] if (FALSE) { [13:14:09.683] } [13:14:09.683] else { [13:14:09.683] if (TRUE) { [13:14:09.683] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.683] open = "w") [13:14:09.683] } [13:14:09.683] else { [13:14:09.683] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.683] windows = "NUL", "/dev/null"), open = "w") [13:14:09.683] } [13:14:09.683] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.683] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.683] base::sink(type = "output", split = FALSE) [13:14:09.683] base::close(...future.stdout) [13:14:09.683] }, add = TRUE) [13:14:09.683] } [13:14:09.683] ...future.frame <- base::sys.nframe() [13:14:09.683] ...future.conditions <- base::list() [13:14:09.683] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.683] if (FALSE) { [13:14:09.683] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.683] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.683] } [13:14:09.683] ...future.result <- base::tryCatch({ [13:14:09.683] base::withCallingHandlers({ [13:14:09.683] ...future.value <- base::withVisible(base::local({ [13:14:09.683] ...future.makeSendCondition <- local({ [13:14:09.683] sendCondition <- NULL [13:14:09.683] function(frame = 1L) { [13:14:09.683] if (is.function(sendCondition)) [13:14:09.683] return(sendCondition) [13:14:09.683] ns <- getNamespace("parallel") [13:14:09.683] if (exists("sendData", mode = "function", [13:14:09.683] envir = ns)) { [13:14:09.683] parallel_sendData <- get("sendData", mode = "function", [13:14:09.683] envir = ns) [13:14:09.683] envir <- sys.frame(frame) [13:14:09.683] master <- NULL [13:14:09.683] while (!identical(envir, .GlobalEnv) && [13:14:09.683] !identical(envir, emptyenv())) { [13:14:09.683] if (exists("master", mode = "list", envir = envir, [13:14:09.683] inherits = FALSE)) { [13:14:09.683] master <- get("master", mode = "list", [13:14:09.683] envir = envir, inherits = FALSE) [13:14:09.683] if (inherits(master, c("SOCKnode", [13:14:09.683] "SOCK0node"))) { [13:14:09.683] sendCondition <<- function(cond) { [13:14:09.683] data <- list(type = "VALUE", value = cond, [13:14:09.683] success = TRUE) [13:14:09.683] parallel_sendData(master, data) [13:14:09.683] } [13:14:09.683] return(sendCondition) [13:14:09.683] } [13:14:09.683] } [13:14:09.683] frame <- frame + 1L [13:14:09.683] envir <- sys.frame(frame) [13:14:09.683] } [13:14:09.683] } [13:14:09.683] sendCondition <<- function(cond) NULL [13:14:09.683] } [13:14:09.683] }) [13:14:09.683] withCallingHandlers({ [13:14:09.683] { [13:14:09.683] do.call(function(...) { [13:14:09.683] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.683] if (!identical(...future.globals.maxSize.org, [13:14:09.683] ...future.globals.maxSize)) { [13:14:09.683] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.683] on.exit(options(oopts), add = TRUE) [13:14:09.683] } [13:14:09.683] { [13:14:09.683] lapply(seq_along(...future.elements_ii), [13:14:09.683] FUN = function(jj) { [13:14:09.683] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.683] ...future.FUN(...future.X_jj, ...) [13:14:09.683] }) [13:14:09.683] } [13:14:09.683] }, args = future.call.arguments) [13:14:09.683] } [13:14:09.683] }, immediateCondition = function(cond) { [13:14:09.683] sendCondition <- ...future.makeSendCondition() [13:14:09.683] sendCondition(cond) [13:14:09.683] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.683] { [13:14:09.683] inherits <- base::inherits [13:14:09.683] invokeRestart <- base::invokeRestart [13:14:09.683] is.null <- base::is.null [13:14:09.683] muffled <- FALSE [13:14:09.683] if (inherits(cond, "message")) { [13:14:09.683] muffled <- grepl(pattern, "muffleMessage") [13:14:09.683] if (muffled) [13:14:09.683] invokeRestart("muffleMessage") [13:14:09.683] } [13:14:09.683] else if (inherits(cond, "warning")) { [13:14:09.683] muffled <- grepl(pattern, "muffleWarning") [13:14:09.683] if (muffled) [13:14:09.683] invokeRestart("muffleWarning") [13:14:09.683] } [13:14:09.683] else if (inherits(cond, "condition")) { [13:14:09.683] if (!is.null(pattern)) { [13:14:09.683] computeRestarts <- base::computeRestarts [13:14:09.683] grepl <- base::grepl [13:14:09.683] restarts <- computeRestarts(cond) [13:14:09.683] for (restart in restarts) { [13:14:09.683] name <- restart$name [13:14:09.683] if (is.null(name)) [13:14:09.683] next [13:14:09.683] if (!grepl(pattern, name)) [13:14:09.683] next [13:14:09.683] invokeRestart(restart) [13:14:09.683] muffled <- TRUE [13:14:09.683] break [13:14:09.683] } [13:14:09.683] } [13:14:09.683] } [13:14:09.683] invisible(muffled) [13:14:09.683] } [13:14:09.683] muffleCondition(cond) [13:14:09.683] }) [13:14:09.683] })) [13:14:09.683] future::FutureResult(value = ...future.value$value, [13:14:09.683] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.683] ...future.rng), globalenv = if (FALSE) [13:14:09.683] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.683] ...future.globalenv.names)) [13:14:09.683] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.683] }, condition = base::local({ [13:14:09.683] c <- base::c [13:14:09.683] inherits <- base::inherits [13:14:09.683] invokeRestart <- base::invokeRestart [13:14:09.683] length <- base::length [13:14:09.683] list <- base::list [13:14:09.683] seq.int <- base::seq.int [13:14:09.683] signalCondition <- base::signalCondition [13:14:09.683] sys.calls <- base::sys.calls [13:14:09.683] `[[` <- base::`[[` [13:14:09.683] `+` <- base::`+` [13:14:09.683] `<<-` <- base::`<<-` [13:14:09.683] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.683] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.683] 3L)] [13:14:09.683] } [13:14:09.683] function(cond) { [13:14:09.683] is_error <- inherits(cond, "error") [13:14:09.683] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.683] NULL) [13:14:09.683] if (is_error) { [13:14:09.683] sessionInformation <- function() { [13:14:09.683] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.683] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.683] search = base::search(), system = base::Sys.info()) [13:14:09.683] } [13:14:09.683] ...future.conditions[[length(...future.conditions) + [13:14:09.683] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.683] cond$call), session = sessionInformation(), [13:14:09.683] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.683] signalCondition(cond) [13:14:09.683] } [13:14:09.683] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.683] "immediateCondition"))) { [13:14:09.683] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.683] ...future.conditions[[length(...future.conditions) + [13:14:09.683] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.683] if (TRUE && !signal) { [13:14:09.683] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.683] { [13:14:09.683] inherits <- base::inherits [13:14:09.683] invokeRestart <- base::invokeRestart [13:14:09.683] is.null <- base::is.null [13:14:09.683] muffled <- FALSE [13:14:09.683] if (inherits(cond, "message")) { [13:14:09.683] muffled <- grepl(pattern, "muffleMessage") [13:14:09.683] if (muffled) [13:14:09.683] invokeRestart("muffleMessage") [13:14:09.683] } [13:14:09.683] else if (inherits(cond, "warning")) { [13:14:09.683] muffled <- grepl(pattern, "muffleWarning") [13:14:09.683] if (muffled) [13:14:09.683] invokeRestart("muffleWarning") [13:14:09.683] } [13:14:09.683] else if (inherits(cond, "condition")) { [13:14:09.683] if (!is.null(pattern)) { [13:14:09.683] computeRestarts <- base::computeRestarts [13:14:09.683] grepl <- base::grepl [13:14:09.683] restarts <- computeRestarts(cond) [13:14:09.683] for (restart in restarts) { [13:14:09.683] name <- restart$name [13:14:09.683] if (is.null(name)) [13:14:09.683] next [13:14:09.683] if (!grepl(pattern, name)) [13:14:09.683] next [13:14:09.683] invokeRestart(restart) [13:14:09.683] muffled <- TRUE [13:14:09.683] break [13:14:09.683] } [13:14:09.683] } [13:14:09.683] } [13:14:09.683] invisible(muffled) [13:14:09.683] } [13:14:09.683] muffleCondition(cond, pattern = "^muffle") [13:14:09.683] } [13:14:09.683] } [13:14:09.683] else { [13:14:09.683] if (TRUE) { [13:14:09.683] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.683] { [13:14:09.683] inherits <- base::inherits [13:14:09.683] invokeRestart <- base::invokeRestart [13:14:09.683] is.null <- base::is.null [13:14:09.683] muffled <- FALSE [13:14:09.683] if (inherits(cond, "message")) { [13:14:09.683] muffled <- grepl(pattern, "muffleMessage") [13:14:09.683] if (muffled) [13:14:09.683] invokeRestart("muffleMessage") [13:14:09.683] } [13:14:09.683] else if (inherits(cond, "warning")) { [13:14:09.683] muffled <- grepl(pattern, "muffleWarning") [13:14:09.683] if (muffled) [13:14:09.683] invokeRestart("muffleWarning") [13:14:09.683] } [13:14:09.683] else if (inherits(cond, "condition")) { [13:14:09.683] if (!is.null(pattern)) { [13:14:09.683] computeRestarts <- base::computeRestarts [13:14:09.683] grepl <- base::grepl [13:14:09.683] restarts <- computeRestarts(cond) [13:14:09.683] for (restart in restarts) { [13:14:09.683] name <- restart$name [13:14:09.683] if (is.null(name)) [13:14:09.683] next [13:14:09.683] if (!grepl(pattern, name)) [13:14:09.683] next [13:14:09.683] invokeRestart(restart) [13:14:09.683] muffled <- TRUE [13:14:09.683] break [13:14:09.683] } [13:14:09.683] } [13:14:09.683] } [13:14:09.683] invisible(muffled) [13:14:09.683] } [13:14:09.683] muffleCondition(cond, pattern = "^muffle") [13:14:09.683] } [13:14:09.683] } [13:14:09.683] } [13:14:09.683] })) [13:14:09.683] }, error = function(ex) { [13:14:09.683] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.683] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.683] ...future.rng), started = ...future.startTime, [13:14:09.683] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.683] version = "1.8"), class = "FutureResult") [13:14:09.683] }, finally = { [13:14:09.683] if (!identical(...future.workdir, getwd())) [13:14:09.683] setwd(...future.workdir) [13:14:09.683] { [13:14:09.683] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.683] ...future.oldOptions$nwarnings <- NULL [13:14:09.683] } [13:14:09.683] base::options(...future.oldOptions) [13:14:09.683] if (.Platform$OS.type == "windows") { [13:14:09.683] old_names <- names(...future.oldEnvVars) [13:14:09.683] envs <- base::Sys.getenv() [13:14:09.683] names <- names(envs) [13:14:09.683] common <- intersect(names, old_names) [13:14:09.683] added <- setdiff(names, old_names) [13:14:09.683] removed <- setdiff(old_names, names) [13:14:09.683] changed <- common[...future.oldEnvVars[common] != [13:14:09.683] envs[common]] [13:14:09.683] NAMES <- toupper(changed) [13:14:09.683] args <- list() [13:14:09.683] for (kk in seq_along(NAMES)) { [13:14:09.683] name <- changed[[kk]] [13:14:09.683] NAME <- NAMES[[kk]] [13:14:09.683] if (name != NAME && is.element(NAME, old_names)) [13:14:09.683] next [13:14:09.683] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.683] } [13:14:09.683] NAMES <- toupper(added) [13:14:09.683] for (kk in seq_along(NAMES)) { [13:14:09.683] name <- added[[kk]] [13:14:09.683] NAME <- NAMES[[kk]] [13:14:09.683] if (name != NAME && is.element(NAME, old_names)) [13:14:09.683] next [13:14:09.683] args[[name]] <- "" [13:14:09.683] } [13:14:09.683] NAMES <- toupper(removed) [13:14:09.683] for (kk in seq_along(NAMES)) { [13:14:09.683] name <- removed[[kk]] [13:14:09.683] NAME <- NAMES[[kk]] [13:14:09.683] if (name != NAME && is.element(NAME, old_names)) [13:14:09.683] next [13:14:09.683] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.683] } [13:14:09.683] if (length(args) > 0) [13:14:09.683] base::do.call(base::Sys.setenv, args = args) [13:14:09.683] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.683] } [13:14:09.683] else { [13:14:09.683] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.683] } [13:14:09.683] { [13:14:09.683] if (base::length(...future.futureOptionsAdded) > [13:14:09.683] 0L) { [13:14:09.683] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.683] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.683] base::options(opts) [13:14:09.683] } [13:14:09.683] { [13:14:09.683] { [13:14:09.683] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.683] NULL [13:14:09.683] } [13:14:09.683] options(future.plan = NULL) [13:14:09.683] if (is.na(NA_character_)) [13:14:09.683] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.683] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.683] future::plan(list(function (..., workers = availableCores(), [13:14:09.683] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.683] envir = parent.frame()) [13:14:09.683] { [13:14:09.683] if (is.function(workers)) [13:14:09.683] workers <- workers() [13:14:09.683] workers <- structure(as.integer(workers), [13:14:09.683] class = class(workers)) [13:14:09.683] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.683] workers >= 1) [13:14:09.683] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.683] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.683] } [13:14:09.683] future <- MultisessionFuture(..., workers = workers, [13:14:09.683] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.683] envir = envir) [13:14:09.683] if (!future$lazy) [13:14:09.683] future <- run(future) [13:14:09.683] invisible(future) [13:14:09.683] }), .cleanup = FALSE, .init = FALSE) [13:14:09.683] } [13:14:09.683] } [13:14:09.683] } [13:14:09.683] }) [13:14:09.683] if (TRUE) { [13:14:09.683] base::sink(type = "output", split = FALSE) [13:14:09.683] if (TRUE) { [13:14:09.683] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.683] } [13:14:09.683] else { [13:14:09.683] ...future.result["stdout"] <- base::list(NULL) [13:14:09.683] } [13:14:09.683] base::close(...future.stdout) [13:14:09.683] ...future.stdout <- NULL [13:14:09.683] } [13:14:09.683] ...future.result$conditions <- ...future.conditions [13:14:09.683] ...future.result$finished <- base::Sys.time() [13:14:09.683] ...future.result [13:14:09.683] } [13:14:09.688] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:09.689] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:09.689] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:09.689] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.690] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.690] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:09.691] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:09.691] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.691] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.692] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.692] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.692] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:09.693] MultisessionFuture started [13:14:09.693] - Launch lazy future ... done [13:14:09.693] run() for 'MultisessionFuture' ... done [13:14:09.693] Created future: [13:14:09.709] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.709] - Validating connection of MultisessionFuture [13:14:09.710] - received message: FutureResult [13:14:09.710] - Received FutureResult [13:14:09.710] - Erased future from FutureRegistry [13:14:09.710] result() for ClusterFuture ... [13:14:09.710] - result already collected: FutureResult [13:14:09.711] result() for ClusterFuture ... done [13:14:09.711] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.694] MultisessionFuture: [13:14:09.694] Label: 'future_sapply-1' [13:14:09.694] Expression: [13:14:09.694] { [13:14:09.694] do.call(function(...) { [13:14:09.694] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.694] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.694] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.694] on.exit(options(oopts), add = TRUE) [13:14:09.694] } [13:14:09.694] { [13:14:09.694] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.694] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.694] ...future.FUN(...future.X_jj, ...) [13:14:09.694] }) [13:14:09.694] } [13:14:09.694] }, args = future.call.arguments) [13:14:09.694] } [13:14:09.694] Lazy evaluation: FALSE [13:14:09.694] Asynchronous evaluation: TRUE [13:14:09.694] Local evaluation: TRUE [13:14:09.694] Environment: R_GlobalEnv [13:14:09.694] Capture standard output: TRUE [13:14:09.694] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.694] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.694] Packages: [13:14:09.694] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.694] Resolved: TRUE [13:14:09.694] Value: [13:14:09.694] Conditions captured: [13:14:09.694] Early signaling: FALSE [13:14:09.694] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.694] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.711] Chunk #1 of 2 ... DONE [13:14:09.711] Chunk #2 of 2 ... [13:14:09.711] - Finding globals in 'X' for chunk #2 ... [13:14:09.712] getGlobalsAndPackages() ... [13:14:09.712] Searching for globals... [13:14:09.712] [13:14:09.712] Searching for globals ... DONE [13:14:09.712] - globals: [0] [13:14:09.713] getGlobalsAndPackages() ... DONE [13:14:09.713] + additional globals found: [n=0] [13:14:09.713] + additional namespaces needed: [n=0] [13:14:09.713] - Finding globals in 'X' for chunk #2 ... DONE [13:14:09.713] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.713] - seeds: [13:14:09.714] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.714] getGlobalsAndPackages() ... [13:14:09.714] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.714] Resolving globals: FALSE [13:14:09.714] Tweak future expression to call with '...' arguments ... [13:14:09.714] { [13:14:09.714] do.call(function(...) { [13:14:09.714] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.714] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.714] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.714] on.exit(options(oopts), add = TRUE) [13:14:09.714] } [13:14:09.714] { [13:14:09.714] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.714] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.714] ...future.FUN(...future.X_jj, ...) [13:14:09.714] }) [13:14:09.714] } [13:14:09.714] }, args = future.call.arguments) [13:14:09.714] } [13:14:09.715] Tweak future expression to call with '...' arguments ... DONE [13:14:09.715] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.716] [13:14:09.716] getGlobalsAndPackages() ... DONE [13:14:09.716] run() for 'Future' ... [13:14:09.716] - state: 'created' [13:14:09.716] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.731] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.731] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.731] - Field: 'node' [13:14:09.731] - Field: 'label' [13:14:09.732] - Field: 'local' [13:14:09.732] - Field: 'owner' [13:14:09.732] - Field: 'envir' [13:14:09.732] - Field: 'workers' [13:14:09.732] - Field: 'packages' [13:14:09.732] - Field: 'gc' [13:14:09.733] - Field: 'conditions' [13:14:09.733] - Field: 'persistent' [13:14:09.733] - Field: 'expr' [13:14:09.733] - Field: 'uuid' [13:14:09.733] - Field: 'seed' [13:14:09.734] - Field: 'version' [13:14:09.734] - Field: 'result' [13:14:09.734] - Field: 'asynchronous' [13:14:09.734] - Field: 'calls' [13:14:09.734] - Field: 'globals' [13:14:09.734] - Field: 'stdout' [13:14:09.735] - Field: 'earlySignal' [13:14:09.735] - Field: 'lazy' [13:14:09.735] - Field: 'state' [13:14:09.735] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.738] - Launch lazy future ... [13:14:09.738] Packages needed by the future expression (n = 0): [13:14:09.739] Packages needed by future strategies (n = 0): [13:14:09.739] { [13:14:09.739] { [13:14:09.739] { [13:14:09.739] ...future.startTime <- base::Sys.time() [13:14:09.739] { [13:14:09.739] { [13:14:09.739] { [13:14:09.739] { [13:14:09.739] base::local({ [13:14:09.739] has_future <- base::requireNamespace("future", [13:14:09.739] quietly = TRUE) [13:14:09.739] if (has_future) { [13:14:09.739] ns <- base::getNamespace("future") [13:14:09.739] version <- ns[[".package"]][["version"]] [13:14:09.739] if (is.null(version)) [13:14:09.739] version <- utils::packageVersion("future") [13:14:09.739] } [13:14:09.739] else { [13:14:09.739] version <- NULL [13:14:09.739] } [13:14:09.739] if (!has_future || version < "1.8.0") { [13:14:09.739] info <- base::c(r_version = base::gsub("R version ", [13:14:09.739] "", base::R.version$version.string), [13:14:09.739] platform = base::sprintf("%s (%s-bit)", [13:14:09.739] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.739] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.739] "release", "version")], collapse = " "), [13:14:09.739] hostname = base::Sys.info()[["nodename"]]) [13:14:09.739] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.739] info) [13:14:09.739] info <- base::paste(info, collapse = "; ") [13:14:09.739] if (!has_future) { [13:14:09.739] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.739] info) [13:14:09.739] } [13:14:09.739] else { [13:14:09.739] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.739] info, version) [13:14:09.739] } [13:14:09.739] base::stop(msg) [13:14:09.739] } [13:14:09.739] }) [13:14:09.739] } [13:14:09.739] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.739] base::options(mc.cores = 1L) [13:14:09.739] } [13:14:09.739] options(future.plan = NULL) [13:14:09.739] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.739] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.739] } [13:14:09.739] ...future.workdir <- getwd() [13:14:09.739] } [13:14:09.739] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.739] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.739] } [13:14:09.739] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.739] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.739] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.739] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.739] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.739] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.739] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.739] base::names(...future.oldOptions)) [13:14:09.739] } [13:14:09.739] if (FALSE) { [13:14:09.739] } [13:14:09.739] else { [13:14:09.739] if (TRUE) { [13:14:09.739] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.739] open = "w") [13:14:09.739] } [13:14:09.739] else { [13:14:09.739] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.739] windows = "NUL", "/dev/null"), open = "w") [13:14:09.739] } [13:14:09.739] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.739] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.739] base::sink(type = "output", split = FALSE) [13:14:09.739] base::close(...future.stdout) [13:14:09.739] }, add = TRUE) [13:14:09.739] } [13:14:09.739] ...future.frame <- base::sys.nframe() [13:14:09.739] ...future.conditions <- base::list() [13:14:09.739] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.739] if (FALSE) { [13:14:09.739] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.739] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.739] } [13:14:09.739] ...future.result <- base::tryCatch({ [13:14:09.739] base::withCallingHandlers({ [13:14:09.739] ...future.value <- base::withVisible(base::local({ [13:14:09.739] ...future.makeSendCondition <- local({ [13:14:09.739] sendCondition <- NULL [13:14:09.739] function(frame = 1L) { [13:14:09.739] if (is.function(sendCondition)) [13:14:09.739] return(sendCondition) [13:14:09.739] ns <- getNamespace("parallel") [13:14:09.739] if (exists("sendData", mode = "function", [13:14:09.739] envir = ns)) { [13:14:09.739] parallel_sendData <- get("sendData", mode = "function", [13:14:09.739] envir = ns) [13:14:09.739] envir <- sys.frame(frame) [13:14:09.739] master <- NULL [13:14:09.739] while (!identical(envir, .GlobalEnv) && [13:14:09.739] !identical(envir, emptyenv())) { [13:14:09.739] if (exists("master", mode = "list", envir = envir, [13:14:09.739] inherits = FALSE)) { [13:14:09.739] master <- get("master", mode = "list", [13:14:09.739] envir = envir, inherits = FALSE) [13:14:09.739] if (inherits(master, c("SOCKnode", [13:14:09.739] "SOCK0node"))) { [13:14:09.739] sendCondition <<- function(cond) { [13:14:09.739] data <- list(type = "VALUE", value = cond, [13:14:09.739] success = TRUE) [13:14:09.739] parallel_sendData(master, data) [13:14:09.739] } [13:14:09.739] return(sendCondition) [13:14:09.739] } [13:14:09.739] } [13:14:09.739] frame <- frame + 1L [13:14:09.739] envir <- sys.frame(frame) [13:14:09.739] } [13:14:09.739] } [13:14:09.739] sendCondition <<- function(cond) NULL [13:14:09.739] } [13:14:09.739] }) [13:14:09.739] withCallingHandlers({ [13:14:09.739] { [13:14:09.739] do.call(function(...) { [13:14:09.739] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.739] if (!identical(...future.globals.maxSize.org, [13:14:09.739] ...future.globals.maxSize)) { [13:14:09.739] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.739] on.exit(options(oopts), add = TRUE) [13:14:09.739] } [13:14:09.739] { [13:14:09.739] lapply(seq_along(...future.elements_ii), [13:14:09.739] FUN = function(jj) { [13:14:09.739] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.739] ...future.FUN(...future.X_jj, ...) [13:14:09.739] }) [13:14:09.739] } [13:14:09.739] }, args = future.call.arguments) [13:14:09.739] } [13:14:09.739] }, immediateCondition = function(cond) { [13:14:09.739] sendCondition <- ...future.makeSendCondition() [13:14:09.739] sendCondition(cond) [13:14:09.739] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.739] { [13:14:09.739] inherits <- base::inherits [13:14:09.739] invokeRestart <- base::invokeRestart [13:14:09.739] is.null <- base::is.null [13:14:09.739] muffled <- FALSE [13:14:09.739] if (inherits(cond, "message")) { [13:14:09.739] muffled <- grepl(pattern, "muffleMessage") [13:14:09.739] if (muffled) [13:14:09.739] invokeRestart("muffleMessage") [13:14:09.739] } [13:14:09.739] else if (inherits(cond, "warning")) { [13:14:09.739] muffled <- grepl(pattern, "muffleWarning") [13:14:09.739] if (muffled) [13:14:09.739] invokeRestart("muffleWarning") [13:14:09.739] } [13:14:09.739] else if (inherits(cond, "condition")) { [13:14:09.739] if (!is.null(pattern)) { [13:14:09.739] computeRestarts <- base::computeRestarts [13:14:09.739] grepl <- base::grepl [13:14:09.739] restarts <- computeRestarts(cond) [13:14:09.739] for (restart in restarts) { [13:14:09.739] name <- restart$name [13:14:09.739] if (is.null(name)) [13:14:09.739] next [13:14:09.739] if (!grepl(pattern, name)) [13:14:09.739] next [13:14:09.739] invokeRestart(restart) [13:14:09.739] muffled <- TRUE [13:14:09.739] break [13:14:09.739] } [13:14:09.739] } [13:14:09.739] } [13:14:09.739] invisible(muffled) [13:14:09.739] } [13:14:09.739] muffleCondition(cond) [13:14:09.739] }) [13:14:09.739] })) [13:14:09.739] future::FutureResult(value = ...future.value$value, [13:14:09.739] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.739] ...future.rng), globalenv = if (FALSE) [13:14:09.739] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.739] ...future.globalenv.names)) [13:14:09.739] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.739] }, condition = base::local({ [13:14:09.739] c <- base::c [13:14:09.739] inherits <- base::inherits [13:14:09.739] invokeRestart <- base::invokeRestart [13:14:09.739] length <- base::length [13:14:09.739] list <- base::list [13:14:09.739] seq.int <- base::seq.int [13:14:09.739] signalCondition <- base::signalCondition [13:14:09.739] sys.calls <- base::sys.calls [13:14:09.739] `[[` <- base::`[[` [13:14:09.739] `+` <- base::`+` [13:14:09.739] `<<-` <- base::`<<-` [13:14:09.739] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.739] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.739] 3L)] [13:14:09.739] } [13:14:09.739] function(cond) { [13:14:09.739] is_error <- inherits(cond, "error") [13:14:09.739] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.739] NULL) [13:14:09.739] if (is_error) { [13:14:09.739] sessionInformation <- function() { [13:14:09.739] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.739] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.739] search = base::search(), system = base::Sys.info()) [13:14:09.739] } [13:14:09.739] ...future.conditions[[length(...future.conditions) + [13:14:09.739] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.739] cond$call), session = sessionInformation(), [13:14:09.739] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.739] signalCondition(cond) [13:14:09.739] } [13:14:09.739] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.739] "immediateCondition"))) { [13:14:09.739] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.739] ...future.conditions[[length(...future.conditions) + [13:14:09.739] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.739] if (TRUE && !signal) { [13:14:09.739] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.739] { [13:14:09.739] inherits <- base::inherits [13:14:09.739] invokeRestart <- base::invokeRestart [13:14:09.739] is.null <- base::is.null [13:14:09.739] muffled <- FALSE [13:14:09.739] if (inherits(cond, "message")) { [13:14:09.739] muffled <- grepl(pattern, "muffleMessage") [13:14:09.739] if (muffled) [13:14:09.739] invokeRestart("muffleMessage") [13:14:09.739] } [13:14:09.739] else if (inherits(cond, "warning")) { [13:14:09.739] muffled <- grepl(pattern, "muffleWarning") [13:14:09.739] if (muffled) [13:14:09.739] invokeRestart("muffleWarning") [13:14:09.739] } [13:14:09.739] else if (inherits(cond, "condition")) { [13:14:09.739] if (!is.null(pattern)) { [13:14:09.739] computeRestarts <- base::computeRestarts [13:14:09.739] grepl <- base::grepl [13:14:09.739] restarts <- computeRestarts(cond) [13:14:09.739] for (restart in restarts) { [13:14:09.739] name <- restart$name [13:14:09.739] if (is.null(name)) [13:14:09.739] next [13:14:09.739] if (!grepl(pattern, name)) [13:14:09.739] next [13:14:09.739] invokeRestart(restart) [13:14:09.739] muffled <- TRUE [13:14:09.739] break [13:14:09.739] } [13:14:09.739] } [13:14:09.739] } [13:14:09.739] invisible(muffled) [13:14:09.739] } [13:14:09.739] muffleCondition(cond, pattern = "^muffle") [13:14:09.739] } [13:14:09.739] } [13:14:09.739] else { [13:14:09.739] if (TRUE) { [13:14:09.739] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.739] { [13:14:09.739] inherits <- base::inherits [13:14:09.739] invokeRestart <- base::invokeRestart [13:14:09.739] is.null <- base::is.null [13:14:09.739] muffled <- FALSE [13:14:09.739] if (inherits(cond, "message")) { [13:14:09.739] muffled <- grepl(pattern, "muffleMessage") [13:14:09.739] if (muffled) [13:14:09.739] invokeRestart("muffleMessage") [13:14:09.739] } [13:14:09.739] else if (inherits(cond, "warning")) { [13:14:09.739] muffled <- grepl(pattern, "muffleWarning") [13:14:09.739] if (muffled) [13:14:09.739] invokeRestart("muffleWarning") [13:14:09.739] } [13:14:09.739] else if (inherits(cond, "condition")) { [13:14:09.739] if (!is.null(pattern)) { [13:14:09.739] computeRestarts <- base::computeRestarts [13:14:09.739] grepl <- base::grepl [13:14:09.739] restarts <- computeRestarts(cond) [13:14:09.739] for (restart in restarts) { [13:14:09.739] name <- restart$name [13:14:09.739] if (is.null(name)) [13:14:09.739] next [13:14:09.739] if (!grepl(pattern, name)) [13:14:09.739] next [13:14:09.739] invokeRestart(restart) [13:14:09.739] muffled <- TRUE [13:14:09.739] break [13:14:09.739] } [13:14:09.739] } [13:14:09.739] } [13:14:09.739] invisible(muffled) [13:14:09.739] } [13:14:09.739] muffleCondition(cond, pattern = "^muffle") [13:14:09.739] } [13:14:09.739] } [13:14:09.739] } [13:14:09.739] })) [13:14:09.739] }, error = function(ex) { [13:14:09.739] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.739] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.739] ...future.rng), started = ...future.startTime, [13:14:09.739] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.739] version = "1.8"), class = "FutureResult") [13:14:09.739] }, finally = { [13:14:09.739] if (!identical(...future.workdir, getwd())) [13:14:09.739] setwd(...future.workdir) [13:14:09.739] { [13:14:09.739] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.739] ...future.oldOptions$nwarnings <- NULL [13:14:09.739] } [13:14:09.739] base::options(...future.oldOptions) [13:14:09.739] if (.Platform$OS.type == "windows") { [13:14:09.739] old_names <- names(...future.oldEnvVars) [13:14:09.739] envs <- base::Sys.getenv() [13:14:09.739] names <- names(envs) [13:14:09.739] common <- intersect(names, old_names) [13:14:09.739] added <- setdiff(names, old_names) [13:14:09.739] removed <- setdiff(old_names, names) [13:14:09.739] changed <- common[...future.oldEnvVars[common] != [13:14:09.739] envs[common]] [13:14:09.739] NAMES <- toupper(changed) [13:14:09.739] args <- list() [13:14:09.739] for (kk in seq_along(NAMES)) { [13:14:09.739] name <- changed[[kk]] [13:14:09.739] NAME <- NAMES[[kk]] [13:14:09.739] if (name != NAME && is.element(NAME, old_names)) [13:14:09.739] next [13:14:09.739] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.739] } [13:14:09.739] NAMES <- toupper(added) [13:14:09.739] for (kk in seq_along(NAMES)) { [13:14:09.739] name <- added[[kk]] [13:14:09.739] NAME <- NAMES[[kk]] [13:14:09.739] if (name != NAME && is.element(NAME, old_names)) [13:14:09.739] next [13:14:09.739] args[[name]] <- "" [13:14:09.739] } [13:14:09.739] NAMES <- toupper(removed) [13:14:09.739] for (kk in seq_along(NAMES)) { [13:14:09.739] name <- removed[[kk]] [13:14:09.739] NAME <- NAMES[[kk]] [13:14:09.739] if (name != NAME && is.element(NAME, old_names)) [13:14:09.739] next [13:14:09.739] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.739] } [13:14:09.739] if (length(args) > 0) [13:14:09.739] base::do.call(base::Sys.setenv, args = args) [13:14:09.739] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.739] } [13:14:09.739] else { [13:14:09.739] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.739] } [13:14:09.739] { [13:14:09.739] if (base::length(...future.futureOptionsAdded) > [13:14:09.739] 0L) { [13:14:09.739] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.739] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.739] base::options(opts) [13:14:09.739] } [13:14:09.739] { [13:14:09.739] { [13:14:09.739] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.739] NULL [13:14:09.739] } [13:14:09.739] options(future.plan = NULL) [13:14:09.739] if (is.na(NA_character_)) [13:14:09.739] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.739] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.739] future::plan(list(function (..., workers = availableCores(), [13:14:09.739] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.739] envir = parent.frame()) [13:14:09.739] { [13:14:09.739] if (is.function(workers)) [13:14:09.739] workers <- workers() [13:14:09.739] workers <- structure(as.integer(workers), [13:14:09.739] class = class(workers)) [13:14:09.739] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.739] workers >= 1) [13:14:09.739] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.739] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.739] } [13:14:09.739] future <- MultisessionFuture(..., workers = workers, [13:14:09.739] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.739] envir = envir) [13:14:09.739] if (!future$lazy) [13:14:09.739] future <- run(future) [13:14:09.739] invisible(future) [13:14:09.739] }), .cleanup = FALSE, .init = FALSE) [13:14:09.739] } [13:14:09.739] } [13:14:09.739] } [13:14:09.739] }) [13:14:09.739] if (TRUE) { [13:14:09.739] base::sink(type = "output", split = FALSE) [13:14:09.739] if (TRUE) { [13:14:09.739] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.739] } [13:14:09.739] else { [13:14:09.739] ...future.result["stdout"] <- base::list(NULL) [13:14:09.739] } [13:14:09.739] base::close(...future.stdout) [13:14:09.739] ...future.stdout <- NULL [13:14:09.739] } [13:14:09.739] ...future.result$conditions <- ...future.conditions [13:14:09.739] ...future.result$finished <- base::Sys.time() [13:14:09.739] ...future.result [13:14:09.739] } [13:14:09.745] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:09.745] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:09.746] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:09.746] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.746] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.747] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:09.747] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:09.747] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.748] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.748] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.748] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.748] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:09.749] MultisessionFuture started [13:14:09.749] - Launch lazy future ... done [13:14:09.749] run() for 'MultisessionFuture' ... done [13:14:09.750] Created future: [13:14:09.765] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.766] - Validating connection of MultisessionFuture [13:14:09.766] - received message: FutureResult [13:14:09.766] - Received FutureResult [13:14:09.766] - Erased future from FutureRegistry [13:14:09.766] result() for ClusterFuture ... [13:14:09.766] - result already collected: FutureResult [13:14:09.767] result() for ClusterFuture ... done [13:14:09.767] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.750] MultisessionFuture: [13:14:09.750] Label: 'future_sapply-2' [13:14:09.750] Expression: [13:14:09.750] { [13:14:09.750] do.call(function(...) { [13:14:09.750] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.750] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.750] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.750] on.exit(options(oopts), add = TRUE) [13:14:09.750] } [13:14:09.750] { [13:14:09.750] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.750] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.750] ...future.FUN(...future.X_jj, ...) [13:14:09.750] }) [13:14:09.750] } [13:14:09.750] }, args = future.call.arguments) [13:14:09.750] } [13:14:09.750] Lazy evaluation: FALSE [13:14:09.750] Asynchronous evaluation: TRUE [13:14:09.750] Local evaluation: TRUE [13:14:09.750] Environment: R_GlobalEnv [13:14:09.750] Capture standard output: TRUE [13:14:09.750] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.750] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.750] Packages: [13:14:09.750] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.750] Resolved: TRUE [13:14:09.750] Value: [13:14:09.750] Conditions captured: [13:14:09.750] Early signaling: FALSE [13:14:09.750] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.750] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.767] Chunk #2 of 2 ... DONE [13:14:09.767] Launching 2 futures (chunks) ... DONE [13:14:09.768] Resolving 2 futures (chunks) ... [13:14:09.768] resolve() on list ... [13:14:09.768] recursive: 0 [13:14:09.768] length: 2 [13:14:09.768] [13:14:09.768] Future #1 [13:14:09.769] result() for ClusterFuture ... [13:14:09.769] - result already collected: FutureResult [13:14:09.769] result() for ClusterFuture ... done [13:14:09.769] result() for ClusterFuture ... [13:14:09.769] - result already collected: FutureResult [13:14:09.769] result() for ClusterFuture ... done [13:14:09.769] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:09.770] - nx: 2 [13:14:09.770] - relay: TRUE [13:14:09.770] - stdout: TRUE [13:14:09.770] - signal: TRUE [13:14:09.770] - resignal: FALSE [13:14:09.770] - force: TRUE [13:14:09.771] - relayed: [n=2] FALSE, FALSE [13:14:09.771] - queued futures: [n=2] FALSE, FALSE [13:14:09.771] - until=1 [13:14:09.771] - relaying element #1 [13:14:09.771] result() for ClusterFuture ... [13:14:09.771] - result already collected: FutureResult [13:14:09.771] result() for ClusterFuture ... done [13:14:09.772] result() for ClusterFuture ... [13:14:09.772] - result already collected: FutureResult [13:14:09.772] result() for ClusterFuture ... done [13:14:09.772] result() for ClusterFuture ... [13:14:09.772] - result already collected: FutureResult [13:14:09.772] result() for ClusterFuture ... done [13:14:09.773] result() for ClusterFuture ... [13:14:09.773] - result already collected: FutureResult [13:14:09.773] result() for ClusterFuture ... done [13:14:09.773] - relayed: [n=2] TRUE, FALSE [13:14:09.773] - queued futures: [n=2] TRUE, FALSE [13:14:09.773] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:09.774] length: 1 (resolved future 1) [13:14:09.774] Future #2 [13:14:09.774] result() for ClusterFuture ... [13:14:09.774] - result already collected: FutureResult [13:14:09.774] result() for ClusterFuture ... done [13:14:09.774] result() for ClusterFuture ... [13:14:09.775] - result already collected: FutureResult [13:14:09.775] result() for ClusterFuture ... done [13:14:09.775] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:09.775] - nx: 2 [13:14:09.775] - relay: TRUE [13:14:09.775] - stdout: TRUE [13:14:09.775] - signal: TRUE [13:14:09.776] - resignal: FALSE [13:14:09.776] - force: TRUE [13:14:09.776] - relayed: [n=2] TRUE, FALSE [13:14:09.776] - queued futures: [n=2] TRUE, FALSE [13:14:09.776] - until=2 [13:14:09.776] - relaying element #2 [13:14:09.777] result() for ClusterFuture ... [13:14:09.777] - result already collected: FutureResult [13:14:09.777] result() for ClusterFuture ... done [13:14:09.777] result() for ClusterFuture ... [13:14:09.777] - result already collected: FutureResult [13:14:09.777] result() for ClusterFuture ... done [13:14:09.778] result() for ClusterFuture ... [13:14:09.778] - result already collected: FutureResult [13:14:09.778] result() for ClusterFuture ... done [13:14:09.778] result() for ClusterFuture ... [13:14:09.778] - result already collected: FutureResult [13:14:09.778] result() for ClusterFuture ... done [13:14:09.778] - relayed: [n=2] TRUE, TRUE [13:14:09.779] - queued futures: [n=2] TRUE, TRUE [13:14:09.779] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:09.779] length: 0 (resolved future 2) [13:14:09.779] Relaying remaining futures [13:14:09.779] signalConditionsASAP(NULL, pos=0) ... [13:14:09.779] - nx: 2 [13:14:09.780] - relay: TRUE [13:14:09.780] - stdout: TRUE [13:14:09.780] - signal: TRUE [13:14:09.780] - resignal: FALSE [13:14:09.780] - force: TRUE [13:14:09.780] - relayed: [n=2] TRUE, TRUE [13:14:09.780] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:09.781] - relayed: [n=2] TRUE, TRUE [13:14:09.781] - queued futures: [n=2] TRUE, TRUE [13:14:09.781] signalConditionsASAP(NULL, pos=0) ... done [13:14:09.781] resolve() on list ... DONE [13:14:09.781] result() for ClusterFuture ... [13:14:09.781] - result already collected: FutureResult [13:14:09.782] result() for ClusterFuture ... done [13:14:09.782] result() for ClusterFuture ... [13:14:09.782] - result already collected: FutureResult [13:14:09.782] result() for ClusterFuture ... done [13:14:09.782] result() for ClusterFuture ... [13:14:09.782] - result already collected: FutureResult [13:14:09.783] result() for ClusterFuture ... done [13:14:09.783] result() for ClusterFuture ... [13:14:09.783] - result already collected: FutureResult [13:14:09.783] result() for ClusterFuture ... done [13:14:09.783] - Number of value chunks collected: 2 [13:14:09.783] Resolving 2 futures (chunks) ... DONE [13:14:09.784] Reducing values from 2 chunks ... [13:14:09.784] - Number of values collected after concatenation: 3 [13:14:09.784] - Number of values expected: 3 [13:14:09.784] Reducing values from 2 chunks ... DONE [13:14:09.784] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" $ y1:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" List of 2 $ y0:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" $ y2:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" [13:14:09.790] future_lapply() ... [13:14:09.793] Number of chunks: 2 [13:14:09.793] getGlobalsAndPackagesXApply() ... [13:14:09.793] - future.globals: TRUE [13:14:09.793] getGlobalsAndPackages() ... [13:14:09.793] Searching for globals... [13:14:09.795] - globals found: [2] 'FUN', 'UseMethod' [13:14:09.795] Searching for globals ... DONE [13:14:09.795] Resolving globals: FALSE [13:14:09.795] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:09.796] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:09.796] - globals: [1] 'FUN' [13:14:09.796] [13:14:09.796] getGlobalsAndPackages() ... DONE [13:14:09.797] - globals found/used: [n=1] 'FUN' [13:14:09.797] - needed namespaces: [n=0] [13:14:09.797] Finding globals ... DONE [13:14:09.797] - use_args: TRUE [13:14:09.797] - Getting '...' globals ... [13:14:09.798] resolve() on list ... [13:14:09.798] recursive: 0 [13:14:09.798] length: 1 [13:14:09.798] elements: '...' [13:14:09.798] length: 0 (resolved future 1) [13:14:09.798] resolve() on list ... DONE [13:14:09.799] - '...' content: [n=0] [13:14:09.799] List of 1 [13:14:09.799] $ ...: list() [13:14:09.799] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.799] - attr(*, "where")=List of 1 [13:14:09.799] ..$ ...: [13:14:09.799] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.799] - attr(*, "resolved")= logi TRUE [13:14:09.799] - attr(*, "total_size")= num NA [13:14:09.802] - Getting '...' globals ... DONE [13:14:09.802] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:09.802] List of 2 [13:14:09.802] $ ...future.FUN:function (x, ...) [13:14:09.802] $ ... : list() [13:14:09.802] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.802] - attr(*, "where")=List of 2 [13:14:09.802] ..$ ...future.FUN: [13:14:09.802] ..$ ... : [13:14:09.802] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.802] - attr(*, "resolved")= logi FALSE [13:14:09.802] - attr(*, "total_size")= num 1248 [13:14:09.806] Packages to be attached in all futures: [n=0] [13:14:09.806] getGlobalsAndPackagesXApply() ... DONE [13:14:09.806] Number of futures (= number of chunks): 2 [13:14:09.806] Launching 2 futures (chunks) ... [13:14:09.806] Chunk #1 of 2 ... [13:14:09.807] - Finding globals in 'X' for chunk #1 ... [13:14:09.807] getGlobalsAndPackages() ... [13:14:09.807] Searching for globals... [13:14:09.807] [13:14:09.807] Searching for globals ... DONE [13:14:09.808] - globals: [0] [13:14:09.808] getGlobalsAndPackages() ... DONE [13:14:09.808] + additional globals found: [n=0] [13:14:09.808] + additional namespaces needed: [n=0] [13:14:09.808] - Finding globals in 'X' for chunk #1 ... DONE [13:14:09.808] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.808] - seeds: [13:14:09.809] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.809] getGlobalsAndPackages() ... [13:14:09.809] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.809] Resolving globals: FALSE [13:14:09.809] Tweak future expression to call with '...' arguments ... [13:14:09.810] { [13:14:09.810] do.call(function(...) { [13:14:09.810] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.810] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.810] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.810] on.exit(options(oopts), add = TRUE) [13:14:09.810] } [13:14:09.810] { [13:14:09.810] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.810] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.810] ...future.FUN(...future.X_jj, ...) [13:14:09.810] }) [13:14:09.810] } [13:14:09.810] }, args = future.call.arguments) [13:14:09.810] } [13:14:09.810] Tweak future expression to call with '...' arguments ... DONE [13:14:09.810] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.811] [13:14:09.811] getGlobalsAndPackages() ... DONE [13:14:09.811] run() for 'Future' ... [13:14:09.811] - state: 'created' [13:14:09.812] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.826] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.826] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.826] - Field: 'node' [13:14:09.826] - Field: 'label' [13:14:09.826] - Field: 'local' [13:14:09.827] - Field: 'owner' [13:14:09.827] - Field: 'envir' [13:14:09.827] - Field: 'workers' [13:14:09.827] - Field: 'packages' [13:14:09.827] - Field: 'gc' [13:14:09.827] - Field: 'conditions' [13:14:09.828] - Field: 'persistent' [13:14:09.828] - Field: 'expr' [13:14:09.828] - Field: 'uuid' [13:14:09.828] - Field: 'seed' [13:14:09.828] - Field: 'version' [13:14:09.828] - Field: 'result' [13:14:09.829] - Field: 'asynchronous' [13:14:09.829] - Field: 'calls' [13:14:09.829] - Field: 'globals' [13:14:09.829] - Field: 'stdout' [13:14:09.829] - Field: 'earlySignal' [13:14:09.830] - Field: 'lazy' [13:14:09.830] - Field: 'state' [13:14:09.830] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.830] - Launch lazy future ... [13:14:09.830] Packages needed by the future expression (n = 0): [13:14:09.831] Packages needed by future strategies (n = 0): [13:14:09.831] { [13:14:09.831] { [13:14:09.831] { [13:14:09.831] ...future.startTime <- base::Sys.time() [13:14:09.831] { [13:14:09.831] { [13:14:09.831] { [13:14:09.831] { [13:14:09.831] base::local({ [13:14:09.831] has_future <- base::requireNamespace("future", [13:14:09.831] quietly = TRUE) [13:14:09.831] if (has_future) { [13:14:09.831] ns <- base::getNamespace("future") [13:14:09.831] version <- ns[[".package"]][["version"]] [13:14:09.831] if (is.null(version)) [13:14:09.831] version <- utils::packageVersion("future") [13:14:09.831] } [13:14:09.831] else { [13:14:09.831] version <- NULL [13:14:09.831] } [13:14:09.831] if (!has_future || version < "1.8.0") { [13:14:09.831] info <- base::c(r_version = base::gsub("R version ", [13:14:09.831] "", base::R.version$version.string), [13:14:09.831] platform = base::sprintf("%s (%s-bit)", [13:14:09.831] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.831] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.831] "release", "version")], collapse = " "), [13:14:09.831] hostname = base::Sys.info()[["nodename"]]) [13:14:09.831] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.831] info) [13:14:09.831] info <- base::paste(info, collapse = "; ") [13:14:09.831] if (!has_future) { [13:14:09.831] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.831] info) [13:14:09.831] } [13:14:09.831] else { [13:14:09.831] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.831] info, version) [13:14:09.831] } [13:14:09.831] base::stop(msg) [13:14:09.831] } [13:14:09.831] }) [13:14:09.831] } [13:14:09.831] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.831] base::options(mc.cores = 1L) [13:14:09.831] } [13:14:09.831] options(future.plan = NULL) [13:14:09.831] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.831] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.831] } [13:14:09.831] ...future.workdir <- getwd() [13:14:09.831] } [13:14:09.831] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.831] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.831] } [13:14:09.831] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.831] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.831] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.831] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.831] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.831] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.831] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.831] base::names(...future.oldOptions)) [13:14:09.831] } [13:14:09.831] if (FALSE) { [13:14:09.831] } [13:14:09.831] else { [13:14:09.831] if (TRUE) { [13:14:09.831] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.831] open = "w") [13:14:09.831] } [13:14:09.831] else { [13:14:09.831] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.831] windows = "NUL", "/dev/null"), open = "w") [13:14:09.831] } [13:14:09.831] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.831] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.831] base::sink(type = "output", split = FALSE) [13:14:09.831] base::close(...future.stdout) [13:14:09.831] }, add = TRUE) [13:14:09.831] } [13:14:09.831] ...future.frame <- base::sys.nframe() [13:14:09.831] ...future.conditions <- base::list() [13:14:09.831] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.831] if (FALSE) { [13:14:09.831] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.831] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.831] } [13:14:09.831] ...future.result <- base::tryCatch({ [13:14:09.831] base::withCallingHandlers({ [13:14:09.831] ...future.value <- base::withVisible(base::local({ [13:14:09.831] ...future.makeSendCondition <- local({ [13:14:09.831] sendCondition <- NULL [13:14:09.831] function(frame = 1L) { [13:14:09.831] if (is.function(sendCondition)) [13:14:09.831] return(sendCondition) [13:14:09.831] ns <- getNamespace("parallel") [13:14:09.831] if (exists("sendData", mode = "function", [13:14:09.831] envir = ns)) { [13:14:09.831] parallel_sendData <- get("sendData", mode = "function", [13:14:09.831] envir = ns) [13:14:09.831] envir <- sys.frame(frame) [13:14:09.831] master <- NULL [13:14:09.831] while (!identical(envir, .GlobalEnv) && [13:14:09.831] !identical(envir, emptyenv())) { [13:14:09.831] if (exists("master", mode = "list", envir = envir, [13:14:09.831] inherits = FALSE)) { [13:14:09.831] master <- get("master", mode = "list", [13:14:09.831] envir = envir, inherits = FALSE) [13:14:09.831] if (inherits(master, c("SOCKnode", [13:14:09.831] "SOCK0node"))) { [13:14:09.831] sendCondition <<- function(cond) { [13:14:09.831] data <- list(type = "VALUE", value = cond, [13:14:09.831] success = TRUE) [13:14:09.831] parallel_sendData(master, data) [13:14:09.831] } [13:14:09.831] return(sendCondition) [13:14:09.831] } [13:14:09.831] } [13:14:09.831] frame <- frame + 1L [13:14:09.831] envir <- sys.frame(frame) [13:14:09.831] } [13:14:09.831] } [13:14:09.831] sendCondition <<- function(cond) NULL [13:14:09.831] } [13:14:09.831] }) [13:14:09.831] withCallingHandlers({ [13:14:09.831] { [13:14:09.831] do.call(function(...) { [13:14:09.831] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.831] if (!identical(...future.globals.maxSize.org, [13:14:09.831] ...future.globals.maxSize)) { [13:14:09.831] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.831] on.exit(options(oopts), add = TRUE) [13:14:09.831] } [13:14:09.831] { [13:14:09.831] lapply(seq_along(...future.elements_ii), [13:14:09.831] FUN = function(jj) { [13:14:09.831] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.831] ...future.FUN(...future.X_jj, ...) [13:14:09.831] }) [13:14:09.831] } [13:14:09.831] }, args = future.call.arguments) [13:14:09.831] } [13:14:09.831] }, immediateCondition = function(cond) { [13:14:09.831] sendCondition <- ...future.makeSendCondition() [13:14:09.831] sendCondition(cond) [13:14:09.831] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.831] { [13:14:09.831] inherits <- base::inherits [13:14:09.831] invokeRestart <- base::invokeRestart [13:14:09.831] is.null <- base::is.null [13:14:09.831] muffled <- FALSE [13:14:09.831] if (inherits(cond, "message")) { [13:14:09.831] muffled <- grepl(pattern, "muffleMessage") [13:14:09.831] if (muffled) [13:14:09.831] invokeRestart("muffleMessage") [13:14:09.831] } [13:14:09.831] else if (inherits(cond, "warning")) { [13:14:09.831] muffled <- grepl(pattern, "muffleWarning") [13:14:09.831] if (muffled) [13:14:09.831] invokeRestart("muffleWarning") [13:14:09.831] } [13:14:09.831] else if (inherits(cond, "condition")) { [13:14:09.831] if (!is.null(pattern)) { [13:14:09.831] computeRestarts <- base::computeRestarts [13:14:09.831] grepl <- base::grepl [13:14:09.831] restarts <- computeRestarts(cond) [13:14:09.831] for (restart in restarts) { [13:14:09.831] name <- restart$name [13:14:09.831] if (is.null(name)) [13:14:09.831] next [13:14:09.831] if (!grepl(pattern, name)) [13:14:09.831] next [13:14:09.831] invokeRestart(restart) [13:14:09.831] muffled <- TRUE [13:14:09.831] break [13:14:09.831] } [13:14:09.831] } [13:14:09.831] } [13:14:09.831] invisible(muffled) [13:14:09.831] } [13:14:09.831] muffleCondition(cond) [13:14:09.831] }) [13:14:09.831] })) [13:14:09.831] future::FutureResult(value = ...future.value$value, [13:14:09.831] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.831] ...future.rng), globalenv = if (FALSE) [13:14:09.831] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.831] ...future.globalenv.names)) [13:14:09.831] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.831] }, condition = base::local({ [13:14:09.831] c <- base::c [13:14:09.831] inherits <- base::inherits [13:14:09.831] invokeRestart <- base::invokeRestart [13:14:09.831] length <- base::length [13:14:09.831] list <- base::list [13:14:09.831] seq.int <- base::seq.int [13:14:09.831] signalCondition <- base::signalCondition [13:14:09.831] sys.calls <- base::sys.calls [13:14:09.831] `[[` <- base::`[[` [13:14:09.831] `+` <- base::`+` [13:14:09.831] `<<-` <- base::`<<-` [13:14:09.831] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.831] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.831] 3L)] [13:14:09.831] } [13:14:09.831] function(cond) { [13:14:09.831] is_error <- inherits(cond, "error") [13:14:09.831] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.831] NULL) [13:14:09.831] if (is_error) { [13:14:09.831] sessionInformation <- function() { [13:14:09.831] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.831] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.831] search = base::search(), system = base::Sys.info()) [13:14:09.831] } [13:14:09.831] ...future.conditions[[length(...future.conditions) + [13:14:09.831] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.831] cond$call), session = sessionInformation(), [13:14:09.831] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.831] signalCondition(cond) [13:14:09.831] } [13:14:09.831] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.831] "immediateCondition"))) { [13:14:09.831] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.831] ...future.conditions[[length(...future.conditions) + [13:14:09.831] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.831] if (TRUE && !signal) { [13:14:09.831] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.831] { [13:14:09.831] inherits <- base::inherits [13:14:09.831] invokeRestart <- base::invokeRestart [13:14:09.831] is.null <- base::is.null [13:14:09.831] muffled <- FALSE [13:14:09.831] if (inherits(cond, "message")) { [13:14:09.831] muffled <- grepl(pattern, "muffleMessage") [13:14:09.831] if (muffled) [13:14:09.831] invokeRestart("muffleMessage") [13:14:09.831] } [13:14:09.831] else if (inherits(cond, "warning")) { [13:14:09.831] muffled <- grepl(pattern, "muffleWarning") [13:14:09.831] if (muffled) [13:14:09.831] invokeRestart("muffleWarning") [13:14:09.831] } [13:14:09.831] else if (inherits(cond, "condition")) { [13:14:09.831] if (!is.null(pattern)) { [13:14:09.831] computeRestarts <- base::computeRestarts [13:14:09.831] grepl <- base::grepl [13:14:09.831] restarts <- computeRestarts(cond) [13:14:09.831] for (restart in restarts) { [13:14:09.831] name <- restart$name [13:14:09.831] if (is.null(name)) [13:14:09.831] next [13:14:09.831] if (!grepl(pattern, name)) [13:14:09.831] next [13:14:09.831] invokeRestart(restart) [13:14:09.831] muffled <- TRUE [13:14:09.831] break [13:14:09.831] } [13:14:09.831] } [13:14:09.831] } [13:14:09.831] invisible(muffled) [13:14:09.831] } [13:14:09.831] muffleCondition(cond, pattern = "^muffle") [13:14:09.831] } [13:14:09.831] } [13:14:09.831] else { [13:14:09.831] if (TRUE) { [13:14:09.831] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.831] { [13:14:09.831] inherits <- base::inherits [13:14:09.831] invokeRestart <- base::invokeRestart [13:14:09.831] is.null <- base::is.null [13:14:09.831] muffled <- FALSE [13:14:09.831] if (inherits(cond, "message")) { [13:14:09.831] muffled <- grepl(pattern, "muffleMessage") [13:14:09.831] if (muffled) [13:14:09.831] invokeRestart("muffleMessage") [13:14:09.831] } [13:14:09.831] else if (inherits(cond, "warning")) { [13:14:09.831] muffled <- grepl(pattern, "muffleWarning") [13:14:09.831] if (muffled) [13:14:09.831] invokeRestart("muffleWarning") [13:14:09.831] } [13:14:09.831] else if (inherits(cond, "condition")) { [13:14:09.831] if (!is.null(pattern)) { [13:14:09.831] computeRestarts <- base::computeRestarts [13:14:09.831] grepl <- base::grepl [13:14:09.831] restarts <- computeRestarts(cond) [13:14:09.831] for (restart in restarts) { [13:14:09.831] name <- restart$name [13:14:09.831] if (is.null(name)) [13:14:09.831] next [13:14:09.831] if (!grepl(pattern, name)) [13:14:09.831] next [13:14:09.831] invokeRestart(restart) [13:14:09.831] muffled <- TRUE [13:14:09.831] break [13:14:09.831] } [13:14:09.831] } [13:14:09.831] } [13:14:09.831] invisible(muffled) [13:14:09.831] } [13:14:09.831] muffleCondition(cond, pattern = "^muffle") [13:14:09.831] } [13:14:09.831] } [13:14:09.831] } [13:14:09.831] })) [13:14:09.831] }, error = function(ex) { [13:14:09.831] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.831] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.831] ...future.rng), started = ...future.startTime, [13:14:09.831] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.831] version = "1.8"), class = "FutureResult") [13:14:09.831] }, finally = { [13:14:09.831] if (!identical(...future.workdir, getwd())) [13:14:09.831] setwd(...future.workdir) [13:14:09.831] { [13:14:09.831] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.831] ...future.oldOptions$nwarnings <- NULL [13:14:09.831] } [13:14:09.831] base::options(...future.oldOptions) [13:14:09.831] if (.Platform$OS.type == "windows") { [13:14:09.831] old_names <- names(...future.oldEnvVars) [13:14:09.831] envs <- base::Sys.getenv() [13:14:09.831] names <- names(envs) [13:14:09.831] common <- intersect(names, old_names) [13:14:09.831] added <- setdiff(names, old_names) [13:14:09.831] removed <- setdiff(old_names, names) [13:14:09.831] changed <- common[...future.oldEnvVars[common] != [13:14:09.831] envs[common]] [13:14:09.831] NAMES <- toupper(changed) [13:14:09.831] args <- list() [13:14:09.831] for (kk in seq_along(NAMES)) { [13:14:09.831] name <- changed[[kk]] [13:14:09.831] NAME <- NAMES[[kk]] [13:14:09.831] if (name != NAME && is.element(NAME, old_names)) [13:14:09.831] next [13:14:09.831] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.831] } [13:14:09.831] NAMES <- toupper(added) [13:14:09.831] for (kk in seq_along(NAMES)) { [13:14:09.831] name <- added[[kk]] [13:14:09.831] NAME <- NAMES[[kk]] [13:14:09.831] if (name != NAME && is.element(NAME, old_names)) [13:14:09.831] next [13:14:09.831] args[[name]] <- "" [13:14:09.831] } [13:14:09.831] NAMES <- toupper(removed) [13:14:09.831] for (kk in seq_along(NAMES)) { [13:14:09.831] name <- removed[[kk]] [13:14:09.831] NAME <- NAMES[[kk]] [13:14:09.831] if (name != NAME && is.element(NAME, old_names)) [13:14:09.831] next [13:14:09.831] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.831] } [13:14:09.831] if (length(args) > 0) [13:14:09.831] base::do.call(base::Sys.setenv, args = args) [13:14:09.831] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.831] } [13:14:09.831] else { [13:14:09.831] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.831] } [13:14:09.831] { [13:14:09.831] if (base::length(...future.futureOptionsAdded) > [13:14:09.831] 0L) { [13:14:09.831] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.831] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.831] base::options(opts) [13:14:09.831] } [13:14:09.831] { [13:14:09.831] { [13:14:09.831] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.831] NULL [13:14:09.831] } [13:14:09.831] options(future.plan = NULL) [13:14:09.831] if (is.na(NA_character_)) [13:14:09.831] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.831] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.831] future::plan(list(function (..., workers = availableCores(), [13:14:09.831] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.831] envir = parent.frame()) [13:14:09.831] { [13:14:09.831] if (is.function(workers)) [13:14:09.831] workers <- workers() [13:14:09.831] workers <- structure(as.integer(workers), [13:14:09.831] class = class(workers)) [13:14:09.831] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.831] workers >= 1) [13:14:09.831] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.831] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.831] } [13:14:09.831] future <- MultisessionFuture(..., workers = workers, [13:14:09.831] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.831] envir = envir) [13:14:09.831] if (!future$lazy) [13:14:09.831] future <- run(future) [13:14:09.831] invisible(future) [13:14:09.831] }), .cleanup = FALSE, .init = FALSE) [13:14:09.831] } [13:14:09.831] } [13:14:09.831] } [13:14:09.831] }) [13:14:09.831] if (TRUE) { [13:14:09.831] base::sink(type = "output", split = FALSE) [13:14:09.831] if (TRUE) { [13:14:09.831] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.831] } [13:14:09.831] else { [13:14:09.831] ...future.result["stdout"] <- base::list(NULL) [13:14:09.831] } [13:14:09.831] base::close(...future.stdout) [13:14:09.831] ...future.stdout <- NULL [13:14:09.831] } [13:14:09.831] ...future.result$conditions <- ...future.conditions [13:14:09.831] ...future.result$finished <- base::Sys.time() [13:14:09.831] ...future.result [13:14:09.831] } [13:14:09.837] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:09.837] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:09.837] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:09.838] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.838] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.838] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:09.839] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:09.839] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.839] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.839] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.840] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.840] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:09.841] MultisessionFuture started [13:14:09.841] - Launch lazy future ... done [13:14:09.841] run() for 'MultisessionFuture' ... done [13:14:09.841] Created future: [13:14:09.857] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.857] - Validating connection of MultisessionFuture [13:14:09.857] - received message: FutureResult [13:14:09.858] - Received FutureResult [13:14:09.858] - Erased future from FutureRegistry [13:14:09.858] result() for ClusterFuture ... [13:14:09.858] - result already collected: FutureResult [13:14:09.858] result() for ClusterFuture ... done [13:14:09.858] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.841] MultisessionFuture: [13:14:09.841] Label: 'future_sapply-1' [13:14:09.841] Expression: [13:14:09.841] { [13:14:09.841] do.call(function(...) { [13:14:09.841] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.841] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.841] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.841] on.exit(options(oopts), add = TRUE) [13:14:09.841] } [13:14:09.841] { [13:14:09.841] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.841] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.841] ...future.FUN(...future.X_jj, ...) [13:14:09.841] }) [13:14:09.841] } [13:14:09.841] }, args = future.call.arguments) [13:14:09.841] } [13:14:09.841] Lazy evaluation: FALSE [13:14:09.841] Asynchronous evaluation: TRUE [13:14:09.841] Local evaluation: TRUE [13:14:09.841] Environment: R_GlobalEnv [13:14:09.841] Capture standard output: TRUE [13:14:09.841] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.841] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.841] Packages: [13:14:09.841] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.841] Resolved: TRUE [13:14:09.841] Value: [13:14:09.841] Conditions captured: [13:14:09.841] Early signaling: FALSE [13:14:09.841] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.841] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.859] Chunk #1 of 2 ... DONE [13:14:09.859] Chunk #2 of 2 ... [13:14:09.859] - Finding globals in 'X' for chunk #2 ... [13:14:09.859] getGlobalsAndPackages() ... [13:14:09.860] Searching for globals... [13:14:09.860] [13:14:09.860] Searching for globals ... DONE [13:14:09.860] - globals: [0] [13:14:09.860] getGlobalsAndPackages() ... DONE [13:14:09.860] + additional globals found: [n=0] [13:14:09.861] + additional namespaces needed: [n=0] [13:14:09.861] - Finding globals in 'X' for chunk #2 ... DONE [13:14:09.861] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.861] - seeds: [13:14:09.861] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.861] getGlobalsAndPackages() ... [13:14:09.862] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.862] Resolving globals: FALSE [13:14:09.862] Tweak future expression to call with '...' arguments ... [13:14:09.862] { [13:14:09.862] do.call(function(...) { [13:14:09.862] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.862] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.862] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.862] on.exit(options(oopts), add = TRUE) [13:14:09.862] } [13:14:09.862] { [13:14:09.862] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.862] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.862] ...future.FUN(...future.X_jj, ...) [13:14:09.862] }) [13:14:09.862] } [13:14:09.862] }, args = future.call.arguments) [13:14:09.862] } [13:14:09.863] Tweak future expression to call with '...' arguments ... DONE [13:14:09.863] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.863] [13:14:09.863] getGlobalsAndPackages() ... DONE [13:14:09.864] run() for 'Future' ... [13:14:09.864] - state: 'created' [13:14:09.864] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.879] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.879] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.879] - Field: 'node' [13:14:09.879] - Field: 'label' [13:14:09.880] - Field: 'local' [13:14:09.880] - Field: 'owner' [13:14:09.880] - Field: 'envir' [13:14:09.880] - Field: 'workers' [13:14:09.880] - Field: 'packages' [13:14:09.880] - Field: 'gc' [13:14:09.881] - Field: 'conditions' [13:14:09.881] - Field: 'persistent' [13:14:09.881] - Field: 'expr' [13:14:09.881] - Field: 'uuid' [13:14:09.881] - Field: 'seed' [13:14:09.881] - Field: 'version' [13:14:09.882] - Field: 'result' [13:14:09.882] - Field: 'asynchronous' [13:14:09.882] - Field: 'calls' [13:14:09.882] - Field: 'globals' [13:14:09.882] - Field: 'stdout' [13:14:09.883] - Field: 'earlySignal' [13:14:09.883] - Field: 'lazy' [13:14:09.883] - Field: 'state' [13:14:09.883] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.883] - Launch lazy future ... [13:14:09.884] Packages needed by the future expression (n = 0): [13:14:09.884] Packages needed by future strategies (n = 0): [13:14:09.884] { [13:14:09.884] { [13:14:09.884] { [13:14:09.884] ...future.startTime <- base::Sys.time() [13:14:09.884] { [13:14:09.884] { [13:14:09.884] { [13:14:09.884] { [13:14:09.884] base::local({ [13:14:09.884] has_future <- base::requireNamespace("future", [13:14:09.884] quietly = TRUE) [13:14:09.884] if (has_future) { [13:14:09.884] ns <- base::getNamespace("future") [13:14:09.884] version <- ns[[".package"]][["version"]] [13:14:09.884] if (is.null(version)) [13:14:09.884] version <- utils::packageVersion("future") [13:14:09.884] } [13:14:09.884] else { [13:14:09.884] version <- NULL [13:14:09.884] } [13:14:09.884] if (!has_future || version < "1.8.0") { [13:14:09.884] info <- base::c(r_version = base::gsub("R version ", [13:14:09.884] "", base::R.version$version.string), [13:14:09.884] platform = base::sprintf("%s (%s-bit)", [13:14:09.884] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.884] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.884] "release", "version")], collapse = " "), [13:14:09.884] hostname = base::Sys.info()[["nodename"]]) [13:14:09.884] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.884] info) [13:14:09.884] info <- base::paste(info, collapse = "; ") [13:14:09.884] if (!has_future) { [13:14:09.884] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.884] info) [13:14:09.884] } [13:14:09.884] else { [13:14:09.884] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.884] info, version) [13:14:09.884] } [13:14:09.884] base::stop(msg) [13:14:09.884] } [13:14:09.884] }) [13:14:09.884] } [13:14:09.884] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.884] base::options(mc.cores = 1L) [13:14:09.884] } [13:14:09.884] options(future.plan = NULL) [13:14:09.884] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.884] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.884] } [13:14:09.884] ...future.workdir <- getwd() [13:14:09.884] } [13:14:09.884] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.884] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.884] } [13:14:09.884] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.884] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.884] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.884] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.884] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.884] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.884] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.884] base::names(...future.oldOptions)) [13:14:09.884] } [13:14:09.884] if (FALSE) { [13:14:09.884] } [13:14:09.884] else { [13:14:09.884] if (TRUE) { [13:14:09.884] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.884] open = "w") [13:14:09.884] } [13:14:09.884] else { [13:14:09.884] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.884] windows = "NUL", "/dev/null"), open = "w") [13:14:09.884] } [13:14:09.884] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.884] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.884] base::sink(type = "output", split = FALSE) [13:14:09.884] base::close(...future.stdout) [13:14:09.884] }, add = TRUE) [13:14:09.884] } [13:14:09.884] ...future.frame <- base::sys.nframe() [13:14:09.884] ...future.conditions <- base::list() [13:14:09.884] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.884] if (FALSE) { [13:14:09.884] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.884] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.884] } [13:14:09.884] ...future.result <- base::tryCatch({ [13:14:09.884] base::withCallingHandlers({ [13:14:09.884] ...future.value <- base::withVisible(base::local({ [13:14:09.884] ...future.makeSendCondition <- local({ [13:14:09.884] sendCondition <- NULL [13:14:09.884] function(frame = 1L) { [13:14:09.884] if (is.function(sendCondition)) [13:14:09.884] return(sendCondition) [13:14:09.884] ns <- getNamespace("parallel") [13:14:09.884] if (exists("sendData", mode = "function", [13:14:09.884] envir = ns)) { [13:14:09.884] parallel_sendData <- get("sendData", mode = "function", [13:14:09.884] envir = ns) [13:14:09.884] envir <- sys.frame(frame) [13:14:09.884] master <- NULL [13:14:09.884] while (!identical(envir, .GlobalEnv) && [13:14:09.884] !identical(envir, emptyenv())) { [13:14:09.884] if (exists("master", mode = "list", envir = envir, [13:14:09.884] inherits = FALSE)) { [13:14:09.884] master <- get("master", mode = "list", [13:14:09.884] envir = envir, inherits = FALSE) [13:14:09.884] if (inherits(master, c("SOCKnode", [13:14:09.884] "SOCK0node"))) { [13:14:09.884] sendCondition <<- function(cond) { [13:14:09.884] data <- list(type = "VALUE", value = cond, [13:14:09.884] success = TRUE) [13:14:09.884] parallel_sendData(master, data) [13:14:09.884] } [13:14:09.884] return(sendCondition) [13:14:09.884] } [13:14:09.884] } [13:14:09.884] frame <- frame + 1L [13:14:09.884] envir <- sys.frame(frame) [13:14:09.884] } [13:14:09.884] } [13:14:09.884] sendCondition <<- function(cond) NULL [13:14:09.884] } [13:14:09.884] }) [13:14:09.884] withCallingHandlers({ [13:14:09.884] { [13:14:09.884] do.call(function(...) { [13:14:09.884] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.884] if (!identical(...future.globals.maxSize.org, [13:14:09.884] ...future.globals.maxSize)) { [13:14:09.884] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.884] on.exit(options(oopts), add = TRUE) [13:14:09.884] } [13:14:09.884] { [13:14:09.884] lapply(seq_along(...future.elements_ii), [13:14:09.884] FUN = function(jj) { [13:14:09.884] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.884] ...future.FUN(...future.X_jj, ...) [13:14:09.884] }) [13:14:09.884] } [13:14:09.884] }, args = future.call.arguments) [13:14:09.884] } [13:14:09.884] }, immediateCondition = function(cond) { [13:14:09.884] sendCondition <- ...future.makeSendCondition() [13:14:09.884] sendCondition(cond) [13:14:09.884] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.884] { [13:14:09.884] inherits <- base::inherits [13:14:09.884] invokeRestart <- base::invokeRestart [13:14:09.884] is.null <- base::is.null [13:14:09.884] muffled <- FALSE [13:14:09.884] if (inherits(cond, "message")) { [13:14:09.884] muffled <- grepl(pattern, "muffleMessage") [13:14:09.884] if (muffled) [13:14:09.884] invokeRestart("muffleMessage") [13:14:09.884] } [13:14:09.884] else if (inherits(cond, "warning")) { [13:14:09.884] muffled <- grepl(pattern, "muffleWarning") [13:14:09.884] if (muffled) [13:14:09.884] invokeRestart("muffleWarning") [13:14:09.884] } [13:14:09.884] else if (inherits(cond, "condition")) { [13:14:09.884] if (!is.null(pattern)) { [13:14:09.884] computeRestarts <- base::computeRestarts [13:14:09.884] grepl <- base::grepl [13:14:09.884] restarts <- computeRestarts(cond) [13:14:09.884] for (restart in restarts) { [13:14:09.884] name <- restart$name [13:14:09.884] if (is.null(name)) [13:14:09.884] next [13:14:09.884] if (!grepl(pattern, name)) [13:14:09.884] next [13:14:09.884] invokeRestart(restart) [13:14:09.884] muffled <- TRUE [13:14:09.884] break [13:14:09.884] } [13:14:09.884] } [13:14:09.884] } [13:14:09.884] invisible(muffled) [13:14:09.884] } [13:14:09.884] muffleCondition(cond) [13:14:09.884] }) [13:14:09.884] })) [13:14:09.884] future::FutureResult(value = ...future.value$value, [13:14:09.884] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.884] ...future.rng), globalenv = if (FALSE) [13:14:09.884] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.884] ...future.globalenv.names)) [13:14:09.884] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.884] }, condition = base::local({ [13:14:09.884] c <- base::c [13:14:09.884] inherits <- base::inherits [13:14:09.884] invokeRestart <- base::invokeRestart [13:14:09.884] length <- base::length [13:14:09.884] list <- base::list [13:14:09.884] seq.int <- base::seq.int [13:14:09.884] signalCondition <- base::signalCondition [13:14:09.884] sys.calls <- base::sys.calls [13:14:09.884] `[[` <- base::`[[` [13:14:09.884] `+` <- base::`+` [13:14:09.884] `<<-` <- base::`<<-` [13:14:09.884] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.884] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.884] 3L)] [13:14:09.884] } [13:14:09.884] function(cond) { [13:14:09.884] is_error <- inherits(cond, "error") [13:14:09.884] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.884] NULL) [13:14:09.884] if (is_error) { [13:14:09.884] sessionInformation <- function() { [13:14:09.884] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.884] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.884] search = base::search(), system = base::Sys.info()) [13:14:09.884] } [13:14:09.884] ...future.conditions[[length(...future.conditions) + [13:14:09.884] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.884] cond$call), session = sessionInformation(), [13:14:09.884] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.884] signalCondition(cond) [13:14:09.884] } [13:14:09.884] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.884] "immediateCondition"))) { [13:14:09.884] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.884] ...future.conditions[[length(...future.conditions) + [13:14:09.884] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.884] if (TRUE && !signal) { [13:14:09.884] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.884] { [13:14:09.884] inherits <- base::inherits [13:14:09.884] invokeRestart <- base::invokeRestart [13:14:09.884] is.null <- base::is.null [13:14:09.884] muffled <- FALSE [13:14:09.884] if (inherits(cond, "message")) { [13:14:09.884] muffled <- grepl(pattern, "muffleMessage") [13:14:09.884] if (muffled) [13:14:09.884] invokeRestart("muffleMessage") [13:14:09.884] } [13:14:09.884] else if (inherits(cond, "warning")) { [13:14:09.884] muffled <- grepl(pattern, "muffleWarning") [13:14:09.884] if (muffled) [13:14:09.884] invokeRestart("muffleWarning") [13:14:09.884] } [13:14:09.884] else if (inherits(cond, "condition")) { [13:14:09.884] if (!is.null(pattern)) { [13:14:09.884] computeRestarts <- base::computeRestarts [13:14:09.884] grepl <- base::grepl [13:14:09.884] restarts <- computeRestarts(cond) [13:14:09.884] for (restart in restarts) { [13:14:09.884] name <- restart$name [13:14:09.884] if (is.null(name)) [13:14:09.884] next [13:14:09.884] if (!grepl(pattern, name)) [13:14:09.884] next [13:14:09.884] invokeRestart(restart) [13:14:09.884] muffled <- TRUE [13:14:09.884] break [13:14:09.884] } [13:14:09.884] } [13:14:09.884] } [13:14:09.884] invisible(muffled) [13:14:09.884] } [13:14:09.884] muffleCondition(cond, pattern = "^muffle") [13:14:09.884] } [13:14:09.884] } [13:14:09.884] else { [13:14:09.884] if (TRUE) { [13:14:09.884] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.884] { [13:14:09.884] inherits <- base::inherits [13:14:09.884] invokeRestart <- base::invokeRestart [13:14:09.884] is.null <- base::is.null [13:14:09.884] muffled <- FALSE [13:14:09.884] if (inherits(cond, "message")) { [13:14:09.884] muffled <- grepl(pattern, "muffleMessage") [13:14:09.884] if (muffled) [13:14:09.884] invokeRestart("muffleMessage") [13:14:09.884] } [13:14:09.884] else if (inherits(cond, "warning")) { [13:14:09.884] muffled <- grepl(pattern, "muffleWarning") [13:14:09.884] if (muffled) [13:14:09.884] invokeRestart("muffleWarning") [13:14:09.884] } [13:14:09.884] else if (inherits(cond, "condition")) { [13:14:09.884] if (!is.null(pattern)) { [13:14:09.884] computeRestarts <- base::computeRestarts [13:14:09.884] grepl <- base::grepl [13:14:09.884] restarts <- computeRestarts(cond) [13:14:09.884] for (restart in restarts) { [13:14:09.884] name <- restart$name [13:14:09.884] if (is.null(name)) [13:14:09.884] next [13:14:09.884] if (!grepl(pattern, name)) [13:14:09.884] next [13:14:09.884] invokeRestart(restart) [13:14:09.884] muffled <- TRUE [13:14:09.884] break [13:14:09.884] } [13:14:09.884] } [13:14:09.884] } [13:14:09.884] invisible(muffled) [13:14:09.884] } [13:14:09.884] muffleCondition(cond, pattern = "^muffle") [13:14:09.884] } [13:14:09.884] } [13:14:09.884] } [13:14:09.884] })) [13:14:09.884] }, error = function(ex) { [13:14:09.884] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.884] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.884] ...future.rng), started = ...future.startTime, [13:14:09.884] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.884] version = "1.8"), class = "FutureResult") [13:14:09.884] }, finally = { [13:14:09.884] if (!identical(...future.workdir, getwd())) [13:14:09.884] setwd(...future.workdir) [13:14:09.884] { [13:14:09.884] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.884] ...future.oldOptions$nwarnings <- NULL [13:14:09.884] } [13:14:09.884] base::options(...future.oldOptions) [13:14:09.884] if (.Platform$OS.type == "windows") { [13:14:09.884] old_names <- names(...future.oldEnvVars) [13:14:09.884] envs <- base::Sys.getenv() [13:14:09.884] names <- names(envs) [13:14:09.884] common <- intersect(names, old_names) [13:14:09.884] added <- setdiff(names, old_names) [13:14:09.884] removed <- setdiff(old_names, names) [13:14:09.884] changed <- common[...future.oldEnvVars[common] != [13:14:09.884] envs[common]] [13:14:09.884] NAMES <- toupper(changed) [13:14:09.884] args <- list() [13:14:09.884] for (kk in seq_along(NAMES)) { [13:14:09.884] name <- changed[[kk]] [13:14:09.884] NAME <- NAMES[[kk]] [13:14:09.884] if (name != NAME && is.element(NAME, old_names)) [13:14:09.884] next [13:14:09.884] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.884] } [13:14:09.884] NAMES <- toupper(added) [13:14:09.884] for (kk in seq_along(NAMES)) { [13:14:09.884] name <- added[[kk]] [13:14:09.884] NAME <- NAMES[[kk]] [13:14:09.884] if (name != NAME && is.element(NAME, old_names)) [13:14:09.884] next [13:14:09.884] args[[name]] <- "" [13:14:09.884] } [13:14:09.884] NAMES <- toupper(removed) [13:14:09.884] for (kk in seq_along(NAMES)) { [13:14:09.884] name <- removed[[kk]] [13:14:09.884] NAME <- NAMES[[kk]] [13:14:09.884] if (name != NAME && is.element(NAME, old_names)) [13:14:09.884] next [13:14:09.884] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.884] } [13:14:09.884] if (length(args) > 0) [13:14:09.884] base::do.call(base::Sys.setenv, args = args) [13:14:09.884] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.884] } [13:14:09.884] else { [13:14:09.884] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.884] } [13:14:09.884] { [13:14:09.884] if (base::length(...future.futureOptionsAdded) > [13:14:09.884] 0L) { [13:14:09.884] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.884] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.884] base::options(opts) [13:14:09.884] } [13:14:09.884] { [13:14:09.884] { [13:14:09.884] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.884] NULL [13:14:09.884] } [13:14:09.884] options(future.plan = NULL) [13:14:09.884] if (is.na(NA_character_)) [13:14:09.884] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.884] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.884] future::plan(list(function (..., workers = availableCores(), [13:14:09.884] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.884] envir = parent.frame()) [13:14:09.884] { [13:14:09.884] if (is.function(workers)) [13:14:09.884] workers <- workers() [13:14:09.884] workers <- structure(as.integer(workers), [13:14:09.884] class = class(workers)) [13:14:09.884] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.884] workers >= 1) [13:14:09.884] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.884] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.884] } [13:14:09.884] future <- MultisessionFuture(..., workers = workers, [13:14:09.884] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.884] envir = envir) [13:14:09.884] if (!future$lazy) [13:14:09.884] future <- run(future) [13:14:09.884] invisible(future) [13:14:09.884] }), .cleanup = FALSE, .init = FALSE) [13:14:09.884] } [13:14:09.884] } [13:14:09.884] } [13:14:09.884] }) [13:14:09.884] if (TRUE) { [13:14:09.884] base::sink(type = "output", split = FALSE) [13:14:09.884] if (TRUE) { [13:14:09.884] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.884] } [13:14:09.884] else { [13:14:09.884] ...future.result["stdout"] <- base::list(NULL) [13:14:09.884] } [13:14:09.884] base::close(...future.stdout) [13:14:09.884] ...future.stdout <- NULL [13:14:09.884] } [13:14:09.884] ...future.result$conditions <- ...future.conditions [13:14:09.884] ...future.result$finished <- base::Sys.time() [13:14:09.884] ...future.result [13:14:09.884] } [13:14:09.890] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:09.890] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:09.891] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:09.891] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.891] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.892] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:09.892] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:09.892] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.893] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.893] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.893] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.894] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:09.894] MultisessionFuture started [13:14:09.894] - Launch lazy future ... done [13:14:09.895] run() for 'MultisessionFuture' ... done [13:14:09.895] Created future: [13:14:09.910] receiveMessageFromWorker() for ClusterFuture ... [13:14:09.910] - Validating connection of MultisessionFuture [13:14:09.910] - received message: FutureResult [13:14:09.910] - Received FutureResult [13:14:09.910] - Erased future from FutureRegistry [13:14:09.913] result() for ClusterFuture ... [13:14:09.914] - result already collected: FutureResult [13:14:09.914] result() for ClusterFuture ... done [13:14:09.914] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.895] MultisessionFuture: [13:14:09.895] Label: 'future_sapply-2' [13:14:09.895] Expression: [13:14:09.895] { [13:14:09.895] do.call(function(...) { [13:14:09.895] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.895] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.895] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.895] on.exit(options(oopts), add = TRUE) [13:14:09.895] } [13:14:09.895] { [13:14:09.895] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.895] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.895] ...future.FUN(...future.X_jj, ...) [13:14:09.895] }) [13:14:09.895] } [13:14:09.895] }, args = future.call.arguments) [13:14:09.895] } [13:14:09.895] Lazy evaluation: FALSE [13:14:09.895] Asynchronous evaluation: TRUE [13:14:09.895] Local evaluation: TRUE [13:14:09.895] Environment: R_GlobalEnv [13:14:09.895] Capture standard output: TRUE [13:14:09.895] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.895] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.895] Packages: [13:14:09.895] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.895] Resolved: TRUE [13:14:09.895] Value: [13:14:09.895] Conditions captured: [13:14:09.895] Early signaling: FALSE [13:14:09.895] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.895] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.914] Chunk #2 of 2 ... DONE [13:14:09.915] Launching 2 futures (chunks) ... DONE [13:14:09.915] Resolving 2 futures (chunks) ... [13:14:09.915] resolve() on list ... [13:14:09.915] recursive: 0 [13:14:09.915] length: 2 [13:14:09.915] [13:14:09.916] Future #1 [13:14:09.916] result() for ClusterFuture ... [13:14:09.916] - result already collected: FutureResult [13:14:09.916] result() for ClusterFuture ... done [13:14:09.916] result() for ClusterFuture ... [13:14:09.917] - result already collected: FutureResult [13:14:09.917] result() for ClusterFuture ... done [13:14:09.917] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:09.917] - nx: 2 [13:14:09.917] - relay: TRUE [13:14:09.917] - stdout: TRUE [13:14:09.918] - signal: TRUE [13:14:09.918] - resignal: FALSE [13:14:09.918] - force: TRUE [13:14:09.918] - relayed: [n=2] FALSE, FALSE [13:14:09.918] - queued futures: [n=2] FALSE, FALSE [13:14:09.918] - until=1 [13:14:09.918] - relaying element #1 [13:14:09.919] result() for ClusterFuture ... [13:14:09.919] - result already collected: FutureResult [13:14:09.919] result() for ClusterFuture ... done [13:14:09.919] result() for ClusterFuture ... [13:14:09.919] - result already collected: FutureResult [13:14:09.919] result() for ClusterFuture ... done [13:14:09.920] result() for ClusterFuture ... [13:14:09.920] - result already collected: FutureResult [13:14:09.920] result() for ClusterFuture ... done [13:14:09.920] result() for ClusterFuture ... [13:14:09.920] - result already collected: FutureResult [13:14:09.920] result() for ClusterFuture ... done [13:14:09.921] - relayed: [n=2] TRUE, FALSE [13:14:09.921] - queued futures: [n=2] TRUE, FALSE [13:14:09.921] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:09.921] length: 1 (resolved future 1) [13:14:09.921] Future #2 [13:14:09.921] result() for ClusterFuture ... [13:14:09.922] - result already collected: FutureResult [13:14:09.922] result() for ClusterFuture ... done [13:14:09.922] result() for ClusterFuture ... [13:14:09.922] - result already collected: FutureResult [13:14:09.922] result() for ClusterFuture ... done [13:14:09.922] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:09.922] - nx: 2 [13:14:09.923] - relay: TRUE [13:14:09.923] - stdout: TRUE [13:14:09.923] - signal: TRUE [13:14:09.923] - resignal: FALSE [13:14:09.923] - force: TRUE [13:14:09.923] - relayed: [n=2] TRUE, FALSE [13:14:09.924] - queued futures: [n=2] TRUE, FALSE [13:14:09.924] - until=2 [13:14:09.924] - relaying element #2 [13:14:09.924] result() for ClusterFuture ... [13:14:09.924] - result already collected: FutureResult [13:14:09.924] result() for ClusterFuture ... done [13:14:09.924] result() for ClusterFuture ... [13:14:09.925] - result already collected: FutureResult [13:14:09.925] result() for ClusterFuture ... done [13:14:09.925] result() for ClusterFuture ... [13:14:09.925] - result already collected: FutureResult [13:14:09.925] result() for ClusterFuture ... done [13:14:09.925] result() for ClusterFuture ... [13:14:09.926] - result already collected: FutureResult [13:14:09.926] result() for ClusterFuture ... done [13:14:09.926] - relayed: [n=2] TRUE, TRUE [13:14:09.926] - queued futures: [n=2] TRUE, TRUE [13:14:09.926] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:09.926] length: 0 (resolved future 2) [13:14:09.927] Relaying remaining futures [13:14:09.927] signalConditionsASAP(NULL, pos=0) ... [13:14:09.927] - nx: 2 [13:14:09.927] - relay: TRUE [13:14:09.927] - stdout: TRUE [13:14:09.927] - signal: TRUE [13:14:09.927] - resignal: FALSE [13:14:09.928] - force: TRUE [13:14:09.928] - relayed: [n=2] TRUE, TRUE [13:14:09.928] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:09.928] - relayed: [n=2] TRUE, TRUE [13:14:09.928] - queued futures: [n=2] TRUE, TRUE [13:14:09.928] signalConditionsASAP(NULL, pos=0) ... done [13:14:09.929] resolve() on list ... DONE [13:14:09.929] result() for ClusterFuture ... [13:14:09.929] - result already collected: FutureResult [13:14:09.929] result() for ClusterFuture ... done [13:14:09.929] result() for ClusterFuture ... [13:14:09.929] - result already collected: FutureResult [13:14:09.929] result() for ClusterFuture ... done [13:14:09.930] result() for ClusterFuture ... [13:14:09.930] - result already collected: FutureResult [13:14:09.930] result() for ClusterFuture ... done [13:14:09.930] result() for ClusterFuture ... [13:14:09.930] - result already collected: FutureResult [13:14:09.930] result() for ClusterFuture ... done [13:14:09.931] - Number of value chunks collected: 2 [13:14:09.931] Resolving 2 futures (chunks) ... DONE [13:14:09.931] Reducing values from 2 chunks ... [13:14:09.931] - Number of values collected after concatenation: 3 [13:14:09.931] - Number of values expected: 3 [13:14:09.931] Reducing values from 2 chunks ... DONE [13:14:09.932] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" $ y1:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" List of 2 $ y0:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" $ y2:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" [13:14:09.937] future_lapply() ... [13:14:09.940] Number of chunks: 2 [13:14:09.941] getGlobalsAndPackagesXApply() ... [13:14:09.941] - future.globals: TRUE [13:14:09.941] getGlobalsAndPackages() ... [13:14:09.941] Searching for globals... [13:14:09.942] - globals found: [1] 'FUN' [13:14:09.942] Searching for globals ... DONE [13:14:09.943] Resolving globals: FALSE [13:14:09.943] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:09.943] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:09.944] - globals: [1] 'FUN' [13:14:09.944] [13:14:09.944] getGlobalsAndPackages() ... DONE [13:14:09.944] - globals found/used: [n=1] 'FUN' [13:14:09.944] - needed namespaces: [n=0] [13:14:09.944] Finding globals ... DONE [13:14:09.945] - use_args: TRUE [13:14:09.945] - Getting '...' globals ... [13:14:09.945] resolve() on list ... [13:14:09.945] recursive: 0 [13:14:09.945] length: 1 [13:14:09.946] elements: '...' [13:14:09.946] length: 0 (resolved future 1) [13:14:09.946] resolve() on list ... DONE [13:14:09.946] - '...' content: [n=0] [13:14:09.946] List of 1 [13:14:09.946] $ ...: list() [13:14:09.946] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.946] - attr(*, "where")=List of 1 [13:14:09.946] ..$ ...: [13:14:09.946] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.946] - attr(*, "resolved")= logi TRUE [13:14:09.946] - attr(*, "total_size")= num NA [13:14:09.949] - Getting '...' globals ... DONE [13:14:09.950] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:09.950] List of 2 [13:14:09.950] $ ...future.FUN:function (x) [13:14:09.950] $ ... : list() [13:14:09.950] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:09.950] - attr(*, "where")=List of 2 [13:14:09.950] ..$ ...future.FUN: [13:14:09.950] ..$ ... : [13:14:09.950] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:09.950] - attr(*, "resolved")= logi FALSE [13:14:09.950] - attr(*, "total_size")= num 848 [13:14:09.953] Packages to be attached in all futures: [n=0] [13:14:09.953] getGlobalsAndPackagesXApply() ... DONE [13:14:09.953] Number of futures (= number of chunks): 2 [13:14:09.954] Launching 2 futures (chunks) ... [13:14:09.954] Chunk #1 of 2 ... [13:14:09.954] - Finding globals in 'X' for chunk #1 ... [13:14:09.954] getGlobalsAndPackages() ... [13:14:09.954] Searching for globals... [13:14:09.955] [13:14:09.955] Searching for globals ... DONE [13:14:09.955] - globals: [0] [13:14:09.955] getGlobalsAndPackages() ... DONE [13:14:09.955] + additional globals found: [n=0] [13:14:09.955] + additional namespaces needed: [n=0] [13:14:09.956] - Finding globals in 'X' for chunk #1 ... DONE [13:14:09.956] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:09.956] - seeds: [13:14:09.956] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.956] getGlobalsAndPackages() ... [13:14:09.956] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.957] Resolving globals: FALSE [13:14:09.957] Tweak future expression to call with '...' arguments ... [13:14:09.957] { [13:14:09.957] do.call(function(...) { [13:14:09.957] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.957] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.957] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.957] on.exit(options(oopts), add = TRUE) [13:14:09.957] } [13:14:09.957] { [13:14:09.957] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.957] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.957] ...future.FUN(...future.X_jj, ...) [13:14:09.957] }) [13:14:09.957] } [13:14:09.957] }, args = future.call.arguments) [13:14:09.957] } [13:14:09.957] Tweak future expression to call with '...' arguments ... DONE [13:14:09.958] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:09.958] [13:14:09.958] getGlobalsAndPackages() ... DONE [13:14:09.959] run() for 'Future' ... [13:14:09.959] - state: 'created' [13:14:09.959] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:09.973] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:09.973] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:09.973] - Field: 'node' [13:14:09.973] - Field: 'label' [13:14:09.974] - Field: 'local' [13:14:09.974] - Field: 'owner' [13:14:09.974] - Field: 'envir' [13:14:09.974] - Field: 'workers' [13:14:09.974] - Field: 'packages' [13:14:09.975] - Field: 'gc' [13:14:09.975] - Field: 'conditions' [13:14:09.975] - Field: 'persistent' [13:14:09.975] - Field: 'expr' [13:14:09.975] - Field: 'uuid' [13:14:09.975] - Field: 'seed' [13:14:09.976] - Field: 'version' [13:14:09.976] - Field: 'result' [13:14:09.976] - Field: 'asynchronous' [13:14:09.976] - Field: 'calls' [13:14:09.976] - Field: 'globals' [13:14:09.976] - Field: 'stdout' [13:14:09.977] - Field: 'earlySignal' [13:14:09.977] - Field: 'lazy' [13:14:09.977] - Field: 'state' [13:14:09.977] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:09.977] - Launch lazy future ... [13:14:09.978] Packages needed by the future expression (n = 0): [13:14:09.978] Packages needed by future strategies (n = 0): [13:14:09.978] { [13:14:09.978] { [13:14:09.978] { [13:14:09.978] ...future.startTime <- base::Sys.time() [13:14:09.978] { [13:14:09.978] { [13:14:09.978] { [13:14:09.978] { [13:14:09.978] base::local({ [13:14:09.978] has_future <- base::requireNamespace("future", [13:14:09.978] quietly = TRUE) [13:14:09.978] if (has_future) { [13:14:09.978] ns <- base::getNamespace("future") [13:14:09.978] version <- ns[[".package"]][["version"]] [13:14:09.978] if (is.null(version)) [13:14:09.978] version <- utils::packageVersion("future") [13:14:09.978] } [13:14:09.978] else { [13:14:09.978] version <- NULL [13:14:09.978] } [13:14:09.978] if (!has_future || version < "1.8.0") { [13:14:09.978] info <- base::c(r_version = base::gsub("R version ", [13:14:09.978] "", base::R.version$version.string), [13:14:09.978] platform = base::sprintf("%s (%s-bit)", [13:14:09.978] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:09.978] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:09.978] "release", "version")], collapse = " "), [13:14:09.978] hostname = base::Sys.info()[["nodename"]]) [13:14:09.978] info <- base::sprintf("%s: %s", base::names(info), [13:14:09.978] info) [13:14:09.978] info <- base::paste(info, collapse = "; ") [13:14:09.978] if (!has_future) { [13:14:09.978] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:09.978] info) [13:14:09.978] } [13:14:09.978] else { [13:14:09.978] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:09.978] info, version) [13:14:09.978] } [13:14:09.978] base::stop(msg) [13:14:09.978] } [13:14:09.978] }) [13:14:09.978] } [13:14:09.978] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:09.978] base::options(mc.cores = 1L) [13:14:09.978] } [13:14:09.978] options(future.plan = NULL) [13:14:09.978] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.978] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:09.978] } [13:14:09.978] ...future.workdir <- getwd() [13:14:09.978] } [13:14:09.978] ...future.oldOptions <- base::as.list(base::.Options) [13:14:09.978] ...future.oldEnvVars <- base::Sys.getenv() [13:14:09.978] } [13:14:09.978] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:09.978] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:09.978] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:09.978] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:09.978] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:09.978] future.stdout.windows.reencode = NULL, width = 80L) [13:14:09.978] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:09.978] base::names(...future.oldOptions)) [13:14:09.978] } [13:14:09.978] if (FALSE) { [13:14:09.978] } [13:14:09.978] else { [13:14:09.978] if (TRUE) { [13:14:09.978] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:09.978] open = "w") [13:14:09.978] } [13:14:09.978] else { [13:14:09.978] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:09.978] windows = "NUL", "/dev/null"), open = "w") [13:14:09.978] } [13:14:09.978] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:09.978] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:09.978] base::sink(type = "output", split = FALSE) [13:14:09.978] base::close(...future.stdout) [13:14:09.978] }, add = TRUE) [13:14:09.978] } [13:14:09.978] ...future.frame <- base::sys.nframe() [13:14:09.978] ...future.conditions <- base::list() [13:14:09.978] ...future.rng <- base::globalenv()$.Random.seed [13:14:09.978] if (FALSE) { [13:14:09.978] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:09.978] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:09.978] } [13:14:09.978] ...future.result <- base::tryCatch({ [13:14:09.978] base::withCallingHandlers({ [13:14:09.978] ...future.value <- base::withVisible(base::local({ [13:14:09.978] ...future.makeSendCondition <- local({ [13:14:09.978] sendCondition <- NULL [13:14:09.978] function(frame = 1L) { [13:14:09.978] if (is.function(sendCondition)) [13:14:09.978] return(sendCondition) [13:14:09.978] ns <- getNamespace("parallel") [13:14:09.978] if (exists("sendData", mode = "function", [13:14:09.978] envir = ns)) { [13:14:09.978] parallel_sendData <- get("sendData", mode = "function", [13:14:09.978] envir = ns) [13:14:09.978] envir <- sys.frame(frame) [13:14:09.978] master <- NULL [13:14:09.978] while (!identical(envir, .GlobalEnv) && [13:14:09.978] !identical(envir, emptyenv())) { [13:14:09.978] if (exists("master", mode = "list", envir = envir, [13:14:09.978] inherits = FALSE)) { [13:14:09.978] master <- get("master", mode = "list", [13:14:09.978] envir = envir, inherits = FALSE) [13:14:09.978] if (inherits(master, c("SOCKnode", [13:14:09.978] "SOCK0node"))) { [13:14:09.978] sendCondition <<- function(cond) { [13:14:09.978] data <- list(type = "VALUE", value = cond, [13:14:09.978] success = TRUE) [13:14:09.978] parallel_sendData(master, data) [13:14:09.978] } [13:14:09.978] return(sendCondition) [13:14:09.978] } [13:14:09.978] } [13:14:09.978] frame <- frame + 1L [13:14:09.978] envir <- sys.frame(frame) [13:14:09.978] } [13:14:09.978] } [13:14:09.978] sendCondition <<- function(cond) NULL [13:14:09.978] } [13:14:09.978] }) [13:14:09.978] withCallingHandlers({ [13:14:09.978] { [13:14:09.978] do.call(function(...) { [13:14:09.978] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.978] if (!identical(...future.globals.maxSize.org, [13:14:09.978] ...future.globals.maxSize)) { [13:14:09.978] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.978] on.exit(options(oopts), add = TRUE) [13:14:09.978] } [13:14:09.978] { [13:14:09.978] lapply(seq_along(...future.elements_ii), [13:14:09.978] FUN = function(jj) { [13:14:09.978] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.978] ...future.FUN(...future.X_jj, ...) [13:14:09.978] }) [13:14:09.978] } [13:14:09.978] }, args = future.call.arguments) [13:14:09.978] } [13:14:09.978] }, immediateCondition = function(cond) { [13:14:09.978] sendCondition <- ...future.makeSendCondition() [13:14:09.978] sendCondition(cond) [13:14:09.978] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.978] { [13:14:09.978] inherits <- base::inherits [13:14:09.978] invokeRestart <- base::invokeRestart [13:14:09.978] is.null <- base::is.null [13:14:09.978] muffled <- FALSE [13:14:09.978] if (inherits(cond, "message")) { [13:14:09.978] muffled <- grepl(pattern, "muffleMessage") [13:14:09.978] if (muffled) [13:14:09.978] invokeRestart("muffleMessage") [13:14:09.978] } [13:14:09.978] else if (inherits(cond, "warning")) { [13:14:09.978] muffled <- grepl(pattern, "muffleWarning") [13:14:09.978] if (muffled) [13:14:09.978] invokeRestart("muffleWarning") [13:14:09.978] } [13:14:09.978] else if (inherits(cond, "condition")) { [13:14:09.978] if (!is.null(pattern)) { [13:14:09.978] computeRestarts <- base::computeRestarts [13:14:09.978] grepl <- base::grepl [13:14:09.978] restarts <- computeRestarts(cond) [13:14:09.978] for (restart in restarts) { [13:14:09.978] name <- restart$name [13:14:09.978] if (is.null(name)) [13:14:09.978] next [13:14:09.978] if (!grepl(pattern, name)) [13:14:09.978] next [13:14:09.978] invokeRestart(restart) [13:14:09.978] muffled <- TRUE [13:14:09.978] break [13:14:09.978] } [13:14:09.978] } [13:14:09.978] } [13:14:09.978] invisible(muffled) [13:14:09.978] } [13:14:09.978] muffleCondition(cond) [13:14:09.978] }) [13:14:09.978] })) [13:14:09.978] future::FutureResult(value = ...future.value$value, [13:14:09.978] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.978] ...future.rng), globalenv = if (FALSE) [13:14:09.978] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:09.978] ...future.globalenv.names)) [13:14:09.978] else NULL, started = ...future.startTime, version = "1.8") [13:14:09.978] }, condition = base::local({ [13:14:09.978] c <- base::c [13:14:09.978] inherits <- base::inherits [13:14:09.978] invokeRestart <- base::invokeRestart [13:14:09.978] length <- base::length [13:14:09.978] list <- base::list [13:14:09.978] seq.int <- base::seq.int [13:14:09.978] signalCondition <- base::signalCondition [13:14:09.978] sys.calls <- base::sys.calls [13:14:09.978] `[[` <- base::`[[` [13:14:09.978] `+` <- base::`+` [13:14:09.978] `<<-` <- base::`<<-` [13:14:09.978] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:09.978] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:09.978] 3L)] [13:14:09.978] } [13:14:09.978] function(cond) { [13:14:09.978] is_error <- inherits(cond, "error") [13:14:09.978] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:09.978] NULL) [13:14:09.978] if (is_error) { [13:14:09.978] sessionInformation <- function() { [13:14:09.978] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:09.978] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:09.978] search = base::search(), system = base::Sys.info()) [13:14:09.978] } [13:14:09.978] ...future.conditions[[length(...future.conditions) + [13:14:09.978] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:09.978] cond$call), session = sessionInformation(), [13:14:09.978] timestamp = base::Sys.time(), signaled = 0L) [13:14:09.978] signalCondition(cond) [13:14:09.978] } [13:14:09.978] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:09.978] "immediateCondition"))) { [13:14:09.978] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:09.978] ...future.conditions[[length(...future.conditions) + [13:14:09.978] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:09.978] if (TRUE && !signal) { [13:14:09.978] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.978] { [13:14:09.978] inherits <- base::inherits [13:14:09.978] invokeRestart <- base::invokeRestart [13:14:09.978] is.null <- base::is.null [13:14:09.978] muffled <- FALSE [13:14:09.978] if (inherits(cond, "message")) { [13:14:09.978] muffled <- grepl(pattern, "muffleMessage") [13:14:09.978] if (muffled) [13:14:09.978] invokeRestart("muffleMessage") [13:14:09.978] } [13:14:09.978] else if (inherits(cond, "warning")) { [13:14:09.978] muffled <- grepl(pattern, "muffleWarning") [13:14:09.978] if (muffled) [13:14:09.978] invokeRestart("muffleWarning") [13:14:09.978] } [13:14:09.978] else if (inherits(cond, "condition")) { [13:14:09.978] if (!is.null(pattern)) { [13:14:09.978] computeRestarts <- base::computeRestarts [13:14:09.978] grepl <- base::grepl [13:14:09.978] restarts <- computeRestarts(cond) [13:14:09.978] for (restart in restarts) { [13:14:09.978] name <- restart$name [13:14:09.978] if (is.null(name)) [13:14:09.978] next [13:14:09.978] if (!grepl(pattern, name)) [13:14:09.978] next [13:14:09.978] invokeRestart(restart) [13:14:09.978] muffled <- TRUE [13:14:09.978] break [13:14:09.978] } [13:14:09.978] } [13:14:09.978] } [13:14:09.978] invisible(muffled) [13:14:09.978] } [13:14:09.978] muffleCondition(cond, pattern = "^muffle") [13:14:09.978] } [13:14:09.978] } [13:14:09.978] else { [13:14:09.978] if (TRUE) { [13:14:09.978] muffleCondition <- function (cond, pattern = "^muffle") [13:14:09.978] { [13:14:09.978] inherits <- base::inherits [13:14:09.978] invokeRestart <- base::invokeRestart [13:14:09.978] is.null <- base::is.null [13:14:09.978] muffled <- FALSE [13:14:09.978] if (inherits(cond, "message")) { [13:14:09.978] muffled <- grepl(pattern, "muffleMessage") [13:14:09.978] if (muffled) [13:14:09.978] invokeRestart("muffleMessage") [13:14:09.978] } [13:14:09.978] else if (inherits(cond, "warning")) { [13:14:09.978] muffled <- grepl(pattern, "muffleWarning") [13:14:09.978] if (muffled) [13:14:09.978] invokeRestart("muffleWarning") [13:14:09.978] } [13:14:09.978] else if (inherits(cond, "condition")) { [13:14:09.978] if (!is.null(pattern)) { [13:14:09.978] computeRestarts <- base::computeRestarts [13:14:09.978] grepl <- base::grepl [13:14:09.978] restarts <- computeRestarts(cond) [13:14:09.978] for (restart in restarts) { [13:14:09.978] name <- restart$name [13:14:09.978] if (is.null(name)) [13:14:09.978] next [13:14:09.978] if (!grepl(pattern, name)) [13:14:09.978] next [13:14:09.978] invokeRestart(restart) [13:14:09.978] muffled <- TRUE [13:14:09.978] break [13:14:09.978] } [13:14:09.978] } [13:14:09.978] } [13:14:09.978] invisible(muffled) [13:14:09.978] } [13:14:09.978] muffleCondition(cond, pattern = "^muffle") [13:14:09.978] } [13:14:09.978] } [13:14:09.978] } [13:14:09.978] })) [13:14:09.978] }, error = function(ex) { [13:14:09.978] base::structure(base::list(value = NULL, visible = NULL, [13:14:09.978] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:09.978] ...future.rng), started = ...future.startTime, [13:14:09.978] finished = Sys.time(), session_uuid = NA_character_, [13:14:09.978] version = "1.8"), class = "FutureResult") [13:14:09.978] }, finally = { [13:14:09.978] if (!identical(...future.workdir, getwd())) [13:14:09.978] setwd(...future.workdir) [13:14:09.978] { [13:14:09.978] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:09.978] ...future.oldOptions$nwarnings <- NULL [13:14:09.978] } [13:14:09.978] base::options(...future.oldOptions) [13:14:09.978] if (.Platform$OS.type == "windows") { [13:14:09.978] old_names <- names(...future.oldEnvVars) [13:14:09.978] envs <- base::Sys.getenv() [13:14:09.978] names <- names(envs) [13:14:09.978] common <- intersect(names, old_names) [13:14:09.978] added <- setdiff(names, old_names) [13:14:09.978] removed <- setdiff(old_names, names) [13:14:09.978] changed <- common[...future.oldEnvVars[common] != [13:14:09.978] envs[common]] [13:14:09.978] NAMES <- toupper(changed) [13:14:09.978] args <- list() [13:14:09.978] for (kk in seq_along(NAMES)) { [13:14:09.978] name <- changed[[kk]] [13:14:09.978] NAME <- NAMES[[kk]] [13:14:09.978] if (name != NAME && is.element(NAME, old_names)) [13:14:09.978] next [13:14:09.978] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.978] } [13:14:09.978] NAMES <- toupper(added) [13:14:09.978] for (kk in seq_along(NAMES)) { [13:14:09.978] name <- added[[kk]] [13:14:09.978] NAME <- NAMES[[kk]] [13:14:09.978] if (name != NAME && is.element(NAME, old_names)) [13:14:09.978] next [13:14:09.978] args[[name]] <- "" [13:14:09.978] } [13:14:09.978] NAMES <- toupper(removed) [13:14:09.978] for (kk in seq_along(NAMES)) { [13:14:09.978] name <- removed[[kk]] [13:14:09.978] NAME <- NAMES[[kk]] [13:14:09.978] if (name != NAME && is.element(NAME, old_names)) [13:14:09.978] next [13:14:09.978] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:09.978] } [13:14:09.978] if (length(args) > 0) [13:14:09.978] base::do.call(base::Sys.setenv, args = args) [13:14:09.978] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:09.978] } [13:14:09.978] else { [13:14:09.978] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:09.978] } [13:14:09.978] { [13:14:09.978] if (base::length(...future.futureOptionsAdded) > [13:14:09.978] 0L) { [13:14:09.978] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:09.978] base::names(opts) <- ...future.futureOptionsAdded [13:14:09.978] base::options(opts) [13:14:09.978] } [13:14:09.978] { [13:14:09.978] { [13:14:09.978] base::options(mc.cores = ...future.mc.cores.old) [13:14:09.978] NULL [13:14:09.978] } [13:14:09.978] options(future.plan = NULL) [13:14:09.978] if (is.na(NA_character_)) [13:14:09.978] Sys.unsetenv("R_FUTURE_PLAN") [13:14:09.978] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:09.978] future::plan(list(function (..., workers = availableCores(), [13:14:09.978] lazy = FALSE, rscript_libs = .libPaths(), [13:14:09.978] envir = parent.frame()) [13:14:09.978] { [13:14:09.978] if (is.function(workers)) [13:14:09.978] workers <- workers() [13:14:09.978] workers <- structure(as.integer(workers), [13:14:09.978] class = class(workers)) [13:14:09.978] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:09.978] workers >= 1) [13:14:09.978] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:09.978] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:09.978] } [13:14:09.978] future <- MultisessionFuture(..., workers = workers, [13:14:09.978] lazy = lazy, rscript_libs = rscript_libs, [13:14:09.978] envir = envir) [13:14:09.978] if (!future$lazy) [13:14:09.978] future <- run(future) [13:14:09.978] invisible(future) [13:14:09.978] }), .cleanup = FALSE, .init = FALSE) [13:14:09.978] } [13:14:09.978] } [13:14:09.978] } [13:14:09.978] }) [13:14:09.978] if (TRUE) { [13:14:09.978] base::sink(type = "output", split = FALSE) [13:14:09.978] if (TRUE) { [13:14:09.978] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:09.978] } [13:14:09.978] else { [13:14:09.978] ...future.result["stdout"] <- base::list(NULL) [13:14:09.978] } [13:14:09.978] base::close(...future.stdout) [13:14:09.978] ...future.stdout <- NULL [13:14:09.978] } [13:14:09.978] ...future.result$conditions <- ...future.conditions [13:14:09.978] ...future.result$finished <- base::Sys.time() [13:14:09.978] ...future.result [13:14:09.978] } [13:14:09.984] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:09.984] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:09.984] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:09.985] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:09.985] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:09.985] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:09.986] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:09.986] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:09.986] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:09.987] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:09.987] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:09.987] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:09.988] MultisessionFuture started [13:14:09.988] - Launch lazy future ... done [13:14:09.988] run() for 'MultisessionFuture' ... done [13:14:09.989] Created future: [13:14:10.004] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.005] - Validating connection of MultisessionFuture [13:14:10.005] - received message: FutureResult [13:14:10.005] - Received FutureResult [13:14:10.005] - Erased future from FutureRegistry [13:14:10.005] result() for ClusterFuture ... [13:14:10.006] - result already collected: FutureResult [13:14:10.006] result() for ClusterFuture ... done [13:14:10.006] receiveMessageFromWorker() for ClusterFuture ... done [13:14:09.989] MultisessionFuture: [13:14:09.989] Label: 'future_sapply-1' [13:14:09.989] Expression: [13:14:09.989] { [13:14:09.989] do.call(function(...) { [13:14:09.989] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:09.989] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:09.989] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:09.989] on.exit(options(oopts), add = TRUE) [13:14:09.989] } [13:14:09.989] { [13:14:09.989] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:09.989] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:09.989] ...future.FUN(...future.X_jj, ...) [13:14:09.989] }) [13:14:09.989] } [13:14:09.989] }, args = future.call.arguments) [13:14:09.989] } [13:14:09.989] Lazy evaluation: FALSE [13:14:09.989] Asynchronous evaluation: TRUE [13:14:09.989] Local evaluation: TRUE [13:14:09.989] Environment: R_GlobalEnv [13:14:09.989] Capture standard output: TRUE [13:14:09.989] Capture condition classes: 'condition' (excluding 'nothing') [13:14:09.989] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:09.989] Packages: [13:14:09.989] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:09.989] Resolved: TRUE [13:14:09.989] Value: [13:14:09.989] Conditions captured: [13:14:09.989] Early signaling: FALSE [13:14:09.989] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:09.989] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.006] Chunk #1 of 2 ... DONE [13:14:10.006] Chunk #2 of 2 ... [13:14:10.007] - Finding globals in 'X' for chunk #2 ... [13:14:10.007] getGlobalsAndPackages() ... [13:14:10.007] Searching for globals... [13:14:10.007] [13:14:10.007] Searching for globals ... DONE [13:14:10.008] - globals: [0] [13:14:10.008] getGlobalsAndPackages() ... DONE [13:14:10.008] + additional globals found: [n=0] [13:14:10.008] + additional namespaces needed: [n=0] [13:14:10.008] - Finding globals in 'X' for chunk #2 ... DONE [13:14:10.008] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.009] - seeds: [13:14:10.009] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.009] getGlobalsAndPackages() ... [13:14:10.009] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.009] Resolving globals: FALSE [13:14:10.009] Tweak future expression to call with '...' arguments ... [13:14:10.010] { [13:14:10.010] do.call(function(...) { [13:14:10.010] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.010] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.010] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.010] on.exit(options(oopts), add = TRUE) [13:14:10.010] } [13:14:10.010] { [13:14:10.010] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.010] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.010] ...future.FUN(...future.X_jj, ...) [13:14:10.010] }) [13:14:10.010] } [13:14:10.010] }, args = future.call.arguments) [13:14:10.010] } [13:14:10.010] Tweak future expression to call with '...' arguments ... DONE [13:14:10.011] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.011] [13:14:10.011] getGlobalsAndPackages() ... DONE [13:14:10.011] run() for 'Future' ... [13:14:10.011] - state: 'created' [13:14:10.012] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.026] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.026] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.026] - Field: 'node' [13:14:10.026] - Field: 'label' [13:14:10.027] - Field: 'local' [13:14:10.027] - Field: 'owner' [13:14:10.027] - Field: 'envir' [13:14:10.027] - Field: 'workers' [13:14:10.027] - Field: 'packages' [13:14:10.027] - Field: 'gc' [13:14:10.028] - Field: 'conditions' [13:14:10.028] - Field: 'persistent' [13:14:10.028] - Field: 'expr' [13:14:10.028] - Field: 'uuid' [13:14:10.028] - Field: 'seed' [13:14:10.028] - Field: 'version' [13:14:10.029] - Field: 'result' [13:14:10.029] - Field: 'asynchronous' [13:14:10.029] - Field: 'calls' [13:14:10.029] - Field: 'globals' [13:14:10.029] - Field: 'stdout' [13:14:10.029] - Field: 'earlySignal' [13:14:10.030] - Field: 'lazy' [13:14:10.030] - Field: 'state' [13:14:10.030] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.030] - Launch lazy future ... [13:14:10.031] Packages needed by the future expression (n = 0): [13:14:10.031] Packages needed by future strategies (n = 0): [13:14:10.031] { [13:14:10.031] { [13:14:10.031] { [13:14:10.031] ...future.startTime <- base::Sys.time() [13:14:10.031] { [13:14:10.031] { [13:14:10.031] { [13:14:10.031] { [13:14:10.031] base::local({ [13:14:10.031] has_future <- base::requireNamespace("future", [13:14:10.031] quietly = TRUE) [13:14:10.031] if (has_future) { [13:14:10.031] ns <- base::getNamespace("future") [13:14:10.031] version <- ns[[".package"]][["version"]] [13:14:10.031] if (is.null(version)) [13:14:10.031] version <- utils::packageVersion("future") [13:14:10.031] } [13:14:10.031] else { [13:14:10.031] version <- NULL [13:14:10.031] } [13:14:10.031] if (!has_future || version < "1.8.0") { [13:14:10.031] info <- base::c(r_version = base::gsub("R version ", [13:14:10.031] "", base::R.version$version.string), [13:14:10.031] platform = base::sprintf("%s (%s-bit)", [13:14:10.031] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.031] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.031] "release", "version")], collapse = " "), [13:14:10.031] hostname = base::Sys.info()[["nodename"]]) [13:14:10.031] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.031] info) [13:14:10.031] info <- base::paste(info, collapse = "; ") [13:14:10.031] if (!has_future) { [13:14:10.031] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.031] info) [13:14:10.031] } [13:14:10.031] else { [13:14:10.031] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.031] info, version) [13:14:10.031] } [13:14:10.031] base::stop(msg) [13:14:10.031] } [13:14:10.031] }) [13:14:10.031] } [13:14:10.031] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.031] base::options(mc.cores = 1L) [13:14:10.031] } [13:14:10.031] options(future.plan = NULL) [13:14:10.031] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.031] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.031] } [13:14:10.031] ...future.workdir <- getwd() [13:14:10.031] } [13:14:10.031] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.031] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.031] } [13:14:10.031] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.031] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.031] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.031] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.031] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.031] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.031] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.031] base::names(...future.oldOptions)) [13:14:10.031] } [13:14:10.031] if (FALSE) { [13:14:10.031] } [13:14:10.031] else { [13:14:10.031] if (TRUE) { [13:14:10.031] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.031] open = "w") [13:14:10.031] } [13:14:10.031] else { [13:14:10.031] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.031] windows = "NUL", "/dev/null"), open = "w") [13:14:10.031] } [13:14:10.031] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.031] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.031] base::sink(type = "output", split = FALSE) [13:14:10.031] base::close(...future.stdout) [13:14:10.031] }, add = TRUE) [13:14:10.031] } [13:14:10.031] ...future.frame <- base::sys.nframe() [13:14:10.031] ...future.conditions <- base::list() [13:14:10.031] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.031] if (FALSE) { [13:14:10.031] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.031] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.031] } [13:14:10.031] ...future.result <- base::tryCatch({ [13:14:10.031] base::withCallingHandlers({ [13:14:10.031] ...future.value <- base::withVisible(base::local({ [13:14:10.031] ...future.makeSendCondition <- local({ [13:14:10.031] sendCondition <- NULL [13:14:10.031] function(frame = 1L) { [13:14:10.031] if (is.function(sendCondition)) [13:14:10.031] return(sendCondition) [13:14:10.031] ns <- getNamespace("parallel") [13:14:10.031] if (exists("sendData", mode = "function", [13:14:10.031] envir = ns)) { [13:14:10.031] parallel_sendData <- get("sendData", mode = "function", [13:14:10.031] envir = ns) [13:14:10.031] envir <- sys.frame(frame) [13:14:10.031] master <- NULL [13:14:10.031] while (!identical(envir, .GlobalEnv) && [13:14:10.031] !identical(envir, emptyenv())) { [13:14:10.031] if (exists("master", mode = "list", envir = envir, [13:14:10.031] inherits = FALSE)) { [13:14:10.031] master <- get("master", mode = "list", [13:14:10.031] envir = envir, inherits = FALSE) [13:14:10.031] if (inherits(master, c("SOCKnode", [13:14:10.031] "SOCK0node"))) { [13:14:10.031] sendCondition <<- function(cond) { [13:14:10.031] data <- list(type = "VALUE", value = cond, [13:14:10.031] success = TRUE) [13:14:10.031] parallel_sendData(master, data) [13:14:10.031] } [13:14:10.031] return(sendCondition) [13:14:10.031] } [13:14:10.031] } [13:14:10.031] frame <- frame + 1L [13:14:10.031] envir <- sys.frame(frame) [13:14:10.031] } [13:14:10.031] } [13:14:10.031] sendCondition <<- function(cond) NULL [13:14:10.031] } [13:14:10.031] }) [13:14:10.031] withCallingHandlers({ [13:14:10.031] { [13:14:10.031] do.call(function(...) { [13:14:10.031] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.031] if (!identical(...future.globals.maxSize.org, [13:14:10.031] ...future.globals.maxSize)) { [13:14:10.031] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.031] on.exit(options(oopts), add = TRUE) [13:14:10.031] } [13:14:10.031] { [13:14:10.031] lapply(seq_along(...future.elements_ii), [13:14:10.031] FUN = function(jj) { [13:14:10.031] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.031] ...future.FUN(...future.X_jj, ...) [13:14:10.031] }) [13:14:10.031] } [13:14:10.031] }, args = future.call.arguments) [13:14:10.031] } [13:14:10.031] }, immediateCondition = function(cond) { [13:14:10.031] sendCondition <- ...future.makeSendCondition() [13:14:10.031] sendCondition(cond) [13:14:10.031] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.031] { [13:14:10.031] inherits <- base::inherits [13:14:10.031] invokeRestart <- base::invokeRestart [13:14:10.031] is.null <- base::is.null [13:14:10.031] muffled <- FALSE [13:14:10.031] if (inherits(cond, "message")) { [13:14:10.031] muffled <- grepl(pattern, "muffleMessage") [13:14:10.031] if (muffled) [13:14:10.031] invokeRestart("muffleMessage") [13:14:10.031] } [13:14:10.031] else if (inherits(cond, "warning")) { [13:14:10.031] muffled <- grepl(pattern, "muffleWarning") [13:14:10.031] if (muffled) [13:14:10.031] invokeRestart("muffleWarning") [13:14:10.031] } [13:14:10.031] else if (inherits(cond, "condition")) { [13:14:10.031] if (!is.null(pattern)) { [13:14:10.031] computeRestarts <- base::computeRestarts [13:14:10.031] grepl <- base::grepl [13:14:10.031] restarts <- computeRestarts(cond) [13:14:10.031] for (restart in restarts) { [13:14:10.031] name <- restart$name [13:14:10.031] if (is.null(name)) [13:14:10.031] next [13:14:10.031] if (!grepl(pattern, name)) [13:14:10.031] next [13:14:10.031] invokeRestart(restart) [13:14:10.031] muffled <- TRUE [13:14:10.031] break [13:14:10.031] } [13:14:10.031] } [13:14:10.031] } [13:14:10.031] invisible(muffled) [13:14:10.031] } [13:14:10.031] muffleCondition(cond) [13:14:10.031] }) [13:14:10.031] })) [13:14:10.031] future::FutureResult(value = ...future.value$value, [13:14:10.031] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.031] ...future.rng), globalenv = if (FALSE) [13:14:10.031] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.031] ...future.globalenv.names)) [13:14:10.031] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.031] }, condition = base::local({ [13:14:10.031] c <- base::c [13:14:10.031] inherits <- base::inherits [13:14:10.031] invokeRestart <- base::invokeRestart [13:14:10.031] length <- base::length [13:14:10.031] list <- base::list [13:14:10.031] seq.int <- base::seq.int [13:14:10.031] signalCondition <- base::signalCondition [13:14:10.031] sys.calls <- base::sys.calls [13:14:10.031] `[[` <- base::`[[` [13:14:10.031] `+` <- base::`+` [13:14:10.031] `<<-` <- base::`<<-` [13:14:10.031] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.031] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.031] 3L)] [13:14:10.031] } [13:14:10.031] function(cond) { [13:14:10.031] is_error <- inherits(cond, "error") [13:14:10.031] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.031] NULL) [13:14:10.031] if (is_error) { [13:14:10.031] sessionInformation <- function() { [13:14:10.031] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.031] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.031] search = base::search(), system = base::Sys.info()) [13:14:10.031] } [13:14:10.031] ...future.conditions[[length(...future.conditions) + [13:14:10.031] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.031] cond$call), session = sessionInformation(), [13:14:10.031] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.031] signalCondition(cond) [13:14:10.031] } [13:14:10.031] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.031] "immediateCondition"))) { [13:14:10.031] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.031] ...future.conditions[[length(...future.conditions) + [13:14:10.031] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.031] if (TRUE && !signal) { [13:14:10.031] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.031] { [13:14:10.031] inherits <- base::inherits [13:14:10.031] invokeRestart <- base::invokeRestart [13:14:10.031] is.null <- base::is.null [13:14:10.031] muffled <- FALSE [13:14:10.031] if (inherits(cond, "message")) { [13:14:10.031] muffled <- grepl(pattern, "muffleMessage") [13:14:10.031] if (muffled) [13:14:10.031] invokeRestart("muffleMessage") [13:14:10.031] } [13:14:10.031] else if (inherits(cond, "warning")) { [13:14:10.031] muffled <- grepl(pattern, "muffleWarning") [13:14:10.031] if (muffled) [13:14:10.031] invokeRestart("muffleWarning") [13:14:10.031] } [13:14:10.031] else if (inherits(cond, "condition")) { [13:14:10.031] if (!is.null(pattern)) { [13:14:10.031] computeRestarts <- base::computeRestarts [13:14:10.031] grepl <- base::grepl [13:14:10.031] restarts <- computeRestarts(cond) [13:14:10.031] for (restart in restarts) { [13:14:10.031] name <- restart$name [13:14:10.031] if (is.null(name)) [13:14:10.031] next [13:14:10.031] if (!grepl(pattern, name)) [13:14:10.031] next [13:14:10.031] invokeRestart(restart) [13:14:10.031] muffled <- TRUE [13:14:10.031] break [13:14:10.031] } [13:14:10.031] } [13:14:10.031] } [13:14:10.031] invisible(muffled) [13:14:10.031] } [13:14:10.031] muffleCondition(cond, pattern = "^muffle") [13:14:10.031] } [13:14:10.031] } [13:14:10.031] else { [13:14:10.031] if (TRUE) { [13:14:10.031] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.031] { [13:14:10.031] inherits <- base::inherits [13:14:10.031] invokeRestart <- base::invokeRestart [13:14:10.031] is.null <- base::is.null [13:14:10.031] muffled <- FALSE [13:14:10.031] if (inherits(cond, "message")) { [13:14:10.031] muffled <- grepl(pattern, "muffleMessage") [13:14:10.031] if (muffled) [13:14:10.031] invokeRestart("muffleMessage") [13:14:10.031] } [13:14:10.031] else if (inherits(cond, "warning")) { [13:14:10.031] muffled <- grepl(pattern, "muffleWarning") [13:14:10.031] if (muffled) [13:14:10.031] invokeRestart("muffleWarning") [13:14:10.031] } [13:14:10.031] else if (inherits(cond, "condition")) { [13:14:10.031] if (!is.null(pattern)) { [13:14:10.031] computeRestarts <- base::computeRestarts [13:14:10.031] grepl <- base::grepl [13:14:10.031] restarts <- computeRestarts(cond) [13:14:10.031] for (restart in restarts) { [13:14:10.031] name <- restart$name [13:14:10.031] if (is.null(name)) [13:14:10.031] next [13:14:10.031] if (!grepl(pattern, name)) [13:14:10.031] next [13:14:10.031] invokeRestart(restart) [13:14:10.031] muffled <- TRUE [13:14:10.031] break [13:14:10.031] } [13:14:10.031] } [13:14:10.031] } [13:14:10.031] invisible(muffled) [13:14:10.031] } [13:14:10.031] muffleCondition(cond, pattern = "^muffle") [13:14:10.031] } [13:14:10.031] } [13:14:10.031] } [13:14:10.031] })) [13:14:10.031] }, error = function(ex) { [13:14:10.031] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.031] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.031] ...future.rng), started = ...future.startTime, [13:14:10.031] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.031] version = "1.8"), class = "FutureResult") [13:14:10.031] }, finally = { [13:14:10.031] if (!identical(...future.workdir, getwd())) [13:14:10.031] setwd(...future.workdir) [13:14:10.031] { [13:14:10.031] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.031] ...future.oldOptions$nwarnings <- NULL [13:14:10.031] } [13:14:10.031] base::options(...future.oldOptions) [13:14:10.031] if (.Platform$OS.type == "windows") { [13:14:10.031] old_names <- names(...future.oldEnvVars) [13:14:10.031] envs <- base::Sys.getenv() [13:14:10.031] names <- names(envs) [13:14:10.031] common <- intersect(names, old_names) [13:14:10.031] added <- setdiff(names, old_names) [13:14:10.031] removed <- setdiff(old_names, names) [13:14:10.031] changed <- common[...future.oldEnvVars[common] != [13:14:10.031] envs[common]] [13:14:10.031] NAMES <- toupper(changed) [13:14:10.031] args <- list() [13:14:10.031] for (kk in seq_along(NAMES)) { [13:14:10.031] name <- changed[[kk]] [13:14:10.031] NAME <- NAMES[[kk]] [13:14:10.031] if (name != NAME && is.element(NAME, old_names)) [13:14:10.031] next [13:14:10.031] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.031] } [13:14:10.031] NAMES <- toupper(added) [13:14:10.031] for (kk in seq_along(NAMES)) { [13:14:10.031] name <- added[[kk]] [13:14:10.031] NAME <- NAMES[[kk]] [13:14:10.031] if (name != NAME && is.element(NAME, old_names)) [13:14:10.031] next [13:14:10.031] args[[name]] <- "" [13:14:10.031] } [13:14:10.031] NAMES <- toupper(removed) [13:14:10.031] for (kk in seq_along(NAMES)) { [13:14:10.031] name <- removed[[kk]] [13:14:10.031] NAME <- NAMES[[kk]] [13:14:10.031] if (name != NAME && is.element(NAME, old_names)) [13:14:10.031] next [13:14:10.031] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.031] } [13:14:10.031] if (length(args) > 0) [13:14:10.031] base::do.call(base::Sys.setenv, args = args) [13:14:10.031] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.031] } [13:14:10.031] else { [13:14:10.031] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.031] } [13:14:10.031] { [13:14:10.031] if (base::length(...future.futureOptionsAdded) > [13:14:10.031] 0L) { [13:14:10.031] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.031] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.031] base::options(opts) [13:14:10.031] } [13:14:10.031] { [13:14:10.031] { [13:14:10.031] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.031] NULL [13:14:10.031] } [13:14:10.031] options(future.plan = NULL) [13:14:10.031] if (is.na(NA_character_)) [13:14:10.031] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.031] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.031] future::plan(list(function (..., workers = availableCores(), [13:14:10.031] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.031] envir = parent.frame()) [13:14:10.031] { [13:14:10.031] if (is.function(workers)) [13:14:10.031] workers <- workers() [13:14:10.031] workers <- structure(as.integer(workers), [13:14:10.031] class = class(workers)) [13:14:10.031] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.031] workers >= 1) [13:14:10.031] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.031] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.031] } [13:14:10.031] future <- MultisessionFuture(..., workers = workers, [13:14:10.031] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.031] envir = envir) [13:14:10.031] if (!future$lazy) [13:14:10.031] future <- run(future) [13:14:10.031] invisible(future) [13:14:10.031] }), .cleanup = FALSE, .init = FALSE) [13:14:10.031] } [13:14:10.031] } [13:14:10.031] } [13:14:10.031] }) [13:14:10.031] if (TRUE) { [13:14:10.031] base::sink(type = "output", split = FALSE) [13:14:10.031] if (TRUE) { [13:14:10.031] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.031] } [13:14:10.031] else { [13:14:10.031] ...future.result["stdout"] <- base::list(NULL) [13:14:10.031] } [13:14:10.031] base::close(...future.stdout) [13:14:10.031] ...future.stdout <- NULL [13:14:10.031] } [13:14:10.031] ...future.result$conditions <- ...future.conditions [13:14:10.031] ...future.result$finished <- base::Sys.time() [13:14:10.031] ...future.result [13:14:10.031] } [13:14:10.037] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:10.037] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:10.037] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:10.038] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.038] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.038] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:10.039] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:10.039] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.039] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.040] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.040] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.040] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:10.041] MultisessionFuture started [13:14:10.041] - Launch lazy future ... done [13:14:10.041] run() for 'MultisessionFuture' ... done [13:14:10.041] Created future: [13:14:10.057] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.057] - Validating connection of MultisessionFuture [13:14:10.058] - received message: FutureResult [13:14:10.058] - Received FutureResult [13:14:10.058] - Erased future from FutureRegistry [13:14:10.058] result() for ClusterFuture ... [13:14:10.058] - result already collected: FutureResult [13:14:10.058] result() for ClusterFuture ... done [13:14:10.059] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.041] MultisessionFuture: [13:14:10.041] Label: 'future_sapply-2' [13:14:10.041] Expression: [13:14:10.041] { [13:14:10.041] do.call(function(...) { [13:14:10.041] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.041] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.041] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.041] on.exit(options(oopts), add = TRUE) [13:14:10.041] } [13:14:10.041] { [13:14:10.041] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.041] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.041] ...future.FUN(...future.X_jj, ...) [13:14:10.041] }) [13:14:10.041] } [13:14:10.041] }, args = future.call.arguments) [13:14:10.041] } [13:14:10.041] Lazy evaluation: FALSE [13:14:10.041] Asynchronous evaluation: TRUE [13:14:10.041] Local evaluation: TRUE [13:14:10.041] Environment: R_GlobalEnv [13:14:10.041] Capture standard output: TRUE [13:14:10.041] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.041] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.041] Packages: [13:14:10.041] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.041] Resolved: TRUE [13:14:10.041] Value: [13:14:10.041] Conditions captured: [13:14:10.041] Early signaling: FALSE [13:14:10.041] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.041] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.059] Chunk #2 of 2 ... DONE [13:14:10.059] Launching 2 futures (chunks) ... DONE [13:14:10.059] Resolving 2 futures (chunks) ... [13:14:10.060] resolve() on list ... [13:14:10.060] recursive: 0 [13:14:10.060] length: 2 [13:14:10.060] [13:14:10.060] Future #1 [13:14:10.060] result() for ClusterFuture ... [13:14:10.060] - result already collected: FutureResult [13:14:10.061] result() for ClusterFuture ... done [13:14:10.061] result() for ClusterFuture ... [13:14:10.061] - result already collected: FutureResult [13:14:10.061] result() for ClusterFuture ... done [13:14:10.061] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:10.061] - nx: 2 [13:14:10.062] - relay: TRUE [13:14:10.062] - stdout: TRUE [13:14:10.062] - signal: TRUE [13:14:10.062] - resignal: FALSE [13:14:10.062] - force: TRUE [13:14:10.062] - relayed: [n=2] FALSE, FALSE [13:14:10.062] - queued futures: [n=2] FALSE, FALSE [13:14:10.063] - until=1 [13:14:10.063] - relaying element #1 [13:14:10.063] result() for ClusterFuture ... [13:14:10.063] - result already collected: FutureResult [13:14:10.063] result() for ClusterFuture ... done [13:14:10.063] result() for ClusterFuture ... [13:14:10.064] - result already collected: FutureResult [13:14:10.064] result() for ClusterFuture ... done [13:14:10.064] result() for ClusterFuture ... [13:14:10.064] - result already collected: FutureResult [13:14:10.064] result() for ClusterFuture ... done [13:14:10.064] result() for ClusterFuture ... [13:14:10.065] - result already collected: FutureResult [13:14:10.065] result() for ClusterFuture ... done [13:14:10.065] - relayed: [n=2] TRUE, FALSE [13:14:10.065] - queued futures: [n=2] TRUE, FALSE [13:14:10.065] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:10.065] length: 1 (resolved future 1) [13:14:10.066] Future #2 [13:14:10.068] result() for ClusterFuture ... [13:14:10.069] - result already collected: FutureResult [13:14:10.069] result() for ClusterFuture ... done [13:14:10.069] result() for ClusterFuture ... [13:14:10.069] - result already collected: FutureResult [13:14:10.069] result() for ClusterFuture ... done [13:14:10.070] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:10.070] - nx: 2 [13:14:10.070] - relay: TRUE [13:14:10.070] - stdout: TRUE [13:14:10.070] - signal: TRUE [13:14:10.070] - resignal: FALSE [13:14:10.070] - force: TRUE [13:14:10.071] - relayed: [n=2] TRUE, FALSE [13:14:10.071] - queued futures: [n=2] TRUE, FALSE [13:14:10.071] - until=2 [13:14:10.071] - relaying element #2 [13:14:10.071] result() for ClusterFuture ... [13:14:10.072] - result already collected: FutureResult [13:14:10.072] result() for ClusterFuture ... done [13:14:10.072] result() for ClusterFuture ... [13:14:10.072] - result already collected: FutureResult [13:14:10.072] result() for ClusterFuture ... done [13:14:10.072] result() for ClusterFuture ... [13:14:10.073] - result already collected: FutureResult [13:14:10.073] result() for ClusterFuture ... done [13:14:10.073] result() for ClusterFuture ... [13:14:10.073] - result already collected: FutureResult [13:14:10.073] result() for ClusterFuture ... done [13:14:10.073] - relayed: [n=2] TRUE, TRUE [13:14:10.073] - queued futures: [n=2] TRUE, TRUE [13:14:10.074] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:10.074] length: 0 (resolved future 2) [13:14:10.074] Relaying remaining futures [13:14:10.074] signalConditionsASAP(NULL, pos=0) ... [13:14:10.074] - nx: 2 [13:14:10.074] - relay: TRUE [13:14:10.075] - stdout: TRUE [13:14:10.075] - signal: TRUE [13:14:10.075] - resignal: FALSE [13:14:10.075] - force: TRUE [13:14:10.075] - relayed: [n=2] TRUE, TRUE [13:14:10.075] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:10.076] - relayed: [n=2] TRUE, TRUE [13:14:10.076] - queued futures: [n=2] TRUE, TRUE [13:14:10.076] signalConditionsASAP(NULL, pos=0) ... done [13:14:10.076] resolve() on list ... DONE [13:14:10.076] result() for ClusterFuture ... [13:14:10.076] - result already collected: FutureResult [13:14:10.076] result() for ClusterFuture ... done [13:14:10.077] result() for ClusterFuture ... [13:14:10.077] - result already collected: FutureResult [13:14:10.077] result() for ClusterFuture ... done [13:14:10.077] result() for ClusterFuture ... [13:14:10.077] - result already collected: FutureResult [13:14:10.077] result() for ClusterFuture ... done [13:14:10.078] result() for ClusterFuture ... [13:14:10.078] - result already collected: FutureResult [13:14:10.078] result() for ClusterFuture ... done [13:14:10.078] - Number of value chunks collected: 2 [13:14:10.078] Resolving 2 futures (chunks) ... DONE [13:14:10.078] Reducing values from 2 chunks ... [13:14:10.079] - Number of values collected after concatenation: 3 [13:14:10.079] - Number of values expected: 3 [13:14:10.079] Reducing values from 2 chunks ... DONE [13:14:10.079] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:10.080] future_lapply() ... [13:14:10.083] Number of chunks: 2 [13:14:10.083] getGlobalsAndPackagesXApply() ... [13:14:10.083] - future.globals: TRUE [13:14:10.084] getGlobalsAndPackages() ... [13:14:10.084] Searching for globals... [13:14:10.085] - globals found: [2] 'FUN', 'UseMethod' [13:14:10.085] Searching for globals ... DONE [13:14:10.085] Resolving globals: FALSE [13:14:10.086] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:10.086] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:10.086] - globals: [1] 'FUN' [13:14:10.087] [13:14:10.087] getGlobalsAndPackages() ... DONE [13:14:10.087] - globals found/used: [n=1] 'FUN' [13:14:10.087] - needed namespaces: [n=0] [13:14:10.087] Finding globals ... DONE [13:14:10.087] - use_args: TRUE [13:14:10.088] - Getting '...' globals ... [13:14:10.088] resolve() on list ... [13:14:10.088] recursive: 0 [13:14:10.088] length: 1 [13:14:10.088] elements: '...' [13:14:10.089] length: 0 (resolved future 1) [13:14:10.089] resolve() on list ... DONE [13:14:10.089] - '...' content: [n=0] [13:14:10.089] List of 1 [13:14:10.089] $ ...: list() [13:14:10.089] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.089] - attr(*, "where")=List of 1 [13:14:10.089] ..$ ...: [13:14:10.089] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.089] - attr(*, "resolved")= logi TRUE [13:14:10.089] - attr(*, "total_size")= num NA [13:14:10.092] - Getting '...' globals ... DONE [13:14:10.092] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:10.093] List of 2 [13:14:10.093] $ ...future.FUN:function (x, ...) [13:14:10.093] $ ... : list() [13:14:10.093] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.093] - attr(*, "where")=List of 2 [13:14:10.093] ..$ ...future.FUN: [13:14:10.093] ..$ ... : [13:14:10.093] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.093] - attr(*, "resolved")= logi FALSE [13:14:10.093] - attr(*, "total_size")= num 1248 [13:14:10.096] Packages to be attached in all futures: [n=0] [13:14:10.096] getGlobalsAndPackagesXApply() ... DONE [13:14:10.096] Number of futures (= number of chunks): 2 [13:14:10.097] Launching 2 futures (chunks) ... [13:14:10.097] Chunk #1 of 2 ... [13:14:10.097] - Finding globals in 'X' for chunk #1 ... [13:14:10.097] getGlobalsAndPackages() ... [13:14:10.097] Searching for globals... [13:14:10.098] [13:14:10.098] Searching for globals ... DONE [13:14:10.098] - globals: [0] [13:14:10.098] getGlobalsAndPackages() ... DONE [13:14:10.098] + additional globals found: [n=0] [13:14:10.098] + additional namespaces needed: [n=0] [13:14:10.098] - Finding globals in 'X' for chunk #1 ... DONE [13:14:10.099] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.099] - seeds: [13:14:10.099] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.099] getGlobalsAndPackages() ... [13:14:10.099] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.099] Resolving globals: FALSE [13:14:10.100] Tweak future expression to call with '...' arguments ... [13:14:10.100] { [13:14:10.100] do.call(function(...) { [13:14:10.100] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.100] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.100] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.100] on.exit(options(oopts), add = TRUE) [13:14:10.100] } [13:14:10.100] { [13:14:10.100] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.100] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.100] ...future.FUN(...future.X_jj, ...) [13:14:10.100] }) [13:14:10.100] } [13:14:10.100] }, args = future.call.arguments) [13:14:10.100] } [13:14:10.100] Tweak future expression to call with '...' arguments ... DONE [13:14:10.101] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.101] [13:14:10.101] getGlobalsAndPackages() ... DONE [13:14:10.101] run() for 'Future' ... [13:14:10.102] - state: 'created' [13:14:10.102] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.117] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.117] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.117] - Field: 'node' [13:14:10.117] - Field: 'label' [13:14:10.117] - Field: 'local' [13:14:10.117] - Field: 'owner' [13:14:10.118] - Field: 'envir' [13:14:10.118] - Field: 'workers' [13:14:10.118] - Field: 'packages' [13:14:10.118] - Field: 'gc' [13:14:10.118] - Field: 'conditions' [13:14:10.119] - Field: 'persistent' [13:14:10.119] - Field: 'expr' [13:14:10.119] - Field: 'uuid' [13:14:10.119] - Field: 'seed' [13:14:10.119] - Field: 'version' [13:14:10.119] - Field: 'result' [13:14:10.120] - Field: 'asynchronous' [13:14:10.120] - Field: 'calls' [13:14:10.120] - Field: 'globals' [13:14:10.120] - Field: 'stdout' [13:14:10.120] - Field: 'earlySignal' [13:14:10.120] - Field: 'lazy' [13:14:10.121] - Field: 'state' [13:14:10.121] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.121] - Launch lazy future ... [13:14:10.121] Packages needed by the future expression (n = 0): [13:14:10.122] Packages needed by future strategies (n = 0): [13:14:10.122] { [13:14:10.122] { [13:14:10.122] { [13:14:10.122] ...future.startTime <- base::Sys.time() [13:14:10.122] { [13:14:10.122] { [13:14:10.122] { [13:14:10.122] { [13:14:10.122] base::local({ [13:14:10.122] has_future <- base::requireNamespace("future", [13:14:10.122] quietly = TRUE) [13:14:10.122] if (has_future) { [13:14:10.122] ns <- base::getNamespace("future") [13:14:10.122] version <- ns[[".package"]][["version"]] [13:14:10.122] if (is.null(version)) [13:14:10.122] version <- utils::packageVersion("future") [13:14:10.122] } [13:14:10.122] else { [13:14:10.122] version <- NULL [13:14:10.122] } [13:14:10.122] if (!has_future || version < "1.8.0") { [13:14:10.122] info <- base::c(r_version = base::gsub("R version ", [13:14:10.122] "", base::R.version$version.string), [13:14:10.122] platform = base::sprintf("%s (%s-bit)", [13:14:10.122] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.122] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.122] "release", "version")], collapse = " "), [13:14:10.122] hostname = base::Sys.info()[["nodename"]]) [13:14:10.122] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.122] info) [13:14:10.122] info <- base::paste(info, collapse = "; ") [13:14:10.122] if (!has_future) { [13:14:10.122] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.122] info) [13:14:10.122] } [13:14:10.122] else { [13:14:10.122] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.122] info, version) [13:14:10.122] } [13:14:10.122] base::stop(msg) [13:14:10.122] } [13:14:10.122] }) [13:14:10.122] } [13:14:10.122] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.122] base::options(mc.cores = 1L) [13:14:10.122] } [13:14:10.122] options(future.plan = NULL) [13:14:10.122] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.122] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.122] } [13:14:10.122] ...future.workdir <- getwd() [13:14:10.122] } [13:14:10.122] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.122] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.122] } [13:14:10.122] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.122] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.122] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.122] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.122] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.122] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.122] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.122] base::names(...future.oldOptions)) [13:14:10.122] } [13:14:10.122] if (FALSE) { [13:14:10.122] } [13:14:10.122] else { [13:14:10.122] if (TRUE) { [13:14:10.122] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.122] open = "w") [13:14:10.122] } [13:14:10.122] else { [13:14:10.122] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.122] windows = "NUL", "/dev/null"), open = "w") [13:14:10.122] } [13:14:10.122] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.122] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.122] base::sink(type = "output", split = FALSE) [13:14:10.122] base::close(...future.stdout) [13:14:10.122] }, add = TRUE) [13:14:10.122] } [13:14:10.122] ...future.frame <- base::sys.nframe() [13:14:10.122] ...future.conditions <- base::list() [13:14:10.122] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.122] if (FALSE) { [13:14:10.122] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.122] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.122] } [13:14:10.122] ...future.result <- base::tryCatch({ [13:14:10.122] base::withCallingHandlers({ [13:14:10.122] ...future.value <- base::withVisible(base::local({ [13:14:10.122] ...future.makeSendCondition <- local({ [13:14:10.122] sendCondition <- NULL [13:14:10.122] function(frame = 1L) { [13:14:10.122] if (is.function(sendCondition)) [13:14:10.122] return(sendCondition) [13:14:10.122] ns <- getNamespace("parallel") [13:14:10.122] if (exists("sendData", mode = "function", [13:14:10.122] envir = ns)) { [13:14:10.122] parallel_sendData <- get("sendData", mode = "function", [13:14:10.122] envir = ns) [13:14:10.122] envir <- sys.frame(frame) [13:14:10.122] master <- NULL [13:14:10.122] while (!identical(envir, .GlobalEnv) && [13:14:10.122] !identical(envir, emptyenv())) { [13:14:10.122] if (exists("master", mode = "list", envir = envir, [13:14:10.122] inherits = FALSE)) { [13:14:10.122] master <- get("master", mode = "list", [13:14:10.122] envir = envir, inherits = FALSE) [13:14:10.122] if (inherits(master, c("SOCKnode", [13:14:10.122] "SOCK0node"))) { [13:14:10.122] sendCondition <<- function(cond) { [13:14:10.122] data <- list(type = "VALUE", value = cond, [13:14:10.122] success = TRUE) [13:14:10.122] parallel_sendData(master, data) [13:14:10.122] } [13:14:10.122] return(sendCondition) [13:14:10.122] } [13:14:10.122] } [13:14:10.122] frame <- frame + 1L [13:14:10.122] envir <- sys.frame(frame) [13:14:10.122] } [13:14:10.122] } [13:14:10.122] sendCondition <<- function(cond) NULL [13:14:10.122] } [13:14:10.122] }) [13:14:10.122] withCallingHandlers({ [13:14:10.122] { [13:14:10.122] do.call(function(...) { [13:14:10.122] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.122] if (!identical(...future.globals.maxSize.org, [13:14:10.122] ...future.globals.maxSize)) { [13:14:10.122] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.122] on.exit(options(oopts), add = TRUE) [13:14:10.122] } [13:14:10.122] { [13:14:10.122] lapply(seq_along(...future.elements_ii), [13:14:10.122] FUN = function(jj) { [13:14:10.122] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.122] ...future.FUN(...future.X_jj, ...) [13:14:10.122] }) [13:14:10.122] } [13:14:10.122] }, args = future.call.arguments) [13:14:10.122] } [13:14:10.122] }, immediateCondition = function(cond) { [13:14:10.122] sendCondition <- ...future.makeSendCondition() [13:14:10.122] sendCondition(cond) [13:14:10.122] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.122] { [13:14:10.122] inherits <- base::inherits [13:14:10.122] invokeRestart <- base::invokeRestart [13:14:10.122] is.null <- base::is.null [13:14:10.122] muffled <- FALSE [13:14:10.122] if (inherits(cond, "message")) { [13:14:10.122] muffled <- grepl(pattern, "muffleMessage") [13:14:10.122] if (muffled) [13:14:10.122] invokeRestart("muffleMessage") [13:14:10.122] } [13:14:10.122] else if (inherits(cond, "warning")) { [13:14:10.122] muffled <- grepl(pattern, "muffleWarning") [13:14:10.122] if (muffled) [13:14:10.122] invokeRestart("muffleWarning") [13:14:10.122] } [13:14:10.122] else if (inherits(cond, "condition")) { [13:14:10.122] if (!is.null(pattern)) { [13:14:10.122] computeRestarts <- base::computeRestarts [13:14:10.122] grepl <- base::grepl [13:14:10.122] restarts <- computeRestarts(cond) [13:14:10.122] for (restart in restarts) { [13:14:10.122] name <- restart$name [13:14:10.122] if (is.null(name)) [13:14:10.122] next [13:14:10.122] if (!grepl(pattern, name)) [13:14:10.122] next [13:14:10.122] invokeRestart(restart) [13:14:10.122] muffled <- TRUE [13:14:10.122] break [13:14:10.122] } [13:14:10.122] } [13:14:10.122] } [13:14:10.122] invisible(muffled) [13:14:10.122] } [13:14:10.122] muffleCondition(cond) [13:14:10.122] }) [13:14:10.122] })) [13:14:10.122] future::FutureResult(value = ...future.value$value, [13:14:10.122] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.122] ...future.rng), globalenv = if (FALSE) [13:14:10.122] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.122] ...future.globalenv.names)) [13:14:10.122] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.122] }, condition = base::local({ [13:14:10.122] c <- base::c [13:14:10.122] inherits <- base::inherits [13:14:10.122] invokeRestart <- base::invokeRestart [13:14:10.122] length <- base::length [13:14:10.122] list <- base::list [13:14:10.122] seq.int <- base::seq.int [13:14:10.122] signalCondition <- base::signalCondition [13:14:10.122] sys.calls <- base::sys.calls [13:14:10.122] `[[` <- base::`[[` [13:14:10.122] `+` <- base::`+` [13:14:10.122] `<<-` <- base::`<<-` [13:14:10.122] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.122] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.122] 3L)] [13:14:10.122] } [13:14:10.122] function(cond) { [13:14:10.122] is_error <- inherits(cond, "error") [13:14:10.122] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.122] NULL) [13:14:10.122] if (is_error) { [13:14:10.122] sessionInformation <- function() { [13:14:10.122] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.122] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.122] search = base::search(), system = base::Sys.info()) [13:14:10.122] } [13:14:10.122] ...future.conditions[[length(...future.conditions) + [13:14:10.122] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.122] cond$call), session = sessionInformation(), [13:14:10.122] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.122] signalCondition(cond) [13:14:10.122] } [13:14:10.122] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.122] "immediateCondition"))) { [13:14:10.122] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.122] ...future.conditions[[length(...future.conditions) + [13:14:10.122] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.122] if (TRUE && !signal) { [13:14:10.122] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.122] { [13:14:10.122] inherits <- base::inherits [13:14:10.122] invokeRestart <- base::invokeRestart [13:14:10.122] is.null <- base::is.null [13:14:10.122] muffled <- FALSE [13:14:10.122] if (inherits(cond, "message")) { [13:14:10.122] muffled <- grepl(pattern, "muffleMessage") [13:14:10.122] if (muffled) [13:14:10.122] invokeRestart("muffleMessage") [13:14:10.122] } [13:14:10.122] else if (inherits(cond, "warning")) { [13:14:10.122] muffled <- grepl(pattern, "muffleWarning") [13:14:10.122] if (muffled) [13:14:10.122] invokeRestart("muffleWarning") [13:14:10.122] } [13:14:10.122] else if (inherits(cond, "condition")) { [13:14:10.122] if (!is.null(pattern)) { [13:14:10.122] computeRestarts <- base::computeRestarts [13:14:10.122] grepl <- base::grepl [13:14:10.122] restarts <- computeRestarts(cond) [13:14:10.122] for (restart in restarts) { [13:14:10.122] name <- restart$name [13:14:10.122] if (is.null(name)) [13:14:10.122] next [13:14:10.122] if (!grepl(pattern, name)) [13:14:10.122] next [13:14:10.122] invokeRestart(restart) [13:14:10.122] muffled <- TRUE [13:14:10.122] break [13:14:10.122] } [13:14:10.122] } [13:14:10.122] } [13:14:10.122] invisible(muffled) [13:14:10.122] } [13:14:10.122] muffleCondition(cond, pattern = "^muffle") [13:14:10.122] } [13:14:10.122] } [13:14:10.122] else { [13:14:10.122] if (TRUE) { [13:14:10.122] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.122] { [13:14:10.122] inherits <- base::inherits [13:14:10.122] invokeRestart <- base::invokeRestart [13:14:10.122] is.null <- base::is.null [13:14:10.122] muffled <- FALSE [13:14:10.122] if (inherits(cond, "message")) { [13:14:10.122] muffled <- grepl(pattern, "muffleMessage") [13:14:10.122] if (muffled) [13:14:10.122] invokeRestart("muffleMessage") [13:14:10.122] } [13:14:10.122] else if (inherits(cond, "warning")) { [13:14:10.122] muffled <- grepl(pattern, "muffleWarning") [13:14:10.122] if (muffled) [13:14:10.122] invokeRestart("muffleWarning") [13:14:10.122] } [13:14:10.122] else if (inherits(cond, "condition")) { [13:14:10.122] if (!is.null(pattern)) { [13:14:10.122] computeRestarts <- base::computeRestarts [13:14:10.122] grepl <- base::grepl [13:14:10.122] restarts <- computeRestarts(cond) [13:14:10.122] for (restart in restarts) { [13:14:10.122] name <- restart$name [13:14:10.122] if (is.null(name)) [13:14:10.122] next [13:14:10.122] if (!grepl(pattern, name)) [13:14:10.122] next [13:14:10.122] invokeRestart(restart) [13:14:10.122] muffled <- TRUE [13:14:10.122] break [13:14:10.122] } [13:14:10.122] } [13:14:10.122] } [13:14:10.122] invisible(muffled) [13:14:10.122] } [13:14:10.122] muffleCondition(cond, pattern = "^muffle") [13:14:10.122] } [13:14:10.122] } [13:14:10.122] } [13:14:10.122] })) [13:14:10.122] }, error = function(ex) { [13:14:10.122] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.122] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.122] ...future.rng), started = ...future.startTime, [13:14:10.122] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.122] version = "1.8"), class = "FutureResult") [13:14:10.122] }, finally = { [13:14:10.122] if (!identical(...future.workdir, getwd())) [13:14:10.122] setwd(...future.workdir) [13:14:10.122] { [13:14:10.122] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.122] ...future.oldOptions$nwarnings <- NULL [13:14:10.122] } [13:14:10.122] base::options(...future.oldOptions) [13:14:10.122] if (.Platform$OS.type == "windows") { [13:14:10.122] old_names <- names(...future.oldEnvVars) [13:14:10.122] envs <- base::Sys.getenv() [13:14:10.122] names <- names(envs) [13:14:10.122] common <- intersect(names, old_names) [13:14:10.122] added <- setdiff(names, old_names) [13:14:10.122] removed <- setdiff(old_names, names) [13:14:10.122] changed <- common[...future.oldEnvVars[common] != [13:14:10.122] envs[common]] [13:14:10.122] NAMES <- toupper(changed) [13:14:10.122] args <- list() [13:14:10.122] for (kk in seq_along(NAMES)) { [13:14:10.122] name <- changed[[kk]] [13:14:10.122] NAME <- NAMES[[kk]] [13:14:10.122] if (name != NAME && is.element(NAME, old_names)) [13:14:10.122] next [13:14:10.122] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.122] } [13:14:10.122] NAMES <- toupper(added) [13:14:10.122] for (kk in seq_along(NAMES)) { [13:14:10.122] name <- added[[kk]] [13:14:10.122] NAME <- NAMES[[kk]] [13:14:10.122] if (name != NAME && is.element(NAME, old_names)) [13:14:10.122] next [13:14:10.122] args[[name]] <- "" [13:14:10.122] } [13:14:10.122] NAMES <- toupper(removed) [13:14:10.122] for (kk in seq_along(NAMES)) { [13:14:10.122] name <- removed[[kk]] [13:14:10.122] NAME <- NAMES[[kk]] [13:14:10.122] if (name != NAME && is.element(NAME, old_names)) [13:14:10.122] next [13:14:10.122] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.122] } [13:14:10.122] if (length(args) > 0) [13:14:10.122] base::do.call(base::Sys.setenv, args = args) [13:14:10.122] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.122] } [13:14:10.122] else { [13:14:10.122] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.122] } [13:14:10.122] { [13:14:10.122] if (base::length(...future.futureOptionsAdded) > [13:14:10.122] 0L) { [13:14:10.122] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.122] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.122] base::options(opts) [13:14:10.122] } [13:14:10.122] { [13:14:10.122] { [13:14:10.122] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.122] NULL [13:14:10.122] } [13:14:10.122] options(future.plan = NULL) [13:14:10.122] if (is.na(NA_character_)) [13:14:10.122] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.122] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.122] future::plan(list(function (..., workers = availableCores(), [13:14:10.122] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.122] envir = parent.frame()) [13:14:10.122] { [13:14:10.122] if (is.function(workers)) [13:14:10.122] workers <- workers() [13:14:10.122] workers <- structure(as.integer(workers), [13:14:10.122] class = class(workers)) [13:14:10.122] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.122] workers >= 1) [13:14:10.122] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.122] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.122] } [13:14:10.122] future <- MultisessionFuture(..., workers = workers, [13:14:10.122] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.122] envir = envir) [13:14:10.122] if (!future$lazy) [13:14:10.122] future <- run(future) [13:14:10.122] invisible(future) [13:14:10.122] }), .cleanup = FALSE, .init = FALSE) [13:14:10.122] } [13:14:10.122] } [13:14:10.122] } [13:14:10.122] }) [13:14:10.122] if (TRUE) { [13:14:10.122] base::sink(type = "output", split = FALSE) [13:14:10.122] if (TRUE) { [13:14:10.122] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.122] } [13:14:10.122] else { [13:14:10.122] ...future.result["stdout"] <- base::list(NULL) [13:14:10.122] } [13:14:10.122] base::close(...future.stdout) [13:14:10.122] ...future.stdout <- NULL [13:14:10.122] } [13:14:10.122] ...future.result$conditions <- ...future.conditions [13:14:10.122] ...future.result$finished <- base::Sys.time() [13:14:10.122] ...future.result [13:14:10.122] } [13:14:10.128] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:10.128] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:10.128] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:10.129] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.129] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.129] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:10.130] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:10.130] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.130] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.130] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.131] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.131] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:10.132] MultisessionFuture started [13:14:10.132] - Launch lazy future ... done [13:14:10.132] run() for 'MultisessionFuture' ... done [13:14:10.132] Created future: [13:14:10.148] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.148] - Validating connection of MultisessionFuture [13:14:10.149] - received message: FutureResult [13:14:10.149] - Received FutureResult [13:14:10.149] - Erased future from FutureRegistry [13:14:10.149] result() for ClusterFuture ... [13:14:10.149] - result already collected: FutureResult [13:14:10.149] result() for ClusterFuture ... done [13:14:10.150] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.132] MultisessionFuture: [13:14:10.132] Label: 'future_sapply-1' [13:14:10.132] Expression: [13:14:10.132] { [13:14:10.132] do.call(function(...) { [13:14:10.132] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.132] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.132] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.132] on.exit(options(oopts), add = TRUE) [13:14:10.132] } [13:14:10.132] { [13:14:10.132] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.132] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.132] ...future.FUN(...future.X_jj, ...) [13:14:10.132] }) [13:14:10.132] } [13:14:10.132] }, args = future.call.arguments) [13:14:10.132] } [13:14:10.132] Lazy evaluation: FALSE [13:14:10.132] Asynchronous evaluation: TRUE [13:14:10.132] Local evaluation: TRUE [13:14:10.132] Environment: R_GlobalEnv [13:14:10.132] Capture standard output: TRUE [13:14:10.132] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.132] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.132] Packages: [13:14:10.132] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.132] Resolved: TRUE [13:14:10.132] Value: [13:14:10.132] Conditions captured: [13:14:10.132] Early signaling: FALSE [13:14:10.132] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.132] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.150] Chunk #1 of 2 ... DONE [13:14:10.150] Chunk #2 of 2 ... [13:14:10.150] - Finding globals in 'X' for chunk #2 ... [13:14:10.150] getGlobalsAndPackages() ... [13:14:10.151] Searching for globals... [13:14:10.151] [13:14:10.151] Searching for globals ... DONE [13:14:10.151] - globals: [0] [13:14:10.151] getGlobalsAndPackages() ... DONE [13:14:10.152] + additional globals found: [n=0] [13:14:10.152] + additional namespaces needed: [n=0] [13:14:10.152] - Finding globals in 'X' for chunk #2 ... DONE [13:14:10.152] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.152] - seeds: [13:14:10.152] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.153] getGlobalsAndPackages() ... [13:14:10.153] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.153] Resolving globals: FALSE [13:14:10.153] Tweak future expression to call with '...' arguments ... [13:14:10.153] { [13:14:10.153] do.call(function(...) { [13:14:10.153] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.153] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.153] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.153] on.exit(options(oopts), add = TRUE) [13:14:10.153] } [13:14:10.153] { [13:14:10.153] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.153] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.153] ...future.FUN(...future.X_jj, ...) [13:14:10.153] }) [13:14:10.153] } [13:14:10.153] }, args = future.call.arguments) [13:14:10.153] } [13:14:10.154] Tweak future expression to call with '...' arguments ... DONE [13:14:10.154] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.154] [13:14:10.155] getGlobalsAndPackages() ... DONE [13:14:10.155] run() for 'Future' ... [13:14:10.155] - state: 'created' [13:14:10.155] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.169] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.170] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.170] - Field: 'node' [13:14:10.170] - Field: 'label' [13:14:10.170] - Field: 'local' [13:14:10.170] - Field: 'owner' [13:14:10.171] - Field: 'envir' [13:14:10.171] - Field: 'workers' [13:14:10.171] - Field: 'packages' [13:14:10.171] - Field: 'gc' [13:14:10.171] - Field: 'conditions' [13:14:10.172] - Field: 'persistent' [13:14:10.172] - Field: 'expr' [13:14:10.172] - Field: 'uuid' [13:14:10.172] - Field: 'seed' [13:14:10.172] - Field: 'version' [13:14:10.172] - Field: 'result' [13:14:10.173] - Field: 'asynchronous' [13:14:10.173] - Field: 'calls' [13:14:10.173] - Field: 'globals' [13:14:10.173] - Field: 'stdout' [13:14:10.173] - Field: 'earlySignal' [13:14:10.173] - Field: 'lazy' [13:14:10.174] - Field: 'state' [13:14:10.174] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.174] - Launch lazy future ... [13:14:10.174] Packages needed by the future expression (n = 0): [13:14:10.174] Packages needed by future strategies (n = 0): [13:14:10.175] { [13:14:10.175] { [13:14:10.175] { [13:14:10.175] ...future.startTime <- base::Sys.time() [13:14:10.175] { [13:14:10.175] { [13:14:10.175] { [13:14:10.175] { [13:14:10.175] base::local({ [13:14:10.175] has_future <- base::requireNamespace("future", [13:14:10.175] quietly = TRUE) [13:14:10.175] if (has_future) { [13:14:10.175] ns <- base::getNamespace("future") [13:14:10.175] version <- ns[[".package"]][["version"]] [13:14:10.175] if (is.null(version)) [13:14:10.175] version <- utils::packageVersion("future") [13:14:10.175] } [13:14:10.175] else { [13:14:10.175] version <- NULL [13:14:10.175] } [13:14:10.175] if (!has_future || version < "1.8.0") { [13:14:10.175] info <- base::c(r_version = base::gsub("R version ", [13:14:10.175] "", base::R.version$version.string), [13:14:10.175] platform = base::sprintf("%s (%s-bit)", [13:14:10.175] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.175] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.175] "release", "version")], collapse = " "), [13:14:10.175] hostname = base::Sys.info()[["nodename"]]) [13:14:10.175] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.175] info) [13:14:10.175] info <- base::paste(info, collapse = "; ") [13:14:10.175] if (!has_future) { [13:14:10.175] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.175] info) [13:14:10.175] } [13:14:10.175] else { [13:14:10.175] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.175] info, version) [13:14:10.175] } [13:14:10.175] base::stop(msg) [13:14:10.175] } [13:14:10.175] }) [13:14:10.175] } [13:14:10.175] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.175] base::options(mc.cores = 1L) [13:14:10.175] } [13:14:10.175] options(future.plan = NULL) [13:14:10.175] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.175] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.175] } [13:14:10.175] ...future.workdir <- getwd() [13:14:10.175] } [13:14:10.175] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.175] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.175] } [13:14:10.175] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.175] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.175] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.175] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.175] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.175] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.175] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.175] base::names(...future.oldOptions)) [13:14:10.175] } [13:14:10.175] if (FALSE) { [13:14:10.175] } [13:14:10.175] else { [13:14:10.175] if (TRUE) { [13:14:10.175] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.175] open = "w") [13:14:10.175] } [13:14:10.175] else { [13:14:10.175] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.175] windows = "NUL", "/dev/null"), open = "w") [13:14:10.175] } [13:14:10.175] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.175] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.175] base::sink(type = "output", split = FALSE) [13:14:10.175] base::close(...future.stdout) [13:14:10.175] }, add = TRUE) [13:14:10.175] } [13:14:10.175] ...future.frame <- base::sys.nframe() [13:14:10.175] ...future.conditions <- base::list() [13:14:10.175] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.175] if (FALSE) { [13:14:10.175] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.175] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.175] } [13:14:10.175] ...future.result <- base::tryCatch({ [13:14:10.175] base::withCallingHandlers({ [13:14:10.175] ...future.value <- base::withVisible(base::local({ [13:14:10.175] ...future.makeSendCondition <- local({ [13:14:10.175] sendCondition <- NULL [13:14:10.175] function(frame = 1L) { [13:14:10.175] if (is.function(sendCondition)) [13:14:10.175] return(sendCondition) [13:14:10.175] ns <- getNamespace("parallel") [13:14:10.175] if (exists("sendData", mode = "function", [13:14:10.175] envir = ns)) { [13:14:10.175] parallel_sendData <- get("sendData", mode = "function", [13:14:10.175] envir = ns) [13:14:10.175] envir <- sys.frame(frame) [13:14:10.175] master <- NULL [13:14:10.175] while (!identical(envir, .GlobalEnv) && [13:14:10.175] !identical(envir, emptyenv())) { [13:14:10.175] if (exists("master", mode = "list", envir = envir, [13:14:10.175] inherits = FALSE)) { [13:14:10.175] master <- get("master", mode = "list", [13:14:10.175] envir = envir, inherits = FALSE) [13:14:10.175] if (inherits(master, c("SOCKnode", [13:14:10.175] "SOCK0node"))) { [13:14:10.175] sendCondition <<- function(cond) { [13:14:10.175] data <- list(type = "VALUE", value = cond, [13:14:10.175] success = TRUE) [13:14:10.175] parallel_sendData(master, data) [13:14:10.175] } [13:14:10.175] return(sendCondition) [13:14:10.175] } [13:14:10.175] } [13:14:10.175] frame <- frame + 1L [13:14:10.175] envir <- sys.frame(frame) [13:14:10.175] } [13:14:10.175] } [13:14:10.175] sendCondition <<- function(cond) NULL [13:14:10.175] } [13:14:10.175] }) [13:14:10.175] withCallingHandlers({ [13:14:10.175] { [13:14:10.175] do.call(function(...) { [13:14:10.175] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.175] if (!identical(...future.globals.maxSize.org, [13:14:10.175] ...future.globals.maxSize)) { [13:14:10.175] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.175] on.exit(options(oopts), add = TRUE) [13:14:10.175] } [13:14:10.175] { [13:14:10.175] lapply(seq_along(...future.elements_ii), [13:14:10.175] FUN = function(jj) { [13:14:10.175] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.175] ...future.FUN(...future.X_jj, ...) [13:14:10.175] }) [13:14:10.175] } [13:14:10.175] }, args = future.call.arguments) [13:14:10.175] } [13:14:10.175] }, immediateCondition = function(cond) { [13:14:10.175] sendCondition <- ...future.makeSendCondition() [13:14:10.175] sendCondition(cond) [13:14:10.175] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.175] { [13:14:10.175] inherits <- base::inherits [13:14:10.175] invokeRestart <- base::invokeRestart [13:14:10.175] is.null <- base::is.null [13:14:10.175] muffled <- FALSE [13:14:10.175] if (inherits(cond, "message")) { [13:14:10.175] muffled <- grepl(pattern, "muffleMessage") [13:14:10.175] if (muffled) [13:14:10.175] invokeRestart("muffleMessage") [13:14:10.175] } [13:14:10.175] else if (inherits(cond, "warning")) { [13:14:10.175] muffled <- grepl(pattern, "muffleWarning") [13:14:10.175] if (muffled) [13:14:10.175] invokeRestart("muffleWarning") [13:14:10.175] } [13:14:10.175] else if (inherits(cond, "condition")) { [13:14:10.175] if (!is.null(pattern)) { [13:14:10.175] computeRestarts <- base::computeRestarts [13:14:10.175] grepl <- base::grepl [13:14:10.175] restarts <- computeRestarts(cond) [13:14:10.175] for (restart in restarts) { [13:14:10.175] name <- restart$name [13:14:10.175] if (is.null(name)) [13:14:10.175] next [13:14:10.175] if (!grepl(pattern, name)) [13:14:10.175] next [13:14:10.175] invokeRestart(restart) [13:14:10.175] muffled <- TRUE [13:14:10.175] break [13:14:10.175] } [13:14:10.175] } [13:14:10.175] } [13:14:10.175] invisible(muffled) [13:14:10.175] } [13:14:10.175] muffleCondition(cond) [13:14:10.175] }) [13:14:10.175] })) [13:14:10.175] future::FutureResult(value = ...future.value$value, [13:14:10.175] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.175] ...future.rng), globalenv = if (FALSE) [13:14:10.175] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.175] ...future.globalenv.names)) [13:14:10.175] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.175] }, condition = base::local({ [13:14:10.175] c <- base::c [13:14:10.175] inherits <- base::inherits [13:14:10.175] invokeRestart <- base::invokeRestart [13:14:10.175] length <- base::length [13:14:10.175] list <- base::list [13:14:10.175] seq.int <- base::seq.int [13:14:10.175] signalCondition <- base::signalCondition [13:14:10.175] sys.calls <- base::sys.calls [13:14:10.175] `[[` <- base::`[[` [13:14:10.175] `+` <- base::`+` [13:14:10.175] `<<-` <- base::`<<-` [13:14:10.175] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.175] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.175] 3L)] [13:14:10.175] } [13:14:10.175] function(cond) { [13:14:10.175] is_error <- inherits(cond, "error") [13:14:10.175] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.175] NULL) [13:14:10.175] if (is_error) { [13:14:10.175] sessionInformation <- function() { [13:14:10.175] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.175] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.175] search = base::search(), system = base::Sys.info()) [13:14:10.175] } [13:14:10.175] ...future.conditions[[length(...future.conditions) + [13:14:10.175] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.175] cond$call), session = sessionInformation(), [13:14:10.175] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.175] signalCondition(cond) [13:14:10.175] } [13:14:10.175] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.175] "immediateCondition"))) { [13:14:10.175] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.175] ...future.conditions[[length(...future.conditions) + [13:14:10.175] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.175] if (TRUE && !signal) { [13:14:10.175] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.175] { [13:14:10.175] inherits <- base::inherits [13:14:10.175] invokeRestart <- base::invokeRestart [13:14:10.175] is.null <- base::is.null [13:14:10.175] muffled <- FALSE [13:14:10.175] if (inherits(cond, "message")) { [13:14:10.175] muffled <- grepl(pattern, "muffleMessage") [13:14:10.175] if (muffled) [13:14:10.175] invokeRestart("muffleMessage") [13:14:10.175] } [13:14:10.175] else if (inherits(cond, "warning")) { [13:14:10.175] muffled <- grepl(pattern, "muffleWarning") [13:14:10.175] if (muffled) [13:14:10.175] invokeRestart("muffleWarning") [13:14:10.175] } [13:14:10.175] else if (inherits(cond, "condition")) { [13:14:10.175] if (!is.null(pattern)) { [13:14:10.175] computeRestarts <- base::computeRestarts [13:14:10.175] grepl <- base::grepl [13:14:10.175] restarts <- computeRestarts(cond) [13:14:10.175] for (restart in restarts) { [13:14:10.175] name <- restart$name [13:14:10.175] if (is.null(name)) [13:14:10.175] next [13:14:10.175] if (!grepl(pattern, name)) [13:14:10.175] next [13:14:10.175] invokeRestart(restart) [13:14:10.175] muffled <- TRUE [13:14:10.175] break [13:14:10.175] } [13:14:10.175] } [13:14:10.175] } [13:14:10.175] invisible(muffled) [13:14:10.175] } [13:14:10.175] muffleCondition(cond, pattern = "^muffle") [13:14:10.175] } [13:14:10.175] } [13:14:10.175] else { [13:14:10.175] if (TRUE) { [13:14:10.175] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.175] { [13:14:10.175] inherits <- base::inherits [13:14:10.175] invokeRestart <- base::invokeRestart [13:14:10.175] is.null <- base::is.null [13:14:10.175] muffled <- FALSE [13:14:10.175] if (inherits(cond, "message")) { [13:14:10.175] muffled <- grepl(pattern, "muffleMessage") [13:14:10.175] if (muffled) [13:14:10.175] invokeRestart("muffleMessage") [13:14:10.175] } [13:14:10.175] else if (inherits(cond, "warning")) { [13:14:10.175] muffled <- grepl(pattern, "muffleWarning") [13:14:10.175] if (muffled) [13:14:10.175] invokeRestart("muffleWarning") [13:14:10.175] } [13:14:10.175] else if (inherits(cond, "condition")) { [13:14:10.175] if (!is.null(pattern)) { [13:14:10.175] computeRestarts <- base::computeRestarts [13:14:10.175] grepl <- base::grepl [13:14:10.175] restarts <- computeRestarts(cond) [13:14:10.175] for (restart in restarts) { [13:14:10.175] name <- restart$name [13:14:10.175] if (is.null(name)) [13:14:10.175] next [13:14:10.175] if (!grepl(pattern, name)) [13:14:10.175] next [13:14:10.175] invokeRestart(restart) [13:14:10.175] muffled <- TRUE [13:14:10.175] break [13:14:10.175] } [13:14:10.175] } [13:14:10.175] } [13:14:10.175] invisible(muffled) [13:14:10.175] } [13:14:10.175] muffleCondition(cond, pattern = "^muffle") [13:14:10.175] } [13:14:10.175] } [13:14:10.175] } [13:14:10.175] })) [13:14:10.175] }, error = function(ex) { [13:14:10.175] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.175] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.175] ...future.rng), started = ...future.startTime, [13:14:10.175] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.175] version = "1.8"), class = "FutureResult") [13:14:10.175] }, finally = { [13:14:10.175] if (!identical(...future.workdir, getwd())) [13:14:10.175] setwd(...future.workdir) [13:14:10.175] { [13:14:10.175] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.175] ...future.oldOptions$nwarnings <- NULL [13:14:10.175] } [13:14:10.175] base::options(...future.oldOptions) [13:14:10.175] if (.Platform$OS.type == "windows") { [13:14:10.175] old_names <- names(...future.oldEnvVars) [13:14:10.175] envs <- base::Sys.getenv() [13:14:10.175] names <- names(envs) [13:14:10.175] common <- intersect(names, old_names) [13:14:10.175] added <- setdiff(names, old_names) [13:14:10.175] removed <- setdiff(old_names, names) [13:14:10.175] changed <- common[...future.oldEnvVars[common] != [13:14:10.175] envs[common]] [13:14:10.175] NAMES <- toupper(changed) [13:14:10.175] args <- list() [13:14:10.175] for (kk in seq_along(NAMES)) { [13:14:10.175] name <- changed[[kk]] [13:14:10.175] NAME <- NAMES[[kk]] [13:14:10.175] if (name != NAME && is.element(NAME, old_names)) [13:14:10.175] next [13:14:10.175] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.175] } [13:14:10.175] NAMES <- toupper(added) [13:14:10.175] for (kk in seq_along(NAMES)) { [13:14:10.175] name <- added[[kk]] [13:14:10.175] NAME <- NAMES[[kk]] [13:14:10.175] if (name != NAME && is.element(NAME, old_names)) [13:14:10.175] next [13:14:10.175] args[[name]] <- "" [13:14:10.175] } [13:14:10.175] NAMES <- toupper(removed) [13:14:10.175] for (kk in seq_along(NAMES)) { [13:14:10.175] name <- removed[[kk]] [13:14:10.175] NAME <- NAMES[[kk]] [13:14:10.175] if (name != NAME && is.element(NAME, old_names)) [13:14:10.175] next [13:14:10.175] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.175] } [13:14:10.175] if (length(args) > 0) [13:14:10.175] base::do.call(base::Sys.setenv, args = args) [13:14:10.175] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.175] } [13:14:10.175] else { [13:14:10.175] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.175] } [13:14:10.175] { [13:14:10.175] if (base::length(...future.futureOptionsAdded) > [13:14:10.175] 0L) { [13:14:10.175] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.175] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.175] base::options(opts) [13:14:10.175] } [13:14:10.175] { [13:14:10.175] { [13:14:10.175] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.175] NULL [13:14:10.175] } [13:14:10.175] options(future.plan = NULL) [13:14:10.175] if (is.na(NA_character_)) [13:14:10.175] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.175] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.175] future::plan(list(function (..., workers = availableCores(), [13:14:10.175] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.175] envir = parent.frame()) [13:14:10.175] { [13:14:10.175] if (is.function(workers)) [13:14:10.175] workers <- workers() [13:14:10.175] workers <- structure(as.integer(workers), [13:14:10.175] class = class(workers)) [13:14:10.175] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.175] workers >= 1) [13:14:10.175] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.175] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.175] } [13:14:10.175] future <- MultisessionFuture(..., workers = workers, [13:14:10.175] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.175] envir = envir) [13:14:10.175] if (!future$lazy) [13:14:10.175] future <- run(future) [13:14:10.175] invisible(future) [13:14:10.175] }), .cleanup = FALSE, .init = FALSE) [13:14:10.175] } [13:14:10.175] } [13:14:10.175] } [13:14:10.175] }) [13:14:10.175] if (TRUE) { [13:14:10.175] base::sink(type = "output", split = FALSE) [13:14:10.175] if (TRUE) { [13:14:10.175] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.175] } [13:14:10.175] else { [13:14:10.175] ...future.result["stdout"] <- base::list(NULL) [13:14:10.175] } [13:14:10.175] base::close(...future.stdout) [13:14:10.175] ...future.stdout <- NULL [13:14:10.175] } [13:14:10.175] ...future.result$conditions <- ...future.conditions [13:14:10.175] ...future.result$finished <- base::Sys.time() [13:14:10.175] ...future.result [13:14:10.175] } [13:14:10.180] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:10.181] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:10.181] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:10.181] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.182] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.182] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:10.182] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:10.183] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.183] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.183] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.184] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.184] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:10.185] MultisessionFuture started [13:14:10.185] - Launch lazy future ... done [13:14:10.185] run() for 'MultisessionFuture' ... done [13:14:10.185] Created future: [13:14:10.201] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.201] - Validating connection of MultisessionFuture [13:14:10.201] - received message: FutureResult [13:14:10.201] - Received FutureResult [13:14:10.202] - Erased future from FutureRegistry [13:14:10.202] result() for ClusterFuture ... [13:14:10.202] - result already collected: FutureResult [13:14:10.202] result() for ClusterFuture ... done [13:14:10.202] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.185] MultisessionFuture: [13:14:10.185] Label: 'future_sapply-2' [13:14:10.185] Expression: [13:14:10.185] { [13:14:10.185] do.call(function(...) { [13:14:10.185] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.185] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.185] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.185] on.exit(options(oopts), add = TRUE) [13:14:10.185] } [13:14:10.185] { [13:14:10.185] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.185] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.185] ...future.FUN(...future.X_jj, ...) [13:14:10.185] }) [13:14:10.185] } [13:14:10.185] }, args = future.call.arguments) [13:14:10.185] } [13:14:10.185] Lazy evaluation: FALSE [13:14:10.185] Asynchronous evaluation: TRUE [13:14:10.185] Local evaluation: TRUE [13:14:10.185] Environment: R_GlobalEnv [13:14:10.185] Capture standard output: TRUE [13:14:10.185] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.185] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.185] Packages: [13:14:10.185] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.185] Resolved: TRUE [13:14:10.185] Value: [13:14:10.185] Conditions captured: [13:14:10.185] Early signaling: FALSE [13:14:10.185] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.185] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.203] Chunk #2 of 2 ... DONE [13:14:10.203] Launching 2 futures (chunks) ... DONE [13:14:10.203] Resolving 2 futures (chunks) ... [13:14:10.203] resolve() on list ... [13:14:10.203] recursive: 0 [13:14:10.203] length: 2 [13:14:10.204] [13:14:10.204] Future #1 [13:14:10.204] result() for ClusterFuture ... [13:14:10.204] - result already collected: FutureResult [13:14:10.204] result() for ClusterFuture ... done [13:14:10.204] result() for ClusterFuture ... [13:14:10.205] - result already collected: FutureResult [13:14:10.205] result() for ClusterFuture ... done [13:14:10.205] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:10.205] - nx: 2 [13:14:10.205] - relay: TRUE [13:14:10.205] - stdout: TRUE [13:14:10.206] - signal: TRUE [13:14:10.206] - resignal: FALSE [13:14:10.206] - force: TRUE [13:14:10.206] - relayed: [n=2] FALSE, FALSE [13:14:10.206] - queued futures: [n=2] FALSE, FALSE [13:14:10.206] - until=1 [13:14:10.206] - relaying element #1 [13:14:10.207] result() for ClusterFuture ... [13:14:10.207] - result already collected: FutureResult [13:14:10.207] result() for ClusterFuture ... done [13:14:10.207] result() for ClusterFuture ... [13:14:10.207] - result already collected: FutureResult [13:14:10.207] result() for ClusterFuture ... done [13:14:10.208] result() for ClusterFuture ... [13:14:10.208] - result already collected: FutureResult [13:14:10.208] result() for ClusterFuture ... done [13:14:10.208] result() for ClusterFuture ... [13:14:10.208] - result already collected: FutureResult [13:14:10.208] result() for ClusterFuture ... done [13:14:10.209] - relayed: [n=2] TRUE, FALSE [13:14:10.209] - queued futures: [n=2] TRUE, FALSE [13:14:10.209] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:10.209] length: 1 (resolved future 1) [13:14:10.209] Future #2 [13:14:10.209] result() for ClusterFuture ... [13:14:10.210] - result already collected: FutureResult [13:14:10.210] result() for ClusterFuture ... done [13:14:10.210] result() for ClusterFuture ... [13:14:10.210] - result already collected: FutureResult [13:14:10.210] result() for ClusterFuture ... done [13:14:10.210] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:10.211] - nx: 2 [13:14:10.211] - relay: TRUE [13:14:10.211] - stdout: TRUE [13:14:10.211] - signal: TRUE [13:14:10.211] - resignal: FALSE [13:14:10.211] - force: TRUE [13:14:10.211] - relayed: [n=2] TRUE, FALSE [13:14:10.212] - queued futures: [n=2] TRUE, FALSE [13:14:10.212] - until=2 [13:14:10.212] - relaying element #2 [13:14:10.212] result() for ClusterFuture ... [13:14:10.212] - result already collected: FutureResult [13:14:10.212] result() for ClusterFuture ... done [13:14:10.213] result() for ClusterFuture ... [13:14:10.213] - result already collected: FutureResult [13:14:10.213] result() for ClusterFuture ... done [13:14:10.213] result() for ClusterFuture ... [13:14:10.213] - result already collected: FutureResult [13:14:10.213] result() for ClusterFuture ... done [13:14:10.213] result() for ClusterFuture ... [13:14:10.214] - result already collected: FutureResult [13:14:10.214] result() for ClusterFuture ... done [13:14:10.214] - relayed: [n=2] TRUE, TRUE [13:14:10.214] - queued futures: [n=2] TRUE, TRUE [13:14:10.214] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:10.214] length: 0 (resolved future 2) [13:14:10.215] Relaying remaining futures [13:14:10.215] signalConditionsASAP(NULL, pos=0) ... [13:14:10.215] - nx: 2 [13:14:10.215] - relay: TRUE [13:14:10.215] - stdout: TRUE [13:14:10.215] - signal: TRUE [13:14:10.215] - resignal: FALSE [13:14:10.216] - force: TRUE [13:14:10.216] - relayed: [n=2] TRUE, TRUE [13:14:10.216] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:10.216] - relayed: [n=2] TRUE, TRUE [13:14:10.216] - queued futures: [n=2] TRUE, TRUE [13:14:10.217] signalConditionsASAP(NULL, pos=0) ... done [13:14:10.217] resolve() on list ... DONE [13:14:10.217] result() for ClusterFuture ... [13:14:10.217] - result already collected: FutureResult [13:14:10.217] result() for ClusterFuture ... done [13:14:10.217] result() for ClusterFuture ... [13:14:10.217] - result already collected: FutureResult [13:14:10.218] result() for ClusterFuture ... done [13:14:10.218] result() for ClusterFuture ... [13:14:10.218] - result already collected: FutureResult [13:14:10.218] result() for ClusterFuture ... done [13:14:10.218] result() for ClusterFuture ... [13:14:10.218] - result already collected: FutureResult [13:14:10.219] result() for ClusterFuture ... done [13:14:10.219] - Number of value chunks collected: 2 [13:14:10.219] Resolving 2 futures (chunks) ... DONE [13:14:10.219] Reducing values from 2 chunks ... [13:14:10.219] - Number of values collected after concatenation: 3 [13:14:10.219] - Number of values expected: 3 [13:14:10.220] Reducing values from 2 chunks ... DONE [13:14:10.220] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:10.221] future_lapply() ... [13:14:10.226] Number of chunks: 2 [13:14:10.226] getGlobalsAndPackagesXApply() ... [13:14:10.227] - future.globals: TRUE [13:14:10.227] getGlobalsAndPackages() ... [13:14:10.227] Searching for globals... [13:14:10.228] - globals found: [1] 'FUN' [13:14:10.229] Searching for globals ... DONE [13:14:10.229] Resolving globals: FALSE [13:14:10.229] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:10.230] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:10.230] - globals: [1] 'FUN' [13:14:10.230] [13:14:10.230] getGlobalsAndPackages() ... DONE [13:14:10.230] - globals found/used: [n=1] 'FUN' [13:14:10.230] - needed namespaces: [n=0] [13:14:10.231] Finding globals ... DONE [13:14:10.231] - use_args: TRUE [13:14:10.231] - Getting '...' globals ... [13:14:10.231] resolve() on list ... [13:14:10.232] recursive: 0 [13:14:10.232] length: 1 [13:14:10.232] elements: '...' [13:14:10.232] length: 0 (resolved future 1) [13:14:10.232] resolve() on list ... DONE [13:14:10.232] - '...' content: [n=0] [13:14:10.233] List of 1 [13:14:10.233] $ ...: list() [13:14:10.233] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.233] - attr(*, "where")=List of 1 [13:14:10.233] ..$ ...: [13:14:10.233] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.233] - attr(*, "resolved")= logi TRUE [13:14:10.233] - attr(*, "total_size")= num NA [13:14:10.236] - Getting '...' globals ... DONE [13:14:10.236] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:10.236] List of 2 [13:14:10.236] $ ...future.FUN:function (x) [13:14:10.236] $ ... : list() [13:14:10.236] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.236] - attr(*, "where")=List of 2 [13:14:10.236] ..$ ...future.FUN: [13:14:10.236] ..$ ... : [13:14:10.236] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.236] - attr(*, "resolved")= logi FALSE [13:14:10.236] - attr(*, "total_size")= num 848 [13:14:10.239] Packages to be attached in all futures: [n=0] [13:14:10.239] getGlobalsAndPackagesXApply() ... DONE [13:14:10.240] Number of futures (= number of chunks): 2 [13:14:10.240] Launching 2 futures (chunks) ... [13:14:10.240] Chunk #1 of 2 ... [13:14:10.240] - Finding globals in 'X' for chunk #1 ... [13:14:10.240] getGlobalsAndPackages() ... [13:14:10.241] Searching for globals... [13:14:10.241] [13:14:10.241] Searching for globals ... DONE [13:14:10.241] - globals: [0] [13:14:10.241] getGlobalsAndPackages() ... DONE [13:14:10.241] + additional globals found: [n=0] [13:14:10.242] + additional namespaces needed: [n=0] [13:14:10.242] - Finding globals in 'X' for chunk #1 ... DONE [13:14:10.242] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.242] - seeds: [13:14:10.242] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.242] getGlobalsAndPackages() ... [13:14:10.243] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.243] Resolving globals: FALSE [13:14:10.243] Tweak future expression to call with '...' arguments ... [13:14:10.243] { [13:14:10.243] do.call(function(...) { [13:14:10.243] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.243] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.243] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.243] on.exit(options(oopts), add = TRUE) [13:14:10.243] } [13:14:10.243] { [13:14:10.243] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.243] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.243] ...future.FUN(...future.X_jj, ...) [13:14:10.243] }) [13:14:10.243] } [13:14:10.243] }, args = future.call.arguments) [13:14:10.243] } [13:14:10.244] Tweak future expression to call with '...' arguments ... DONE [13:14:10.244] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.244] [13:14:10.244] getGlobalsAndPackages() ... DONE [13:14:10.245] run() for 'Future' ... [13:14:10.245] - state: 'created' [13:14:10.245] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.259] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.259] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.260] - Field: 'node' [13:14:10.260] - Field: 'label' [13:14:10.260] - Field: 'local' [13:14:10.260] - Field: 'owner' [13:14:10.260] - Field: 'envir' [13:14:10.260] - Field: 'workers' [13:14:10.261] - Field: 'packages' [13:14:10.261] - Field: 'gc' [13:14:10.261] - Field: 'conditions' [13:14:10.261] - Field: 'persistent' [13:14:10.261] - Field: 'expr' [13:14:10.262] - Field: 'uuid' [13:14:10.262] - Field: 'seed' [13:14:10.262] - Field: 'version' [13:14:10.262] - Field: 'result' [13:14:10.262] - Field: 'asynchronous' [13:14:10.262] - Field: 'calls' [13:14:10.263] - Field: 'globals' [13:14:10.263] - Field: 'stdout' [13:14:10.263] - Field: 'earlySignal' [13:14:10.263] - Field: 'lazy' [13:14:10.263] - Field: 'state' [13:14:10.263] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.264] - Launch lazy future ... [13:14:10.264] Packages needed by the future expression (n = 0): [13:14:10.264] Packages needed by future strategies (n = 0): [13:14:10.265] { [13:14:10.265] { [13:14:10.265] { [13:14:10.265] ...future.startTime <- base::Sys.time() [13:14:10.265] { [13:14:10.265] { [13:14:10.265] { [13:14:10.265] { [13:14:10.265] base::local({ [13:14:10.265] has_future <- base::requireNamespace("future", [13:14:10.265] quietly = TRUE) [13:14:10.265] if (has_future) { [13:14:10.265] ns <- base::getNamespace("future") [13:14:10.265] version <- ns[[".package"]][["version"]] [13:14:10.265] if (is.null(version)) [13:14:10.265] version <- utils::packageVersion("future") [13:14:10.265] } [13:14:10.265] else { [13:14:10.265] version <- NULL [13:14:10.265] } [13:14:10.265] if (!has_future || version < "1.8.0") { [13:14:10.265] info <- base::c(r_version = base::gsub("R version ", [13:14:10.265] "", base::R.version$version.string), [13:14:10.265] platform = base::sprintf("%s (%s-bit)", [13:14:10.265] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.265] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.265] "release", "version")], collapse = " "), [13:14:10.265] hostname = base::Sys.info()[["nodename"]]) [13:14:10.265] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.265] info) [13:14:10.265] info <- base::paste(info, collapse = "; ") [13:14:10.265] if (!has_future) { [13:14:10.265] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.265] info) [13:14:10.265] } [13:14:10.265] else { [13:14:10.265] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.265] info, version) [13:14:10.265] } [13:14:10.265] base::stop(msg) [13:14:10.265] } [13:14:10.265] }) [13:14:10.265] } [13:14:10.265] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.265] base::options(mc.cores = 1L) [13:14:10.265] } [13:14:10.265] options(future.plan = NULL) [13:14:10.265] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.265] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.265] } [13:14:10.265] ...future.workdir <- getwd() [13:14:10.265] } [13:14:10.265] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.265] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.265] } [13:14:10.265] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.265] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.265] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.265] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.265] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.265] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.265] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.265] base::names(...future.oldOptions)) [13:14:10.265] } [13:14:10.265] if (FALSE) { [13:14:10.265] } [13:14:10.265] else { [13:14:10.265] if (TRUE) { [13:14:10.265] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.265] open = "w") [13:14:10.265] } [13:14:10.265] else { [13:14:10.265] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.265] windows = "NUL", "/dev/null"), open = "w") [13:14:10.265] } [13:14:10.265] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.265] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.265] base::sink(type = "output", split = FALSE) [13:14:10.265] base::close(...future.stdout) [13:14:10.265] }, add = TRUE) [13:14:10.265] } [13:14:10.265] ...future.frame <- base::sys.nframe() [13:14:10.265] ...future.conditions <- base::list() [13:14:10.265] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.265] if (FALSE) { [13:14:10.265] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.265] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.265] } [13:14:10.265] ...future.result <- base::tryCatch({ [13:14:10.265] base::withCallingHandlers({ [13:14:10.265] ...future.value <- base::withVisible(base::local({ [13:14:10.265] ...future.makeSendCondition <- local({ [13:14:10.265] sendCondition <- NULL [13:14:10.265] function(frame = 1L) { [13:14:10.265] if (is.function(sendCondition)) [13:14:10.265] return(sendCondition) [13:14:10.265] ns <- getNamespace("parallel") [13:14:10.265] if (exists("sendData", mode = "function", [13:14:10.265] envir = ns)) { [13:14:10.265] parallel_sendData <- get("sendData", mode = "function", [13:14:10.265] envir = ns) [13:14:10.265] envir <- sys.frame(frame) [13:14:10.265] master <- NULL [13:14:10.265] while (!identical(envir, .GlobalEnv) && [13:14:10.265] !identical(envir, emptyenv())) { [13:14:10.265] if (exists("master", mode = "list", envir = envir, [13:14:10.265] inherits = FALSE)) { [13:14:10.265] master <- get("master", mode = "list", [13:14:10.265] envir = envir, inherits = FALSE) [13:14:10.265] if (inherits(master, c("SOCKnode", [13:14:10.265] "SOCK0node"))) { [13:14:10.265] sendCondition <<- function(cond) { [13:14:10.265] data <- list(type = "VALUE", value = cond, [13:14:10.265] success = TRUE) [13:14:10.265] parallel_sendData(master, data) [13:14:10.265] } [13:14:10.265] return(sendCondition) [13:14:10.265] } [13:14:10.265] } [13:14:10.265] frame <- frame + 1L [13:14:10.265] envir <- sys.frame(frame) [13:14:10.265] } [13:14:10.265] } [13:14:10.265] sendCondition <<- function(cond) NULL [13:14:10.265] } [13:14:10.265] }) [13:14:10.265] withCallingHandlers({ [13:14:10.265] { [13:14:10.265] do.call(function(...) { [13:14:10.265] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.265] if (!identical(...future.globals.maxSize.org, [13:14:10.265] ...future.globals.maxSize)) { [13:14:10.265] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.265] on.exit(options(oopts), add = TRUE) [13:14:10.265] } [13:14:10.265] { [13:14:10.265] lapply(seq_along(...future.elements_ii), [13:14:10.265] FUN = function(jj) { [13:14:10.265] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.265] ...future.FUN(...future.X_jj, ...) [13:14:10.265] }) [13:14:10.265] } [13:14:10.265] }, args = future.call.arguments) [13:14:10.265] } [13:14:10.265] }, immediateCondition = function(cond) { [13:14:10.265] sendCondition <- ...future.makeSendCondition() [13:14:10.265] sendCondition(cond) [13:14:10.265] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.265] { [13:14:10.265] inherits <- base::inherits [13:14:10.265] invokeRestart <- base::invokeRestart [13:14:10.265] is.null <- base::is.null [13:14:10.265] muffled <- FALSE [13:14:10.265] if (inherits(cond, "message")) { [13:14:10.265] muffled <- grepl(pattern, "muffleMessage") [13:14:10.265] if (muffled) [13:14:10.265] invokeRestart("muffleMessage") [13:14:10.265] } [13:14:10.265] else if (inherits(cond, "warning")) { [13:14:10.265] muffled <- grepl(pattern, "muffleWarning") [13:14:10.265] if (muffled) [13:14:10.265] invokeRestart("muffleWarning") [13:14:10.265] } [13:14:10.265] else if (inherits(cond, "condition")) { [13:14:10.265] if (!is.null(pattern)) { [13:14:10.265] computeRestarts <- base::computeRestarts [13:14:10.265] grepl <- base::grepl [13:14:10.265] restarts <- computeRestarts(cond) [13:14:10.265] for (restart in restarts) { [13:14:10.265] name <- restart$name [13:14:10.265] if (is.null(name)) [13:14:10.265] next [13:14:10.265] if (!grepl(pattern, name)) [13:14:10.265] next [13:14:10.265] invokeRestart(restart) [13:14:10.265] muffled <- TRUE [13:14:10.265] break [13:14:10.265] } [13:14:10.265] } [13:14:10.265] } [13:14:10.265] invisible(muffled) [13:14:10.265] } [13:14:10.265] muffleCondition(cond) [13:14:10.265] }) [13:14:10.265] })) [13:14:10.265] future::FutureResult(value = ...future.value$value, [13:14:10.265] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.265] ...future.rng), globalenv = if (FALSE) [13:14:10.265] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.265] ...future.globalenv.names)) [13:14:10.265] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.265] }, condition = base::local({ [13:14:10.265] c <- base::c [13:14:10.265] inherits <- base::inherits [13:14:10.265] invokeRestart <- base::invokeRestart [13:14:10.265] length <- base::length [13:14:10.265] list <- base::list [13:14:10.265] seq.int <- base::seq.int [13:14:10.265] signalCondition <- base::signalCondition [13:14:10.265] sys.calls <- base::sys.calls [13:14:10.265] `[[` <- base::`[[` [13:14:10.265] `+` <- base::`+` [13:14:10.265] `<<-` <- base::`<<-` [13:14:10.265] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.265] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.265] 3L)] [13:14:10.265] } [13:14:10.265] function(cond) { [13:14:10.265] is_error <- inherits(cond, "error") [13:14:10.265] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.265] NULL) [13:14:10.265] if (is_error) { [13:14:10.265] sessionInformation <- function() { [13:14:10.265] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.265] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.265] search = base::search(), system = base::Sys.info()) [13:14:10.265] } [13:14:10.265] ...future.conditions[[length(...future.conditions) + [13:14:10.265] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.265] cond$call), session = sessionInformation(), [13:14:10.265] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.265] signalCondition(cond) [13:14:10.265] } [13:14:10.265] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.265] "immediateCondition"))) { [13:14:10.265] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.265] ...future.conditions[[length(...future.conditions) + [13:14:10.265] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.265] if (TRUE && !signal) { [13:14:10.265] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.265] { [13:14:10.265] inherits <- base::inherits [13:14:10.265] invokeRestart <- base::invokeRestart [13:14:10.265] is.null <- base::is.null [13:14:10.265] muffled <- FALSE [13:14:10.265] if (inherits(cond, "message")) { [13:14:10.265] muffled <- grepl(pattern, "muffleMessage") [13:14:10.265] if (muffled) [13:14:10.265] invokeRestart("muffleMessage") [13:14:10.265] } [13:14:10.265] else if (inherits(cond, "warning")) { [13:14:10.265] muffled <- grepl(pattern, "muffleWarning") [13:14:10.265] if (muffled) [13:14:10.265] invokeRestart("muffleWarning") [13:14:10.265] } [13:14:10.265] else if (inherits(cond, "condition")) { [13:14:10.265] if (!is.null(pattern)) { [13:14:10.265] computeRestarts <- base::computeRestarts [13:14:10.265] grepl <- base::grepl [13:14:10.265] restarts <- computeRestarts(cond) [13:14:10.265] for (restart in restarts) { [13:14:10.265] name <- restart$name [13:14:10.265] if (is.null(name)) [13:14:10.265] next [13:14:10.265] if (!grepl(pattern, name)) [13:14:10.265] next [13:14:10.265] invokeRestart(restart) [13:14:10.265] muffled <- TRUE [13:14:10.265] break [13:14:10.265] } [13:14:10.265] } [13:14:10.265] } [13:14:10.265] invisible(muffled) [13:14:10.265] } [13:14:10.265] muffleCondition(cond, pattern = "^muffle") [13:14:10.265] } [13:14:10.265] } [13:14:10.265] else { [13:14:10.265] if (TRUE) { [13:14:10.265] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.265] { [13:14:10.265] inherits <- base::inherits [13:14:10.265] invokeRestart <- base::invokeRestart [13:14:10.265] is.null <- base::is.null [13:14:10.265] muffled <- FALSE [13:14:10.265] if (inherits(cond, "message")) { [13:14:10.265] muffled <- grepl(pattern, "muffleMessage") [13:14:10.265] if (muffled) [13:14:10.265] invokeRestart("muffleMessage") [13:14:10.265] } [13:14:10.265] else if (inherits(cond, "warning")) { [13:14:10.265] muffled <- grepl(pattern, "muffleWarning") [13:14:10.265] if (muffled) [13:14:10.265] invokeRestart("muffleWarning") [13:14:10.265] } [13:14:10.265] else if (inherits(cond, "condition")) { [13:14:10.265] if (!is.null(pattern)) { [13:14:10.265] computeRestarts <- base::computeRestarts [13:14:10.265] grepl <- base::grepl [13:14:10.265] restarts <- computeRestarts(cond) [13:14:10.265] for (restart in restarts) { [13:14:10.265] name <- restart$name [13:14:10.265] if (is.null(name)) [13:14:10.265] next [13:14:10.265] if (!grepl(pattern, name)) [13:14:10.265] next [13:14:10.265] invokeRestart(restart) [13:14:10.265] muffled <- TRUE [13:14:10.265] break [13:14:10.265] } [13:14:10.265] } [13:14:10.265] } [13:14:10.265] invisible(muffled) [13:14:10.265] } [13:14:10.265] muffleCondition(cond, pattern = "^muffle") [13:14:10.265] } [13:14:10.265] } [13:14:10.265] } [13:14:10.265] })) [13:14:10.265] }, error = function(ex) { [13:14:10.265] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.265] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.265] ...future.rng), started = ...future.startTime, [13:14:10.265] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.265] version = "1.8"), class = "FutureResult") [13:14:10.265] }, finally = { [13:14:10.265] if (!identical(...future.workdir, getwd())) [13:14:10.265] setwd(...future.workdir) [13:14:10.265] { [13:14:10.265] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.265] ...future.oldOptions$nwarnings <- NULL [13:14:10.265] } [13:14:10.265] base::options(...future.oldOptions) [13:14:10.265] if (.Platform$OS.type == "windows") { [13:14:10.265] old_names <- names(...future.oldEnvVars) [13:14:10.265] envs <- base::Sys.getenv() [13:14:10.265] names <- names(envs) [13:14:10.265] common <- intersect(names, old_names) [13:14:10.265] added <- setdiff(names, old_names) [13:14:10.265] removed <- setdiff(old_names, names) [13:14:10.265] changed <- common[...future.oldEnvVars[common] != [13:14:10.265] envs[common]] [13:14:10.265] NAMES <- toupper(changed) [13:14:10.265] args <- list() [13:14:10.265] for (kk in seq_along(NAMES)) { [13:14:10.265] name <- changed[[kk]] [13:14:10.265] NAME <- NAMES[[kk]] [13:14:10.265] if (name != NAME && is.element(NAME, old_names)) [13:14:10.265] next [13:14:10.265] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.265] } [13:14:10.265] NAMES <- toupper(added) [13:14:10.265] for (kk in seq_along(NAMES)) { [13:14:10.265] name <- added[[kk]] [13:14:10.265] NAME <- NAMES[[kk]] [13:14:10.265] if (name != NAME && is.element(NAME, old_names)) [13:14:10.265] next [13:14:10.265] args[[name]] <- "" [13:14:10.265] } [13:14:10.265] NAMES <- toupper(removed) [13:14:10.265] for (kk in seq_along(NAMES)) { [13:14:10.265] name <- removed[[kk]] [13:14:10.265] NAME <- NAMES[[kk]] [13:14:10.265] if (name != NAME && is.element(NAME, old_names)) [13:14:10.265] next [13:14:10.265] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.265] } [13:14:10.265] if (length(args) > 0) [13:14:10.265] base::do.call(base::Sys.setenv, args = args) [13:14:10.265] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.265] } [13:14:10.265] else { [13:14:10.265] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.265] } [13:14:10.265] { [13:14:10.265] if (base::length(...future.futureOptionsAdded) > [13:14:10.265] 0L) { [13:14:10.265] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.265] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.265] base::options(opts) [13:14:10.265] } [13:14:10.265] { [13:14:10.265] { [13:14:10.265] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.265] NULL [13:14:10.265] } [13:14:10.265] options(future.plan = NULL) [13:14:10.265] if (is.na(NA_character_)) [13:14:10.265] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.265] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.265] future::plan(list(function (..., workers = availableCores(), [13:14:10.265] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.265] envir = parent.frame()) [13:14:10.265] { [13:14:10.265] if (is.function(workers)) [13:14:10.265] workers <- workers() [13:14:10.265] workers <- structure(as.integer(workers), [13:14:10.265] class = class(workers)) [13:14:10.265] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.265] workers >= 1) [13:14:10.265] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.265] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.265] } [13:14:10.265] future <- MultisessionFuture(..., workers = workers, [13:14:10.265] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.265] envir = envir) [13:14:10.265] if (!future$lazy) [13:14:10.265] future <- run(future) [13:14:10.265] invisible(future) [13:14:10.265] }), .cleanup = FALSE, .init = FALSE) [13:14:10.265] } [13:14:10.265] } [13:14:10.265] } [13:14:10.265] }) [13:14:10.265] if (TRUE) { [13:14:10.265] base::sink(type = "output", split = FALSE) [13:14:10.265] if (TRUE) { [13:14:10.265] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.265] } [13:14:10.265] else { [13:14:10.265] ...future.result["stdout"] <- base::list(NULL) [13:14:10.265] } [13:14:10.265] base::close(...future.stdout) [13:14:10.265] ...future.stdout <- NULL [13:14:10.265] } [13:14:10.265] ...future.result$conditions <- ...future.conditions [13:14:10.265] ...future.result$finished <- base::Sys.time() [13:14:10.265] ...future.result [13:14:10.265] } [13:14:10.270] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:10.270] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:10.271] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:10.271] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.272] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.272] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:10.272] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:10.272] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.273] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.273] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.273] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.274] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:10.274] MultisessionFuture started [13:14:10.274] - Launch lazy future ... done [13:14:10.275] run() for 'MultisessionFuture' ... done [13:14:10.275] Created future: [13:14:10.290] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.290] - Validating connection of MultisessionFuture [13:14:10.290] - received message: FutureResult [13:14:10.290] - Received FutureResult [13:14:10.291] - Erased future from FutureRegistry [13:14:10.291] result() for ClusterFuture ... [13:14:10.291] - result already collected: FutureResult [13:14:10.291] result() for ClusterFuture ... done [13:14:10.291] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.275] MultisessionFuture: [13:14:10.275] Label: 'future_sapply-1' [13:14:10.275] Expression: [13:14:10.275] { [13:14:10.275] do.call(function(...) { [13:14:10.275] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.275] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.275] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.275] on.exit(options(oopts), add = TRUE) [13:14:10.275] } [13:14:10.275] { [13:14:10.275] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.275] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.275] ...future.FUN(...future.X_jj, ...) [13:14:10.275] }) [13:14:10.275] } [13:14:10.275] }, args = future.call.arguments) [13:14:10.275] } [13:14:10.275] Lazy evaluation: FALSE [13:14:10.275] Asynchronous evaluation: TRUE [13:14:10.275] Local evaluation: TRUE [13:14:10.275] Environment: R_GlobalEnv [13:14:10.275] Capture standard output: TRUE [13:14:10.275] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.275] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.275] Packages: [13:14:10.275] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.275] Resolved: TRUE [13:14:10.275] Value: [13:14:10.275] Conditions captured: [13:14:10.275] Early signaling: FALSE [13:14:10.275] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.275] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.292] Chunk #1 of 2 ... DONE [13:14:10.292] Chunk #2 of 2 ... [13:14:10.292] - Finding globals in 'X' for chunk #2 ... [13:14:10.292] getGlobalsAndPackages() ... [13:14:10.292] Searching for globals... [13:14:10.293] [13:14:10.293] Searching for globals ... DONE [13:14:10.293] - globals: [0] [13:14:10.293] getGlobalsAndPackages() ... DONE [13:14:10.293] + additional globals found: [n=0] [13:14:10.293] + additional namespaces needed: [n=0] [13:14:10.294] - Finding globals in 'X' for chunk #2 ... DONE [13:14:10.294] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.294] - seeds: [13:14:10.294] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.294] getGlobalsAndPackages() ... [13:14:10.294] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.295] Resolving globals: FALSE [13:14:10.295] Tweak future expression to call with '...' arguments ... [13:14:10.295] { [13:14:10.295] do.call(function(...) { [13:14:10.295] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.295] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.295] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.295] on.exit(options(oopts), add = TRUE) [13:14:10.295] } [13:14:10.295] { [13:14:10.295] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.295] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.295] ...future.FUN(...future.X_jj, ...) [13:14:10.295] }) [13:14:10.295] } [13:14:10.295] }, args = future.call.arguments) [13:14:10.295] } [13:14:10.295] Tweak future expression to call with '...' arguments ... DONE [13:14:10.296] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.296] [13:14:10.296] getGlobalsAndPackages() ... DONE [13:14:10.297] run() for 'Future' ... [13:14:10.297] - state: 'created' [13:14:10.297] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.311] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.312] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.312] - Field: 'node' [13:14:10.312] - Field: 'label' [13:14:10.312] - Field: 'local' [13:14:10.312] - Field: 'owner' [13:14:10.312] - Field: 'envir' [13:14:10.313] - Field: 'workers' [13:14:10.313] - Field: 'packages' [13:14:10.313] - Field: 'gc' [13:14:10.313] - Field: 'conditions' [13:14:10.313] - Field: 'persistent' [13:14:10.313] - Field: 'expr' [13:14:10.314] - Field: 'uuid' [13:14:10.314] - Field: 'seed' [13:14:10.314] - Field: 'version' [13:14:10.314] - Field: 'result' [13:14:10.314] - Field: 'asynchronous' [13:14:10.315] - Field: 'calls' [13:14:10.315] - Field: 'globals' [13:14:10.315] - Field: 'stdout' [13:14:10.315] - Field: 'earlySignal' [13:14:10.315] - Field: 'lazy' [13:14:10.315] - Field: 'state' [13:14:10.316] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.316] - Launch lazy future ... [13:14:10.316] Packages needed by the future expression (n = 0): [13:14:10.316] Packages needed by future strategies (n = 0): [13:14:10.317] { [13:14:10.317] { [13:14:10.317] { [13:14:10.317] ...future.startTime <- base::Sys.time() [13:14:10.317] { [13:14:10.317] { [13:14:10.317] { [13:14:10.317] { [13:14:10.317] base::local({ [13:14:10.317] has_future <- base::requireNamespace("future", [13:14:10.317] quietly = TRUE) [13:14:10.317] if (has_future) { [13:14:10.317] ns <- base::getNamespace("future") [13:14:10.317] version <- ns[[".package"]][["version"]] [13:14:10.317] if (is.null(version)) [13:14:10.317] version <- utils::packageVersion("future") [13:14:10.317] } [13:14:10.317] else { [13:14:10.317] version <- NULL [13:14:10.317] } [13:14:10.317] if (!has_future || version < "1.8.0") { [13:14:10.317] info <- base::c(r_version = base::gsub("R version ", [13:14:10.317] "", base::R.version$version.string), [13:14:10.317] platform = base::sprintf("%s (%s-bit)", [13:14:10.317] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.317] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.317] "release", "version")], collapse = " "), [13:14:10.317] hostname = base::Sys.info()[["nodename"]]) [13:14:10.317] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.317] info) [13:14:10.317] info <- base::paste(info, collapse = "; ") [13:14:10.317] if (!has_future) { [13:14:10.317] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.317] info) [13:14:10.317] } [13:14:10.317] else { [13:14:10.317] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.317] info, version) [13:14:10.317] } [13:14:10.317] base::stop(msg) [13:14:10.317] } [13:14:10.317] }) [13:14:10.317] } [13:14:10.317] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.317] base::options(mc.cores = 1L) [13:14:10.317] } [13:14:10.317] options(future.plan = NULL) [13:14:10.317] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.317] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.317] } [13:14:10.317] ...future.workdir <- getwd() [13:14:10.317] } [13:14:10.317] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.317] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.317] } [13:14:10.317] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.317] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.317] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.317] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.317] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.317] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.317] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.317] base::names(...future.oldOptions)) [13:14:10.317] } [13:14:10.317] if (FALSE) { [13:14:10.317] } [13:14:10.317] else { [13:14:10.317] if (TRUE) { [13:14:10.317] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.317] open = "w") [13:14:10.317] } [13:14:10.317] else { [13:14:10.317] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.317] windows = "NUL", "/dev/null"), open = "w") [13:14:10.317] } [13:14:10.317] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.317] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.317] base::sink(type = "output", split = FALSE) [13:14:10.317] base::close(...future.stdout) [13:14:10.317] }, add = TRUE) [13:14:10.317] } [13:14:10.317] ...future.frame <- base::sys.nframe() [13:14:10.317] ...future.conditions <- base::list() [13:14:10.317] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.317] if (FALSE) { [13:14:10.317] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.317] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.317] } [13:14:10.317] ...future.result <- base::tryCatch({ [13:14:10.317] base::withCallingHandlers({ [13:14:10.317] ...future.value <- base::withVisible(base::local({ [13:14:10.317] ...future.makeSendCondition <- local({ [13:14:10.317] sendCondition <- NULL [13:14:10.317] function(frame = 1L) { [13:14:10.317] if (is.function(sendCondition)) [13:14:10.317] return(sendCondition) [13:14:10.317] ns <- getNamespace("parallel") [13:14:10.317] if (exists("sendData", mode = "function", [13:14:10.317] envir = ns)) { [13:14:10.317] parallel_sendData <- get("sendData", mode = "function", [13:14:10.317] envir = ns) [13:14:10.317] envir <- sys.frame(frame) [13:14:10.317] master <- NULL [13:14:10.317] while (!identical(envir, .GlobalEnv) && [13:14:10.317] !identical(envir, emptyenv())) { [13:14:10.317] if (exists("master", mode = "list", envir = envir, [13:14:10.317] inherits = FALSE)) { [13:14:10.317] master <- get("master", mode = "list", [13:14:10.317] envir = envir, inherits = FALSE) [13:14:10.317] if (inherits(master, c("SOCKnode", [13:14:10.317] "SOCK0node"))) { [13:14:10.317] sendCondition <<- function(cond) { [13:14:10.317] data <- list(type = "VALUE", value = cond, [13:14:10.317] success = TRUE) [13:14:10.317] parallel_sendData(master, data) [13:14:10.317] } [13:14:10.317] return(sendCondition) [13:14:10.317] } [13:14:10.317] } [13:14:10.317] frame <- frame + 1L [13:14:10.317] envir <- sys.frame(frame) [13:14:10.317] } [13:14:10.317] } [13:14:10.317] sendCondition <<- function(cond) NULL [13:14:10.317] } [13:14:10.317] }) [13:14:10.317] withCallingHandlers({ [13:14:10.317] { [13:14:10.317] do.call(function(...) { [13:14:10.317] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.317] if (!identical(...future.globals.maxSize.org, [13:14:10.317] ...future.globals.maxSize)) { [13:14:10.317] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.317] on.exit(options(oopts), add = TRUE) [13:14:10.317] } [13:14:10.317] { [13:14:10.317] lapply(seq_along(...future.elements_ii), [13:14:10.317] FUN = function(jj) { [13:14:10.317] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.317] ...future.FUN(...future.X_jj, ...) [13:14:10.317] }) [13:14:10.317] } [13:14:10.317] }, args = future.call.arguments) [13:14:10.317] } [13:14:10.317] }, immediateCondition = function(cond) { [13:14:10.317] sendCondition <- ...future.makeSendCondition() [13:14:10.317] sendCondition(cond) [13:14:10.317] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.317] { [13:14:10.317] inherits <- base::inherits [13:14:10.317] invokeRestart <- base::invokeRestart [13:14:10.317] is.null <- base::is.null [13:14:10.317] muffled <- FALSE [13:14:10.317] if (inherits(cond, "message")) { [13:14:10.317] muffled <- grepl(pattern, "muffleMessage") [13:14:10.317] if (muffled) [13:14:10.317] invokeRestart("muffleMessage") [13:14:10.317] } [13:14:10.317] else if (inherits(cond, "warning")) { [13:14:10.317] muffled <- grepl(pattern, "muffleWarning") [13:14:10.317] if (muffled) [13:14:10.317] invokeRestart("muffleWarning") [13:14:10.317] } [13:14:10.317] else if (inherits(cond, "condition")) { [13:14:10.317] if (!is.null(pattern)) { [13:14:10.317] computeRestarts <- base::computeRestarts [13:14:10.317] grepl <- base::grepl [13:14:10.317] restarts <- computeRestarts(cond) [13:14:10.317] for (restart in restarts) { [13:14:10.317] name <- restart$name [13:14:10.317] if (is.null(name)) [13:14:10.317] next [13:14:10.317] if (!grepl(pattern, name)) [13:14:10.317] next [13:14:10.317] invokeRestart(restart) [13:14:10.317] muffled <- TRUE [13:14:10.317] break [13:14:10.317] } [13:14:10.317] } [13:14:10.317] } [13:14:10.317] invisible(muffled) [13:14:10.317] } [13:14:10.317] muffleCondition(cond) [13:14:10.317] }) [13:14:10.317] })) [13:14:10.317] future::FutureResult(value = ...future.value$value, [13:14:10.317] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.317] ...future.rng), globalenv = if (FALSE) [13:14:10.317] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.317] ...future.globalenv.names)) [13:14:10.317] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.317] }, condition = base::local({ [13:14:10.317] c <- base::c [13:14:10.317] inherits <- base::inherits [13:14:10.317] invokeRestart <- base::invokeRestart [13:14:10.317] length <- base::length [13:14:10.317] list <- base::list [13:14:10.317] seq.int <- base::seq.int [13:14:10.317] signalCondition <- base::signalCondition [13:14:10.317] sys.calls <- base::sys.calls [13:14:10.317] `[[` <- base::`[[` [13:14:10.317] `+` <- base::`+` [13:14:10.317] `<<-` <- base::`<<-` [13:14:10.317] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.317] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.317] 3L)] [13:14:10.317] } [13:14:10.317] function(cond) { [13:14:10.317] is_error <- inherits(cond, "error") [13:14:10.317] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.317] NULL) [13:14:10.317] if (is_error) { [13:14:10.317] sessionInformation <- function() { [13:14:10.317] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.317] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.317] search = base::search(), system = base::Sys.info()) [13:14:10.317] } [13:14:10.317] ...future.conditions[[length(...future.conditions) + [13:14:10.317] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.317] cond$call), session = sessionInformation(), [13:14:10.317] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.317] signalCondition(cond) [13:14:10.317] } [13:14:10.317] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.317] "immediateCondition"))) { [13:14:10.317] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.317] ...future.conditions[[length(...future.conditions) + [13:14:10.317] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.317] if (TRUE && !signal) { [13:14:10.317] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.317] { [13:14:10.317] inherits <- base::inherits [13:14:10.317] invokeRestart <- base::invokeRestart [13:14:10.317] is.null <- base::is.null [13:14:10.317] muffled <- FALSE [13:14:10.317] if (inherits(cond, "message")) { [13:14:10.317] muffled <- grepl(pattern, "muffleMessage") [13:14:10.317] if (muffled) [13:14:10.317] invokeRestart("muffleMessage") [13:14:10.317] } [13:14:10.317] else if (inherits(cond, "warning")) { [13:14:10.317] muffled <- grepl(pattern, "muffleWarning") [13:14:10.317] if (muffled) [13:14:10.317] invokeRestart("muffleWarning") [13:14:10.317] } [13:14:10.317] else if (inherits(cond, "condition")) { [13:14:10.317] if (!is.null(pattern)) { [13:14:10.317] computeRestarts <- base::computeRestarts [13:14:10.317] grepl <- base::grepl [13:14:10.317] restarts <- computeRestarts(cond) [13:14:10.317] for (restart in restarts) { [13:14:10.317] name <- restart$name [13:14:10.317] if (is.null(name)) [13:14:10.317] next [13:14:10.317] if (!grepl(pattern, name)) [13:14:10.317] next [13:14:10.317] invokeRestart(restart) [13:14:10.317] muffled <- TRUE [13:14:10.317] break [13:14:10.317] } [13:14:10.317] } [13:14:10.317] } [13:14:10.317] invisible(muffled) [13:14:10.317] } [13:14:10.317] muffleCondition(cond, pattern = "^muffle") [13:14:10.317] } [13:14:10.317] } [13:14:10.317] else { [13:14:10.317] if (TRUE) { [13:14:10.317] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.317] { [13:14:10.317] inherits <- base::inherits [13:14:10.317] invokeRestart <- base::invokeRestart [13:14:10.317] is.null <- base::is.null [13:14:10.317] muffled <- FALSE [13:14:10.317] if (inherits(cond, "message")) { [13:14:10.317] muffled <- grepl(pattern, "muffleMessage") [13:14:10.317] if (muffled) [13:14:10.317] invokeRestart("muffleMessage") [13:14:10.317] } [13:14:10.317] else if (inherits(cond, "warning")) { [13:14:10.317] muffled <- grepl(pattern, "muffleWarning") [13:14:10.317] if (muffled) [13:14:10.317] invokeRestart("muffleWarning") [13:14:10.317] } [13:14:10.317] else if (inherits(cond, "condition")) { [13:14:10.317] if (!is.null(pattern)) { [13:14:10.317] computeRestarts <- base::computeRestarts [13:14:10.317] grepl <- base::grepl [13:14:10.317] restarts <- computeRestarts(cond) [13:14:10.317] for (restart in restarts) { [13:14:10.317] name <- restart$name [13:14:10.317] if (is.null(name)) [13:14:10.317] next [13:14:10.317] if (!grepl(pattern, name)) [13:14:10.317] next [13:14:10.317] invokeRestart(restart) [13:14:10.317] muffled <- TRUE [13:14:10.317] break [13:14:10.317] } [13:14:10.317] } [13:14:10.317] } [13:14:10.317] invisible(muffled) [13:14:10.317] } [13:14:10.317] muffleCondition(cond, pattern = "^muffle") [13:14:10.317] } [13:14:10.317] } [13:14:10.317] } [13:14:10.317] })) [13:14:10.317] }, error = function(ex) { [13:14:10.317] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.317] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.317] ...future.rng), started = ...future.startTime, [13:14:10.317] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.317] version = "1.8"), class = "FutureResult") [13:14:10.317] }, finally = { [13:14:10.317] if (!identical(...future.workdir, getwd())) [13:14:10.317] setwd(...future.workdir) [13:14:10.317] { [13:14:10.317] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.317] ...future.oldOptions$nwarnings <- NULL [13:14:10.317] } [13:14:10.317] base::options(...future.oldOptions) [13:14:10.317] if (.Platform$OS.type == "windows") { [13:14:10.317] old_names <- names(...future.oldEnvVars) [13:14:10.317] envs <- base::Sys.getenv() [13:14:10.317] names <- names(envs) [13:14:10.317] common <- intersect(names, old_names) [13:14:10.317] added <- setdiff(names, old_names) [13:14:10.317] removed <- setdiff(old_names, names) [13:14:10.317] changed <- common[...future.oldEnvVars[common] != [13:14:10.317] envs[common]] [13:14:10.317] NAMES <- toupper(changed) [13:14:10.317] args <- list() [13:14:10.317] for (kk in seq_along(NAMES)) { [13:14:10.317] name <- changed[[kk]] [13:14:10.317] NAME <- NAMES[[kk]] [13:14:10.317] if (name != NAME && is.element(NAME, old_names)) [13:14:10.317] next [13:14:10.317] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.317] } [13:14:10.317] NAMES <- toupper(added) [13:14:10.317] for (kk in seq_along(NAMES)) { [13:14:10.317] name <- added[[kk]] [13:14:10.317] NAME <- NAMES[[kk]] [13:14:10.317] if (name != NAME && is.element(NAME, old_names)) [13:14:10.317] next [13:14:10.317] args[[name]] <- "" [13:14:10.317] } [13:14:10.317] NAMES <- toupper(removed) [13:14:10.317] for (kk in seq_along(NAMES)) { [13:14:10.317] name <- removed[[kk]] [13:14:10.317] NAME <- NAMES[[kk]] [13:14:10.317] if (name != NAME && is.element(NAME, old_names)) [13:14:10.317] next [13:14:10.317] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.317] } [13:14:10.317] if (length(args) > 0) [13:14:10.317] base::do.call(base::Sys.setenv, args = args) [13:14:10.317] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.317] } [13:14:10.317] else { [13:14:10.317] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.317] } [13:14:10.317] { [13:14:10.317] if (base::length(...future.futureOptionsAdded) > [13:14:10.317] 0L) { [13:14:10.317] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.317] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.317] base::options(opts) [13:14:10.317] } [13:14:10.317] { [13:14:10.317] { [13:14:10.317] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.317] NULL [13:14:10.317] } [13:14:10.317] options(future.plan = NULL) [13:14:10.317] if (is.na(NA_character_)) [13:14:10.317] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.317] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.317] future::plan(list(function (..., workers = availableCores(), [13:14:10.317] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.317] envir = parent.frame()) [13:14:10.317] { [13:14:10.317] if (is.function(workers)) [13:14:10.317] workers <- workers() [13:14:10.317] workers <- structure(as.integer(workers), [13:14:10.317] class = class(workers)) [13:14:10.317] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.317] workers >= 1) [13:14:10.317] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.317] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.317] } [13:14:10.317] future <- MultisessionFuture(..., workers = workers, [13:14:10.317] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.317] envir = envir) [13:14:10.317] if (!future$lazy) [13:14:10.317] future <- run(future) [13:14:10.317] invisible(future) [13:14:10.317] }), .cleanup = FALSE, .init = FALSE) [13:14:10.317] } [13:14:10.317] } [13:14:10.317] } [13:14:10.317] }) [13:14:10.317] if (TRUE) { [13:14:10.317] base::sink(type = "output", split = FALSE) [13:14:10.317] if (TRUE) { [13:14:10.317] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.317] } [13:14:10.317] else { [13:14:10.317] ...future.result["stdout"] <- base::list(NULL) [13:14:10.317] } [13:14:10.317] base::close(...future.stdout) [13:14:10.317] ...future.stdout <- NULL [13:14:10.317] } [13:14:10.317] ...future.result$conditions <- ...future.conditions [13:14:10.317] ...future.result$finished <- base::Sys.time() [13:14:10.317] ...future.result [13:14:10.317] } [13:14:10.322] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:10.322] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:10.323] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:10.323] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.324] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.324] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:10.324] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:10.324] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.325] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.325] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.325] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.326] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:10.326] MultisessionFuture started [13:14:10.327] - Launch lazy future ... done [13:14:10.327] run() for 'MultisessionFuture' ... done [13:14:10.327] Created future: [13:14:10.343] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.343] - Validating connection of MultisessionFuture [13:14:10.343] - received message: FutureResult [13:14:10.343] - Received FutureResult [13:14:10.343] - Erased future from FutureRegistry [13:14:10.344] result() for ClusterFuture ... [13:14:10.344] - result already collected: FutureResult [13:14:10.344] result() for ClusterFuture ... done [13:14:10.344] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.327] MultisessionFuture: [13:14:10.327] Label: 'future_sapply-2' [13:14:10.327] Expression: [13:14:10.327] { [13:14:10.327] do.call(function(...) { [13:14:10.327] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.327] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.327] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.327] on.exit(options(oopts), add = TRUE) [13:14:10.327] } [13:14:10.327] { [13:14:10.327] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.327] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.327] ...future.FUN(...future.X_jj, ...) [13:14:10.327] }) [13:14:10.327] } [13:14:10.327] }, args = future.call.arguments) [13:14:10.327] } [13:14:10.327] Lazy evaluation: FALSE [13:14:10.327] Asynchronous evaluation: TRUE [13:14:10.327] Local evaluation: TRUE [13:14:10.327] Environment: R_GlobalEnv [13:14:10.327] Capture standard output: TRUE [13:14:10.327] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.327] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.327] Packages: [13:14:10.327] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.327] Resolved: TRUE [13:14:10.327] Value: [13:14:10.327] Conditions captured: [13:14:10.327] Early signaling: FALSE [13:14:10.327] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.327] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.344] Chunk #2 of 2 ... DONE [13:14:10.345] Launching 2 futures (chunks) ... DONE [13:14:10.345] Resolving 2 futures (chunks) ... [13:14:10.345] resolve() on list ... [13:14:10.345] recursive: 0 [13:14:10.345] length: 2 [13:14:10.345] [13:14:10.346] Future #1 [13:14:10.346] result() for ClusterFuture ... [13:14:10.346] - result already collected: FutureResult [13:14:10.346] result() for ClusterFuture ... done [13:14:10.346] result() for ClusterFuture ... [13:14:10.346] - result already collected: FutureResult [13:14:10.347] result() for ClusterFuture ... done [13:14:10.347] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:10.347] - nx: 2 [13:14:10.347] - relay: TRUE [13:14:10.347] - stdout: TRUE [13:14:10.347] - signal: TRUE [13:14:10.348] - resignal: FALSE [13:14:10.348] - force: TRUE [13:14:10.348] - relayed: [n=2] FALSE, FALSE [13:14:10.348] - queued futures: [n=2] FALSE, FALSE [13:14:10.348] - until=1 [13:14:10.348] - relaying element #1 [13:14:10.349] result() for ClusterFuture ... [13:14:10.349] - result already collected: FutureResult [13:14:10.349] result() for ClusterFuture ... done [13:14:10.349] result() for ClusterFuture ... [13:14:10.349] - result already collected: FutureResult [13:14:10.349] result() for ClusterFuture ... done [13:14:10.350] result() for ClusterFuture ... [13:14:10.350] - result already collected: FutureResult [13:14:10.350] result() for ClusterFuture ... done [13:14:10.350] result() for ClusterFuture ... [13:14:10.350] - result already collected: FutureResult [13:14:10.350] result() for ClusterFuture ... done [13:14:10.350] - relayed: [n=2] TRUE, FALSE [13:14:10.351] - queued futures: [n=2] TRUE, FALSE [13:14:10.351] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:10.351] length: 1 (resolved future 1) [13:14:10.351] Future #2 [13:14:10.351] result() for ClusterFuture ... [13:14:10.351] - result already collected: FutureResult [13:14:10.352] result() for ClusterFuture ... done [13:14:10.352] result() for ClusterFuture ... [13:14:10.352] - result already collected: FutureResult [13:14:10.352] result() for ClusterFuture ... done [13:14:10.352] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:10.352] - nx: 2 [13:14:10.353] - relay: TRUE [13:14:10.353] - stdout: TRUE [13:14:10.353] - signal: TRUE [13:14:10.353] - resignal: FALSE [13:14:10.353] - force: TRUE [13:14:10.353] - relayed: [n=2] TRUE, FALSE [13:14:10.353] - queued futures: [n=2] TRUE, FALSE [13:14:10.354] - until=2 [13:14:10.354] - relaying element #2 [13:14:10.354] result() for ClusterFuture ... [13:14:10.354] - result already collected: FutureResult [13:14:10.354] result() for ClusterFuture ... done [13:14:10.354] result() for ClusterFuture ... [13:14:10.355] - result already collected: FutureResult [13:14:10.355] result() for ClusterFuture ... done [13:14:10.355] result() for ClusterFuture ... [13:14:10.355] - result already collected: FutureResult [13:14:10.355] result() for ClusterFuture ... done [13:14:10.355] result() for ClusterFuture ... [13:14:10.356] - result already collected: FutureResult [13:14:10.356] result() for ClusterFuture ... done [13:14:10.356] - relayed: [n=2] TRUE, TRUE [13:14:10.356] - queued futures: [n=2] TRUE, TRUE [13:14:10.356] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:10.356] length: 0 (resolved future 2) [13:14:10.357] Relaying remaining futures [13:14:10.357] signalConditionsASAP(NULL, pos=0) ... [13:14:10.357] - nx: 2 [13:14:10.357] - relay: TRUE [13:14:10.357] - stdout: TRUE [13:14:10.357] - signal: TRUE [13:14:10.357] - resignal: FALSE [13:14:10.358] - force: TRUE [13:14:10.358] - relayed: [n=2] TRUE, TRUE [13:14:10.358] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:10.358] - relayed: [n=2] TRUE, TRUE [13:14:10.358] - queued futures: [n=2] TRUE, TRUE [13:14:10.358] signalConditionsASAP(NULL, pos=0) ... done [13:14:10.359] resolve() on list ... DONE [13:14:10.359] result() for ClusterFuture ... [13:14:10.359] - result already collected: FutureResult [13:14:10.359] result() for ClusterFuture ... done [13:14:10.359] result() for ClusterFuture ... [13:14:10.359] - result already collected: FutureResult [13:14:10.360] result() for ClusterFuture ... done [13:14:10.360] result() for ClusterFuture ... [13:14:10.360] - result already collected: FutureResult [13:14:10.360] result() for ClusterFuture ... done [13:14:10.360] result() for ClusterFuture ... [13:14:10.360] - result already collected: FutureResult [13:14:10.361] result() for ClusterFuture ... done [13:14:10.361] - Number of value chunks collected: 2 [13:14:10.361] Resolving 2 futures (chunks) ... DONE [13:14:10.361] Reducing values from 2 chunks ... [13:14:10.361] - Number of values collected after concatenation: 3 [13:14:10.361] - Number of values expected: 3 [13:14:10.361] Reducing values from 2 chunks ... DONE [13:14:10.362] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:10.363] future_lapply() ... [13:14:10.366] Number of chunks: 2 [13:14:10.366] getGlobalsAndPackagesXApply() ... [13:14:10.366] - future.globals: TRUE [13:14:10.366] getGlobalsAndPackages() ... [13:14:10.366] Searching for globals... [13:14:10.368] - globals found: [2] 'FUN', 'UseMethod' [13:14:10.368] Searching for globals ... DONE [13:14:10.368] Resolving globals: FALSE [13:14:10.368] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:10.369] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:10.369] - globals: [1] 'FUN' [13:14:10.369] [13:14:10.369] getGlobalsAndPackages() ... DONE [13:14:10.370] - globals found/used: [n=1] 'FUN' [13:14:10.370] - needed namespaces: [n=0] [13:14:10.370] Finding globals ... DONE [13:14:10.370] - use_args: TRUE [13:14:10.370] - Getting '...' globals ... [13:14:10.371] resolve() on list ... [13:14:10.371] recursive: 0 [13:14:10.371] length: 1 [13:14:10.371] elements: '...' [13:14:10.371] length: 0 (resolved future 1) [13:14:10.371] resolve() on list ... DONE [13:14:10.372] - '...' content: [n=0] [13:14:10.372] List of 1 [13:14:10.372] $ ...: list() [13:14:10.372] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.372] - attr(*, "where")=List of 1 [13:14:10.372] ..$ ...: [13:14:10.372] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.372] - attr(*, "resolved")= logi TRUE [13:14:10.372] - attr(*, "total_size")= num NA [13:14:10.375] - Getting '...' globals ... DONE [13:14:10.375] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:10.375] List of 2 [13:14:10.375] $ ...future.FUN:function (x, ...) [13:14:10.375] $ ... : list() [13:14:10.375] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.375] - attr(*, "where")=List of 2 [13:14:10.375] ..$ ...future.FUN: [13:14:10.375] ..$ ... : [13:14:10.375] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.375] - attr(*, "resolved")= logi FALSE [13:14:10.375] - attr(*, "total_size")= num 1248 [13:14:10.382] Packages to be attached in all futures: [n=0] [13:14:10.382] getGlobalsAndPackagesXApply() ... DONE [13:14:10.382] Number of futures (= number of chunks): 2 [13:14:10.382] Launching 2 futures (chunks) ... [13:14:10.382] Chunk #1 of 2 ... [13:14:10.383] - Finding globals in 'X' for chunk #1 ... [13:14:10.383] getGlobalsAndPackages() ... [13:14:10.383] Searching for globals... [13:14:10.383] [13:14:10.383] Searching for globals ... DONE [13:14:10.384] - globals: [0] [13:14:10.384] getGlobalsAndPackages() ... DONE [13:14:10.384] + additional globals found: [n=0] [13:14:10.384] + additional namespaces needed: [n=0] [13:14:10.384] - Finding globals in 'X' for chunk #1 ... DONE [13:14:10.384] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.385] - seeds: [13:14:10.385] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.385] getGlobalsAndPackages() ... [13:14:10.385] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.385] Resolving globals: FALSE [13:14:10.385] Tweak future expression to call with '...' arguments ... [13:14:10.386] { [13:14:10.386] do.call(function(...) { [13:14:10.386] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.386] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.386] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.386] on.exit(options(oopts), add = TRUE) [13:14:10.386] } [13:14:10.386] { [13:14:10.386] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.386] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.386] ...future.FUN(...future.X_jj, ...) [13:14:10.386] }) [13:14:10.386] } [13:14:10.386] }, args = future.call.arguments) [13:14:10.386] } [13:14:10.386] Tweak future expression to call with '...' arguments ... DONE [13:14:10.387] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.387] [13:14:10.387] getGlobalsAndPackages() ... DONE [13:14:10.387] run() for 'Future' ... [13:14:10.388] - state: 'created' [13:14:10.388] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.402] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.402] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.402] - Field: 'node' [13:14:10.402] - Field: 'label' [13:14:10.403] - Field: 'local' [13:14:10.403] - Field: 'owner' [13:14:10.403] - Field: 'envir' [13:14:10.403] - Field: 'workers' [13:14:10.403] - Field: 'packages' [13:14:10.403] - Field: 'gc' [13:14:10.404] - Field: 'conditions' [13:14:10.404] - Field: 'persistent' [13:14:10.404] - Field: 'expr' [13:14:10.404] - Field: 'uuid' [13:14:10.404] - Field: 'seed' [13:14:10.405] - Field: 'version' [13:14:10.405] - Field: 'result' [13:14:10.405] - Field: 'asynchronous' [13:14:10.405] - Field: 'calls' [13:14:10.405] - Field: 'globals' [13:14:10.405] - Field: 'stdout' [13:14:10.406] - Field: 'earlySignal' [13:14:10.406] - Field: 'lazy' [13:14:10.406] - Field: 'state' [13:14:10.406] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.406] - Launch lazy future ... [13:14:10.407] Packages needed by the future expression (n = 0): [13:14:10.407] Packages needed by future strategies (n = 0): [13:14:10.407] { [13:14:10.407] { [13:14:10.407] { [13:14:10.407] ...future.startTime <- base::Sys.time() [13:14:10.407] { [13:14:10.407] { [13:14:10.407] { [13:14:10.407] { [13:14:10.407] base::local({ [13:14:10.407] has_future <- base::requireNamespace("future", [13:14:10.407] quietly = TRUE) [13:14:10.407] if (has_future) { [13:14:10.407] ns <- base::getNamespace("future") [13:14:10.407] version <- ns[[".package"]][["version"]] [13:14:10.407] if (is.null(version)) [13:14:10.407] version <- utils::packageVersion("future") [13:14:10.407] } [13:14:10.407] else { [13:14:10.407] version <- NULL [13:14:10.407] } [13:14:10.407] if (!has_future || version < "1.8.0") { [13:14:10.407] info <- base::c(r_version = base::gsub("R version ", [13:14:10.407] "", base::R.version$version.string), [13:14:10.407] platform = base::sprintf("%s (%s-bit)", [13:14:10.407] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.407] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.407] "release", "version")], collapse = " "), [13:14:10.407] hostname = base::Sys.info()[["nodename"]]) [13:14:10.407] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.407] info) [13:14:10.407] info <- base::paste(info, collapse = "; ") [13:14:10.407] if (!has_future) { [13:14:10.407] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.407] info) [13:14:10.407] } [13:14:10.407] else { [13:14:10.407] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.407] info, version) [13:14:10.407] } [13:14:10.407] base::stop(msg) [13:14:10.407] } [13:14:10.407] }) [13:14:10.407] } [13:14:10.407] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.407] base::options(mc.cores = 1L) [13:14:10.407] } [13:14:10.407] options(future.plan = NULL) [13:14:10.407] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.407] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.407] } [13:14:10.407] ...future.workdir <- getwd() [13:14:10.407] } [13:14:10.407] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.407] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.407] } [13:14:10.407] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.407] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.407] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.407] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.407] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.407] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.407] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.407] base::names(...future.oldOptions)) [13:14:10.407] } [13:14:10.407] if (FALSE) { [13:14:10.407] } [13:14:10.407] else { [13:14:10.407] if (TRUE) { [13:14:10.407] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.407] open = "w") [13:14:10.407] } [13:14:10.407] else { [13:14:10.407] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.407] windows = "NUL", "/dev/null"), open = "w") [13:14:10.407] } [13:14:10.407] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.407] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.407] base::sink(type = "output", split = FALSE) [13:14:10.407] base::close(...future.stdout) [13:14:10.407] }, add = TRUE) [13:14:10.407] } [13:14:10.407] ...future.frame <- base::sys.nframe() [13:14:10.407] ...future.conditions <- base::list() [13:14:10.407] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.407] if (FALSE) { [13:14:10.407] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.407] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.407] } [13:14:10.407] ...future.result <- base::tryCatch({ [13:14:10.407] base::withCallingHandlers({ [13:14:10.407] ...future.value <- base::withVisible(base::local({ [13:14:10.407] ...future.makeSendCondition <- local({ [13:14:10.407] sendCondition <- NULL [13:14:10.407] function(frame = 1L) { [13:14:10.407] if (is.function(sendCondition)) [13:14:10.407] return(sendCondition) [13:14:10.407] ns <- getNamespace("parallel") [13:14:10.407] if (exists("sendData", mode = "function", [13:14:10.407] envir = ns)) { [13:14:10.407] parallel_sendData <- get("sendData", mode = "function", [13:14:10.407] envir = ns) [13:14:10.407] envir <- sys.frame(frame) [13:14:10.407] master <- NULL [13:14:10.407] while (!identical(envir, .GlobalEnv) && [13:14:10.407] !identical(envir, emptyenv())) { [13:14:10.407] if (exists("master", mode = "list", envir = envir, [13:14:10.407] inherits = FALSE)) { [13:14:10.407] master <- get("master", mode = "list", [13:14:10.407] envir = envir, inherits = FALSE) [13:14:10.407] if (inherits(master, c("SOCKnode", [13:14:10.407] "SOCK0node"))) { [13:14:10.407] sendCondition <<- function(cond) { [13:14:10.407] data <- list(type = "VALUE", value = cond, [13:14:10.407] success = TRUE) [13:14:10.407] parallel_sendData(master, data) [13:14:10.407] } [13:14:10.407] return(sendCondition) [13:14:10.407] } [13:14:10.407] } [13:14:10.407] frame <- frame + 1L [13:14:10.407] envir <- sys.frame(frame) [13:14:10.407] } [13:14:10.407] } [13:14:10.407] sendCondition <<- function(cond) NULL [13:14:10.407] } [13:14:10.407] }) [13:14:10.407] withCallingHandlers({ [13:14:10.407] { [13:14:10.407] do.call(function(...) { [13:14:10.407] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.407] if (!identical(...future.globals.maxSize.org, [13:14:10.407] ...future.globals.maxSize)) { [13:14:10.407] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.407] on.exit(options(oopts), add = TRUE) [13:14:10.407] } [13:14:10.407] { [13:14:10.407] lapply(seq_along(...future.elements_ii), [13:14:10.407] FUN = function(jj) { [13:14:10.407] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.407] ...future.FUN(...future.X_jj, ...) [13:14:10.407] }) [13:14:10.407] } [13:14:10.407] }, args = future.call.arguments) [13:14:10.407] } [13:14:10.407] }, immediateCondition = function(cond) { [13:14:10.407] sendCondition <- ...future.makeSendCondition() [13:14:10.407] sendCondition(cond) [13:14:10.407] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.407] { [13:14:10.407] inherits <- base::inherits [13:14:10.407] invokeRestart <- base::invokeRestart [13:14:10.407] is.null <- base::is.null [13:14:10.407] muffled <- FALSE [13:14:10.407] if (inherits(cond, "message")) { [13:14:10.407] muffled <- grepl(pattern, "muffleMessage") [13:14:10.407] if (muffled) [13:14:10.407] invokeRestart("muffleMessage") [13:14:10.407] } [13:14:10.407] else if (inherits(cond, "warning")) { [13:14:10.407] muffled <- grepl(pattern, "muffleWarning") [13:14:10.407] if (muffled) [13:14:10.407] invokeRestart("muffleWarning") [13:14:10.407] } [13:14:10.407] else if (inherits(cond, "condition")) { [13:14:10.407] if (!is.null(pattern)) { [13:14:10.407] computeRestarts <- base::computeRestarts [13:14:10.407] grepl <- base::grepl [13:14:10.407] restarts <- computeRestarts(cond) [13:14:10.407] for (restart in restarts) { [13:14:10.407] name <- restart$name [13:14:10.407] if (is.null(name)) [13:14:10.407] next [13:14:10.407] if (!grepl(pattern, name)) [13:14:10.407] next [13:14:10.407] invokeRestart(restart) [13:14:10.407] muffled <- TRUE [13:14:10.407] break [13:14:10.407] } [13:14:10.407] } [13:14:10.407] } [13:14:10.407] invisible(muffled) [13:14:10.407] } [13:14:10.407] muffleCondition(cond) [13:14:10.407] }) [13:14:10.407] })) [13:14:10.407] future::FutureResult(value = ...future.value$value, [13:14:10.407] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.407] ...future.rng), globalenv = if (FALSE) [13:14:10.407] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.407] ...future.globalenv.names)) [13:14:10.407] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.407] }, condition = base::local({ [13:14:10.407] c <- base::c [13:14:10.407] inherits <- base::inherits [13:14:10.407] invokeRestart <- base::invokeRestart [13:14:10.407] length <- base::length [13:14:10.407] list <- base::list [13:14:10.407] seq.int <- base::seq.int [13:14:10.407] signalCondition <- base::signalCondition [13:14:10.407] sys.calls <- base::sys.calls [13:14:10.407] `[[` <- base::`[[` [13:14:10.407] `+` <- base::`+` [13:14:10.407] `<<-` <- base::`<<-` [13:14:10.407] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.407] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.407] 3L)] [13:14:10.407] } [13:14:10.407] function(cond) { [13:14:10.407] is_error <- inherits(cond, "error") [13:14:10.407] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.407] NULL) [13:14:10.407] if (is_error) { [13:14:10.407] sessionInformation <- function() { [13:14:10.407] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.407] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.407] search = base::search(), system = base::Sys.info()) [13:14:10.407] } [13:14:10.407] ...future.conditions[[length(...future.conditions) + [13:14:10.407] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.407] cond$call), session = sessionInformation(), [13:14:10.407] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.407] signalCondition(cond) [13:14:10.407] } [13:14:10.407] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.407] "immediateCondition"))) { [13:14:10.407] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.407] ...future.conditions[[length(...future.conditions) + [13:14:10.407] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.407] if (TRUE && !signal) { [13:14:10.407] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.407] { [13:14:10.407] inherits <- base::inherits [13:14:10.407] invokeRestart <- base::invokeRestart [13:14:10.407] is.null <- base::is.null [13:14:10.407] muffled <- FALSE [13:14:10.407] if (inherits(cond, "message")) { [13:14:10.407] muffled <- grepl(pattern, "muffleMessage") [13:14:10.407] if (muffled) [13:14:10.407] invokeRestart("muffleMessage") [13:14:10.407] } [13:14:10.407] else if (inherits(cond, "warning")) { [13:14:10.407] muffled <- grepl(pattern, "muffleWarning") [13:14:10.407] if (muffled) [13:14:10.407] invokeRestart("muffleWarning") [13:14:10.407] } [13:14:10.407] else if (inherits(cond, "condition")) { [13:14:10.407] if (!is.null(pattern)) { [13:14:10.407] computeRestarts <- base::computeRestarts [13:14:10.407] grepl <- base::grepl [13:14:10.407] restarts <- computeRestarts(cond) [13:14:10.407] for (restart in restarts) { [13:14:10.407] name <- restart$name [13:14:10.407] if (is.null(name)) [13:14:10.407] next [13:14:10.407] if (!grepl(pattern, name)) [13:14:10.407] next [13:14:10.407] invokeRestart(restart) [13:14:10.407] muffled <- TRUE [13:14:10.407] break [13:14:10.407] } [13:14:10.407] } [13:14:10.407] } [13:14:10.407] invisible(muffled) [13:14:10.407] } [13:14:10.407] muffleCondition(cond, pattern = "^muffle") [13:14:10.407] } [13:14:10.407] } [13:14:10.407] else { [13:14:10.407] if (TRUE) { [13:14:10.407] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.407] { [13:14:10.407] inherits <- base::inherits [13:14:10.407] invokeRestart <- base::invokeRestart [13:14:10.407] is.null <- base::is.null [13:14:10.407] muffled <- FALSE [13:14:10.407] if (inherits(cond, "message")) { [13:14:10.407] muffled <- grepl(pattern, "muffleMessage") [13:14:10.407] if (muffled) [13:14:10.407] invokeRestart("muffleMessage") [13:14:10.407] } [13:14:10.407] else if (inherits(cond, "warning")) { [13:14:10.407] muffled <- grepl(pattern, "muffleWarning") [13:14:10.407] if (muffled) [13:14:10.407] invokeRestart("muffleWarning") [13:14:10.407] } [13:14:10.407] else if (inherits(cond, "condition")) { [13:14:10.407] if (!is.null(pattern)) { [13:14:10.407] computeRestarts <- base::computeRestarts [13:14:10.407] grepl <- base::grepl [13:14:10.407] restarts <- computeRestarts(cond) [13:14:10.407] for (restart in restarts) { [13:14:10.407] name <- restart$name [13:14:10.407] if (is.null(name)) [13:14:10.407] next [13:14:10.407] if (!grepl(pattern, name)) [13:14:10.407] next [13:14:10.407] invokeRestart(restart) [13:14:10.407] muffled <- TRUE [13:14:10.407] break [13:14:10.407] } [13:14:10.407] } [13:14:10.407] } [13:14:10.407] invisible(muffled) [13:14:10.407] } [13:14:10.407] muffleCondition(cond, pattern = "^muffle") [13:14:10.407] } [13:14:10.407] } [13:14:10.407] } [13:14:10.407] })) [13:14:10.407] }, error = function(ex) { [13:14:10.407] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.407] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.407] ...future.rng), started = ...future.startTime, [13:14:10.407] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.407] version = "1.8"), class = "FutureResult") [13:14:10.407] }, finally = { [13:14:10.407] if (!identical(...future.workdir, getwd())) [13:14:10.407] setwd(...future.workdir) [13:14:10.407] { [13:14:10.407] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.407] ...future.oldOptions$nwarnings <- NULL [13:14:10.407] } [13:14:10.407] base::options(...future.oldOptions) [13:14:10.407] if (.Platform$OS.type == "windows") { [13:14:10.407] old_names <- names(...future.oldEnvVars) [13:14:10.407] envs <- base::Sys.getenv() [13:14:10.407] names <- names(envs) [13:14:10.407] common <- intersect(names, old_names) [13:14:10.407] added <- setdiff(names, old_names) [13:14:10.407] removed <- setdiff(old_names, names) [13:14:10.407] changed <- common[...future.oldEnvVars[common] != [13:14:10.407] envs[common]] [13:14:10.407] NAMES <- toupper(changed) [13:14:10.407] args <- list() [13:14:10.407] for (kk in seq_along(NAMES)) { [13:14:10.407] name <- changed[[kk]] [13:14:10.407] NAME <- NAMES[[kk]] [13:14:10.407] if (name != NAME && is.element(NAME, old_names)) [13:14:10.407] next [13:14:10.407] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.407] } [13:14:10.407] NAMES <- toupper(added) [13:14:10.407] for (kk in seq_along(NAMES)) { [13:14:10.407] name <- added[[kk]] [13:14:10.407] NAME <- NAMES[[kk]] [13:14:10.407] if (name != NAME && is.element(NAME, old_names)) [13:14:10.407] next [13:14:10.407] args[[name]] <- "" [13:14:10.407] } [13:14:10.407] NAMES <- toupper(removed) [13:14:10.407] for (kk in seq_along(NAMES)) { [13:14:10.407] name <- removed[[kk]] [13:14:10.407] NAME <- NAMES[[kk]] [13:14:10.407] if (name != NAME && is.element(NAME, old_names)) [13:14:10.407] next [13:14:10.407] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.407] } [13:14:10.407] if (length(args) > 0) [13:14:10.407] base::do.call(base::Sys.setenv, args = args) [13:14:10.407] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.407] } [13:14:10.407] else { [13:14:10.407] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.407] } [13:14:10.407] { [13:14:10.407] if (base::length(...future.futureOptionsAdded) > [13:14:10.407] 0L) { [13:14:10.407] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.407] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.407] base::options(opts) [13:14:10.407] } [13:14:10.407] { [13:14:10.407] { [13:14:10.407] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.407] NULL [13:14:10.407] } [13:14:10.407] options(future.plan = NULL) [13:14:10.407] if (is.na(NA_character_)) [13:14:10.407] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.407] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.407] future::plan(list(function (..., workers = availableCores(), [13:14:10.407] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.407] envir = parent.frame()) [13:14:10.407] { [13:14:10.407] if (is.function(workers)) [13:14:10.407] workers <- workers() [13:14:10.407] workers <- structure(as.integer(workers), [13:14:10.407] class = class(workers)) [13:14:10.407] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.407] workers >= 1) [13:14:10.407] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.407] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.407] } [13:14:10.407] future <- MultisessionFuture(..., workers = workers, [13:14:10.407] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.407] envir = envir) [13:14:10.407] if (!future$lazy) [13:14:10.407] future <- run(future) [13:14:10.407] invisible(future) [13:14:10.407] }), .cleanup = FALSE, .init = FALSE) [13:14:10.407] } [13:14:10.407] } [13:14:10.407] } [13:14:10.407] }) [13:14:10.407] if (TRUE) { [13:14:10.407] base::sink(type = "output", split = FALSE) [13:14:10.407] if (TRUE) { [13:14:10.407] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.407] } [13:14:10.407] else { [13:14:10.407] ...future.result["stdout"] <- base::list(NULL) [13:14:10.407] } [13:14:10.407] base::close(...future.stdout) [13:14:10.407] ...future.stdout <- NULL [13:14:10.407] } [13:14:10.407] ...future.result$conditions <- ...future.conditions [13:14:10.407] ...future.result$finished <- base::Sys.time() [13:14:10.407] ...future.result [13:14:10.407] } [13:14:10.413] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:10.413] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:10.413] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:10.414] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.414] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.414] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:10.415] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:10.415] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.415] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.416] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.416] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.416] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:10.417] MultisessionFuture started [13:14:10.417] - Launch lazy future ... done [13:14:10.417] run() for 'MultisessionFuture' ... done [13:14:10.417] Created future: [13:14:10.433] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.434] - Validating connection of MultisessionFuture [13:14:10.434] - received message: FutureResult [13:14:10.434] - Received FutureResult [13:14:10.434] - Erased future from FutureRegistry [13:14:10.434] result() for ClusterFuture ... [13:14:10.435] - result already collected: FutureResult [13:14:10.435] result() for ClusterFuture ... done [13:14:10.435] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.417] MultisessionFuture: [13:14:10.417] Label: 'future_sapply-1' [13:14:10.417] Expression: [13:14:10.417] { [13:14:10.417] do.call(function(...) { [13:14:10.417] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.417] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.417] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.417] on.exit(options(oopts), add = TRUE) [13:14:10.417] } [13:14:10.417] { [13:14:10.417] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.417] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.417] ...future.FUN(...future.X_jj, ...) [13:14:10.417] }) [13:14:10.417] } [13:14:10.417] }, args = future.call.arguments) [13:14:10.417] } [13:14:10.417] Lazy evaluation: FALSE [13:14:10.417] Asynchronous evaluation: TRUE [13:14:10.417] Local evaluation: TRUE [13:14:10.417] Environment: R_GlobalEnv [13:14:10.417] Capture standard output: TRUE [13:14:10.417] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.417] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.417] Packages: [13:14:10.417] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.417] Resolved: TRUE [13:14:10.417] Value: [13:14:10.417] Conditions captured: [13:14:10.417] Early signaling: FALSE [13:14:10.417] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.417] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.435] Chunk #1 of 2 ... DONE [13:14:10.435] Chunk #2 of 2 ... [13:14:10.436] - Finding globals in 'X' for chunk #2 ... [13:14:10.436] getGlobalsAndPackages() ... [13:14:10.436] Searching for globals... [13:14:10.436] [13:14:10.436] Searching for globals ... DONE [13:14:10.437] - globals: [0] [13:14:10.437] getGlobalsAndPackages() ... DONE [13:14:10.437] + additional globals found: [n=0] [13:14:10.437] + additional namespaces needed: [n=0] [13:14:10.437] - Finding globals in 'X' for chunk #2 ... DONE [13:14:10.437] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.438] - seeds: [13:14:10.438] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.438] getGlobalsAndPackages() ... [13:14:10.438] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.438] Resolving globals: FALSE [13:14:10.438] Tweak future expression to call with '...' arguments ... [13:14:10.439] { [13:14:10.439] do.call(function(...) { [13:14:10.439] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.439] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.439] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.439] on.exit(options(oopts), add = TRUE) [13:14:10.439] } [13:14:10.439] { [13:14:10.439] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.439] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.439] ...future.FUN(...future.X_jj, ...) [13:14:10.439] }) [13:14:10.439] } [13:14:10.439] }, args = future.call.arguments) [13:14:10.439] } [13:14:10.439] Tweak future expression to call with '...' arguments ... DONE [13:14:10.439] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.440] [13:14:10.440] getGlobalsAndPackages() ... DONE [13:14:10.440] run() for 'Future' ... [13:14:10.440] - state: 'created' [13:14:10.441] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.455] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.455] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.455] - Field: 'node' [13:14:10.455] - Field: 'label' [13:14:10.456] - Field: 'local' [13:14:10.456] - Field: 'owner' [13:14:10.456] - Field: 'envir' [13:14:10.456] - Field: 'workers' [13:14:10.456] - Field: 'packages' [13:14:10.456] - Field: 'gc' [13:14:10.457] - Field: 'conditions' [13:14:10.457] - Field: 'persistent' [13:14:10.457] - Field: 'expr' [13:14:10.457] - Field: 'uuid' [13:14:10.457] - Field: 'seed' [13:14:10.457] - Field: 'version' [13:14:10.458] - Field: 'result' [13:14:10.458] - Field: 'asynchronous' [13:14:10.458] - Field: 'calls' [13:14:10.458] - Field: 'globals' [13:14:10.458] - Field: 'stdout' [13:14:10.459] - Field: 'earlySignal' [13:14:10.459] - Field: 'lazy' [13:14:10.459] - Field: 'state' [13:14:10.459] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.459] - Launch lazy future ... [13:14:10.460] Packages needed by the future expression (n = 0): [13:14:10.460] Packages needed by future strategies (n = 0): [13:14:10.460] { [13:14:10.460] { [13:14:10.460] { [13:14:10.460] ...future.startTime <- base::Sys.time() [13:14:10.460] { [13:14:10.460] { [13:14:10.460] { [13:14:10.460] { [13:14:10.460] base::local({ [13:14:10.460] has_future <- base::requireNamespace("future", [13:14:10.460] quietly = TRUE) [13:14:10.460] if (has_future) { [13:14:10.460] ns <- base::getNamespace("future") [13:14:10.460] version <- ns[[".package"]][["version"]] [13:14:10.460] if (is.null(version)) [13:14:10.460] version <- utils::packageVersion("future") [13:14:10.460] } [13:14:10.460] else { [13:14:10.460] version <- NULL [13:14:10.460] } [13:14:10.460] if (!has_future || version < "1.8.0") { [13:14:10.460] info <- base::c(r_version = base::gsub("R version ", [13:14:10.460] "", base::R.version$version.string), [13:14:10.460] platform = base::sprintf("%s (%s-bit)", [13:14:10.460] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.460] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.460] "release", "version")], collapse = " "), [13:14:10.460] hostname = base::Sys.info()[["nodename"]]) [13:14:10.460] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.460] info) [13:14:10.460] info <- base::paste(info, collapse = "; ") [13:14:10.460] if (!has_future) { [13:14:10.460] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.460] info) [13:14:10.460] } [13:14:10.460] else { [13:14:10.460] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.460] info, version) [13:14:10.460] } [13:14:10.460] base::stop(msg) [13:14:10.460] } [13:14:10.460] }) [13:14:10.460] } [13:14:10.460] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.460] base::options(mc.cores = 1L) [13:14:10.460] } [13:14:10.460] options(future.plan = NULL) [13:14:10.460] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.460] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.460] } [13:14:10.460] ...future.workdir <- getwd() [13:14:10.460] } [13:14:10.460] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.460] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.460] } [13:14:10.460] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.460] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.460] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.460] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.460] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.460] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.460] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.460] base::names(...future.oldOptions)) [13:14:10.460] } [13:14:10.460] if (FALSE) { [13:14:10.460] } [13:14:10.460] else { [13:14:10.460] if (TRUE) { [13:14:10.460] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.460] open = "w") [13:14:10.460] } [13:14:10.460] else { [13:14:10.460] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.460] windows = "NUL", "/dev/null"), open = "w") [13:14:10.460] } [13:14:10.460] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.460] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.460] base::sink(type = "output", split = FALSE) [13:14:10.460] base::close(...future.stdout) [13:14:10.460] }, add = TRUE) [13:14:10.460] } [13:14:10.460] ...future.frame <- base::sys.nframe() [13:14:10.460] ...future.conditions <- base::list() [13:14:10.460] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.460] if (FALSE) { [13:14:10.460] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.460] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.460] } [13:14:10.460] ...future.result <- base::tryCatch({ [13:14:10.460] base::withCallingHandlers({ [13:14:10.460] ...future.value <- base::withVisible(base::local({ [13:14:10.460] ...future.makeSendCondition <- local({ [13:14:10.460] sendCondition <- NULL [13:14:10.460] function(frame = 1L) { [13:14:10.460] if (is.function(sendCondition)) [13:14:10.460] return(sendCondition) [13:14:10.460] ns <- getNamespace("parallel") [13:14:10.460] if (exists("sendData", mode = "function", [13:14:10.460] envir = ns)) { [13:14:10.460] parallel_sendData <- get("sendData", mode = "function", [13:14:10.460] envir = ns) [13:14:10.460] envir <- sys.frame(frame) [13:14:10.460] master <- NULL [13:14:10.460] while (!identical(envir, .GlobalEnv) && [13:14:10.460] !identical(envir, emptyenv())) { [13:14:10.460] if (exists("master", mode = "list", envir = envir, [13:14:10.460] inherits = FALSE)) { [13:14:10.460] master <- get("master", mode = "list", [13:14:10.460] envir = envir, inherits = FALSE) [13:14:10.460] if (inherits(master, c("SOCKnode", [13:14:10.460] "SOCK0node"))) { [13:14:10.460] sendCondition <<- function(cond) { [13:14:10.460] data <- list(type = "VALUE", value = cond, [13:14:10.460] success = TRUE) [13:14:10.460] parallel_sendData(master, data) [13:14:10.460] } [13:14:10.460] return(sendCondition) [13:14:10.460] } [13:14:10.460] } [13:14:10.460] frame <- frame + 1L [13:14:10.460] envir <- sys.frame(frame) [13:14:10.460] } [13:14:10.460] } [13:14:10.460] sendCondition <<- function(cond) NULL [13:14:10.460] } [13:14:10.460] }) [13:14:10.460] withCallingHandlers({ [13:14:10.460] { [13:14:10.460] do.call(function(...) { [13:14:10.460] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.460] if (!identical(...future.globals.maxSize.org, [13:14:10.460] ...future.globals.maxSize)) { [13:14:10.460] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.460] on.exit(options(oopts), add = TRUE) [13:14:10.460] } [13:14:10.460] { [13:14:10.460] lapply(seq_along(...future.elements_ii), [13:14:10.460] FUN = function(jj) { [13:14:10.460] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.460] ...future.FUN(...future.X_jj, ...) [13:14:10.460] }) [13:14:10.460] } [13:14:10.460] }, args = future.call.arguments) [13:14:10.460] } [13:14:10.460] }, immediateCondition = function(cond) { [13:14:10.460] sendCondition <- ...future.makeSendCondition() [13:14:10.460] sendCondition(cond) [13:14:10.460] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.460] { [13:14:10.460] inherits <- base::inherits [13:14:10.460] invokeRestart <- base::invokeRestart [13:14:10.460] is.null <- base::is.null [13:14:10.460] muffled <- FALSE [13:14:10.460] if (inherits(cond, "message")) { [13:14:10.460] muffled <- grepl(pattern, "muffleMessage") [13:14:10.460] if (muffled) [13:14:10.460] invokeRestart("muffleMessage") [13:14:10.460] } [13:14:10.460] else if (inherits(cond, "warning")) { [13:14:10.460] muffled <- grepl(pattern, "muffleWarning") [13:14:10.460] if (muffled) [13:14:10.460] invokeRestart("muffleWarning") [13:14:10.460] } [13:14:10.460] else if (inherits(cond, "condition")) { [13:14:10.460] if (!is.null(pattern)) { [13:14:10.460] computeRestarts <- base::computeRestarts [13:14:10.460] grepl <- base::grepl [13:14:10.460] restarts <- computeRestarts(cond) [13:14:10.460] for (restart in restarts) { [13:14:10.460] name <- restart$name [13:14:10.460] if (is.null(name)) [13:14:10.460] next [13:14:10.460] if (!grepl(pattern, name)) [13:14:10.460] next [13:14:10.460] invokeRestart(restart) [13:14:10.460] muffled <- TRUE [13:14:10.460] break [13:14:10.460] } [13:14:10.460] } [13:14:10.460] } [13:14:10.460] invisible(muffled) [13:14:10.460] } [13:14:10.460] muffleCondition(cond) [13:14:10.460] }) [13:14:10.460] })) [13:14:10.460] future::FutureResult(value = ...future.value$value, [13:14:10.460] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.460] ...future.rng), globalenv = if (FALSE) [13:14:10.460] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.460] ...future.globalenv.names)) [13:14:10.460] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.460] }, condition = base::local({ [13:14:10.460] c <- base::c [13:14:10.460] inherits <- base::inherits [13:14:10.460] invokeRestart <- base::invokeRestart [13:14:10.460] length <- base::length [13:14:10.460] list <- base::list [13:14:10.460] seq.int <- base::seq.int [13:14:10.460] signalCondition <- base::signalCondition [13:14:10.460] sys.calls <- base::sys.calls [13:14:10.460] `[[` <- base::`[[` [13:14:10.460] `+` <- base::`+` [13:14:10.460] `<<-` <- base::`<<-` [13:14:10.460] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.460] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.460] 3L)] [13:14:10.460] } [13:14:10.460] function(cond) { [13:14:10.460] is_error <- inherits(cond, "error") [13:14:10.460] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.460] NULL) [13:14:10.460] if (is_error) { [13:14:10.460] sessionInformation <- function() { [13:14:10.460] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.460] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.460] search = base::search(), system = base::Sys.info()) [13:14:10.460] } [13:14:10.460] ...future.conditions[[length(...future.conditions) + [13:14:10.460] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.460] cond$call), session = sessionInformation(), [13:14:10.460] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.460] signalCondition(cond) [13:14:10.460] } [13:14:10.460] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.460] "immediateCondition"))) { [13:14:10.460] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.460] ...future.conditions[[length(...future.conditions) + [13:14:10.460] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.460] if (TRUE && !signal) { [13:14:10.460] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.460] { [13:14:10.460] inherits <- base::inherits [13:14:10.460] invokeRestart <- base::invokeRestart [13:14:10.460] is.null <- base::is.null [13:14:10.460] muffled <- FALSE [13:14:10.460] if (inherits(cond, "message")) { [13:14:10.460] muffled <- grepl(pattern, "muffleMessage") [13:14:10.460] if (muffled) [13:14:10.460] invokeRestart("muffleMessage") [13:14:10.460] } [13:14:10.460] else if (inherits(cond, "warning")) { [13:14:10.460] muffled <- grepl(pattern, "muffleWarning") [13:14:10.460] if (muffled) [13:14:10.460] invokeRestart("muffleWarning") [13:14:10.460] } [13:14:10.460] else if (inherits(cond, "condition")) { [13:14:10.460] if (!is.null(pattern)) { [13:14:10.460] computeRestarts <- base::computeRestarts [13:14:10.460] grepl <- base::grepl [13:14:10.460] restarts <- computeRestarts(cond) [13:14:10.460] for (restart in restarts) { [13:14:10.460] name <- restart$name [13:14:10.460] if (is.null(name)) [13:14:10.460] next [13:14:10.460] if (!grepl(pattern, name)) [13:14:10.460] next [13:14:10.460] invokeRestart(restart) [13:14:10.460] muffled <- TRUE [13:14:10.460] break [13:14:10.460] } [13:14:10.460] } [13:14:10.460] } [13:14:10.460] invisible(muffled) [13:14:10.460] } [13:14:10.460] muffleCondition(cond, pattern = "^muffle") [13:14:10.460] } [13:14:10.460] } [13:14:10.460] else { [13:14:10.460] if (TRUE) { [13:14:10.460] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.460] { [13:14:10.460] inherits <- base::inherits [13:14:10.460] invokeRestart <- base::invokeRestart [13:14:10.460] is.null <- base::is.null [13:14:10.460] muffled <- FALSE [13:14:10.460] if (inherits(cond, "message")) { [13:14:10.460] muffled <- grepl(pattern, "muffleMessage") [13:14:10.460] if (muffled) [13:14:10.460] invokeRestart("muffleMessage") [13:14:10.460] } [13:14:10.460] else if (inherits(cond, "warning")) { [13:14:10.460] muffled <- grepl(pattern, "muffleWarning") [13:14:10.460] if (muffled) [13:14:10.460] invokeRestart("muffleWarning") [13:14:10.460] } [13:14:10.460] else if (inherits(cond, "condition")) { [13:14:10.460] if (!is.null(pattern)) { [13:14:10.460] computeRestarts <- base::computeRestarts [13:14:10.460] grepl <- base::grepl [13:14:10.460] restarts <- computeRestarts(cond) [13:14:10.460] for (restart in restarts) { [13:14:10.460] name <- restart$name [13:14:10.460] if (is.null(name)) [13:14:10.460] next [13:14:10.460] if (!grepl(pattern, name)) [13:14:10.460] next [13:14:10.460] invokeRestart(restart) [13:14:10.460] muffled <- TRUE [13:14:10.460] break [13:14:10.460] } [13:14:10.460] } [13:14:10.460] } [13:14:10.460] invisible(muffled) [13:14:10.460] } [13:14:10.460] muffleCondition(cond, pattern = "^muffle") [13:14:10.460] } [13:14:10.460] } [13:14:10.460] } [13:14:10.460] })) [13:14:10.460] }, error = function(ex) { [13:14:10.460] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.460] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.460] ...future.rng), started = ...future.startTime, [13:14:10.460] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.460] version = "1.8"), class = "FutureResult") [13:14:10.460] }, finally = { [13:14:10.460] if (!identical(...future.workdir, getwd())) [13:14:10.460] setwd(...future.workdir) [13:14:10.460] { [13:14:10.460] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.460] ...future.oldOptions$nwarnings <- NULL [13:14:10.460] } [13:14:10.460] base::options(...future.oldOptions) [13:14:10.460] if (.Platform$OS.type == "windows") { [13:14:10.460] old_names <- names(...future.oldEnvVars) [13:14:10.460] envs <- base::Sys.getenv() [13:14:10.460] names <- names(envs) [13:14:10.460] common <- intersect(names, old_names) [13:14:10.460] added <- setdiff(names, old_names) [13:14:10.460] removed <- setdiff(old_names, names) [13:14:10.460] changed <- common[...future.oldEnvVars[common] != [13:14:10.460] envs[common]] [13:14:10.460] NAMES <- toupper(changed) [13:14:10.460] args <- list() [13:14:10.460] for (kk in seq_along(NAMES)) { [13:14:10.460] name <- changed[[kk]] [13:14:10.460] NAME <- NAMES[[kk]] [13:14:10.460] if (name != NAME && is.element(NAME, old_names)) [13:14:10.460] next [13:14:10.460] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.460] } [13:14:10.460] NAMES <- toupper(added) [13:14:10.460] for (kk in seq_along(NAMES)) { [13:14:10.460] name <- added[[kk]] [13:14:10.460] NAME <- NAMES[[kk]] [13:14:10.460] if (name != NAME && is.element(NAME, old_names)) [13:14:10.460] next [13:14:10.460] args[[name]] <- "" [13:14:10.460] } [13:14:10.460] NAMES <- toupper(removed) [13:14:10.460] for (kk in seq_along(NAMES)) { [13:14:10.460] name <- removed[[kk]] [13:14:10.460] NAME <- NAMES[[kk]] [13:14:10.460] if (name != NAME && is.element(NAME, old_names)) [13:14:10.460] next [13:14:10.460] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.460] } [13:14:10.460] if (length(args) > 0) [13:14:10.460] base::do.call(base::Sys.setenv, args = args) [13:14:10.460] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.460] } [13:14:10.460] else { [13:14:10.460] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.460] } [13:14:10.460] { [13:14:10.460] if (base::length(...future.futureOptionsAdded) > [13:14:10.460] 0L) { [13:14:10.460] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.460] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.460] base::options(opts) [13:14:10.460] } [13:14:10.460] { [13:14:10.460] { [13:14:10.460] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.460] NULL [13:14:10.460] } [13:14:10.460] options(future.plan = NULL) [13:14:10.460] if (is.na(NA_character_)) [13:14:10.460] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.460] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.460] future::plan(list(function (..., workers = availableCores(), [13:14:10.460] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.460] envir = parent.frame()) [13:14:10.460] { [13:14:10.460] if (is.function(workers)) [13:14:10.460] workers <- workers() [13:14:10.460] workers <- structure(as.integer(workers), [13:14:10.460] class = class(workers)) [13:14:10.460] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.460] workers >= 1) [13:14:10.460] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.460] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.460] } [13:14:10.460] future <- MultisessionFuture(..., workers = workers, [13:14:10.460] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.460] envir = envir) [13:14:10.460] if (!future$lazy) [13:14:10.460] future <- run(future) [13:14:10.460] invisible(future) [13:14:10.460] }), .cleanup = FALSE, .init = FALSE) [13:14:10.460] } [13:14:10.460] } [13:14:10.460] } [13:14:10.460] }) [13:14:10.460] if (TRUE) { [13:14:10.460] base::sink(type = "output", split = FALSE) [13:14:10.460] if (TRUE) { [13:14:10.460] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.460] } [13:14:10.460] else { [13:14:10.460] ...future.result["stdout"] <- base::list(NULL) [13:14:10.460] } [13:14:10.460] base::close(...future.stdout) [13:14:10.460] ...future.stdout <- NULL [13:14:10.460] } [13:14:10.460] ...future.result$conditions <- ...future.conditions [13:14:10.460] ...future.result$finished <- base::Sys.time() [13:14:10.460] ...future.result [13:14:10.460] } [13:14:10.466] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:10.466] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:10.466] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:10.467] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.467] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.467] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:10.468] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:10.468] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.469] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.469] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.469] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.469] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:10.470] MultisessionFuture started [13:14:10.470] - Launch lazy future ... done [13:14:10.470] run() for 'MultisessionFuture' ... done [13:14:10.471] Created future: [13:14:10.488] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.488] - Validating connection of MultisessionFuture [13:14:10.488] - received message: FutureResult [13:14:10.489] - Received FutureResult [13:14:10.489] - Erased future from FutureRegistry [13:14:10.489] result() for ClusterFuture ... [13:14:10.489] - result already collected: FutureResult [13:14:10.489] result() for ClusterFuture ... done [13:14:10.489] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.471] MultisessionFuture: [13:14:10.471] Label: 'future_sapply-2' [13:14:10.471] Expression: [13:14:10.471] { [13:14:10.471] do.call(function(...) { [13:14:10.471] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.471] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.471] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.471] on.exit(options(oopts), add = TRUE) [13:14:10.471] } [13:14:10.471] { [13:14:10.471] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.471] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.471] ...future.FUN(...future.X_jj, ...) [13:14:10.471] }) [13:14:10.471] } [13:14:10.471] }, args = future.call.arguments) [13:14:10.471] } [13:14:10.471] Lazy evaluation: FALSE [13:14:10.471] Asynchronous evaluation: TRUE [13:14:10.471] Local evaluation: TRUE [13:14:10.471] Environment: R_GlobalEnv [13:14:10.471] Capture standard output: TRUE [13:14:10.471] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.471] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.471] Packages: [13:14:10.471] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.471] Resolved: TRUE [13:14:10.471] Value: [13:14:10.471] Conditions captured: [13:14:10.471] Early signaling: FALSE [13:14:10.471] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.471] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.490] Chunk #2 of 2 ... DONE [13:14:10.490] Launching 2 futures (chunks) ... DONE [13:14:10.490] Resolving 2 futures (chunks) ... [13:14:10.490] resolve() on list ... [13:14:10.490] recursive: 0 [13:14:10.491] length: 2 [13:14:10.491] [13:14:10.491] Future #1 [13:14:10.491] result() for ClusterFuture ... [13:14:10.491] - result already collected: FutureResult [13:14:10.491] result() for ClusterFuture ... done [13:14:10.492] result() for ClusterFuture ... [13:14:10.492] - result already collected: FutureResult [13:14:10.492] result() for ClusterFuture ... done [13:14:10.492] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:10.492] - nx: 2 [13:14:10.492] - relay: TRUE [13:14:10.492] - stdout: TRUE [13:14:10.493] - signal: TRUE [13:14:10.493] - resignal: FALSE [13:14:10.493] - force: TRUE [13:14:10.493] - relayed: [n=2] FALSE, FALSE [13:14:10.493] - queued futures: [n=2] FALSE, FALSE [13:14:10.493] - until=1 [13:14:10.494] - relaying element #1 [13:14:10.494] result() for ClusterFuture ... [13:14:10.494] - result already collected: FutureResult [13:14:10.494] result() for ClusterFuture ... done [13:14:10.494] result() for ClusterFuture ... [13:14:10.494] - result already collected: FutureResult [13:14:10.495] result() for ClusterFuture ... done [13:14:10.495] result() for ClusterFuture ... [13:14:10.495] - result already collected: FutureResult [13:14:10.495] result() for ClusterFuture ... done [13:14:10.495] result() for ClusterFuture ... [13:14:10.495] - result already collected: FutureResult [13:14:10.496] result() for ClusterFuture ... done [13:14:10.496] - relayed: [n=2] TRUE, FALSE [13:14:10.496] - queued futures: [n=2] TRUE, FALSE [13:14:10.496] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:10.496] length: 1 (resolved future 1) [13:14:10.496] Future #2 [13:14:10.497] result() for ClusterFuture ... [13:14:10.497] - result already collected: FutureResult [13:14:10.497] result() for ClusterFuture ... done [13:14:10.497] result() for ClusterFuture ... [13:14:10.497] - result already collected: FutureResult [13:14:10.497] result() for ClusterFuture ... done [13:14:10.498] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:10.498] - nx: 2 [13:14:10.498] - relay: TRUE [13:14:10.498] - stdout: TRUE [13:14:10.498] - signal: TRUE [13:14:10.498] - resignal: FALSE [13:14:10.498] - force: TRUE [13:14:10.499] - relayed: [n=2] TRUE, FALSE [13:14:10.499] - queued futures: [n=2] TRUE, FALSE [13:14:10.499] - until=2 [13:14:10.499] - relaying element #2 [13:14:10.499] result() for ClusterFuture ... [13:14:10.499] - result already collected: FutureResult [13:14:10.500] result() for ClusterFuture ... done [13:14:10.500] result() for ClusterFuture ... [13:14:10.500] - result already collected: FutureResult [13:14:10.500] result() for ClusterFuture ... done [13:14:10.500] result() for ClusterFuture ... [13:14:10.500] - result already collected: FutureResult [13:14:10.500] result() for ClusterFuture ... done [13:14:10.501] result() for ClusterFuture ... [13:14:10.501] - result already collected: FutureResult [13:14:10.501] result() for ClusterFuture ... done [13:14:10.501] - relayed: [n=2] TRUE, TRUE [13:14:10.501] - queued futures: [n=2] TRUE, TRUE [13:14:10.501] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:10.502] length: 0 (resolved future 2) [13:14:10.502] Relaying remaining futures [13:14:10.502] signalConditionsASAP(NULL, pos=0) ... [13:14:10.502] - nx: 2 [13:14:10.502] - relay: TRUE [13:14:10.503] - stdout: TRUE [13:14:10.503] - signal: TRUE [13:14:10.503] - resignal: FALSE [13:14:10.503] - force: TRUE [13:14:10.503] - relayed: [n=2] TRUE, TRUE [13:14:10.503] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:10.504] - relayed: [n=2] TRUE, TRUE [13:14:10.504] - queued futures: [n=2] TRUE, TRUE [13:14:10.504] signalConditionsASAP(NULL, pos=0) ... done [13:14:10.504] resolve() on list ... DONE [13:14:10.504] result() for ClusterFuture ... [13:14:10.504] - result already collected: FutureResult [13:14:10.504] result() for ClusterFuture ... done [13:14:10.505] result() for ClusterFuture ... [13:14:10.505] - result already collected: FutureResult [13:14:10.505] result() for ClusterFuture ... done [13:14:10.505] result() for ClusterFuture ... [13:14:10.505] - result already collected: FutureResult [13:14:10.505] result() for ClusterFuture ... done [13:14:10.506] result() for ClusterFuture ... [13:14:10.506] - result already collected: FutureResult [13:14:10.506] result() for ClusterFuture ... done [13:14:10.506] - Number of value chunks collected: 2 [13:14:10.506] Resolving 2 futures (chunks) ... DONE [13:14:10.506] Reducing values from 2 chunks ... [13:14:10.507] - Number of values collected after concatenation: 3 [13:14:10.507] - Number of values expected: 3 [13:14:10.507] Reducing values from 2 chunks ... DONE [13:14:10.507] future_lapply() ... DONE List of 2 $ y0: chr [1:3] "a" "b" "c" $ y1: chr [1:3] "a" "b" "c" [13:14:10.508] future_lapply() ... [13:14:10.511] Number of chunks: 2 [13:14:10.511] getGlobalsAndPackagesXApply() ... [13:14:10.511] - future.globals: TRUE [13:14:10.512] getGlobalsAndPackages() ... [13:14:10.512] Searching for globals... [13:14:10.513] - globals found: [1] 'FUN' [13:14:10.513] Searching for globals ... DONE [13:14:10.513] Resolving globals: FALSE [13:14:10.514] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:10.514] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:10.514] - globals: [1] 'FUN' [13:14:10.514] [13:14:10.515] getGlobalsAndPackages() ... DONE [13:14:10.515] - globals found/used: [n=1] 'FUN' [13:14:10.515] - needed namespaces: [n=0] [13:14:10.515] Finding globals ... DONE [13:14:10.515] - use_args: TRUE [13:14:10.515] - Getting '...' globals ... [13:14:10.516] resolve() on list ... [13:14:10.516] recursive: 0 [13:14:10.516] length: 1 [13:14:10.516] elements: '...' [13:14:10.516] length: 0 (resolved future 1) [13:14:10.517] resolve() on list ... DONE [13:14:10.517] - '...' content: [n=0] [13:14:10.517] List of 1 [13:14:10.517] $ ...: list() [13:14:10.517] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.517] - attr(*, "where")=List of 1 [13:14:10.517] ..$ ...: [13:14:10.517] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.517] - attr(*, "resolved")= logi TRUE [13:14:10.517] - attr(*, "total_size")= num NA [13:14:10.520] - Getting '...' globals ... DONE [13:14:10.520] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:10.520] List of 2 [13:14:10.520] $ ...future.FUN:function (x) [13:14:10.520] $ ... : list() [13:14:10.520] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.520] - attr(*, "where")=List of 2 [13:14:10.520] ..$ ...future.FUN: [13:14:10.520] ..$ ... : [13:14:10.520] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.520] - attr(*, "resolved")= logi FALSE [13:14:10.520] - attr(*, "total_size")= num 848 [13:14:10.524] Packages to be attached in all futures: [n=0] [13:14:10.524] getGlobalsAndPackagesXApply() ... DONE [13:14:10.524] Number of futures (= number of chunks): 2 [13:14:10.524] Launching 2 futures (chunks) ... [13:14:10.524] Chunk #1 of 2 ... [13:14:10.525] - Finding globals in 'X' for chunk #1 ... [13:14:10.525] getGlobalsAndPackages() ... [13:14:10.525] Searching for globals... [13:14:10.525] [13:14:10.525] Searching for globals ... DONE [13:14:10.526] - globals: [0] [13:14:10.526] getGlobalsAndPackages() ... DONE [13:14:10.526] + additional globals found: [n=0] [13:14:10.526] + additional namespaces needed: [n=0] [13:14:10.526] - Finding globals in 'X' for chunk #1 ... DONE [13:14:10.527] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.527] - seeds: [13:14:10.527] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.527] getGlobalsAndPackages() ... [13:14:10.527] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.528] Resolving globals: FALSE [13:14:10.528] Tweak future expression to call with '...' arguments ... [13:14:10.528] { [13:14:10.528] do.call(function(...) { [13:14:10.528] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.528] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.528] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.528] on.exit(options(oopts), add = TRUE) [13:14:10.528] } [13:14:10.528] { [13:14:10.528] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.528] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.528] ...future.FUN(...future.X_jj, ...) [13:14:10.528] }) [13:14:10.528] } [13:14:10.528] }, args = future.call.arguments) [13:14:10.528] } [13:14:10.528] Tweak future expression to call with '...' arguments ... DONE [13:14:10.529] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.529] [13:14:10.529] getGlobalsAndPackages() ... DONE [13:14:10.529] run() for 'Future' ... [13:14:10.530] - state: 'created' [13:14:10.530] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.544] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.545] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.545] - Field: 'node' [13:14:10.545] - Field: 'label' [13:14:10.545] - Field: 'local' [13:14:10.548] - Field: 'owner' [13:14:10.548] - Field: 'envir' [13:14:10.549] - Field: 'workers' [13:14:10.549] - Field: 'packages' [13:14:10.549] - Field: 'gc' [13:14:10.549] - Field: 'conditions' [13:14:10.550] - Field: 'persistent' [13:14:10.550] - Field: 'expr' [13:14:10.550] - Field: 'uuid' [13:14:10.550] - Field: 'seed' [13:14:10.550] - Field: 'version' [13:14:10.551] - Field: 'result' [13:14:10.551] - Field: 'asynchronous' [13:14:10.551] - Field: 'calls' [13:14:10.551] - Field: 'globals' [13:14:10.551] - Field: 'stdout' [13:14:10.552] - Field: 'earlySignal' [13:14:10.552] - Field: 'lazy' [13:14:10.552] - Field: 'state' [13:14:10.552] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.552] - Launch lazy future ... [13:14:10.553] Packages needed by the future expression (n = 0): [13:14:10.553] Packages needed by future strategies (n = 0): [13:14:10.553] { [13:14:10.553] { [13:14:10.553] { [13:14:10.553] ...future.startTime <- base::Sys.time() [13:14:10.553] { [13:14:10.553] { [13:14:10.553] { [13:14:10.553] { [13:14:10.553] base::local({ [13:14:10.553] has_future <- base::requireNamespace("future", [13:14:10.553] quietly = TRUE) [13:14:10.553] if (has_future) { [13:14:10.553] ns <- base::getNamespace("future") [13:14:10.553] version <- ns[[".package"]][["version"]] [13:14:10.553] if (is.null(version)) [13:14:10.553] version <- utils::packageVersion("future") [13:14:10.553] } [13:14:10.553] else { [13:14:10.553] version <- NULL [13:14:10.553] } [13:14:10.553] if (!has_future || version < "1.8.0") { [13:14:10.553] info <- base::c(r_version = base::gsub("R version ", [13:14:10.553] "", base::R.version$version.string), [13:14:10.553] platform = base::sprintf("%s (%s-bit)", [13:14:10.553] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.553] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.553] "release", "version")], collapse = " "), [13:14:10.553] hostname = base::Sys.info()[["nodename"]]) [13:14:10.553] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.553] info) [13:14:10.553] info <- base::paste(info, collapse = "; ") [13:14:10.553] if (!has_future) { [13:14:10.553] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.553] info) [13:14:10.553] } [13:14:10.553] else { [13:14:10.553] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.553] info, version) [13:14:10.553] } [13:14:10.553] base::stop(msg) [13:14:10.553] } [13:14:10.553] }) [13:14:10.553] } [13:14:10.553] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.553] base::options(mc.cores = 1L) [13:14:10.553] } [13:14:10.553] options(future.plan = NULL) [13:14:10.553] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.553] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.553] } [13:14:10.553] ...future.workdir <- getwd() [13:14:10.553] } [13:14:10.553] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.553] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.553] } [13:14:10.553] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.553] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.553] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.553] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.553] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.553] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.553] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.553] base::names(...future.oldOptions)) [13:14:10.553] } [13:14:10.553] if (FALSE) { [13:14:10.553] } [13:14:10.553] else { [13:14:10.553] if (TRUE) { [13:14:10.553] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.553] open = "w") [13:14:10.553] } [13:14:10.553] else { [13:14:10.553] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.553] windows = "NUL", "/dev/null"), open = "w") [13:14:10.553] } [13:14:10.553] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.553] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.553] base::sink(type = "output", split = FALSE) [13:14:10.553] base::close(...future.stdout) [13:14:10.553] }, add = TRUE) [13:14:10.553] } [13:14:10.553] ...future.frame <- base::sys.nframe() [13:14:10.553] ...future.conditions <- base::list() [13:14:10.553] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.553] if (FALSE) { [13:14:10.553] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.553] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.553] } [13:14:10.553] ...future.result <- base::tryCatch({ [13:14:10.553] base::withCallingHandlers({ [13:14:10.553] ...future.value <- base::withVisible(base::local({ [13:14:10.553] ...future.makeSendCondition <- local({ [13:14:10.553] sendCondition <- NULL [13:14:10.553] function(frame = 1L) { [13:14:10.553] if (is.function(sendCondition)) [13:14:10.553] return(sendCondition) [13:14:10.553] ns <- getNamespace("parallel") [13:14:10.553] if (exists("sendData", mode = "function", [13:14:10.553] envir = ns)) { [13:14:10.553] parallel_sendData <- get("sendData", mode = "function", [13:14:10.553] envir = ns) [13:14:10.553] envir <- sys.frame(frame) [13:14:10.553] master <- NULL [13:14:10.553] while (!identical(envir, .GlobalEnv) && [13:14:10.553] !identical(envir, emptyenv())) { [13:14:10.553] if (exists("master", mode = "list", envir = envir, [13:14:10.553] inherits = FALSE)) { [13:14:10.553] master <- get("master", mode = "list", [13:14:10.553] envir = envir, inherits = FALSE) [13:14:10.553] if (inherits(master, c("SOCKnode", [13:14:10.553] "SOCK0node"))) { [13:14:10.553] sendCondition <<- function(cond) { [13:14:10.553] data <- list(type = "VALUE", value = cond, [13:14:10.553] success = TRUE) [13:14:10.553] parallel_sendData(master, data) [13:14:10.553] } [13:14:10.553] return(sendCondition) [13:14:10.553] } [13:14:10.553] } [13:14:10.553] frame <- frame + 1L [13:14:10.553] envir <- sys.frame(frame) [13:14:10.553] } [13:14:10.553] } [13:14:10.553] sendCondition <<- function(cond) NULL [13:14:10.553] } [13:14:10.553] }) [13:14:10.553] withCallingHandlers({ [13:14:10.553] { [13:14:10.553] do.call(function(...) { [13:14:10.553] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.553] if (!identical(...future.globals.maxSize.org, [13:14:10.553] ...future.globals.maxSize)) { [13:14:10.553] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.553] on.exit(options(oopts), add = TRUE) [13:14:10.553] } [13:14:10.553] { [13:14:10.553] lapply(seq_along(...future.elements_ii), [13:14:10.553] FUN = function(jj) { [13:14:10.553] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.553] ...future.FUN(...future.X_jj, ...) [13:14:10.553] }) [13:14:10.553] } [13:14:10.553] }, args = future.call.arguments) [13:14:10.553] } [13:14:10.553] }, immediateCondition = function(cond) { [13:14:10.553] sendCondition <- ...future.makeSendCondition() [13:14:10.553] sendCondition(cond) [13:14:10.553] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.553] { [13:14:10.553] inherits <- base::inherits [13:14:10.553] invokeRestart <- base::invokeRestart [13:14:10.553] is.null <- base::is.null [13:14:10.553] muffled <- FALSE [13:14:10.553] if (inherits(cond, "message")) { [13:14:10.553] muffled <- grepl(pattern, "muffleMessage") [13:14:10.553] if (muffled) [13:14:10.553] invokeRestart("muffleMessage") [13:14:10.553] } [13:14:10.553] else if (inherits(cond, "warning")) { [13:14:10.553] muffled <- grepl(pattern, "muffleWarning") [13:14:10.553] if (muffled) [13:14:10.553] invokeRestart("muffleWarning") [13:14:10.553] } [13:14:10.553] else if (inherits(cond, "condition")) { [13:14:10.553] if (!is.null(pattern)) { [13:14:10.553] computeRestarts <- base::computeRestarts [13:14:10.553] grepl <- base::grepl [13:14:10.553] restarts <- computeRestarts(cond) [13:14:10.553] for (restart in restarts) { [13:14:10.553] name <- restart$name [13:14:10.553] if (is.null(name)) [13:14:10.553] next [13:14:10.553] if (!grepl(pattern, name)) [13:14:10.553] next [13:14:10.553] invokeRestart(restart) [13:14:10.553] muffled <- TRUE [13:14:10.553] break [13:14:10.553] } [13:14:10.553] } [13:14:10.553] } [13:14:10.553] invisible(muffled) [13:14:10.553] } [13:14:10.553] muffleCondition(cond) [13:14:10.553] }) [13:14:10.553] })) [13:14:10.553] future::FutureResult(value = ...future.value$value, [13:14:10.553] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.553] ...future.rng), globalenv = if (FALSE) [13:14:10.553] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.553] ...future.globalenv.names)) [13:14:10.553] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.553] }, condition = base::local({ [13:14:10.553] c <- base::c [13:14:10.553] inherits <- base::inherits [13:14:10.553] invokeRestart <- base::invokeRestart [13:14:10.553] length <- base::length [13:14:10.553] list <- base::list [13:14:10.553] seq.int <- base::seq.int [13:14:10.553] signalCondition <- base::signalCondition [13:14:10.553] sys.calls <- base::sys.calls [13:14:10.553] `[[` <- base::`[[` [13:14:10.553] `+` <- base::`+` [13:14:10.553] `<<-` <- base::`<<-` [13:14:10.553] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.553] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.553] 3L)] [13:14:10.553] } [13:14:10.553] function(cond) { [13:14:10.553] is_error <- inherits(cond, "error") [13:14:10.553] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.553] NULL) [13:14:10.553] if (is_error) { [13:14:10.553] sessionInformation <- function() { [13:14:10.553] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.553] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.553] search = base::search(), system = base::Sys.info()) [13:14:10.553] } [13:14:10.553] ...future.conditions[[length(...future.conditions) + [13:14:10.553] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.553] cond$call), session = sessionInformation(), [13:14:10.553] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.553] signalCondition(cond) [13:14:10.553] } [13:14:10.553] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.553] "immediateCondition"))) { [13:14:10.553] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.553] ...future.conditions[[length(...future.conditions) + [13:14:10.553] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.553] if (TRUE && !signal) { [13:14:10.553] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.553] { [13:14:10.553] inherits <- base::inherits [13:14:10.553] invokeRestart <- base::invokeRestart [13:14:10.553] is.null <- base::is.null [13:14:10.553] muffled <- FALSE [13:14:10.553] if (inherits(cond, "message")) { [13:14:10.553] muffled <- grepl(pattern, "muffleMessage") [13:14:10.553] if (muffled) [13:14:10.553] invokeRestart("muffleMessage") [13:14:10.553] } [13:14:10.553] else if (inherits(cond, "warning")) { [13:14:10.553] muffled <- grepl(pattern, "muffleWarning") [13:14:10.553] if (muffled) [13:14:10.553] invokeRestart("muffleWarning") [13:14:10.553] } [13:14:10.553] else if (inherits(cond, "condition")) { [13:14:10.553] if (!is.null(pattern)) { [13:14:10.553] computeRestarts <- base::computeRestarts [13:14:10.553] grepl <- base::grepl [13:14:10.553] restarts <- computeRestarts(cond) [13:14:10.553] for (restart in restarts) { [13:14:10.553] name <- restart$name [13:14:10.553] if (is.null(name)) [13:14:10.553] next [13:14:10.553] if (!grepl(pattern, name)) [13:14:10.553] next [13:14:10.553] invokeRestart(restart) [13:14:10.553] muffled <- TRUE [13:14:10.553] break [13:14:10.553] } [13:14:10.553] } [13:14:10.553] } [13:14:10.553] invisible(muffled) [13:14:10.553] } [13:14:10.553] muffleCondition(cond, pattern = "^muffle") [13:14:10.553] } [13:14:10.553] } [13:14:10.553] else { [13:14:10.553] if (TRUE) { [13:14:10.553] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.553] { [13:14:10.553] inherits <- base::inherits [13:14:10.553] invokeRestart <- base::invokeRestart [13:14:10.553] is.null <- base::is.null [13:14:10.553] muffled <- FALSE [13:14:10.553] if (inherits(cond, "message")) { [13:14:10.553] muffled <- grepl(pattern, "muffleMessage") [13:14:10.553] if (muffled) [13:14:10.553] invokeRestart("muffleMessage") [13:14:10.553] } [13:14:10.553] else if (inherits(cond, "warning")) { [13:14:10.553] muffled <- grepl(pattern, "muffleWarning") [13:14:10.553] if (muffled) [13:14:10.553] invokeRestart("muffleWarning") [13:14:10.553] } [13:14:10.553] else if (inherits(cond, "condition")) { [13:14:10.553] if (!is.null(pattern)) { [13:14:10.553] computeRestarts <- base::computeRestarts [13:14:10.553] grepl <- base::grepl [13:14:10.553] restarts <- computeRestarts(cond) [13:14:10.553] for (restart in restarts) { [13:14:10.553] name <- restart$name [13:14:10.553] if (is.null(name)) [13:14:10.553] next [13:14:10.553] if (!grepl(pattern, name)) [13:14:10.553] next [13:14:10.553] invokeRestart(restart) [13:14:10.553] muffled <- TRUE [13:14:10.553] break [13:14:10.553] } [13:14:10.553] } [13:14:10.553] } [13:14:10.553] invisible(muffled) [13:14:10.553] } [13:14:10.553] muffleCondition(cond, pattern = "^muffle") [13:14:10.553] } [13:14:10.553] } [13:14:10.553] } [13:14:10.553] })) [13:14:10.553] }, error = function(ex) { [13:14:10.553] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.553] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.553] ...future.rng), started = ...future.startTime, [13:14:10.553] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.553] version = "1.8"), class = "FutureResult") [13:14:10.553] }, finally = { [13:14:10.553] if (!identical(...future.workdir, getwd())) [13:14:10.553] setwd(...future.workdir) [13:14:10.553] { [13:14:10.553] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.553] ...future.oldOptions$nwarnings <- NULL [13:14:10.553] } [13:14:10.553] base::options(...future.oldOptions) [13:14:10.553] if (.Platform$OS.type == "windows") { [13:14:10.553] old_names <- names(...future.oldEnvVars) [13:14:10.553] envs <- base::Sys.getenv() [13:14:10.553] names <- names(envs) [13:14:10.553] common <- intersect(names, old_names) [13:14:10.553] added <- setdiff(names, old_names) [13:14:10.553] removed <- setdiff(old_names, names) [13:14:10.553] changed <- common[...future.oldEnvVars[common] != [13:14:10.553] envs[common]] [13:14:10.553] NAMES <- toupper(changed) [13:14:10.553] args <- list() [13:14:10.553] for (kk in seq_along(NAMES)) { [13:14:10.553] name <- changed[[kk]] [13:14:10.553] NAME <- NAMES[[kk]] [13:14:10.553] if (name != NAME && is.element(NAME, old_names)) [13:14:10.553] next [13:14:10.553] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.553] } [13:14:10.553] NAMES <- toupper(added) [13:14:10.553] for (kk in seq_along(NAMES)) { [13:14:10.553] name <- added[[kk]] [13:14:10.553] NAME <- NAMES[[kk]] [13:14:10.553] if (name != NAME && is.element(NAME, old_names)) [13:14:10.553] next [13:14:10.553] args[[name]] <- "" [13:14:10.553] } [13:14:10.553] NAMES <- toupper(removed) [13:14:10.553] for (kk in seq_along(NAMES)) { [13:14:10.553] name <- removed[[kk]] [13:14:10.553] NAME <- NAMES[[kk]] [13:14:10.553] if (name != NAME && is.element(NAME, old_names)) [13:14:10.553] next [13:14:10.553] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.553] } [13:14:10.553] if (length(args) > 0) [13:14:10.553] base::do.call(base::Sys.setenv, args = args) [13:14:10.553] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.553] } [13:14:10.553] else { [13:14:10.553] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.553] } [13:14:10.553] { [13:14:10.553] if (base::length(...future.futureOptionsAdded) > [13:14:10.553] 0L) { [13:14:10.553] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.553] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.553] base::options(opts) [13:14:10.553] } [13:14:10.553] { [13:14:10.553] { [13:14:10.553] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.553] NULL [13:14:10.553] } [13:14:10.553] options(future.plan = NULL) [13:14:10.553] if (is.na(NA_character_)) [13:14:10.553] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.553] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.553] future::plan(list(function (..., workers = availableCores(), [13:14:10.553] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.553] envir = parent.frame()) [13:14:10.553] { [13:14:10.553] if (is.function(workers)) [13:14:10.553] workers <- workers() [13:14:10.553] workers <- structure(as.integer(workers), [13:14:10.553] class = class(workers)) [13:14:10.553] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.553] workers >= 1) [13:14:10.553] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.553] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.553] } [13:14:10.553] future <- MultisessionFuture(..., workers = workers, [13:14:10.553] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.553] envir = envir) [13:14:10.553] if (!future$lazy) [13:14:10.553] future <- run(future) [13:14:10.553] invisible(future) [13:14:10.553] }), .cleanup = FALSE, .init = FALSE) [13:14:10.553] } [13:14:10.553] } [13:14:10.553] } [13:14:10.553] }) [13:14:10.553] if (TRUE) { [13:14:10.553] base::sink(type = "output", split = FALSE) [13:14:10.553] if (TRUE) { [13:14:10.553] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.553] } [13:14:10.553] else { [13:14:10.553] ...future.result["stdout"] <- base::list(NULL) [13:14:10.553] } [13:14:10.553] base::close(...future.stdout) [13:14:10.553] ...future.stdout <- NULL [13:14:10.553] } [13:14:10.553] ...future.result$conditions <- ...future.conditions [13:14:10.553] ...future.result$finished <- base::Sys.time() [13:14:10.553] ...future.result [13:14:10.553] } [13:14:10.559] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:10.559] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:10.560] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:10.560] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.560] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.561] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:10.561] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:10.561] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.562] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.562] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.562] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.563] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:10.563] MultisessionFuture started [13:14:10.563] - Launch lazy future ... done [13:14:10.564] run() for 'MultisessionFuture' ... done [13:14:10.564] Created future: [13:14:10.580] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.580] - Validating connection of MultisessionFuture [13:14:10.580] - received message: FutureResult [13:14:10.580] - Received FutureResult [13:14:10.581] - Erased future from FutureRegistry [13:14:10.581] result() for ClusterFuture ... [13:14:10.581] - result already collected: FutureResult [13:14:10.581] result() for ClusterFuture ... done [13:14:10.581] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.564] MultisessionFuture: [13:14:10.564] Label: 'future_sapply-1' [13:14:10.564] Expression: [13:14:10.564] { [13:14:10.564] do.call(function(...) { [13:14:10.564] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.564] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.564] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.564] on.exit(options(oopts), add = TRUE) [13:14:10.564] } [13:14:10.564] { [13:14:10.564] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.564] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.564] ...future.FUN(...future.X_jj, ...) [13:14:10.564] }) [13:14:10.564] } [13:14:10.564] }, args = future.call.arguments) [13:14:10.564] } [13:14:10.564] Lazy evaluation: FALSE [13:14:10.564] Asynchronous evaluation: TRUE [13:14:10.564] Local evaluation: TRUE [13:14:10.564] Environment: R_GlobalEnv [13:14:10.564] Capture standard output: TRUE [13:14:10.564] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.564] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.564] Packages: [13:14:10.564] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.564] Resolved: TRUE [13:14:10.564] Value: [13:14:10.564] Conditions captured: [13:14:10.564] Early signaling: FALSE [13:14:10.564] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.564] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.582] Chunk #1 of 2 ... DONE [13:14:10.582] Chunk #2 of 2 ... [13:14:10.582] - Finding globals in 'X' for chunk #2 ... [13:14:10.582] getGlobalsAndPackages() ... [13:14:10.582] Searching for globals... [13:14:10.583] [13:14:10.583] Searching for globals ... DONE [13:14:10.583] - globals: [0] [13:14:10.583] getGlobalsAndPackages() ... DONE [13:14:10.583] + additional globals found: [n=0] [13:14:10.583] + additional namespaces needed: [n=0] [13:14:10.584] - Finding globals in 'X' for chunk #2 ... DONE [13:14:10.584] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.584] - seeds: [13:14:10.584] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.584] getGlobalsAndPackages() ... [13:14:10.584] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.585] Resolving globals: FALSE [13:14:10.585] Tweak future expression to call with '...' arguments ... [13:14:10.585] { [13:14:10.585] do.call(function(...) { [13:14:10.585] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.585] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.585] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.585] on.exit(options(oopts), add = TRUE) [13:14:10.585] } [13:14:10.585] { [13:14:10.585] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.585] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.585] ...future.FUN(...future.X_jj, ...) [13:14:10.585] }) [13:14:10.585] } [13:14:10.585] }, args = future.call.arguments) [13:14:10.585] } [13:14:10.585] Tweak future expression to call with '...' arguments ... DONE [13:14:10.586] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.586] [13:14:10.586] getGlobalsAndPackages() ... DONE [13:14:10.586] run() for 'Future' ... [13:14:10.587] - state: 'created' [13:14:10.587] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.601] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.601] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.601] - Field: 'node' [13:14:10.601] - Field: 'label' [13:14:10.602] - Field: 'local' [13:14:10.602] - Field: 'owner' [13:14:10.602] - Field: 'envir' [13:14:10.602] - Field: 'workers' [13:14:10.602] - Field: 'packages' [13:14:10.602] - Field: 'gc' [13:14:10.603] - Field: 'conditions' [13:14:10.603] - Field: 'persistent' [13:14:10.603] - Field: 'expr' [13:14:10.603] - Field: 'uuid' [13:14:10.603] - Field: 'seed' [13:14:10.603] - Field: 'version' [13:14:10.604] - Field: 'result' [13:14:10.604] - Field: 'asynchronous' [13:14:10.604] - Field: 'calls' [13:14:10.604] - Field: 'globals' [13:14:10.604] - Field: 'stdout' [13:14:10.604] - Field: 'earlySignal' [13:14:10.605] - Field: 'lazy' [13:14:10.605] - Field: 'state' [13:14:10.605] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.605] - Launch lazy future ... [13:14:10.606] Packages needed by the future expression (n = 0): [13:14:10.606] Packages needed by future strategies (n = 0): [13:14:10.606] { [13:14:10.606] { [13:14:10.606] { [13:14:10.606] ...future.startTime <- base::Sys.time() [13:14:10.606] { [13:14:10.606] { [13:14:10.606] { [13:14:10.606] { [13:14:10.606] base::local({ [13:14:10.606] has_future <- base::requireNamespace("future", [13:14:10.606] quietly = TRUE) [13:14:10.606] if (has_future) { [13:14:10.606] ns <- base::getNamespace("future") [13:14:10.606] version <- ns[[".package"]][["version"]] [13:14:10.606] if (is.null(version)) [13:14:10.606] version <- utils::packageVersion("future") [13:14:10.606] } [13:14:10.606] else { [13:14:10.606] version <- NULL [13:14:10.606] } [13:14:10.606] if (!has_future || version < "1.8.0") { [13:14:10.606] info <- base::c(r_version = base::gsub("R version ", [13:14:10.606] "", base::R.version$version.string), [13:14:10.606] platform = base::sprintf("%s (%s-bit)", [13:14:10.606] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.606] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.606] "release", "version")], collapse = " "), [13:14:10.606] hostname = base::Sys.info()[["nodename"]]) [13:14:10.606] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.606] info) [13:14:10.606] info <- base::paste(info, collapse = "; ") [13:14:10.606] if (!has_future) { [13:14:10.606] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.606] info) [13:14:10.606] } [13:14:10.606] else { [13:14:10.606] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.606] info, version) [13:14:10.606] } [13:14:10.606] base::stop(msg) [13:14:10.606] } [13:14:10.606] }) [13:14:10.606] } [13:14:10.606] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.606] base::options(mc.cores = 1L) [13:14:10.606] } [13:14:10.606] options(future.plan = NULL) [13:14:10.606] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.606] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.606] } [13:14:10.606] ...future.workdir <- getwd() [13:14:10.606] } [13:14:10.606] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.606] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.606] } [13:14:10.606] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.606] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.606] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.606] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.606] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.606] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.606] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.606] base::names(...future.oldOptions)) [13:14:10.606] } [13:14:10.606] if (FALSE) { [13:14:10.606] } [13:14:10.606] else { [13:14:10.606] if (TRUE) { [13:14:10.606] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.606] open = "w") [13:14:10.606] } [13:14:10.606] else { [13:14:10.606] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.606] windows = "NUL", "/dev/null"), open = "w") [13:14:10.606] } [13:14:10.606] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.606] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.606] base::sink(type = "output", split = FALSE) [13:14:10.606] base::close(...future.stdout) [13:14:10.606] }, add = TRUE) [13:14:10.606] } [13:14:10.606] ...future.frame <- base::sys.nframe() [13:14:10.606] ...future.conditions <- base::list() [13:14:10.606] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.606] if (FALSE) { [13:14:10.606] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.606] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.606] } [13:14:10.606] ...future.result <- base::tryCatch({ [13:14:10.606] base::withCallingHandlers({ [13:14:10.606] ...future.value <- base::withVisible(base::local({ [13:14:10.606] ...future.makeSendCondition <- local({ [13:14:10.606] sendCondition <- NULL [13:14:10.606] function(frame = 1L) { [13:14:10.606] if (is.function(sendCondition)) [13:14:10.606] return(sendCondition) [13:14:10.606] ns <- getNamespace("parallel") [13:14:10.606] if (exists("sendData", mode = "function", [13:14:10.606] envir = ns)) { [13:14:10.606] parallel_sendData <- get("sendData", mode = "function", [13:14:10.606] envir = ns) [13:14:10.606] envir <- sys.frame(frame) [13:14:10.606] master <- NULL [13:14:10.606] while (!identical(envir, .GlobalEnv) && [13:14:10.606] !identical(envir, emptyenv())) { [13:14:10.606] if (exists("master", mode = "list", envir = envir, [13:14:10.606] inherits = FALSE)) { [13:14:10.606] master <- get("master", mode = "list", [13:14:10.606] envir = envir, inherits = FALSE) [13:14:10.606] if (inherits(master, c("SOCKnode", [13:14:10.606] "SOCK0node"))) { [13:14:10.606] sendCondition <<- function(cond) { [13:14:10.606] data <- list(type = "VALUE", value = cond, [13:14:10.606] success = TRUE) [13:14:10.606] parallel_sendData(master, data) [13:14:10.606] } [13:14:10.606] return(sendCondition) [13:14:10.606] } [13:14:10.606] } [13:14:10.606] frame <- frame + 1L [13:14:10.606] envir <- sys.frame(frame) [13:14:10.606] } [13:14:10.606] } [13:14:10.606] sendCondition <<- function(cond) NULL [13:14:10.606] } [13:14:10.606] }) [13:14:10.606] withCallingHandlers({ [13:14:10.606] { [13:14:10.606] do.call(function(...) { [13:14:10.606] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.606] if (!identical(...future.globals.maxSize.org, [13:14:10.606] ...future.globals.maxSize)) { [13:14:10.606] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.606] on.exit(options(oopts), add = TRUE) [13:14:10.606] } [13:14:10.606] { [13:14:10.606] lapply(seq_along(...future.elements_ii), [13:14:10.606] FUN = function(jj) { [13:14:10.606] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.606] ...future.FUN(...future.X_jj, ...) [13:14:10.606] }) [13:14:10.606] } [13:14:10.606] }, args = future.call.arguments) [13:14:10.606] } [13:14:10.606] }, immediateCondition = function(cond) { [13:14:10.606] sendCondition <- ...future.makeSendCondition() [13:14:10.606] sendCondition(cond) [13:14:10.606] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.606] { [13:14:10.606] inherits <- base::inherits [13:14:10.606] invokeRestart <- base::invokeRestart [13:14:10.606] is.null <- base::is.null [13:14:10.606] muffled <- FALSE [13:14:10.606] if (inherits(cond, "message")) { [13:14:10.606] muffled <- grepl(pattern, "muffleMessage") [13:14:10.606] if (muffled) [13:14:10.606] invokeRestart("muffleMessage") [13:14:10.606] } [13:14:10.606] else if (inherits(cond, "warning")) { [13:14:10.606] muffled <- grepl(pattern, "muffleWarning") [13:14:10.606] if (muffled) [13:14:10.606] invokeRestart("muffleWarning") [13:14:10.606] } [13:14:10.606] else if (inherits(cond, "condition")) { [13:14:10.606] if (!is.null(pattern)) { [13:14:10.606] computeRestarts <- base::computeRestarts [13:14:10.606] grepl <- base::grepl [13:14:10.606] restarts <- computeRestarts(cond) [13:14:10.606] for (restart in restarts) { [13:14:10.606] name <- restart$name [13:14:10.606] if (is.null(name)) [13:14:10.606] next [13:14:10.606] if (!grepl(pattern, name)) [13:14:10.606] next [13:14:10.606] invokeRestart(restart) [13:14:10.606] muffled <- TRUE [13:14:10.606] break [13:14:10.606] } [13:14:10.606] } [13:14:10.606] } [13:14:10.606] invisible(muffled) [13:14:10.606] } [13:14:10.606] muffleCondition(cond) [13:14:10.606] }) [13:14:10.606] })) [13:14:10.606] future::FutureResult(value = ...future.value$value, [13:14:10.606] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.606] ...future.rng), globalenv = if (FALSE) [13:14:10.606] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.606] ...future.globalenv.names)) [13:14:10.606] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.606] }, condition = base::local({ [13:14:10.606] c <- base::c [13:14:10.606] inherits <- base::inherits [13:14:10.606] invokeRestart <- base::invokeRestart [13:14:10.606] length <- base::length [13:14:10.606] list <- base::list [13:14:10.606] seq.int <- base::seq.int [13:14:10.606] signalCondition <- base::signalCondition [13:14:10.606] sys.calls <- base::sys.calls [13:14:10.606] `[[` <- base::`[[` [13:14:10.606] `+` <- base::`+` [13:14:10.606] `<<-` <- base::`<<-` [13:14:10.606] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.606] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.606] 3L)] [13:14:10.606] } [13:14:10.606] function(cond) { [13:14:10.606] is_error <- inherits(cond, "error") [13:14:10.606] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.606] NULL) [13:14:10.606] if (is_error) { [13:14:10.606] sessionInformation <- function() { [13:14:10.606] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.606] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.606] search = base::search(), system = base::Sys.info()) [13:14:10.606] } [13:14:10.606] ...future.conditions[[length(...future.conditions) + [13:14:10.606] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.606] cond$call), session = sessionInformation(), [13:14:10.606] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.606] signalCondition(cond) [13:14:10.606] } [13:14:10.606] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.606] "immediateCondition"))) { [13:14:10.606] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.606] ...future.conditions[[length(...future.conditions) + [13:14:10.606] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.606] if (TRUE && !signal) { [13:14:10.606] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.606] { [13:14:10.606] inherits <- base::inherits [13:14:10.606] invokeRestart <- base::invokeRestart [13:14:10.606] is.null <- base::is.null [13:14:10.606] muffled <- FALSE [13:14:10.606] if (inherits(cond, "message")) { [13:14:10.606] muffled <- grepl(pattern, "muffleMessage") [13:14:10.606] if (muffled) [13:14:10.606] invokeRestart("muffleMessage") [13:14:10.606] } [13:14:10.606] else if (inherits(cond, "warning")) { [13:14:10.606] muffled <- grepl(pattern, "muffleWarning") [13:14:10.606] if (muffled) [13:14:10.606] invokeRestart("muffleWarning") [13:14:10.606] } [13:14:10.606] else if (inherits(cond, "condition")) { [13:14:10.606] if (!is.null(pattern)) { [13:14:10.606] computeRestarts <- base::computeRestarts [13:14:10.606] grepl <- base::grepl [13:14:10.606] restarts <- computeRestarts(cond) [13:14:10.606] for (restart in restarts) { [13:14:10.606] name <- restart$name [13:14:10.606] if (is.null(name)) [13:14:10.606] next [13:14:10.606] if (!grepl(pattern, name)) [13:14:10.606] next [13:14:10.606] invokeRestart(restart) [13:14:10.606] muffled <- TRUE [13:14:10.606] break [13:14:10.606] } [13:14:10.606] } [13:14:10.606] } [13:14:10.606] invisible(muffled) [13:14:10.606] } [13:14:10.606] muffleCondition(cond, pattern = "^muffle") [13:14:10.606] } [13:14:10.606] } [13:14:10.606] else { [13:14:10.606] if (TRUE) { [13:14:10.606] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.606] { [13:14:10.606] inherits <- base::inherits [13:14:10.606] invokeRestart <- base::invokeRestart [13:14:10.606] is.null <- base::is.null [13:14:10.606] muffled <- FALSE [13:14:10.606] if (inherits(cond, "message")) { [13:14:10.606] muffled <- grepl(pattern, "muffleMessage") [13:14:10.606] if (muffled) [13:14:10.606] invokeRestart("muffleMessage") [13:14:10.606] } [13:14:10.606] else if (inherits(cond, "warning")) { [13:14:10.606] muffled <- grepl(pattern, "muffleWarning") [13:14:10.606] if (muffled) [13:14:10.606] invokeRestart("muffleWarning") [13:14:10.606] } [13:14:10.606] else if (inherits(cond, "condition")) { [13:14:10.606] if (!is.null(pattern)) { [13:14:10.606] computeRestarts <- base::computeRestarts [13:14:10.606] grepl <- base::grepl [13:14:10.606] restarts <- computeRestarts(cond) [13:14:10.606] for (restart in restarts) { [13:14:10.606] name <- restart$name [13:14:10.606] if (is.null(name)) [13:14:10.606] next [13:14:10.606] if (!grepl(pattern, name)) [13:14:10.606] next [13:14:10.606] invokeRestart(restart) [13:14:10.606] muffled <- TRUE [13:14:10.606] break [13:14:10.606] } [13:14:10.606] } [13:14:10.606] } [13:14:10.606] invisible(muffled) [13:14:10.606] } [13:14:10.606] muffleCondition(cond, pattern = "^muffle") [13:14:10.606] } [13:14:10.606] } [13:14:10.606] } [13:14:10.606] })) [13:14:10.606] }, error = function(ex) { [13:14:10.606] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.606] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.606] ...future.rng), started = ...future.startTime, [13:14:10.606] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.606] version = "1.8"), class = "FutureResult") [13:14:10.606] }, finally = { [13:14:10.606] if (!identical(...future.workdir, getwd())) [13:14:10.606] setwd(...future.workdir) [13:14:10.606] { [13:14:10.606] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.606] ...future.oldOptions$nwarnings <- NULL [13:14:10.606] } [13:14:10.606] base::options(...future.oldOptions) [13:14:10.606] if (.Platform$OS.type == "windows") { [13:14:10.606] old_names <- names(...future.oldEnvVars) [13:14:10.606] envs <- base::Sys.getenv() [13:14:10.606] names <- names(envs) [13:14:10.606] common <- intersect(names, old_names) [13:14:10.606] added <- setdiff(names, old_names) [13:14:10.606] removed <- setdiff(old_names, names) [13:14:10.606] changed <- common[...future.oldEnvVars[common] != [13:14:10.606] envs[common]] [13:14:10.606] NAMES <- toupper(changed) [13:14:10.606] args <- list() [13:14:10.606] for (kk in seq_along(NAMES)) { [13:14:10.606] name <- changed[[kk]] [13:14:10.606] NAME <- NAMES[[kk]] [13:14:10.606] if (name != NAME && is.element(NAME, old_names)) [13:14:10.606] next [13:14:10.606] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.606] } [13:14:10.606] NAMES <- toupper(added) [13:14:10.606] for (kk in seq_along(NAMES)) { [13:14:10.606] name <- added[[kk]] [13:14:10.606] NAME <- NAMES[[kk]] [13:14:10.606] if (name != NAME && is.element(NAME, old_names)) [13:14:10.606] next [13:14:10.606] args[[name]] <- "" [13:14:10.606] } [13:14:10.606] NAMES <- toupper(removed) [13:14:10.606] for (kk in seq_along(NAMES)) { [13:14:10.606] name <- removed[[kk]] [13:14:10.606] NAME <- NAMES[[kk]] [13:14:10.606] if (name != NAME && is.element(NAME, old_names)) [13:14:10.606] next [13:14:10.606] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.606] } [13:14:10.606] if (length(args) > 0) [13:14:10.606] base::do.call(base::Sys.setenv, args = args) [13:14:10.606] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.606] } [13:14:10.606] else { [13:14:10.606] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.606] } [13:14:10.606] { [13:14:10.606] if (base::length(...future.futureOptionsAdded) > [13:14:10.606] 0L) { [13:14:10.606] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.606] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.606] base::options(opts) [13:14:10.606] } [13:14:10.606] { [13:14:10.606] { [13:14:10.606] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.606] NULL [13:14:10.606] } [13:14:10.606] options(future.plan = NULL) [13:14:10.606] if (is.na(NA_character_)) [13:14:10.606] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.606] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.606] future::plan(list(function (..., workers = availableCores(), [13:14:10.606] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.606] envir = parent.frame()) [13:14:10.606] { [13:14:10.606] if (is.function(workers)) [13:14:10.606] workers <- workers() [13:14:10.606] workers <- structure(as.integer(workers), [13:14:10.606] class = class(workers)) [13:14:10.606] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.606] workers >= 1) [13:14:10.606] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.606] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.606] } [13:14:10.606] future <- MultisessionFuture(..., workers = workers, [13:14:10.606] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.606] envir = envir) [13:14:10.606] if (!future$lazy) [13:14:10.606] future <- run(future) [13:14:10.606] invisible(future) [13:14:10.606] }), .cleanup = FALSE, .init = FALSE) [13:14:10.606] } [13:14:10.606] } [13:14:10.606] } [13:14:10.606] }) [13:14:10.606] if (TRUE) { [13:14:10.606] base::sink(type = "output", split = FALSE) [13:14:10.606] if (TRUE) { [13:14:10.606] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.606] } [13:14:10.606] else { [13:14:10.606] ...future.result["stdout"] <- base::list(NULL) [13:14:10.606] } [13:14:10.606] base::close(...future.stdout) [13:14:10.606] ...future.stdout <- NULL [13:14:10.606] } [13:14:10.606] ...future.result$conditions <- ...future.conditions [13:14:10.606] ...future.result$finished <- base::Sys.time() [13:14:10.606] ...future.result [13:14:10.606] } [13:14:10.612] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:10.612] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:10.612] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:10.613] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.613] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.613] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:10.614] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:10.614] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.614] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.614] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.615] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.615] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:10.616] MultisessionFuture started [13:14:10.616] - Launch lazy future ... done [13:14:10.616] run() for 'MultisessionFuture' ... done [13:14:10.616] Created future: [13:14:10.631] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.632] - Validating connection of MultisessionFuture [13:14:10.632] - received message: FutureResult [13:14:10.632] - Received FutureResult [13:14:10.632] - Erased future from FutureRegistry [13:14:10.632] result() for ClusterFuture ... [13:14:10.633] - result already collected: FutureResult [13:14:10.633] result() for ClusterFuture ... done [13:14:10.633] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.616] MultisessionFuture: [13:14:10.616] Label: 'future_sapply-2' [13:14:10.616] Expression: [13:14:10.616] { [13:14:10.616] do.call(function(...) { [13:14:10.616] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.616] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.616] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.616] on.exit(options(oopts), add = TRUE) [13:14:10.616] } [13:14:10.616] { [13:14:10.616] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.616] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.616] ...future.FUN(...future.X_jj, ...) [13:14:10.616] }) [13:14:10.616] } [13:14:10.616] }, args = future.call.arguments) [13:14:10.616] } [13:14:10.616] Lazy evaluation: FALSE [13:14:10.616] Asynchronous evaluation: TRUE [13:14:10.616] Local evaluation: TRUE [13:14:10.616] Environment: R_GlobalEnv [13:14:10.616] Capture standard output: TRUE [13:14:10.616] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.616] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.616] Packages: [13:14:10.616] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.616] Resolved: TRUE [13:14:10.616] Value: [13:14:10.616] Conditions captured: [13:14:10.616] Early signaling: FALSE [13:14:10.616] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.616] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.633] Chunk #2 of 2 ... DONE [13:14:10.634] Launching 2 futures (chunks) ... DONE [13:14:10.634] Resolving 2 futures (chunks) ... [13:14:10.634] resolve() on list ... [13:14:10.634] recursive: 0 [13:14:10.634] length: 2 [13:14:10.634] [13:14:10.634] Future #1 [13:14:10.635] result() for ClusterFuture ... [13:14:10.635] - result already collected: FutureResult [13:14:10.635] result() for ClusterFuture ... done [13:14:10.635] result() for ClusterFuture ... [13:14:10.635] - result already collected: FutureResult [13:14:10.635] result() for ClusterFuture ... done [13:14:10.636] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:10.636] - nx: 2 [13:14:10.636] - relay: TRUE [13:14:10.636] - stdout: TRUE [13:14:10.636] - signal: TRUE [13:14:10.636] - resignal: FALSE [13:14:10.637] - force: TRUE [13:14:10.637] - relayed: [n=2] FALSE, FALSE [13:14:10.637] - queued futures: [n=2] FALSE, FALSE [13:14:10.637] - until=1 [13:14:10.637] - relaying element #1 [13:14:10.637] result() for ClusterFuture ... [13:14:10.637] - result already collected: FutureResult [13:14:10.638] result() for ClusterFuture ... done [13:14:10.638] result() for ClusterFuture ... [13:14:10.638] - result already collected: FutureResult [13:14:10.638] result() for ClusterFuture ... done [13:14:10.638] result() for ClusterFuture ... [13:14:10.638] - result already collected: FutureResult [13:14:10.639] result() for ClusterFuture ... done [13:14:10.639] result() for ClusterFuture ... [13:14:10.639] - result already collected: FutureResult [13:14:10.639] result() for ClusterFuture ... done [13:14:10.639] - relayed: [n=2] TRUE, FALSE [13:14:10.639] - queued futures: [n=2] TRUE, FALSE [13:14:10.640] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:10.640] length: 1 (resolved future 1) [13:14:10.640] Future #2 [13:14:10.640] result() for ClusterFuture ... [13:14:10.640] - result already collected: FutureResult [13:14:10.640] result() for ClusterFuture ... done [13:14:10.641] result() for ClusterFuture ... [13:14:10.641] - result already collected: FutureResult [13:14:10.641] result() for ClusterFuture ... done [13:14:10.641] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:10.641] - nx: 2 [13:14:10.641] - relay: TRUE [13:14:10.641] - stdout: TRUE [13:14:10.642] - signal: TRUE [13:14:10.642] - resignal: FALSE [13:14:10.642] - force: TRUE [13:14:10.642] - relayed: [n=2] TRUE, FALSE [13:14:10.642] - queued futures: [n=2] TRUE, FALSE [13:14:10.642] - until=2 [13:14:10.643] - relaying element #2 [13:14:10.643] result() for ClusterFuture ... [13:14:10.643] - result already collected: FutureResult [13:14:10.643] result() for ClusterFuture ... done [13:14:10.643] result() for ClusterFuture ... [13:14:10.643] - result already collected: FutureResult [13:14:10.643] result() for ClusterFuture ... done [13:14:10.644] result() for ClusterFuture ... [13:14:10.644] - result already collected: FutureResult [13:14:10.644] result() for ClusterFuture ... done [13:14:10.644] result() for ClusterFuture ... [13:14:10.644] - result already collected: FutureResult [13:14:10.644] result() for ClusterFuture ... done [13:14:10.645] - relayed: [n=2] TRUE, TRUE [13:14:10.645] - queued futures: [n=2] TRUE, TRUE [13:14:10.645] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:10.645] length: 0 (resolved future 2) [13:14:10.645] Relaying remaining futures [13:14:10.645] signalConditionsASAP(NULL, pos=0) ... [13:14:10.646] - nx: 2 [13:14:10.646] - relay: TRUE [13:14:10.646] - stdout: TRUE [13:14:10.646] - signal: TRUE [13:14:10.646] - resignal: FALSE [13:14:10.646] - force: TRUE [13:14:10.646] - relayed: [n=2] TRUE, TRUE [13:14:10.647] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:10.647] - relayed: [n=2] TRUE, TRUE [13:14:10.647] - queued futures: [n=2] TRUE, TRUE [13:14:10.647] signalConditionsASAP(NULL, pos=0) ... done [13:14:10.647] resolve() on list ... DONE [13:14:10.648] result() for ClusterFuture ... [13:14:10.648] - result already collected: FutureResult [13:14:10.648] result() for ClusterFuture ... done [13:14:10.648] result() for ClusterFuture ... [13:14:10.648] - result already collected: FutureResult [13:14:10.648] result() for ClusterFuture ... done [13:14:10.648] result() for ClusterFuture ... [13:14:10.649] - result already collected: FutureResult [13:14:10.649] result() for ClusterFuture ... done [13:14:10.649] result() for ClusterFuture ... [13:14:10.649] - result already collected: FutureResult [13:14:10.649] result() for ClusterFuture ... done [13:14:10.649] - Number of value chunks collected: 2 [13:14:10.650] Resolving 2 futures (chunks) ... DONE [13:14:10.650] Reducing values from 2 chunks ... [13:14:10.650] - Number of values collected after concatenation: 3 [13:14:10.650] - Number of values expected: 3 [13:14:10.650] Reducing values from 2 chunks ... DONE [13:14:10.650] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: chr "a" ..$ b: chr "b" ..$ c: chr "c" $ y1:List of 3 ..$ a: chr "a" ..$ b: chr "b" ..$ c: chr "c" List of 2 $ y0:List of 3 ..$ a: chr "a" ..$ b: chr "b" ..$ c: chr "c" $ y2:List of 3 ..$ : chr "a" ..$ : chr "b" ..$ : chr "c" [13:14:10.656] future_lapply() ... [13:14:10.659] Number of chunks: 2 [13:14:10.659] getGlobalsAndPackagesXApply() ... [13:14:10.659] - future.globals: TRUE [13:14:10.659] getGlobalsAndPackages() ... [13:14:10.659] Searching for globals... [13:14:10.661] - globals found: [2] 'FUN', 'UseMethod' [13:14:10.661] Searching for globals ... DONE [13:14:10.661] Resolving globals: FALSE [13:14:10.662] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:10.662] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:10.662] - globals: [1] 'FUN' [13:14:10.662] [13:14:10.662] getGlobalsAndPackages() ... DONE [13:14:10.663] - globals found/used: [n=1] 'FUN' [13:14:10.663] - needed namespaces: [n=0] [13:14:10.663] Finding globals ... DONE [13:14:10.663] - use_args: TRUE [13:14:10.663] - Getting '...' globals ... [13:14:10.664] resolve() on list ... [13:14:10.664] recursive: 0 [13:14:10.664] length: 1 [13:14:10.664] elements: '...' [13:14:10.664] length: 0 (resolved future 1) [13:14:10.665] resolve() on list ... DONE [13:14:10.665] - '...' content: [n=0] [13:14:10.665] List of 1 [13:14:10.665] $ ...: list() [13:14:10.665] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.665] - attr(*, "where")=List of 1 [13:14:10.665] ..$ ...: [13:14:10.665] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.665] - attr(*, "resolved")= logi TRUE [13:14:10.665] - attr(*, "total_size")= num NA [13:14:10.668] - Getting '...' globals ... DONE [13:14:10.668] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:10.668] List of 2 [13:14:10.668] $ ...future.FUN:function (x, ...) [13:14:10.668] $ ... : list() [13:14:10.668] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.668] - attr(*, "where")=List of 2 [13:14:10.668] ..$ ...future.FUN: [13:14:10.668] ..$ ... : [13:14:10.668] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.668] - attr(*, "resolved")= logi FALSE [13:14:10.668] - attr(*, "total_size")= num 1248 [13:14:10.672] Packages to be attached in all futures: [n=0] [13:14:10.672] getGlobalsAndPackagesXApply() ... DONE [13:14:10.672] Number of futures (= number of chunks): 2 [13:14:10.672] Launching 2 futures (chunks) ... [13:14:10.672] Chunk #1 of 2 ... [13:14:10.673] - Finding globals in 'X' for chunk #1 ... [13:14:10.673] getGlobalsAndPackages() ... [13:14:10.673] Searching for globals... [13:14:10.673] [13:14:10.673] Searching for globals ... DONE [13:14:10.674] - globals: [0] [13:14:10.674] getGlobalsAndPackages() ... DONE [13:14:10.674] + additional globals found: [n=0] [13:14:10.674] + additional namespaces needed: [n=0] [13:14:10.674] - Finding globals in 'X' for chunk #1 ... DONE [13:14:10.674] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.675] - seeds: [13:14:10.675] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.675] getGlobalsAndPackages() ... [13:14:10.675] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.675] Resolving globals: FALSE [13:14:10.676] Tweak future expression to call with '...' arguments ... [13:14:10.676] { [13:14:10.676] do.call(function(...) { [13:14:10.676] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.676] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.676] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.676] on.exit(options(oopts), add = TRUE) [13:14:10.676] } [13:14:10.676] { [13:14:10.676] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.676] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.676] ...future.FUN(...future.X_jj, ...) [13:14:10.676] }) [13:14:10.676] } [13:14:10.676] }, args = future.call.arguments) [13:14:10.676] } [13:14:10.676] Tweak future expression to call with '...' arguments ... DONE [13:14:10.677] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.677] [13:14:10.677] getGlobalsAndPackages() ... DONE [13:14:10.677] run() for 'Future' ... [13:14:10.678] - state: 'created' [13:14:10.678] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.692] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.693] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.693] - Field: 'node' [13:14:10.693] - Field: 'label' [13:14:10.693] - Field: 'local' [13:14:10.693] - Field: 'owner' [13:14:10.694] - Field: 'envir' [13:14:10.694] - Field: 'workers' [13:14:10.694] - Field: 'packages' [13:14:10.694] - Field: 'gc' [13:14:10.694] - Field: 'conditions' [13:14:10.694] - Field: 'persistent' [13:14:10.695] - Field: 'expr' [13:14:10.695] - Field: 'uuid' [13:14:10.695] - Field: 'seed' [13:14:10.695] - Field: 'version' [13:14:10.695] - Field: 'result' [13:14:10.695] - Field: 'asynchronous' [13:14:10.696] - Field: 'calls' [13:14:10.696] - Field: 'globals' [13:14:10.696] - Field: 'stdout' [13:14:10.696] - Field: 'earlySignal' [13:14:10.696] - Field: 'lazy' [13:14:10.697] - Field: 'state' [13:14:10.697] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.697] - Launch lazy future ... [13:14:10.697] Packages needed by the future expression (n = 0): [13:14:10.697] Packages needed by future strategies (n = 0): [13:14:10.698] { [13:14:10.698] { [13:14:10.698] { [13:14:10.698] ...future.startTime <- base::Sys.time() [13:14:10.698] { [13:14:10.698] { [13:14:10.698] { [13:14:10.698] { [13:14:10.698] base::local({ [13:14:10.698] has_future <- base::requireNamespace("future", [13:14:10.698] quietly = TRUE) [13:14:10.698] if (has_future) { [13:14:10.698] ns <- base::getNamespace("future") [13:14:10.698] version <- ns[[".package"]][["version"]] [13:14:10.698] if (is.null(version)) [13:14:10.698] version <- utils::packageVersion("future") [13:14:10.698] } [13:14:10.698] else { [13:14:10.698] version <- NULL [13:14:10.698] } [13:14:10.698] if (!has_future || version < "1.8.0") { [13:14:10.698] info <- base::c(r_version = base::gsub("R version ", [13:14:10.698] "", base::R.version$version.string), [13:14:10.698] platform = base::sprintf("%s (%s-bit)", [13:14:10.698] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.698] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.698] "release", "version")], collapse = " "), [13:14:10.698] hostname = base::Sys.info()[["nodename"]]) [13:14:10.698] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.698] info) [13:14:10.698] info <- base::paste(info, collapse = "; ") [13:14:10.698] if (!has_future) { [13:14:10.698] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.698] info) [13:14:10.698] } [13:14:10.698] else { [13:14:10.698] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.698] info, version) [13:14:10.698] } [13:14:10.698] base::stop(msg) [13:14:10.698] } [13:14:10.698] }) [13:14:10.698] } [13:14:10.698] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.698] base::options(mc.cores = 1L) [13:14:10.698] } [13:14:10.698] options(future.plan = NULL) [13:14:10.698] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.698] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.698] } [13:14:10.698] ...future.workdir <- getwd() [13:14:10.698] } [13:14:10.698] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.698] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.698] } [13:14:10.698] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.698] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.698] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.698] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.698] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.698] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.698] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.698] base::names(...future.oldOptions)) [13:14:10.698] } [13:14:10.698] if (FALSE) { [13:14:10.698] } [13:14:10.698] else { [13:14:10.698] if (TRUE) { [13:14:10.698] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.698] open = "w") [13:14:10.698] } [13:14:10.698] else { [13:14:10.698] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.698] windows = "NUL", "/dev/null"), open = "w") [13:14:10.698] } [13:14:10.698] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.698] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.698] base::sink(type = "output", split = FALSE) [13:14:10.698] base::close(...future.stdout) [13:14:10.698] }, add = TRUE) [13:14:10.698] } [13:14:10.698] ...future.frame <- base::sys.nframe() [13:14:10.698] ...future.conditions <- base::list() [13:14:10.698] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.698] if (FALSE) { [13:14:10.698] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.698] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.698] } [13:14:10.698] ...future.result <- base::tryCatch({ [13:14:10.698] base::withCallingHandlers({ [13:14:10.698] ...future.value <- base::withVisible(base::local({ [13:14:10.698] ...future.makeSendCondition <- local({ [13:14:10.698] sendCondition <- NULL [13:14:10.698] function(frame = 1L) { [13:14:10.698] if (is.function(sendCondition)) [13:14:10.698] return(sendCondition) [13:14:10.698] ns <- getNamespace("parallel") [13:14:10.698] if (exists("sendData", mode = "function", [13:14:10.698] envir = ns)) { [13:14:10.698] parallel_sendData <- get("sendData", mode = "function", [13:14:10.698] envir = ns) [13:14:10.698] envir <- sys.frame(frame) [13:14:10.698] master <- NULL [13:14:10.698] while (!identical(envir, .GlobalEnv) && [13:14:10.698] !identical(envir, emptyenv())) { [13:14:10.698] if (exists("master", mode = "list", envir = envir, [13:14:10.698] inherits = FALSE)) { [13:14:10.698] master <- get("master", mode = "list", [13:14:10.698] envir = envir, inherits = FALSE) [13:14:10.698] if (inherits(master, c("SOCKnode", [13:14:10.698] "SOCK0node"))) { [13:14:10.698] sendCondition <<- function(cond) { [13:14:10.698] data <- list(type = "VALUE", value = cond, [13:14:10.698] success = TRUE) [13:14:10.698] parallel_sendData(master, data) [13:14:10.698] } [13:14:10.698] return(sendCondition) [13:14:10.698] } [13:14:10.698] } [13:14:10.698] frame <- frame + 1L [13:14:10.698] envir <- sys.frame(frame) [13:14:10.698] } [13:14:10.698] } [13:14:10.698] sendCondition <<- function(cond) NULL [13:14:10.698] } [13:14:10.698] }) [13:14:10.698] withCallingHandlers({ [13:14:10.698] { [13:14:10.698] do.call(function(...) { [13:14:10.698] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.698] if (!identical(...future.globals.maxSize.org, [13:14:10.698] ...future.globals.maxSize)) { [13:14:10.698] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.698] on.exit(options(oopts), add = TRUE) [13:14:10.698] } [13:14:10.698] { [13:14:10.698] lapply(seq_along(...future.elements_ii), [13:14:10.698] FUN = function(jj) { [13:14:10.698] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.698] ...future.FUN(...future.X_jj, ...) [13:14:10.698] }) [13:14:10.698] } [13:14:10.698] }, args = future.call.arguments) [13:14:10.698] } [13:14:10.698] }, immediateCondition = function(cond) { [13:14:10.698] sendCondition <- ...future.makeSendCondition() [13:14:10.698] sendCondition(cond) [13:14:10.698] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.698] { [13:14:10.698] inherits <- base::inherits [13:14:10.698] invokeRestart <- base::invokeRestart [13:14:10.698] is.null <- base::is.null [13:14:10.698] muffled <- FALSE [13:14:10.698] if (inherits(cond, "message")) { [13:14:10.698] muffled <- grepl(pattern, "muffleMessage") [13:14:10.698] if (muffled) [13:14:10.698] invokeRestart("muffleMessage") [13:14:10.698] } [13:14:10.698] else if (inherits(cond, "warning")) { [13:14:10.698] muffled <- grepl(pattern, "muffleWarning") [13:14:10.698] if (muffled) [13:14:10.698] invokeRestart("muffleWarning") [13:14:10.698] } [13:14:10.698] else if (inherits(cond, "condition")) { [13:14:10.698] if (!is.null(pattern)) { [13:14:10.698] computeRestarts <- base::computeRestarts [13:14:10.698] grepl <- base::grepl [13:14:10.698] restarts <- computeRestarts(cond) [13:14:10.698] for (restart in restarts) { [13:14:10.698] name <- restart$name [13:14:10.698] if (is.null(name)) [13:14:10.698] next [13:14:10.698] if (!grepl(pattern, name)) [13:14:10.698] next [13:14:10.698] invokeRestart(restart) [13:14:10.698] muffled <- TRUE [13:14:10.698] break [13:14:10.698] } [13:14:10.698] } [13:14:10.698] } [13:14:10.698] invisible(muffled) [13:14:10.698] } [13:14:10.698] muffleCondition(cond) [13:14:10.698] }) [13:14:10.698] })) [13:14:10.698] future::FutureResult(value = ...future.value$value, [13:14:10.698] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.698] ...future.rng), globalenv = if (FALSE) [13:14:10.698] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.698] ...future.globalenv.names)) [13:14:10.698] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.698] }, condition = base::local({ [13:14:10.698] c <- base::c [13:14:10.698] inherits <- base::inherits [13:14:10.698] invokeRestart <- base::invokeRestart [13:14:10.698] length <- base::length [13:14:10.698] list <- base::list [13:14:10.698] seq.int <- base::seq.int [13:14:10.698] signalCondition <- base::signalCondition [13:14:10.698] sys.calls <- base::sys.calls [13:14:10.698] `[[` <- base::`[[` [13:14:10.698] `+` <- base::`+` [13:14:10.698] `<<-` <- base::`<<-` [13:14:10.698] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.698] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.698] 3L)] [13:14:10.698] } [13:14:10.698] function(cond) { [13:14:10.698] is_error <- inherits(cond, "error") [13:14:10.698] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.698] NULL) [13:14:10.698] if (is_error) { [13:14:10.698] sessionInformation <- function() { [13:14:10.698] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.698] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.698] search = base::search(), system = base::Sys.info()) [13:14:10.698] } [13:14:10.698] ...future.conditions[[length(...future.conditions) + [13:14:10.698] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.698] cond$call), session = sessionInformation(), [13:14:10.698] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.698] signalCondition(cond) [13:14:10.698] } [13:14:10.698] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.698] "immediateCondition"))) { [13:14:10.698] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.698] ...future.conditions[[length(...future.conditions) + [13:14:10.698] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.698] if (TRUE && !signal) { [13:14:10.698] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.698] { [13:14:10.698] inherits <- base::inherits [13:14:10.698] invokeRestart <- base::invokeRestart [13:14:10.698] is.null <- base::is.null [13:14:10.698] muffled <- FALSE [13:14:10.698] if (inherits(cond, "message")) { [13:14:10.698] muffled <- grepl(pattern, "muffleMessage") [13:14:10.698] if (muffled) [13:14:10.698] invokeRestart("muffleMessage") [13:14:10.698] } [13:14:10.698] else if (inherits(cond, "warning")) { [13:14:10.698] muffled <- grepl(pattern, "muffleWarning") [13:14:10.698] if (muffled) [13:14:10.698] invokeRestart("muffleWarning") [13:14:10.698] } [13:14:10.698] else if (inherits(cond, "condition")) { [13:14:10.698] if (!is.null(pattern)) { [13:14:10.698] computeRestarts <- base::computeRestarts [13:14:10.698] grepl <- base::grepl [13:14:10.698] restarts <- computeRestarts(cond) [13:14:10.698] for (restart in restarts) { [13:14:10.698] name <- restart$name [13:14:10.698] if (is.null(name)) [13:14:10.698] next [13:14:10.698] if (!grepl(pattern, name)) [13:14:10.698] next [13:14:10.698] invokeRestart(restart) [13:14:10.698] muffled <- TRUE [13:14:10.698] break [13:14:10.698] } [13:14:10.698] } [13:14:10.698] } [13:14:10.698] invisible(muffled) [13:14:10.698] } [13:14:10.698] muffleCondition(cond, pattern = "^muffle") [13:14:10.698] } [13:14:10.698] } [13:14:10.698] else { [13:14:10.698] if (TRUE) { [13:14:10.698] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.698] { [13:14:10.698] inherits <- base::inherits [13:14:10.698] invokeRestart <- base::invokeRestart [13:14:10.698] is.null <- base::is.null [13:14:10.698] muffled <- FALSE [13:14:10.698] if (inherits(cond, "message")) { [13:14:10.698] muffled <- grepl(pattern, "muffleMessage") [13:14:10.698] if (muffled) [13:14:10.698] invokeRestart("muffleMessage") [13:14:10.698] } [13:14:10.698] else if (inherits(cond, "warning")) { [13:14:10.698] muffled <- grepl(pattern, "muffleWarning") [13:14:10.698] if (muffled) [13:14:10.698] invokeRestart("muffleWarning") [13:14:10.698] } [13:14:10.698] else if (inherits(cond, "condition")) { [13:14:10.698] if (!is.null(pattern)) { [13:14:10.698] computeRestarts <- base::computeRestarts [13:14:10.698] grepl <- base::grepl [13:14:10.698] restarts <- computeRestarts(cond) [13:14:10.698] for (restart in restarts) { [13:14:10.698] name <- restart$name [13:14:10.698] if (is.null(name)) [13:14:10.698] next [13:14:10.698] if (!grepl(pattern, name)) [13:14:10.698] next [13:14:10.698] invokeRestart(restart) [13:14:10.698] muffled <- TRUE [13:14:10.698] break [13:14:10.698] } [13:14:10.698] } [13:14:10.698] } [13:14:10.698] invisible(muffled) [13:14:10.698] } [13:14:10.698] muffleCondition(cond, pattern = "^muffle") [13:14:10.698] } [13:14:10.698] } [13:14:10.698] } [13:14:10.698] })) [13:14:10.698] }, error = function(ex) { [13:14:10.698] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.698] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.698] ...future.rng), started = ...future.startTime, [13:14:10.698] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.698] version = "1.8"), class = "FutureResult") [13:14:10.698] }, finally = { [13:14:10.698] if (!identical(...future.workdir, getwd())) [13:14:10.698] setwd(...future.workdir) [13:14:10.698] { [13:14:10.698] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.698] ...future.oldOptions$nwarnings <- NULL [13:14:10.698] } [13:14:10.698] base::options(...future.oldOptions) [13:14:10.698] if (.Platform$OS.type == "windows") { [13:14:10.698] old_names <- names(...future.oldEnvVars) [13:14:10.698] envs <- base::Sys.getenv() [13:14:10.698] names <- names(envs) [13:14:10.698] common <- intersect(names, old_names) [13:14:10.698] added <- setdiff(names, old_names) [13:14:10.698] removed <- setdiff(old_names, names) [13:14:10.698] changed <- common[...future.oldEnvVars[common] != [13:14:10.698] envs[common]] [13:14:10.698] NAMES <- toupper(changed) [13:14:10.698] args <- list() [13:14:10.698] for (kk in seq_along(NAMES)) { [13:14:10.698] name <- changed[[kk]] [13:14:10.698] NAME <- NAMES[[kk]] [13:14:10.698] if (name != NAME && is.element(NAME, old_names)) [13:14:10.698] next [13:14:10.698] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.698] } [13:14:10.698] NAMES <- toupper(added) [13:14:10.698] for (kk in seq_along(NAMES)) { [13:14:10.698] name <- added[[kk]] [13:14:10.698] NAME <- NAMES[[kk]] [13:14:10.698] if (name != NAME && is.element(NAME, old_names)) [13:14:10.698] next [13:14:10.698] args[[name]] <- "" [13:14:10.698] } [13:14:10.698] NAMES <- toupper(removed) [13:14:10.698] for (kk in seq_along(NAMES)) { [13:14:10.698] name <- removed[[kk]] [13:14:10.698] NAME <- NAMES[[kk]] [13:14:10.698] if (name != NAME && is.element(NAME, old_names)) [13:14:10.698] next [13:14:10.698] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.698] } [13:14:10.698] if (length(args) > 0) [13:14:10.698] base::do.call(base::Sys.setenv, args = args) [13:14:10.698] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.698] } [13:14:10.698] else { [13:14:10.698] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.698] } [13:14:10.698] { [13:14:10.698] if (base::length(...future.futureOptionsAdded) > [13:14:10.698] 0L) { [13:14:10.698] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.698] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.698] base::options(opts) [13:14:10.698] } [13:14:10.698] { [13:14:10.698] { [13:14:10.698] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.698] NULL [13:14:10.698] } [13:14:10.698] options(future.plan = NULL) [13:14:10.698] if (is.na(NA_character_)) [13:14:10.698] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.698] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.698] future::plan(list(function (..., workers = availableCores(), [13:14:10.698] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.698] envir = parent.frame()) [13:14:10.698] { [13:14:10.698] if (is.function(workers)) [13:14:10.698] workers <- workers() [13:14:10.698] workers <- structure(as.integer(workers), [13:14:10.698] class = class(workers)) [13:14:10.698] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.698] workers >= 1) [13:14:10.698] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.698] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.698] } [13:14:10.698] future <- MultisessionFuture(..., workers = workers, [13:14:10.698] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.698] envir = envir) [13:14:10.698] if (!future$lazy) [13:14:10.698] future <- run(future) [13:14:10.698] invisible(future) [13:14:10.698] }), .cleanup = FALSE, .init = FALSE) [13:14:10.698] } [13:14:10.698] } [13:14:10.698] } [13:14:10.698] }) [13:14:10.698] if (TRUE) { [13:14:10.698] base::sink(type = "output", split = FALSE) [13:14:10.698] if (TRUE) { [13:14:10.698] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.698] } [13:14:10.698] else { [13:14:10.698] ...future.result["stdout"] <- base::list(NULL) [13:14:10.698] } [13:14:10.698] base::close(...future.stdout) [13:14:10.698] ...future.stdout <- NULL [13:14:10.698] } [13:14:10.698] ...future.result$conditions <- ...future.conditions [13:14:10.698] ...future.result$finished <- base::Sys.time() [13:14:10.698] ...future.result [13:14:10.698] } [13:14:10.703] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:10.704] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:10.707] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:10.707] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.708] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.708] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:10.709] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:10.709] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.709] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.709] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.710] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.710] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:10.711] MultisessionFuture started [13:14:10.711] - Launch lazy future ... done [13:14:10.711] run() for 'MultisessionFuture' ... done [13:14:10.711] Created future: [13:14:10.727] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.727] - Validating connection of MultisessionFuture [13:14:10.728] - received message: FutureResult [13:14:10.728] - Received FutureResult [13:14:10.728] - Erased future from FutureRegistry [13:14:10.728] result() for ClusterFuture ... [13:14:10.728] - result already collected: FutureResult [13:14:10.729] result() for ClusterFuture ... done [13:14:10.729] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.712] MultisessionFuture: [13:14:10.712] Label: 'future_sapply-1' [13:14:10.712] Expression: [13:14:10.712] { [13:14:10.712] do.call(function(...) { [13:14:10.712] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.712] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.712] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.712] on.exit(options(oopts), add = TRUE) [13:14:10.712] } [13:14:10.712] { [13:14:10.712] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.712] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.712] ...future.FUN(...future.X_jj, ...) [13:14:10.712] }) [13:14:10.712] } [13:14:10.712] }, args = future.call.arguments) [13:14:10.712] } [13:14:10.712] Lazy evaluation: FALSE [13:14:10.712] Asynchronous evaluation: TRUE [13:14:10.712] Local evaluation: TRUE [13:14:10.712] Environment: R_GlobalEnv [13:14:10.712] Capture standard output: TRUE [13:14:10.712] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.712] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.712] Packages: [13:14:10.712] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.712] Resolved: TRUE [13:14:10.712] Value: [13:14:10.712] Conditions captured: [13:14:10.712] Early signaling: FALSE [13:14:10.712] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.712] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.729] Chunk #1 of 2 ... DONE [13:14:10.729] Chunk #2 of 2 ... [13:14:10.729] - Finding globals in 'X' for chunk #2 ... [13:14:10.730] getGlobalsAndPackages() ... [13:14:10.730] Searching for globals... [13:14:10.730] [13:14:10.730] Searching for globals ... DONE [13:14:10.730] - globals: [0] [13:14:10.731] getGlobalsAndPackages() ... DONE [13:14:10.731] + additional globals found: [n=0] [13:14:10.731] + additional namespaces needed: [n=0] [13:14:10.731] - Finding globals in 'X' for chunk #2 ... DONE [13:14:10.731] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.731] - seeds: [13:14:10.732] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.732] getGlobalsAndPackages() ... [13:14:10.732] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.732] Resolving globals: FALSE [13:14:10.732] Tweak future expression to call with '...' arguments ... [13:14:10.732] { [13:14:10.732] do.call(function(...) { [13:14:10.732] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.732] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.732] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.732] on.exit(options(oopts), add = TRUE) [13:14:10.732] } [13:14:10.732] { [13:14:10.732] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.732] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.732] ...future.FUN(...future.X_jj, ...) [13:14:10.732] }) [13:14:10.732] } [13:14:10.732] }, args = future.call.arguments) [13:14:10.732] } [13:14:10.733] Tweak future expression to call with '...' arguments ... DONE [13:14:10.733] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.734] [13:14:10.734] getGlobalsAndPackages() ... DONE [13:14:10.734] run() for 'Future' ... [13:14:10.734] - state: 'created' [13:14:10.734] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.748] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.749] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.749] - Field: 'node' [13:14:10.749] - Field: 'label' [13:14:10.749] - Field: 'local' [13:14:10.749] - Field: 'owner' [13:14:10.750] - Field: 'envir' [13:14:10.750] - Field: 'workers' [13:14:10.750] - Field: 'packages' [13:14:10.750] - Field: 'gc' [13:14:10.750] - Field: 'conditions' [13:14:10.750] - Field: 'persistent' [13:14:10.751] - Field: 'expr' [13:14:10.751] - Field: 'uuid' [13:14:10.751] - Field: 'seed' [13:14:10.751] - Field: 'version' [13:14:10.751] - Field: 'result' [13:14:10.752] - Field: 'asynchronous' [13:14:10.752] - Field: 'calls' [13:14:10.752] - Field: 'globals' [13:14:10.752] - Field: 'stdout' [13:14:10.752] - Field: 'earlySignal' [13:14:10.752] - Field: 'lazy' [13:14:10.753] - Field: 'state' [13:14:10.753] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.753] - Launch lazy future ... [13:14:10.753] Packages needed by the future expression (n = 0): [13:14:10.753] Packages needed by future strategies (n = 0): [13:14:10.754] { [13:14:10.754] { [13:14:10.754] { [13:14:10.754] ...future.startTime <- base::Sys.time() [13:14:10.754] { [13:14:10.754] { [13:14:10.754] { [13:14:10.754] { [13:14:10.754] base::local({ [13:14:10.754] has_future <- base::requireNamespace("future", [13:14:10.754] quietly = TRUE) [13:14:10.754] if (has_future) { [13:14:10.754] ns <- base::getNamespace("future") [13:14:10.754] version <- ns[[".package"]][["version"]] [13:14:10.754] if (is.null(version)) [13:14:10.754] version <- utils::packageVersion("future") [13:14:10.754] } [13:14:10.754] else { [13:14:10.754] version <- NULL [13:14:10.754] } [13:14:10.754] if (!has_future || version < "1.8.0") { [13:14:10.754] info <- base::c(r_version = base::gsub("R version ", [13:14:10.754] "", base::R.version$version.string), [13:14:10.754] platform = base::sprintf("%s (%s-bit)", [13:14:10.754] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.754] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.754] "release", "version")], collapse = " "), [13:14:10.754] hostname = base::Sys.info()[["nodename"]]) [13:14:10.754] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.754] info) [13:14:10.754] info <- base::paste(info, collapse = "; ") [13:14:10.754] if (!has_future) { [13:14:10.754] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.754] info) [13:14:10.754] } [13:14:10.754] else { [13:14:10.754] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.754] info, version) [13:14:10.754] } [13:14:10.754] base::stop(msg) [13:14:10.754] } [13:14:10.754] }) [13:14:10.754] } [13:14:10.754] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.754] base::options(mc.cores = 1L) [13:14:10.754] } [13:14:10.754] options(future.plan = NULL) [13:14:10.754] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.754] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.754] } [13:14:10.754] ...future.workdir <- getwd() [13:14:10.754] } [13:14:10.754] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.754] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.754] } [13:14:10.754] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.754] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.754] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.754] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.754] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.754] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.754] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.754] base::names(...future.oldOptions)) [13:14:10.754] } [13:14:10.754] if (FALSE) { [13:14:10.754] } [13:14:10.754] else { [13:14:10.754] if (TRUE) { [13:14:10.754] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.754] open = "w") [13:14:10.754] } [13:14:10.754] else { [13:14:10.754] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.754] windows = "NUL", "/dev/null"), open = "w") [13:14:10.754] } [13:14:10.754] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.754] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.754] base::sink(type = "output", split = FALSE) [13:14:10.754] base::close(...future.stdout) [13:14:10.754] }, add = TRUE) [13:14:10.754] } [13:14:10.754] ...future.frame <- base::sys.nframe() [13:14:10.754] ...future.conditions <- base::list() [13:14:10.754] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.754] if (FALSE) { [13:14:10.754] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.754] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.754] } [13:14:10.754] ...future.result <- base::tryCatch({ [13:14:10.754] base::withCallingHandlers({ [13:14:10.754] ...future.value <- base::withVisible(base::local({ [13:14:10.754] ...future.makeSendCondition <- local({ [13:14:10.754] sendCondition <- NULL [13:14:10.754] function(frame = 1L) { [13:14:10.754] if (is.function(sendCondition)) [13:14:10.754] return(sendCondition) [13:14:10.754] ns <- getNamespace("parallel") [13:14:10.754] if (exists("sendData", mode = "function", [13:14:10.754] envir = ns)) { [13:14:10.754] parallel_sendData <- get("sendData", mode = "function", [13:14:10.754] envir = ns) [13:14:10.754] envir <- sys.frame(frame) [13:14:10.754] master <- NULL [13:14:10.754] while (!identical(envir, .GlobalEnv) && [13:14:10.754] !identical(envir, emptyenv())) { [13:14:10.754] if (exists("master", mode = "list", envir = envir, [13:14:10.754] inherits = FALSE)) { [13:14:10.754] master <- get("master", mode = "list", [13:14:10.754] envir = envir, inherits = FALSE) [13:14:10.754] if (inherits(master, c("SOCKnode", [13:14:10.754] "SOCK0node"))) { [13:14:10.754] sendCondition <<- function(cond) { [13:14:10.754] data <- list(type = "VALUE", value = cond, [13:14:10.754] success = TRUE) [13:14:10.754] parallel_sendData(master, data) [13:14:10.754] } [13:14:10.754] return(sendCondition) [13:14:10.754] } [13:14:10.754] } [13:14:10.754] frame <- frame + 1L [13:14:10.754] envir <- sys.frame(frame) [13:14:10.754] } [13:14:10.754] } [13:14:10.754] sendCondition <<- function(cond) NULL [13:14:10.754] } [13:14:10.754] }) [13:14:10.754] withCallingHandlers({ [13:14:10.754] { [13:14:10.754] do.call(function(...) { [13:14:10.754] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.754] if (!identical(...future.globals.maxSize.org, [13:14:10.754] ...future.globals.maxSize)) { [13:14:10.754] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.754] on.exit(options(oopts), add = TRUE) [13:14:10.754] } [13:14:10.754] { [13:14:10.754] lapply(seq_along(...future.elements_ii), [13:14:10.754] FUN = function(jj) { [13:14:10.754] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.754] ...future.FUN(...future.X_jj, ...) [13:14:10.754] }) [13:14:10.754] } [13:14:10.754] }, args = future.call.arguments) [13:14:10.754] } [13:14:10.754] }, immediateCondition = function(cond) { [13:14:10.754] sendCondition <- ...future.makeSendCondition() [13:14:10.754] sendCondition(cond) [13:14:10.754] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.754] { [13:14:10.754] inherits <- base::inherits [13:14:10.754] invokeRestart <- base::invokeRestart [13:14:10.754] is.null <- base::is.null [13:14:10.754] muffled <- FALSE [13:14:10.754] if (inherits(cond, "message")) { [13:14:10.754] muffled <- grepl(pattern, "muffleMessage") [13:14:10.754] if (muffled) [13:14:10.754] invokeRestart("muffleMessage") [13:14:10.754] } [13:14:10.754] else if (inherits(cond, "warning")) { [13:14:10.754] muffled <- grepl(pattern, "muffleWarning") [13:14:10.754] if (muffled) [13:14:10.754] invokeRestart("muffleWarning") [13:14:10.754] } [13:14:10.754] else if (inherits(cond, "condition")) { [13:14:10.754] if (!is.null(pattern)) { [13:14:10.754] computeRestarts <- base::computeRestarts [13:14:10.754] grepl <- base::grepl [13:14:10.754] restarts <- computeRestarts(cond) [13:14:10.754] for (restart in restarts) { [13:14:10.754] name <- restart$name [13:14:10.754] if (is.null(name)) [13:14:10.754] next [13:14:10.754] if (!grepl(pattern, name)) [13:14:10.754] next [13:14:10.754] invokeRestart(restart) [13:14:10.754] muffled <- TRUE [13:14:10.754] break [13:14:10.754] } [13:14:10.754] } [13:14:10.754] } [13:14:10.754] invisible(muffled) [13:14:10.754] } [13:14:10.754] muffleCondition(cond) [13:14:10.754] }) [13:14:10.754] })) [13:14:10.754] future::FutureResult(value = ...future.value$value, [13:14:10.754] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.754] ...future.rng), globalenv = if (FALSE) [13:14:10.754] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.754] ...future.globalenv.names)) [13:14:10.754] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.754] }, condition = base::local({ [13:14:10.754] c <- base::c [13:14:10.754] inherits <- base::inherits [13:14:10.754] invokeRestart <- base::invokeRestart [13:14:10.754] length <- base::length [13:14:10.754] list <- base::list [13:14:10.754] seq.int <- base::seq.int [13:14:10.754] signalCondition <- base::signalCondition [13:14:10.754] sys.calls <- base::sys.calls [13:14:10.754] `[[` <- base::`[[` [13:14:10.754] `+` <- base::`+` [13:14:10.754] `<<-` <- base::`<<-` [13:14:10.754] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.754] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.754] 3L)] [13:14:10.754] } [13:14:10.754] function(cond) { [13:14:10.754] is_error <- inherits(cond, "error") [13:14:10.754] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.754] NULL) [13:14:10.754] if (is_error) { [13:14:10.754] sessionInformation <- function() { [13:14:10.754] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.754] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.754] search = base::search(), system = base::Sys.info()) [13:14:10.754] } [13:14:10.754] ...future.conditions[[length(...future.conditions) + [13:14:10.754] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.754] cond$call), session = sessionInformation(), [13:14:10.754] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.754] signalCondition(cond) [13:14:10.754] } [13:14:10.754] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.754] "immediateCondition"))) { [13:14:10.754] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.754] ...future.conditions[[length(...future.conditions) + [13:14:10.754] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.754] if (TRUE && !signal) { [13:14:10.754] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.754] { [13:14:10.754] inherits <- base::inherits [13:14:10.754] invokeRestart <- base::invokeRestart [13:14:10.754] is.null <- base::is.null [13:14:10.754] muffled <- FALSE [13:14:10.754] if (inherits(cond, "message")) { [13:14:10.754] muffled <- grepl(pattern, "muffleMessage") [13:14:10.754] if (muffled) [13:14:10.754] invokeRestart("muffleMessage") [13:14:10.754] } [13:14:10.754] else if (inherits(cond, "warning")) { [13:14:10.754] muffled <- grepl(pattern, "muffleWarning") [13:14:10.754] if (muffled) [13:14:10.754] invokeRestart("muffleWarning") [13:14:10.754] } [13:14:10.754] else if (inherits(cond, "condition")) { [13:14:10.754] if (!is.null(pattern)) { [13:14:10.754] computeRestarts <- base::computeRestarts [13:14:10.754] grepl <- base::grepl [13:14:10.754] restarts <- computeRestarts(cond) [13:14:10.754] for (restart in restarts) { [13:14:10.754] name <- restart$name [13:14:10.754] if (is.null(name)) [13:14:10.754] next [13:14:10.754] if (!grepl(pattern, name)) [13:14:10.754] next [13:14:10.754] invokeRestart(restart) [13:14:10.754] muffled <- TRUE [13:14:10.754] break [13:14:10.754] } [13:14:10.754] } [13:14:10.754] } [13:14:10.754] invisible(muffled) [13:14:10.754] } [13:14:10.754] muffleCondition(cond, pattern = "^muffle") [13:14:10.754] } [13:14:10.754] } [13:14:10.754] else { [13:14:10.754] if (TRUE) { [13:14:10.754] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.754] { [13:14:10.754] inherits <- base::inherits [13:14:10.754] invokeRestart <- base::invokeRestart [13:14:10.754] is.null <- base::is.null [13:14:10.754] muffled <- FALSE [13:14:10.754] if (inherits(cond, "message")) { [13:14:10.754] muffled <- grepl(pattern, "muffleMessage") [13:14:10.754] if (muffled) [13:14:10.754] invokeRestart("muffleMessage") [13:14:10.754] } [13:14:10.754] else if (inherits(cond, "warning")) { [13:14:10.754] muffled <- grepl(pattern, "muffleWarning") [13:14:10.754] if (muffled) [13:14:10.754] invokeRestart("muffleWarning") [13:14:10.754] } [13:14:10.754] else if (inherits(cond, "condition")) { [13:14:10.754] if (!is.null(pattern)) { [13:14:10.754] computeRestarts <- base::computeRestarts [13:14:10.754] grepl <- base::grepl [13:14:10.754] restarts <- computeRestarts(cond) [13:14:10.754] for (restart in restarts) { [13:14:10.754] name <- restart$name [13:14:10.754] if (is.null(name)) [13:14:10.754] next [13:14:10.754] if (!grepl(pattern, name)) [13:14:10.754] next [13:14:10.754] invokeRestart(restart) [13:14:10.754] muffled <- TRUE [13:14:10.754] break [13:14:10.754] } [13:14:10.754] } [13:14:10.754] } [13:14:10.754] invisible(muffled) [13:14:10.754] } [13:14:10.754] muffleCondition(cond, pattern = "^muffle") [13:14:10.754] } [13:14:10.754] } [13:14:10.754] } [13:14:10.754] })) [13:14:10.754] }, error = function(ex) { [13:14:10.754] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.754] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.754] ...future.rng), started = ...future.startTime, [13:14:10.754] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.754] version = "1.8"), class = "FutureResult") [13:14:10.754] }, finally = { [13:14:10.754] if (!identical(...future.workdir, getwd())) [13:14:10.754] setwd(...future.workdir) [13:14:10.754] { [13:14:10.754] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.754] ...future.oldOptions$nwarnings <- NULL [13:14:10.754] } [13:14:10.754] base::options(...future.oldOptions) [13:14:10.754] if (.Platform$OS.type == "windows") { [13:14:10.754] old_names <- names(...future.oldEnvVars) [13:14:10.754] envs <- base::Sys.getenv() [13:14:10.754] names <- names(envs) [13:14:10.754] common <- intersect(names, old_names) [13:14:10.754] added <- setdiff(names, old_names) [13:14:10.754] removed <- setdiff(old_names, names) [13:14:10.754] changed <- common[...future.oldEnvVars[common] != [13:14:10.754] envs[common]] [13:14:10.754] NAMES <- toupper(changed) [13:14:10.754] args <- list() [13:14:10.754] for (kk in seq_along(NAMES)) { [13:14:10.754] name <- changed[[kk]] [13:14:10.754] NAME <- NAMES[[kk]] [13:14:10.754] if (name != NAME && is.element(NAME, old_names)) [13:14:10.754] next [13:14:10.754] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.754] } [13:14:10.754] NAMES <- toupper(added) [13:14:10.754] for (kk in seq_along(NAMES)) { [13:14:10.754] name <- added[[kk]] [13:14:10.754] NAME <- NAMES[[kk]] [13:14:10.754] if (name != NAME && is.element(NAME, old_names)) [13:14:10.754] next [13:14:10.754] args[[name]] <- "" [13:14:10.754] } [13:14:10.754] NAMES <- toupper(removed) [13:14:10.754] for (kk in seq_along(NAMES)) { [13:14:10.754] name <- removed[[kk]] [13:14:10.754] NAME <- NAMES[[kk]] [13:14:10.754] if (name != NAME && is.element(NAME, old_names)) [13:14:10.754] next [13:14:10.754] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.754] } [13:14:10.754] if (length(args) > 0) [13:14:10.754] base::do.call(base::Sys.setenv, args = args) [13:14:10.754] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.754] } [13:14:10.754] else { [13:14:10.754] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.754] } [13:14:10.754] { [13:14:10.754] if (base::length(...future.futureOptionsAdded) > [13:14:10.754] 0L) { [13:14:10.754] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.754] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.754] base::options(opts) [13:14:10.754] } [13:14:10.754] { [13:14:10.754] { [13:14:10.754] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.754] NULL [13:14:10.754] } [13:14:10.754] options(future.plan = NULL) [13:14:10.754] if (is.na(NA_character_)) [13:14:10.754] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.754] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.754] future::plan(list(function (..., workers = availableCores(), [13:14:10.754] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.754] envir = parent.frame()) [13:14:10.754] { [13:14:10.754] if (is.function(workers)) [13:14:10.754] workers <- workers() [13:14:10.754] workers <- structure(as.integer(workers), [13:14:10.754] class = class(workers)) [13:14:10.754] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.754] workers >= 1) [13:14:10.754] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.754] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.754] } [13:14:10.754] future <- MultisessionFuture(..., workers = workers, [13:14:10.754] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.754] envir = envir) [13:14:10.754] if (!future$lazy) [13:14:10.754] future <- run(future) [13:14:10.754] invisible(future) [13:14:10.754] }), .cleanup = FALSE, .init = FALSE) [13:14:10.754] } [13:14:10.754] } [13:14:10.754] } [13:14:10.754] }) [13:14:10.754] if (TRUE) { [13:14:10.754] base::sink(type = "output", split = FALSE) [13:14:10.754] if (TRUE) { [13:14:10.754] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.754] } [13:14:10.754] else { [13:14:10.754] ...future.result["stdout"] <- base::list(NULL) [13:14:10.754] } [13:14:10.754] base::close(...future.stdout) [13:14:10.754] ...future.stdout <- NULL [13:14:10.754] } [13:14:10.754] ...future.result$conditions <- ...future.conditions [13:14:10.754] ...future.result$finished <- base::Sys.time() [13:14:10.754] ...future.result [13:14:10.754] } [13:14:10.760] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:10.760] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:10.760] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:10.761] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.761] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.761] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:10.762] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:10.762] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.762] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.762] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.763] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.763] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:10.764] MultisessionFuture started [13:14:10.764] - Launch lazy future ... done [13:14:10.764] run() for 'MultisessionFuture' ... done [13:14:10.764] Created future: [13:14:10.779] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.779] - Validating connection of MultisessionFuture [13:14:10.780] - received message: FutureResult [13:14:10.780] - Received FutureResult [13:14:10.780] - Erased future from FutureRegistry [13:14:10.780] result() for ClusterFuture ... [13:14:10.780] - result already collected: FutureResult [13:14:10.781] result() for ClusterFuture ... done [13:14:10.781] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.764] MultisessionFuture: [13:14:10.764] Label: 'future_sapply-2' [13:14:10.764] Expression: [13:14:10.764] { [13:14:10.764] do.call(function(...) { [13:14:10.764] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.764] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.764] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.764] on.exit(options(oopts), add = TRUE) [13:14:10.764] } [13:14:10.764] { [13:14:10.764] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.764] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.764] ...future.FUN(...future.X_jj, ...) [13:14:10.764] }) [13:14:10.764] } [13:14:10.764] }, args = future.call.arguments) [13:14:10.764] } [13:14:10.764] Lazy evaluation: FALSE [13:14:10.764] Asynchronous evaluation: TRUE [13:14:10.764] Local evaluation: TRUE [13:14:10.764] Environment: R_GlobalEnv [13:14:10.764] Capture standard output: TRUE [13:14:10.764] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.764] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.764] Packages: [13:14:10.764] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.764] Resolved: TRUE [13:14:10.764] Value: [13:14:10.764] Conditions captured: [13:14:10.764] Early signaling: FALSE [13:14:10.764] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.764] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.781] Chunk #2 of 2 ... DONE [13:14:10.781] Launching 2 futures (chunks) ... DONE [13:14:10.782] Resolving 2 futures (chunks) ... [13:14:10.782] resolve() on list ... [13:14:10.782] recursive: 0 [13:14:10.782] length: 2 [13:14:10.782] [13:14:10.782] Future #1 [13:14:10.782] result() for ClusterFuture ... [13:14:10.783] - result already collected: FutureResult [13:14:10.783] result() for ClusterFuture ... done [13:14:10.783] result() for ClusterFuture ... [13:14:10.783] - result already collected: FutureResult [13:14:10.783] result() for ClusterFuture ... done [13:14:10.784] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:10.784] - nx: 2 [13:14:10.784] - relay: TRUE [13:14:10.784] - stdout: TRUE [13:14:10.784] - signal: TRUE [13:14:10.784] - resignal: FALSE [13:14:10.785] - force: TRUE [13:14:10.785] - relayed: [n=2] FALSE, FALSE [13:14:10.785] - queued futures: [n=2] FALSE, FALSE [13:14:10.785] - until=1 [13:14:10.785] - relaying element #1 [13:14:10.785] result() for ClusterFuture ... [13:14:10.785] - result already collected: FutureResult [13:14:10.786] result() for ClusterFuture ... done [13:14:10.786] result() for ClusterFuture ... [13:14:10.786] - result already collected: FutureResult [13:14:10.786] result() for ClusterFuture ... done [13:14:10.786] result() for ClusterFuture ... [13:14:10.786] - result already collected: FutureResult [13:14:10.787] result() for ClusterFuture ... done [13:14:10.787] result() for ClusterFuture ... [13:14:10.787] - result already collected: FutureResult [13:14:10.787] result() for ClusterFuture ... done [13:14:10.787] - relayed: [n=2] TRUE, FALSE [13:14:10.787] - queued futures: [n=2] TRUE, FALSE [13:14:10.788] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:10.788] length: 1 (resolved future 1) [13:14:10.788] Future #2 [13:14:10.788] result() for ClusterFuture ... [13:14:10.788] - result already collected: FutureResult [13:14:10.788] result() for ClusterFuture ... done [13:14:10.789] result() for ClusterFuture ... [13:14:10.789] - result already collected: FutureResult [13:14:10.789] result() for ClusterFuture ... done [13:14:10.789] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:10.789] - nx: 2 [13:14:10.789] - relay: TRUE [13:14:10.789] - stdout: TRUE [13:14:10.790] - signal: TRUE [13:14:10.790] - resignal: FALSE [13:14:10.790] - force: TRUE [13:14:10.790] - relayed: [n=2] TRUE, FALSE [13:14:10.790] - queued futures: [n=2] TRUE, FALSE [13:14:10.790] - until=2 [13:14:10.791] - relaying element #2 [13:14:10.791] result() for ClusterFuture ... [13:14:10.791] - result already collected: FutureResult [13:14:10.791] result() for ClusterFuture ... done [13:14:10.791] result() for ClusterFuture ... [13:14:10.791] - result already collected: FutureResult [13:14:10.791] result() for ClusterFuture ... done [13:14:10.792] result() for ClusterFuture ... [13:14:10.792] - result already collected: FutureResult [13:14:10.792] result() for ClusterFuture ... done [13:14:10.792] result() for ClusterFuture ... [13:14:10.792] - result already collected: FutureResult [13:14:10.792] result() for ClusterFuture ... done [13:14:10.793] - relayed: [n=2] TRUE, TRUE [13:14:10.793] - queued futures: [n=2] TRUE, TRUE [13:14:10.793] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:10.793] length: 0 (resolved future 2) [13:14:10.793] Relaying remaining futures [13:14:10.793] signalConditionsASAP(NULL, pos=0) ... [13:14:10.794] - nx: 2 [13:14:10.794] - relay: TRUE [13:14:10.794] - stdout: TRUE [13:14:10.794] - signal: TRUE [13:14:10.794] - resignal: FALSE [13:14:10.794] - force: TRUE [13:14:10.794] - relayed: [n=2] TRUE, TRUE [13:14:10.795] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:10.795] - relayed: [n=2] TRUE, TRUE [13:14:10.795] - queued futures: [n=2] TRUE, TRUE [13:14:10.795] signalConditionsASAP(NULL, pos=0) ... done [13:14:10.795] resolve() on list ... DONE [13:14:10.795] result() for ClusterFuture ... [13:14:10.796] - result already collected: FutureResult [13:14:10.796] result() for ClusterFuture ... done [13:14:10.796] result() for ClusterFuture ... [13:14:10.796] - result already collected: FutureResult [13:14:10.796] result() for ClusterFuture ... done [13:14:10.796] result() for ClusterFuture ... [13:14:10.797] - result already collected: FutureResult [13:14:10.797] result() for ClusterFuture ... done [13:14:10.797] result() for ClusterFuture ... [13:14:10.797] - result already collected: FutureResult [13:14:10.797] result() for ClusterFuture ... done [13:14:10.797] - Number of value chunks collected: 2 [13:14:10.798] Resolving 2 futures (chunks) ... DONE [13:14:10.798] Reducing values from 2 chunks ... [13:14:10.798] - Number of values collected after concatenation: 3 [13:14:10.798] - Number of values expected: 3 [13:14:10.798] Reducing values from 2 chunks ... DONE [13:14:10.798] future_lapply() ... DONE List of 2 $ y0:List of 3 ..$ a: chr [1, 1] "a" ..$ b: chr [1, 1] "b" ..$ c: chr [1, 1] "c" $ y1:List of 3 ..$ a: chr [1, 1] "a" ..$ b: chr [1, 1] "b" ..$ c: chr [1, 1] "c" List of 2 $ y0:List of 3 ..$ a: chr [1, 1] "a" ..$ b: chr [1, 1] "b" ..$ c: chr [1, 1] "c" $ y2:List of 3 ..$ : chr [1, 1] "a" ..$ : chr [1, 1] "b" ..$ : chr [1, 1] "c" [13:14:10.804] future_lapply() ... [13:14:10.807] Number of chunks: 2 [13:14:10.807] getGlobalsAndPackagesXApply() ... [13:14:10.808] - future.globals: TRUE [13:14:10.808] getGlobalsAndPackages() ... [13:14:10.808] Searching for globals... [13:14:10.809] - globals found: [1] 'FUN' [13:14:10.809] Searching for globals ... DONE [13:14:10.810] Resolving globals: FALSE [13:14:10.810] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:10.810] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:10.811] - globals: [1] 'FUN' [13:14:10.811] [13:14:10.811] getGlobalsAndPackages() ... DONE [13:14:10.811] - globals found/used: [n=1] 'FUN' [13:14:10.811] - needed namespaces: [n=0] [13:14:10.811] Finding globals ... DONE [13:14:10.812] - use_args: TRUE [13:14:10.812] - Getting '...' globals ... [13:14:10.812] resolve() on list ... [13:14:10.812] recursive: 0 [13:14:10.812] length: 1 [13:14:10.813] elements: '...' [13:14:10.813] length: 0 (resolved future 1) [13:14:10.813] resolve() on list ... DONE [13:14:10.813] - '...' content: [n=0] [13:14:10.813] List of 1 [13:14:10.813] $ ...: list() [13:14:10.813] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.813] - attr(*, "where")=List of 1 [13:14:10.813] ..$ ...: [13:14:10.813] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.813] - attr(*, "resolved")= logi TRUE [13:14:10.813] - attr(*, "total_size")= num NA [13:14:10.816] - Getting '...' globals ... DONE [13:14:10.817] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:10.817] List of 2 [13:14:10.817] $ ...future.FUN:function (x) [13:14:10.817] $ ... : list() [13:14:10.817] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.817] - attr(*, "where")=List of 2 [13:14:10.817] ..$ ...future.FUN: [13:14:10.817] ..$ ... : [13:14:10.817] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.817] - attr(*, "resolved")= logi FALSE [13:14:10.817] - attr(*, "total_size")= num 848 [13:14:10.820] Packages to be attached in all futures: [n=0] [13:14:10.820] getGlobalsAndPackagesXApply() ... DONE [13:14:10.821] Number of futures (= number of chunks): 2 [13:14:10.821] Launching 2 futures (chunks) ... [13:14:10.821] Chunk #1 of 2 ... [13:14:10.821] - Finding globals in 'X' for chunk #1 ... [13:14:10.821] getGlobalsAndPackages() ... [13:14:10.821] Searching for globals... [13:14:10.822] [13:14:10.822] Searching for globals ... DONE [13:14:10.822] - globals: [0] [13:14:10.822] getGlobalsAndPackages() ... DONE [13:14:10.822] + additional globals found: [n=0] [13:14:10.823] + additional namespaces needed: [n=0] [13:14:10.823] - Finding globals in 'X' for chunk #1 ... DONE [13:14:10.823] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.823] - seeds: [13:14:10.823] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.823] getGlobalsAndPackages() ... [13:14:10.824] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.824] Resolving globals: FALSE [13:14:10.824] Tweak future expression to call with '...' arguments ... [13:14:10.824] { [13:14:10.824] do.call(function(...) { [13:14:10.824] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.824] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.824] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.824] on.exit(options(oopts), add = TRUE) [13:14:10.824] } [13:14:10.824] { [13:14:10.824] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.824] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.824] ...future.FUN(...future.X_jj, ...) [13:14:10.824] }) [13:14:10.824] } [13:14:10.824] }, args = future.call.arguments) [13:14:10.824] } [13:14:10.825] Tweak future expression to call with '...' arguments ... DONE [13:14:10.825] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.825] [13:14:10.825] getGlobalsAndPackages() ... DONE [13:14:10.826] run() for 'Future' ... [13:14:10.826] - state: 'created' [13:14:10.826] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.840] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.841] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.841] - Field: 'node' [13:14:10.841] - Field: 'label' [13:14:10.841] - Field: 'local' [13:14:10.841] - Field: 'owner' [13:14:10.841] - Field: 'envir' [13:14:10.842] - Field: 'workers' [13:14:10.842] - Field: 'packages' [13:14:10.842] - Field: 'gc' [13:14:10.842] - Field: 'conditions' [13:14:10.842] - Field: 'persistent' [13:14:10.843] - Field: 'expr' [13:14:10.843] - Field: 'uuid' [13:14:10.843] - Field: 'seed' [13:14:10.843] - Field: 'version' [13:14:10.843] - Field: 'result' [13:14:10.843] - Field: 'asynchronous' [13:14:10.844] - Field: 'calls' [13:14:10.844] - Field: 'globals' [13:14:10.844] - Field: 'stdout' [13:14:10.844] - Field: 'earlySignal' [13:14:10.844] - Field: 'lazy' [13:14:10.844] - Field: 'state' [13:14:10.845] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.845] - Launch lazy future ... [13:14:10.845] Packages needed by the future expression (n = 0): [13:14:10.845] Packages needed by future strategies (n = 0): [13:14:10.846] { [13:14:10.846] { [13:14:10.846] { [13:14:10.846] ...future.startTime <- base::Sys.time() [13:14:10.846] { [13:14:10.846] { [13:14:10.846] { [13:14:10.846] { [13:14:10.846] base::local({ [13:14:10.846] has_future <- base::requireNamespace("future", [13:14:10.846] quietly = TRUE) [13:14:10.846] if (has_future) { [13:14:10.846] ns <- base::getNamespace("future") [13:14:10.846] version <- ns[[".package"]][["version"]] [13:14:10.846] if (is.null(version)) [13:14:10.846] version <- utils::packageVersion("future") [13:14:10.846] } [13:14:10.846] else { [13:14:10.846] version <- NULL [13:14:10.846] } [13:14:10.846] if (!has_future || version < "1.8.0") { [13:14:10.846] info <- base::c(r_version = base::gsub("R version ", [13:14:10.846] "", base::R.version$version.string), [13:14:10.846] platform = base::sprintf("%s (%s-bit)", [13:14:10.846] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.846] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.846] "release", "version")], collapse = " "), [13:14:10.846] hostname = base::Sys.info()[["nodename"]]) [13:14:10.846] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.846] info) [13:14:10.846] info <- base::paste(info, collapse = "; ") [13:14:10.846] if (!has_future) { [13:14:10.846] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.846] info) [13:14:10.846] } [13:14:10.846] else { [13:14:10.846] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.846] info, version) [13:14:10.846] } [13:14:10.846] base::stop(msg) [13:14:10.846] } [13:14:10.846] }) [13:14:10.846] } [13:14:10.846] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.846] base::options(mc.cores = 1L) [13:14:10.846] } [13:14:10.846] options(future.plan = NULL) [13:14:10.846] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.846] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.846] } [13:14:10.846] ...future.workdir <- getwd() [13:14:10.846] } [13:14:10.846] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.846] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.846] } [13:14:10.846] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.846] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.846] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.846] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.846] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.846] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.846] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.846] base::names(...future.oldOptions)) [13:14:10.846] } [13:14:10.846] if (FALSE) { [13:14:10.846] } [13:14:10.846] else { [13:14:10.846] if (TRUE) { [13:14:10.846] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.846] open = "w") [13:14:10.846] } [13:14:10.846] else { [13:14:10.846] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.846] windows = "NUL", "/dev/null"), open = "w") [13:14:10.846] } [13:14:10.846] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.846] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.846] base::sink(type = "output", split = FALSE) [13:14:10.846] base::close(...future.stdout) [13:14:10.846] }, add = TRUE) [13:14:10.846] } [13:14:10.846] ...future.frame <- base::sys.nframe() [13:14:10.846] ...future.conditions <- base::list() [13:14:10.846] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.846] if (FALSE) { [13:14:10.846] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.846] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.846] } [13:14:10.846] ...future.result <- base::tryCatch({ [13:14:10.846] base::withCallingHandlers({ [13:14:10.846] ...future.value <- base::withVisible(base::local({ [13:14:10.846] ...future.makeSendCondition <- local({ [13:14:10.846] sendCondition <- NULL [13:14:10.846] function(frame = 1L) { [13:14:10.846] if (is.function(sendCondition)) [13:14:10.846] return(sendCondition) [13:14:10.846] ns <- getNamespace("parallel") [13:14:10.846] if (exists("sendData", mode = "function", [13:14:10.846] envir = ns)) { [13:14:10.846] parallel_sendData <- get("sendData", mode = "function", [13:14:10.846] envir = ns) [13:14:10.846] envir <- sys.frame(frame) [13:14:10.846] master <- NULL [13:14:10.846] while (!identical(envir, .GlobalEnv) && [13:14:10.846] !identical(envir, emptyenv())) { [13:14:10.846] if (exists("master", mode = "list", envir = envir, [13:14:10.846] inherits = FALSE)) { [13:14:10.846] master <- get("master", mode = "list", [13:14:10.846] envir = envir, inherits = FALSE) [13:14:10.846] if (inherits(master, c("SOCKnode", [13:14:10.846] "SOCK0node"))) { [13:14:10.846] sendCondition <<- function(cond) { [13:14:10.846] data <- list(type = "VALUE", value = cond, [13:14:10.846] success = TRUE) [13:14:10.846] parallel_sendData(master, data) [13:14:10.846] } [13:14:10.846] return(sendCondition) [13:14:10.846] } [13:14:10.846] } [13:14:10.846] frame <- frame + 1L [13:14:10.846] envir <- sys.frame(frame) [13:14:10.846] } [13:14:10.846] } [13:14:10.846] sendCondition <<- function(cond) NULL [13:14:10.846] } [13:14:10.846] }) [13:14:10.846] withCallingHandlers({ [13:14:10.846] { [13:14:10.846] do.call(function(...) { [13:14:10.846] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.846] if (!identical(...future.globals.maxSize.org, [13:14:10.846] ...future.globals.maxSize)) { [13:14:10.846] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.846] on.exit(options(oopts), add = TRUE) [13:14:10.846] } [13:14:10.846] { [13:14:10.846] lapply(seq_along(...future.elements_ii), [13:14:10.846] FUN = function(jj) { [13:14:10.846] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.846] ...future.FUN(...future.X_jj, ...) [13:14:10.846] }) [13:14:10.846] } [13:14:10.846] }, args = future.call.arguments) [13:14:10.846] } [13:14:10.846] }, immediateCondition = function(cond) { [13:14:10.846] sendCondition <- ...future.makeSendCondition() [13:14:10.846] sendCondition(cond) [13:14:10.846] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.846] { [13:14:10.846] inherits <- base::inherits [13:14:10.846] invokeRestart <- base::invokeRestart [13:14:10.846] is.null <- base::is.null [13:14:10.846] muffled <- FALSE [13:14:10.846] if (inherits(cond, "message")) { [13:14:10.846] muffled <- grepl(pattern, "muffleMessage") [13:14:10.846] if (muffled) [13:14:10.846] invokeRestart("muffleMessage") [13:14:10.846] } [13:14:10.846] else if (inherits(cond, "warning")) { [13:14:10.846] muffled <- grepl(pattern, "muffleWarning") [13:14:10.846] if (muffled) [13:14:10.846] invokeRestart("muffleWarning") [13:14:10.846] } [13:14:10.846] else if (inherits(cond, "condition")) { [13:14:10.846] if (!is.null(pattern)) { [13:14:10.846] computeRestarts <- base::computeRestarts [13:14:10.846] grepl <- base::grepl [13:14:10.846] restarts <- computeRestarts(cond) [13:14:10.846] for (restart in restarts) { [13:14:10.846] name <- restart$name [13:14:10.846] if (is.null(name)) [13:14:10.846] next [13:14:10.846] if (!grepl(pattern, name)) [13:14:10.846] next [13:14:10.846] invokeRestart(restart) [13:14:10.846] muffled <- TRUE [13:14:10.846] break [13:14:10.846] } [13:14:10.846] } [13:14:10.846] } [13:14:10.846] invisible(muffled) [13:14:10.846] } [13:14:10.846] muffleCondition(cond) [13:14:10.846] }) [13:14:10.846] })) [13:14:10.846] future::FutureResult(value = ...future.value$value, [13:14:10.846] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.846] ...future.rng), globalenv = if (FALSE) [13:14:10.846] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.846] ...future.globalenv.names)) [13:14:10.846] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.846] }, condition = base::local({ [13:14:10.846] c <- base::c [13:14:10.846] inherits <- base::inherits [13:14:10.846] invokeRestart <- base::invokeRestart [13:14:10.846] length <- base::length [13:14:10.846] list <- base::list [13:14:10.846] seq.int <- base::seq.int [13:14:10.846] signalCondition <- base::signalCondition [13:14:10.846] sys.calls <- base::sys.calls [13:14:10.846] `[[` <- base::`[[` [13:14:10.846] `+` <- base::`+` [13:14:10.846] `<<-` <- base::`<<-` [13:14:10.846] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.846] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.846] 3L)] [13:14:10.846] } [13:14:10.846] function(cond) { [13:14:10.846] is_error <- inherits(cond, "error") [13:14:10.846] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.846] NULL) [13:14:10.846] if (is_error) { [13:14:10.846] sessionInformation <- function() { [13:14:10.846] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.846] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.846] search = base::search(), system = base::Sys.info()) [13:14:10.846] } [13:14:10.846] ...future.conditions[[length(...future.conditions) + [13:14:10.846] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.846] cond$call), session = sessionInformation(), [13:14:10.846] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.846] signalCondition(cond) [13:14:10.846] } [13:14:10.846] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.846] "immediateCondition"))) { [13:14:10.846] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.846] ...future.conditions[[length(...future.conditions) + [13:14:10.846] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.846] if (TRUE && !signal) { [13:14:10.846] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.846] { [13:14:10.846] inherits <- base::inherits [13:14:10.846] invokeRestart <- base::invokeRestart [13:14:10.846] is.null <- base::is.null [13:14:10.846] muffled <- FALSE [13:14:10.846] if (inherits(cond, "message")) { [13:14:10.846] muffled <- grepl(pattern, "muffleMessage") [13:14:10.846] if (muffled) [13:14:10.846] invokeRestart("muffleMessage") [13:14:10.846] } [13:14:10.846] else if (inherits(cond, "warning")) { [13:14:10.846] muffled <- grepl(pattern, "muffleWarning") [13:14:10.846] if (muffled) [13:14:10.846] invokeRestart("muffleWarning") [13:14:10.846] } [13:14:10.846] else if (inherits(cond, "condition")) { [13:14:10.846] if (!is.null(pattern)) { [13:14:10.846] computeRestarts <- base::computeRestarts [13:14:10.846] grepl <- base::grepl [13:14:10.846] restarts <- computeRestarts(cond) [13:14:10.846] for (restart in restarts) { [13:14:10.846] name <- restart$name [13:14:10.846] if (is.null(name)) [13:14:10.846] next [13:14:10.846] if (!grepl(pattern, name)) [13:14:10.846] next [13:14:10.846] invokeRestart(restart) [13:14:10.846] muffled <- TRUE [13:14:10.846] break [13:14:10.846] } [13:14:10.846] } [13:14:10.846] } [13:14:10.846] invisible(muffled) [13:14:10.846] } [13:14:10.846] muffleCondition(cond, pattern = "^muffle") [13:14:10.846] } [13:14:10.846] } [13:14:10.846] else { [13:14:10.846] if (TRUE) { [13:14:10.846] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.846] { [13:14:10.846] inherits <- base::inherits [13:14:10.846] invokeRestart <- base::invokeRestart [13:14:10.846] is.null <- base::is.null [13:14:10.846] muffled <- FALSE [13:14:10.846] if (inherits(cond, "message")) { [13:14:10.846] muffled <- grepl(pattern, "muffleMessage") [13:14:10.846] if (muffled) [13:14:10.846] invokeRestart("muffleMessage") [13:14:10.846] } [13:14:10.846] else if (inherits(cond, "warning")) { [13:14:10.846] muffled <- grepl(pattern, "muffleWarning") [13:14:10.846] if (muffled) [13:14:10.846] invokeRestart("muffleWarning") [13:14:10.846] } [13:14:10.846] else if (inherits(cond, "condition")) { [13:14:10.846] if (!is.null(pattern)) { [13:14:10.846] computeRestarts <- base::computeRestarts [13:14:10.846] grepl <- base::grepl [13:14:10.846] restarts <- computeRestarts(cond) [13:14:10.846] for (restart in restarts) { [13:14:10.846] name <- restart$name [13:14:10.846] if (is.null(name)) [13:14:10.846] next [13:14:10.846] if (!grepl(pattern, name)) [13:14:10.846] next [13:14:10.846] invokeRestart(restart) [13:14:10.846] muffled <- TRUE [13:14:10.846] break [13:14:10.846] } [13:14:10.846] } [13:14:10.846] } [13:14:10.846] invisible(muffled) [13:14:10.846] } [13:14:10.846] muffleCondition(cond, pattern = "^muffle") [13:14:10.846] } [13:14:10.846] } [13:14:10.846] } [13:14:10.846] })) [13:14:10.846] }, error = function(ex) { [13:14:10.846] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.846] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.846] ...future.rng), started = ...future.startTime, [13:14:10.846] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.846] version = "1.8"), class = "FutureResult") [13:14:10.846] }, finally = { [13:14:10.846] if (!identical(...future.workdir, getwd())) [13:14:10.846] setwd(...future.workdir) [13:14:10.846] { [13:14:10.846] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.846] ...future.oldOptions$nwarnings <- NULL [13:14:10.846] } [13:14:10.846] base::options(...future.oldOptions) [13:14:10.846] if (.Platform$OS.type == "windows") { [13:14:10.846] old_names <- names(...future.oldEnvVars) [13:14:10.846] envs <- base::Sys.getenv() [13:14:10.846] names <- names(envs) [13:14:10.846] common <- intersect(names, old_names) [13:14:10.846] added <- setdiff(names, old_names) [13:14:10.846] removed <- setdiff(old_names, names) [13:14:10.846] changed <- common[...future.oldEnvVars[common] != [13:14:10.846] envs[common]] [13:14:10.846] NAMES <- toupper(changed) [13:14:10.846] args <- list() [13:14:10.846] for (kk in seq_along(NAMES)) { [13:14:10.846] name <- changed[[kk]] [13:14:10.846] NAME <- NAMES[[kk]] [13:14:10.846] if (name != NAME && is.element(NAME, old_names)) [13:14:10.846] next [13:14:10.846] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.846] } [13:14:10.846] NAMES <- toupper(added) [13:14:10.846] for (kk in seq_along(NAMES)) { [13:14:10.846] name <- added[[kk]] [13:14:10.846] NAME <- NAMES[[kk]] [13:14:10.846] if (name != NAME && is.element(NAME, old_names)) [13:14:10.846] next [13:14:10.846] args[[name]] <- "" [13:14:10.846] } [13:14:10.846] NAMES <- toupper(removed) [13:14:10.846] for (kk in seq_along(NAMES)) { [13:14:10.846] name <- removed[[kk]] [13:14:10.846] NAME <- NAMES[[kk]] [13:14:10.846] if (name != NAME && is.element(NAME, old_names)) [13:14:10.846] next [13:14:10.846] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.846] } [13:14:10.846] if (length(args) > 0) [13:14:10.846] base::do.call(base::Sys.setenv, args = args) [13:14:10.846] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.846] } [13:14:10.846] else { [13:14:10.846] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.846] } [13:14:10.846] { [13:14:10.846] if (base::length(...future.futureOptionsAdded) > [13:14:10.846] 0L) { [13:14:10.846] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.846] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.846] base::options(opts) [13:14:10.846] } [13:14:10.846] { [13:14:10.846] { [13:14:10.846] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.846] NULL [13:14:10.846] } [13:14:10.846] options(future.plan = NULL) [13:14:10.846] if (is.na(NA_character_)) [13:14:10.846] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.846] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.846] future::plan(list(function (..., workers = availableCores(), [13:14:10.846] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.846] envir = parent.frame()) [13:14:10.846] { [13:14:10.846] if (is.function(workers)) [13:14:10.846] workers <- workers() [13:14:10.846] workers <- structure(as.integer(workers), [13:14:10.846] class = class(workers)) [13:14:10.846] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.846] workers >= 1) [13:14:10.846] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.846] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.846] } [13:14:10.846] future <- MultisessionFuture(..., workers = workers, [13:14:10.846] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.846] envir = envir) [13:14:10.846] if (!future$lazy) [13:14:10.846] future <- run(future) [13:14:10.846] invisible(future) [13:14:10.846] }), .cleanup = FALSE, .init = FALSE) [13:14:10.846] } [13:14:10.846] } [13:14:10.846] } [13:14:10.846] }) [13:14:10.846] if (TRUE) { [13:14:10.846] base::sink(type = "output", split = FALSE) [13:14:10.846] if (TRUE) { [13:14:10.846] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.846] } [13:14:10.846] else { [13:14:10.846] ...future.result["stdout"] <- base::list(NULL) [13:14:10.846] } [13:14:10.846] base::close(...future.stdout) [13:14:10.846] ...future.stdout <- NULL [13:14:10.846] } [13:14:10.846] ...future.result$conditions <- ...future.conditions [13:14:10.846] ...future.result$finished <- base::Sys.time() [13:14:10.846] ...future.result [13:14:10.846] } [13:14:10.851] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:10.852] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:10.852] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:10.852] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.853] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.853] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:10.854] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:10.854] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.854] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.855] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.855] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.855] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:10.856] MultisessionFuture started [13:14:10.856] - Launch lazy future ... done [13:14:10.856] run() for 'MultisessionFuture' ... done [13:14:10.856] Created future: [13:14:10.872] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.876] - Validating connection of MultisessionFuture [13:14:10.876] - received message: FutureResult [13:14:10.876] - Received FutureResult [13:14:10.876] - Erased future from FutureRegistry [13:14:10.876] result() for ClusterFuture ... [13:14:10.877] - result already collected: FutureResult [13:14:10.877] result() for ClusterFuture ... done [13:14:10.877] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.857] MultisessionFuture: [13:14:10.857] Label: 'future_sapply-1' [13:14:10.857] Expression: [13:14:10.857] { [13:14:10.857] do.call(function(...) { [13:14:10.857] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.857] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.857] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.857] on.exit(options(oopts), add = TRUE) [13:14:10.857] } [13:14:10.857] { [13:14:10.857] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.857] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.857] ...future.FUN(...future.X_jj, ...) [13:14:10.857] }) [13:14:10.857] } [13:14:10.857] }, args = future.call.arguments) [13:14:10.857] } [13:14:10.857] Lazy evaluation: FALSE [13:14:10.857] Asynchronous evaluation: TRUE [13:14:10.857] Local evaluation: TRUE [13:14:10.857] Environment: R_GlobalEnv [13:14:10.857] Capture standard output: TRUE [13:14:10.857] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.857] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.857] Packages: [13:14:10.857] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.857] Resolved: TRUE [13:14:10.857] Value: [13:14:10.857] Conditions captured: [13:14:10.857] Early signaling: FALSE [13:14:10.857] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.857] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.878] Chunk #1 of 2 ... DONE [13:14:10.878] Chunk #2 of 2 ... [13:14:10.878] - Finding globals in 'X' for chunk #2 ... [13:14:10.878] getGlobalsAndPackages() ... [13:14:10.878] Searching for globals... [13:14:10.879] [13:14:10.879] Searching for globals ... DONE [13:14:10.879] - globals: [0] [13:14:10.879] getGlobalsAndPackages() ... DONE [13:14:10.879] + additional globals found: [n=0] [13:14:10.880] + additional namespaces needed: [n=0] [13:14:10.880] - Finding globals in 'X' for chunk #2 ... DONE [13:14:10.880] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.880] - seeds: [13:14:10.880] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.880] getGlobalsAndPackages() ... [13:14:10.881] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.881] Resolving globals: FALSE [13:14:10.881] Tweak future expression to call with '...' arguments ... [13:14:10.881] { [13:14:10.881] do.call(function(...) { [13:14:10.881] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.881] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.881] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.881] on.exit(options(oopts), add = TRUE) [13:14:10.881] } [13:14:10.881] { [13:14:10.881] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.881] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.881] ...future.FUN(...future.X_jj, ...) [13:14:10.881] }) [13:14:10.881] } [13:14:10.881] }, args = future.call.arguments) [13:14:10.881] } [13:14:10.882] Tweak future expression to call with '...' arguments ... DONE [13:14:10.882] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.882] [13:14:10.882] getGlobalsAndPackages() ... DONE [13:14:10.883] run() for 'Future' ... [13:14:10.883] - state: 'created' [13:14:10.883] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.897] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.897] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.898] - Field: 'node' [13:14:10.898] - Field: 'label' [13:14:10.898] - Field: 'local' [13:14:10.898] - Field: 'owner' [13:14:10.898] - Field: 'envir' [13:14:10.899] - Field: 'workers' [13:14:10.899] - Field: 'packages' [13:14:10.899] - Field: 'gc' [13:14:10.899] - Field: 'conditions' [13:14:10.899] - Field: 'persistent' [13:14:10.899] - Field: 'expr' [13:14:10.900] - Field: 'uuid' [13:14:10.900] - Field: 'seed' [13:14:10.900] - Field: 'version' [13:14:10.900] - Field: 'result' [13:14:10.900] - Field: 'asynchronous' [13:14:10.900] - Field: 'calls' [13:14:10.901] - Field: 'globals' [13:14:10.901] - Field: 'stdout' [13:14:10.901] - Field: 'earlySignal' [13:14:10.901] - Field: 'lazy' [13:14:10.901] - Field: 'state' [13:14:10.901] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.902] - Launch lazy future ... [13:14:10.902] Packages needed by the future expression (n = 0): [13:14:10.902] Packages needed by future strategies (n = 0): [13:14:10.903] { [13:14:10.903] { [13:14:10.903] { [13:14:10.903] ...future.startTime <- base::Sys.time() [13:14:10.903] { [13:14:10.903] { [13:14:10.903] { [13:14:10.903] { [13:14:10.903] base::local({ [13:14:10.903] has_future <- base::requireNamespace("future", [13:14:10.903] quietly = TRUE) [13:14:10.903] if (has_future) { [13:14:10.903] ns <- base::getNamespace("future") [13:14:10.903] version <- ns[[".package"]][["version"]] [13:14:10.903] if (is.null(version)) [13:14:10.903] version <- utils::packageVersion("future") [13:14:10.903] } [13:14:10.903] else { [13:14:10.903] version <- NULL [13:14:10.903] } [13:14:10.903] if (!has_future || version < "1.8.0") { [13:14:10.903] info <- base::c(r_version = base::gsub("R version ", [13:14:10.903] "", base::R.version$version.string), [13:14:10.903] platform = base::sprintf("%s (%s-bit)", [13:14:10.903] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.903] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.903] "release", "version")], collapse = " "), [13:14:10.903] hostname = base::Sys.info()[["nodename"]]) [13:14:10.903] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.903] info) [13:14:10.903] info <- base::paste(info, collapse = "; ") [13:14:10.903] if (!has_future) { [13:14:10.903] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.903] info) [13:14:10.903] } [13:14:10.903] else { [13:14:10.903] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.903] info, version) [13:14:10.903] } [13:14:10.903] base::stop(msg) [13:14:10.903] } [13:14:10.903] }) [13:14:10.903] } [13:14:10.903] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.903] base::options(mc.cores = 1L) [13:14:10.903] } [13:14:10.903] options(future.plan = NULL) [13:14:10.903] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.903] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.903] } [13:14:10.903] ...future.workdir <- getwd() [13:14:10.903] } [13:14:10.903] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.903] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.903] } [13:14:10.903] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.903] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.903] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.903] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.903] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.903] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.903] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.903] base::names(...future.oldOptions)) [13:14:10.903] } [13:14:10.903] if (FALSE) { [13:14:10.903] } [13:14:10.903] else { [13:14:10.903] if (TRUE) { [13:14:10.903] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.903] open = "w") [13:14:10.903] } [13:14:10.903] else { [13:14:10.903] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.903] windows = "NUL", "/dev/null"), open = "w") [13:14:10.903] } [13:14:10.903] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.903] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.903] base::sink(type = "output", split = FALSE) [13:14:10.903] base::close(...future.stdout) [13:14:10.903] }, add = TRUE) [13:14:10.903] } [13:14:10.903] ...future.frame <- base::sys.nframe() [13:14:10.903] ...future.conditions <- base::list() [13:14:10.903] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.903] if (FALSE) { [13:14:10.903] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.903] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.903] } [13:14:10.903] ...future.result <- base::tryCatch({ [13:14:10.903] base::withCallingHandlers({ [13:14:10.903] ...future.value <- base::withVisible(base::local({ [13:14:10.903] ...future.makeSendCondition <- local({ [13:14:10.903] sendCondition <- NULL [13:14:10.903] function(frame = 1L) { [13:14:10.903] if (is.function(sendCondition)) [13:14:10.903] return(sendCondition) [13:14:10.903] ns <- getNamespace("parallel") [13:14:10.903] if (exists("sendData", mode = "function", [13:14:10.903] envir = ns)) { [13:14:10.903] parallel_sendData <- get("sendData", mode = "function", [13:14:10.903] envir = ns) [13:14:10.903] envir <- sys.frame(frame) [13:14:10.903] master <- NULL [13:14:10.903] while (!identical(envir, .GlobalEnv) && [13:14:10.903] !identical(envir, emptyenv())) { [13:14:10.903] if (exists("master", mode = "list", envir = envir, [13:14:10.903] inherits = FALSE)) { [13:14:10.903] master <- get("master", mode = "list", [13:14:10.903] envir = envir, inherits = FALSE) [13:14:10.903] if (inherits(master, c("SOCKnode", [13:14:10.903] "SOCK0node"))) { [13:14:10.903] sendCondition <<- function(cond) { [13:14:10.903] data <- list(type = "VALUE", value = cond, [13:14:10.903] success = TRUE) [13:14:10.903] parallel_sendData(master, data) [13:14:10.903] } [13:14:10.903] return(sendCondition) [13:14:10.903] } [13:14:10.903] } [13:14:10.903] frame <- frame + 1L [13:14:10.903] envir <- sys.frame(frame) [13:14:10.903] } [13:14:10.903] } [13:14:10.903] sendCondition <<- function(cond) NULL [13:14:10.903] } [13:14:10.903] }) [13:14:10.903] withCallingHandlers({ [13:14:10.903] { [13:14:10.903] do.call(function(...) { [13:14:10.903] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.903] if (!identical(...future.globals.maxSize.org, [13:14:10.903] ...future.globals.maxSize)) { [13:14:10.903] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.903] on.exit(options(oopts), add = TRUE) [13:14:10.903] } [13:14:10.903] { [13:14:10.903] lapply(seq_along(...future.elements_ii), [13:14:10.903] FUN = function(jj) { [13:14:10.903] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.903] ...future.FUN(...future.X_jj, ...) [13:14:10.903] }) [13:14:10.903] } [13:14:10.903] }, args = future.call.arguments) [13:14:10.903] } [13:14:10.903] }, immediateCondition = function(cond) { [13:14:10.903] sendCondition <- ...future.makeSendCondition() [13:14:10.903] sendCondition(cond) [13:14:10.903] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.903] { [13:14:10.903] inherits <- base::inherits [13:14:10.903] invokeRestart <- base::invokeRestart [13:14:10.903] is.null <- base::is.null [13:14:10.903] muffled <- FALSE [13:14:10.903] if (inherits(cond, "message")) { [13:14:10.903] muffled <- grepl(pattern, "muffleMessage") [13:14:10.903] if (muffled) [13:14:10.903] invokeRestart("muffleMessage") [13:14:10.903] } [13:14:10.903] else if (inherits(cond, "warning")) { [13:14:10.903] muffled <- grepl(pattern, "muffleWarning") [13:14:10.903] if (muffled) [13:14:10.903] invokeRestart("muffleWarning") [13:14:10.903] } [13:14:10.903] else if (inherits(cond, "condition")) { [13:14:10.903] if (!is.null(pattern)) { [13:14:10.903] computeRestarts <- base::computeRestarts [13:14:10.903] grepl <- base::grepl [13:14:10.903] restarts <- computeRestarts(cond) [13:14:10.903] for (restart in restarts) { [13:14:10.903] name <- restart$name [13:14:10.903] if (is.null(name)) [13:14:10.903] next [13:14:10.903] if (!grepl(pattern, name)) [13:14:10.903] next [13:14:10.903] invokeRestart(restart) [13:14:10.903] muffled <- TRUE [13:14:10.903] break [13:14:10.903] } [13:14:10.903] } [13:14:10.903] } [13:14:10.903] invisible(muffled) [13:14:10.903] } [13:14:10.903] muffleCondition(cond) [13:14:10.903] }) [13:14:10.903] })) [13:14:10.903] future::FutureResult(value = ...future.value$value, [13:14:10.903] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.903] ...future.rng), globalenv = if (FALSE) [13:14:10.903] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.903] ...future.globalenv.names)) [13:14:10.903] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.903] }, condition = base::local({ [13:14:10.903] c <- base::c [13:14:10.903] inherits <- base::inherits [13:14:10.903] invokeRestart <- base::invokeRestart [13:14:10.903] length <- base::length [13:14:10.903] list <- base::list [13:14:10.903] seq.int <- base::seq.int [13:14:10.903] signalCondition <- base::signalCondition [13:14:10.903] sys.calls <- base::sys.calls [13:14:10.903] `[[` <- base::`[[` [13:14:10.903] `+` <- base::`+` [13:14:10.903] `<<-` <- base::`<<-` [13:14:10.903] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.903] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.903] 3L)] [13:14:10.903] } [13:14:10.903] function(cond) { [13:14:10.903] is_error <- inherits(cond, "error") [13:14:10.903] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.903] NULL) [13:14:10.903] if (is_error) { [13:14:10.903] sessionInformation <- function() { [13:14:10.903] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.903] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.903] search = base::search(), system = base::Sys.info()) [13:14:10.903] } [13:14:10.903] ...future.conditions[[length(...future.conditions) + [13:14:10.903] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.903] cond$call), session = sessionInformation(), [13:14:10.903] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.903] signalCondition(cond) [13:14:10.903] } [13:14:10.903] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.903] "immediateCondition"))) { [13:14:10.903] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.903] ...future.conditions[[length(...future.conditions) + [13:14:10.903] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.903] if (TRUE && !signal) { [13:14:10.903] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.903] { [13:14:10.903] inherits <- base::inherits [13:14:10.903] invokeRestart <- base::invokeRestart [13:14:10.903] is.null <- base::is.null [13:14:10.903] muffled <- FALSE [13:14:10.903] if (inherits(cond, "message")) { [13:14:10.903] muffled <- grepl(pattern, "muffleMessage") [13:14:10.903] if (muffled) [13:14:10.903] invokeRestart("muffleMessage") [13:14:10.903] } [13:14:10.903] else if (inherits(cond, "warning")) { [13:14:10.903] muffled <- grepl(pattern, "muffleWarning") [13:14:10.903] if (muffled) [13:14:10.903] invokeRestart("muffleWarning") [13:14:10.903] } [13:14:10.903] else if (inherits(cond, "condition")) { [13:14:10.903] if (!is.null(pattern)) { [13:14:10.903] computeRestarts <- base::computeRestarts [13:14:10.903] grepl <- base::grepl [13:14:10.903] restarts <- computeRestarts(cond) [13:14:10.903] for (restart in restarts) { [13:14:10.903] name <- restart$name [13:14:10.903] if (is.null(name)) [13:14:10.903] next [13:14:10.903] if (!grepl(pattern, name)) [13:14:10.903] next [13:14:10.903] invokeRestart(restart) [13:14:10.903] muffled <- TRUE [13:14:10.903] break [13:14:10.903] } [13:14:10.903] } [13:14:10.903] } [13:14:10.903] invisible(muffled) [13:14:10.903] } [13:14:10.903] muffleCondition(cond, pattern = "^muffle") [13:14:10.903] } [13:14:10.903] } [13:14:10.903] else { [13:14:10.903] if (TRUE) { [13:14:10.903] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.903] { [13:14:10.903] inherits <- base::inherits [13:14:10.903] invokeRestart <- base::invokeRestart [13:14:10.903] is.null <- base::is.null [13:14:10.903] muffled <- FALSE [13:14:10.903] if (inherits(cond, "message")) { [13:14:10.903] muffled <- grepl(pattern, "muffleMessage") [13:14:10.903] if (muffled) [13:14:10.903] invokeRestart("muffleMessage") [13:14:10.903] } [13:14:10.903] else if (inherits(cond, "warning")) { [13:14:10.903] muffled <- grepl(pattern, "muffleWarning") [13:14:10.903] if (muffled) [13:14:10.903] invokeRestart("muffleWarning") [13:14:10.903] } [13:14:10.903] else if (inherits(cond, "condition")) { [13:14:10.903] if (!is.null(pattern)) { [13:14:10.903] computeRestarts <- base::computeRestarts [13:14:10.903] grepl <- base::grepl [13:14:10.903] restarts <- computeRestarts(cond) [13:14:10.903] for (restart in restarts) { [13:14:10.903] name <- restart$name [13:14:10.903] if (is.null(name)) [13:14:10.903] next [13:14:10.903] if (!grepl(pattern, name)) [13:14:10.903] next [13:14:10.903] invokeRestart(restart) [13:14:10.903] muffled <- TRUE [13:14:10.903] break [13:14:10.903] } [13:14:10.903] } [13:14:10.903] } [13:14:10.903] invisible(muffled) [13:14:10.903] } [13:14:10.903] muffleCondition(cond, pattern = "^muffle") [13:14:10.903] } [13:14:10.903] } [13:14:10.903] } [13:14:10.903] })) [13:14:10.903] }, error = function(ex) { [13:14:10.903] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.903] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.903] ...future.rng), started = ...future.startTime, [13:14:10.903] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.903] version = "1.8"), class = "FutureResult") [13:14:10.903] }, finally = { [13:14:10.903] if (!identical(...future.workdir, getwd())) [13:14:10.903] setwd(...future.workdir) [13:14:10.903] { [13:14:10.903] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.903] ...future.oldOptions$nwarnings <- NULL [13:14:10.903] } [13:14:10.903] base::options(...future.oldOptions) [13:14:10.903] if (.Platform$OS.type == "windows") { [13:14:10.903] old_names <- names(...future.oldEnvVars) [13:14:10.903] envs <- base::Sys.getenv() [13:14:10.903] names <- names(envs) [13:14:10.903] common <- intersect(names, old_names) [13:14:10.903] added <- setdiff(names, old_names) [13:14:10.903] removed <- setdiff(old_names, names) [13:14:10.903] changed <- common[...future.oldEnvVars[common] != [13:14:10.903] envs[common]] [13:14:10.903] NAMES <- toupper(changed) [13:14:10.903] args <- list() [13:14:10.903] for (kk in seq_along(NAMES)) { [13:14:10.903] name <- changed[[kk]] [13:14:10.903] NAME <- NAMES[[kk]] [13:14:10.903] if (name != NAME && is.element(NAME, old_names)) [13:14:10.903] next [13:14:10.903] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.903] } [13:14:10.903] NAMES <- toupper(added) [13:14:10.903] for (kk in seq_along(NAMES)) { [13:14:10.903] name <- added[[kk]] [13:14:10.903] NAME <- NAMES[[kk]] [13:14:10.903] if (name != NAME && is.element(NAME, old_names)) [13:14:10.903] next [13:14:10.903] args[[name]] <- "" [13:14:10.903] } [13:14:10.903] NAMES <- toupper(removed) [13:14:10.903] for (kk in seq_along(NAMES)) { [13:14:10.903] name <- removed[[kk]] [13:14:10.903] NAME <- NAMES[[kk]] [13:14:10.903] if (name != NAME && is.element(NAME, old_names)) [13:14:10.903] next [13:14:10.903] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.903] } [13:14:10.903] if (length(args) > 0) [13:14:10.903] base::do.call(base::Sys.setenv, args = args) [13:14:10.903] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.903] } [13:14:10.903] else { [13:14:10.903] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.903] } [13:14:10.903] { [13:14:10.903] if (base::length(...future.futureOptionsAdded) > [13:14:10.903] 0L) { [13:14:10.903] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.903] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.903] base::options(opts) [13:14:10.903] } [13:14:10.903] { [13:14:10.903] { [13:14:10.903] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.903] NULL [13:14:10.903] } [13:14:10.903] options(future.plan = NULL) [13:14:10.903] if (is.na(NA_character_)) [13:14:10.903] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.903] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.903] future::plan(list(function (..., workers = availableCores(), [13:14:10.903] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.903] envir = parent.frame()) [13:14:10.903] { [13:14:10.903] if (is.function(workers)) [13:14:10.903] workers <- workers() [13:14:10.903] workers <- structure(as.integer(workers), [13:14:10.903] class = class(workers)) [13:14:10.903] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.903] workers >= 1) [13:14:10.903] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.903] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.903] } [13:14:10.903] future <- MultisessionFuture(..., workers = workers, [13:14:10.903] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.903] envir = envir) [13:14:10.903] if (!future$lazy) [13:14:10.903] future <- run(future) [13:14:10.903] invisible(future) [13:14:10.903] }), .cleanup = FALSE, .init = FALSE) [13:14:10.903] } [13:14:10.903] } [13:14:10.903] } [13:14:10.903] }) [13:14:10.903] if (TRUE) { [13:14:10.903] base::sink(type = "output", split = FALSE) [13:14:10.903] if (TRUE) { [13:14:10.903] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.903] } [13:14:10.903] else { [13:14:10.903] ...future.result["stdout"] <- base::list(NULL) [13:14:10.903] } [13:14:10.903] base::close(...future.stdout) [13:14:10.903] ...future.stdout <- NULL [13:14:10.903] } [13:14:10.903] ...future.result$conditions <- ...future.conditions [13:14:10.903] ...future.result$finished <- base::Sys.time() [13:14:10.903] ...future.result [13:14:10.903] } [13:14:10.908] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:10.909] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:10.909] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:10.909] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.910] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.910] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:10.910] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:10.911] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.911] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.911] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.912] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.912] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:10.912] MultisessionFuture started [13:14:10.913] - Launch lazy future ... done [13:14:10.913] run() for 'MultisessionFuture' ... done [13:14:10.913] Created future: [13:14:10.929] receiveMessageFromWorker() for ClusterFuture ... [13:14:10.929] - Validating connection of MultisessionFuture [13:14:10.929] - received message: FutureResult [13:14:10.929] - Received FutureResult [13:14:10.929] - Erased future from FutureRegistry [13:14:10.930] result() for ClusterFuture ... [13:14:10.930] - result already collected: FutureResult [13:14:10.930] result() for ClusterFuture ... done [13:14:10.930] receiveMessageFromWorker() for ClusterFuture ... done [13:14:10.913] MultisessionFuture: [13:14:10.913] Label: 'future_sapply-2' [13:14:10.913] Expression: [13:14:10.913] { [13:14:10.913] do.call(function(...) { [13:14:10.913] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.913] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.913] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.913] on.exit(options(oopts), add = TRUE) [13:14:10.913] } [13:14:10.913] { [13:14:10.913] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.913] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.913] ...future.FUN(...future.X_jj, ...) [13:14:10.913] }) [13:14:10.913] } [13:14:10.913] }, args = future.call.arguments) [13:14:10.913] } [13:14:10.913] Lazy evaluation: FALSE [13:14:10.913] Asynchronous evaluation: TRUE [13:14:10.913] Local evaluation: TRUE [13:14:10.913] Environment: R_GlobalEnv [13:14:10.913] Capture standard output: TRUE [13:14:10.913] Capture condition classes: 'condition' (excluding 'nothing') [13:14:10.913] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:10.913] Packages: [13:14:10.913] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:10.913] Resolved: TRUE [13:14:10.913] Value: [13:14:10.913] Conditions captured: [13:14:10.913] Early signaling: FALSE [13:14:10.913] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:10.913] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.931] Chunk #2 of 2 ... DONE [13:14:10.931] Launching 2 futures (chunks) ... DONE [13:14:10.931] Resolving 2 futures (chunks) ... [13:14:10.931] resolve() on list ... [13:14:10.931] recursive: 0 [13:14:10.931] length: 2 [13:14:10.931] [13:14:10.932] Future #1 [13:14:10.932] result() for ClusterFuture ... [13:14:10.932] - result already collected: FutureResult [13:14:10.932] result() for ClusterFuture ... done [13:14:10.932] result() for ClusterFuture ... [13:14:10.932] - result already collected: FutureResult [13:14:10.933] result() for ClusterFuture ... done [13:14:10.933] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:10.933] - nx: 2 [13:14:10.933] - relay: TRUE [13:14:10.933] - stdout: TRUE [13:14:10.933] - signal: TRUE [13:14:10.934] - resignal: FALSE [13:14:10.934] - force: TRUE [13:14:10.934] - relayed: [n=2] FALSE, FALSE [13:14:10.934] - queued futures: [n=2] FALSE, FALSE [13:14:10.934] - until=1 [13:14:10.934] - relaying element #1 [13:14:10.934] result() for ClusterFuture ... [13:14:10.935] - result already collected: FutureResult [13:14:10.935] result() for ClusterFuture ... done [13:14:10.935] result() for ClusterFuture ... [13:14:10.935] - result already collected: FutureResult [13:14:10.935] result() for ClusterFuture ... done [13:14:10.935] result() for ClusterFuture ... [13:14:10.936] - result already collected: FutureResult [13:14:10.936] result() for ClusterFuture ... done [13:14:10.936] result() for ClusterFuture ... [13:14:10.936] - result already collected: FutureResult [13:14:10.936] result() for ClusterFuture ... done [13:14:10.936] - relayed: [n=2] TRUE, FALSE [13:14:10.937] - queued futures: [n=2] TRUE, FALSE [13:14:10.937] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:10.937] length: 1 (resolved future 1) [13:14:10.937] Future #2 [13:14:10.937] result() for ClusterFuture ... [13:14:10.937] - result already collected: FutureResult [13:14:10.938] result() for ClusterFuture ... done [13:14:10.938] result() for ClusterFuture ... [13:14:10.938] - result already collected: FutureResult [13:14:10.938] result() for ClusterFuture ... done [13:14:10.938] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:10.938] - nx: 2 [13:14:10.938] - relay: TRUE [13:14:10.939] - stdout: TRUE [13:14:10.939] - signal: TRUE [13:14:10.939] - resignal: FALSE [13:14:10.939] - force: TRUE [13:14:10.939] - relayed: [n=2] TRUE, FALSE [13:14:10.939] - queued futures: [n=2] TRUE, FALSE [13:14:10.940] - until=2 [13:14:10.940] - relaying element #2 [13:14:10.940] result() for ClusterFuture ... [13:14:10.940] - result already collected: FutureResult [13:14:10.940] result() for ClusterFuture ... done [13:14:10.940] result() for ClusterFuture ... [13:14:10.941] - result already collected: FutureResult [13:14:10.941] result() for ClusterFuture ... done [13:14:10.941] result() for ClusterFuture ... [13:14:10.941] - result already collected: FutureResult [13:14:10.941] result() for ClusterFuture ... done [13:14:10.941] result() for ClusterFuture ... [13:14:10.941] - result already collected: FutureResult [13:14:10.942] result() for ClusterFuture ... done [13:14:10.942] - relayed: [n=2] TRUE, TRUE [13:14:10.942] - queued futures: [n=2] TRUE, TRUE [13:14:10.942] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:10.942] length: 0 (resolved future 2) [13:14:10.942] Relaying remaining futures [13:14:10.943] signalConditionsASAP(NULL, pos=0) ... [13:14:10.943] - nx: 2 [13:14:10.943] - relay: TRUE [13:14:10.943] - stdout: TRUE [13:14:10.943] - signal: TRUE [13:14:10.943] - resignal: FALSE [13:14:10.943] - force: TRUE [13:14:10.944] - relayed: [n=2] TRUE, TRUE [13:14:10.944] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:10.944] - relayed: [n=2] TRUE, TRUE [13:14:10.944] - queued futures: [n=2] TRUE, TRUE [13:14:10.944] signalConditionsASAP(NULL, pos=0) ... done [13:14:10.944] resolve() on list ... DONE [13:14:10.945] result() for ClusterFuture ... [13:14:10.945] - result already collected: FutureResult [13:14:10.945] result() for ClusterFuture ... done [13:14:10.945] result() for ClusterFuture ... [13:14:10.945] - result already collected: FutureResult [13:14:10.945] result() for ClusterFuture ... done [13:14:10.946] result() for ClusterFuture ... [13:14:10.946] - result already collected: FutureResult [13:14:10.946] result() for ClusterFuture ... done [13:14:10.946] result() for ClusterFuture ... [13:14:10.946] - result already collected: FutureResult [13:14:10.946] result() for ClusterFuture ... done [13:14:10.947] - Number of value chunks collected: 2 [13:14:10.947] Resolving 2 futures (chunks) ... DONE [13:14:10.947] Reducing values from 2 chunks ... [13:14:10.947] - Number of values collected after concatenation: 3 [13:14:10.947] - Number of values expected: 3 [13:14:10.947] Reducing values from 2 chunks ... DONE [13:14:10.948] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:10.949] future_lapply() ... [13:14:10.952] Number of chunks: 2 [13:14:10.952] getGlobalsAndPackagesXApply() ... [13:14:10.953] - future.globals: TRUE [13:14:10.953] getGlobalsAndPackages() ... [13:14:10.953] Searching for globals... [13:14:10.954] - globals found: [2] 'FUN', 'UseMethod' [13:14:10.954] Searching for globals ... DONE [13:14:10.954] Resolving globals: FALSE [13:14:10.955] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:10.955] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:10.956] - globals: [1] 'FUN' [13:14:10.956] [13:14:10.956] getGlobalsAndPackages() ... DONE [13:14:10.956] - globals found/used: [n=1] 'FUN' [13:14:10.956] - needed namespaces: [n=0] [13:14:10.956] Finding globals ... DONE [13:14:10.957] - use_args: TRUE [13:14:10.957] - Getting '...' globals ... [13:14:10.957] resolve() on list ... [13:14:10.957] recursive: 0 [13:14:10.957] length: 1 [13:14:10.958] elements: '...' [13:14:10.958] length: 0 (resolved future 1) [13:14:10.958] resolve() on list ... DONE [13:14:10.958] - '...' content: [n=0] [13:14:10.958] List of 1 [13:14:10.958] $ ...: list() [13:14:10.958] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.958] - attr(*, "where")=List of 1 [13:14:10.958] ..$ ...: [13:14:10.958] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.958] - attr(*, "resolved")= logi TRUE [13:14:10.958] - attr(*, "total_size")= num NA [13:14:10.961] - Getting '...' globals ... DONE [13:14:10.962] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:10.962] List of 2 [13:14:10.962] $ ...future.FUN:function (x, ...) [13:14:10.962] $ ... : list() [13:14:10.962] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:10.962] - attr(*, "where")=List of 2 [13:14:10.962] ..$ ...future.FUN: [13:14:10.962] ..$ ... : [13:14:10.962] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:10.962] - attr(*, "resolved")= logi FALSE [13:14:10.962] - attr(*, "total_size")= num 1248 [13:14:10.965] Packages to be attached in all futures: [n=0] [13:14:10.965] getGlobalsAndPackagesXApply() ... DONE [13:14:10.965] Number of futures (= number of chunks): 2 [13:14:10.966] Launching 2 futures (chunks) ... [13:14:10.966] Chunk #1 of 2 ... [13:14:10.966] - Finding globals in 'X' for chunk #1 ... [13:14:10.966] getGlobalsAndPackages() ... [13:14:10.966] Searching for globals... [13:14:10.967] [13:14:10.967] Searching for globals ... DONE [13:14:10.967] - globals: [0] [13:14:10.967] getGlobalsAndPackages() ... DONE [13:14:10.967] + additional globals found: [n=0] [13:14:10.968] + additional namespaces needed: [n=0] [13:14:10.968] - Finding globals in 'X' for chunk #1 ... DONE [13:14:10.968] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:10.968] - seeds: [13:14:10.968] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.968] getGlobalsAndPackages() ... [13:14:10.969] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.969] Resolving globals: FALSE [13:14:10.969] Tweak future expression to call with '...' arguments ... [13:14:10.969] { [13:14:10.969] do.call(function(...) { [13:14:10.969] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.969] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:10.969] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.969] on.exit(options(oopts), add = TRUE) [13:14:10.969] } [13:14:10.969] { [13:14:10.969] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:10.969] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.969] ...future.FUN(...future.X_jj, ...) [13:14:10.969] }) [13:14:10.969] } [13:14:10.969] }, args = future.call.arguments) [13:14:10.969] } [13:14:10.969] Tweak future expression to call with '...' arguments ... DONE [13:14:10.970] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:10.970] [13:14:10.970] getGlobalsAndPackages() ... DONE [13:14:10.971] run() for 'Future' ... [13:14:10.971] - state: 'created' [13:14:10.971] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:10.985] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:10.985] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:10.985] - Field: 'node' [13:14:10.985] - Field: 'label' [13:14:10.986] - Field: 'local' [13:14:10.986] - Field: 'owner' [13:14:10.986] - Field: 'envir' [13:14:10.986] - Field: 'workers' [13:14:10.986] - Field: 'packages' [13:14:10.987] - Field: 'gc' [13:14:10.987] - Field: 'conditions' [13:14:10.987] - Field: 'persistent' [13:14:10.987] - Field: 'expr' [13:14:10.987] - Field: 'uuid' [13:14:10.987] - Field: 'seed' [13:14:10.988] - Field: 'version' [13:14:10.988] - Field: 'result' [13:14:10.988] - Field: 'asynchronous' [13:14:10.988] - Field: 'calls' [13:14:10.988] - Field: 'globals' [13:14:10.988] - Field: 'stdout' [13:14:10.989] - Field: 'earlySignal' [13:14:10.989] - Field: 'lazy' [13:14:10.989] - Field: 'state' [13:14:10.989] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:10.989] - Launch lazy future ... [13:14:10.990] Packages needed by the future expression (n = 0): [13:14:10.990] Packages needed by future strategies (n = 0): [13:14:10.990] { [13:14:10.990] { [13:14:10.990] { [13:14:10.990] ...future.startTime <- base::Sys.time() [13:14:10.990] { [13:14:10.990] { [13:14:10.990] { [13:14:10.990] { [13:14:10.990] base::local({ [13:14:10.990] has_future <- base::requireNamespace("future", [13:14:10.990] quietly = TRUE) [13:14:10.990] if (has_future) { [13:14:10.990] ns <- base::getNamespace("future") [13:14:10.990] version <- ns[[".package"]][["version"]] [13:14:10.990] if (is.null(version)) [13:14:10.990] version <- utils::packageVersion("future") [13:14:10.990] } [13:14:10.990] else { [13:14:10.990] version <- NULL [13:14:10.990] } [13:14:10.990] if (!has_future || version < "1.8.0") { [13:14:10.990] info <- base::c(r_version = base::gsub("R version ", [13:14:10.990] "", base::R.version$version.string), [13:14:10.990] platform = base::sprintf("%s (%s-bit)", [13:14:10.990] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:10.990] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:10.990] "release", "version")], collapse = " "), [13:14:10.990] hostname = base::Sys.info()[["nodename"]]) [13:14:10.990] info <- base::sprintf("%s: %s", base::names(info), [13:14:10.990] info) [13:14:10.990] info <- base::paste(info, collapse = "; ") [13:14:10.990] if (!has_future) { [13:14:10.990] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:10.990] info) [13:14:10.990] } [13:14:10.990] else { [13:14:10.990] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:10.990] info, version) [13:14:10.990] } [13:14:10.990] base::stop(msg) [13:14:10.990] } [13:14:10.990] }) [13:14:10.990] } [13:14:10.990] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:10.990] base::options(mc.cores = 1L) [13:14:10.990] } [13:14:10.990] options(future.plan = NULL) [13:14:10.990] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.990] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:10.990] } [13:14:10.990] ...future.workdir <- getwd() [13:14:10.990] } [13:14:10.990] ...future.oldOptions <- base::as.list(base::.Options) [13:14:10.990] ...future.oldEnvVars <- base::Sys.getenv() [13:14:10.990] } [13:14:10.990] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:10.990] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:10.990] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:10.990] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:10.990] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:10.990] future.stdout.windows.reencode = NULL, width = 80L) [13:14:10.990] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:10.990] base::names(...future.oldOptions)) [13:14:10.990] } [13:14:10.990] if (FALSE) { [13:14:10.990] } [13:14:10.990] else { [13:14:10.990] if (TRUE) { [13:14:10.990] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:10.990] open = "w") [13:14:10.990] } [13:14:10.990] else { [13:14:10.990] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:10.990] windows = "NUL", "/dev/null"), open = "w") [13:14:10.990] } [13:14:10.990] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:10.990] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:10.990] base::sink(type = "output", split = FALSE) [13:14:10.990] base::close(...future.stdout) [13:14:10.990] }, add = TRUE) [13:14:10.990] } [13:14:10.990] ...future.frame <- base::sys.nframe() [13:14:10.990] ...future.conditions <- base::list() [13:14:10.990] ...future.rng <- base::globalenv()$.Random.seed [13:14:10.990] if (FALSE) { [13:14:10.990] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:10.990] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:10.990] } [13:14:10.990] ...future.result <- base::tryCatch({ [13:14:10.990] base::withCallingHandlers({ [13:14:10.990] ...future.value <- base::withVisible(base::local({ [13:14:10.990] ...future.makeSendCondition <- local({ [13:14:10.990] sendCondition <- NULL [13:14:10.990] function(frame = 1L) { [13:14:10.990] if (is.function(sendCondition)) [13:14:10.990] return(sendCondition) [13:14:10.990] ns <- getNamespace("parallel") [13:14:10.990] if (exists("sendData", mode = "function", [13:14:10.990] envir = ns)) { [13:14:10.990] parallel_sendData <- get("sendData", mode = "function", [13:14:10.990] envir = ns) [13:14:10.990] envir <- sys.frame(frame) [13:14:10.990] master <- NULL [13:14:10.990] while (!identical(envir, .GlobalEnv) && [13:14:10.990] !identical(envir, emptyenv())) { [13:14:10.990] if (exists("master", mode = "list", envir = envir, [13:14:10.990] inherits = FALSE)) { [13:14:10.990] master <- get("master", mode = "list", [13:14:10.990] envir = envir, inherits = FALSE) [13:14:10.990] if (inherits(master, c("SOCKnode", [13:14:10.990] "SOCK0node"))) { [13:14:10.990] sendCondition <<- function(cond) { [13:14:10.990] data <- list(type = "VALUE", value = cond, [13:14:10.990] success = TRUE) [13:14:10.990] parallel_sendData(master, data) [13:14:10.990] } [13:14:10.990] return(sendCondition) [13:14:10.990] } [13:14:10.990] } [13:14:10.990] frame <- frame + 1L [13:14:10.990] envir <- sys.frame(frame) [13:14:10.990] } [13:14:10.990] } [13:14:10.990] sendCondition <<- function(cond) NULL [13:14:10.990] } [13:14:10.990] }) [13:14:10.990] withCallingHandlers({ [13:14:10.990] { [13:14:10.990] do.call(function(...) { [13:14:10.990] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:10.990] if (!identical(...future.globals.maxSize.org, [13:14:10.990] ...future.globals.maxSize)) { [13:14:10.990] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:10.990] on.exit(options(oopts), add = TRUE) [13:14:10.990] } [13:14:10.990] { [13:14:10.990] lapply(seq_along(...future.elements_ii), [13:14:10.990] FUN = function(jj) { [13:14:10.990] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:10.990] ...future.FUN(...future.X_jj, ...) [13:14:10.990] }) [13:14:10.990] } [13:14:10.990] }, args = future.call.arguments) [13:14:10.990] } [13:14:10.990] }, immediateCondition = function(cond) { [13:14:10.990] sendCondition <- ...future.makeSendCondition() [13:14:10.990] sendCondition(cond) [13:14:10.990] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.990] { [13:14:10.990] inherits <- base::inherits [13:14:10.990] invokeRestart <- base::invokeRestart [13:14:10.990] is.null <- base::is.null [13:14:10.990] muffled <- FALSE [13:14:10.990] if (inherits(cond, "message")) { [13:14:10.990] muffled <- grepl(pattern, "muffleMessage") [13:14:10.990] if (muffled) [13:14:10.990] invokeRestart("muffleMessage") [13:14:10.990] } [13:14:10.990] else if (inherits(cond, "warning")) { [13:14:10.990] muffled <- grepl(pattern, "muffleWarning") [13:14:10.990] if (muffled) [13:14:10.990] invokeRestart("muffleWarning") [13:14:10.990] } [13:14:10.990] else if (inherits(cond, "condition")) { [13:14:10.990] if (!is.null(pattern)) { [13:14:10.990] computeRestarts <- base::computeRestarts [13:14:10.990] grepl <- base::grepl [13:14:10.990] restarts <- computeRestarts(cond) [13:14:10.990] for (restart in restarts) { [13:14:10.990] name <- restart$name [13:14:10.990] if (is.null(name)) [13:14:10.990] next [13:14:10.990] if (!grepl(pattern, name)) [13:14:10.990] next [13:14:10.990] invokeRestart(restart) [13:14:10.990] muffled <- TRUE [13:14:10.990] break [13:14:10.990] } [13:14:10.990] } [13:14:10.990] } [13:14:10.990] invisible(muffled) [13:14:10.990] } [13:14:10.990] muffleCondition(cond) [13:14:10.990] }) [13:14:10.990] })) [13:14:10.990] future::FutureResult(value = ...future.value$value, [13:14:10.990] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.990] ...future.rng), globalenv = if (FALSE) [13:14:10.990] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:10.990] ...future.globalenv.names)) [13:14:10.990] else NULL, started = ...future.startTime, version = "1.8") [13:14:10.990] }, condition = base::local({ [13:14:10.990] c <- base::c [13:14:10.990] inherits <- base::inherits [13:14:10.990] invokeRestart <- base::invokeRestart [13:14:10.990] length <- base::length [13:14:10.990] list <- base::list [13:14:10.990] seq.int <- base::seq.int [13:14:10.990] signalCondition <- base::signalCondition [13:14:10.990] sys.calls <- base::sys.calls [13:14:10.990] `[[` <- base::`[[` [13:14:10.990] `+` <- base::`+` [13:14:10.990] `<<-` <- base::`<<-` [13:14:10.990] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:10.990] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:10.990] 3L)] [13:14:10.990] } [13:14:10.990] function(cond) { [13:14:10.990] is_error <- inherits(cond, "error") [13:14:10.990] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:10.990] NULL) [13:14:10.990] if (is_error) { [13:14:10.990] sessionInformation <- function() { [13:14:10.990] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:10.990] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:10.990] search = base::search(), system = base::Sys.info()) [13:14:10.990] } [13:14:10.990] ...future.conditions[[length(...future.conditions) + [13:14:10.990] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:10.990] cond$call), session = sessionInformation(), [13:14:10.990] timestamp = base::Sys.time(), signaled = 0L) [13:14:10.990] signalCondition(cond) [13:14:10.990] } [13:14:10.990] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:10.990] "immediateCondition"))) { [13:14:10.990] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:10.990] ...future.conditions[[length(...future.conditions) + [13:14:10.990] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:10.990] if (TRUE && !signal) { [13:14:10.990] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.990] { [13:14:10.990] inherits <- base::inherits [13:14:10.990] invokeRestart <- base::invokeRestart [13:14:10.990] is.null <- base::is.null [13:14:10.990] muffled <- FALSE [13:14:10.990] if (inherits(cond, "message")) { [13:14:10.990] muffled <- grepl(pattern, "muffleMessage") [13:14:10.990] if (muffled) [13:14:10.990] invokeRestart("muffleMessage") [13:14:10.990] } [13:14:10.990] else if (inherits(cond, "warning")) { [13:14:10.990] muffled <- grepl(pattern, "muffleWarning") [13:14:10.990] if (muffled) [13:14:10.990] invokeRestart("muffleWarning") [13:14:10.990] } [13:14:10.990] else if (inherits(cond, "condition")) { [13:14:10.990] if (!is.null(pattern)) { [13:14:10.990] computeRestarts <- base::computeRestarts [13:14:10.990] grepl <- base::grepl [13:14:10.990] restarts <- computeRestarts(cond) [13:14:10.990] for (restart in restarts) { [13:14:10.990] name <- restart$name [13:14:10.990] if (is.null(name)) [13:14:10.990] next [13:14:10.990] if (!grepl(pattern, name)) [13:14:10.990] next [13:14:10.990] invokeRestart(restart) [13:14:10.990] muffled <- TRUE [13:14:10.990] break [13:14:10.990] } [13:14:10.990] } [13:14:10.990] } [13:14:10.990] invisible(muffled) [13:14:10.990] } [13:14:10.990] muffleCondition(cond, pattern = "^muffle") [13:14:10.990] } [13:14:10.990] } [13:14:10.990] else { [13:14:10.990] if (TRUE) { [13:14:10.990] muffleCondition <- function (cond, pattern = "^muffle") [13:14:10.990] { [13:14:10.990] inherits <- base::inherits [13:14:10.990] invokeRestart <- base::invokeRestart [13:14:10.990] is.null <- base::is.null [13:14:10.990] muffled <- FALSE [13:14:10.990] if (inherits(cond, "message")) { [13:14:10.990] muffled <- grepl(pattern, "muffleMessage") [13:14:10.990] if (muffled) [13:14:10.990] invokeRestart("muffleMessage") [13:14:10.990] } [13:14:10.990] else if (inherits(cond, "warning")) { [13:14:10.990] muffled <- grepl(pattern, "muffleWarning") [13:14:10.990] if (muffled) [13:14:10.990] invokeRestart("muffleWarning") [13:14:10.990] } [13:14:10.990] else if (inherits(cond, "condition")) { [13:14:10.990] if (!is.null(pattern)) { [13:14:10.990] computeRestarts <- base::computeRestarts [13:14:10.990] grepl <- base::grepl [13:14:10.990] restarts <- computeRestarts(cond) [13:14:10.990] for (restart in restarts) { [13:14:10.990] name <- restart$name [13:14:10.990] if (is.null(name)) [13:14:10.990] next [13:14:10.990] if (!grepl(pattern, name)) [13:14:10.990] next [13:14:10.990] invokeRestart(restart) [13:14:10.990] muffled <- TRUE [13:14:10.990] break [13:14:10.990] } [13:14:10.990] } [13:14:10.990] } [13:14:10.990] invisible(muffled) [13:14:10.990] } [13:14:10.990] muffleCondition(cond, pattern = "^muffle") [13:14:10.990] } [13:14:10.990] } [13:14:10.990] } [13:14:10.990] })) [13:14:10.990] }, error = function(ex) { [13:14:10.990] base::structure(base::list(value = NULL, visible = NULL, [13:14:10.990] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:10.990] ...future.rng), started = ...future.startTime, [13:14:10.990] finished = Sys.time(), session_uuid = NA_character_, [13:14:10.990] version = "1.8"), class = "FutureResult") [13:14:10.990] }, finally = { [13:14:10.990] if (!identical(...future.workdir, getwd())) [13:14:10.990] setwd(...future.workdir) [13:14:10.990] { [13:14:10.990] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:10.990] ...future.oldOptions$nwarnings <- NULL [13:14:10.990] } [13:14:10.990] base::options(...future.oldOptions) [13:14:10.990] if (.Platform$OS.type == "windows") { [13:14:10.990] old_names <- names(...future.oldEnvVars) [13:14:10.990] envs <- base::Sys.getenv() [13:14:10.990] names <- names(envs) [13:14:10.990] common <- intersect(names, old_names) [13:14:10.990] added <- setdiff(names, old_names) [13:14:10.990] removed <- setdiff(old_names, names) [13:14:10.990] changed <- common[...future.oldEnvVars[common] != [13:14:10.990] envs[common]] [13:14:10.990] NAMES <- toupper(changed) [13:14:10.990] args <- list() [13:14:10.990] for (kk in seq_along(NAMES)) { [13:14:10.990] name <- changed[[kk]] [13:14:10.990] NAME <- NAMES[[kk]] [13:14:10.990] if (name != NAME && is.element(NAME, old_names)) [13:14:10.990] next [13:14:10.990] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.990] } [13:14:10.990] NAMES <- toupper(added) [13:14:10.990] for (kk in seq_along(NAMES)) { [13:14:10.990] name <- added[[kk]] [13:14:10.990] NAME <- NAMES[[kk]] [13:14:10.990] if (name != NAME && is.element(NAME, old_names)) [13:14:10.990] next [13:14:10.990] args[[name]] <- "" [13:14:10.990] } [13:14:10.990] NAMES <- toupper(removed) [13:14:10.990] for (kk in seq_along(NAMES)) { [13:14:10.990] name <- removed[[kk]] [13:14:10.990] NAME <- NAMES[[kk]] [13:14:10.990] if (name != NAME && is.element(NAME, old_names)) [13:14:10.990] next [13:14:10.990] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:10.990] } [13:14:10.990] if (length(args) > 0) [13:14:10.990] base::do.call(base::Sys.setenv, args = args) [13:14:10.990] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:10.990] } [13:14:10.990] else { [13:14:10.990] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:10.990] } [13:14:10.990] { [13:14:10.990] if (base::length(...future.futureOptionsAdded) > [13:14:10.990] 0L) { [13:14:10.990] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:10.990] base::names(opts) <- ...future.futureOptionsAdded [13:14:10.990] base::options(opts) [13:14:10.990] } [13:14:10.990] { [13:14:10.990] { [13:14:10.990] base::options(mc.cores = ...future.mc.cores.old) [13:14:10.990] NULL [13:14:10.990] } [13:14:10.990] options(future.plan = NULL) [13:14:10.990] if (is.na(NA_character_)) [13:14:10.990] Sys.unsetenv("R_FUTURE_PLAN") [13:14:10.990] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:10.990] future::plan(list(function (..., workers = availableCores(), [13:14:10.990] lazy = FALSE, rscript_libs = .libPaths(), [13:14:10.990] envir = parent.frame()) [13:14:10.990] { [13:14:10.990] if (is.function(workers)) [13:14:10.990] workers <- workers() [13:14:10.990] workers <- structure(as.integer(workers), [13:14:10.990] class = class(workers)) [13:14:10.990] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:10.990] workers >= 1) [13:14:10.990] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:10.990] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:10.990] } [13:14:10.990] future <- MultisessionFuture(..., workers = workers, [13:14:10.990] lazy = lazy, rscript_libs = rscript_libs, [13:14:10.990] envir = envir) [13:14:10.990] if (!future$lazy) [13:14:10.990] future <- run(future) [13:14:10.990] invisible(future) [13:14:10.990] }), .cleanup = FALSE, .init = FALSE) [13:14:10.990] } [13:14:10.990] } [13:14:10.990] } [13:14:10.990] }) [13:14:10.990] if (TRUE) { [13:14:10.990] base::sink(type = "output", split = FALSE) [13:14:10.990] if (TRUE) { [13:14:10.990] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:10.990] } [13:14:10.990] else { [13:14:10.990] ...future.result["stdout"] <- base::list(NULL) [13:14:10.990] } [13:14:10.990] base::close(...future.stdout) [13:14:10.990] ...future.stdout <- NULL [13:14:10.990] } [13:14:10.990] ...future.result$conditions <- ...future.conditions [13:14:10.990] ...future.result$finished <- base::Sys.time() [13:14:10.990] ...future.result [13:14:10.990] } [13:14:10.996] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:10.996] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:10.997] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:10.997] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:10.997] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:10.998] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:10.998] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:10.998] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:10.999] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:10.999] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:10.999] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:10.999] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:11.000] MultisessionFuture started [13:14:11.000] - Launch lazy future ... done [13:14:11.000] run() for 'MultisessionFuture' ... done [13:14:11.001] Created future: [13:14:11.016] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.016] - Validating connection of MultisessionFuture [13:14:11.016] - received message: FutureResult [13:14:11.017] - Received FutureResult [13:14:11.017] - Erased future from FutureRegistry [13:14:11.017] result() for ClusterFuture ... [13:14:11.017] - result already collected: FutureResult [13:14:11.017] result() for ClusterFuture ... done [13:14:11.017] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.001] MultisessionFuture: [13:14:11.001] Label: 'future_sapply-1' [13:14:11.001] Expression: [13:14:11.001] { [13:14:11.001] do.call(function(...) { [13:14:11.001] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.001] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.001] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.001] on.exit(options(oopts), add = TRUE) [13:14:11.001] } [13:14:11.001] { [13:14:11.001] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.001] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.001] ...future.FUN(...future.X_jj, ...) [13:14:11.001] }) [13:14:11.001] } [13:14:11.001] }, args = future.call.arguments) [13:14:11.001] } [13:14:11.001] Lazy evaluation: FALSE [13:14:11.001] Asynchronous evaluation: TRUE [13:14:11.001] Local evaluation: TRUE [13:14:11.001] Environment: R_GlobalEnv [13:14:11.001] Capture standard output: TRUE [13:14:11.001] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.001] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.001] Packages: [13:14:11.001] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.001] Resolved: TRUE [13:14:11.001] Value: [13:14:11.001] Conditions captured: [13:14:11.001] Early signaling: FALSE [13:14:11.001] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.001] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.018] Chunk #1 of 2 ... DONE [13:14:11.018] Chunk #2 of 2 ... [13:14:11.018] - Finding globals in 'X' for chunk #2 ... [13:14:11.018] getGlobalsAndPackages() ... [13:14:11.018] Searching for globals... [13:14:11.019] [13:14:11.019] Searching for globals ... DONE [13:14:11.019] - globals: [0] [13:14:11.019] getGlobalsAndPackages() ... DONE [13:14:11.019] + additional globals found: [n=0] [13:14:11.020] + additional namespaces needed: [n=0] [13:14:11.020] - Finding globals in 'X' for chunk #2 ... DONE [13:14:11.020] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.020] - seeds: [13:14:11.020] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.020] getGlobalsAndPackages() ... [13:14:11.021] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.021] Resolving globals: FALSE [13:14:11.021] Tweak future expression to call with '...' arguments ... [13:14:11.021] { [13:14:11.021] do.call(function(...) { [13:14:11.021] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.021] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.021] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.021] on.exit(options(oopts), add = TRUE) [13:14:11.021] } [13:14:11.021] { [13:14:11.021] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.021] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.021] ...future.FUN(...future.X_jj, ...) [13:14:11.021] }) [13:14:11.021] } [13:14:11.021] }, args = future.call.arguments) [13:14:11.021] } [13:14:11.022] Tweak future expression to call with '...' arguments ... DONE [13:14:11.022] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.022] [13:14:11.022] getGlobalsAndPackages() ... DONE [13:14:11.023] run() for 'Future' ... [13:14:11.023] - state: 'created' [13:14:11.023] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.047] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.048] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.048] - Field: 'node' [13:14:11.048] - Field: 'label' [13:14:11.048] - Field: 'local' [13:14:11.048] - Field: 'owner' [13:14:11.049] - Field: 'envir' [13:14:11.049] - Field: 'workers' [13:14:11.049] - Field: 'packages' [13:14:11.049] - Field: 'gc' [13:14:11.049] - Field: 'conditions' [13:14:11.050] - Field: 'persistent' [13:14:11.050] - Field: 'expr' [13:14:11.050] - Field: 'uuid' [13:14:11.050] - Field: 'seed' [13:14:11.050] - Field: 'version' [13:14:11.050] - Field: 'result' [13:14:11.051] - Field: 'asynchronous' [13:14:11.051] - Field: 'calls' [13:14:11.051] - Field: 'globals' [13:14:11.051] - Field: 'stdout' [13:14:11.051] - Field: 'earlySignal' [13:14:11.052] - Field: 'lazy' [13:14:11.052] - Field: 'state' [13:14:11.052] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.052] - Launch lazy future ... [13:14:11.052] Packages needed by the future expression (n = 0): [13:14:11.053] Packages needed by future strategies (n = 0): [13:14:11.053] { [13:14:11.053] { [13:14:11.053] { [13:14:11.053] ...future.startTime <- base::Sys.time() [13:14:11.053] { [13:14:11.053] { [13:14:11.053] { [13:14:11.053] { [13:14:11.053] base::local({ [13:14:11.053] has_future <- base::requireNamespace("future", [13:14:11.053] quietly = TRUE) [13:14:11.053] if (has_future) { [13:14:11.053] ns <- base::getNamespace("future") [13:14:11.053] version <- ns[[".package"]][["version"]] [13:14:11.053] if (is.null(version)) [13:14:11.053] version <- utils::packageVersion("future") [13:14:11.053] } [13:14:11.053] else { [13:14:11.053] version <- NULL [13:14:11.053] } [13:14:11.053] if (!has_future || version < "1.8.0") { [13:14:11.053] info <- base::c(r_version = base::gsub("R version ", [13:14:11.053] "", base::R.version$version.string), [13:14:11.053] platform = base::sprintf("%s (%s-bit)", [13:14:11.053] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.053] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.053] "release", "version")], collapse = " "), [13:14:11.053] hostname = base::Sys.info()[["nodename"]]) [13:14:11.053] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.053] info) [13:14:11.053] info <- base::paste(info, collapse = "; ") [13:14:11.053] if (!has_future) { [13:14:11.053] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.053] info) [13:14:11.053] } [13:14:11.053] else { [13:14:11.053] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.053] info, version) [13:14:11.053] } [13:14:11.053] base::stop(msg) [13:14:11.053] } [13:14:11.053] }) [13:14:11.053] } [13:14:11.053] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.053] base::options(mc.cores = 1L) [13:14:11.053] } [13:14:11.053] options(future.plan = NULL) [13:14:11.053] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.053] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.053] } [13:14:11.053] ...future.workdir <- getwd() [13:14:11.053] } [13:14:11.053] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.053] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.053] } [13:14:11.053] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.053] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.053] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.053] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.053] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.053] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.053] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.053] base::names(...future.oldOptions)) [13:14:11.053] } [13:14:11.053] if (FALSE) { [13:14:11.053] } [13:14:11.053] else { [13:14:11.053] if (TRUE) { [13:14:11.053] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.053] open = "w") [13:14:11.053] } [13:14:11.053] else { [13:14:11.053] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.053] windows = "NUL", "/dev/null"), open = "w") [13:14:11.053] } [13:14:11.053] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.053] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.053] base::sink(type = "output", split = FALSE) [13:14:11.053] base::close(...future.stdout) [13:14:11.053] }, add = TRUE) [13:14:11.053] } [13:14:11.053] ...future.frame <- base::sys.nframe() [13:14:11.053] ...future.conditions <- base::list() [13:14:11.053] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.053] if (FALSE) { [13:14:11.053] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.053] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.053] } [13:14:11.053] ...future.result <- base::tryCatch({ [13:14:11.053] base::withCallingHandlers({ [13:14:11.053] ...future.value <- base::withVisible(base::local({ [13:14:11.053] ...future.makeSendCondition <- local({ [13:14:11.053] sendCondition <- NULL [13:14:11.053] function(frame = 1L) { [13:14:11.053] if (is.function(sendCondition)) [13:14:11.053] return(sendCondition) [13:14:11.053] ns <- getNamespace("parallel") [13:14:11.053] if (exists("sendData", mode = "function", [13:14:11.053] envir = ns)) { [13:14:11.053] parallel_sendData <- get("sendData", mode = "function", [13:14:11.053] envir = ns) [13:14:11.053] envir <- sys.frame(frame) [13:14:11.053] master <- NULL [13:14:11.053] while (!identical(envir, .GlobalEnv) && [13:14:11.053] !identical(envir, emptyenv())) { [13:14:11.053] if (exists("master", mode = "list", envir = envir, [13:14:11.053] inherits = FALSE)) { [13:14:11.053] master <- get("master", mode = "list", [13:14:11.053] envir = envir, inherits = FALSE) [13:14:11.053] if (inherits(master, c("SOCKnode", [13:14:11.053] "SOCK0node"))) { [13:14:11.053] sendCondition <<- function(cond) { [13:14:11.053] data <- list(type = "VALUE", value = cond, [13:14:11.053] success = TRUE) [13:14:11.053] parallel_sendData(master, data) [13:14:11.053] } [13:14:11.053] return(sendCondition) [13:14:11.053] } [13:14:11.053] } [13:14:11.053] frame <- frame + 1L [13:14:11.053] envir <- sys.frame(frame) [13:14:11.053] } [13:14:11.053] } [13:14:11.053] sendCondition <<- function(cond) NULL [13:14:11.053] } [13:14:11.053] }) [13:14:11.053] withCallingHandlers({ [13:14:11.053] { [13:14:11.053] do.call(function(...) { [13:14:11.053] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.053] if (!identical(...future.globals.maxSize.org, [13:14:11.053] ...future.globals.maxSize)) { [13:14:11.053] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.053] on.exit(options(oopts), add = TRUE) [13:14:11.053] } [13:14:11.053] { [13:14:11.053] lapply(seq_along(...future.elements_ii), [13:14:11.053] FUN = function(jj) { [13:14:11.053] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.053] ...future.FUN(...future.X_jj, ...) [13:14:11.053] }) [13:14:11.053] } [13:14:11.053] }, args = future.call.arguments) [13:14:11.053] } [13:14:11.053] }, immediateCondition = function(cond) { [13:14:11.053] sendCondition <- ...future.makeSendCondition() [13:14:11.053] sendCondition(cond) [13:14:11.053] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.053] { [13:14:11.053] inherits <- base::inherits [13:14:11.053] invokeRestart <- base::invokeRestart [13:14:11.053] is.null <- base::is.null [13:14:11.053] muffled <- FALSE [13:14:11.053] if (inherits(cond, "message")) { [13:14:11.053] muffled <- grepl(pattern, "muffleMessage") [13:14:11.053] if (muffled) [13:14:11.053] invokeRestart("muffleMessage") [13:14:11.053] } [13:14:11.053] else if (inherits(cond, "warning")) { [13:14:11.053] muffled <- grepl(pattern, "muffleWarning") [13:14:11.053] if (muffled) [13:14:11.053] invokeRestart("muffleWarning") [13:14:11.053] } [13:14:11.053] else if (inherits(cond, "condition")) { [13:14:11.053] if (!is.null(pattern)) { [13:14:11.053] computeRestarts <- base::computeRestarts [13:14:11.053] grepl <- base::grepl [13:14:11.053] restarts <- computeRestarts(cond) [13:14:11.053] for (restart in restarts) { [13:14:11.053] name <- restart$name [13:14:11.053] if (is.null(name)) [13:14:11.053] next [13:14:11.053] if (!grepl(pattern, name)) [13:14:11.053] next [13:14:11.053] invokeRestart(restart) [13:14:11.053] muffled <- TRUE [13:14:11.053] break [13:14:11.053] } [13:14:11.053] } [13:14:11.053] } [13:14:11.053] invisible(muffled) [13:14:11.053] } [13:14:11.053] muffleCondition(cond) [13:14:11.053] }) [13:14:11.053] })) [13:14:11.053] future::FutureResult(value = ...future.value$value, [13:14:11.053] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.053] ...future.rng), globalenv = if (FALSE) [13:14:11.053] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.053] ...future.globalenv.names)) [13:14:11.053] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.053] }, condition = base::local({ [13:14:11.053] c <- base::c [13:14:11.053] inherits <- base::inherits [13:14:11.053] invokeRestart <- base::invokeRestart [13:14:11.053] length <- base::length [13:14:11.053] list <- base::list [13:14:11.053] seq.int <- base::seq.int [13:14:11.053] signalCondition <- base::signalCondition [13:14:11.053] sys.calls <- base::sys.calls [13:14:11.053] `[[` <- base::`[[` [13:14:11.053] `+` <- base::`+` [13:14:11.053] `<<-` <- base::`<<-` [13:14:11.053] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.053] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.053] 3L)] [13:14:11.053] } [13:14:11.053] function(cond) { [13:14:11.053] is_error <- inherits(cond, "error") [13:14:11.053] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.053] NULL) [13:14:11.053] if (is_error) { [13:14:11.053] sessionInformation <- function() { [13:14:11.053] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.053] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.053] search = base::search(), system = base::Sys.info()) [13:14:11.053] } [13:14:11.053] ...future.conditions[[length(...future.conditions) + [13:14:11.053] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.053] cond$call), session = sessionInformation(), [13:14:11.053] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.053] signalCondition(cond) [13:14:11.053] } [13:14:11.053] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.053] "immediateCondition"))) { [13:14:11.053] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.053] ...future.conditions[[length(...future.conditions) + [13:14:11.053] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.053] if (TRUE && !signal) { [13:14:11.053] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.053] { [13:14:11.053] inherits <- base::inherits [13:14:11.053] invokeRestart <- base::invokeRestart [13:14:11.053] is.null <- base::is.null [13:14:11.053] muffled <- FALSE [13:14:11.053] if (inherits(cond, "message")) { [13:14:11.053] muffled <- grepl(pattern, "muffleMessage") [13:14:11.053] if (muffled) [13:14:11.053] invokeRestart("muffleMessage") [13:14:11.053] } [13:14:11.053] else if (inherits(cond, "warning")) { [13:14:11.053] muffled <- grepl(pattern, "muffleWarning") [13:14:11.053] if (muffled) [13:14:11.053] invokeRestart("muffleWarning") [13:14:11.053] } [13:14:11.053] else if (inherits(cond, "condition")) { [13:14:11.053] if (!is.null(pattern)) { [13:14:11.053] computeRestarts <- base::computeRestarts [13:14:11.053] grepl <- base::grepl [13:14:11.053] restarts <- computeRestarts(cond) [13:14:11.053] for (restart in restarts) { [13:14:11.053] name <- restart$name [13:14:11.053] if (is.null(name)) [13:14:11.053] next [13:14:11.053] if (!grepl(pattern, name)) [13:14:11.053] next [13:14:11.053] invokeRestart(restart) [13:14:11.053] muffled <- TRUE [13:14:11.053] break [13:14:11.053] } [13:14:11.053] } [13:14:11.053] } [13:14:11.053] invisible(muffled) [13:14:11.053] } [13:14:11.053] muffleCondition(cond, pattern = "^muffle") [13:14:11.053] } [13:14:11.053] } [13:14:11.053] else { [13:14:11.053] if (TRUE) { [13:14:11.053] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.053] { [13:14:11.053] inherits <- base::inherits [13:14:11.053] invokeRestart <- base::invokeRestart [13:14:11.053] is.null <- base::is.null [13:14:11.053] muffled <- FALSE [13:14:11.053] if (inherits(cond, "message")) { [13:14:11.053] muffled <- grepl(pattern, "muffleMessage") [13:14:11.053] if (muffled) [13:14:11.053] invokeRestart("muffleMessage") [13:14:11.053] } [13:14:11.053] else if (inherits(cond, "warning")) { [13:14:11.053] muffled <- grepl(pattern, "muffleWarning") [13:14:11.053] if (muffled) [13:14:11.053] invokeRestart("muffleWarning") [13:14:11.053] } [13:14:11.053] else if (inherits(cond, "condition")) { [13:14:11.053] if (!is.null(pattern)) { [13:14:11.053] computeRestarts <- base::computeRestarts [13:14:11.053] grepl <- base::grepl [13:14:11.053] restarts <- computeRestarts(cond) [13:14:11.053] for (restart in restarts) { [13:14:11.053] name <- restart$name [13:14:11.053] if (is.null(name)) [13:14:11.053] next [13:14:11.053] if (!grepl(pattern, name)) [13:14:11.053] next [13:14:11.053] invokeRestart(restart) [13:14:11.053] muffled <- TRUE [13:14:11.053] break [13:14:11.053] } [13:14:11.053] } [13:14:11.053] } [13:14:11.053] invisible(muffled) [13:14:11.053] } [13:14:11.053] muffleCondition(cond, pattern = "^muffle") [13:14:11.053] } [13:14:11.053] } [13:14:11.053] } [13:14:11.053] })) [13:14:11.053] }, error = function(ex) { [13:14:11.053] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.053] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.053] ...future.rng), started = ...future.startTime, [13:14:11.053] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.053] version = "1.8"), class = "FutureResult") [13:14:11.053] }, finally = { [13:14:11.053] if (!identical(...future.workdir, getwd())) [13:14:11.053] setwd(...future.workdir) [13:14:11.053] { [13:14:11.053] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.053] ...future.oldOptions$nwarnings <- NULL [13:14:11.053] } [13:14:11.053] base::options(...future.oldOptions) [13:14:11.053] if (.Platform$OS.type == "windows") { [13:14:11.053] old_names <- names(...future.oldEnvVars) [13:14:11.053] envs <- base::Sys.getenv() [13:14:11.053] names <- names(envs) [13:14:11.053] common <- intersect(names, old_names) [13:14:11.053] added <- setdiff(names, old_names) [13:14:11.053] removed <- setdiff(old_names, names) [13:14:11.053] changed <- common[...future.oldEnvVars[common] != [13:14:11.053] envs[common]] [13:14:11.053] NAMES <- toupper(changed) [13:14:11.053] args <- list() [13:14:11.053] for (kk in seq_along(NAMES)) { [13:14:11.053] name <- changed[[kk]] [13:14:11.053] NAME <- NAMES[[kk]] [13:14:11.053] if (name != NAME && is.element(NAME, old_names)) [13:14:11.053] next [13:14:11.053] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.053] } [13:14:11.053] NAMES <- toupper(added) [13:14:11.053] for (kk in seq_along(NAMES)) { [13:14:11.053] name <- added[[kk]] [13:14:11.053] NAME <- NAMES[[kk]] [13:14:11.053] if (name != NAME && is.element(NAME, old_names)) [13:14:11.053] next [13:14:11.053] args[[name]] <- "" [13:14:11.053] } [13:14:11.053] NAMES <- toupper(removed) [13:14:11.053] for (kk in seq_along(NAMES)) { [13:14:11.053] name <- removed[[kk]] [13:14:11.053] NAME <- NAMES[[kk]] [13:14:11.053] if (name != NAME && is.element(NAME, old_names)) [13:14:11.053] next [13:14:11.053] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.053] } [13:14:11.053] if (length(args) > 0) [13:14:11.053] base::do.call(base::Sys.setenv, args = args) [13:14:11.053] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.053] } [13:14:11.053] else { [13:14:11.053] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.053] } [13:14:11.053] { [13:14:11.053] if (base::length(...future.futureOptionsAdded) > [13:14:11.053] 0L) { [13:14:11.053] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.053] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.053] base::options(opts) [13:14:11.053] } [13:14:11.053] { [13:14:11.053] { [13:14:11.053] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.053] NULL [13:14:11.053] } [13:14:11.053] options(future.plan = NULL) [13:14:11.053] if (is.na(NA_character_)) [13:14:11.053] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.053] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.053] future::plan(list(function (..., workers = availableCores(), [13:14:11.053] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.053] envir = parent.frame()) [13:14:11.053] { [13:14:11.053] if (is.function(workers)) [13:14:11.053] workers <- workers() [13:14:11.053] workers <- structure(as.integer(workers), [13:14:11.053] class = class(workers)) [13:14:11.053] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.053] workers >= 1) [13:14:11.053] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.053] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.053] } [13:14:11.053] future <- MultisessionFuture(..., workers = workers, [13:14:11.053] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.053] envir = envir) [13:14:11.053] if (!future$lazy) [13:14:11.053] future <- run(future) [13:14:11.053] invisible(future) [13:14:11.053] }), .cleanup = FALSE, .init = FALSE) [13:14:11.053] } [13:14:11.053] } [13:14:11.053] } [13:14:11.053] }) [13:14:11.053] if (TRUE) { [13:14:11.053] base::sink(type = "output", split = FALSE) [13:14:11.053] if (TRUE) { [13:14:11.053] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.053] } [13:14:11.053] else { [13:14:11.053] ...future.result["stdout"] <- base::list(NULL) [13:14:11.053] } [13:14:11.053] base::close(...future.stdout) [13:14:11.053] ...future.stdout <- NULL [13:14:11.053] } [13:14:11.053] ...future.result$conditions <- ...future.conditions [13:14:11.053] ...future.result$finished <- base::Sys.time() [13:14:11.053] ...future.result [13:14:11.053] } [13:14:11.059] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:11.059] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:11.059] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:11.060] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.060] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.060] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:11.061] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:11.061] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.061] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.061] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.062] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.062] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:11.063] MultisessionFuture started [13:14:11.063] - Launch lazy future ... done [13:14:11.063] run() for 'MultisessionFuture' ... done [13:14:11.063] Created future: [13:14:11.079] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.079] - Validating connection of MultisessionFuture [13:14:11.080] - received message: FutureResult [13:14:11.080] - Received FutureResult [13:14:11.080] - Erased future from FutureRegistry [13:14:11.080] result() for ClusterFuture ... [13:14:11.080] - result already collected: FutureResult [13:14:11.081] result() for ClusterFuture ... done [13:14:11.081] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.063] MultisessionFuture: [13:14:11.063] Label: 'future_sapply-2' [13:14:11.063] Expression: [13:14:11.063] { [13:14:11.063] do.call(function(...) { [13:14:11.063] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.063] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.063] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.063] on.exit(options(oopts), add = TRUE) [13:14:11.063] } [13:14:11.063] { [13:14:11.063] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.063] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.063] ...future.FUN(...future.X_jj, ...) [13:14:11.063] }) [13:14:11.063] } [13:14:11.063] }, args = future.call.arguments) [13:14:11.063] } [13:14:11.063] Lazy evaluation: FALSE [13:14:11.063] Asynchronous evaluation: TRUE [13:14:11.063] Local evaluation: TRUE [13:14:11.063] Environment: R_GlobalEnv [13:14:11.063] Capture standard output: TRUE [13:14:11.063] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.063] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.063] Packages: [13:14:11.063] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.063] Resolved: TRUE [13:14:11.063] Value: [13:14:11.063] Conditions captured: [13:14:11.063] Early signaling: FALSE [13:14:11.063] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.063] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.081] Chunk #2 of 2 ... DONE [13:14:11.081] Launching 2 futures (chunks) ... DONE [13:14:11.081] Resolving 2 futures (chunks) ... [13:14:11.082] resolve() on list ... [13:14:11.082] recursive: 0 [13:14:11.082] length: 2 [13:14:11.082] [13:14:11.082] Future #1 [13:14:11.082] result() for ClusterFuture ... [13:14:11.083] - result already collected: FutureResult [13:14:11.083] result() for ClusterFuture ... done [13:14:11.083] result() for ClusterFuture ... [13:14:11.083] - result already collected: FutureResult [13:14:11.083] result() for ClusterFuture ... done [13:14:11.083] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:11.084] - nx: 2 [13:14:11.084] - relay: TRUE [13:14:11.084] - stdout: TRUE [13:14:11.084] - signal: TRUE [13:14:11.084] - resignal: FALSE [13:14:11.084] - force: TRUE [13:14:11.084] - relayed: [n=2] FALSE, FALSE [13:14:11.085] - queued futures: [n=2] FALSE, FALSE [13:14:11.085] - until=1 [13:14:11.085] - relaying element #1 [13:14:11.085] result() for ClusterFuture ... [13:14:11.085] - result already collected: FutureResult [13:14:11.085] result() for ClusterFuture ... done [13:14:11.086] result() for ClusterFuture ... [13:14:11.086] - result already collected: FutureResult [13:14:11.086] result() for ClusterFuture ... done [13:14:11.086] result() for ClusterFuture ... [13:14:11.086] - result already collected: FutureResult [13:14:11.086] result() for ClusterFuture ... done [13:14:11.087] result() for ClusterFuture ... [13:14:11.087] - result already collected: FutureResult [13:14:11.087] result() for ClusterFuture ... done [13:14:11.087] - relayed: [n=2] TRUE, FALSE [13:14:11.087] - queued futures: [n=2] TRUE, FALSE [13:14:11.087] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:11.087] length: 1 (resolved future 1) [13:14:11.088] Future #2 [13:14:11.088] result() for ClusterFuture ... [13:14:11.088] - result already collected: FutureResult [13:14:11.088] result() for ClusterFuture ... done [13:14:11.088] result() for ClusterFuture ... [13:14:11.088] - result already collected: FutureResult [13:14:11.089] result() for ClusterFuture ... done [13:14:11.089] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:11.089] - nx: 2 [13:14:11.089] - relay: TRUE [13:14:11.089] - stdout: TRUE [13:14:11.089] - signal: TRUE [13:14:11.090] - resignal: FALSE [13:14:11.090] - force: TRUE [13:14:11.090] - relayed: [n=2] TRUE, FALSE [13:14:11.090] - queued futures: [n=2] TRUE, FALSE [13:14:11.090] - until=2 [13:14:11.090] - relaying element #2 [13:14:11.090] result() for ClusterFuture ... [13:14:11.091] - result already collected: FutureResult [13:14:11.091] result() for ClusterFuture ... done [13:14:11.091] result() for ClusterFuture ... [13:14:11.091] - result already collected: FutureResult [13:14:11.091] result() for ClusterFuture ... done [13:14:11.091] result() for ClusterFuture ... [13:14:11.092] - result already collected: FutureResult [13:14:11.092] result() for ClusterFuture ... done [13:14:11.092] result() for ClusterFuture ... [13:14:11.092] - result already collected: FutureResult [13:14:11.092] result() for ClusterFuture ... done [13:14:11.092] - relayed: [n=2] TRUE, TRUE [13:14:11.092] - queued futures: [n=2] TRUE, TRUE [13:14:11.093] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:11.093] length: 0 (resolved future 2) [13:14:11.093] Relaying remaining futures [13:14:11.093] signalConditionsASAP(NULL, pos=0) ... [13:14:11.093] - nx: 2 [13:14:11.093] - relay: TRUE [13:14:11.094] - stdout: TRUE [13:14:11.094] - signal: TRUE [13:14:11.094] - resignal: FALSE [13:14:11.094] - force: TRUE [13:14:11.094] - relayed: [n=2] TRUE, TRUE [13:14:11.094] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:11.095] - relayed: [n=2] TRUE, TRUE [13:14:11.095] - queued futures: [n=2] TRUE, TRUE [13:14:11.095] signalConditionsASAP(NULL, pos=0) ... done [13:14:11.095] resolve() on list ... DONE [13:14:11.095] result() for ClusterFuture ... [13:14:11.095] - result already collected: FutureResult [13:14:11.095] result() for ClusterFuture ... done [13:14:11.096] result() for ClusterFuture ... [13:14:11.096] - result already collected: FutureResult [13:14:11.096] result() for ClusterFuture ... done [13:14:11.096] result() for ClusterFuture ... [13:14:11.096] - result already collected: FutureResult [13:14:11.096] result() for ClusterFuture ... done [13:14:11.097] result() for ClusterFuture ... [13:14:11.097] - result already collected: FutureResult [13:14:11.097] result() for ClusterFuture ... done [13:14:11.097] - Number of value chunks collected: 2 [13:14:11.097] Resolving 2 futures (chunks) ... DONE [13:14:11.097] Reducing values from 2 chunks ... [13:14:11.098] - Number of values collected after concatenation: 3 [13:14:11.098] - Number of values expected: 3 [13:14:11.098] Reducing values from 2 chunks ... DONE [13:14:11.098] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:11.100] future_lapply() ... [13:14:11.103] Number of chunks: 2 [13:14:11.103] getGlobalsAndPackagesXApply() ... [13:14:11.103] - future.globals: TRUE [13:14:11.103] getGlobalsAndPackages() ... [13:14:11.103] Searching for globals... [13:14:11.105] - globals found: [1] 'FUN' [13:14:11.105] Searching for globals ... DONE [13:14:11.105] Resolving globals: FALSE [13:14:11.105] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:11.106] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:11.106] - globals: [1] 'FUN' [13:14:11.106] [13:14:11.106] getGlobalsAndPackages() ... DONE [13:14:11.107] - globals found/used: [n=1] 'FUN' [13:14:11.107] - needed namespaces: [n=0] [13:14:11.107] Finding globals ... DONE [13:14:11.107] - use_args: TRUE [13:14:11.107] - Getting '...' globals ... [13:14:11.108] resolve() on list ... [13:14:11.108] recursive: 0 [13:14:11.108] length: 1 [13:14:11.108] elements: '...' [13:14:11.108] length: 0 (resolved future 1) [13:14:11.108] resolve() on list ... DONE [13:14:11.109] - '...' content: [n=0] [13:14:11.109] List of 1 [13:14:11.109] $ ...: list() [13:14:11.109] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.109] - attr(*, "where")=List of 1 [13:14:11.109] ..$ ...: [13:14:11.109] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.109] - attr(*, "resolved")= logi TRUE [13:14:11.109] - attr(*, "total_size")= num NA [13:14:11.112] - Getting '...' globals ... DONE [13:14:11.112] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:11.112] List of 2 [13:14:11.112] $ ...future.FUN:function (x) [13:14:11.112] $ ... : list() [13:14:11.112] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.112] - attr(*, "where")=List of 2 [13:14:11.112] ..$ ...future.FUN: [13:14:11.112] ..$ ... : [13:14:11.112] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.112] - attr(*, "resolved")= logi FALSE [13:14:11.112] - attr(*, "total_size")= num 848 [13:14:11.116] Packages to be attached in all futures: [n=0] [13:14:11.116] getGlobalsAndPackagesXApply() ... DONE [13:14:11.116] Number of futures (= number of chunks): 2 [13:14:11.116] Launching 2 futures (chunks) ... [13:14:11.117] Chunk #1 of 2 ... [13:14:11.117] - Finding globals in 'X' for chunk #1 ... [13:14:11.117] getGlobalsAndPackages() ... [13:14:11.117] Searching for globals... [13:14:11.117] [13:14:11.118] Searching for globals ... DONE [13:14:11.118] - globals: [0] [13:14:11.118] getGlobalsAndPackages() ... DONE [13:14:11.118] + additional globals found: [n=0] [13:14:11.118] + additional namespaces needed: [n=0] [13:14:11.118] - Finding globals in 'X' for chunk #1 ... DONE [13:14:11.119] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.119] - seeds: [13:14:11.119] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.119] getGlobalsAndPackages() ... [13:14:11.119] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.119] Resolving globals: FALSE [13:14:11.120] Tweak future expression to call with '...' arguments ... [13:14:11.120] { [13:14:11.120] do.call(function(...) { [13:14:11.120] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.120] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.120] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.120] on.exit(options(oopts), add = TRUE) [13:14:11.120] } [13:14:11.120] { [13:14:11.120] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.120] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.120] ...future.FUN(...future.X_jj, ...) [13:14:11.120] }) [13:14:11.120] } [13:14:11.120] }, args = future.call.arguments) [13:14:11.120] } [13:14:11.120] Tweak future expression to call with '...' arguments ... DONE [13:14:11.121] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.121] [13:14:11.121] getGlobalsAndPackages() ... DONE [13:14:11.121] run() for 'Future' ... [13:14:11.122] - state: 'created' [13:14:11.122] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.136] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.137] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.137] - Field: 'node' [13:14:11.137] - Field: 'label' [13:14:11.137] - Field: 'local' [13:14:11.137] - Field: 'owner' [13:14:11.138] - Field: 'envir' [13:14:11.138] - Field: 'workers' [13:14:11.138] - Field: 'packages' [13:14:11.138] - Field: 'gc' [13:14:11.138] - Field: 'conditions' [13:14:11.138] - Field: 'persistent' [13:14:11.139] - Field: 'expr' [13:14:11.139] - Field: 'uuid' [13:14:11.139] - Field: 'seed' [13:14:11.139] - Field: 'version' [13:14:11.139] - Field: 'result' [13:14:11.140] - Field: 'asynchronous' [13:14:11.140] - Field: 'calls' [13:14:11.140] - Field: 'globals' [13:14:11.140] - Field: 'stdout' [13:14:11.140] - Field: 'earlySignal' [13:14:11.140] - Field: 'lazy' [13:14:11.141] - Field: 'state' [13:14:11.141] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.141] - Launch lazy future ... [13:14:11.141] Packages needed by the future expression (n = 0): [13:14:11.142] Packages needed by future strategies (n = 0): [13:14:11.142] { [13:14:11.142] { [13:14:11.142] { [13:14:11.142] ...future.startTime <- base::Sys.time() [13:14:11.142] { [13:14:11.142] { [13:14:11.142] { [13:14:11.142] { [13:14:11.142] base::local({ [13:14:11.142] has_future <- base::requireNamespace("future", [13:14:11.142] quietly = TRUE) [13:14:11.142] if (has_future) { [13:14:11.142] ns <- base::getNamespace("future") [13:14:11.142] version <- ns[[".package"]][["version"]] [13:14:11.142] if (is.null(version)) [13:14:11.142] version <- utils::packageVersion("future") [13:14:11.142] } [13:14:11.142] else { [13:14:11.142] version <- NULL [13:14:11.142] } [13:14:11.142] if (!has_future || version < "1.8.0") { [13:14:11.142] info <- base::c(r_version = base::gsub("R version ", [13:14:11.142] "", base::R.version$version.string), [13:14:11.142] platform = base::sprintf("%s (%s-bit)", [13:14:11.142] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.142] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.142] "release", "version")], collapse = " "), [13:14:11.142] hostname = base::Sys.info()[["nodename"]]) [13:14:11.142] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.142] info) [13:14:11.142] info <- base::paste(info, collapse = "; ") [13:14:11.142] if (!has_future) { [13:14:11.142] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.142] info) [13:14:11.142] } [13:14:11.142] else { [13:14:11.142] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.142] info, version) [13:14:11.142] } [13:14:11.142] base::stop(msg) [13:14:11.142] } [13:14:11.142] }) [13:14:11.142] } [13:14:11.142] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.142] base::options(mc.cores = 1L) [13:14:11.142] } [13:14:11.142] options(future.plan = NULL) [13:14:11.142] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.142] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.142] } [13:14:11.142] ...future.workdir <- getwd() [13:14:11.142] } [13:14:11.142] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.142] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.142] } [13:14:11.142] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.142] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.142] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.142] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.142] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.142] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.142] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.142] base::names(...future.oldOptions)) [13:14:11.142] } [13:14:11.142] if (FALSE) { [13:14:11.142] } [13:14:11.142] else { [13:14:11.142] if (TRUE) { [13:14:11.142] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.142] open = "w") [13:14:11.142] } [13:14:11.142] else { [13:14:11.142] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.142] windows = "NUL", "/dev/null"), open = "w") [13:14:11.142] } [13:14:11.142] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.142] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.142] base::sink(type = "output", split = FALSE) [13:14:11.142] base::close(...future.stdout) [13:14:11.142] }, add = TRUE) [13:14:11.142] } [13:14:11.142] ...future.frame <- base::sys.nframe() [13:14:11.142] ...future.conditions <- base::list() [13:14:11.142] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.142] if (FALSE) { [13:14:11.142] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.142] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.142] } [13:14:11.142] ...future.result <- base::tryCatch({ [13:14:11.142] base::withCallingHandlers({ [13:14:11.142] ...future.value <- base::withVisible(base::local({ [13:14:11.142] ...future.makeSendCondition <- local({ [13:14:11.142] sendCondition <- NULL [13:14:11.142] function(frame = 1L) { [13:14:11.142] if (is.function(sendCondition)) [13:14:11.142] return(sendCondition) [13:14:11.142] ns <- getNamespace("parallel") [13:14:11.142] if (exists("sendData", mode = "function", [13:14:11.142] envir = ns)) { [13:14:11.142] parallel_sendData <- get("sendData", mode = "function", [13:14:11.142] envir = ns) [13:14:11.142] envir <- sys.frame(frame) [13:14:11.142] master <- NULL [13:14:11.142] while (!identical(envir, .GlobalEnv) && [13:14:11.142] !identical(envir, emptyenv())) { [13:14:11.142] if (exists("master", mode = "list", envir = envir, [13:14:11.142] inherits = FALSE)) { [13:14:11.142] master <- get("master", mode = "list", [13:14:11.142] envir = envir, inherits = FALSE) [13:14:11.142] if (inherits(master, c("SOCKnode", [13:14:11.142] "SOCK0node"))) { [13:14:11.142] sendCondition <<- function(cond) { [13:14:11.142] data <- list(type = "VALUE", value = cond, [13:14:11.142] success = TRUE) [13:14:11.142] parallel_sendData(master, data) [13:14:11.142] } [13:14:11.142] return(sendCondition) [13:14:11.142] } [13:14:11.142] } [13:14:11.142] frame <- frame + 1L [13:14:11.142] envir <- sys.frame(frame) [13:14:11.142] } [13:14:11.142] } [13:14:11.142] sendCondition <<- function(cond) NULL [13:14:11.142] } [13:14:11.142] }) [13:14:11.142] withCallingHandlers({ [13:14:11.142] { [13:14:11.142] do.call(function(...) { [13:14:11.142] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.142] if (!identical(...future.globals.maxSize.org, [13:14:11.142] ...future.globals.maxSize)) { [13:14:11.142] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.142] on.exit(options(oopts), add = TRUE) [13:14:11.142] } [13:14:11.142] { [13:14:11.142] lapply(seq_along(...future.elements_ii), [13:14:11.142] FUN = function(jj) { [13:14:11.142] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.142] ...future.FUN(...future.X_jj, ...) [13:14:11.142] }) [13:14:11.142] } [13:14:11.142] }, args = future.call.arguments) [13:14:11.142] } [13:14:11.142] }, immediateCondition = function(cond) { [13:14:11.142] sendCondition <- ...future.makeSendCondition() [13:14:11.142] sendCondition(cond) [13:14:11.142] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.142] { [13:14:11.142] inherits <- base::inherits [13:14:11.142] invokeRestart <- base::invokeRestart [13:14:11.142] is.null <- base::is.null [13:14:11.142] muffled <- FALSE [13:14:11.142] if (inherits(cond, "message")) { [13:14:11.142] muffled <- grepl(pattern, "muffleMessage") [13:14:11.142] if (muffled) [13:14:11.142] invokeRestart("muffleMessage") [13:14:11.142] } [13:14:11.142] else if (inherits(cond, "warning")) { [13:14:11.142] muffled <- grepl(pattern, "muffleWarning") [13:14:11.142] if (muffled) [13:14:11.142] invokeRestart("muffleWarning") [13:14:11.142] } [13:14:11.142] else if (inherits(cond, "condition")) { [13:14:11.142] if (!is.null(pattern)) { [13:14:11.142] computeRestarts <- base::computeRestarts [13:14:11.142] grepl <- base::grepl [13:14:11.142] restarts <- computeRestarts(cond) [13:14:11.142] for (restart in restarts) { [13:14:11.142] name <- restart$name [13:14:11.142] if (is.null(name)) [13:14:11.142] next [13:14:11.142] if (!grepl(pattern, name)) [13:14:11.142] next [13:14:11.142] invokeRestart(restart) [13:14:11.142] muffled <- TRUE [13:14:11.142] break [13:14:11.142] } [13:14:11.142] } [13:14:11.142] } [13:14:11.142] invisible(muffled) [13:14:11.142] } [13:14:11.142] muffleCondition(cond) [13:14:11.142] }) [13:14:11.142] })) [13:14:11.142] future::FutureResult(value = ...future.value$value, [13:14:11.142] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.142] ...future.rng), globalenv = if (FALSE) [13:14:11.142] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.142] ...future.globalenv.names)) [13:14:11.142] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.142] }, condition = base::local({ [13:14:11.142] c <- base::c [13:14:11.142] inherits <- base::inherits [13:14:11.142] invokeRestart <- base::invokeRestart [13:14:11.142] length <- base::length [13:14:11.142] list <- base::list [13:14:11.142] seq.int <- base::seq.int [13:14:11.142] signalCondition <- base::signalCondition [13:14:11.142] sys.calls <- base::sys.calls [13:14:11.142] `[[` <- base::`[[` [13:14:11.142] `+` <- base::`+` [13:14:11.142] `<<-` <- base::`<<-` [13:14:11.142] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.142] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.142] 3L)] [13:14:11.142] } [13:14:11.142] function(cond) { [13:14:11.142] is_error <- inherits(cond, "error") [13:14:11.142] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.142] NULL) [13:14:11.142] if (is_error) { [13:14:11.142] sessionInformation <- function() { [13:14:11.142] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.142] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.142] search = base::search(), system = base::Sys.info()) [13:14:11.142] } [13:14:11.142] ...future.conditions[[length(...future.conditions) + [13:14:11.142] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.142] cond$call), session = sessionInformation(), [13:14:11.142] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.142] signalCondition(cond) [13:14:11.142] } [13:14:11.142] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.142] "immediateCondition"))) { [13:14:11.142] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.142] ...future.conditions[[length(...future.conditions) + [13:14:11.142] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.142] if (TRUE && !signal) { [13:14:11.142] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.142] { [13:14:11.142] inherits <- base::inherits [13:14:11.142] invokeRestart <- base::invokeRestart [13:14:11.142] is.null <- base::is.null [13:14:11.142] muffled <- FALSE [13:14:11.142] if (inherits(cond, "message")) { [13:14:11.142] muffled <- grepl(pattern, "muffleMessage") [13:14:11.142] if (muffled) [13:14:11.142] invokeRestart("muffleMessage") [13:14:11.142] } [13:14:11.142] else if (inherits(cond, "warning")) { [13:14:11.142] muffled <- grepl(pattern, "muffleWarning") [13:14:11.142] if (muffled) [13:14:11.142] invokeRestart("muffleWarning") [13:14:11.142] } [13:14:11.142] else if (inherits(cond, "condition")) { [13:14:11.142] if (!is.null(pattern)) { [13:14:11.142] computeRestarts <- base::computeRestarts [13:14:11.142] grepl <- base::grepl [13:14:11.142] restarts <- computeRestarts(cond) [13:14:11.142] for (restart in restarts) { [13:14:11.142] name <- restart$name [13:14:11.142] if (is.null(name)) [13:14:11.142] next [13:14:11.142] if (!grepl(pattern, name)) [13:14:11.142] next [13:14:11.142] invokeRestart(restart) [13:14:11.142] muffled <- TRUE [13:14:11.142] break [13:14:11.142] } [13:14:11.142] } [13:14:11.142] } [13:14:11.142] invisible(muffled) [13:14:11.142] } [13:14:11.142] muffleCondition(cond, pattern = "^muffle") [13:14:11.142] } [13:14:11.142] } [13:14:11.142] else { [13:14:11.142] if (TRUE) { [13:14:11.142] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.142] { [13:14:11.142] inherits <- base::inherits [13:14:11.142] invokeRestart <- base::invokeRestart [13:14:11.142] is.null <- base::is.null [13:14:11.142] muffled <- FALSE [13:14:11.142] if (inherits(cond, "message")) { [13:14:11.142] muffled <- grepl(pattern, "muffleMessage") [13:14:11.142] if (muffled) [13:14:11.142] invokeRestart("muffleMessage") [13:14:11.142] } [13:14:11.142] else if (inherits(cond, "warning")) { [13:14:11.142] muffled <- grepl(pattern, "muffleWarning") [13:14:11.142] if (muffled) [13:14:11.142] invokeRestart("muffleWarning") [13:14:11.142] } [13:14:11.142] else if (inherits(cond, "condition")) { [13:14:11.142] if (!is.null(pattern)) { [13:14:11.142] computeRestarts <- base::computeRestarts [13:14:11.142] grepl <- base::grepl [13:14:11.142] restarts <- computeRestarts(cond) [13:14:11.142] for (restart in restarts) { [13:14:11.142] name <- restart$name [13:14:11.142] if (is.null(name)) [13:14:11.142] next [13:14:11.142] if (!grepl(pattern, name)) [13:14:11.142] next [13:14:11.142] invokeRestart(restart) [13:14:11.142] muffled <- TRUE [13:14:11.142] break [13:14:11.142] } [13:14:11.142] } [13:14:11.142] } [13:14:11.142] invisible(muffled) [13:14:11.142] } [13:14:11.142] muffleCondition(cond, pattern = "^muffle") [13:14:11.142] } [13:14:11.142] } [13:14:11.142] } [13:14:11.142] })) [13:14:11.142] }, error = function(ex) { [13:14:11.142] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.142] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.142] ...future.rng), started = ...future.startTime, [13:14:11.142] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.142] version = "1.8"), class = "FutureResult") [13:14:11.142] }, finally = { [13:14:11.142] if (!identical(...future.workdir, getwd())) [13:14:11.142] setwd(...future.workdir) [13:14:11.142] { [13:14:11.142] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.142] ...future.oldOptions$nwarnings <- NULL [13:14:11.142] } [13:14:11.142] base::options(...future.oldOptions) [13:14:11.142] if (.Platform$OS.type == "windows") { [13:14:11.142] old_names <- names(...future.oldEnvVars) [13:14:11.142] envs <- base::Sys.getenv() [13:14:11.142] names <- names(envs) [13:14:11.142] common <- intersect(names, old_names) [13:14:11.142] added <- setdiff(names, old_names) [13:14:11.142] removed <- setdiff(old_names, names) [13:14:11.142] changed <- common[...future.oldEnvVars[common] != [13:14:11.142] envs[common]] [13:14:11.142] NAMES <- toupper(changed) [13:14:11.142] args <- list() [13:14:11.142] for (kk in seq_along(NAMES)) { [13:14:11.142] name <- changed[[kk]] [13:14:11.142] NAME <- NAMES[[kk]] [13:14:11.142] if (name != NAME && is.element(NAME, old_names)) [13:14:11.142] next [13:14:11.142] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.142] } [13:14:11.142] NAMES <- toupper(added) [13:14:11.142] for (kk in seq_along(NAMES)) { [13:14:11.142] name <- added[[kk]] [13:14:11.142] NAME <- NAMES[[kk]] [13:14:11.142] if (name != NAME && is.element(NAME, old_names)) [13:14:11.142] next [13:14:11.142] args[[name]] <- "" [13:14:11.142] } [13:14:11.142] NAMES <- toupper(removed) [13:14:11.142] for (kk in seq_along(NAMES)) { [13:14:11.142] name <- removed[[kk]] [13:14:11.142] NAME <- NAMES[[kk]] [13:14:11.142] if (name != NAME && is.element(NAME, old_names)) [13:14:11.142] next [13:14:11.142] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.142] } [13:14:11.142] if (length(args) > 0) [13:14:11.142] base::do.call(base::Sys.setenv, args = args) [13:14:11.142] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.142] } [13:14:11.142] else { [13:14:11.142] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.142] } [13:14:11.142] { [13:14:11.142] if (base::length(...future.futureOptionsAdded) > [13:14:11.142] 0L) { [13:14:11.142] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.142] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.142] base::options(opts) [13:14:11.142] } [13:14:11.142] { [13:14:11.142] { [13:14:11.142] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.142] NULL [13:14:11.142] } [13:14:11.142] options(future.plan = NULL) [13:14:11.142] if (is.na(NA_character_)) [13:14:11.142] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.142] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.142] future::plan(list(function (..., workers = availableCores(), [13:14:11.142] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.142] envir = parent.frame()) [13:14:11.142] { [13:14:11.142] if (is.function(workers)) [13:14:11.142] workers <- workers() [13:14:11.142] workers <- structure(as.integer(workers), [13:14:11.142] class = class(workers)) [13:14:11.142] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.142] workers >= 1) [13:14:11.142] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.142] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.142] } [13:14:11.142] future <- MultisessionFuture(..., workers = workers, [13:14:11.142] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.142] envir = envir) [13:14:11.142] if (!future$lazy) [13:14:11.142] future <- run(future) [13:14:11.142] invisible(future) [13:14:11.142] }), .cleanup = FALSE, .init = FALSE) [13:14:11.142] } [13:14:11.142] } [13:14:11.142] } [13:14:11.142] }) [13:14:11.142] if (TRUE) { [13:14:11.142] base::sink(type = "output", split = FALSE) [13:14:11.142] if (TRUE) { [13:14:11.142] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.142] } [13:14:11.142] else { [13:14:11.142] ...future.result["stdout"] <- base::list(NULL) [13:14:11.142] } [13:14:11.142] base::close(...future.stdout) [13:14:11.142] ...future.stdout <- NULL [13:14:11.142] } [13:14:11.142] ...future.result$conditions <- ...future.conditions [13:14:11.142] ...future.result$finished <- base::Sys.time() [13:14:11.142] ...future.result [13:14:11.142] } [13:14:11.148] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:11.148] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:11.149] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:11.149] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.149] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.150] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.150] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.150] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.151] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.151] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.151] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.152] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:11.152] MultisessionFuture started [13:14:11.153] - Launch lazy future ... done [13:14:11.153] run() for 'MultisessionFuture' ... done [13:14:11.153] Created future: [13:14:11.169] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.169] - Validating connection of MultisessionFuture [13:14:11.169] - received message: FutureResult [13:14:11.169] - Received FutureResult [13:14:11.169] - Erased future from FutureRegistry [13:14:11.170] result() for ClusterFuture ... [13:14:11.170] - result already collected: FutureResult [13:14:11.170] result() for ClusterFuture ... done [13:14:11.170] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.153] MultisessionFuture: [13:14:11.153] Label: 'future_sapply-1' [13:14:11.153] Expression: [13:14:11.153] { [13:14:11.153] do.call(function(...) { [13:14:11.153] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.153] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.153] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.153] on.exit(options(oopts), add = TRUE) [13:14:11.153] } [13:14:11.153] { [13:14:11.153] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.153] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.153] ...future.FUN(...future.X_jj, ...) [13:14:11.153] }) [13:14:11.153] } [13:14:11.153] }, args = future.call.arguments) [13:14:11.153] } [13:14:11.153] Lazy evaluation: FALSE [13:14:11.153] Asynchronous evaluation: TRUE [13:14:11.153] Local evaluation: TRUE [13:14:11.153] Environment: R_GlobalEnv [13:14:11.153] Capture standard output: TRUE [13:14:11.153] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.153] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.153] Packages: [13:14:11.153] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.153] Resolved: TRUE [13:14:11.153] Value: [13:14:11.153] Conditions captured: [13:14:11.153] Early signaling: FALSE [13:14:11.153] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.153] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.171] Chunk #1 of 2 ... DONE [13:14:11.171] Chunk #2 of 2 ... [13:14:11.171] - Finding globals in 'X' for chunk #2 ... [13:14:11.171] getGlobalsAndPackages() ... [13:14:11.171] Searching for globals... [13:14:11.172] [13:14:11.172] Searching for globals ... DONE [13:14:11.172] - globals: [0] [13:14:11.172] getGlobalsAndPackages() ... DONE [13:14:11.172] + additional globals found: [n=0] [13:14:11.172] + additional namespaces needed: [n=0] [13:14:11.173] - Finding globals in 'X' for chunk #2 ... DONE [13:14:11.173] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.173] - seeds: [13:14:11.173] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.173] getGlobalsAndPackages() ... [13:14:11.173] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.174] Resolving globals: FALSE [13:14:11.174] Tweak future expression to call with '...' arguments ... [13:14:11.174] { [13:14:11.174] do.call(function(...) { [13:14:11.174] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.174] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.174] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.174] on.exit(options(oopts), add = TRUE) [13:14:11.174] } [13:14:11.174] { [13:14:11.174] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.174] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.174] ...future.FUN(...future.X_jj, ...) [13:14:11.174] }) [13:14:11.174] } [13:14:11.174] }, args = future.call.arguments) [13:14:11.174] } [13:14:11.174] Tweak future expression to call with '...' arguments ... DONE [13:14:11.175] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.175] [13:14:11.175] getGlobalsAndPackages() ... DONE [13:14:11.176] run() for 'Future' ... [13:14:11.176] - state: 'created' [13:14:11.176] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.190] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.190] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.190] - Field: 'node' [13:14:11.191] - Field: 'label' [13:14:11.191] - Field: 'local' [13:14:11.191] - Field: 'owner' [13:14:11.191] - Field: 'envir' [13:14:11.191] - Field: 'workers' [13:14:11.192] - Field: 'packages' [13:14:11.192] - Field: 'gc' [13:14:11.192] - Field: 'conditions' [13:14:11.192] - Field: 'persistent' [13:14:11.192] - Field: 'expr' [13:14:11.193] - Field: 'uuid' [13:14:11.193] - Field: 'seed' [13:14:11.193] - Field: 'version' [13:14:11.193] - Field: 'result' [13:14:11.193] - Field: 'asynchronous' [13:14:11.194] - Field: 'calls' [13:14:11.194] - Field: 'globals' [13:14:11.194] - Field: 'stdout' [13:14:11.194] - Field: 'earlySignal' [13:14:11.194] - Field: 'lazy' [13:14:11.194] - Field: 'state' [13:14:11.195] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.195] - Launch lazy future ... [13:14:11.195] Packages needed by the future expression (n = 0): [13:14:11.195] Packages needed by future strategies (n = 0): [13:14:11.196] { [13:14:11.196] { [13:14:11.196] { [13:14:11.196] ...future.startTime <- base::Sys.time() [13:14:11.196] { [13:14:11.196] { [13:14:11.196] { [13:14:11.196] { [13:14:11.196] base::local({ [13:14:11.196] has_future <- base::requireNamespace("future", [13:14:11.196] quietly = TRUE) [13:14:11.196] if (has_future) { [13:14:11.196] ns <- base::getNamespace("future") [13:14:11.196] version <- ns[[".package"]][["version"]] [13:14:11.196] if (is.null(version)) [13:14:11.196] version <- utils::packageVersion("future") [13:14:11.196] } [13:14:11.196] else { [13:14:11.196] version <- NULL [13:14:11.196] } [13:14:11.196] if (!has_future || version < "1.8.0") { [13:14:11.196] info <- base::c(r_version = base::gsub("R version ", [13:14:11.196] "", base::R.version$version.string), [13:14:11.196] platform = base::sprintf("%s (%s-bit)", [13:14:11.196] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.196] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.196] "release", "version")], collapse = " "), [13:14:11.196] hostname = base::Sys.info()[["nodename"]]) [13:14:11.196] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.196] info) [13:14:11.196] info <- base::paste(info, collapse = "; ") [13:14:11.196] if (!has_future) { [13:14:11.196] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.196] info) [13:14:11.196] } [13:14:11.196] else { [13:14:11.196] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.196] info, version) [13:14:11.196] } [13:14:11.196] base::stop(msg) [13:14:11.196] } [13:14:11.196] }) [13:14:11.196] } [13:14:11.196] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.196] base::options(mc.cores = 1L) [13:14:11.196] } [13:14:11.196] options(future.plan = NULL) [13:14:11.196] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.196] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.196] } [13:14:11.196] ...future.workdir <- getwd() [13:14:11.196] } [13:14:11.196] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.196] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.196] } [13:14:11.196] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.196] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.196] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.196] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.196] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.196] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.196] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.196] base::names(...future.oldOptions)) [13:14:11.196] } [13:14:11.196] if (FALSE) { [13:14:11.196] } [13:14:11.196] else { [13:14:11.196] if (TRUE) { [13:14:11.196] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.196] open = "w") [13:14:11.196] } [13:14:11.196] else { [13:14:11.196] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.196] windows = "NUL", "/dev/null"), open = "w") [13:14:11.196] } [13:14:11.196] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.196] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.196] base::sink(type = "output", split = FALSE) [13:14:11.196] base::close(...future.stdout) [13:14:11.196] }, add = TRUE) [13:14:11.196] } [13:14:11.196] ...future.frame <- base::sys.nframe() [13:14:11.196] ...future.conditions <- base::list() [13:14:11.196] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.196] if (FALSE) { [13:14:11.196] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.196] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.196] } [13:14:11.196] ...future.result <- base::tryCatch({ [13:14:11.196] base::withCallingHandlers({ [13:14:11.196] ...future.value <- base::withVisible(base::local({ [13:14:11.196] ...future.makeSendCondition <- local({ [13:14:11.196] sendCondition <- NULL [13:14:11.196] function(frame = 1L) { [13:14:11.196] if (is.function(sendCondition)) [13:14:11.196] return(sendCondition) [13:14:11.196] ns <- getNamespace("parallel") [13:14:11.196] if (exists("sendData", mode = "function", [13:14:11.196] envir = ns)) { [13:14:11.196] parallel_sendData <- get("sendData", mode = "function", [13:14:11.196] envir = ns) [13:14:11.196] envir <- sys.frame(frame) [13:14:11.196] master <- NULL [13:14:11.196] while (!identical(envir, .GlobalEnv) && [13:14:11.196] !identical(envir, emptyenv())) { [13:14:11.196] if (exists("master", mode = "list", envir = envir, [13:14:11.196] inherits = FALSE)) { [13:14:11.196] master <- get("master", mode = "list", [13:14:11.196] envir = envir, inherits = FALSE) [13:14:11.196] if (inherits(master, c("SOCKnode", [13:14:11.196] "SOCK0node"))) { [13:14:11.196] sendCondition <<- function(cond) { [13:14:11.196] data <- list(type = "VALUE", value = cond, [13:14:11.196] success = TRUE) [13:14:11.196] parallel_sendData(master, data) [13:14:11.196] } [13:14:11.196] return(sendCondition) [13:14:11.196] } [13:14:11.196] } [13:14:11.196] frame <- frame + 1L [13:14:11.196] envir <- sys.frame(frame) [13:14:11.196] } [13:14:11.196] } [13:14:11.196] sendCondition <<- function(cond) NULL [13:14:11.196] } [13:14:11.196] }) [13:14:11.196] withCallingHandlers({ [13:14:11.196] { [13:14:11.196] do.call(function(...) { [13:14:11.196] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.196] if (!identical(...future.globals.maxSize.org, [13:14:11.196] ...future.globals.maxSize)) { [13:14:11.196] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.196] on.exit(options(oopts), add = TRUE) [13:14:11.196] } [13:14:11.196] { [13:14:11.196] lapply(seq_along(...future.elements_ii), [13:14:11.196] FUN = function(jj) { [13:14:11.196] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.196] ...future.FUN(...future.X_jj, ...) [13:14:11.196] }) [13:14:11.196] } [13:14:11.196] }, args = future.call.arguments) [13:14:11.196] } [13:14:11.196] }, immediateCondition = function(cond) { [13:14:11.196] sendCondition <- ...future.makeSendCondition() [13:14:11.196] sendCondition(cond) [13:14:11.196] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.196] { [13:14:11.196] inherits <- base::inherits [13:14:11.196] invokeRestart <- base::invokeRestart [13:14:11.196] is.null <- base::is.null [13:14:11.196] muffled <- FALSE [13:14:11.196] if (inherits(cond, "message")) { [13:14:11.196] muffled <- grepl(pattern, "muffleMessage") [13:14:11.196] if (muffled) [13:14:11.196] invokeRestart("muffleMessage") [13:14:11.196] } [13:14:11.196] else if (inherits(cond, "warning")) { [13:14:11.196] muffled <- grepl(pattern, "muffleWarning") [13:14:11.196] if (muffled) [13:14:11.196] invokeRestart("muffleWarning") [13:14:11.196] } [13:14:11.196] else if (inherits(cond, "condition")) { [13:14:11.196] if (!is.null(pattern)) { [13:14:11.196] computeRestarts <- base::computeRestarts [13:14:11.196] grepl <- base::grepl [13:14:11.196] restarts <- computeRestarts(cond) [13:14:11.196] for (restart in restarts) { [13:14:11.196] name <- restart$name [13:14:11.196] if (is.null(name)) [13:14:11.196] next [13:14:11.196] if (!grepl(pattern, name)) [13:14:11.196] next [13:14:11.196] invokeRestart(restart) [13:14:11.196] muffled <- TRUE [13:14:11.196] break [13:14:11.196] } [13:14:11.196] } [13:14:11.196] } [13:14:11.196] invisible(muffled) [13:14:11.196] } [13:14:11.196] muffleCondition(cond) [13:14:11.196] }) [13:14:11.196] })) [13:14:11.196] future::FutureResult(value = ...future.value$value, [13:14:11.196] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.196] ...future.rng), globalenv = if (FALSE) [13:14:11.196] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.196] ...future.globalenv.names)) [13:14:11.196] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.196] }, condition = base::local({ [13:14:11.196] c <- base::c [13:14:11.196] inherits <- base::inherits [13:14:11.196] invokeRestart <- base::invokeRestart [13:14:11.196] length <- base::length [13:14:11.196] list <- base::list [13:14:11.196] seq.int <- base::seq.int [13:14:11.196] signalCondition <- base::signalCondition [13:14:11.196] sys.calls <- base::sys.calls [13:14:11.196] `[[` <- base::`[[` [13:14:11.196] `+` <- base::`+` [13:14:11.196] `<<-` <- base::`<<-` [13:14:11.196] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.196] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.196] 3L)] [13:14:11.196] } [13:14:11.196] function(cond) { [13:14:11.196] is_error <- inherits(cond, "error") [13:14:11.196] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.196] NULL) [13:14:11.196] if (is_error) { [13:14:11.196] sessionInformation <- function() { [13:14:11.196] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.196] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.196] search = base::search(), system = base::Sys.info()) [13:14:11.196] } [13:14:11.196] ...future.conditions[[length(...future.conditions) + [13:14:11.196] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.196] cond$call), session = sessionInformation(), [13:14:11.196] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.196] signalCondition(cond) [13:14:11.196] } [13:14:11.196] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.196] "immediateCondition"))) { [13:14:11.196] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.196] ...future.conditions[[length(...future.conditions) + [13:14:11.196] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.196] if (TRUE && !signal) { [13:14:11.196] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.196] { [13:14:11.196] inherits <- base::inherits [13:14:11.196] invokeRestart <- base::invokeRestart [13:14:11.196] is.null <- base::is.null [13:14:11.196] muffled <- FALSE [13:14:11.196] if (inherits(cond, "message")) { [13:14:11.196] muffled <- grepl(pattern, "muffleMessage") [13:14:11.196] if (muffled) [13:14:11.196] invokeRestart("muffleMessage") [13:14:11.196] } [13:14:11.196] else if (inherits(cond, "warning")) { [13:14:11.196] muffled <- grepl(pattern, "muffleWarning") [13:14:11.196] if (muffled) [13:14:11.196] invokeRestart("muffleWarning") [13:14:11.196] } [13:14:11.196] else if (inherits(cond, "condition")) { [13:14:11.196] if (!is.null(pattern)) { [13:14:11.196] computeRestarts <- base::computeRestarts [13:14:11.196] grepl <- base::grepl [13:14:11.196] restarts <- computeRestarts(cond) [13:14:11.196] for (restart in restarts) { [13:14:11.196] name <- restart$name [13:14:11.196] if (is.null(name)) [13:14:11.196] next [13:14:11.196] if (!grepl(pattern, name)) [13:14:11.196] next [13:14:11.196] invokeRestart(restart) [13:14:11.196] muffled <- TRUE [13:14:11.196] break [13:14:11.196] } [13:14:11.196] } [13:14:11.196] } [13:14:11.196] invisible(muffled) [13:14:11.196] } [13:14:11.196] muffleCondition(cond, pattern = "^muffle") [13:14:11.196] } [13:14:11.196] } [13:14:11.196] else { [13:14:11.196] if (TRUE) { [13:14:11.196] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.196] { [13:14:11.196] inherits <- base::inherits [13:14:11.196] invokeRestart <- base::invokeRestart [13:14:11.196] is.null <- base::is.null [13:14:11.196] muffled <- FALSE [13:14:11.196] if (inherits(cond, "message")) { [13:14:11.196] muffled <- grepl(pattern, "muffleMessage") [13:14:11.196] if (muffled) [13:14:11.196] invokeRestart("muffleMessage") [13:14:11.196] } [13:14:11.196] else if (inherits(cond, "warning")) { [13:14:11.196] muffled <- grepl(pattern, "muffleWarning") [13:14:11.196] if (muffled) [13:14:11.196] invokeRestart("muffleWarning") [13:14:11.196] } [13:14:11.196] else if (inherits(cond, "condition")) { [13:14:11.196] if (!is.null(pattern)) { [13:14:11.196] computeRestarts <- base::computeRestarts [13:14:11.196] grepl <- base::grepl [13:14:11.196] restarts <- computeRestarts(cond) [13:14:11.196] for (restart in restarts) { [13:14:11.196] name <- restart$name [13:14:11.196] if (is.null(name)) [13:14:11.196] next [13:14:11.196] if (!grepl(pattern, name)) [13:14:11.196] next [13:14:11.196] invokeRestart(restart) [13:14:11.196] muffled <- TRUE [13:14:11.196] break [13:14:11.196] } [13:14:11.196] } [13:14:11.196] } [13:14:11.196] invisible(muffled) [13:14:11.196] } [13:14:11.196] muffleCondition(cond, pattern = "^muffle") [13:14:11.196] } [13:14:11.196] } [13:14:11.196] } [13:14:11.196] })) [13:14:11.196] }, error = function(ex) { [13:14:11.196] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.196] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.196] ...future.rng), started = ...future.startTime, [13:14:11.196] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.196] version = "1.8"), class = "FutureResult") [13:14:11.196] }, finally = { [13:14:11.196] if (!identical(...future.workdir, getwd())) [13:14:11.196] setwd(...future.workdir) [13:14:11.196] { [13:14:11.196] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.196] ...future.oldOptions$nwarnings <- NULL [13:14:11.196] } [13:14:11.196] base::options(...future.oldOptions) [13:14:11.196] if (.Platform$OS.type == "windows") { [13:14:11.196] old_names <- names(...future.oldEnvVars) [13:14:11.196] envs <- base::Sys.getenv() [13:14:11.196] names <- names(envs) [13:14:11.196] common <- intersect(names, old_names) [13:14:11.196] added <- setdiff(names, old_names) [13:14:11.196] removed <- setdiff(old_names, names) [13:14:11.196] changed <- common[...future.oldEnvVars[common] != [13:14:11.196] envs[common]] [13:14:11.196] NAMES <- toupper(changed) [13:14:11.196] args <- list() [13:14:11.196] for (kk in seq_along(NAMES)) { [13:14:11.196] name <- changed[[kk]] [13:14:11.196] NAME <- NAMES[[kk]] [13:14:11.196] if (name != NAME && is.element(NAME, old_names)) [13:14:11.196] next [13:14:11.196] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.196] } [13:14:11.196] NAMES <- toupper(added) [13:14:11.196] for (kk in seq_along(NAMES)) { [13:14:11.196] name <- added[[kk]] [13:14:11.196] NAME <- NAMES[[kk]] [13:14:11.196] if (name != NAME && is.element(NAME, old_names)) [13:14:11.196] next [13:14:11.196] args[[name]] <- "" [13:14:11.196] } [13:14:11.196] NAMES <- toupper(removed) [13:14:11.196] for (kk in seq_along(NAMES)) { [13:14:11.196] name <- removed[[kk]] [13:14:11.196] NAME <- NAMES[[kk]] [13:14:11.196] if (name != NAME && is.element(NAME, old_names)) [13:14:11.196] next [13:14:11.196] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.196] } [13:14:11.196] if (length(args) > 0) [13:14:11.196] base::do.call(base::Sys.setenv, args = args) [13:14:11.196] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.196] } [13:14:11.196] else { [13:14:11.196] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.196] } [13:14:11.196] { [13:14:11.196] if (base::length(...future.futureOptionsAdded) > [13:14:11.196] 0L) { [13:14:11.196] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.196] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.196] base::options(opts) [13:14:11.196] } [13:14:11.196] { [13:14:11.196] { [13:14:11.196] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.196] NULL [13:14:11.196] } [13:14:11.196] options(future.plan = NULL) [13:14:11.196] if (is.na(NA_character_)) [13:14:11.196] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.196] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.196] future::plan(list(function (..., workers = availableCores(), [13:14:11.196] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.196] envir = parent.frame()) [13:14:11.196] { [13:14:11.196] if (is.function(workers)) [13:14:11.196] workers <- workers() [13:14:11.196] workers <- structure(as.integer(workers), [13:14:11.196] class = class(workers)) [13:14:11.196] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.196] workers >= 1) [13:14:11.196] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.196] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.196] } [13:14:11.196] future <- MultisessionFuture(..., workers = workers, [13:14:11.196] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.196] envir = envir) [13:14:11.196] if (!future$lazy) [13:14:11.196] future <- run(future) [13:14:11.196] invisible(future) [13:14:11.196] }), .cleanup = FALSE, .init = FALSE) [13:14:11.196] } [13:14:11.196] } [13:14:11.196] } [13:14:11.196] }) [13:14:11.196] if (TRUE) { [13:14:11.196] base::sink(type = "output", split = FALSE) [13:14:11.196] if (TRUE) { [13:14:11.196] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.196] } [13:14:11.196] else { [13:14:11.196] ...future.result["stdout"] <- base::list(NULL) [13:14:11.196] } [13:14:11.196] base::close(...future.stdout) [13:14:11.196] ...future.stdout <- NULL [13:14:11.196] } [13:14:11.196] ...future.result$conditions <- ...future.conditions [13:14:11.196] ...future.result$finished <- base::Sys.time() [13:14:11.196] ...future.result [13:14:11.196] } [13:14:11.202] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:11.202] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:11.202] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:11.203] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.203] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.203] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:11.204] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:11.204] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.204] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.205] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.205] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.205] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:11.206] MultisessionFuture started [13:14:11.206] - Launch lazy future ... done [13:14:11.207] run() for 'MultisessionFuture' ... done [13:14:11.207] Created future: [13:14:11.222] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.222] - Validating connection of MultisessionFuture [13:14:11.222] - received message: FutureResult [13:14:11.222] - Received FutureResult [13:14:11.223] - Erased future from FutureRegistry [13:14:11.223] result() for ClusterFuture ... [13:14:11.223] - result already collected: FutureResult [13:14:11.223] result() for ClusterFuture ... done [13:14:11.223] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.207] MultisessionFuture: [13:14:11.207] Label: 'future_sapply-2' [13:14:11.207] Expression: [13:14:11.207] { [13:14:11.207] do.call(function(...) { [13:14:11.207] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.207] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.207] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.207] on.exit(options(oopts), add = TRUE) [13:14:11.207] } [13:14:11.207] { [13:14:11.207] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.207] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.207] ...future.FUN(...future.X_jj, ...) [13:14:11.207] }) [13:14:11.207] } [13:14:11.207] }, args = future.call.arguments) [13:14:11.207] } [13:14:11.207] Lazy evaluation: FALSE [13:14:11.207] Asynchronous evaluation: TRUE [13:14:11.207] Local evaluation: TRUE [13:14:11.207] Environment: R_GlobalEnv [13:14:11.207] Capture standard output: TRUE [13:14:11.207] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.207] Globals: 5 objects totaling 1.05 KiB (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.207] Packages: [13:14:11.207] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.207] Resolved: TRUE [13:14:11.207] Value: [13:14:11.207] Conditions captured: [13:14:11.207] Early signaling: FALSE [13:14:11.207] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.207] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.224] Chunk #2 of 2 ... DONE [13:14:11.224] Launching 2 futures (chunks) ... DONE [13:14:11.224] Resolving 2 futures (chunks) ... [13:14:11.224] resolve() on list ... [13:14:11.224] recursive: 0 [13:14:11.225] length: 2 [13:14:11.225] [13:14:11.225] Future #1 [13:14:11.225] result() for ClusterFuture ... [13:14:11.225] - result already collected: FutureResult [13:14:11.225] result() for ClusterFuture ... done [13:14:11.228] result() for ClusterFuture ... [13:14:11.228] - result already collected: FutureResult [13:14:11.229] result() for ClusterFuture ... done [13:14:11.229] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:11.229] - nx: 2 [13:14:11.229] - relay: TRUE [13:14:11.229] - stdout: TRUE [13:14:11.230] - signal: TRUE [13:14:11.230] - resignal: FALSE [13:14:11.230] - force: TRUE [13:14:11.230] - relayed: [n=2] FALSE, FALSE [13:14:11.230] - queued futures: [n=2] FALSE, FALSE [13:14:11.230] - until=1 [13:14:11.231] - relaying element #1 [13:14:11.231] result() for ClusterFuture ... [13:14:11.231] - result already collected: FutureResult [13:14:11.231] result() for ClusterFuture ... done [13:14:11.231] result() for ClusterFuture ... [13:14:11.231] - result already collected: FutureResult [13:14:11.232] result() for ClusterFuture ... done [13:14:11.232] result() for ClusterFuture ... [13:14:11.232] - result already collected: FutureResult [13:14:11.232] result() for ClusterFuture ... done [13:14:11.232] result() for ClusterFuture ... [13:14:11.232] - result already collected: FutureResult [13:14:11.232] result() for ClusterFuture ... done [13:14:11.233] - relayed: [n=2] TRUE, FALSE [13:14:11.233] - queued futures: [n=2] TRUE, FALSE [13:14:11.233] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:11.233] length: 1 (resolved future 1) [13:14:11.233] Future #2 [13:14:11.234] result() for ClusterFuture ... [13:14:11.234] - result already collected: FutureResult [13:14:11.234] result() for ClusterFuture ... done [13:14:11.234] result() for ClusterFuture ... [13:14:11.234] - result already collected: FutureResult [13:14:11.234] result() for ClusterFuture ... done [13:14:11.234] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:11.235] - nx: 2 [13:14:11.235] - relay: TRUE [13:14:11.235] - stdout: TRUE [13:14:11.235] - signal: TRUE [13:14:11.235] - resignal: FALSE [13:14:11.235] - force: TRUE [13:14:11.235] - relayed: [n=2] TRUE, FALSE [13:14:11.236] - queued futures: [n=2] TRUE, FALSE [13:14:11.236] - until=2 [13:14:11.236] - relaying element #2 [13:14:11.236] result() for ClusterFuture ... [13:14:11.236] - result already collected: FutureResult [13:14:11.236] result() for ClusterFuture ... done [13:14:11.237] result() for ClusterFuture ... [13:14:11.237] - result already collected: FutureResult [13:14:11.237] result() for ClusterFuture ... done [13:14:11.237] result() for ClusterFuture ... [13:14:11.237] - result already collected: FutureResult [13:14:11.237] result() for ClusterFuture ... done [13:14:11.238] result() for ClusterFuture ... [13:14:11.238] - result already collected: FutureResult [13:14:11.238] result() for ClusterFuture ... done [13:14:11.238] - relayed: [n=2] TRUE, TRUE [13:14:11.238] - queued futures: [n=2] TRUE, TRUE [13:14:11.238] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:11.239] length: 0 (resolved future 2) [13:14:11.239] Relaying remaining futures [13:14:11.239] signalConditionsASAP(NULL, pos=0) ... [13:14:11.239] - nx: 2 [13:14:11.239] - relay: TRUE [13:14:11.239] - stdout: TRUE [13:14:11.239] - signal: TRUE [13:14:11.240] - resignal: FALSE [13:14:11.240] - force: TRUE [13:14:11.240] - relayed: [n=2] TRUE, TRUE [13:14:11.240] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:11.240] - relayed: [n=2] TRUE, TRUE [13:14:11.240] - queued futures: [n=2] TRUE, TRUE [13:14:11.241] signalConditionsASAP(NULL, pos=0) ... done [13:14:11.241] resolve() on list ... DONE [13:14:11.241] result() for ClusterFuture ... [13:14:11.241] - result already collected: FutureResult [13:14:11.241] result() for ClusterFuture ... done [13:14:11.241] result() for ClusterFuture ... [13:14:11.242] - result already collected: FutureResult [13:14:11.242] result() for ClusterFuture ... done [13:14:11.242] result() for ClusterFuture ... [13:14:11.242] - result already collected: FutureResult [13:14:11.242] result() for ClusterFuture ... done [13:14:11.242] result() for ClusterFuture ... [13:14:11.242] - result already collected: FutureResult [13:14:11.243] result() for ClusterFuture ... done [13:14:11.243] - Number of value chunks collected: 2 [13:14:11.243] Resolving 2 futures (chunks) ... DONE [13:14:11.243] Reducing values from 2 chunks ... [13:14:11.243] - Number of values collected after concatenation: 3 [13:14:11.243] - Number of values expected: 3 [13:14:11.244] Reducing values from 2 chunks ... DONE [13:14:11.244] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:11.246] future_lapply() ... [13:14:11.248] Number of chunks: 2 [13:14:11.249] getGlobalsAndPackagesXApply() ... [13:14:11.249] - future.globals: TRUE [13:14:11.249] getGlobalsAndPackages() ... [13:14:11.249] Searching for globals... [13:14:11.250] - globals found: [2] 'FUN', 'UseMethod' [13:14:11.251] Searching for globals ... DONE [13:14:11.251] Resolving globals: FALSE [13:14:11.251] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:11.252] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:11.252] - globals: [1] 'FUN' [13:14:11.252] [13:14:11.252] getGlobalsAndPackages() ... DONE [13:14:11.252] - globals found/used: [n=1] 'FUN' [13:14:11.253] - needed namespaces: [n=0] [13:14:11.253] Finding globals ... DONE [13:14:11.253] - use_args: TRUE [13:14:11.253] - Getting '...' globals ... [13:14:11.254] resolve() on list ... [13:14:11.254] recursive: 0 [13:14:11.254] length: 1 [13:14:11.254] elements: '...' [13:14:11.254] length: 0 (resolved future 1) [13:14:11.254] resolve() on list ... DONE [13:14:11.255] - '...' content: [n=0] [13:14:11.255] List of 1 [13:14:11.255] $ ...: list() [13:14:11.255] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.255] - attr(*, "where")=List of 1 [13:14:11.255] ..$ ...: [13:14:11.255] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.255] - attr(*, "resolved")= logi TRUE [13:14:11.255] - attr(*, "total_size")= num NA [13:14:11.258] - Getting '...' globals ... DONE [13:14:11.258] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:11.258] List of 2 [13:14:11.258] $ ...future.FUN:function (x, ...) [13:14:11.258] $ ... : list() [13:14:11.258] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.258] - attr(*, "where")=List of 2 [13:14:11.258] ..$ ...future.FUN: [13:14:11.258] ..$ ... : [13:14:11.258] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.258] - attr(*, "resolved")= logi FALSE [13:14:11.258] - attr(*, "total_size")= num 1248 [13:14:11.261] Packages to be attached in all futures: [n=0] [13:14:11.262] getGlobalsAndPackagesXApply() ... DONE [13:14:11.262] Number of futures (= number of chunks): 2 [13:14:11.262] Launching 2 futures (chunks) ... [13:14:11.262] Chunk #1 of 2 ... [13:14:11.262] - Finding globals in 'X' for chunk #1 ... [13:14:11.263] getGlobalsAndPackages() ... [13:14:11.263] Searching for globals... [13:14:11.263] [13:14:11.263] Searching for globals ... DONE [13:14:11.263] - globals: [0] [13:14:11.264] getGlobalsAndPackages() ... DONE [13:14:11.264] + additional globals found: [n=0] [13:14:11.264] + additional namespaces needed: [n=0] [13:14:11.264] - Finding globals in 'X' for chunk #1 ... DONE [13:14:11.264] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.264] - seeds: [13:14:11.265] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.265] getGlobalsAndPackages() ... [13:14:11.265] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.265] Resolving globals: FALSE [13:14:11.265] Tweak future expression to call with '...' arguments ... [13:14:11.265] { [13:14:11.265] do.call(function(...) { [13:14:11.265] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.265] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.265] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.265] on.exit(options(oopts), add = TRUE) [13:14:11.265] } [13:14:11.265] { [13:14:11.265] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.265] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.265] ...future.FUN(...future.X_jj, ...) [13:14:11.265] }) [13:14:11.265] } [13:14:11.265] }, args = future.call.arguments) [13:14:11.265] } [13:14:11.266] Tweak future expression to call with '...' arguments ... DONE [13:14:11.266] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.267] [13:14:11.267] getGlobalsAndPackages() ... DONE [13:14:11.267] run() for 'Future' ... [13:14:11.267] - state: 'created' [13:14:11.267] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.281] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.281] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.282] - Field: 'node' [13:14:11.282] - Field: 'label' [13:14:11.282] - Field: 'local' [13:14:11.282] - Field: 'owner' [13:14:11.282] - Field: 'envir' [13:14:11.283] - Field: 'workers' [13:14:11.283] - Field: 'packages' [13:14:11.283] - Field: 'gc' [13:14:11.283] - Field: 'conditions' [13:14:11.283] - Field: 'persistent' [13:14:11.283] - Field: 'expr' [13:14:11.284] - Field: 'uuid' [13:14:11.284] - Field: 'seed' [13:14:11.284] - Field: 'version' [13:14:11.284] - Field: 'result' [13:14:11.284] - Field: 'asynchronous' [13:14:11.285] - Field: 'calls' [13:14:11.285] - Field: 'globals' [13:14:11.285] - Field: 'stdout' [13:14:11.285] - Field: 'earlySignal' [13:14:11.285] - Field: 'lazy' [13:14:11.285] - Field: 'state' [13:14:11.286] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.286] - Launch lazy future ... [13:14:11.286] Packages needed by the future expression (n = 0): [13:14:11.286] Packages needed by future strategies (n = 0): [13:14:11.287] { [13:14:11.287] { [13:14:11.287] { [13:14:11.287] ...future.startTime <- base::Sys.time() [13:14:11.287] { [13:14:11.287] { [13:14:11.287] { [13:14:11.287] { [13:14:11.287] base::local({ [13:14:11.287] has_future <- base::requireNamespace("future", [13:14:11.287] quietly = TRUE) [13:14:11.287] if (has_future) { [13:14:11.287] ns <- base::getNamespace("future") [13:14:11.287] version <- ns[[".package"]][["version"]] [13:14:11.287] if (is.null(version)) [13:14:11.287] version <- utils::packageVersion("future") [13:14:11.287] } [13:14:11.287] else { [13:14:11.287] version <- NULL [13:14:11.287] } [13:14:11.287] if (!has_future || version < "1.8.0") { [13:14:11.287] info <- base::c(r_version = base::gsub("R version ", [13:14:11.287] "", base::R.version$version.string), [13:14:11.287] platform = base::sprintf("%s (%s-bit)", [13:14:11.287] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.287] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.287] "release", "version")], collapse = " "), [13:14:11.287] hostname = base::Sys.info()[["nodename"]]) [13:14:11.287] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.287] info) [13:14:11.287] info <- base::paste(info, collapse = "; ") [13:14:11.287] if (!has_future) { [13:14:11.287] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.287] info) [13:14:11.287] } [13:14:11.287] else { [13:14:11.287] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.287] info, version) [13:14:11.287] } [13:14:11.287] base::stop(msg) [13:14:11.287] } [13:14:11.287] }) [13:14:11.287] } [13:14:11.287] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.287] base::options(mc.cores = 1L) [13:14:11.287] } [13:14:11.287] options(future.plan = NULL) [13:14:11.287] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.287] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.287] } [13:14:11.287] ...future.workdir <- getwd() [13:14:11.287] } [13:14:11.287] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.287] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.287] } [13:14:11.287] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.287] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.287] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.287] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.287] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.287] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.287] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.287] base::names(...future.oldOptions)) [13:14:11.287] } [13:14:11.287] if (FALSE) { [13:14:11.287] } [13:14:11.287] else { [13:14:11.287] if (TRUE) { [13:14:11.287] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.287] open = "w") [13:14:11.287] } [13:14:11.287] else { [13:14:11.287] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.287] windows = "NUL", "/dev/null"), open = "w") [13:14:11.287] } [13:14:11.287] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.287] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.287] base::sink(type = "output", split = FALSE) [13:14:11.287] base::close(...future.stdout) [13:14:11.287] }, add = TRUE) [13:14:11.287] } [13:14:11.287] ...future.frame <- base::sys.nframe() [13:14:11.287] ...future.conditions <- base::list() [13:14:11.287] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.287] if (FALSE) { [13:14:11.287] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.287] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.287] } [13:14:11.287] ...future.result <- base::tryCatch({ [13:14:11.287] base::withCallingHandlers({ [13:14:11.287] ...future.value <- base::withVisible(base::local({ [13:14:11.287] ...future.makeSendCondition <- local({ [13:14:11.287] sendCondition <- NULL [13:14:11.287] function(frame = 1L) { [13:14:11.287] if (is.function(sendCondition)) [13:14:11.287] return(sendCondition) [13:14:11.287] ns <- getNamespace("parallel") [13:14:11.287] if (exists("sendData", mode = "function", [13:14:11.287] envir = ns)) { [13:14:11.287] parallel_sendData <- get("sendData", mode = "function", [13:14:11.287] envir = ns) [13:14:11.287] envir <- sys.frame(frame) [13:14:11.287] master <- NULL [13:14:11.287] while (!identical(envir, .GlobalEnv) && [13:14:11.287] !identical(envir, emptyenv())) { [13:14:11.287] if (exists("master", mode = "list", envir = envir, [13:14:11.287] inherits = FALSE)) { [13:14:11.287] master <- get("master", mode = "list", [13:14:11.287] envir = envir, inherits = FALSE) [13:14:11.287] if (inherits(master, c("SOCKnode", [13:14:11.287] "SOCK0node"))) { [13:14:11.287] sendCondition <<- function(cond) { [13:14:11.287] data <- list(type = "VALUE", value = cond, [13:14:11.287] success = TRUE) [13:14:11.287] parallel_sendData(master, data) [13:14:11.287] } [13:14:11.287] return(sendCondition) [13:14:11.287] } [13:14:11.287] } [13:14:11.287] frame <- frame + 1L [13:14:11.287] envir <- sys.frame(frame) [13:14:11.287] } [13:14:11.287] } [13:14:11.287] sendCondition <<- function(cond) NULL [13:14:11.287] } [13:14:11.287] }) [13:14:11.287] withCallingHandlers({ [13:14:11.287] { [13:14:11.287] do.call(function(...) { [13:14:11.287] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.287] if (!identical(...future.globals.maxSize.org, [13:14:11.287] ...future.globals.maxSize)) { [13:14:11.287] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.287] on.exit(options(oopts), add = TRUE) [13:14:11.287] } [13:14:11.287] { [13:14:11.287] lapply(seq_along(...future.elements_ii), [13:14:11.287] FUN = function(jj) { [13:14:11.287] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.287] ...future.FUN(...future.X_jj, ...) [13:14:11.287] }) [13:14:11.287] } [13:14:11.287] }, args = future.call.arguments) [13:14:11.287] } [13:14:11.287] }, immediateCondition = function(cond) { [13:14:11.287] sendCondition <- ...future.makeSendCondition() [13:14:11.287] sendCondition(cond) [13:14:11.287] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.287] { [13:14:11.287] inherits <- base::inherits [13:14:11.287] invokeRestart <- base::invokeRestart [13:14:11.287] is.null <- base::is.null [13:14:11.287] muffled <- FALSE [13:14:11.287] if (inherits(cond, "message")) { [13:14:11.287] muffled <- grepl(pattern, "muffleMessage") [13:14:11.287] if (muffled) [13:14:11.287] invokeRestart("muffleMessage") [13:14:11.287] } [13:14:11.287] else if (inherits(cond, "warning")) { [13:14:11.287] muffled <- grepl(pattern, "muffleWarning") [13:14:11.287] if (muffled) [13:14:11.287] invokeRestart("muffleWarning") [13:14:11.287] } [13:14:11.287] else if (inherits(cond, "condition")) { [13:14:11.287] if (!is.null(pattern)) { [13:14:11.287] computeRestarts <- base::computeRestarts [13:14:11.287] grepl <- base::grepl [13:14:11.287] restarts <- computeRestarts(cond) [13:14:11.287] for (restart in restarts) { [13:14:11.287] name <- restart$name [13:14:11.287] if (is.null(name)) [13:14:11.287] next [13:14:11.287] if (!grepl(pattern, name)) [13:14:11.287] next [13:14:11.287] invokeRestart(restart) [13:14:11.287] muffled <- TRUE [13:14:11.287] break [13:14:11.287] } [13:14:11.287] } [13:14:11.287] } [13:14:11.287] invisible(muffled) [13:14:11.287] } [13:14:11.287] muffleCondition(cond) [13:14:11.287] }) [13:14:11.287] })) [13:14:11.287] future::FutureResult(value = ...future.value$value, [13:14:11.287] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.287] ...future.rng), globalenv = if (FALSE) [13:14:11.287] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.287] ...future.globalenv.names)) [13:14:11.287] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.287] }, condition = base::local({ [13:14:11.287] c <- base::c [13:14:11.287] inherits <- base::inherits [13:14:11.287] invokeRestart <- base::invokeRestart [13:14:11.287] length <- base::length [13:14:11.287] list <- base::list [13:14:11.287] seq.int <- base::seq.int [13:14:11.287] signalCondition <- base::signalCondition [13:14:11.287] sys.calls <- base::sys.calls [13:14:11.287] `[[` <- base::`[[` [13:14:11.287] `+` <- base::`+` [13:14:11.287] `<<-` <- base::`<<-` [13:14:11.287] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.287] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.287] 3L)] [13:14:11.287] } [13:14:11.287] function(cond) { [13:14:11.287] is_error <- inherits(cond, "error") [13:14:11.287] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.287] NULL) [13:14:11.287] if (is_error) { [13:14:11.287] sessionInformation <- function() { [13:14:11.287] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.287] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.287] search = base::search(), system = base::Sys.info()) [13:14:11.287] } [13:14:11.287] ...future.conditions[[length(...future.conditions) + [13:14:11.287] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.287] cond$call), session = sessionInformation(), [13:14:11.287] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.287] signalCondition(cond) [13:14:11.287] } [13:14:11.287] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.287] "immediateCondition"))) { [13:14:11.287] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.287] ...future.conditions[[length(...future.conditions) + [13:14:11.287] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.287] if (TRUE && !signal) { [13:14:11.287] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.287] { [13:14:11.287] inherits <- base::inherits [13:14:11.287] invokeRestart <- base::invokeRestart [13:14:11.287] is.null <- base::is.null [13:14:11.287] muffled <- FALSE [13:14:11.287] if (inherits(cond, "message")) { [13:14:11.287] muffled <- grepl(pattern, "muffleMessage") [13:14:11.287] if (muffled) [13:14:11.287] invokeRestart("muffleMessage") [13:14:11.287] } [13:14:11.287] else if (inherits(cond, "warning")) { [13:14:11.287] muffled <- grepl(pattern, "muffleWarning") [13:14:11.287] if (muffled) [13:14:11.287] invokeRestart("muffleWarning") [13:14:11.287] } [13:14:11.287] else if (inherits(cond, "condition")) { [13:14:11.287] if (!is.null(pattern)) { [13:14:11.287] computeRestarts <- base::computeRestarts [13:14:11.287] grepl <- base::grepl [13:14:11.287] restarts <- computeRestarts(cond) [13:14:11.287] for (restart in restarts) { [13:14:11.287] name <- restart$name [13:14:11.287] if (is.null(name)) [13:14:11.287] next [13:14:11.287] if (!grepl(pattern, name)) [13:14:11.287] next [13:14:11.287] invokeRestart(restart) [13:14:11.287] muffled <- TRUE [13:14:11.287] break [13:14:11.287] } [13:14:11.287] } [13:14:11.287] } [13:14:11.287] invisible(muffled) [13:14:11.287] } [13:14:11.287] muffleCondition(cond, pattern = "^muffle") [13:14:11.287] } [13:14:11.287] } [13:14:11.287] else { [13:14:11.287] if (TRUE) { [13:14:11.287] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.287] { [13:14:11.287] inherits <- base::inherits [13:14:11.287] invokeRestart <- base::invokeRestart [13:14:11.287] is.null <- base::is.null [13:14:11.287] muffled <- FALSE [13:14:11.287] if (inherits(cond, "message")) { [13:14:11.287] muffled <- grepl(pattern, "muffleMessage") [13:14:11.287] if (muffled) [13:14:11.287] invokeRestart("muffleMessage") [13:14:11.287] } [13:14:11.287] else if (inherits(cond, "warning")) { [13:14:11.287] muffled <- grepl(pattern, "muffleWarning") [13:14:11.287] if (muffled) [13:14:11.287] invokeRestart("muffleWarning") [13:14:11.287] } [13:14:11.287] else if (inherits(cond, "condition")) { [13:14:11.287] if (!is.null(pattern)) { [13:14:11.287] computeRestarts <- base::computeRestarts [13:14:11.287] grepl <- base::grepl [13:14:11.287] restarts <- computeRestarts(cond) [13:14:11.287] for (restart in restarts) { [13:14:11.287] name <- restart$name [13:14:11.287] if (is.null(name)) [13:14:11.287] next [13:14:11.287] if (!grepl(pattern, name)) [13:14:11.287] next [13:14:11.287] invokeRestart(restart) [13:14:11.287] muffled <- TRUE [13:14:11.287] break [13:14:11.287] } [13:14:11.287] } [13:14:11.287] } [13:14:11.287] invisible(muffled) [13:14:11.287] } [13:14:11.287] muffleCondition(cond, pattern = "^muffle") [13:14:11.287] } [13:14:11.287] } [13:14:11.287] } [13:14:11.287] })) [13:14:11.287] }, error = function(ex) { [13:14:11.287] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.287] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.287] ...future.rng), started = ...future.startTime, [13:14:11.287] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.287] version = "1.8"), class = "FutureResult") [13:14:11.287] }, finally = { [13:14:11.287] if (!identical(...future.workdir, getwd())) [13:14:11.287] setwd(...future.workdir) [13:14:11.287] { [13:14:11.287] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.287] ...future.oldOptions$nwarnings <- NULL [13:14:11.287] } [13:14:11.287] base::options(...future.oldOptions) [13:14:11.287] if (.Platform$OS.type == "windows") { [13:14:11.287] old_names <- names(...future.oldEnvVars) [13:14:11.287] envs <- base::Sys.getenv() [13:14:11.287] names <- names(envs) [13:14:11.287] common <- intersect(names, old_names) [13:14:11.287] added <- setdiff(names, old_names) [13:14:11.287] removed <- setdiff(old_names, names) [13:14:11.287] changed <- common[...future.oldEnvVars[common] != [13:14:11.287] envs[common]] [13:14:11.287] NAMES <- toupper(changed) [13:14:11.287] args <- list() [13:14:11.287] for (kk in seq_along(NAMES)) { [13:14:11.287] name <- changed[[kk]] [13:14:11.287] NAME <- NAMES[[kk]] [13:14:11.287] if (name != NAME && is.element(NAME, old_names)) [13:14:11.287] next [13:14:11.287] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.287] } [13:14:11.287] NAMES <- toupper(added) [13:14:11.287] for (kk in seq_along(NAMES)) { [13:14:11.287] name <- added[[kk]] [13:14:11.287] NAME <- NAMES[[kk]] [13:14:11.287] if (name != NAME && is.element(NAME, old_names)) [13:14:11.287] next [13:14:11.287] args[[name]] <- "" [13:14:11.287] } [13:14:11.287] NAMES <- toupper(removed) [13:14:11.287] for (kk in seq_along(NAMES)) { [13:14:11.287] name <- removed[[kk]] [13:14:11.287] NAME <- NAMES[[kk]] [13:14:11.287] if (name != NAME && is.element(NAME, old_names)) [13:14:11.287] next [13:14:11.287] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.287] } [13:14:11.287] if (length(args) > 0) [13:14:11.287] base::do.call(base::Sys.setenv, args = args) [13:14:11.287] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.287] } [13:14:11.287] else { [13:14:11.287] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.287] } [13:14:11.287] { [13:14:11.287] if (base::length(...future.futureOptionsAdded) > [13:14:11.287] 0L) { [13:14:11.287] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.287] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.287] base::options(opts) [13:14:11.287] } [13:14:11.287] { [13:14:11.287] { [13:14:11.287] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.287] NULL [13:14:11.287] } [13:14:11.287] options(future.plan = NULL) [13:14:11.287] if (is.na(NA_character_)) [13:14:11.287] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.287] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.287] future::plan(list(function (..., workers = availableCores(), [13:14:11.287] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.287] envir = parent.frame()) [13:14:11.287] { [13:14:11.287] if (is.function(workers)) [13:14:11.287] workers <- workers() [13:14:11.287] workers <- structure(as.integer(workers), [13:14:11.287] class = class(workers)) [13:14:11.287] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.287] workers >= 1) [13:14:11.287] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.287] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.287] } [13:14:11.287] future <- MultisessionFuture(..., workers = workers, [13:14:11.287] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.287] envir = envir) [13:14:11.287] if (!future$lazy) [13:14:11.287] future <- run(future) [13:14:11.287] invisible(future) [13:14:11.287] }), .cleanup = FALSE, .init = FALSE) [13:14:11.287] } [13:14:11.287] } [13:14:11.287] } [13:14:11.287] }) [13:14:11.287] if (TRUE) { [13:14:11.287] base::sink(type = "output", split = FALSE) [13:14:11.287] if (TRUE) { [13:14:11.287] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.287] } [13:14:11.287] else { [13:14:11.287] ...future.result["stdout"] <- base::list(NULL) [13:14:11.287] } [13:14:11.287] base::close(...future.stdout) [13:14:11.287] ...future.stdout <- NULL [13:14:11.287] } [13:14:11.287] ...future.result$conditions <- ...future.conditions [13:14:11.287] ...future.result$finished <- base::Sys.time() [13:14:11.287] ...future.result [13:14:11.287] } [13:14:11.292] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:11.293] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:11.293] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:11.293] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.294] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.294] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.294] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.295] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.295] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.295] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.296] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.296] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:11.297] MultisessionFuture started [13:14:11.297] - Launch lazy future ... done [13:14:11.297] run() for 'MultisessionFuture' ... done [13:14:11.297] Created future: [13:14:11.313] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.313] - Validating connection of MultisessionFuture [13:14:11.314] - received message: FutureResult [13:14:11.314] - Received FutureResult [13:14:11.314] - Erased future from FutureRegistry [13:14:11.314] result() for ClusterFuture ... [13:14:11.314] - result already collected: FutureResult [13:14:11.315] result() for ClusterFuture ... done [13:14:11.315] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.297] MultisessionFuture: [13:14:11.297] Label: 'future_sapply-1' [13:14:11.297] Expression: [13:14:11.297] { [13:14:11.297] do.call(function(...) { [13:14:11.297] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.297] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.297] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.297] on.exit(options(oopts), add = TRUE) [13:14:11.297] } [13:14:11.297] { [13:14:11.297] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.297] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.297] ...future.FUN(...future.X_jj, ...) [13:14:11.297] }) [13:14:11.297] } [13:14:11.297] }, args = future.call.arguments) [13:14:11.297] } [13:14:11.297] Lazy evaluation: FALSE [13:14:11.297] Asynchronous evaluation: TRUE [13:14:11.297] Local evaluation: TRUE [13:14:11.297] Environment: R_GlobalEnv [13:14:11.297] Capture standard output: TRUE [13:14:11.297] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.297] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.297] Packages: [13:14:11.297] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.297] Resolved: TRUE [13:14:11.297] Value: [13:14:11.297] Conditions captured: [13:14:11.297] Early signaling: FALSE [13:14:11.297] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.297] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.315] Chunk #1 of 2 ... DONE [13:14:11.315] Chunk #2 of 2 ... [13:14:11.316] - Finding globals in 'X' for chunk #2 ... [13:14:11.316] getGlobalsAndPackages() ... [13:14:11.316] Searching for globals... [13:14:11.316] [13:14:11.316] Searching for globals ... DONE [13:14:11.317] - globals: [0] [13:14:11.317] getGlobalsAndPackages() ... DONE [13:14:11.317] + additional globals found: [n=0] [13:14:11.317] + additional namespaces needed: [n=0] [13:14:11.317] - Finding globals in 'X' for chunk #2 ... DONE [13:14:11.317] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.318] - seeds: [13:14:11.318] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.318] getGlobalsAndPackages() ... [13:14:11.318] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.318] Resolving globals: FALSE [13:14:11.318] Tweak future expression to call with '...' arguments ... [13:14:11.319] { [13:14:11.319] do.call(function(...) { [13:14:11.319] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.319] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.319] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.319] on.exit(options(oopts), add = TRUE) [13:14:11.319] } [13:14:11.319] { [13:14:11.319] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.319] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.319] ...future.FUN(...future.X_jj, ...) [13:14:11.319] }) [13:14:11.319] } [13:14:11.319] }, args = future.call.arguments) [13:14:11.319] } [13:14:11.319] Tweak future expression to call with '...' arguments ... DONE [13:14:11.319] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.320] [13:14:11.320] getGlobalsAndPackages() ... DONE [13:14:11.320] run() for 'Future' ... [13:14:11.320] - state: 'created' [13:14:11.321] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.334] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.335] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.335] - Field: 'node' [13:14:11.335] - Field: 'label' [13:14:11.335] - Field: 'local' [13:14:11.335] - Field: 'owner' [13:14:11.336] - Field: 'envir' [13:14:11.336] - Field: 'workers' [13:14:11.336] - Field: 'packages' [13:14:11.336] - Field: 'gc' [13:14:11.336] - Field: 'conditions' [13:14:11.336] - Field: 'persistent' [13:14:11.337] - Field: 'expr' [13:14:11.337] - Field: 'uuid' [13:14:11.337] - Field: 'seed' [13:14:11.337] - Field: 'version' [13:14:11.337] - Field: 'result' [13:14:11.338] - Field: 'asynchronous' [13:14:11.338] - Field: 'calls' [13:14:11.338] - Field: 'globals' [13:14:11.338] - Field: 'stdout' [13:14:11.338] - Field: 'earlySignal' [13:14:11.338] - Field: 'lazy' [13:14:11.339] - Field: 'state' [13:14:11.339] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.339] - Launch lazy future ... [13:14:11.339] Packages needed by the future expression (n = 0): [13:14:11.339] Packages needed by future strategies (n = 0): [13:14:11.340] { [13:14:11.340] { [13:14:11.340] { [13:14:11.340] ...future.startTime <- base::Sys.time() [13:14:11.340] { [13:14:11.340] { [13:14:11.340] { [13:14:11.340] { [13:14:11.340] base::local({ [13:14:11.340] has_future <- base::requireNamespace("future", [13:14:11.340] quietly = TRUE) [13:14:11.340] if (has_future) { [13:14:11.340] ns <- base::getNamespace("future") [13:14:11.340] version <- ns[[".package"]][["version"]] [13:14:11.340] if (is.null(version)) [13:14:11.340] version <- utils::packageVersion("future") [13:14:11.340] } [13:14:11.340] else { [13:14:11.340] version <- NULL [13:14:11.340] } [13:14:11.340] if (!has_future || version < "1.8.0") { [13:14:11.340] info <- base::c(r_version = base::gsub("R version ", [13:14:11.340] "", base::R.version$version.string), [13:14:11.340] platform = base::sprintf("%s (%s-bit)", [13:14:11.340] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.340] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.340] "release", "version")], collapse = " "), [13:14:11.340] hostname = base::Sys.info()[["nodename"]]) [13:14:11.340] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.340] info) [13:14:11.340] info <- base::paste(info, collapse = "; ") [13:14:11.340] if (!has_future) { [13:14:11.340] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.340] info) [13:14:11.340] } [13:14:11.340] else { [13:14:11.340] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.340] info, version) [13:14:11.340] } [13:14:11.340] base::stop(msg) [13:14:11.340] } [13:14:11.340] }) [13:14:11.340] } [13:14:11.340] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.340] base::options(mc.cores = 1L) [13:14:11.340] } [13:14:11.340] options(future.plan = NULL) [13:14:11.340] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.340] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.340] } [13:14:11.340] ...future.workdir <- getwd() [13:14:11.340] } [13:14:11.340] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.340] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.340] } [13:14:11.340] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.340] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.340] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.340] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.340] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.340] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.340] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.340] base::names(...future.oldOptions)) [13:14:11.340] } [13:14:11.340] if (FALSE) { [13:14:11.340] } [13:14:11.340] else { [13:14:11.340] if (TRUE) { [13:14:11.340] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.340] open = "w") [13:14:11.340] } [13:14:11.340] else { [13:14:11.340] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.340] windows = "NUL", "/dev/null"), open = "w") [13:14:11.340] } [13:14:11.340] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.340] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.340] base::sink(type = "output", split = FALSE) [13:14:11.340] base::close(...future.stdout) [13:14:11.340] }, add = TRUE) [13:14:11.340] } [13:14:11.340] ...future.frame <- base::sys.nframe() [13:14:11.340] ...future.conditions <- base::list() [13:14:11.340] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.340] if (FALSE) { [13:14:11.340] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.340] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.340] } [13:14:11.340] ...future.result <- base::tryCatch({ [13:14:11.340] base::withCallingHandlers({ [13:14:11.340] ...future.value <- base::withVisible(base::local({ [13:14:11.340] ...future.makeSendCondition <- local({ [13:14:11.340] sendCondition <- NULL [13:14:11.340] function(frame = 1L) { [13:14:11.340] if (is.function(sendCondition)) [13:14:11.340] return(sendCondition) [13:14:11.340] ns <- getNamespace("parallel") [13:14:11.340] if (exists("sendData", mode = "function", [13:14:11.340] envir = ns)) { [13:14:11.340] parallel_sendData <- get("sendData", mode = "function", [13:14:11.340] envir = ns) [13:14:11.340] envir <- sys.frame(frame) [13:14:11.340] master <- NULL [13:14:11.340] while (!identical(envir, .GlobalEnv) && [13:14:11.340] !identical(envir, emptyenv())) { [13:14:11.340] if (exists("master", mode = "list", envir = envir, [13:14:11.340] inherits = FALSE)) { [13:14:11.340] master <- get("master", mode = "list", [13:14:11.340] envir = envir, inherits = FALSE) [13:14:11.340] if (inherits(master, c("SOCKnode", [13:14:11.340] "SOCK0node"))) { [13:14:11.340] sendCondition <<- function(cond) { [13:14:11.340] data <- list(type = "VALUE", value = cond, [13:14:11.340] success = TRUE) [13:14:11.340] parallel_sendData(master, data) [13:14:11.340] } [13:14:11.340] return(sendCondition) [13:14:11.340] } [13:14:11.340] } [13:14:11.340] frame <- frame + 1L [13:14:11.340] envir <- sys.frame(frame) [13:14:11.340] } [13:14:11.340] } [13:14:11.340] sendCondition <<- function(cond) NULL [13:14:11.340] } [13:14:11.340] }) [13:14:11.340] withCallingHandlers({ [13:14:11.340] { [13:14:11.340] do.call(function(...) { [13:14:11.340] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.340] if (!identical(...future.globals.maxSize.org, [13:14:11.340] ...future.globals.maxSize)) { [13:14:11.340] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.340] on.exit(options(oopts), add = TRUE) [13:14:11.340] } [13:14:11.340] { [13:14:11.340] lapply(seq_along(...future.elements_ii), [13:14:11.340] FUN = function(jj) { [13:14:11.340] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.340] ...future.FUN(...future.X_jj, ...) [13:14:11.340] }) [13:14:11.340] } [13:14:11.340] }, args = future.call.arguments) [13:14:11.340] } [13:14:11.340] }, immediateCondition = function(cond) { [13:14:11.340] sendCondition <- ...future.makeSendCondition() [13:14:11.340] sendCondition(cond) [13:14:11.340] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.340] { [13:14:11.340] inherits <- base::inherits [13:14:11.340] invokeRestart <- base::invokeRestart [13:14:11.340] is.null <- base::is.null [13:14:11.340] muffled <- FALSE [13:14:11.340] if (inherits(cond, "message")) { [13:14:11.340] muffled <- grepl(pattern, "muffleMessage") [13:14:11.340] if (muffled) [13:14:11.340] invokeRestart("muffleMessage") [13:14:11.340] } [13:14:11.340] else if (inherits(cond, "warning")) { [13:14:11.340] muffled <- grepl(pattern, "muffleWarning") [13:14:11.340] if (muffled) [13:14:11.340] invokeRestart("muffleWarning") [13:14:11.340] } [13:14:11.340] else if (inherits(cond, "condition")) { [13:14:11.340] if (!is.null(pattern)) { [13:14:11.340] computeRestarts <- base::computeRestarts [13:14:11.340] grepl <- base::grepl [13:14:11.340] restarts <- computeRestarts(cond) [13:14:11.340] for (restart in restarts) { [13:14:11.340] name <- restart$name [13:14:11.340] if (is.null(name)) [13:14:11.340] next [13:14:11.340] if (!grepl(pattern, name)) [13:14:11.340] next [13:14:11.340] invokeRestart(restart) [13:14:11.340] muffled <- TRUE [13:14:11.340] break [13:14:11.340] } [13:14:11.340] } [13:14:11.340] } [13:14:11.340] invisible(muffled) [13:14:11.340] } [13:14:11.340] muffleCondition(cond) [13:14:11.340] }) [13:14:11.340] })) [13:14:11.340] future::FutureResult(value = ...future.value$value, [13:14:11.340] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.340] ...future.rng), globalenv = if (FALSE) [13:14:11.340] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.340] ...future.globalenv.names)) [13:14:11.340] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.340] }, condition = base::local({ [13:14:11.340] c <- base::c [13:14:11.340] inherits <- base::inherits [13:14:11.340] invokeRestart <- base::invokeRestart [13:14:11.340] length <- base::length [13:14:11.340] list <- base::list [13:14:11.340] seq.int <- base::seq.int [13:14:11.340] signalCondition <- base::signalCondition [13:14:11.340] sys.calls <- base::sys.calls [13:14:11.340] `[[` <- base::`[[` [13:14:11.340] `+` <- base::`+` [13:14:11.340] `<<-` <- base::`<<-` [13:14:11.340] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.340] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.340] 3L)] [13:14:11.340] } [13:14:11.340] function(cond) { [13:14:11.340] is_error <- inherits(cond, "error") [13:14:11.340] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.340] NULL) [13:14:11.340] if (is_error) { [13:14:11.340] sessionInformation <- function() { [13:14:11.340] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.340] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.340] search = base::search(), system = base::Sys.info()) [13:14:11.340] } [13:14:11.340] ...future.conditions[[length(...future.conditions) + [13:14:11.340] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.340] cond$call), session = sessionInformation(), [13:14:11.340] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.340] signalCondition(cond) [13:14:11.340] } [13:14:11.340] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.340] "immediateCondition"))) { [13:14:11.340] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.340] ...future.conditions[[length(...future.conditions) + [13:14:11.340] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.340] if (TRUE && !signal) { [13:14:11.340] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.340] { [13:14:11.340] inherits <- base::inherits [13:14:11.340] invokeRestart <- base::invokeRestart [13:14:11.340] is.null <- base::is.null [13:14:11.340] muffled <- FALSE [13:14:11.340] if (inherits(cond, "message")) { [13:14:11.340] muffled <- grepl(pattern, "muffleMessage") [13:14:11.340] if (muffled) [13:14:11.340] invokeRestart("muffleMessage") [13:14:11.340] } [13:14:11.340] else if (inherits(cond, "warning")) { [13:14:11.340] muffled <- grepl(pattern, "muffleWarning") [13:14:11.340] if (muffled) [13:14:11.340] invokeRestart("muffleWarning") [13:14:11.340] } [13:14:11.340] else if (inherits(cond, "condition")) { [13:14:11.340] if (!is.null(pattern)) { [13:14:11.340] computeRestarts <- base::computeRestarts [13:14:11.340] grepl <- base::grepl [13:14:11.340] restarts <- computeRestarts(cond) [13:14:11.340] for (restart in restarts) { [13:14:11.340] name <- restart$name [13:14:11.340] if (is.null(name)) [13:14:11.340] next [13:14:11.340] if (!grepl(pattern, name)) [13:14:11.340] next [13:14:11.340] invokeRestart(restart) [13:14:11.340] muffled <- TRUE [13:14:11.340] break [13:14:11.340] } [13:14:11.340] } [13:14:11.340] } [13:14:11.340] invisible(muffled) [13:14:11.340] } [13:14:11.340] muffleCondition(cond, pattern = "^muffle") [13:14:11.340] } [13:14:11.340] } [13:14:11.340] else { [13:14:11.340] if (TRUE) { [13:14:11.340] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.340] { [13:14:11.340] inherits <- base::inherits [13:14:11.340] invokeRestart <- base::invokeRestart [13:14:11.340] is.null <- base::is.null [13:14:11.340] muffled <- FALSE [13:14:11.340] if (inherits(cond, "message")) { [13:14:11.340] muffled <- grepl(pattern, "muffleMessage") [13:14:11.340] if (muffled) [13:14:11.340] invokeRestart("muffleMessage") [13:14:11.340] } [13:14:11.340] else if (inherits(cond, "warning")) { [13:14:11.340] muffled <- grepl(pattern, "muffleWarning") [13:14:11.340] if (muffled) [13:14:11.340] invokeRestart("muffleWarning") [13:14:11.340] } [13:14:11.340] else if (inherits(cond, "condition")) { [13:14:11.340] if (!is.null(pattern)) { [13:14:11.340] computeRestarts <- base::computeRestarts [13:14:11.340] grepl <- base::grepl [13:14:11.340] restarts <- computeRestarts(cond) [13:14:11.340] for (restart in restarts) { [13:14:11.340] name <- restart$name [13:14:11.340] if (is.null(name)) [13:14:11.340] next [13:14:11.340] if (!grepl(pattern, name)) [13:14:11.340] next [13:14:11.340] invokeRestart(restart) [13:14:11.340] muffled <- TRUE [13:14:11.340] break [13:14:11.340] } [13:14:11.340] } [13:14:11.340] } [13:14:11.340] invisible(muffled) [13:14:11.340] } [13:14:11.340] muffleCondition(cond, pattern = "^muffle") [13:14:11.340] } [13:14:11.340] } [13:14:11.340] } [13:14:11.340] })) [13:14:11.340] }, error = function(ex) { [13:14:11.340] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.340] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.340] ...future.rng), started = ...future.startTime, [13:14:11.340] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.340] version = "1.8"), class = "FutureResult") [13:14:11.340] }, finally = { [13:14:11.340] if (!identical(...future.workdir, getwd())) [13:14:11.340] setwd(...future.workdir) [13:14:11.340] { [13:14:11.340] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.340] ...future.oldOptions$nwarnings <- NULL [13:14:11.340] } [13:14:11.340] base::options(...future.oldOptions) [13:14:11.340] if (.Platform$OS.type == "windows") { [13:14:11.340] old_names <- names(...future.oldEnvVars) [13:14:11.340] envs <- base::Sys.getenv() [13:14:11.340] names <- names(envs) [13:14:11.340] common <- intersect(names, old_names) [13:14:11.340] added <- setdiff(names, old_names) [13:14:11.340] removed <- setdiff(old_names, names) [13:14:11.340] changed <- common[...future.oldEnvVars[common] != [13:14:11.340] envs[common]] [13:14:11.340] NAMES <- toupper(changed) [13:14:11.340] args <- list() [13:14:11.340] for (kk in seq_along(NAMES)) { [13:14:11.340] name <- changed[[kk]] [13:14:11.340] NAME <- NAMES[[kk]] [13:14:11.340] if (name != NAME && is.element(NAME, old_names)) [13:14:11.340] next [13:14:11.340] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.340] } [13:14:11.340] NAMES <- toupper(added) [13:14:11.340] for (kk in seq_along(NAMES)) { [13:14:11.340] name <- added[[kk]] [13:14:11.340] NAME <- NAMES[[kk]] [13:14:11.340] if (name != NAME && is.element(NAME, old_names)) [13:14:11.340] next [13:14:11.340] args[[name]] <- "" [13:14:11.340] } [13:14:11.340] NAMES <- toupper(removed) [13:14:11.340] for (kk in seq_along(NAMES)) { [13:14:11.340] name <- removed[[kk]] [13:14:11.340] NAME <- NAMES[[kk]] [13:14:11.340] if (name != NAME && is.element(NAME, old_names)) [13:14:11.340] next [13:14:11.340] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.340] } [13:14:11.340] if (length(args) > 0) [13:14:11.340] base::do.call(base::Sys.setenv, args = args) [13:14:11.340] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.340] } [13:14:11.340] else { [13:14:11.340] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.340] } [13:14:11.340] { [13:14:11.340] if (base::length(...future.futureOptionsAdded) > [13:14:11.340] 0L) { [13:14:11.340] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.340] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.340] base::options(opts) [13:14:11.340] } [13:14:11.340] { [13:14:11.340] { [13:14:11.340] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.340] NULL [13:14:11.340] } [13:14:11.340] options(future.plan = NULL) [13:14:11.340] if (is.na(NA_character_)) [13:14:11.340] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.340] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.340] future::plan(list(function (..., workers = availableCores(), [13:14:11.340] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.340] envir = parent.frame()) [13:14:11.340] { [13:14:11.340] if (is.function(workers)) [13:14:11.340] workers <- workers() [13:14:11.340] workers <- structure(as.integer(workers), [13:14:11.340] class = class(workers)) [13:14:11.340] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.340] workers >= 1) [13:14:11.340] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.340] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.340] } [13:14:11.340] future <- MultisessionFuture(..., workers = workers, [13:14:11.340] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.340] envir = envir) [13:14:11.340] if (!future$lazy) [13:14:11.340] future <- run(future) [13:14:11.340] invisible(future) [13:14:11.340] }), .cleanup = FALSE, .init = FALSE) [13:14:11.340] } [13:14:11.340] } [13:14:11.340] } [13:14:11.340] }) [13:14:11.340] if (TRUE) { [13:14:11.340] base::sink(type = "output", split = FALSE) [13:14:11.340] if (TRUE) { [13:14:11.340] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.340] } [13:14:11.340] else { [13:14:11.340] ...future.result["stdout"] <- base::list(NULL) [13:14:11.340] } [13:14:11.340] base::close(...future.stdout) [13:14:11.340] ...future.stdout <- NULL [13:14:11.340] } [13:14:11.340] ...future.result$conditions <- ...future.conditions [13:14:11.340] ...future.result$finished <- base::Sys.time() [13:14:11.340] ...future.result [13:14:11.340] } [13:14:11.345] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:11.346] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:11.346] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:11.347] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.347] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.347] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... [13:14:11.348] Exporting '...future.elements_ii' (224 bytes) to cluster node #1 ... DONE [13:14:11.348] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.348] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.348] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.349] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.349] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:11.350] MultisessionFuture started [13:14:11.350] - Launch lazy future ... done [13:14:11.350] run() for 'MultisessionFuture' ... done [13:14:11.350] Created future: [13:14:11.366] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.366] - Validating connection of MultisessionFuture [13:14:11.367] - received message: FutureResult [13:14:11.367] - Received FutureResult [13:14:11.367] - Erased future from FutureRegistry [13:14:11.367] result() for ClusterFuture ... [13:14:11.367] - result already collected: FutureResult [13:14:11.367] result() for ClusterFuture ... done [13:14:11.368] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.350] MultisessionFuture: [13:14:11.350] Label: 'future_sapply-2' [13:14:11.350] Expression: [13:14:11.350] { [13:14:11.350] do.call(function(...) { [13:14:11.350] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.350] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.350] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.350] on.exit(options(oopts), add = TRUE) [13:14:11.350] } [13:14:11.350] { [13:14:11.350] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.350] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.350] ...future.FUN(...future.X_jj, ...) [13:14:11.350] }) [13:14:11.350] } [13:14:11.350] }, args = future.call.arguments) [13:14:11.350] } [13:14:11.350] Lazy evaluation: FALSE [13:14:11.350] Asynchronous evaluation: TRUE [13:14:11.350] Local evaluation: TRUE [13:14:11.350] Environment: R_GlobalEnv [13:14:11.350] Capture standard output: TRUE [13:14:11.350] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.350] Globals: 5 objects totaling 1.44 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.350] Packages: [13:14:11.350] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.350] Resolved: TRUE [13:14:11.350] Value: [13:14:11.350] Conditions captured: [13:14:11.350] Early signaling: FALSE [13:14:11.350] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.350] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.368] Chunk #2 of 2 ... DONE [13:14:11.368] Launching 2 futures (chunks) ... DONE [13:14:11.368] Resolving 2 futures (chunks) ... [13:14:11.369] resolve() on list ... [13:14:11.369] recursive: 0 [13:14:11.369] length: 2 [13:14:11.369] [13:14:11.369] Future #1 [13:14:11.369] result() for ClusterFuture ... [13:14:11.370] - result already collected: FutureResult [13:14:11.370] result() for ClusterFuture ... done [13:14:11.370] result() for ClusterFuture ... [13:14:11.370] - result already collected: FutureResult [13:14:11.370] result() for ClusterFuture ... done [13:14:11.370] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:11.370] - nx: 2 [13:14:11.371] - relay: TRUE [13:14:11.371] - stdout: TRUE [13:14:11.371] - signal: TRUE [13:14:11.371] - resignal: FALSE [13:14:11.371] - force: TRUE [13:14:11.371] - relayed: [n=2] FALSE, FALSE [13:14:11.372] - queued futures: [n=2] FALSE, FALSE [13:14:11.372] - until=1 [13:14:11.372] - relaying element #1 [13:14:11.372] result() for ClusterFuture ... [13:14:11.372] - result already collected: FutureResult [13:14:11.372] result() for ClusterFuture ... done [13:14:11.372] result() for ClusterFuture ... [13:14:11.373] - result already collected: FutureResult [13:14:11.373] result() for ClusterFuture ... done [13:14:11.373] result() for ClusterFuture ... [13:14:11.373] - result already collected: FutureResult [13:14:11.373] result() for ClusterFuture ... done [13:14:11.373] result() for ClusterFuture ... [13:14:11.374] - result already collected: FutureResult [13:14:11.374] result() for ClusterFuture ... done [13:14:11.374] - relayed: [n=2] TRUE, FALSE [13:14:11.374] - queued futures: [n=2] TRUE, FALSE [13:14:11.374] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:11.374] length: 1 (resolved future 1) [13:14:11.375] Future #2 [13:14:11.375] result() for ClusterFuture ... [13:14:11.375] - result already collected: FutureResult [13:14:11.375] result() for ClusterFuture ... done [13:14:11.375] result() for ClusterFuture ... [13:14:11.375] - result already collected: FutureResult [13:14:11.376] result() for ClusterFuture ... done [13:14:11.376] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:11.376] - nx: 2 [13:14:11.376] - relay: TRUE [13:14:11.376] - stdout: TRUE [13:14:11.376] - signal: TRUE [13:14:11.376] - resignal: FALSE [13:14:11.377] - force: TRUE [13:14:11.377] - relayed: [n=2] TRUE, FALSE [13:14:11.377] - queued futures: [n=2] TRUE, FALSE [13:14:11.377] - until=2 [13:14:11.377] - relaying element #2 [13:14:11.377] result() for ClusterFuture ... [13:14:11.378] - result already collected: FutureResult [13:14:11.378] result() for ClusterFuture ... done [13:14:11.378] result() for ClusterFuture ... [13:14:11.378] - result already collected: FutureResult [13:14:11.378] result() for ClusterFuture ... done [13:14:11.378] result() for ClusterFuture ... [13:14:11.379] - result already collected: FutureResult [13:14:11.379] result() for ClusterFuture ... done [13:14:11.379] result() for ClusterFuture ... [13:14:11.379] - result already collected: FutureResult [13:14:11.379] result() for ClusterFuture ... done [13:14:11.379] - relayed: [n=2] TRUE, TRUE [13:14:11.380] - queued futures: [n=2] TRUE, TRUE [13:14:11.380] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:11.380] length: 0 (resolved future 2) [13:14:11.380] Relaying remaining futures [13:14:11.380] signalConditionsASAP(NULL, pos=0) ... [13:14:11.380] - nx: 2 [13:14:11.381] - relay: TRUE [13:14:11.381] - stdout: TRUE [13:14:11.381] - signal: TRUE [13:14:11.381] - resignal: FALSE [13:14:11.381] - force: TRUE [13:14:11.381] - relayed: [n=2] TRUE, TRUE [13:14:11.381] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:11.382] - relayed: [n=2] TRUE, TRUE [13:14:11.382] - queued futures: [n=2] TRUE, TRUE [13:14:11.382] signalConditionsASAP(NULL, pos=0) ... done [13:14:11.382] resolve() on list ... DONE [13:14:11.382] result() for ClusterFuture ... [13:14:11.382] - result already collected: FutureResult [13:14:11.383] result() for ClusterFuture ... done [13:14:11.383] result() for ClusterFuture ... [13:14:11.383] - result already collected: FutureResult [13:14:11.383] result() for ClusterFuture ... done [13:14:11.383] result() for ClusterFuture ... [13:14:11.383] - result already collected: FutureResult [13:14:11.384] result() for ClusterFuture ... done [13:14:11.384] result() for ClusterFuture ... [13:14:11.384] - result already collected: FutureResult [13:14:11.387] result() for ClusterFuture ... done [13:14:11.387] - Number of value chunks collected: 2 [13:14:11.387] Resolving 2 futures (chunks) ... DONE [13:14:11.387] Reducing values from 2 chunks ... [13:14:11.387] - Number of values collected after concatenation: 3 [13:14:11.388] - Number of values expected: 3 [13:14:11.388] Reducing values from 2 chunks ... DONE [13:14:11.388] future_lapply() ... DONE List of 2 $ y0: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" $ y1: Named chr [1:3] "a" "b" "c" ..- attr(*, "names")= chr [1:3] "a" "b" "c" [13:14:11.390] future_lapply() ... [13:14:11.393] Number of chunks: 2 [13:14:11.393] getGlobalsAndPackagesXApply() ... [13:14:11.393] - future.globals: TRUE [13:14:11.393] getGlobalsAndPackages() ... [13:14:11.393] Searching for globals... [13:14:11.395] - globals found: [1] 'FUN' [13:14:11.395] Searching for globals ... DONE [13:14:11.395] Resolving globals: FALSE [13:14:11.395] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:11.396] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:11.396] - globals: [1] 'FUN' [13:14:11.396] [13:14:11.396] getGlobalsAndPackages() ... DONE [13:14:11.396] - globals found/used: [n=1] 'FUN' [13:14:11.397] - needed namespaces: [n=0] [13:14:11.397] Finding globals ... DONE [13:14:11.397] - use_args: TRUE [13:14:11.397] - Getting '...' globals ... [13:14:11.397] resolve() on list ... [13:14:11.398] recursive: 0 [13:14:11.398] length: 1 [13:14:11.398] elements: '...' [13:14:11.398] length: 0 (resolved future 1) [13:14:11.398] resolve() on list ... DONE [13:14:11.398] - '...' content: [n=0] [13:14:11.399] List of 1 [13:14:11.399] $ ...: list() [13:14:11.399] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.399] - attr(*, "where")=List of 1 [13:14:11.399] ..$ ...: [13:14:11.399] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.399] - attr(*, "resolved")= logi TRUE [13:14:11.399] - attr(*, "total_size")= num NA [13:14:11.402] - Getting '...' globals ... DONE [13:14:11.402] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:11.402] List of 2 [13:14:11.402] $ ...future.FUN:function (x) [13:14:11.402] $ ... : list() [13:14:11.402] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.402] - attr(*, "where")=List of 2 [13:14:11.402] ..$ ...future.FUN: [13:14:11.402] ..$ ... : [13:14:11.402] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.402] - attr(*, "resolved")= logi FALSE [13:14:11.402] - attr(*, "total_size")= num 848 [13:14:11.405] Packages to be attached in all futures: [n=0] [13:14:11.405] getGlobalsAndPackagesXApply() ... DONE [13:14:11.406] Number of futures (= number of chunks): 2 [13:14:11.406] Launching 2 futures (chunks) ... [13:14:11.406] Chunk #1 of 2 ... [13:14:11.406] - Finding globals in 'X' for chunk #1 ... [13:14:11.406] getGlobalsAndPackages() ... [13:14:11.407] Searching for globals... [13:14:11.407] [13:14:11.407] Searching for globals ... DONE [13:14:11.407] - globals: [0] [13:14:11.407] getGlobalsAndPackages() ... DONE [13:14:11.408] + additional globals found: [n=0] [13:14:11.408] + additional namespaces needed: [n=0] [13:14:11.408] - Finding globals in 'X' for chunk #1 ... DONE [13:14:11.408] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.408] - seeds: [13:14:11.408] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.409] getGlobalsAndPackages() ... [13:14:11.409] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.409] Resolving globals: FALSE [13:14:11.409] Tweak future expression to call with '...' arguments ... [13:14:11.409] { [13:14:11.409] do.call(function(...) { [13:14:11.409] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.409] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.409] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.409] on.exit(options(oopts), add = TRUE) [13:14:11.409] } [13:14:11.409] { [13:14:11.409] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.409] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.409] ...future.FUN(...future.X_jj, ...) [13:14:11.409] }) [13:14:11.409] } [13:14:11.409] }, args = future.call.arguments) [13:14:11.409] } [13:14:11.410] Tweak future expression to call with '...' arguments ... DONE [13:14:11.410] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.410] [13:14:11.411] getGlobalsAndPackages() ... DONE [13:14:11.411] run() for 'Future' ... [13:14:11.411] - state: 'created' [13:14:11.411] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.425] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.425] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.426] - Field: 'node' [13:14:11.426] - Field: 'label' [13:14:11.426] - Field: 'local' [13:14:11.426] - Field: 'owner' [13:14:11.426] - Field: 'envir' [13:14:11.427] - Field: 'workers' [13:14:11.427] - Field: 'packages' [13:14:11.427] - Field: 'gc' [13:14:11.427] - Field: 'conditions' [13:14:11.427] - Field: 'persistent' [13:14:11.427] - Field: 'expr' [13:14:11.428] - Field: 'uuid' [13:14:11.428] - Field: 'seed' [13:14:11.428] - Field: 'version' [13:14:11.428] - Field: 'result' [13:14:11.428] - Field: 'asynchronous' [13:14:11.428] - Field: 'calls' [13:14:11.429] - Field: 'globals' [13:14:11.429] - Field: 'stdout' [13:14:11.429] - Field: 'earlySignal' [13:14:11.429] - Field: 'lazy' [13:14:11.429] - Field: 'state' [13:14:11.430] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.430] - Launch lazy future ... [13:14:11.430] Packages needed by the future expression (n = 0): [13:14:11.430] Packages needed by future strategies (n = 0): [13:14:11.431] { [13:14:11.431] { [13:14:11.431] { [13:14:11.431] ...future.startTime <- base::Sys.time() [13:14:11.431] { [13:14:11.431] { [13:14:11.431] { [13:14:11.431] { [13:14:11.431] base::local({ [13:14:11.431] has_future <- base::requireNamespace("future", [13:14:11.431] quietly = TRUE) [13:14:11.431] if (has_future) { [13:14:11.431] ns <- base::getNamespace("future") [13:14:11.431] version <- ns[[".package"]][["version"]] [13:14:11.431] if (is.null(version)) [13:14:11.431] version <- utils::packageVersion("future") [13:14:11.431] } [13:14:11.431] else { [13:14:11.431] version <- NULL [13:14:11.431] } [13:14:11.431] if (!has_future || version < "1.8.0") { [13:14:11.431] info <- base::c(r_version = base::gsub("R version ", [13:14:11.431] "", base::R.version$version.string), [13:14:11.431] platform = base::sprintf("%s (%s-bit)", [13:14:11.431] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.431] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.431] "release", "version")], collapse = " "), [13:14:11.431] hostname = base::Sys.info()[["nodename"]]) [13:14:11.431] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.431] info) [13:14:11.431] info <- base::paste(info, collapse = "; ") [13:14:11.431] if (!has_future) { [13:14:11.431] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.431] info) [13:14:11.431] } [13:14:11.431] else { [13:14:11.431] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.431] info, version) [13:14:11.431] } [13:14:11.431] base::stop(msg) [13:14:11.431] } [13:14:11.431] }) [13:14:11.431] } [13:14:11.431] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.431] base::options(mc.cores = 1L) [13:14:11.431] } [13:14:11.431] options(future.plan = NULL) [13:14:11.431] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.431] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.431] } [13:14:11.431] ...future.workdir <- getwd() [13:14:11.431] } [13:14:11.431] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.431] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.431] } [13:14:11.431] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.431] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.431] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.431] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.431] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.431] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.431] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.431] base::names(...future.oldOptions)) [13:14:11.431] } [13:14:11.431] if (FALSE) { [13:14:11.431] } [13:14:11.431] else { [13:14:11.431] if (TRUE) { [13:14:11.431] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.431] open = "w") [13:14:11.431] } [13:14:11.431] else { [13:14:11.431] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.431] windows = "NUL", "/dev/null"), open = "w") [13:14:11.431] } [13:14:11.431] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.431] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.431] base::sink(type = "output", split = FALSE) [13:14:11.431] base::close(...future.stdout) [13:14:11.431] }, add = TRUE) [13:14:11.431] } [13:14:11.431] ...future.frame <- base::sys.nframe() [13:14:11.431] ...future.conditions <- base::list() [13:14:11.431] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.431] if (FALSE) { [13:14:11.431] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.431] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.431] } [13:14:11.431] ...future.result <- base::tryCatch({ [13:14:11.431] base::withCallingHandlers({ [13:14:11.431] ...future.value <- base::withVisible(base::local({ [13:14:11.431] ...future.makeSendCondition <- local({ [13:14:11.431] sendCondition <- NULL [13:14:11.431] function(frame = 1L) { [13:14:11.431] if (is.function(sendCondition)) [13:14:11.431] return(sendCondition) [13:14:11.431] ns <- getNamespace("parallel") [13:14:11.431] if (exists("sendData", mode = "function", [13:14:11.431] envir = ns)) { [13:14:11.431] parallel_sendData <- get("sendData", mode = "function", [13:14:11.431] envir = ns) [13:14:11.431] envir <- sys.frame(frame) [13:14:11.431] master <- NULL [13:14:11.431] while (!identical(envir, .GlobalEnv) && [13:14:11.431] !identical(envir, emptyenv())) { [13:14:11.431] if (exists("master", mode = "list", envir = envir, [13:14:11.431] inherits = FALSE)) { [13:14:11.431] master <- get("master", mode = "list", [13:14:11.431] envir = envir, inherits = FALSE) [13:14:11.431] if (inherits(master, c("SOCKnode", [13:14:11.431] "SOCK0node"))) { [13:14:11.431] sendCondition <<- function(cond) { [13:14:11.431] data <- list(type = "VALUE", value = cond, [13:14:11.431] success = TRUE) [13:14:11.431] parallel_sendData(master, data) [13:14:11.431] } [13:14:11.431] return(sendCondition) [13:14:11.431] } [13:14:11.431] } [13:14:11.431] frame <- frame + 1L [13:14:11.431] envir <- sys.frame(frame) [13:14:11.431] } [13:14:11.431] } [13:14:11.431] sendCondition <<- function(cond) NULL [13:14:11.431] } [13:14:11.431] }) [13:14:11.431] withCallingHandlers({ [13:14:11.431] { [13:14:11.431] do.call(function(...) { [13:14:11.431] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.431] if (!identical(...future.globals.maxSize.org, [13:14:11.431] ...future.globals.maxSize)) { [13:14:11.431] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.431] on.exit(options(oopts), add = TRUE) [13:14:11.431] } [13:14:11.431] { [13:14:11.431] lapply(seq_along(...future.elements_ii), [13:14:11.431] FUN = function(jj) { [13:14:11.431] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.431] ...future.FUN(...future.X_jj, ...) [13:14:11.431] }) [13:14:11.431] } [13:14:11.431] }, args = future.call.arguments) [13:14:11.431] } [13:14:11.431] }, immediateCondition = function(cond) { [13:14:11.431] sendCondition <- ...future.makeSendCondition() [13:14:11.431] sendCondition(cond) [13:14:11.431] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.431] { [13:14:11.431] inherits <- base::inherits [13:14:11.431] invokeRestart <- base::invokeRestart [13:14:11.431] is.null <- base::is.null [13:14:11.431] muffled <- FALSE [13:14:11.431] if (inherits(cond, "message")) { [13:14:11.431] muffled <- grepl(pattern, "muffleMessage") [13:14:11.431] if (muffled) [13:14:11.431] invokeRestart("muffleMessage") [13:14:11.431] } [13:14:11.431] else if (inherits(cond, "warning")) { [13:14:11.431] muffled <- grepl(pattern, "muffleWarning") [13:14:11.431] if (muffled) [13:14:11.431] invokeRestart("muffleWarning") [13:14:11.431] } [13:14:11.431] else if (inherits(cond, "condition")) { [13:14:11.431] if (!is.null(pattern)) { [13:14:11.431] computeRestarts <- base::computeRestarts [13:14:11.431] grepl <- base::grepl [13:14:11.431] restarts <- computeRestarts(cond) [13:14:11.431] for (restart in restarts) { [13:14:11.431] name <- restart$name [13:14:11.431] if (is.null(name)) [13:14:11.431] next [13:14:11.431] if (!grepl(pattern, name)) [13:14:11.431] next [13:14:11.431] invokeRestart(restart) [13:14:11.431] muffled <- TRUE [13:14:11.431] break [13:14:11.431] } [13:14:11.431] } [13:14:11.431] } [13:14:11.431] invisible(muffled) [13:14:11.431] } [13:14:11.431] muffleCondition(cond) [13:14:11.431] }) [13:14:11.431] })) [13:14:11.431] future::FutureResult(value = ...future.value$value, [13:14:11.431] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.431] ...future.rng), globalenv = if (FALSE) [13:14:11.431] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.431] ...future.globalenv.names)) [13:14:11.431] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.431] }, condition = base::local({ [13:14:11.431] c <- base::c [13:14:11.431] inherits <- base::inherits [13:14:11.431] invokeRestart <- base::invokeRestart [13:14:11.431] length <- base::length [13:14:11.431] list <- base::list [13:14:11.431] seq.int <- base::seq.int [13:14:11.431] signalCondition <- base::signalCondition [13:14:11.431] sys.calls <- base::sys.calls [13:14:11.431] `[[` <- base::`[[` [13:14:11.431] `+` <- base::`+` [13:14:11.431] `<<-` <- base::`<<-` [13:14:11.431] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.431] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.431] 3L)] [13:14:11.431] } [13:14:11.431] function(cond) { [13:14:11.431] is_error <- inherits(cond, "error") [13:14:11.431] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.431] NULL) [13:14:11.431] if (is_error) { [13:14:11.431] sessionInformation <- function() { [13:14:11.431] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.431] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.431] search = base::search(), system = base::Sys.info()) [13:14:11.431] } [13:14:11.431] ...future.conditions[[length(...future.conditions) + [13:14:11.431] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.431] cond$call), session = sessionInformation(), [13:14:11.431] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.431] signalCondition(cond) [13:14:11.431] } [13:14:11.431] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.431] "immediateCondition"))) { [13:14:11.431] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.431] ...future.conditions[[length(...future.conditions) + [13:14:11.431] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.431] if (TRUE && !signal) { [13:14:11.431] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.431] { [13:14:11.431] inherits <- base::inherits [13:14:11.431] invokeRestart <- base::invokeRestart [13:14:11.431] is.null <- base::is.null [13:14:11.431] muffled <- FALSE [13:14:11.431] if (inherits(cond, "message")) { [13:14:11.431] muffled <- grepl(pattern, "muffleMessage") [13:14:11.431] if (muffled) [13:14:11.431] invokeRestart("muffleMessage") [13:14:11.431] } [13:14:11.431] else if (inherits(cond, "warning")) { [13:14:11.431] muffled <- grepl(pattern, "muffleWarning") [13:14:11.431] if (muffled) [13:14:11.431] invokeRestart("muffleWarning") [13:14:11.431] } [13:14:11.431] else if (inherits(cond, "condition")) { [13:14:11.431] if (!is.null(pattern)) { [13:14:11.431] computeRestarts <- base::computeRestarts [13:14:11.431] grepl <- base::grepl [13:14:11.431] restarts <- computeRestarts(cond) [13:14:11.431] for (restart in restarts) { [13:14:11.431] name <- restart$name [13:14:11.431] if (is.null(name)) [13:14:11.431] next [13:14:11.431] if (!grepl(pattern, name)) [13:14:11.431] next [13:14:11.431] invokeRestart(restart) [13:14:11.431] muffled <- TRUE [13:14:11.431] break [13:14:11.431] } [13:14:11.431] } [13:14:11.431] } [13:14:11.431] invisible(muffled) [13:14:11.431] } [13:14:11.431] muffleCondition(cond, pattern = "^muffle") [13:14:11.431] } [13:14:11.431] } [13:14:11.431] else { [13:14:11.431] if (TRUE) { [13:14:11.431] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.431] { [13:14:11.431] inherits <- base::inherits [13:14:11.431] invokeRestart <- base::invokeRestart [13:14:11.431] is.null <- base::is.null [13:14:11.431] muffled <- FALSE [13:14:11.431] if (inherits(cond, "message")) { [13:14:11.431] muffled <- grepl(pattern, "muffleMessage") [13:14:11.431] if (muffled) [13:14:11.431] invokeRestart("muffleMessage") [13:14:11.431] } [13:14:11.431] else if (inherits(cond, "warning")) { [13:14:11.431] muffled <- grepl(pattern, "muffleWarning") [13:14:11.431] if (muffled) [13:14:11.431] invokeRestart("muffleWarning") [13:14:11.431] } [13:14:11.431] else if (inherits(cond, "condition")) { [13:14:11.431] if (!is.null(pattern)) { [13:14:11.431] computeRestarts <- base::computeRestarts [13:14:11.431] grepl <- base::grepl [13:14:11.431] restarts <- computeRestarts(cond) [13:14:11.431] for (restart in restarts) { [13:14:11.431] name <- restart$name [13:14:11.431] if (is.null(name)) [13:14:11.431] next [13:14:11.431] if (!grepl(pattern, name)) [13:14:11.431] next [13:14:11.431] invokeRestart(restart) [13:14:11.431] muffled <- TRUE [13:14:11.431] break [13:14:11.431] } [13:14:11.431] } [13:14:11.431] } [13:14:11.431] invisible(muffled) [13:14:11.431] } [13:14:11.431] muffleCondition(cond, pattern = "^muffle") [13:14:11.431] } [13:14:11.431] } [13:14:11.431] } [13:14:11.431] })) [13:14:11.431] }, error = function(ex) { [13:14:11.431] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.431] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.431] ...future.rng), started = ...future.startTime, [13:14:11.431] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.431] version = "1.8"), class = "FutureResult") [13:14:11.431] }, finally = { [13:14:11.431] if (!identical(...future.workdir, getwd())) [13:14:11.431] setwd(...future.workdir) [13:14:11.431] { [13:14:11.431] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.431] ...future.oldOptions$nwarnings <- NULL [13:14:11.431] } [13:14:11.431] base::options(...future.oldOptions) [13:14:11.431] if (.Platform$OS.type == "windows") { [13:14:11.431] old_names <- names(...future.oldEnvVars) [13:14:11.431] envs <- base::Sys.getenv() [13:14:11.431] names <- names(envs) [13:14:11.431] common <- intersect(names, old_names) [13:14:11.431] added <- setdiff(names, old_names) [13:14:11.431] removed <- setdiff(old_names, names) [13:14:11.431] changed <- common[...future.oldEnvVars[common] != [13:14:11.431] envs[common]] [13:14:11.431] NAMES <- toupper(changed) [13:14:11.431] args <- list() [13:14:11.431] for (kk in seq_along(NAMES)) { [13:14:11.431] name <- changed[[kk]] [13:14:11.431] NAME <- NAMES[[kk]] [13:14:11.431] if (name != NAME && is.element(NAME, old_names)) [13:14:11.431] next [13:14:11.431] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.431] } [13:14:11.431] NAMES <- toupper(added) [13:14:11.431] for (kk in seq_along(NAMES)) { [13:14:11.431] name <- added[[kk]] [13:14:11.431] NAME <- NAMES[[kk]] [13:14:11.431] if (name != NAME && is.element(NAME, old_names)) [13:14:11.431] next [13:14:11.431] args[[name]] <- "" [13:14:11.431] } [13:14:11.431] NAMES <- toupper(removed) [13:14:11.431] for (kk in seq_along(NAMES)) { [13:14:11.431] name <- removed[[kk]] [13:14:11.431] NAME <- NAMES[[kk]] [13:14:11.431] if (name != NAME && is.element(NAME, old_names)) [13:14:11.431] next [13:14:11.431] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.431] } [13:14:11.431] if (length(args) > 0) [13:14:11.431] base::do.call(base::Sys.setenv, args = args) [13:14:11.431] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.431] } [13:14:11.431] else { [13:14:11.431] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.431] } [13:14:11.431] { [13:14:11.431] if (base::length(...future.futureOptionsAdded) > [13:14:11.431] 0L) { [13:14:11.431] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.431] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.431] base::options(opts) [13:14:11.431] } [13:14:11.431] { [13:14:11.431] { [13:14:11.431] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.431] NULL [13:14:11.431] } [13:14:11.431] options(future.plan = NULL) [13:14:11.431] if (is.na(NA_character_)) [13:14:11.431] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.431] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.431] future::plan(list(function (..., workers = availableCores(), [13:14:11.431] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.431] envir = parent.frame()) [13:14:11.431] { [13:14:11.431] if (is.function(workers)) [13:14:11.431] workers <- workers() [13:14:11.431] workers <- structure(as.integer(workers), [13:14:11.431] class = class(workers)) [13:14:11.431] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.431] workers >= 1) [13:14:11.431] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.431] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.431] } [13:14:11.431] future <- MultisessionFuture(..., workers = workers, [13:14:11.431] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.431] envir = envir) [13:14:11.431] if (!future$lazy) [13:14:11.431] future <- run(future) [13:14:11.431] invisible(future) [13:14:11.431] }), .cleanup = FALSE, .init = FALSE) [13:14:11.431] } [13:14:11.431] } [13:14:11.431] } [13:14:11.431] }) [13:14:11.431] if (TRUE) { [13:14:11.431] base::sink(type = "output", split = FALSE) [13:14:11.431] if (TRUE) { [13:14:11.431] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.431] } [13:14:11.431] else { [13:14:11.431] ...future.result["stdout"] <- base::list(NULL) [13:14:11.431] } [13:14:11.431] base::close(...future.stdout) [13:14:11.431] ...future.stdout <- NULL [13:14:11.431] } [13:14:11.431] ...future.result$conditions <- ...future.conditions [13:14:11.431] ...future.result$finished <- base::Sys.time() [13:14:11.431] ...future.result [13:14:11.431] } [13:14:11.436] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:11.436] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:11.437] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:11.437] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.438] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.438] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.438] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.439] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.439] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.439] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.440] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.440] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:11.441] MultisessionFuture started [13:14:11.441] - Launch lazy future ... done [13:14:11.441] run() for 'MultisessionFuture' ... done [13:14:11.441] Created future: [13:14:11.456] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.457] - Validating connection of MultisessionFuture [13:14:11.457] - received message: FutureResult [13:14:11.457] - Received FutureResult [13:14:11.457] - Erased future from FutureRegistry [13:14:11.457] result() for ClusterFuture ... [13:14:11.458] - result already collected: FutureResult [13:14:11.458] result() for ClusterFuture ... done [13:14:11.458] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.441] MultisessionFuture: [13:14:11.441] Label: 'future_sapply-1' [13:14:11.441] Expression: [13:14:11.441] { [13:14:11.441] do.call(function(...) { [13:14:11.441] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.441] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.441] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.441] on.exit(options(oopts), add = TRUE) [13:14:11.441] } [13:14:11.441] { [13:14:11.441] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.441] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.441] ...future.FUN(...future.X_jj, ...) [13:14:11.441] }) [13:14:11.441] } [13:14:11.441] }, args = future.call.arguments) [13:14:11.441] } [13:14:11.441] Lazy evaluation: FALSE [13:14:11.441] Asynchronous evaluation: TRUE [13:14:11.441] Local evaluation: TRUE [13:14:11.441] Environment: R_GlobalEnv [13:14:11.441] Capture standard output: TRUE [13:14:11.441] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.441] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.441] Packages: [13:14:11.441] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.441] Resolved: TRUE [13:14:11.441] Value: [13:14:11.441] Conditions captured: [13:14:11.441] Early signaling: FALSE [13:14:11.441] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.441] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.458] Chunk #1 of 2 ... DONE [13:14:11.458] Chunk #2 of 2 ... [13:14:11.459] - Finding globals in 'X' for chunk #2 ... [13:14:11.459] getGlobalsAndPackages() ... [13:14:11.459] Searching for globals... [13:14:11.459] [13:14:11.459] Searching for globals ... DONE [13:14:11.460] - globals: [0] [13:14:11.460] getGlobalsAndPackages() ... DONE [13:14:11.460] + additional globals found: [n=0] [13:14:11.460] + additional namespaces needed: [n=0] [13:14:11.460] - Finding globals in 'X' for chunk #2 ... DONE [13:14:11.460] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.461] - seeds: [13:14:11.461] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.461] getGlobalsAndPackages() ... [13:14:11.461] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.461] Resolving globals: FALSE [13:14:11.461] Tweak future expression to call with '...' arguments ... [13:14:11.462] { [13:14:11.462] do.call(function(...) { [13:14:11.462] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.462] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.462] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.462] on.exit(options(oopts), add = TRUE) [13:14:11.462] } [13:14:11.462] { [13:14:11.462] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.462] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.462] ...future.FUN(...future.X_jj, ...) [13:14:11.462] }) [13:14:11.462] } [13:14:11.462] }, args = future.call.arguments) [13:14:11.462] } [13:14:11.462] Tweak future expression to call with '...' arguments ... DONE [13:14:11.462] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.463] [13:14:11.463] getGlobalsAndPackages() ... DONE [13:14:11.463] run() for 'Future' ... [13:14:11.463] - state: 'created' [13:14:11.464] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.477] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.478] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.478] - Field: 'node' [13:14:11.478] - Field: 'label' [13:14:11.478] - Field: 'local' [13:14:11.478] - Field: 'owner' [13:14:11.479] - Field: 'envir' [13:14:11.479] - Field: 'workers' [13:14:11.479] - Field: 'packages' [13:14:11.479] - Field: 'gc' [13:14:11.479] - Field: 'conditions' [13:14:11.480] - Field: 'persistent' [13:14:11.480] - Field: 'expr' [13:14:11.480] - Field: 'uuid' [13:14:11.480] - Field: 'seed' [13:14:11.480] - Field: 'version' [13:14:11.480] - Field: 'result' [13:14:11.481] - Field: 'asynchronous' [13:14:11.481] - Field: 'calls' [13:14:11.481] - Field: 'globals' [13:14:11.481] - Field: 'stdout' [13:14:11.481] - Field: 'earlySignal' [13:14:11.481] - Field: 'lazy' [13:14:11.482] - Field: 'state' [13:14:11.482] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.482] - Launch lazy future ... [13:14:11.482] Packages needed by the future expression (n = 0): [13:14:11.482] Packages needed by future strategies (n = 0): [13:14:11.483] { [13:14:11.483] { [13:14:11.483] { [13:14:11.483] ...future.startTime <- base::Sys.time() [13:14:11.483] { [13:14:11.483] { [13:14:11.483] { [13:14:11.483] { [13:14:11.483] base::local({ [13:14:11.483] has_future <- base::requireNamespace("future", [13:14:11.483] quietly = TRUE) [13:14:11.483] if (has_future) { [13:14:11.483] ns <- base::getNamespace("future") [13:14:11.483] version <- ns[[".package"]][["version"]] [13:14:11.483] if (is.null(version)) [13:14:11.483] version <- utils::packageVersion("future") [13:14:11.483] } [13:14:11.483] else { [13:14:11.483] version <- NULL [13:14:11.483] } [13:14:11.483] if (!has_future || version < "1.8.0") { [13:14:11.483] info <- base::c(r_version = base::gsub("R version ", [13:14:11.483] "", base::R.version$version.string), [13:14:11.483] platform = base::sprintf("%s (%s-bit)", [13:14:11.483] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.483] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.483] "release", "version")], collapse = " "), [13:14:11.483] hostname = base::Sys.info()[["nodename"]]) [13:14:11.483] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.483] info) [13:14:11.483] info <- base::paste(info, collapse = "; ") [13:14:11.483] if (!has_future) { [13:14:11.483] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.483] info) [13:14:11.483] } [13:14:11.483] else { [13:14:11.483] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.483] info, version) [13:14:11.483] } [13:14:11.483] base::stop(msg) [13:14:11.483] } [13:14:11.483] }) [13:14:11.483] } [13:14:11.483] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.483] base::options(mc.cores = 1L) [13:14:11.483] } [13:14:11.483] options(future.plan = NULL) [13:14:11.483] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.483] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.483] } [13:14:11.483] ...future.workdir <- getwd() [13:14:11.483] } [13:14:11.483] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.483] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.483] } [13:14:11.483] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.483] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.483] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.483] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.483] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.483] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.483] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.483] base::names(...future.oldOptions)) [13:14:11.483] } [13:14:11.483] if (FALSE) { [13:14:11.483] } [13:14:11.483] else { [13:14:11.483] if (TRUE) { [13:14:11.483] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.483] open = "w") [13:14:11.483] } [13:14:11.483] else { [13:14:11.483] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.483] windows = "NUL", "/dev/null"), open = "w") [13:14:11.483] } [13:14:11.483] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.483] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.483] base::sink(type = "output", split = FALSE) [13:14:11.483] base::close(...future.stdout) [13:14:11.483] }, add = TRUE) [13:14:11.483] } [13:14:11.483] ...future.frame <- base::sys.nframe() [13:14:11.483] ...future.conditions <- base::list() [13:14:11.483] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.483] if (FALSE) { [13:14:11.483] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.483] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.483] } [13:14:11.483] ...future.result <- base::tryCatch({ [13:14:11.483] base::withCallingHandlers({ [13:14:11.483] ...future.value <- base::withVisible(base::local({ [13:14:11.483] ...future.makeSendCondition <- local({ [13:14:11.483] sendCondition <- NULL [13:14:11.483] function(frame = 1L) { [13:14:11.483] if (is.function(sendCondition)) [13:14:11.483] return(sendCondition) [13:14:11.483] ns <- getNamespace("parallel") [13:14:11.483] if (exists("sendData", mode = "function", [13:14:11.483] envir = ns)) { [13:14:11.483] parallel_sendData <- get("sendData", mode = "function", [13:14:11.483] envir = ns) [13:14:11.483] envir <- sys.frame(frame) [13:14:11.483] master <- NULL [13:14:11.483] while (!identical(envir, .GlobalEnv) && [13:14:11.483] !identical(envir, emptyenv())) { [13:14:11.483] if (exists("master", mode = "list", envir = envir, [13:14:11.483] inherits = FALSE)) { [13:14:11.483] master <- get("master", mode = "list", [13:14:11.483] envir = envir, inherits = FALSE) [13:14:11.483] if (inherits(master, c("SOCKnode", [13:14:11.483] "SOCK0node"))) { [13:14:11.483] sendCondition <<- function(cond) { [13:14:11.483] data <- list(type = "VALUE", value = cond, [13:14:11.483] success = TRUE) [13:14:11.483] parallel_sendData(master, data) [13:14:11.483] } [13:14:11.483] return(sendCondition) [13:14:11.483] } [13:14:11.483] } [13:14:11.483] frame <- frame + 1L [13:14:11.483] envir <- sys.frame(frame) [13:14:11.483] } [13:14:11.483] } [13:14:11.483] sendCondition <<- function(cond) NULL [13:14:11.483] } [13:14:11.483] }) [13:14:11.483] withCallingHandlers({ [13:14:11.483] { [13:14:11.483] do.call(function(...) { [13:14:11.483] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.483] if (!identical(...future.globals.maxSize.org, [13:14:11.483] ...future.globals.maxSize)) { [13:14:11.483] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.483] on.exit(options(oopts), add = TRUE) [13:14:11.483] } [13:14:11.483] { [13:14:11.483] lapply(seq_along(...future.elements_ii), [13:14:11.483] FUN = function(jj) { [13:14:11.483] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.483] ...future.FUN(...future.X_jj, ...) [13:14:11.483] }) [13:14:11.483] } [13:14:11.483] }, args = future.call.arguments) [13:14:11.483] } [13:14:11.483] }, immediateCondition = function(cond) { [13:14:11.483] sendCondition <- ...future.makeSendCondition() [13:14:11.483] sendCondition(cond) [13:14:11.483] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.483] { [13:14:11.483] inherits <- base::inherits [13:14:11.483] invokeRestart <- base::invokeRestart [13:14:11.483] is.null <- base::is.null [13:14:11.483] muffled <- FALSE [13:14:11.483] if (inherits(cond, "message")) { [13:14:11.483] muffled <- grepl(pattern, "muffleMessage") [13:14:11.483] if (muffled) [13:14:11.483] invokeRestart("muffleMessage") [13:14:11.483] } [13:14:11.483] else if (inherits(cond, "warning")) { [13:14:11.483] muffled <- grepl(pattern, "muffleWarning") [13:14:11.483] if (muffled) [13:14:11.483] invokeRestart("muffleWarning") [13:14:11.483] } [13:14:11.483] else if (inherits(cond, "condition")) { [13:14:11.483] if (!is.null(pattern)) { [13:14:11.483] computeRestarts <- base::computeRestarts [13:14:11.483] grepl <- base::grepl [13:14:11.483] restarts <- computeRestarts(cond) [13:14:11.483] for (restart in restarts) { [13:14:11.483] name <- restart$name [13:14:11.483] if (is.null(name)) [13:14:11.483] next [13:14:11.483] if (!grepl(pattern, name)) [13:14:11.483] next [13:14:11.483] invokeRestart(restart) [13:14:11.483] muffled <- TRUE [13:14:11.483] break [13:14:11.483] } [13:14:11.483] } [13:14:11.483] } [13:14:11.483] invisible(muffled) [13:14:11.483] } [13:14:11.483] muffleCondition(cond) [13:14:11.483] }) [13:14:11.483] })) [13:14:11.483] future::FutureResult(value = ...future.value$value, [13:14:11.483] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.483] ...future.rng), globalenv = if (FALSE) [13:14:11.483] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.483] ...future.globalenv.names)) [13:14:11.483] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.483] }, condition = base::local({ [13:14:11.483] c <- base::c [13:14:11.483] inherits <- base::inherits [13:14:11.483] invokeRestart <- base::invokeRestart [13:14:11.483] length <- base::length [13:14:11.483] list <- base::list [13:14:11.483] seq.int <- base::seq.int [13:14:11.483] signalCondition <- base::signalCondition [13:14:11.483] sys.calls <- base::sys.calls [13:14:11.483] `[[` <- base::`[[` [13:14:11.483] `+` <- base::`+` [13:14:11.483] `<<-` <- base::`<<-` [13:14:11.483] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.483] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.483] 3L)] [13:14:11.483] } [13:14:11.483] function(cond) { [13:14:11.483] is_error <- inherits(cond, "error") [13:14:11.483] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.483] NULL) [13:14:11.483] if (is_error) { [13:14:11.483] sessionInformation <- function() { [13:14:11.483] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.483] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.483] search = base::search(), system = base::Sys.info()) [13:14:11.483] } [13:14:11.483] ...future.conditions[[length(...future.conditions) + [13:14:11.483] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.483] cond$call), session = sessionInformation(), [13:14:11.483] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.483] signalCondition(cond) [13:14:11.483] } [13:14:11.483] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.483] "immediateCondition"))) { [13:14:11.483] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.483] ...future.conditions[[length(...future.conditions) + [13:14:11.483] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.483] if (TRUE && !signal) { [13:14:11.483] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.483] { [13:14:11.483] inherits <- base::inherits [13:14:11.483] invokeRestart <- base::invokeRestart [13:14:11.483] is.null <- base::is.null [13:14:11.483] muffled <- FALSE [13:14:11.483] if (inherits(cond, "message")) { [13:14:11.483] muffled <- grepl(pattern, "muffleMessage") [13:14:11.483] if (muffled) [13:14:11.483] invokeRestart("muffleMessage") [13:14:11.483] } [13:14:11.483] else if (inherits(cond, "warning")) { [13:14:11.483] muffled <- grepl(pattern, "muffleWarning") [13:14:11.483] if (muffled) [13:14:11.483] invokeRestart("muffleWarning") [13:14:11.483] } [13:14:11.483] else if (inherits(cond, "condition")) { [13:14:11.483] if (!is.null(pattern)) { [13:14:11.483] computeRestarts <- base::computeRestarts [13:14:11.483] grepl <- base::grepl [13:14:11.483] restarts <- computeRestarts(cond) [13:14:11.483] for (restart in restarts) { [13:14:11.483] name <- restart$name [13:14:11.483] if (is.null(name)) [13:14:11.483] next [13:14:11.483] if (!grepl(pattern, name)) [13:14:11.483] next [13:14:11.483] invokeRestart(restart) [13:14:11.483] muffled <- TRUE [13:14:11.483] break [13:14:11.483] } [13:14:11.483] } [13:14:11.483] } [13:14:11.483] invisible(muffled) [13:14:11.483] } [13:14:11.483] muffleCondition(cond, pattern = "^muffle") [13:14:11.483] } [13:14:11.483] } [13:14:11.483] else { [13:14:11.483] if (TRUE) { [13:14:11.483] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.483] { [13:14:11.483] inherits <- base::inherits [13:14:11.483] invokeRestart <- base::invokeRestart [13:14:11.483] is.null <- base::is.null [13:14:11.483] muffled <- FALSE [13:14:11.483] if (inherits(cond, "message")) { [13:14:11.483] muffled <- grepl(pattern, "muffleMessage") [13:14:11.483] if (muffled) [13:14:11.483] invokeRestart("muffleMessage") [13:14:11.483] } [13:14:11.483] else if (inherits(cond, "warning")) { [13:14:11.483] muffled <- grepl(pattern, "muffleWarning") [13:14:11.483] if (muffled) [13:14:11.483] invokeRestart("muffleWarning") [13:14:11.483] } [13:14:11.483] else if (inherits(cond, "condition")) { [13:14:11.483] if (!is.null(pattern)) { [13:14:11.483] computeRestarts <- base::computeRestarts [13:14:11.483] grepl <- base::grepl [13:14:11.483] restarts <- computeRestarts(cond) [13:14:11.483] for (restart in restarts) { [13:14:11.483] name <- restart$name [13:14:11.483] if (is.null(name)) [13:14:11.483] next [13:14:11.483] if (!grepl(pattern, name)) [13:14:11.483] next [13:14:11.483] invokeRestart(restart) [13:14:11.483] muffled <- TRUE [13:14:11.483] break [13:14:11.483] } [13:14:11.483] } [13:14:11.483] } [13:14:11.483] invisible(muffled) [13:14:11.483] } [13:14:11.483] muffleCondition(cond, pattern = "^muffle") [13:14:11.483] } [13:14:11.483] } [13:14:11.483] } [13:14:11.483] })) [13:14:11.483] }, error = function(ex) { [13:14:11.483] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.483] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.483] ...future.rng), started = ...future.startTime, [13:14:11.483] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.483] version = "1.8"), class = "FutureResult") [13:14:11.483] }, finally = { [13:14:11.483] if (!identical(...future.workdir, getwd())) [13:14:11.483] setwd(...future.workdir) [13:14:11.483] { [13:14:11.483] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.483] ...future.oldOptions$nwarnings <- NULL [13:14:11.483] } [13:14:11.483] base::options(...future.oldOptions) [13:14:11.483] if (.Platform$OS.type == "windows") { [13:14:11.483] old_names <- names(...future.oldEnvVars) [13:14:11.483] envs <- base::Sys.getenv() [13:14:11.483] names <- names(envs) [13:14:11.483] common <- intersect(names, old_names) [13:14:11.483] added <- setdiff(names, old_names) [13:14:11.483] removed <- setdiff(old_names, names) [13:14:11.483] changed <- common[...future.oldEnvVars[common] != [13:14:11.483] envs[common]] [13:14:11.483] NAMES <- toupper(changed) [13:14:11.483] args <- list() [13:14:11.483] for (kk in seq_along(NAMES)) { [13:14:11.483] name <- changed[[kk]] [13:14:11.483] NAME <- NAMES[[kk]] [13:14:11.483] if (name != NAME && is.element(NAME, old_names)) [13:14:11.483] next [13:14:11.483] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.483] } [13:14:11.483] NAMES <- toupper(added) [13:14:11.483] for (kk in seq_along(NAMES)) { [13:14:11.483] name <- added[[kk]] [13:14:11.483] NAME <- NAMES[[kk]] [13:14:11.483] if (name != NAME && is.element(NAME, old_names)) [13:14:11.483] next [13:14:11.483] args[[name]] <- "" [13:14:11.483] } [13:14:11.483] NAMES <- toupper(removed) [13:14:11.483] for (kk in seq_along(NAMES)) { [13:14:11.483] name <- removed[[kk]] [13:14:11.483] NAME <- NAMES[[kk]] [13:14:11.483] if (name != NAME && is.element(NAME, old_names)) [13:14:11.483] next [13:14:11.483] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.483] } [13:14:11.483] if (length(args) > 0) [13:14:11.483] base::do.call(base::Sys.setenv, args = args) [13:14:11.483] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.483] } [13:14:11.483] else { [13:14:11.483] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.483] } [13:14:11.483] { [13:14:11.483] if (base::length(...future.futureOptionsAdded) > [13:14:11.483] 0L) { [13:14:11.483] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.483] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.483] base::options(opts) [13:14:11.483] } [13:14:11.483] { [13:14:11.483] { [13:14:11.483] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.483] NULL [13:14:11.483] } [13:14:11.483] options(future.plan = NULL) [13:14:11.483] if (is.na(NA_character_)) [13:14:11.483] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.483] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.483] future::plan(list(function (..., workers = availableCores(), [13:14:11.483] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.483] envir = parent.frame()) [13:14:11.483] { [13:14:11.483] if (is.function(workers)) [13:14:11.483] workers <- workers() [13:14:11.483] workers <- structure(as.integer(workers), [13:14:11.483] class = class(workers)) [13:14:11.483] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.483] workers >= 1) [13:14:11.483] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.483] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.483] } [13:14:11.483] future <- MultisessionFuture(..., workers = workers, [13:14:11.483] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.483] envir = envir) [13:14:11.483] if (!future$lazy) [13:14:11.483] future <- run(future) [13:14:11.483] invisible(future) [13:14:11.483] }), .cleanup = FALSE, .init = FALSE) [13:14:11.483] } [13:14:11.483] } [13:14:11.483] } [13:14:11.483] }) [13:14:11.483] if (TRUE) { [13:14:11.483] base::sink(type = "output", split = FALSE) [13:14:11.483] if (TRUE) { [13:14:11.483] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.483] } [13:14:11.483] else { [13:14:11.483] ...future.result["stdout"] <- base::list(NULL) [13:14:11.483] } [13:14:11.483] base::close(...future.stdout) [13:14:11.483] ...future.stdout <- NULL [13:14:11.483] } [13:14:11.483] ...future.result$conditions <- ...future.conditions [13:14:11.483] ...future.result$finished <- base::Sys.time() [13:14:11.483] ...future.result [13:14:11.483] } [13:14:11.488] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:11.489] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:11.489] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:11.489] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.490] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.490] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.490] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.491] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.491] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.491] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.492] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.492] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:11.493] MultisessionFuture started [13:14:11.493] - Launch lazy future ... done [13:14:11.493] run() for 'MultisessionFuture' ... done [13:14:11.493] Created future: [13:14:11.509] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.509] - Validating connection of MultisessionFuture [13:14:11.510] - received message: FutureResult [13:14:11.510] - Received FutureResult [13:14:11.510] - Erased future from FutureRegistry [13:14:11.510] result() for ClusterFuture ... [13:14:11.510] - result already collected: FutureResult [13:14:11.510] result() for ClusterFuture ... done [13:14:11.511] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.493] MultisessionFuture: [13:14:11.493] Label: 'future_sapply-2' [13:14:11.493] Expression: [13:14:11.493] { [13:14:11.493] do.call(function(...) { [13:14:11.493] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.493] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.493] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.493] on.exit(options(oopts), add = TRUE) [13:14:11.493] } [13:14:11.493] { [13:14:11.493] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.493] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.493] ...future.FUN(...future.X_jj, ...) [13:14:11.493] }) [13:14:11.493] } [13:14:11.493] }, args = future.call.arguments) [13:14:11.493] } [13:14:11.493] Lazy evaluation: FALSE [13:14:11.493] Asynchronous evaluation: TRUE [13:14:11.493] Local evaluation: TRUE [13:14:11.493] Environment: R_GlobalEnv [13:14:11.493] Capture standard output: TRUE [13:14:11.493] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.493] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.493] Packages: [13:14:11.493] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.493] Resolved: TRUE [13:14:11.493] Value: [13:14:11.493] Conditions captured: [13:14:11.493] Early signaling: FALSE [13:14:11.493] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.493] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.511] Chunk #2 of 2 ... DONE [13:14:11.511] Launching 2 futures (chunks) ... DONE [13:14:11.511] Resolving 2 futures (chunks) ... [13:14:11.511] resolve() on list ... [13:14:11.512] recursive: 0 [13:14:11.512] length: 2 [13:14:11.512] [13:14:11.512] Future #1 [13:14:11.512] result() for ClusterFuture ... [13:14:11.512] - result already collected: FutureResult [13:14:11.513] result() for ClusterFuture ... done [13:14:11.513] result() for ClusterFuture ... [13:14:11.513] - result already collected: FutureResult [13:14:11.513] result() for ClusterFuture ... done [13:14:11.513] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:11.513] - nx: 2 [13:14:11.514] - relay: TRUE [13:14:11.514] - stdout: TRUE [13:14:11.514] - signal: TRUE [13:14:11.514] - resignal: FALSE [13:14:11.514] - force: TRUE [13:14:11.514] - relayed: [n=2] FALSE, FALSE [13:14:11.514] - queued futures: [n=2] FALSE, FALSE [13:14:11.515] - until=1 [13:14:11.515] - relaying element #1 [13:14:11.515] result() for ClusterFuture ... [13:14:11.515] - result already collected: FutureResult [13:14:11.515] result() for ClusterFuture ... done [13:14:11.515] result() for ClusterFuture ... [13:14:11.516] - result already collected: FutureResult [13:14:11.516] result() for ClusterFuture ... done [13:14:11.516] result() for ClusterFuture ... [13:14:11.516] - result already collected: FutureResult [13:14:11.516] result() for ClusterFuture ... done [13:14:11.516] result() for ClusterFuture ... [13:14:11.517] - result already collected: FutureResult [13:14:11.517] result() for ClusterFuture ... done [13:14:11.517] - relayed: [n=2] TRUE, FALSE [13:14:11.517] - queued futures: [n=2] TRUE, FALSE [13:14:11.517] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:11.517] length: 1 (resolved future 1) [13:14:11.518] Future #2 [13:14:11.518] result() for ClusterFuture ... [13:14:11.518] - result already collected: FutureResult [13:14:11.518] result() for ClusterFuture ... done [13:14:11.518] result() for ClusterFuture ... [13:14:11.518] - result already collected: FutureResult [13:14:11.519] result() for ClusterFuture ... done [13:14:11.519] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:11.519] - nx: 2 [13:14:11.519] - relay: TRUE [13:14:11.519] - stdout: TRUE [13:14:11.519] - signal: TRUE [13:14:11.519] - resignal: FALSE [13:14:11.520] - force: TRUE [13:14:11.520] - relayed: [n=2] TRUE, FALSE [13:14:11.520] - queued futures: [n=2] TRUE, FALSE [13:14:11.520] - until=2 [13:14:11.520] - relaying element #2 [13:14:11.520] result() for ClusterFuture ... [13:14:11.521] - result already collected: FutureResult [13:14:11.521] result() for ClusterFuture ... done [13:14:11.521] result() for ClusterFuture ... [13:14:11.521] - result already collected: FutureResult [13:14:11.521] result() for ClusterFuture ... done [13:14:11.521] result() for ClusterFuture ... [13:14:11.522] - result already collected: FutureResult [13:14:11.522] result() for ClusterFuture ... done [13:14:11.522] result() for ClusterFuture ... [13:14:11.522] - result already collected: FutureResult [13:14:11.522] result() for ClusterFuture ... done [13:14:11.522] - relayed: [n=2] TRUE, TRUE [13:14:11.522] - queued futures: [n=2] TRUE, TRUE [13:14:11.523] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:11.523] length: 0 (resolved future 2) [13:14:11.523] Relaying remaining futures [13:14:11.523] signalConditionsASAP(NULL, pos=0) ... [13:14:11.523] - nx: 2 [13:14:11.523] - relay: TRUE [13:14:11.524] - stdout: TRUE [13:14:11.524] - signal: TRUE [13:14:11.524] - resignal: FALSE [13:14:11.524] - force: TRUE [13:14:11.524] - relayed: [n=2] TRUE, TRUE [13:14:11.524] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:11.525] - relayed: [n=2] TRUE, TRUE [13:14:11.525] - queued futures: [n=2] TRUE, TRUE [13:14:11.525] signalConditionsASAP(NULL, pos=0) ... done [13:14:11.525] resolve() on list ... DONE [13:14:11.525] result() for ClusterFuture ... [13:14:11.525] - result already collected: FutureResult [13:14:11.525] result() for ClusterFuture ... done [13:14:11.526] result() for ClusterFuture ... [13:14:11.526] - result already collected: FutureResult [13:14:11.526] result() for ClusterFuture ... done [13:14:11.526] result() for ClusterFuture ... [13:14:11.526] - result already collected: FutureResult [13:14:11.526] result() for ClusterFuture ... done [13:14:11.527] result() for ClusterFuture ... [13:14:11.527] - result already collected: FutureResult [13:14:11.527] result() for ClusterFuture ... done [13:14:11.527] - Number of value chunks collected: 2 [13:14:11.527] Resolving 2 futures (chunks) ... DONE [13:14:11.527] Reducing values from 2 chunks ... [13:14:11.528] - Number of values collected after concatenation: 4 [13:14:11.528] - Number of values expected: 4 [13:14:11.528] Reducing values from 2 chunks ... DONE [13:14:11.528] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y1:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y2:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 [13:14:11.536] future_lapply() ... [13:14:11.542] Number of chunks: 2 [13:14:11.542] getGlobalsAndPackagesXApply() ... [13:14:11.542] - future.globals: TRUE [13:14:11.542] getGlobalsAndPackages() ... [13:14:11.543] Searching for globals... [13:14:11.544] - globals found: [2] 'FUN', 'UseMethod' [13:14:11.544] Searching for globals ... DONE [13:14:11.544] Resolving globals: FALSE [13:14:11.545] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:11.545] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:11.545] - globals: [1] 'FUN' [13:14:11.545] [13:14:11.546] getGlobalsAndPackages() ... DONE [13:14:11.546] - globals found/used: [n=1] 'FUN' [13:14:11.546] - needed namespaces: [n=0] [13:14:11.546] Finding globals ... DONE [13:14:11.546] - use_args: TRUE [13:14:11.546] - Getting '...' globals ... [13:14:11.547] resolve() on list ... [13:14:11.547] recursive: 0 [13:14:11.547] length: 1 [13:14:11.547] elements: '...' [13:14:11.548] length: 0 (resolved future 1) [13:14:11.548] resolve() on list ... DONE [13:14:11.548] - '...' content: [n=0] [13:14:11.548] List of 1 [13:14:11.548] $ ...: list() [13:14:11.548] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.548] - attr(*, "where")=List of 1 [13:14:11.548] ..$ ...: [13:14:11.548] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.548] - attr(*, "resolved")= logi TRUE [13:14:11.548] - attr(*, "total_size")= num NA [13:14:11.551] - Getting '...' globals ... DONE [13:14:11.552] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:11.552] List of 2 [13:14:11.552] $ ...future.FUN:function (x, ...) [13:14:11.552] $ ... : list() [13:14:11.552] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.552] - attr(*, "where")=List of 2 [13:14:11.552] ..$ ...future.FUN: [13:14:11.552] ..$ ... : [13:14:11.552] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.552] - attr(*, "resolved")= logi FALSE [13:14:11.552] - attr(*, "total_size")= num 1248 [13:14:11.555] Packages to be attached in all futures: [n=0] [13:14:11.555] getGlobalsAndPackagesXApply() ... DONE [13:14:11.555] Number of futures (= number of chunks): 2 [13:14:11.556] Launching 2 futures (chunks) ... [13:14:11.556] Chunk #1 of 2 ... [13:14:11.556] - Finding globals in 'X' for chunk #1 ... [13:14:11.556] getGlobalsAndPackages() ... [13:14:11.556] Searching for globals... [13:14:11.557] [13:14:11.557] Searching for globals ... DONE [13:14:11.557] - globals: [0] [13:14:11.557] getGlobalsAndPackages() ... DONE [13:14:11.557] + additional globals found: [n=0] [13:14:11.558] + additional namespaces needed: [n=0] [13:14:11.558] - Finding globals in 'X' for chunk #1 ... DONE [13:14:11.558] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.558] - seeds: [13:14:11.558] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.558] getGlobalsAndPackages() ... [13:14:11.558] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.559] Resolving globals: FALSE [13:14:11.559] Tweak future expression to call with '...' arguments ... [13:14:11.559] { [13:14:11.559] do.call(function(...) { [13:14:11.559] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.559] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.559] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.559] on.exit(options(oopts), add = TRUE) [13:14:11.559] } [13:14:11.559] { [13:14:11.559] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.559] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.559] ...future.FUN(...future.X_jj, ...) [13:14:11.559] }) [13:14:11.559] } [13:14:11.559] }, args = future.call.arguments) [13:14:11.559] } [13:14:11.559] Tweak future expression to call with '...' arguments ... DONE [13:14:11.560] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.560] [13:14:11.560] getGlobalsAndPackages() ... DONE [13:14:11.561] run() for 'Future' ... [13:14:11.561] - state: 'created' [13:14:11.561] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.575] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.576] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.576] - Field: 'node' [13:14:11.576] - Field: 'label' [13:14:11.576] - Field: 'local' [13:14:11.576] - Field: 'owner' [13:14:11.577] - Field: 'envir' [13:14:11.577] - Field: 'workers' [13:14:11.577] - Field: 'packages' [13:14:11.577] - Field: 'gc' [13:14:11.577] - Field: 'conditions' [13:14:11.577] - Field: 'persistent' [13:14:11.578] - Field: 'expr' [13:14:11.578] - Field: 'uuid' [13:14:11.578] - Field: 'seed' [13:14:11.578] - Field: 'version' [13:14:11.578] - Field: 'result' [13:14:11.578] - Field: 'asynchronous' [13:14:11.579] - Field: 'calls' [13:14:11.579] - Field: 'globals' [13:14:11.579] - Field: 'stdout' [13:14:11.579] - Field: 'earlySignal' [13:14:11.579] - Field: 'lazy' [13:14:11.579] - Field: 'state' [13:14:11.580] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.580] - Launch lazy future ... [13:14:11.580] Packages needed by the future expression (n = 0): [13:14:11.580] Packages needed by future strategies (n = 0): [13:14:11.581] { [13:14:11.581] { [13:14:11.581] { [13:14:11.581] ...future.startTime <- base::Sys.time() [13:14:11.581] { [13:14:11.581] { [13:14:11.581] { [13:14:11.581] { [13:14:11.581] base::local({ [13:14:11.581] has_future <- base::requireNamespace("future", [13:14:11.581] quietly = TRUE) [13:14:11.581] if (has_future) { [13:14:11.581] ns <- base::getNamespace("future") [13:14:11.581] version <- ns[[".package"]][["version"]] [13:14:11.581] if (is.null(version)) [13:14:11.581] version <- utils::packageVersion("future") [13:14:11.581] } [13:14:11.581] else { [13:14:11.581] version <- NULL [13:14:11.581] } [13:14:11.581] if (!has_future || version < "1.8.0") { [13:14:11.581] info <- base::c(r_version = base::gsub("R version ", [13:14:11.581] "", base::R.version$version.string), [13:14:11.581] platform = base::sprintf("%s (%s-bit)", [13:14:11.581] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.581] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.581] "release", "version")], collapse = " "), [13:14:11.581] hostname = base::Sys.info()[["nodename"]]) [13:14:11.581] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.581] info) [13:14:11.581] info <- base::paste(info, collapse = "; ") [13:14:11.581] if (!has_future) { [13:14:11.581] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.581] info) [13:14:11.581] } [13:14:11.581] else { [13:14:11.581] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.581] info, version) [13:14:11.581] } [13:14:11.581] base::stop(msg) [13:14:11.581] } [13:14:11.581] }) [13:14:11.581] } [13:14:11.581] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.581] base::options(mc.cores = 1L) [13:14:11.581] } [13:14:11.581] options(future.plan = NULL) [13:14:11.581] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.581] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.581] } [13:14:11.581] ...future.workdir <- getwd() [13:14:11.581] } [13:14:11.581] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.581] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.581] } [13:14:11.581] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.581] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.581] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.581] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.581] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.581] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.581] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.581] base::names(...future.oldOptions)) [13:14:11.581] } [13:14:11.581] if (FALSE) { [13:14:11.581] } [13:14:11.581] else { [13:14:11.581] if (TRUE) { [13:14:11.581] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.581] open = "w") [13:14:11.581] } [13:14:11.581] else { [13:14:11.581] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.581] windows = "NUL", "/dev/null"), open = "w") [13:14:11.581] } [13:14:11.581] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.581] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.581] base::sink(type = "output", split = FALSE) [13:14:11.581] base::close(...future.stdout) [13:14:11.581] }, add = TRUE) [13:14:11.581] } [13:14:11.581] ...future.frame <- base::sys.nframe() [13:14:11.581] ...future.conditions <- base::list() [13:14:11.581] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.581] if (FALSE) { [13:14:11.581] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.581] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.581] } [13:14:11.581] ...future.result <- base::tryCatch({ [13:14:11.581] base::withCallingHandlers({ [13:14:11.581] ...future.value <- base::withVisible(base::local({ [13:14:11.581] ...future.makeSendCondition <- local({ [13:14:11.581] sendCondition <- NULL [13:14:11.581] function(frame = 1L) { [13:14:11.581] if (is.function(sendCondition)) [13:14:11.581] return(sendCondition) [13:14:11.581] ns <- getNamespace("parallel") [13:14:11.581] if (exists("sendData", mode = "function", [13:14:11.581] envir = ns)) { [13:14:11.581] parallel_sendData <- get("sendData", mode = "function", [13:14:11.581] envir = ns) [13:14:11.581] envir <- sys.frame(frame) [13:14:11.581] master <- NULL [13:14:11.581] while (!identical(envir, .GlobalEnv) && [13:14:11.581] !identical(envir, emptyenv())) { [13:14:11.581] if (exists("master", mode = "list", envir = envir, [13:14:11.581] inherits = FALSE)) { [13:14:11.581] master <- get("master", mode = "list", [13:14:11.581] envir = envir, inherits = FALSE) [13:14:11.581] if (inherits(master, c("SOCKnode", [13:14:11.581] "SOCK0node"))) { [13:14:11.581] sendCondition <<- function(cond) { [13:14:11.581] data <- list(type = "VALUE", value = cond, [13:14:11.581] success = TRUE) [13:14:11.581] parallel_sendData(master, data) [13:14:11.581] } [13:14:11.581] return(sendCondition) [13:14:11.581] } [13:14:11.581] } [13:14:11.581] frame <- frame + 1L [13:14:11.581] envir <- sys.frame(frame) [13:14:11.581] } [13:14:11.581] } [13:14:11.581] sendCondition <<- function(cond) NULL [13:14:11.581] } [13:14:11.581] }) [13:14:11.581] withCallingHandlers({ [13:14:11.581] { [13:14:11.581] do.call(function(...) { [13:14:11.581] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.581] if (!identical(...future.globals.maxSize.org, [13:14:11.581] ...future.globals.maxSize)) { [13:14:11.581] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.581] on.exit(options(oopts), add = TRUE) [13:14:11.581] } [13:14:11.581] { [13:14:11.581] lapply(seq_along(...future.elements_ii), [13:14:11.581] FUN = function(jj) { [13:14:11.581] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.581] ...future.FUN(...future.X_jj, ...) [13:14:11.581] }) [13:14:11.581] } [13:14:11.581] }, args = future.call.arguments) [13:14:11.581] } [13:14:11.581] }, immediateCondition = function(cond) { [13:14:11.581] sendCondition <- ...future.makeSendCondition() [13:14:11.581] sendCondition(cond) [13:14:11.581] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.581] { [13:14:11.581] inherits <- base::inherits [13:14:11.581] invokeRestart <- base::invokeRestart [13:14:11.581] is.null <- base::is.null [13:14:11.581] muffled <- FALSE [13:14:11.581] if (inherits(cond, "message")) { [13:14:11.581] muffled <- grepl(pattern, "muffleMessage") [13:14:11.581] if (muffled) [13:14:11.581] invokeRestart("muffleMessage") [13:14:11.581] } [13:14:11.581] else if (inherits(cond, "warning")) { [13:14:11.581] muffled <- grepl(pattern, "muffleWarning") [13:14:11.581] if (muffled) [13:14:11.581] invokeRestart("muffleWarning") [13:14:11.581] } [13:14:11.581] else if (inherits(cond, "condition")) { [13:14:11.581] if (!is.null(pattern)) { [13:14:11.581] computeRestarts <- base::computeRestarts [13:14:11.581] grepl <- base::grepl [13:14:11.581] restarts <- computeRestarts(cond) [13:14:11.581] for (restart in restarts) { [13:14:11.581] name <- restart$name [13:14:11.581] if (is.null(name)) [13:14:11.581] next [13:14:11.581] if (!grepl(pattern, name)) [13:14:11.581] next [13:14:11.581] invokeRestart(restart) [13:14:11.581] muffled <- TRUE [13:14:11.581] break [13:14:11.581] } [13:14:11.581] } [13:14:11.581] } [13:14:11.581] invisible(muffled) [13:14:11.581] } [13:14:11.581] muffleCondition(cond) [13:14:11.581] }) [13:14:11.581] })) [13:14:11.581] future::FutureResult(value = ...future.value$value, [13:14:11.581] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.581] ...future.rng), globalenv = if (FALSE) [13:14:11.581] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.581] ...future.globalenv.names)) [13:14:11.581] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.581] }, condition = base::local({ [13:14:11.581] c <- base::c [13:14:11.581] inherits <- base::inherits [13:14:11.581] invokeRestart <- base::invokeRestart [13:14:11.581] length <- base::length [13:14:11.581] list <- base::list [13:14:11.581] seq.int <- base::seq.int [13:14:11.581] signalCondition <- base::signalCondition [13:14:11.581] sys.calls <- base::sys.calls [13:14:11.581] `[[` <- base::`[[` [13:14:11.581] `+` <- base::`+` [13:14:11.581] `<<-` <- base::`<<-` [13:14:11.581] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.581] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.581] 3L)] [13:14:11.581] } [13:14:11.581] function(cond) { [13:14:11.581] is_error <- inherits(cond, "error") [13:14:11.581] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.581] NULL) [13:14:11.581] if (is_error) { [13:14:11.581] sessionInformation <- function() { [13:14:11.581] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.581] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.581] search = base::search(), system = base::Sys.info()) [13:14:11.581] } [13:14:11.581] ...future.conditions[[length(...future.conditions) + [13:14:11.581] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.581] cond$call), session = sessionInformation(), [13:14:11.581] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.581] signalCondition(cond) [13:14:11.581] } [13:14:11.581] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.581] "immediateCondition"))) { [13:14:11.581] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.581] ...future.conditions[[length(...future.conditions) + [13:14:11.581] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.581] if (TRUE && !signal) { [13:14:11.581] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.581] { [13:14:11.581] inherits <- base::inherits [13:14:11.581] invokeRestart <- base::invokeRestart [13:14:11.581] is.null <- base::is.null [13:14:11.581] muffled <- FALSE [13:14:11.581] if (inherits(cond, "message")) { [13:14:11.581] muffled <- grepl(pattern, "muffleMessage") [13:14:11.581] if (muffled) [13:14:11.581] invokeRestart("muffleMessage") [13:14:11.581] } [13:14:11.581] else if (inherits(cond, "warning")) { [13:14:11.581] muffled <- grepl(pattern, "muffleWarning") [13:14:11.581] if (muffled) [13:14:11.581] invokeRestart("muffleWarning") [13:14:11.581] } [13:14:11.581] else if (inherits(cond, "condition")) { [13:14:11.581] if (!is.null(pattern)) { [13:14:11.581] computeRestarts <- base::computeRestarts [13:14:11.581] grepl <- base::grepl [13:14:11.581] restarts <- computeRestarts(cond) [13:14:11.581] for (restart in restarts) { [13:14:11.581] name <- restart$name [13:14:11.581] if (is.null(name)) [13:14:11.581] next [13:14:11.581] if (!grepl(pattern, name)) [13:14:11.581] next [13:14:11.581] invokeRestart(restart) [13:14:11.581] muffled <- TRUE [13:14:11.581] break [13:14:11.581] } [13:14:11.581] } [13:14:11.581] } [13:14:11.581] invisible(muffled) [13:14:11.581] } [13:14:11.581] muffleCondition(cond, pattern = "^muffle") [13:14:11.581] } [13:14:11.581] } [13:14:11.581] else { [13:14:11.581] if (TRUE) { [13:14:11.581] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.581] { [13:14:11.581] inherits <- base::inherits [13:14:11.581] invokeRestart <- base::invokeRestart [13:14:11.581] is.null <- base::is.null [13:14:11.581] muffled <- FALSE [13:14:11.581] if (inherits(cond, "message")) { [13:14:11.581] muffled <- grepl(pattern, "muffleMessage") [13:14:11.581] if (muffled) [13:14:11.581] invokeRestart("muffleMessage") [13:14:11.581] } [13:14:11.581] else if (inherits(cond, "warning")) { [13:14:11.581] muffled <- grepl(pattern, "muffleWarning") [13:14:11.581] if (muffled) [13:14:11.581] invokeRestart("muffleWarning") [13:14:11.581] } [13:14:11.581] else if (inherits(cond, "condition")) { [13:14:11.581] if (!is.null(pattern)) { [13:14:11.581] computeRestarts <- base::computeRestarts [13:14:11.581] grepl <- base::grepl [13:14:11.581] restarts <- computeRestarts(cond) [13:14:11.581] for (restart in restarts) { [13:14:11.581] name <- restart$name [13:14:11.581] if (is.null(name)) [13:14:11.581] next [13:14:11.581] if (!grepl(pattern, name)) [13:14:11.581] next [13:14:11.581] invokeRestart(restart) [13:14:11.581] muffled <- TRUE [13:14:11.581] break [13:14:11.581] } [13:14:11.581] } [13:14:11.581] } [13:14:11.581] invisible(muffled) [13:14:11.581] } [13:14:11.581] muffleCondition(cond, pattern = "^muffle") [13:14:11.581] } [13:14:11.581] } [13:14:11.581] } [13:14:11.581] })) [13:14:11.581] }, error = function(ex) { [13:14:11.581] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.581] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.581] ...future.rng), started = ...future.startTime, [13:14:11.581] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.581] version = "1.8"), class = "FutureResult") [13:14:11.581] }, finally = { [13:14:11.581] if (!identical(...future.workdir, getwd())) [13:14:11.581] setwd(...future.workdir) [13:14:11.581] { [13:14:11.581] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.581] ...future.oldOptions$nwarnings <- NULL [13:14:11.581] } [13:14:11.581] base::options(...future.oldOptions) [13:14:11.581] if (.Platform$OS.type == "windows") { [13:14:11.581] old_names <- names(...future.oldEnvVars) [13:14:11.581] envs <- base::Sys.getenv() [13:14:11.581] names <- names(envs) [13:14:11.581] common <- intersect(names, old_names) [13:14:11.581] added <- setdiff(names, old_names) [13:14:11.581] removed <- setdiff(old_names, names) [13:14:11.581] changed <- common[...future.oldEnvVars[common] != [13:14:11.581] envs[common]] [13:14:11.581] NAMES <- toupper(changed) [13:14:11.581] args <- list() [13:14:11.581] for (kk in seq_along(NAMES)) { [13:14:11.581] name <- changed[[kk]] [13:14:11.581] NAME <- NAMES[[kk]] [13:14:11.581] if (name != NAME && is.element(NAME, old_names)) [13:14:11.581] next [13:14:11.581] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.581] } [13:14:11.581] NAMES <- toupper(added) [13:14:11.581] for (kk in seq_along(NAMES)) { [13:14:11.581] name <- added[[kk]] [13:14:11.581] NAME <- NAMES[[kk]] [13:14:11.581] if (name != NAME && is.element(NAME, old_names)) [13:14:11.581] next [13:14:11.581] args[[name]] <- "" [13:14:11.581] } [13:14:11.581] NAMES <- toupper(removed) [13:14:11.581] for (kk in seq_along(NAMES)) { [13:14:11.581] name <- removed[[kk]] [13:14:11.581] NAME <- NAMES[[kk]] [13:14:11.581] if (name != NAME && is.element(NAME, old_names)) [13:14:11.581] next [13:14:11.581] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.581] } [13:14:11.581] if (length(args) > 0) [13:14:11.581] base::do.call(base::Sys.setenv, args = args) [13:14:11.581] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.581] } [13:14:11.581] else { [13:14:11.581] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.581] } [13:14:11.581] { [13:14:11.581] if (base::length(...future.futureOptionsAdded) > [13:14:11.581] 0L) { [13:14:11.581] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.581] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.581] base::options(opts) [13:14:11.581] } [13:14:11.581] { [13:14:11.581] { [13:14:11.581] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.581] NULL [13:14:11.581] } [13:14:11.581] options(future.plan = NULL) [13:14:11.581] if (is.na(NA_character_)) [13:14:11.581] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.581] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.581] future::plan(list(function (..., workers = availableCores(), [13:14:11.581] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.581] envir = parent.frame()) [13:14:11.581] { [13:14:11.581] if (is.function(workers)) [13:14:11.581] workers <- workers() [13:14:11.581] workers <- structure(as.integer(workers), [13:14:11.581] class = class(workers)) [13:14:11.581] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.581] workers >= 1) [13:14:11.581] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.581] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.581] } [13:14:11.581] future <- MultisessionFuture(..., workers = workers, [13:14:11.581] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.581] envir = envir) [13:14:11.581] if (!future$lazy) [13:14:11.581] future <- run(future) [13:14:11.581] invisible(future) [13:14:11.581] }), .cleanup = FALSE, .init = FALSE) [13:14:11.581] } [13:14:11.581] } [13:14:11.581] } [13:14:11.581] }) [13:14:11.581] if (TRUE) { [13:14:11.581] base::sink(type = "output", split = FALSE) [13:14:11.581] if (TRUE) { [13:14:11.581] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.581] } [13:14:11.581] else { [13:14:11.581] ...future.result["stdout"] <- base::list(NULL) [13:14:11.581] } [13:14:11.581] base::close(...future.stdout) [13:14:11.581] ...future.stdout <- NULL [13:14:11.581] } [13:14:11.581] ...future.result$conditions <- ...future.conditions [13:14:11.581] ...future.result$finished <- base::Sys.time() [13:14:11.581] ...future.result [13:14:11.581] } [13:14:11.586] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:11.587] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:11.587] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:11.587] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.588] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.588] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.588] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.589] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.589] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.589] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.590] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.590] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:11.590] MultisessionFuture started [13:14:11.591] - Launch lazy future ... done [13:14:11.591] run() for 'MultisessionFuture' ... done [13:14:11.591] Created future: [13:14:11.607] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.607] - Validating connection of MultisessionFuture [13:14:11.607] - received message: FutureResult [13:14:11.608] - Received FutureResult [13:14:11.608] - Erased future from FutureRegistry [13:14:11.608] result() for ClusterFuture ... [13:14:11.608] - result already collected: FutureResult [13:14:11.608] result() for ClusterFuture ... done [13:14:11.608] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.591] MultisessionFuture: [13:14:11.591] Label: 'future_sapply-1' [13:14:11.591] Expression: [13:14:11.591] { [13:14:11.591] do.call(function(...) { [13:14:11.591] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.591] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.591] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.591] on.exit(options(oopts), add = TRUE) [13:14:11.591] } [13:14:11.591] { [13:14:11.591] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.591] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.591] ...future.FUN(...future.X_jj, ...) [13:14:11.591] }) [13:14:11.591] } [13:14:11.591] }, args = future.call.arguments) [13:14:11.591] } [13:14:11.591] Lazy evaluation: FALSE [13:14:11.591] Asynchronous evaluation: TRUE [13:14:11.591] Local evaluation: TRUE [13:14:11.591] Environment: R_GlobalEnv [13:14:11.591] Capture standard output: TRUE [13:14:11.591] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.591] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.591] Packages: [13:14:11.591] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.591] Resolved: TRUE [13:14:11.591] Value: [13:14:11.591] Conditions captured: [13:14:11.591] Early signaling: FALSE [13:14:11.591] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.591] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.609] Chunk #1 of 2 ... DONE [13:14:11.609] Chunk #2 of 2 ... [13:14:11.609] - Finding globals in 'X' for chunk #2 ... [13:14:11.609] getGlobalsAndPackages() ... [13:14:11.610] Searching for globals... [13:14:11.610] [13:14:11.610] Searching for globals ... DONE [13:14:11.610] - globals: [0] [13:14:11.610] getGlobalsAndPackages() ... DONE [13:14:11.610] + additional globals found: [n=0] [13:14:11.611] + additional namespaces needed: [n=0] [13:14:11.611] - Finding globals in 'X' for chunk #2 ... DONE [13:14:11.611] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.611] - seeds: [13:14:11.611] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.612] getGlobalsAndPackages() ... [13:14:11.612] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.612] Resolving globals: FALSE [13:14:11.612] Tweak future expression to call with '...' arguments ... [13:14:11.612] { [13:14:11.612] do.call(function(...) { [13:14:11.612] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.612] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.612] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.612] on.exit(options(oopts), add = TRUE) [13:14:11.612] } [13:14:11.612] { [13:14:11.612] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.612] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.612] ...future.FUN(...future.X_jj, ...) [13:14:11.612] }) [13:14:11.612] } [13:14:11.612] }, args = future.call.arguments) [13:14:11.612] } [13:14:11.613] Tweak future expression to call with '...' arguments ... DONE [13:14:11.613] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.613] [13:14:11.613] getGlobalsAndPackages() ... DONE [13:14:11.614] run() for 'Future' ... [13:14:11.614] - state: 'created' [13:14:11.614] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.628] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.628] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.629] - Field: 'node' [13:14:11.629] - Field: 'label' [13:14:11.629] - Field: 'local' [13:14:11.629] - Field: 'owner' [13:14:11.629] - Field: 'envir' [13:14:11.629] - Field: 'workers' [13:14:11.630] - Field: 'packages' [13:14:11.630] - Field: 'gc' [13:14:11.630] - Field: 'conditions' [13:14:11.630] - Field: 'persistent' [13:14:11.630] - Field: 'expr' [13:14:11.630] - Field: 'uuid' [13:14:11.631] - Field: 'seed' [13:14:11.631] - Field: 'version' [13:14:11.631] - Field: 'result' [13:14:11.631] - Field: 'asynchronous' [13:14:11.631] - Field: 'calls' [13:14:11.632] - Field: 'globals' [13:14:11.632] - Field: 'stdout' [13:14:11.632] - Field: 'earlySignal' [13:14:11.632] - Field: 'lazy' [13:14:11.632] - Field: 'state' [13:14:11.632] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.633] - Launch lazy future ... [13:14:11.633] Packages needed by the future expression (n = 0): [13:14:11.633] Packages needed by future strategies (n = 0): [13:14:11.634] { [13:14:11.634] { [13:14:11.634] { [13:14:11.634] ...future.startTime <- base::Sys.time() [13:14:11.634] { [13:14:11.634] { [13:14:11.634] { [13:14:11.634] { [13:14:11.634] base::local({ [13:14:11.634] has_future <- base::requireNamespace("future", [13:14:11.634] quietly = TRUE) [13:14:11.634] if (has_future) { [13:14:11.634] ns <- base::getNamespace("future") [13:14:11.634] version <- ns[[".package"]][["version"]] [13:14:11.634] if (is.null(version)) [13:14:11.634] version <- utils::packageVersion("future") [13:14:11.634] } [13:14:11.634] else { [13:14:11.634] version <- NULL [13:14:11.634] } [13:14:11.634] if (!has_future || version < "1.8.0") { [13:14:11.634] info <- base::c(r_version = base::gsub("R version ", [13:14:11.634] "", base::R.version$version.string), [13:14:11.634] platform = base::sprintf("%s (%s-bit)", [13:14:11.634] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.634] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.634] "release", "version")], collapse = " "), [13:14:11.634] hostname = base::Sys.info()[["nodename"]]) [13:14:11.634] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.634] info) [13:14:11.634] info <- base::paste(info, collapse = "; ") [13:14:11.634] if (!has_future) { [13:14:11.634] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.634] info) [13:14:11.634] } [13:14:11.634] else { [13:14:11.634] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.634] info, version) [13:14:11.634] } [13:14:11.634] base::stop(msg) [13:14:11.634] } [13:14:11.634] }) [13:14:11.634] } [13:14:11.634] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.634] base::options(mc.cores = 1L) [13:14:11.634] } [13:14:11.634] options(future.plan = NULL) [13:14:11.634] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.634] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.634] } [13:14:11.634] ...future.workdir <- getwd() [13:14:11.634] } [13:14:11.634] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.634] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.634] } [13:14:11.634] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.634] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.634] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.634] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.634] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.634] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.634] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.634] base::names(...future.oldOptions)) [13:14:11.634] } [13:14:11.634] if (FALSE) { [13:14:11.634] } [13:14:11.634] else { [13:14:11.634] if (TRUE) { [13:14:11.634] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.634] open = "w") [13:14:11.634] } [13:14:11.634] else { [13:14:11.634] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.634] windows = "NUL", "/dev/null"), open = "w") [13:14:11.634] } [13:14:11.634] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.634] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.634] base::sink(type = "output", split = FALSE) [13:14:11.634] base::close(...future.stdout) [13:14:11.634] }, add = TRUE) [13:14:11.634] } [13:14:11.634] ...future.frame <- base::sys.nframe() [13:14:11.634] ...future.conditions <- base::list() [13:14:11.634] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.634] if (FALSE) { [13:14:11.634] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.634] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.634] } [13:14:11.634] ...future.result <- base::tryCatch({ [13:14:11.634] base::withCallingHandlers({ [13:14:11.634] ...future.value <- base::withVisible(base::local({ [13:14:11.634] ...future.makeSendCondition <- local({ [13:14:11.634] sendCondition <- NULL [13:14:11.634] function(frame = 1L) { [13:14:11.634] if (is.function(sendCondition)) [13:14:11.634] return(sendCondition) [13:14:11.634] ns <- getNamespace("parallel") [13:14:11.634] if (exists("sendData", mode = "function", [13:14:11.634] envir = ns)) { [13:14:11.634] parallel_sendData <- get("sendData", mode = "function", [13:14:11.634] envir = ns) [13:14:11.634] envir <- sys.frame(frame) [13:14:11.634] master <- NULL [13:14:11.634] while (!identical(envir, .GlobalEnv) && [13:14:11.634] !identical(envir, emptyenv())) { [13:14:11.634] if (exists("master", mode = "list", envir = envir, [13:14:11.634] inherits = FALSE)) { [13:14:11.634] master <- get("master", mode = "list", [13:14:11.634] envir = envir, inherits = FALSE) [13:14:11.634] if (inherits(master, c("SOCKnode", [13:14:11.634] "SOCK0node"))) { [13:14:11.634] sendCondition <<- function(cond) { [13:14:11.634] data <- list(type = "VALUE", value = cond, [13:14:11.634] success = TRUE) [13:14:11.634] parallel_sendData(master, data) [13:14:11.634] } [13:14:11.634] return(sendCondition) [13:14:11.634] } [13:14:11.634] } [13:14:11.634] frame <- frame + 1L [13:14:11.634] envir <- sys.frame(frame) [13:14:11.634] } [13:14:11.634] } [13:14:11.634] sendCondition <<- function(cond) NULL [13:14:11.634] } [13:14:11.634] }) [13:14:11.634] withCallingHandlers({ [13:14:11.634] { [13:14:11.634] do.call(function(...) { [13:14:11.634] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.634] if (!identical(...future.globals.maxSize.org, [13:14:11.634] ...future.globals.maxSize)) { [13:14:11.634] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.634] on.exit(options(oopts), add = TRUE) [13:14:11.634] } [13:14:11.634] { [13:14:11.634] lapply(seq_along(...future.elements_ii), [13:14:11.634] FUN = function(jj) { [13:14:11.634] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.634] ...future.FUN(...future.X_jj, ...) [13:14:11.634] }) [13:14:11.634] } [13:14:11.634] }, args = future.call.arguments) [13:14:11.634] } [13:14:11.634] }, immediateCondition = function(cond) { [13:14:11.634] sendCondition <- ...future.makeSendCondition() [13:14:11.634] sendCondition(cond) [13:14:11.634] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.634] { [13:14:11.634] inherits <- base::inherits [13:14:11.634] invokeRestart <- base::invokeRestart [13:14:11.634] is.null <- base::is.null [13:14:11.634] muffled <- FALSE [13:14:11.634] if (inherits(cond, "message")) { [13:14:11.634] muffled <- grepl(pattern, "muffleMessage") [13:14:11.634] if (muffled) [13:14:11.634] invokeRestart("muffleMessage") [13:14:11.634] } [13:14:11.634] else if (inherits(cond, "warning")) { [13:14:11.634] muffled <- grepl(pattern, "muffleWarning") [13:14:11.634] if (muffled) [13:14:11.634] invokeRestart("muffleWarning") [13:14:11.634] } [13:14:11.634] else if (inherits(cond, "condition")) { [13:14:11.634] if (!is.null(pattern)) { [13:14:11.634] computeRestarts <- base::computeRestarts [13:14:11.634] grepl <- base::grepl [13:14:11.634] restarts <- computeRestarts(cond) [13:14:11.634] for (restart in restarts) { [13:14:11.634] name <- restart$name [13:14:11.634] if (is.null(name)) [13:14:11.634] next [13:14:11.634] if (!grepl(pattern, name)) [13:14:11.634] next [13:14:11.634] invokeRestart(restart) [13:14:11.634] muffled <- TRUE [13:14:11.634] break [13:14:11.634] } [13:14:11.634] } [13:14:11.634] } [13:14:11.634] invisible(muffled) [13:14:11.634] } [13:14:11.634] muffleCondition(cond) [13:14:11.634] }) [13:14:11.634] })) [13:14:11.634] future::FutureResult(value = ...future.value$value, [13:14:11.634] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.634] ...future.rng), globalenv = if (FALSE) [13:14:11.634] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.634] ...future.globalenv.names)) [13:14:11.634] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.634] }, condition = base::local({ [13:14:11.634] c <- base::c [13:14:11.634] inherits <- base::inherits [13:14:11.634] invokeRestart <- base::invokeRestart [13:14:11.634] length <- base::length [13:14:11.634] list <- base::list [13:14:11.634] seq.int <- base::seq.int [13:14:11.634] signalCondition <- base::signalCondition [13:14:11.634] sys.calls <- base::sys.calls [13:14:11.634] `[[` <- base::`[[` [13:14:11.634] `+` <- base::`+` [13:14:11.634] `<<-` <- base::`<<-` [13:14:11.634] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.634] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.634] 3L)] [13:14:11.634] } [13:14:11.634] function(cond) { [13:14:11.634] is_error <- inherits(cond, "error") [13:14:11.634] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.634] NULL) [13:14:11.634] if (is_error) { [13:14:11.634] sessionInformation <- function() { [13:14:11.634] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.634] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.634] search = base::search(), system = base::Sys.info()) [13:14:11.634] } [13:14:11.634] ...future.conditions[[length(...future.conditions) + [13:14:11.634] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.634] cond$call), session = sessionInformation(), [13:14:11.634] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.634] signalCondition(cond) [13:14:11.634] } [13:14:11.634] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.634] "immediateCondition"))) { [13:14:11.634] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.634] ...future.conditions[[length(...future.conditions) + [13:14:11.634] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.634] if (TRUE && !signal) { [13:14:11.634] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.634] { [13:14:11.634] inherits <- base::inherits [13:14:11.634] invokeRestart <- base::invokeRestart [13:14:11.634] is.null <- base::is.null [13:14:11.634] muffled <- FALSE [13:14:11.634] if (inherits(cond, "message")) { [13:14:11.634] muffled <- grepl(pattern, "muffleMessage") [13:14:11.634] if (muffled) [13:14:11.634] invokeRestart("muffleMessage") [13:14:11.634] } [13:14:11.634] else if (inherits(cond, "warning")) { [13:14:11.634] muffled <- grepl(pattern, "muffleWarning") [13:14:11.634] if (muffled) [13:14:11.634] invokeRestart("muffleWarning") [13:14:11.634] } [13:14:11.634] else if (inherits(cond, "condition")) { [13:14:11.634] if (!is.null(pattern)) { [13:14:11.634] computeRestarts <- base::computeRestarts [13:14:11.634] grepl <- base::grepl [13:14:11.634] restarts <- computeRestarts(cond) [13:14:11.634] for (restart in restarts) { [13:14:11.634] name <- restart$name [13:14:11.634] if (is.null(name)) [13:14:11.634] next [13:14:11.634] if (!grepl(pattern, name)) [13:14:11.634] next [13:14:11.634] invokeRestart(restart) [13:14:11.634] muffled <- TRUE [13:14:11.634] break [13:14:11.634] } [13:14:11.634] } [13:14:11.634] } [13:14:11.634] invisible(muffled) [13:14:11.634] } [13:14:11.634] muffleCondition(cond, pattern = "^muffle") [13:14:11.634] } [13:14:11.634] } [13:14:11.634] else { [13:14:11.634] if (TRUE) { [13:14:11.634] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.634] { [13:14:11.634] inherits <- base::inherits [13:14:11.634] invokeRestart <- base::invokeRestart [13:14:11.634] is.null <- base::is.null [13:14:11.634] muffled <- FALSE [13:14:11.634] if (inherits(cond, "message")) { [13:14:11.634] muffled <- grepl(pattern, "muffleMessage") [13:14:11.634] if (muffled) [13:14:11.634] invokeRestart("muffleMessage") [13:14:11.634] } [13:14:11.634] else if (inherits(cond, "warning")) { [13:14:11.634] muffled <- grepl(pattern, "muffleWarning") [13:14:11.634] if (muffled) [13:14:11.634] invokeRestart("muffleWarning") [13:14:11.634] } [13:14:11.634] else if (inherits(cond, "condition")) { [13:14:11.634] if (!is.null(pattern)) { [13:14:11.634] computeRestarts <- base::computeRestarts [13:14:11.634] grepl <- base::grepl [13:14:11.634] restarts <- computeRestarts(cond) [13:14:11.634] for (restart in restarts) { [13:14:11.634] name <- restart$name [13:14:11.634] if (is.null(name)) [13:14:11.634] next [13:14:11.634] if (!grepl(pattern, name)) [13:14:11.634] next [13:14:11.634] invokeRestart(restart) [13:14:11.634] muffled <- TRUE [13:14:11.634] break [13:14:11.634] } [13:14:11.634] } [13:14:11.634] } [13:14:11.634] invisible(muffled) [13:14:11.634] } [13:14:11.634] muffleCondition(cond, pattern = "^muffle") [13:14:11.634] } [13:14:11.634] } [13:14:11.634] } [13:14:11.634] })) [13:14:11.634] }, error = function(ex) { [13:14:11.634] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.634] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.634] ...future.rng), started = ...future.startTime, [13:14:11.634] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.634] version = "1.8"), class = "FutureResult") [13:14:11.634] }, finally = { [13:14:11.634] if (!identical(...future.workdir, getwd())) [13:14:11.634] setwd(...future.workdir) [13:14:11.634] { [13:14:11.634] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.634] ...future.oldOptions$nwarnings <- NULL [13:14:11.634] } [13:14:11.634] base::options(...future.oldOptions) [13:14:11.634] if (.Platform$OS.type == "windows") { [13:14:11.634] old_names <- names(...future.oldEnvVars) [13:14:11.634] envs <- base::Sys.getenv() [13:14:11.634] names <- names(envs) [13:14:11.634] common <- intersect(names, old_names) [13:14:11.634] added <- setdiff(names, old_names) [13:14:11.634] removed <- setdiff(old_names, names) [13:14:11.634] changed <- common[...future.oldEnvVars[common] != [13:14:11.634] envs[common]] [13:14:11.634] NAMES <- toupper(changed) [13:14:11.634] args <- list() [13:14:11.634] for (kk in seq_along(NAMES)) { [13:14:11.634] name <- changed[[kk]] [13:14:11.634] NAME <- NAMES[[kk]] [13:14:11.634] if (name != NAME && is.element(NAME, old_names)) [13:14:11.634] next [13:14:11.634] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.634] } [13:14:11.634] NAMES <- toupper(added) [13:14:11.634] for (kk in seq_along(NAMES)) { [13:14:11.634] name <- added[[kk]] [13:14:11.634] NAME <- NAMES[[kk]] [13:14:11.634] if (name != NAME && is.element(NAME, old_names)) [13:14:11.634] next [13:14:11.634] args[[name]] <- "" [13:14:11.634] } [13:14:11.634] NAMES <- toupper(removed) [13:14:11.634] for (kk in seq_along(NAMES)) { [13:14:11.634] name <- removed[[kk]] [13:14:11.634] NAME <- NAMES[[kk]] [13:14:11.634] if (name != NAME && is.element(NAME, old_names)) [13:14:11.634] next [13:14:11.634] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.634] } [13:14:11.634] if (length(args) > 0) [13:14:11.634] base::do.call(base::Sys.setenv, args = args) [13:14:11.634] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.634] } [13:14:11.634] else { [13:14:11.634] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.634] } [13:14:11.634] { [13:14:11.634] if (base::length(...future.futureOptionsAdded) > [13:14:11.634] 0L) { [13:14:11.634] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.634] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.634] base::options(opts) [13:14:11.634] } [13:14:11.634] { [13:14:11.634] { [13:14:11.634] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.634] NULL [13:14:11.634] } [13:14:11.634] options(future.plan = NULL) [13:14:11.634] if (is.na(NA_character_)) [13:14:11.634] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.634] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.634] future::plan(list(function (..., workers = availableCores(), [13:14:11.634] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.634] envir = parent.frame()) [13:14:11.634] { [13:14:11.634] if (is.function(workers)) [13:14:11.634] workers <- workers() [13:14:11.634] workers <- structure(as.integer(workers), [13:14:11.634] class = class(workers)) [13:14:11.634] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.634] workers >= 1) [13:14:11.634] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.634] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.634] } [13:14:11.634] future <- MultisessionFuture(..., workers = workers, [13:14:11.634] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.634] envir = envir) [13:14:11.634] if (!future$lazy) [13:14:11.634] future <- run(future) [13:14:11.634] invisible(future) [13:14:11.634] }), .cleanup = FALSE, .init = FALSE) [13:14:11.634] } [13:14:11.634] } [13:14:11.634] } [13:14:11.634] }) [13:14:11.634] if (TRUE) { [13:14:11.634] base::sink(type = "output", split = FALSE) [13:14:11.634] if (TRUE) { [13:14:11.634] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.634] } [13:14:11.634] else { [13:14:11.634] ...future.result["stdout"] <- base::list(NULL) [13:14:11.634] } [13:14:11.634] base::close(...future.stdout) [13:14:11.634] ...future.stdout <- NULL [13:14:11.634] } [13:14:11.634] ...future.result$conditions <- ...future.conditions [13:14:11.634] ...future.result$finished <- base::Sys.time() [13:14:11.634] ...future.result [13:14:11.634] } [13:14:11.639] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:11.639] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:11.640] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:11.640] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.640] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.641] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.641] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.641] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.642] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.642] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.642] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.642] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:11.643] MultisessionFuture started [13:14:11.643] - Launch lazy future ... done [13:14:11.644] run() for 'MultisessionFuture' ... done [13:14:11.644] Created future: [13:14:11.659] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.660] - Validating connection of MultisessionFuture [13:14:11.660] - received message: FutureResult [13:14:11.660] - Received FutureResult [13:14:11.660] - Erased future from FutureRegistry [13:14:11.661] result() for ClusterFuture ... [13:14:11.661] - result already collected: FutureResult [13:14:11.661] result() for ClusterFuture ... done [13:14:11.661] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.644] MultisessionFuture: [13:14:11.644] Label: 'future_sapply-2' [13:14:11.644] Expression: [13:14:11.644] { [13:14:11.644] do.call(function(...) { [13:14:11.644] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.644] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.644] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.644] on.exit(options(oopts), add = TRUE) [13:14:11.644] } [13:14:11.644] { [13:14:11.644] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.644] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.644] ...future.FUN(...future.X_jj, ...) [13:14:11.644] }) [13:14:11.644] } [13:14:11.644] }, args = future.call.arguments) [13:14:11.644] } [13:14:11.644] Lazy evaluation: FALSE [13:14:11.644] Asynchronous evaluation: TRUE [13:14:11.644] Local evaluation: TRUE [13:14:11.644] Environment: R_GlobalEnv [13:14:11.644] Capture standard output: TRUE [13:14:11.644] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.644] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.644] Packages: [13:14:11.644] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.644] Resolved: TRUE [13:14:11.644] Value: [13:14:11.644] Conditions captured: [13:14:11.644] Early signaling: FALSE [13:14:11.644] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.644] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.661] Chunk #2 of 2 ... DONE [13:14:11.662] Launching 2 futures (chunks) ... DONE [13:14:11.662] Resolving 2 futures (chunks) ... [13:14:11.662] resolve() on list ... [13:14:11.662] recursive: 0 [13:14:11.662] length: 2 [13:14:11.662] [13:14:11.663] Future #1 [13:14:11.663] result() for ClusterFuture ... [13:14:11.663] - result already collected: FutureResult [13:14:11.663] result() for ClusterFuture ... done [13:14:11.663] result() for ClusterFuture ... [13:14:11.663] - result already collected: FutureResult [13:14:11.664] result() for ClusterFuture ... done [13:14:11.664] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:11.664] - nx: 2 [13:14:11.664] - relay: TRUE [13:14:11.664] - stdout: TRUE [13:14:11.664] - signal: TRUE [13:14:11.665] - resignal: FALSE [13:14:11.665] - force: TRUE [13:14:11.665] - relayed: [n=2] FALSE, FALSE [13:14:11.665] - queued futures: [n=2] FALSE, FALSE [13:14:11.665] - until=1 [13:14:11.665] - relaying element #1 [13:14:11.665] result() for ClusterFuture ... [13:14:11.666] - result already collected: FutureResult [13:14:11.666] result() for ClusterFuture ... done [13:14:11.666] result() for ClusterFuture ... [13:14:11.666] - result already collected: FutureResult [13:14:11.666] result() for ClusterFuture ... done [13:14:11.666] result() for ClusterFuture ... [13:14:11.667] - result already collected: FutureResult [13:14:11.667] result() for ClusterFuture ... done [13:14:11.667] result() for ClusterFuture ... [13:14:11.667] - result already collected: FutureResult [13:14:11.667] result() for ClusterFuture ... done [13:14:11.667] - relayed: [n=2] TRUE, FALSE [13:14:11.668] - queued futures: [n=2] TRUE, FALSE [13:14:11.668] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:11.668] length: 1 (resolved future 1) [13:14:11.668] Future #2 [13:14:11.668] result() for ClusterFuture ... [13:14:11.668] - result already collected: FutureResult [13:14:11.669] result() for ClusterFuture ... done [13:14:11.669] result() for ClusterFuture ... [13:14:11.669] - result already collected: FutureResult [13:14:11.669] result() for ClusterFuture ... done [13:14:11.669] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:11.669] - nx: 2 [13:14:11.670] - relay: TRUE [13:14:11.670] - stdout: TRUE [13:14:11.670] - signal: TRUE [13:14:11.670] - resignal: FALSE [13:14:11.670] - force: TRUE [13:14:11.670] - relayed: [n=2] TRUE, FALSE [13:14:11.670] - queued futures: [n=2] TRUE, FALSE [13:14:11.671] - until=2 [13:14:11.671] - relaying element #2 [13:14:11.671] result() for ClusterFuture ... [13:14:11.671] - result already collected: FutureResult [13:14:11.671] result() for ClusterFuture ... done [13:14:11.671] result() for ClusterFuture ... [13:14:11.672] - result already collected: FutureResult [13:14:11.672] result() for ClusterFuture ... done [13:14:11.672] result() for ClusterFuture ... [13:14:11.672] - result already collected: FutureResult [13:14:11.672] result() for ClusterFuture ... done [13:14:11.672] result() for ClusterFuture ... [13:14:11.673] - result already collected: FutureResult [13:14:11.673] result() for ClusterFuture ... done [13:14:11.673] - relayed: [n=2] TRUE, TRUE [13:14:11.673] - queued futures: [n=2] TRUE, TRUE [13:14:11.673] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:11.673] length: 0 (resolved future 2) [13:14:11.674] Relaying remaining futures [13:14:11.674] signalConditionsASAP(NULL, pos=0) ... [13:14:11.674] - nx: 2 [13:14:11.674] - relay: TRUE [13:14:11.674] - stdout: TRUE [13:14:11.674] - signal: TRUE [13:14:11.674] - resignal: FALSE [13:14:11.675] - force: TRUE [13:14:11.675] - relayed: [n=2] TRUE, TRUE [13:14:11.675] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:11.675] - relayed: [n=2] TRUE, TRUE [13:14:11.675] - queued futures: [n=2] TRUE, TRUE [13:14:11.675] signalConditionsASAP(NULL, pos=0) ... done [13:14:11.676] resolve() on list ... DONE [13:14:11.676] result() for ClusterFuture ... [13:14:11.676] - result already collected: FutureResult [13:14:11.676] result() for ClusterFuture ... done [13:14:11.676] result() for ClusterFuture ... [13:14:11.676] - result already collected: FutureResult [13:14:11.677] result() for ClusterFuture ... done [13:14:11.677] result() for ClusterFuture ... [13:14:11.677] - result already collected: FutureResult [13:14:11.677] result() for ClusterFuture ... done [13:14:11.677] result() for ClusterFuture ... [13:14:11.677] - result already collected: FutureResult [13:14:11.678] result() for ClusterFuture ... done [13:14:11.678] - Number of value chunks collected: 2 [13:14:11.678] Resolving 2 futures (chunks) ... DONE [13:14:11.678] Reducing values from 2 chunks ... [13:14:11.678] - Number of values collected after concatenation: 4 [13:14:11.678] - Number of values expected: 4 [13:14:11.679] Reducing values from 2 chunks ... DONE [13:14:11.679] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y1:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y2:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 [13:14:11.687] future_lapply() ... [13:14:11.691] Number of chunks: 2 [13:14:11.691] getGlobalsAndPackagesXApply() ... [13:14:11.691] - future.globals: TRUE [13:14:11.691] getGlobalsAndPackages() ... [13:14:11.691] Searching for globals... [13:14:11.696] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:11.696] Searching for globals ... DONE [13:14:11.696] Resolving globals: FALSE [13:14:11.697] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:11.697] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:11.698] - globals: [1] 'FUN' [13:14:11.698] [13:14:11.698] getGlobalsAndPackages() ... DONE [13:14:11.698] - globals found/used: [n=1] 'FUN' [13:14:11.698] - needed namespaces: [n=0] [13:14:11.698] Finding globals ... DONE [13:14:11.699] - use_args: TRUE [13:14:11.699] - Getting '...' globals ... [13:14:11.699] resolve() on list ... [13:14:11.699] recursive: 0 [13:14:11.700] length: 1 [13:14:11.700] elements: '...' [13:14:11.700] length: 0 (resolved future 1) [13:14:11.700] resolve() on list ... DONE [13:14:11.700] - '...' content: [n=0] [13:14:11.700] List of 1 [13:14:11.700] $ ...: list() [13:14:11.700] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.700] - attr(*, "where")=List of 1 [13:14:11.700] ..$ ...: [13:14:11.700] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.700] - attr(*, "resolved")= logi TRUE [13:14:11.700] - attr(*, "total_size")= num NA [13:14:11.703] - Getting '...' globals ... DONE [13:14:11.704] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:11.704] List of 2 [13:14:11.704] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:11.704] $ ... : list() [13:14:11.704] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.704] - attr(*, "where")=List of 2 [13:14:11.704] ..$ ...future.FUN: [13:14:11.704] ..$ ... : [13:14:11.704] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.704] - attr(*, "resolved")= logi FALSE [13:14:11.704] - attr(*, "total_size")= num 4728 [13:14:11.707] Packages to be attached in all futures: [n=0] [13:14:11.707] getGlobalsAndPackagesXApply() ... DONE [13:14:11.708] Number of futures (= number of chunks): 2 [13:14:11.708] Launching 2 futures (chunks) ... [13:14:11.708] Chunk #1 of 2 ... [13:14:11.708] - Finding globals in 'X' for chunk #1 ... [13:14:11.708] getGlobalsAndPackages() ... [13:14:11.708] Searching for globals... [13:14:11.709] [13:14:11.709] Searching for globals ... DONE [13:14:11.709] - globals: [0] [13:14:11.709] getGlobalsAndPackages() ... DONE [13:14:11.709] + additional globals found: [n=0] [13:14:11.710] + additional namespaces needed: [n=0] [13:14:11.710] - Finding globals in 'X' for chunk #1 ... DONE [13:14:11.710] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.710] - seeds: [13:14:11.710] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.710] getGlobalsAndPackages() ... [13:14:11.711] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.711] Resolving globals: FALSE [13:14:11.711] Tweak future expression to call with '...' arguments ... [13:14:11.711] { [13:14:11.711] do.call(function(...) { [13:14:11.711] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.711] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.711] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.711] on.exit(options(oopts), add = TRUE) [13:14:11.711] } [13:14:11.711] { [13:14:11.711] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.711] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.711] ...future.FUN(...future.X_jj, ...) [13:14:11.711] }) [13:14:11.711] } [13:14:11.711] }, args = future.call.arguments) [13:14:11.711] } [13:14:11.712] Tweak future expression to call with '...' arguments ... DONE [13:14:11.712] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.712] [13:14:11.712] getGlobalsAndPackages() ... DONE [13:14:11.713] run() for 'Future' ... [13:14:11.713] - state: 'created' [13:14:11.713] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.727] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.728] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.728] - Field: 'node' [13:14:11.728] - Field: 'label' [13:14:11.728] - Field: 'local' [13:14:11.728] - Field: 'owner' [13:14:11.729] - Field: 'envir' [13:14:11.729] - Field: 'workers' [13:14:11.729] - Field: 'packages' [13:14:11.729] - Field: 'gc' [13:14:11.729] - Field: 'conditions' [13:14:11.729] - Field: 'persistent' [13:14:11.730] - Field: 'expr' [13:14:11.730] - Field: 'uuid' [13:14:11.730] - Field: 'seed' [13:14:11.730] - Field: 'version' [13:14:11.730] - Field: 'result' [13:14:11.731] - Field: 'asynchronous' [13:14:11.731] - Field: 'calls' [13:14:11.731] - Field: 'globals' [13:14:11.731] - Field: 'stdout' [13:14:11.731] - Field: 'earlySignal' [13:14:11.731] - Field: 'lazy' [13:14:11.732] - Field: 'state' [13:14:11.732] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.732] - Launch lazy future ... [13:14:11.732] Packages needed by the future expression (n = 0): [13:14:11.732] Packages needed by future strategies (n = 0): [13:14:11.733] { [13:14:11.733] { [13:14:11.733] { [13:14:11.733] ...future.startTime <- base::Sys.time() [13:14:11.733] { [13:14:11.733] { [13:14:11.733] { [13:14:11.733] { [13:14:11.733] base::local({ [13:14:11.733] has_future <- base::requireNamespace("future", [13:14:11.733] quietly = TRUE) [13:14:11.733] if (has_future) { [13:14:11.733] ns <- base::getNamespace("future") [13:14:11.733] version <- ns[[".package"]][["version"]] [13:14:11.733] if (is.null(version)) [13:14:11.733] version <- utils::packageVersion("future") [13:14:11.733] } [13:14:11.733] else { [13:14:11.733] version <- NULL [13:14:11.733] } [13:14:11.733] if (!has_future || version < "1.8.0") { [13:14:11.733] info <- base::c(r_version = base::gsub("R version ", [13:14:11.733] "", base::R.version$version.string), [13:14:11.733] platform = base::sprintf("%s (%s-bit)", [13:14:11.733] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.733] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.733] "release", "version")], collapse = " "), [13:14:11.733] hostname = base::Sys.info()[["nodename"]]) [13:14:11.733] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.733] info) [13:14:11.733] info <- base::paste(info, collapse = "; ") [13:14:11.733] if (!has_future) { [13:14:11.733] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.733] info) [13:14:11.733] } [13:14:11.733] else { [13:14:11.733] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.733] info, version) [13:14:11.733] } [13:14:11.733] base::stop(msg) [13:14:11.733] } [13:14:11.733] }) [13:14:11.733] } [13:14:11.733] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.733] base::options(mc.cores = 1L) [13:14:11.733] } [13:14:11.733] options(future.plan = NULL) [13:14:11.733] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.733] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.733] } [13:14:11.733] ...future.workdir <- getwd() [13:14:11.733] } [13:14:11.733] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.733] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.733] } [13:14:11.733] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.733] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.733] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.733] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.733] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.733] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.733] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.733] base::names(...future.oldOptions)) [13:14:11.733] } [13:14:11.733] if (FALSE) { [13:14:11.733] } [13:14:11.733] else { [13:14:11.733] if (TRUE) { [13:14:11.733] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.733] open = "w") [13:14:11.733] } [13:14:11.733] else { [13:14:11.733] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.733] windows = "NUL", "/dev/null"), open = "w") [13:14:11.733] } [13:14:11.733] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.733] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.733] base::sink(type = "output", split = FALSE) [13:14:11.733] base::close(...future.stdout) [13:14:11.733] }, add = TRUE) [13:14:11.733] } [13:14:11.733] ...future.frame <- base::sys.nframe() [13:14:11.733] ...future.conditions <- base::list() [13:14:11.733] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.733] if (FALSE) { [13:14:11.733] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.733] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.733] } [13:14:11.733] ...future.result <- base::tryCatch({ [13:14:11.733] base::withCallingHandlers({ [13:14:11.733] ...future.value <- base::withVisible(base::local({ [13:14:11.733] ...future.makeSendCondition <- local({ [13:14:11.733] sendCondition <- NULL [13:14:11.733] function(frame = 1L) { [13:14:11.733] if (is.function(sendCondition)) [13:14:11.733] return(sendCondition) [13:14:11.733] ns <- getNamespace("parallel") [13:14:11.733] if (exists("sendData", mode = "function", [13:14:11.733] envir = ns)) { [13:14:11.733] parallel_sendData <- get("sendData", mode = "function", [13:14:11.733] envir = ns) [13:14:11.733] envir <- sys.frame(frame) [13:14:11.733] master <- NULL [13:14:11.733] while (!identical(envir, .GlobalEnv) && [13:14:11.733] !identical(envir, emptyenv())) { [13:14:11.733] if (exists("master", mode = "list", envir = envir, [13:14:11.733] inherits = FALSE)) { [13:14:11.733] master <- get("master", mode = "list", [13:14:11.733] envir = envir, inherits = FALSE) [13:14:11.733] if (inherits(master, c("SOCKnode", [13:14:11.733] "SOCK0node"))) { [13:14:11.733] sendCondition <<- function(cond) { [13:14:11.733] data <- list(type = "VALUE", value = cond, [13:14:11.733] success = TRUE) [13:14:11.733] parallel_sendData(master, data) [13:14:11.733] } [13:14:11.733] return(sendCondition) [13:14:11.733] } [13:14:11.733] } [13:14:11.733] frame <- frame + 1L [13:14:11.733] envir <- sys.frame(frame) [13:14:11.733] } [13:14:11.733] } [13:14:11.733] sendCondition <<- function(cond) NULL [13:14:11.733] } [13:14:11.733] }) [13:14:11.733] withCallingHandlers({ [13:14:11.733] { [13:14:11.733] do.call(function(...) { [13:14:11.733] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.733] if (!identical(...future.globals.maxSize.org, [13:14:11.733] ...future.globals.maxSize)) { [13:14:11.733] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.733] on.exit(options(oopts), add = TRUE) [13:14:11.733] } [13:14:11.733] { [13:14:11.733] lapply(seq_along(...future.elements_ii), [13:14:11.733] FUN = function(jj) { [13:14:11.733] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.733] ...future.FUN(...future.X_jj, ...) [13:14:11.733] }) [13:14:11.733] } [13:14:11.733] }, args = future.call.arguments) [13:14:11.733] } [13:14:11.733] }, immediateCondition = function(cond) { [13:14:11.733] sendCondition <- ...future.makeSendCondition() [13:14:11.733] sendCondition(cond) [13:14:11.733] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.733] { [13:14:11.733] inherits <- base::inherits [13:14:11.733] invokeRestart <- base::invokeRestart [13:14:11.733] is.null <- base::is.null [13:14:11.733] muffled <- FALSE [13:14:11.733] if (inherits(cond, "message")) { [13:14:11.733] muffled <- grepl(pattern, "muffleMessage") [13:14:11.733] if (muffled) [13:14:11.733] invokeRestart("muffleMessage") [13:14:11.733] } [13:14:11.733] else if (inherits(cond, "warning")) { [13:14:11.733] muffled <- grepl(pattern, "muffleWarning") [13:14:11.733] if (muffled) [13:14:11.733] invokeRestart("muffleWarning") [13:14:11.733] } [13:14:11.733] else if (inherits(cond, "condition")) { [13:14:11.733] if (!is.null(pattern)) { [13:14:11.733] computeRestarts <- base::computeRestarts [13:14:11.733] grepl <- base::grepl [13:14:11.733] restarts <- computeRestarts(cond) [13:14:11.733] for (restart in restarts) { [13:14:11.733] name <- restart$name [13:14:11.733] if (is.null(name)) [13:14:11.733] next [13:14:11.733] if (!grepl(pattern, name)) [13:14:11.733] next [13:14:11.733] invokeRestart(restart) [13:14:11.733] muffled <- TRUE [13:14:11.733] break [13:14:11.733] } [13:14:11.733] } [13:14:11.733] } [13:14:11.733] invisible(muffled) [13:14:11.733] } [13:14:11.733] muffleCondition(cond) [13:14:11.733] }) [13:14:11.733] })) [13:14:11.733] future::FutureResult(value = ...future.value$value, [13:14:11.733] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.733] ...future.rng), globalenv = if (FALSE) [13:14:11.733] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.733] ...future.globalenv.names)) [13:14:11.733] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.733] }, condition = base::local({ [13:14:11.733] c <- base::c [13:14:11.733] inherits <- base::inherits [13:14:11.733] invokeRestart <- base::invokeRestart [13:14:11.733] length <- base::length [13:14:11.733] list <- base::list [13:14:11.733] seq.int <- base::seq.int [13:14:11.733] signalCondition <- base::signalCondition [13:14:11.733] sys.calls <- base::sys.calls [13:14:11.733] `[[` <- base::`[[` [13:14:11.733] `+` <- base::`+` [13:14:11.733] `<<-` <- base::`<<-` [13:14:11.733] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.733] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.733] 3L)] [13:14:11.733] } [13:14:11.733] function(cond) { [13:14:11.733] is_error <- inherits(cond, "error") [13:14:11.733] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.733] NULL) [13:14:11.733] if (is_error) { [13:14:11.733] sessionInformation <- function() { [13:14:11.733] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.733] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.733] search = base::search(), system = base::Sys.info()) [13:14:11.733] } [13:14:11.733] ...future.conditions[[length(...future.conditions) + [13:14:11.733] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.733] cond$call), session = sessionInformation(), [13:14:11.733] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.733] signalCondition(cond) [13:14:11.733] } [13:14:11.733] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.733] "immediateCondition"))) { [13:14:11.733] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.733] ...future.conditions[[length(...future.conditions) + [13:14:11.733] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.733] if (TRUE && !signal) { [13:14:11.733] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.733] { [13:14:11.733] inherits <- base::inherits [13:14:11.733] invokeRestart <- base::invokeRestart [13:14:11.733] is.null <- base::is.null [13:14:11.733] muffled <- FALSE [13:14:11.733] if (inherits(cond, "message")) { [13:14:11.733] muffled <- grepl(pattern, "muffleMessage") [13:14:11.733] if (muffled) [13:14:11.733] invokeRestart("muffleMessage") [13:14:11.733] } [13:14:11.733] else if (inherits(cond, "warning")) { [13:14:11.733] muffled <- grepl(pattern, "muffleWarning") [13:14:11.733] if (muffled) [13:14:11.733] invokeRestart("muffleWarning") [13:14:11.733] } [13:14:11.733] else if (inherits(cond, "condition")) { [13:14:11.733] if (!is.null(pattern)) { [13:14:11.733] computeRestarts <- base::computeRestarts [13:14:11.733] grepl <- base::grepl [13:14:11.733] restarts <- computeRestarts(cond) [13:14:11.733] for (restart in restarts) { [13:14:11.733] name <- restart$name [13:14:11.733] if (is.null(name)) [13:14:11.733] next [13:14:11.733] if (!grepl(pattern, name)) [13:14:11.733] next [13:14:11.733] invokeRestart(restart) [13:14:11.733] muffled <- TRUE [13:14:11.733] break [13:14:11.733] } [13:14:11.733] } [13:14:11.733] } [13:14:11.733] invisible(muffled) [13:14:11.733] } [13:14:11.733] muffleCondition(cond, pattern = "^muffle") [13:14:11.733] } [13:14:11.733] } [13:14:11.733] else { [13:14:11.733] if (TRUE) { [13:14:11.733] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.733] { [13:14:11.733] inherits <- base::inherits [13:14:11.733] invokeRestart <- base::invokeRestart [13:14:11.733] is.null <- base::is.null [13:14:11.733] muffled <- FALSE [13:14:11.733] if (inherits(cond, "message")) { [13:14:11.733] muffled <- grepl(pattern, "muffleMessage") [13:14:11.733] if (muffled) [13:14:11.733] invokeRestart("muffleMessage") [13:14:11.733] } [13:14:11.733] else if (inherits(cond, "warning")) { [13:14:11.733] muffled <- grepl(pattern, "muffleWarning") [13:14:11.733] if (muffled) [13:14:11.733] invokeRestart("muffleWarning") [13:14:11.733] } [13:14:11.733] else if (inherits(cond, "condition")) { [13:14:11.733] if (!is.null(pattern)) { [13:14:11.733] computeRestarts <- base::computeRestarts [13:14:11.733] grepl <- base::grepl [13:14:11.733] restarts <- computeRestarts(cond) [13:14:11.733] for (restart in restarts) { [13:14:11.733] name <- restart$name [13:14:11.733] if (is.null(name)) [13:14:11.733] next [13:14:11.733] if (!grepl(pattern, name)) [13:14:11.733] next [13:14:11.733] invokeRestart(restart) [13:14:11.733] muffled <- TRUE [13:14:11.733] break [13:14:11.733] } [13:14:11.733] } [13:14:11.733] } [13:14:11.733] invisible(muffled) [13:14:11.733] } [13:14:11.733] muffleCondition(cond, pattern = "^muffle") [13:14:11.733] } [13:14:11.733] } [13:14:11.733] } [13:14:11.733] })) [13:14:11.733] }, error = function(ex) { [13:14:11.733] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.733] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.733] ...future.rng), started = ...future.startTime, [13:14:11.733] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.733] version = "1.8"), class = "FutureResult") [13:14:11.733] }, finally = { [13:14:11.733] if (!identical(...future.workdir, getwd())) [13:14:11.733] setwd(...future.workdir) [13:14:11.733] { [13:14:11.733] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.733] ...future.oldOptions$nwarnings <- NULL [13:14:11.733] } [13:14:11.733] base::options(...future.oldOptions) [13:14:11.733] if (.Platform$OS.type == "windows") { [13:14:11.733] old_names <- names(...future.oldEnvVars) [13:14:11.733] envs <- base::Sys.getenv() [13:14:11.733] names <- names(envs) [13:14:11.733] common <- intersect(names, old_names) [13:14:11.733] added <- setdiff(names, old_names) [13:14:11.733] removed <- setdiff(old_names, names) [13:14:11.733] changed <- common[...future.oldEnvVars[common] != [13:14:11.733] envs[common]] [13:14:11.733] NAMES <- toupper(changed) [13:14:11.733] args <- list() [13:14:11.733] for (kk in seq_along(NAMES)) { [13:14:11.733] name <- changed[[kk]] [13:14:11.733] NAME <- NAMES[[kk]] [13:14:11.733] if (name != NAME && is.element(NAME, old_names)) [13:14:11.733] next [13:14:11.733] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.733] } [13:14:11.733] NAMES <- toupper(added) [13:14:11.733] for (kk in seq_along(NAMES)) { [13:14:11.733] name <- added[[kk]] [13:14:11.733] NAME <- NAMES[[kk]] [13:14:11.733] if (name != NAME && is.element(NAME, old_names)) [13:14:11.733] next [13:14:11.733] args[[name]] <- "" [13:14:11.733] } [13:14:11.733] NAMES <- toupper(removed) [13:14:11.733] for (kk in seq_along(NAMES)) { [13:14:11.733] name <- removed[[kk]] [13:14:11.733] NAME <- NAMES[[kk]] [13:14:11.733] if (name != NAME && is.element(NAME, old_names)) [13:14:11.733] next [13:14:11.733] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.733] } [13:14:11.733] if (length(args) > 0) [13:14:11.733] base::do.call(base::Sys.setenv, args = args) [13:14:11.733] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.733] } [13:14:11.733] else { [13:14:11.733] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.733] } [13:14:11.733] { [13:14:11.733] if (base::length(...future.futureOptionsAdded) > [13:14:11.733] 0L) { [13:14:11.733] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.733] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.733] base::options(opts) [13:14:11.733] } [13:14:11.733] { [13:14:11.733] { [13:14:11.733] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.733] NULL [13:14:11.733] } [13:14:11.733] options(future.plan = NULL) [13:14:11.733] if (is.na(NA_character_)) [13:14:11.733] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.733] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.733] future::plan(list(function (..., workers = availableCores(), [13:14:11.733] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.733] envir = parent.frame()) [13:14:11.733] { [13:14:11.733] if (is.function(workers)) [13:14:11.733] workers <- workers() [13:14:11.733] workers <- structure(as.integer(workers), [13:14:11.733] class = class(workers)) [13:14:11.733] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.733] workers >= 1) [13:14:11.733] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.733] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.733] } [13:14:11.733] future <- MultisessionFuture(..., workers = workers, [13:14:11.733] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.733] envir = envir) [13:14:11.733] if (!future$lazy) [13:14:11.733] future <- run(future) [13:14:11.733] invisible(future) [13:14:11.733] }), .cleanup = FALSE, .init = FALSE) [13:14:11.733] } [13:14:11.733] } [13:14:11.733] } [13:14:11.733] }) [13:14:11.733] if (TRUE) { [13:14:11.733] base::sink(type = "output", split = FALSE) [13:14:11.733] if (TRUE) { [13:14:11.733] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.733] } [13:14:11.733] else { [13:14:11.733] ...future.result["stdout"] <- base::list(NULL) [13:14:11.733] } [13:14:11.733] base::close(...future.stdout) [13:14:11.733] ...future.stdout <- NULL [13:14:11.733] } [13:14:11.733] ...future.result$conditions <- ...future.conditions [13:14:11.733] ...future.result$finished <- base::Sys.time() [13:14:11.733] ...future.result [13:14:11.733] } [13:14:11.738] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:11.739] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:11.739] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:11.739] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.740] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.740] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.740] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.741] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.741] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.741] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.742] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.742] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:11.743] MultisessionFuture started [13:14:11.743] - Launch lazy future ... done [13:14:11.743] run() for 'MultisessionFuture' ... done [13:14:11.743] Created future: [13:14:11.758] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.759] - Validating connection of MultisessionFuture [13:14:11.759] - received message: FutureResult [13:14:11.759] - Received FutureResult [13:14:11.759] - Erased future from FutureRegistry [13:14:11.759] result() for ClusterFuture ... [13:14:11.759] - result already collected: FutureResult [13:14:11.760] result() for ClusterFuture ... done [13:14:11.760] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.743] MultisessionFuture: [13:14:11.743] Label: 'future_sapply-1' [13:14:11.743] Expression: [13:14:11.743] { [13:14:11.743] do.call(function(...) { [13:14:11.743] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.743] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.743] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.743] on.exit(options(oopts), add = TRUE) [13:14:11.743] } [13:14:11.743] { [13:14:11.743] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.743] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.743] ...future.FUN(...future.X_jj, ...) [13:14:11.743] }) [13:14:11.743] } [13:14:11.743] }, args = future.call.arguments) [13:14:11.743] } [13:14:11.743] Lazy evaluation: FALSE [13:14:11.743] Asynchronous evaluation: TRUE [13:14:11.743] Local evaluation: TRUE [13:14:11.743] Environment: R_GlobalEnv [13:14:11.743] Capture standard output: TRUE [13:14:11.743] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.743] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.743] Packages: [13:14:11.743] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.743] Resolved: TRUE [13:14:11.743] Value: [13:14:11.743] Conditions captured: [13:14:11.743] Early signaling: FALSE [13:14:11.743] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.743] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.760] Chunk #1 of 2 ... DONE [13:14:11.760] Chunk #2 of 2 ... [13:14:11.761] - Finding globals in 'X' for chunk #2 ... [13:14:11.761] getGlobalsAndPackages() ... [13:14:11.761] Searching for globals... [13:14:11.761] [13:14:11.761] Searching for globals ... DONE [13:14:11.762] - globals: [0] [13:14:11.762] getGlobalsAndPackages() ... DONE [13:14:11.762] + additional globals found: [n=0] [13:14:11.762] + additional namespaces needed: [n=0] [13:14:11.762] - Finding globals in 'X' for chunk #2 ... DONE [13:14:11.762] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.763] - seeds: [13:14:11.763] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.763] getGlobalsAndPackages() ... [13:14:11.763] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.763] Resolving globals: FALSE [13:14:11.763] Tweak future expression to call with '...' arguments ... [13:14:11.764] { [13:14:11.764] do.call(function(...) { [13:14:11.764] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.764] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.764] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.764] on.exit(options(oopts), add = TRUE) [13:14:11.764] } [13:14:11.764] { [13:14:11.764] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.764] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.764] ...future.FUN(...future.X_jj, ...) [13:14:11.764] }) [13:14:11.764] } [13:14:11.764] }, args = future.call.arguments) [13:14:11.764] } [13:14:11.764] Tweak future expression to call with '...' arguments ... DONE [13:14:11.764] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.765] [13:14:11.765] getGlobalsAndPackages() ... DONE [13:14:11.765] run() for 'Future' ... [13:14:11.765] - state: 'created' [13:14:11.766] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.779] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.780] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.780] - Field: 'node' [13:14:11.780] - Field: 'label' [13:14:11.780] - Field: 'local' [13:14:11.780] - Field: 'owner' [13:14:11.781] - Field: 'envir' [13:14:11.781] - Field: 'workers' [13:14:11.781] - Field: 'packages' [13:14:11.781] - Field: 'gc' [13:14:11.781] - Field: 'conditions' [13:14:11.781] - Field: 'persistent' [13:14:11.782] - Field: 'expr' [13:14:11.782] - Field: 'uuid' [13:14:11.782] - Field: 'seed' [13:14:11.782] - Field: 'version' [13:14:11.782] - Field: 'result' [13:14:11.782] - Field: 'asynchronous' [13:14:11.783] - Field: 'calls' [13:14:11.783] - Field: 'globals' [13:14:11.783] - Field: 'stdout' [13:14:11.783] - Field: 'earlySignal' [13:14:11.783] - Field: 'lazy' [13:14:11.784] - Field: 'state' [13:14:11.784] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.784] - Launch lazy future ... [13:14:11.784] Packages needed by the future expression (n = 0): [13:14:11.785] Packages needed by future strategies (n = 0): [13:14:11.785] { [13:14:11.785] { [13:14:11.785] { [13:14:11.785] ...future.startTime <- base::Sys.time() [13:14:11.785] { [13:14:11.785] { [13:14:11.785] { [13:14:11.785] { [13:14:11.785] base::local({ [13:14:11.785] has_future <- base::requireNamespace("future", [13:14:11.785] quietly = TRUE) [13:14:11.785] if (has_future) { [13:14:11.785] ns <- base::getNamespace("future") [13:14:11.785] version <- ns[[".package"]][["version"]] [13:14:11.785] if (is.null(version)) [13:14:11.785] version <- utils::packageVersion("future") [13:14:11.785] } [13:14:11.785] else { [13:14:11.785] version <- NULL [13:14:11.785] } [13:14:11.785] if (!has_future || version < "1.8.0") { [13:14:11.785] info <- base::c(r_version = base::gsub("R version ", [13:14:11.785] "", base::R.version$version.string), [13:14:11.785] platform = base::sprintf("%s (%s-bit)", [13:14:11.785] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.785] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.785] "release", "version")], collapse = " "), [13:14:11.785] hostname = base::Sys.info()[["nodename"]]) [13:14:11.785] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.785] info) [13:14:11.785] info <- base::paste(info, collapse = "; ") [13:14:11.785] if (!has_future) { [13:14:11.785] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.785] info) [13:14:11.785] } [13:14:11.785] else { [13:14:11.785] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.785] info, version) [13:14:11.785] } [13:14:11.785] base::stop(msg) [13:14:11.785] } [13:14:11.785] }) [13:14:11.785] } [13:14:11.785] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.785] base::options(mc.cores = 1L) [13:14:11.785] } [13:14:11.785] options(future.plan = NULL) [13:14:11.785] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.785] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.785] } [13:14:11.785] ...future.workdir <- getwd() [13:14:11.785] } [13:14:11.785] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.785] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.785] } [13:14:11.785] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.785] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.785] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.785] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.785] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.785] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.785] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.785] base::names(...future.oldOptions)) [13:14:11.785] } [13:14:11.785] if (FALSE) { [13:14:11.785] } [13:14:11.785] else { [13:14:11.785] if (TRUE) { [13:14:11.785] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.785] open = "w") [13:14:11.785] } [13:14:11.785] else { [13:14:11.785] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.785] windows = "NUL", "/dev/null"), open = "w") [13:14:11.785] } [13:14:11.785] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.785] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.785] base::sink(type = "output", split = FALSE) [13:14:11.785] base::close(...future.stdout) [13:14:11.785] }, add = TRUE) [13:14:11.785] } [13:14:11.785] ...future.frame <- base::sys.nframe() [13:14:11.785] ...future.conditions <- base::list() [13:14:11.785] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.785] if (FALSE) { [13:14:11.785] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.785] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.785] } [13:14:11.785] ...future.result <- base::tryCatch({ [13:14:11.785] base::withCallingHandlers({ [13:14:11.785] ...future.value <- base::withVisible(base::local({ [13:14:11.785] ...future.makeSendCondition <- local({ [13:14:11.785] sendCondition <- NULL [13:14:11.785] function(frame = 1L) { [13:14:11.785] if (is.function(sendCondition)) [13:14:11.785] return(sendCondition) [13:14:11.785] ns <- getNamespace("parallel") [13:14:11.785] if (exists("sendData", mode = "function", [13:14:11.785] envir = ns)) { [13:14:11.785] parallel_sendData <- get("sendData", mode = "function", [13:14:11.785] envir = ns) [13:14:11.785] envir <- sys.frame(frame) [13:14:11.785] master <- NULL [13:14:11.785] while (!identical(envir, .GlobalEnv) && [13:14:11.785] !identical(envir, emptyenv())) { [13:14:11.785] if (exists("master", mode = "list", envir = envir, [13:14:11.785] inherits = FALSE)) { [13:14:11.785] master <- get("master", mode = "list", [13:14:11.785] envir = envir, inherits = FALSE) [13:14:11.785] if (inherits(master, c("SOCKnode", [13:14:11.785] "SOCK0node"))) { [13:14:11.785] sendCondition <<- function(cond) { [13:14:11.785] data <- list(type = "VALUE", value = cond, [13:14:11.785] success = TRUE) [13:14:11.785] parallel_sendData(master, data) [13:14:11.785] } [13:14:11.785] return(sendCondition) [13:14:11.785] } [13:14:11.785] } [13:14:11.785] frame <- frame + 1L [13:14:11.785] envir <- sys.frame(frame) [13:14:11.785] } [13:14:11.785] } [13:14:11.785] sendCondition <<- function(cond) NULL [13:14:11.785] } [13:14:11.785] }) [13:14:11.785] withCallingHandlers({ [13:14:11.785] { [13:14:11.785] do.call(function(...) { [13:14:11.785] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.785] if (!identical(...future.globals.maxSize.org, [13:14:11.785] ...future.globals.maxSize)) { [13:14:11.785] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.785] on.exit(options(oopts), add = TRUE) [13:14:11.785] } [13:14:11.785] { [13:14:11.785] lapply(seq_along(...future.elements_ii), [13:14:11.785] FUN = function(jj) { [13:14:11.785] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.785] ...future.FUN(...future.X_jj, ...) [13:14:11.785] }) [13:14:11.785] } [13:14:11.785] }, args = future.call.arguments) [13:14:11.785] } [13:14:11.785] }, immediateCondition = function(cond) { [13:14:11.785] sendCondition <- ...future.makeSendCondition() [13:14:11.785] sendCondition(cond) [13:14:11.785] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.785] { [13:14:11.785] inherits <- base::inherits [13:14:11.785] invokeRestart <- base::invokeRestart [13:14:11.785] is.null <- base::is.null [13:14:11.785] muffled <- FALSE [13:14:11.785] if (inherits(cond, "message")) { [13:14:11.785] muffled <- grepl(pattern, "muffleMessage") [13:14:11.785] if (muffled) [13:14:11.785] invokeRestart("muffleMessage") [13:14:11.785] } [13:14:11.785] else if (inherits(cond, "warning")) { [13:14:11.785] muffled <- grepl(pattern, "muffleWarning") [13:14:11.785] if (muffled) [13:14:11.785] invokeRestart("muffleWarning") [13:14:11.785] } [13:14:11.785] else if (inherits(cond, "condition")) { [13:14:11.785] if (!is.null(pattern)) { [13:14:11.785] computeRestarts <- base::computeRestarts [13:14:11.785] grepl <- base::grepl [13:14:11.785] restarts <- computeRestarts(cond) [13:14:11.785] for (restart in restarts) { [13:14:11.785] name <- restart$name [13:14:11.785] if (is.null(name)) [13:14:11.785] next [13:14:11.785] if (!grepl(pattern, name)) [13:14:11.785] next [13:14:11.785] invokeRestart(restart) [13:14:11.785] muffled <- TRUE [13:14:11.785] break [13:14:11.785] } [13:14:11.785] } [13:14:11.785] } [13:14:11.785] invisible(muffled) [13:14:11.785] } [13:14:11.785] muffleCondition(cond) [13:14:11.785] }) [13:14:11.785] })) [13:14:11.785] future::FutureResult(value = ...future.value$value, [13:14:11.785] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.785] ...future.rng), globalenv = if (FALSE) [13:14:11.785] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.785] ...future.globalenv.names)) [13:14:11.785] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.785] }, condition = base::local({ [13:14:11.785] c <- base::c [13:14:11.785] inherits <- base::inherits [13:14:11.785] invokeRestart <- base::invokeRestart [13:14:11.785] length <- base::length [13:14:11.785] list <- base::list [13:14:11.785] seq.int <- base::seq.int [13:14:11.785] signalCondition <- base::signalCondition [13:14:11.785] sys.calls <- base::sys.calls [13:14:11.785] `[[` <- base::`[[` [13:14:11.785] `+` <- base::`+` [13:14:11.785] `<<-` <- base::`<<-` [13:14:11.785] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.785] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.785] 3L)] [13:14:11.785] } [13:14:11.785] function(cond) { [13:14:11.785] is_error <- inherits(cond, "error") [13:14:11.785] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.785] NULL) [13:14:11.785] if (is_error) { [13:14:11.785] sessionInformation <- function() { [13:14:11.785] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.785] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.785] search = base::search(), system = base::Sys.info()) [13:14:11.785] } [13:14:11.785] ...future.conditions[[length(...future.conditions) + [13:14:11.785] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.785] cond$call), session = sessionInformation(), [13:14:11.785] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.785] signalCondition(cond) [13:14:11.785] } [13:14:11.785] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.785] "immediateCondition"))) { [13:14:11.785] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.785] ...future.conditions[[length(...future.conditions) + [13:14:11.785] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.785] if (TRUE && !signal) { [13:14:11.785] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.785] { [13:14:11.785] inherits <- base::inherits [13:14:11.785] invokeRestart <- base::invokeRestart [13:14:11.785] is.null <- base::is.null [13:14:11.785] muffled <- FALSE [13:14:11.785] if (inherits(cond, "message")) { [13:14:11.785] muffled <- grepl(pattern, "muffleMessage") [13:14:11.785] if (muffled) [13:14:11.785] invokeRestart("muffleMessage") [13:14:11.785] } [13:14:11.785] else if (inherits(cond, "warning")) { [13:14:11.785] muffled <- grepl(pattern, "muffleWarning") [13:14:11.785] if (muffled) [13:14:11.785] invokeRestart("muffleWarning") [13:14:11.785] } [13:14:11.785] else if (inherits(cond, "condition")) { [13:14:11.785] if (!is.null(pattern)) { [13:14:11.785] computeRestarts <- base::computeRestarts [13:14:11.785] grepl <- base::grepl [13:14:11.785] restarts <- computeRestarts(cond) [13:14:11.785] for (restart in restarts) { [13:14:11.785] name <- restart$name [13:14:11.785] if (is.null(name)) [13:14:11.785] next [13:14:11.785] if (!grepl(pattern, name)) [13:14:11.785] next [13:14:11.785] invokeRestart(restart) [13:14:11.785] muffled <- TRUE [13:14:11.785] break [13:14:11.785] } [13:14:11.785] } [13:14:11.785] } [13:14:11.785] invisible(muffled) [13:14:11.785] } [13:14:11.785] muffleCondition(cond, pattern = "^muffle") [13:14:11.785] } [13:14:11.785] } [13:14:11.785] else { [13:14:11.785] if (TRUE) { [13:14:11.785] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.785] { [13:14:11.785] inherits <- base::inherits [13:14:11.785] invokeRestart <- base::invokeRestart [13:14:11.785] is.null <- base::is.null [13:14:11.785] muffled <- FALSE [13:14:11.785] if (inherits(cond, "message")) { [13:14:11.785] muffled <- grepl(pattern, "muffleMessage") [13:14:11.785] if (muffled) [13:14:11.785] invokeRestart("muffleMessage") [13:14:11.785] } [13:14:11.785] else if (inherits(cond, "warning")) { [13:14:11.785] muffled <- grepl(pattern, "muffleWarning") [13:14:11.785] if (muffled) [13:14:11.785] invokeRestart("muffleWarning") [13:14:11.785] } [13:14:11.785] else if (inherits(cond, "condition")) { [13:14:11.785] if (!is.null(pattern)) { [13:14:11.785] computeRestarts <- base::computeRestarts [13:14:11.785] grepl <- base::grepl [13:14:11.785] restarts <- computeRestarts(cond) [13:14:11.785] for (restart in restarts) { [13:14:11.785] name <- restart$name [13:14:11.785] if (is.null(name)) [13:14:11.785] next [13:14:11.785] if (!grepl(pattern, name)) [13:14:11.785] next [13:14:11.785] invokeRestart(restart) [13:14:11.785] muffled <- TRUE [13:14:11.785] break [13:14:11.785] } [13:14:11.785] } [13:14:11.785] } [13:14:11.785] invisible(muffled) [13:14:11.785] } [13:14:11.785] muffleCondition(cond, pattern = "^muffle") [13:14:11.785] } [13:14:11.785] } [13:14:11.785] } [13:14:11.785] })) [13:14:11.785] }, error = function(ex) { [13:14:11.785] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.785] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.785] ...future.rng), started = ...future.startTime, [13:14:11.785] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.785] version = "1.8"), class = "FutureResult") [13:14:11.785] }, finally = { [13:14:11.785] if (!identical(...future.workdir, getwd())) [13:14:11.785] setwd(...future.workdir) [13:14:11.785] { [13:14:11.785] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.785] ...future.oldOptions$nwarnings <- NULL [13:14:11.785] } [13:14:11.785] base::options(...future.oldOptions) [13:14:11.785] if (.Platform$OS.type == "windows") { [13:14:11.785] old_names <- names(...future.oldEnvVars) [13:14:11.785] envs <- base::Sys.getenv() [13:14:11.785] names <- names(envs) [13:14:11.785] common <- intersect(names, old_names) [13:14:11.785] added <- setdiff(names, old_names) [13:14:11.785] removed <- setdiff(old_names, names) [13:14:11.785] changed <- common[...future.oldEnvVars[common] != [13:14:11.785] envs[common]] [13:14:11.785] NAMES <- toupper(changed) [13:14:11.785] args <- list() [13:14:11.785] for (kk in seq_along(NAMES)) { [13:14:11.785] name <- changed[[kk]] [13:14:11.785] NAME <- NAMES[[kk]] [13:14:11.785] if (name != NAME && is.element(NAME, old_names)) [13:14:11.785] next [13:14:11.785] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.785] } [13:14:11.785] NAMES <- toupper(added) [13:14:11.785] for (kk in seq_along(NAMES)) { [13:14:11.785] name <- added[[kk]] [13:14:11.785] NAME <- NAMES[[kk]] [13:14:11.785] if (name != NAME && is.element(NAME, old_names)) [13:14:11.785] next [13:14:11.785] args[[name]] <- "" [13:14:11.785] } [13:14:11.785] NAMES <- toupper(removed) [13:14:11.785] for (kk in seq_along(NAMES)) { [13:14:11.785] name <- removed[[kk]] [13:14:11.785] NAME <- NAMES[[kk]] [13:14:11.785] if (name != NAME && is.element(NAME, old_names)) [13:14:11.785] next [13:14:11.785] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.785] } [13:14:11.785] if (length(args) > 0) [13:14:11.785] base::do.call(base::Sys.setenv, args = args) [13:14:11.785] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.785] } [13:14:11.785] else { [13:14:11.785] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.785] } [13:14:11.785] { [13:14:11.785] if (base::length(...future.futureOptionsAdded) > [13:14:11.785] 0L) { [13:14:11.785] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.785] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.785] base::options(opts) [13:14:11.785] } [13:14:11.785] { [13:14:11.785] { [13:14:11.785] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.785] NULL [13:14:11.785] } [13:14:11.785] options(future.plan = NULL) [13:14:11.785] if (is.na(NA_character_)) [13:14:11.785] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.785] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.785] future::plan(list(function (..., workers = availableCores(), [13:14:11.785] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.785] envir = parent.frame()) [13:14:11.785] { [13:14:11.785] if (is.function(workers)) [13:14:11.785] workers <- workers() [13:14:11.785] workers <- structure(as.integer(workers), [13:14:11.785] class = class(workers)) [13:14:11.785] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.785] workers >= 1) [13:14:11.785] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.785] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.785] } [13:14:11.785] future <- MultisessionFuture(..., workers = workers, [13:14:11.785] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.785] envir = envir) [13:14:11.785] if (!future$lazy) [13:14:11.785] future <- run(future) [13:14:11.785] invisible(future) [13:14:11.785] }), .cleanup = FALSE, .init = FALSE) [13:14:11.785] } [13:14:11.785] } [13:14:11.785] } [13:14:11.785] }) [13:14:11.785] if (TRUE) { [13:14:11.785] base::sink(type = "output", split = FALSE) [13:14:11.785] if (TRUE) { [13:14:11.785] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.785] } [13:14:11.785] else { [13:14:11.785] ...future.result["stdout"] <- base::list(NULL) [13:14:11.785] } [13:14:11.785] base::close(...future.stdout) [13:14:11.785] ...future.stdout <- NULL [13:14:11.785] } [13:14:11.785] ...future.result$conditions <- ...future.conditions [13:14:11.785] ...future.result$finished <- base::Sys.time() [13:14:11.785] ...future.result [13:14:11.785] } [13:14:11.791] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:11.791] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:11.791] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:11.792] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.792] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.792] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.793] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.793] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.793] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.794] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.794] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.794] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:11.795] MultisessionFuture started [13:14:11.795] - Launch lazy future ... done [13:14:11.795] run() for 'MultisessionFuture' ... done [13:14:11.795] Created future: [13:14:11.811] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.812] - Validating connection of MultisessionFuture [13:14:11.812] - received message: FutureResult [13:14:11.812] - Received FutureResult [13:14:11.812] - Erased future from FutureRegistry [13:14:11.813] result() for ClusterFuture ... [13:14:11.813] - result already collected: FutureResult [13:14:11.813] result() for ClusterFuture ... done [13:14:11.813] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.796] MultisessionFuture: [13:14:11.796] Label: 'future_sapply-2' [13:14:11.796] Expression: [13:14:11.796] { [13:14:11.796] do.call(function(...) { [13:14:11.796] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.796] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.796] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.796] on.exit(options(oopts), add = TRUE) [13:14:11.796] } [13:14:11.796] { [13:14:11.796] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.796] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.796] ...future.FUN(...future.X_jj, ...) [13:14:11.796] }) [13:14:11.796] } [13:14:11.796] }, args = future.call.arguments) [13:14:11.796] } [13:14:11.796] Lazy evaluation: FALSE [13:14:11.796] Asynchronous evaluation: TRUE [13:14:11.796] Local evaluation: TRUE [13:14:11.796] Environment: R_GlobalEnv [13:14:11.796] Capture standard output: TRUE [13:14:11.796] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.796] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.796] Packages: [13:14:11.796] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.796] Resolved: TRUE [13:14:11.796] Value: [13:14:11.796] Conditions captured: [13:14:11.796] Early signaling: FALSE [13:14:11.796] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.796] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.813] Chunk #2 of 2 ... DONE [13:14:11.814] Launching 2 futures (chunks) ... DONE [13:14:11.814] Resolving 2 futures (chunks) ... [13:14:11.814] resolve() on list ... [13:14:11.814] recursive: 0 [13:14:11.814] length: 2 [13:14:11.814] [13:14:11.815] Future #1 [13:14:11.815] result() for ClusterFuture ... [13:14:11.815] - result already collected: FutureResult [13:14:11.815] result() for ClusterFuture ... done [13:14:11.815] result() for ClusterFuture ... [13:14:11.815] - result already collected: FutureResult [13:14:11.816] result() for ClusterFuture ... done [13:14:11.816] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:11.816] - nx: 2 [13:14:11.816] - relay: TRUE [13:14:11.816] - stdout: TRUE [13:14:11.816] - signal: TRUE [13:14:11.816] - resignal: FALSE [13:14:11.817] - force: TRUE [13:14:11.817] - relayed: [n=2] FALSE, FALSE [13:14:11.817] - queued futures: [n=2] FALSE, FALSE [13:14:11.817] - until=1 [13:14:11.817] - relaying element #1 [13:14:11.817] result() for ClusterFuture ... [13:14:11.818] - result already collected: FutureResult [13:14:11.818] result() for ClusterFuture ... done [13:14:11.818] result() for ClusterFuture ... [13:14:11.818] - result already collected: FutureResult [13:14:11.818] result() for ClusterFuture ... done [13:14:11.818] result() for ClusterFuture ... [13:14:11.819] - result already collected: FutureResult [13:14:11.819] result() for ClusterFuture ... done [13:14:11.819] result() for ClusterFuture ... [13:14:11.819] - result already collected: FutureResult [13:14:11.819] result() for ClusterFuture ... done [13:14:11.819] - relayed: [n=2] TRUE, FALSE [13:14:11.819] - queued futures: [n=2] TRUE, FALSE [13:14:11.820] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:11.820] length: 1 (resolved future 1) [13:14:11.820] Future #2 [13:14:11.820] result() for ClusterFuture ... [13:14:11.820] - result already collected: FutureResult [13:14:11.820] result() for ClusterFuture ... done [13:14:11.821] result() for ClusterFuture ... [13:14:11.821] - result already collected: FutureResult [13:14:11.821] result() for ClusterFuture ... done [13:14:11.821] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:11.821] - nx: 2 [13:14:11.821] - relay: TRUE [13:14:11.822] - stdout: TRUE [13:14:11.822] - signal: TRUE [13:14:11.822] - resignal: FALSE [13:14:11.822] - force: TRUE [13:14:11.822] - relayed: [n=2] TRUE, FALSE [13:14:11.822] - queued futures: [n=2] TRUE, FALSE [13:14:11.822] - until=2 [13:14:11.823] - relaying element #2 [13:14:11.823] result() for ClusterFuture ... [13:14:11.823] - result already collected: FutureResult [13:14:11.823] result() for ClusterFuture ... done [13:14:11.823] result() for ClusterFuture ... [13:14:11.823] - result already collected: FutureResult [13:14:11.824] result() for ClusterFuture ... done [13:14:11.824] result() for ClusterFuture ... [13:14:11.824] - result already collected: FutureResult [13:14:11.824] result() for ClusterFuture ... done [13:14:11.824] result() for ClusterFuture ... [13:14:11.824] - result already collected: FutureResult [13:14:11.825] result() for ClusterFuture ... done [13:14:11.825] - relayed: [n=2] TRUE, TRUE [13:14:11.825] - queued futures: [n=2] TRUE, TRUE [13:14:11.825] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:11.825] length: 0 (resolved future 2) [13:14:11.825] Relaying remaining futures [13:14:11.825] signalConditionsASAP(NULL, pos=0) ... [13:14:11.826] - nx: 2 [13:14:11.826] - relay: TRUE [13:14:11.826] - stdout: TRUE [13:14:11.826] - signal: TRUE [13:14:11.826] - resignal: FALSE [13:14:11.826] - force: TRUE [13:14:11.827] - relayed: [n=2] TRUE, TRUE [13:14:11.827] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:11.827] - relayed: [n=2] TRUE, TRUE [13:14:11.827] - queued futures: [n=2] TRUE, TRUE [13:14:11.827] signalConditionsASAP(NULL, pos=0) ... done [13:14:11.827] resolve() on list ... DONE [13:14:11.828] result() for ClusterFuture ... [13:14:11.828] - result already collected: FutureResult [13:14:11.828] result() for ClusterFuture ... done [13:14:11.828] result() for ClusterFuture ... [13:14:11.828] - result already collected: FutureResult [13:14:11.828] result() for ClusterFuture ... done [13:14:11.829] result() for ClusterFuture ... [13:14:11.829] - result already collected: FutureResult [13:14:11.829] result() for ClusterFuture ... done [13:14:11.829] result() for ClusterFuture ... [13:14:11.829] - result already collected: FutureResult [13:14:11.829] result() for ClusterFuture ... done [13:14:11.829] - Number of value chunks collected: 2 [13:14:11.830] Resolving 2 futures (chunks) ... DONE [13:14:11.830] Reducing values from 2 chunks ... [13:14:11.830] - Number of values collected after concatenation: 4 [13:14:11.830] - Number of values expected: 4 [13:14:11.830] Reducing values from 2 chunks ... DONE [13:14:11.830] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y1:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y2:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... [13:14:11.840] future_lapply() ... [13:14:11.842] Number of chunks: 2 [13:14:11.843] getGlobalsAndPackagesXApply() ... [13:14:11.843] - future.globals: TRUE [13:14:11.843] getGlobalsAndPackages() ... [13:14:11.843] Searching for globals... [13:14:11.844] - globals found: [1] 'FUN' [13:14:11.845] Searching for globals ... DONE [13:14:11.845] Resolving globals: FALSE [13:14:11.845] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:11.848] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:11.848] - globals: [1] 'FUN' [13:14:11.849] [13:14:11.849] getGlobalsAndPackages() ... DONE [13:14:11.849] - globals found/used: [n=1] 'FUN' [13:14:11.849] - needed namespaces: [n=0] [13:14:11.849] Finding globals ... DONE [13:14:11.850] - use_args: TRUE [13:14:11.850] - Getting '...' globals ... [13:14:11.850] resolve() on list ... [13:14:11.850] recursive: 0 [13:14:11.850] length: 1 [13:14:11.851] elements: '...' [13:14:11.851] length: 0 (resolved future 1) [13:14:11.851] resolve() on list ... DONE [13:14:11.851] - '...' content: [n=0] [13:14:11.851] List of 1 [13:14:11.851] $ ...: list() [13:14:11.851] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.851] - attr(*, "where")=List of 1 [13:14:11.851] ..$ ...: [13:14:11.851] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.851] - attr(*, "resolved")= logi TRUE [13:14:11.851] - attr(*, "total_size")= num NA [13:14:11.854] - Getting '...' globals ... DONE [13:14:11.855] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:11.855] List of 2 [13:14:11.855] $ ...future.FUN:function (x) [13:14:11.855] $ ... : list() [13:14:11.855] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.855] - attr(*, "where")=List of 2 [13:14:11.855] ..$ ...future.FUN: [13:14:11.855] ..$ ... : [13:14:11.855] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.855] - attr(*, "resolved")= logi FALSE [13:14:11.855] - attr(*, "total_size")= num 848 [13:14:11.858] Packages to be attached in all futures: [n=0] [13:14:11.858] getGlobalsAndPackagesXApply() ... DONE [13:14:11.858] Number of futures (= number of chunks): 2 [13:14:11.859] Launching 2 futures (chunks) ... [13:14:11.859] Chunk #1 of 2 ... [13:14:11.859] - Finding globals in 'X' for chunk #1 ... [13:14:11.859] getGlobalsAndPackages() ... [13:14:11.859] Searching for globals... [13:14:11.860] [13:14:11.860] Searching for globals ... DONE [13:14:11.860] - globals: [0] [13:14:11.860] getGlobalsAndPackages() ... DONE [13:14:11.860] + additional globals found: [n=0] [13:14:11.860] + additional namespaces needed: [n=0] [13:14:11.861] - Finding globals in 'X' for chunk #1 ... DONE [13:14:11.861] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.861] - seeds: [13:14:11.861] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.861] getGlobalsAndPackages() ... [13:14:11.861] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.862] Resolving globals: FALSE [13:14:11.862] Tweak future expression to call with '...' arguments ... [13:14:11.862] { [13:14:11.862] do.call(function(...) { [13:14:11.862] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.862] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.862] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.862] on.exit(options(oopts), add = TRUE) [13:14:11.862] } [13:14:11.862] { [13:14:11.862] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.862] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.862] ...future.FUN(...future.X_jj, ...) [13:14:11.862] }) [13:14:11.862] } [13:14:11.862] }, args = future.call.arguments) [13:14:11.862] } [13:14:11.862] Tweak future expression to call with '...' arguments ... DONE [13:14:11.863] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.863] [13:14:11.863] getGlobalsAndPackages() ... DONE [13:14:11.864] run() for 'Future' ... [13:14:11.864] - state: 'created' [13:14:11.864] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.878] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.878] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.878] - Field: 'node' [13:14:11.878] - Field: 'label' [13:14:11.879] - Field: 'local' [13:14:11.879] - Field: 'owner' [13:14:11.879] - Field: 'envir' [13:14:11.879] - Field: 'workers' [13:14:11.879] - Field: 'packages' [13:14:11.880] - Field: 'gc' [13:14:11.880] - Field: 'conditions' [13:14:11.880] - Field: 'persistent' [13:14:11.880] - Field: 'expr' [13:14:11.880] - Field: 'uuid' [13:14:11.880] - Field: 'seed' [13:14:11.881] - Field: 'version' [13:14:11.881] - Field: 'result' [13:14:11.881] - Field: 'asynchronous' [13:14:11.881] - Field: 'calls' [13:14:11.881] - Field: 'globals' [13:14:11.881] - Field: 'stdout' [13:14:11.882] - Field: 'earlySignal' [13:14:11.882] - Field: 'lazy' [13:14:11.882] - Field: 'state' [13:14:11.882] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.882] - Launch lazy future ... [13:14:11.883] Packages needed by the future expression (n = 0): [13:14:11.883] Packages needed by future strategies (n = 0): [13:14:11.883] { [13:14:11.883] { [13:14:11.883] { [13:14:11.883] ...future.startTime <- base::Sys.time() [13:14:11.883] { [13:14:11.883] { [13:14:11.883] { [13:14:11.883] { [13:14:11.883] base::local({ [13:14:11.883] has_future <- base::requireNamespace("future", [13:14:11.883] quietly = TRUE) [13:14:11.883] if (has_future) { [13:14:11.883] ns <- base::getNamespace("future") [13:14:11.883] version <- ns[[".package"]][["version"]] [13:14:11.883] if (is.null(version)) [13:14:11.883] version <- utils::packageVersion("future") [13:14:11.883] } [13:14:11.883] else { [13:14:11.883] version <- NULL [13:14:11.883] } [13:14:11.883] if (!has_future || version < "1.8.0") { [13:14:11.883] info <- base::c(r_version = base::gsub("R version ", [13:14:11.883] "", base::R.version$version.string), [13:14:11.883] platform = base::sprintf("%s (%s-bit)", [13:14:11.883] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.883] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.883] "release", "version")], collapse = " "), [13:14:11.883] hostname = base::Sys.info()[["nodename"]]) [13:14:11.883] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.883] info) [13:14:11.883] info <- base::paste(info, collapse = "; ") [13:14:11.883] if (!has_future) { [13:14:11.883] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.883] info) [13:14:11.883] } [13:14:11.883] else { [13:14:11.883] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.883] info, version) [13:14:11.883] } [13:14:11.883] base::stop(msg) [13:14:11.883] } [13:14:11.883] }) [13:14:11.883] } [13:14:11.883] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.883] base::options(mc.cores = 1L) [13:14:11.883] } [13:14:11.883] options(future.plan = NULL) [13:14:11.883] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.883] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.883] } [13:14:11.883] ...future.workdir <- getwd() [13:14:11.883] } [13:14:11.883] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.883] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.883] } [13:14:11.883] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.883] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.883] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.883] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.883] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.883] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.883] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.883] base::names(...future.oldOptions)) [13:14:11.883] } [13:14:11.883] if (FALSE) { [13:14:11.883] } [13:14:11.883] else { [13:14:11.883] if (TRUE) { [13:14:11.883] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.883] open = "w") [13:14:11.883] } [13:14:11.883] else { [13:14:11.883] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.883] windows = "NUL", "/dev/null"), open = "w") [13:14:11.883] } [13:14:11.883] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.883] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.883] base::sink(type = "output", split = FALSE) [13:14:11.883] base::close(...future.stdout) [13:14:11.883] }, add = TRUE) [13:14:11.883] } [13:14:11.883] ...future.frame <- base::sys.nframe() [13:14:11.883] ...future.conditions <- base::list() [13:14:11.883] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.883] if (FALSE) { [13:14:11.883] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.883] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.883] } [13:14:11.883] ...future.result <- base::tryCatch({ [13:14:11.883] base::withCallingHandlers({ [13:14:11.883] ...future.value <- base::withVisible(base::local({ [13:14:11.883] ...future.makeSendCondition <- local({ [13:14:11.883] sendCondition <- NULL [13:14:11.883] function(frame = 1L) { [13:14:11.883] if (is.function(sendCondition)) [13:14:11.883] return(sendCondition) [13:14:11.883] ns <- getNamespace("parallel") [13:14:11.883] if (exists("sendData", mode = "function", [13:14:11.883] envir = ns)) { [13:14:11.883] parallel_sendData <- get("sendData", mode = "function", [13:14:11.883] envir = ns) [13:14:11.883] envir <- sys.frame(frame) [13:14:11.883] master <- NULL [13:14:11.883] while (!identical(envir, .GlobalEnv) && [13:14:11.883] !identical(envir, emptyenv())) { [13:14:11.883] if (exists("master", mode = "list", envir = envir, [13:14:11.883] inherits = FALSE)) { [13:14:11.883] master <- get("master", mode = "list", [13:14:11.883] envir = envir, inherits = FALSE) [13:14:11.883] if (inherits(master, c("SOCKnode", [13:14:11.883] "SOCK0node"))) { [13:14:11.883] sendCondition <<- function(cond) { [13:14:11.883] data <- list(type = "VALUE", value = cond, [13:14:11.883] success = TRUE) [13:14:11.883] parallel_sendData(master, data) [13:14:11.883] } [13:14:11.883] return(sendCondition) [13:14:11.883] } [13:14:11.883] } [13:14:11.883] frame <- frame + 1L [13:14:11.883] envir <- sys.frame(frame) [13:14:11.883] } [13:14:11.883] } [13:14:11.883] sendCondition <<- function(cond) NULL [13:14:11.883] } [13:14:11.883] }) [13:14:11.883] withCallingHandlers({ [13:14:11.883] { [13:14:11.883] do.call(function(...) { [13:14:11.883] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.883] if (!identical(...future.globals.maxSize.org, [13:14:11.883] ...future.globals.maxSize)) { [13:14:11.883] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.883] on.exit(options(oopts), add = TRUE) [13:14:11.883] } [13:14:11.883] { [13:14:11.883] lapply(seq_along(...future.elements_ii), [13:14:11.883] FUN = function(jj) { [13:14:11.883] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.883] ...future.FUN(...future.X_jj, ...) [13:14:11.883] }) [13:14:11.883] } [13:14:11.883] }, args = future.call.arguments) [13:14:11.883] } [13:14:11.883] }, immediateCondition = function(cond) { [13:14:11.883] sendCondition <- ...future.makeSendCondition() [13:14:11.883] sendCondition(cond) [13:14:11.883] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.883] { [13:14:11.883] inherits <- base::inherits [13:14:11.883] invokeRestart <- base::invokeRestart [13:14:11.883] is.null <- base::is.null [13:14:11.883] muffled <- FALSE [13:14:11.883] if (inherits(cond, "message")) { [13:14:11.883] muffled <- grepl(pattern, "muffleMessage") [13:14:11.883] if (muffled) [13:14:11.883] invokeRestart("muffleMessage") [13:14:11.883] } [13:14:11.883] else if (inherits(cond, "warning")) { [13:14:11.883] muffled <- grepl(pattern, "muffleWarning") [13:14:11.883] if (muffled) [13:14:11.883] invokeRestart("muffleWarning") [13:14:11.883] } [13:14:11.883] else if (inherits(cond, "condition")) { [13:14:11.883] if (!is.null(pattern)) { [13:14:11.883] computeRestarts <- base::computeRestarts [13:14:11.883] grepl <- base::grepl [13:14:11.883] restarts <- computeRestarts(cond) [13:14:11.883] for (restart in restarts) { [13:14:11.883] name <- restart$name [13:14:11.883] if (is.null(name)) [13:14:11.883] next [13:14:11.883] if (!grepl(pattern, name)) [13:14:11.883] next [13:14:11.883] invokeRestart(restart) [13:14:11.883] muffled <- TRUE [13:14:11.883] break [13:14:11.883] } [13:14:11.883] } [13:14:11.883] } [13:14:11.883] invisible(muffled) [13:14:11.883] } [13:14:11.883] muffleCondition(cond) [13:14:11.883] }) [13:14:11.883] })) [13:14:11.883] future::FutureResult(value = ...future.value$value, [13:14:11.883] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.883] ...future.rng), globalenv = if (FALSE) [13:14:11.883] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.883] ...future.globalenv.names)) [13:14:11.883] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.883] }, condition = base::local({ [13:14:11.883] c <- base::c [13:14:11.883] inherits <- base::inherits [13:14:11.883] invokeRestart <- base::invokeRestart [13:14:11.883] length <- base::length [13:14:11.883] list <- base::list [13:14:11.883] seq.int <- base::seq.int [13:14:11.883] signalCondition <- base::signalCondition [13:14:11.883] sys.calls <- base::sys.calls [13:14:11.883] `[[` <- base::`[[` [13:14:11.883] `+` <- base::`+` [13:14:11.883] `<<-` <- base::`<<-` [13:14:11.883] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.883] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.883] 3L)] [13:14:11.883] } [13:14:11.883] function(cond) { [13:14:11.883] is_error <- inherits(cond, "error") [13:14:11.883] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.883] NULL) [13:14:11.883] if (is_error) { [13:14:11.883] sessionInformation <- function() { [13:14:11.883] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.883] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.883] search = base::search(), system = base::Sys.info()) [13:14:11.883] } [13:14:11.883] ...future.conditions[[length(...future.conditions) + [13:14:11.883] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.883] cond$call), session = sessionInformation(), [13:14:11.883] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.883] signalCondition(cond) [13:14:11.883] } [13:14:11.883] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.883] "immediateCondition"))) { [13:14:11.883] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.883] ...future.conditions[[length(...future.conditions) + [13:14:11.883] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.883] if (TRUE && !signal) { [13:14:11.883] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.883] { [13:14:11.883] inherits <- base::inherits [13:14:11.883] invokeRestart <- base::invokeRestart [13:14:11.883] is.null <- base::is.null [13:14:11.883] muffled <- FALSE [13:14:11.883] if (inherits(cond, "message")) { [13:14:11.883] muffled <- grepl(pattern, "muffleMessage") [13:14:11.883] if (muffled) [13:14:11.883] invokeRestart("muffleMessage") [13:14:11.883] } [13:14:11.883] else if (inherits(cond, "warning")) { [13:14:11.883] muffled <- grepl(pattern, "muffleWarning") [13:14:11.883] if (muffled) [13:14:11.883] invokeRestart("muffleWarning") [13:14:11.883] } [13:14:11.883] else if (inherits(cond, "condition")) { [13:14:11.883] if (!is.null(pattern)) { [13:14:11.883] computeRestarts <- base::computeRestarts [13:14:11.883] grepl <- base::grepl [13:14:11.883] restarts <- computeRestarts(cond) [13:14:11.883] for (restart in restarts) { [13:14:11.883] name <- restart$name [13:14:11.883] if (is.null(name)) [13:14:11.883] next [13:14:11.883] if (!grepl(pattern, name)) [13:14:11.883] next [13:14:11.883] invokeRestart(restart) [13:14:11.883] muffled <- TRUE [13:14:11.883] break [13:14:11.883] } [13:14:11.883] } [13:14:11.883] } [13:14:11.883] invisible(muffled) [13:14:11.883] } [13:14:11.883] muffleCondition(cond, pattern = "^muffle") [13:14:11.883] } [13:14:11.883] } [13:14:11.883] else { [13:14:11.883] if (TRUE) { [13:14:11.883] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.883] { [13:14:11.883] inherits <- base::inherits [13:14:11.883] invokeRestart <- base::invokeRestart [13:14:11.883] is.null <- base::is.null [13:14:11.883] muffled <- FALSE [13:14:11.883] if (inherits(cond, "message")) { [13:14:11.883] muffled <- grepl(pattern, "muffleMessage") [13:14:11.883] if (muffled) [13:14:11.883] invokeRestart("muffleMessage") [13:14:11.883] } [13:14:11.883] else if (inherits(cond, "warning")) { [13:14:11.883] muffled <- grepl(pattern, "muffleWarning") [13:14:11.883] if (muffled) [13:14:11.883] invokeRestart("muffleWarning") [13:14:11.883] } [13:14:11.883] else if (inherits(cond, "condition")) { [13:14:11.883] if (!is.null(pattern)) { [13:14:11.883] computeRestarts <- base::computeRestarts [13:14:11.883] grepl <- base::grepl [13:14:11.883] restarts <- computeRestarts(cond) [13:14:11.883] for (restart in restarts) { [13:14:11.883] name <- restart$name [13:14:11.883] if (is.null(name)) [13:14:11.883] next [13:14:11.883] if (!grepl(pattern, name)) [13:14:11.883] next [13:14:11.883] invokeRestart(restart) [13:14:11.883] muffled <- TRUE [13:14:11.883] break [13:14:11.883] } [13:14:11.883] } [13:14:11.883] } [13:14:11.883] invisible(muffled) [13:14:11.883] } [13:14:11.883] muffleCondition(cond, pattern = "^muffle") [13:14:11.883] } [13:14:11.883] } [13:14:11.883] } [13:14:11.883] })) [13:14:11.883] }, error = function(ex) { [13:14:11.883] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.883] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.883] ...future.rng), started = ...future.startTime, [13:14:11.883] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.883] version = "1.8"), class = "FutureResult") [13:14:11.883] }, finally = { [13:14:11.883] if (!identical(...future.workdir, getwd())) [13:14:11.883] setwd(...future.workdir) [13:14:11.883] { [13:14:11.883] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.883] ...future.oldOptions$nwarnings <- NULL [13:14:11.883] } [13:14:11.883] base::options(...future.oldOptions) [13:14:11.883] if (.Platform$OS.type == "windows") { [13:14:11.883] old_names <- names(...future.oldEnvVars) [13:14:11.883] envs <- base::Sys.getenv() [13:14:11.883] names <- names(envs) [13:14:11.883] common <- intersect(names, old_names) [13:14:11.883] added <- setdiff(names, old_names) [13:14:11.883] removed <- setdiff(old_names, names) [13:14:11.883] changed <- common[...future.oldEnvVars[common] != [13:14:11.883] envs[common]] [13:14:11.883] NAMES <- toupper(changed) [13:14:11.883] args <- list() [13:14:11.883] for (kk in seq_along(NAMES)) { [13:14:11.883] name <- changed[[kk]] [13:14:11.883] NAME <- NAMES[[kk]] [13:14:11.883] if (name != NAME && is.element(NAME, old_names)) [13:14:11.883] next [13:14:11.883] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.883] } [13:14:11.883] NAMES <- toupper(added) [13:14:11.883] for (kk in seq_along(NAMES)) { [13:14:11.883] name <- added[[kk]] [13:14:11.883] NAME <- NAMES[[kk]] [13:14:11.883] if (name != NAME && is.element(NAME, old_names)) [13:14:11.883] next [13:14:11.883] args[[name]] <- "" [13:14:11.883] } [13:14:11.883] NAMES <- toupper(removed) [13:14:11.883] for (kk in seq_along(NAMES)) { [13:14:11.883] name <- removed[[kk]] [13:14:11.883] NAME <- NAMES[[kk]] [13:14:11.883] if (name != NAME && is.element(NAME, old_names)) [13:14:11.883] next [13:14:11.883] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.883] } [13:14:11.883] if (length(args) > 0) [13:14:11.883] base::do.call(base::Sys.setenv, args = args) [13:14:11.883] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.883] } [13:14:11.883] else { [13:14:11.883] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.883] } [13:14:11.883] { [13:14:11.883] if (base::length(...future.futureOptionsAdded) > [13:14:11.883] 0L) { [13:14:11.883] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.883] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.883] base::options(opts) [13:14:11.883] } [13:14:11.883] { [13:14:11.883] { [13:14:11.883] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.883] NULL [13:14:11.883] } [13:14:11.883] options(future.plan = NULL) [13:14:11.883] if (is.na(NA_character_)) [13:14:11.883] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.883] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.883] future::plan(list(function (..., workers = availableCores(), [13:14:11.883] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.883] envir = parent.frame()) [13:14:11.883] { [13:14:11.883] if (is.function(workers)) [13:14:11.883] workers <- workers() [13:14:11.883] workers <- structure(as.integer(workers), [13:14:11.883] class = class(workers)) [13:14:11.883] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.883] workers >= 1) [13:14:11.883] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.883] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.883] } [13:14:11.883] future <- MultisessionFuture(..., workers = workers, [13:14:11.883] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.883] envir = envir) [13:14:11.883] if (!future$lazy) [13:14:11.883] future <- run(future) [13:14:11.883] invisible(future) [13:14:11.883] }), .cleanup = FALSE, .init = FALSE) [13:14:11.883] } [13:14:11.883] } [13:14:11.883] } [13:14:11.883] }) [13:14:11.883] if (TRUE) { [13:14:11.883] base::sink(type = "output", split = FALSE) [13:14:11.883] if (TRUE) { [13:14:11.883] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.883] } [13:14:11.883] else { [13:14:11.883] ...future.result["stdout"] <- base::list(NULL) [13:14:11.883] } [13:14:11.883] base::close(...future.stdout) [13:14:11.883] ...future.stdout <- NULL [13:14:11.883] } [13:14:11.883] ...future.result$conditions <- ...future.conditions [13:14:11.883] ...future.result$finished <- base::Sys.time() [13:14:11.883] ...future.result [13:14:11.883] } [13:14:11.889] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:11.889] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:11.890] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:11.890] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.890] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.891] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.891] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.891] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.892] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.892] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.892] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.892] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:11.893] MultisessionFuture started [13:14:11.893] - Launch lazy future ... done [13:14:11.893] run() for 'MultisessionFuture' ... done [13:14:11.894] Created future: [13:14:11.909] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.910] - Validating connection of MultisessionFuture [13:14:11.910] - received message: FutureResult [13:14:11.910] - Received FutureResult [13:14:11.910] - Erased future from FutureRegistry [13:14:11.910] result() for ClusterFuture ... [13:14:11.911] - result already collected: FutureResult [13:14:11.911] result() for ClusterFuture ... done [13:14:11.911] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.894] MultisessionFuture: [13:14:11.894] Label: 'future_sapply-1' [13:14:11.894] Expression: [13:14:11.894] { [13:14:11.894] do.call(function(...) { [13:14:11.894] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.894] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.894] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.894] on.exit(options(oopts), add = TRUE) [13:14:11.894] } [13:14:11.894] { [13:14:11.894] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.894] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.894] ...future.FUN(...future.X_jj, ...) [13:14:11.894] }) [13:14:11.894] } [13:14:11.894] }, args = future.call.arguments) [13:14:11.894] } [13:14:11.894] Lazy evaluation: FALSE [13:14:11.894] Asynchronous evaluation: TRUE [13:14:11.894] Local evaluation: TRUE [13:14:11.894] Environment: R_GlobalEnv [13:14:11.894] Capture standard output: TRUE [13:14:11.894] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.894] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.894] Packages: [13:14:11.894] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.894] Resolved: TRUE [13:14:11.894] Value: [13:14:11.894] Conditions captured: [13:14:11.894] Early signaling: FALSE [13:14:11.894] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.894] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.911] Chunk #1 of 2 ... DONE [13:14:11.912] Chunk #2 of 2 ... [13:14:11.912] - Finding globals in 'X' for chunk #2 ... [13:14:11.912] getGlobalsAndPackages() ... [13:14:11.912] Searching for globals... [13:14:11.912] [13:14:11.912] Searching for globals ... DONE [13:14:11.913] - globals: [0] [13:14:11.913] getGlobalsAndPackages() ... DONE [13:14:11.913] + additional globals found: [n=0] [13:14:11.913] + additional namespaces needed: [n=0] [13:14:11.913] - Finding globals in 'X' for chunk #2 ... DONE [13:14:11.913] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:11.914] - seeds: [13:14:11.914] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.914] getGlobalsAndPackages() ... [13:14:11.914] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.914] Resolving globals: FALSE [13:14:11.914] Tweak future expression to call with '...' arguments ... [13:14:11.915] { [13:14:11.915] do.call(function(...) { [13:14:11.915] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.915] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.915] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.915] on.exit(options(oopts), add = TRUE) [13:14:11.915] } [13:14:11.915] { [13:14:11.915] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.915] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.915] ...future.FUN(...future.X_jj, ...) [13:14:11.915] }) [13:14:11.915] } [13:14:11.915] }, args = future.call.arguments) [13:14:11.915] } [13:14:11.915] Tweak future expression to call with '...' arguments ... DONE [13:14:11.915] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:11.916] [13:14:11.916] getGlobalsAndPackages() ... DONE [13:14:11.916] run() for 'Future' ... [13:14:11.916] - state: 'created' [13:14:11.917] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:11.930] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.930] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:11.931] - Field: 'node' [13:14:11.931] - Field: 'label' [13:14:11.931] - Field: 'local' [13:14:11.931] - Field: 'owner' [13:14:11.931] - Field: 'envir' [13:14:11.931] - Field: 'workers' [13:14:11.932] - Field: 'packages' [13:14:11.932] - Field: 'gc' [13:14:11.932] - Field: 'conditions' [13:14:11.932] - Field: 'persistent' [13:14:11.932] - Field: 'expr' [13:14:11.932] - Field: 'uuid' [13:14:11.933] - Field: 'seed' [13:14:11.933] - Field: 'version' [13:14:11.933] - Field: 'result' [13:14:11.933] - Field: 'asynchronous' [13:14:11.933] - Field: 'calls' [13:14:11.933] - Field: 'globals' [13:14:11.934] - Field: 'stdout' [13:14:11.934] - Field: 'earlySignal' [13:14:11.934] - Field: 'lazy' [13:14:11.934] - Field: 'state' [13:14:11.934] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:11.935] - Launch lazy future ... [13:14:11.935] Packages needed by the future expression (n = 0): [13:14:11.935] Packages needed by future strategies (n = 0): [13:14:11.936] { [13:14:11.936] { [13:14:11.936] { [13:14:11.936] ...future.startTime <- base::Sys.time() [13:14:11.936] { [13:14:11.936] { [13:14:11.936] { [13:14:11.936] { [13:14:11.936] base::local({ [13:14:11.936] has_future <- base::requireNamespace("future", [13:14:11.936] quietly = TRUE) [13:14:11.936] if (has_future) { [13:14:11.936] ns <- base::getNamespace("future") [13:14:11.936] version <- ns[[".package"]][["version"]] [13:14:11.936] if (is.null(version)) [13:14:11.936] version <- utils::packageVersion("future") [13:14:11.936] } [13:14:11.936] else { [13:14:11.936] version <- NULL [13:14:11.936] } [13:14:11.936] if (!has_future || version < "1.8.0") { [13:14:11.936] info <- base::c(r_version = base::gsub("R version ", [13:14:11.936] "", base::R.version$version.string), [13:14:11.936] platform = base::sprintf("%s (%s-bit)", [13:14:11.936] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:11.936] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:11.936] "release", "version")], collapse = " "), [13:14:11.936] hostname = base::Sys.info()[["nodename"]]) [13:14:11.936] info <- base::sprintf("%s: %s", base::names(info), [13:14:11.936] info) [13:14:11.936] info <- base::paste(info, collapse = "; ") [13:14:11.936] if (!has_future) { [13:14:11.936] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:11.936] info) [13:14:11.936] } [13:14:11.936] else { [13:14:11.936] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:11.936] info, version) [13:14:11.936] } [13:14:11.936] base::stop(msg) [13:14:11.936] } [13:14:11.936] }) [13:14:11.936] } [13:14:11.936] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:11.936] base::options(mc.cores = 1L) [13:14:11.936] } [13:14:11.936] options(future.plan = NULL) [13:14:11.936] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.936] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:11.936] } [13:14:11.936] ...future.workdir <- getwd() [13:14:11.936] } [13:14:11.936] ...future.oldOptions <- base::as.list(base::.Options) [13:14:11.936] ...future.oldEnvVars <- base::Sys.getenv() [13:14:11.936] } [13:14:11.936] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:11.936] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:11.936] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:11.936] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:11.936] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:11.936] future.stdout.windows.reencode = NULL, width = 80L) [13:14:11.936] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:11.936] base::names(...future.oldOptions)) [13:14:11.936] } [13:14:11.936] if (FALSE) { [13:14:11.936] } [13:14:11.936] else { [13:14:11.936] if (TRUE) { [13:14:11.936] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:11.936] open = "w") [13:14:11.936] } [13:14:11.936] else { [13:14:11.936] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:11.936] windows = "NUL", "/dev/null"), open = "w") [13:14:11.936] } [13:14:11.936] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:11.936] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:11.936] base::sink(type = "output", split = FALSE) [13:14:11.936] base::close(...future.stdout) [13:14:11.936] }, add = TRUE) [13:14:11.936] } [13:14:11.936] ...future.frame <- base::sys.nframe() [13:14:11.936] ...future.conditions <- base::list() [13:14:11.936] ...future.rng <- base::globalenv()$.Random.seed [13:14:11.936] if (FALSE) { [13:14:11.936] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:11.936] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:11.936] } [13:14:11.936] ...future.result <- base::tryCatch({ [13:14:11.936] base::withCallingHandlers({ [13:14:11.936] ...future.value <- base::withVisible(base::local({ [13:14:11.936] ...future.makeSendCondition <- local({ [13:14:11.936] sendCondition <- NULL [13:14:11.936] function(frame = 1L) { [13:14:11.936] if (is.function(sendCondition)) [13:14:11.936] return(sendCondition) [13:14:11.936] ns <- getNamespace("parallel") [13:14:11.936] if (exists("sendData", mode = "function", [13:14:11.936] envir = ns)) { [13:14:11.936] parallel_sendData <- get("sendData", mode = "function", [13:14:11.936] envir = ns) [13:14:11.936] envir <- sys.frame(frame) [13:14:11.936] master <- NULL [13:14:11.936] while (!identical(envir, .GlobalEnv) && [13:14:11.936] !identical(envir, emptyenv())) { [13:14:11.936] if (exists("master", mode = "list", envir = envir, [13:14:11.936] inherits = FALSE)) { [13:14:11.936] master <- get("master", mode = "list", [13:14:11.936] envir = envir, inherits = FALSE) [13:14:11.936] if (inherits(master, c("SOCKnode", [13:14:11.936] "SOCK0node"))) { [13:14:11.936] sendCondition <<- function(cond) { [13:14:11.936] data <- list(type = "VALUE", value = cond, [13:14:11.936] success = TRUE) [13:14:11.936] parallel_sendData(master, data) [13:14:11.936] } [13:14:11.936] return(sendCondition) [13:14:11.936] } [13:14:11.936] } [13:14:11.936] frame <- frame + 1L [13:14:11.936] envir <- sys.frame(frame) [13:14:11.936] } [13:14:11.936] } [13:14:11.936] sendCondition <<- function(cond) NULL [13:14:11.936] } [13:14:11.936] }) [13:14:11.936] withCallingHandlers({ [13:14:11.936] { [13:14:11.936] do.call(function(...) { [13:14:11.936] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.936] if (!identical(...future.globals.maxSize.org, [13:14:11.936] ...future.globals.maxSize)) { [13:14:11.936] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.936] on.exit(options(oopts), add = TRUE) [13:14:11.936] } [13:14:11.936] { [13:14:11.936] lapply(seq_along(...future.elements_ii), [13:14:11.936] FUN = function(jj) { [13:14:11.936] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.936] ...future.FUN(...future.X_jj, ...) [13:14:11.936] }) [13:14:11.936] } [13:14:11.936] }, args = future.call.arguments) [13:14:11.936] } [13:14:11.936] }, immediateCondition = function(cond) { [13:14:11.936] sendCondition <- ...future.makeSendCondition() [13:14:11.936] sendCondition(cond) [13:14:11.936] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.936] { [13:14:11.936] inherits <- base::inherits [13:14:11.936] invokeRestart <- base::invokeRestart [13:14:11.936] is.null <- base::is.null [13:14:11.936] muffled <- FALSE [13:14:11.936] if (inherits(cond, "message")) { [13:14:11.936] muffled <- grepl(pattern, "muffleMessage") [13:14:11.936] if (muffled) [13:14:11.936] invokeRestart("muffleMessage") [13:14:11.936] } [13:14:11.936] else if (inherits(cond, "warning")) { [13:14:11.936] muffled <- grepl(pattern, "muffleWarning") [13:14:11.936] if (muffled) [13:14:11.936] invokeRestart("muffleWarning") [13:14:11.936] } [13:14:11.936] else if (inherits(cond, "condition")) { [13:14:11.936] if (!is.null(pattern)) { [13:14:11.936] computeRestarts <- base::computeRestarts [13:14:11.936] grepl <- base::grepl [13:14:11.936] restarts <- computeRestarts(cond) [13:14:11.936] for (restart in restarts) { [13:14:11.936] name <- restart$name [13:14:11.936] if (is.null(name)) [13:14:11.936] next [13:14:11.936] if (!grepl(pattern, name)) [13:14:11.936] next [13:14:11.936] invokeRestart(restart) [13:14:11.936] muffled <- TRUE [13:14:11.936] break [13:14:11.936] } [13:14:11.936] } [13:14:11.936] } [13:14:11.936] invisible(muffled) [13:14:11.936] } [13:14:11.936] muffleCondition(cond) [13:14:11.936] }) [13:14:11.936] })) [13:14:11.936] future::FutureResult(value = ...future.value$value, [13:14:11.936] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.936] ...future.rng), globalenv = if (FALSE) [13:14:11.936] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:11.936] ...future.globalenv.names)) [13:14:11.936] else NULL, started = ...future.startTime, version = "1.8") [13:14:11.936] }, condition = base::local({ [13:14:11.936] c <- base::c [13:14:11.936] inherits <- base::inherits [13:14:11.936] invokeRestart <- base::invokeRestart [13:14:11.936] length <- base::length [13:14:11.936] list <- base::list [13:14:11.936] seq.int <- base::seq.int [13:14:11.936] signalCondition <- base::signalCondition [13:14:11.936] sys.calls <- base::sys.calls [13:14:11.936] `[[` <- base::`[[` [13:14:11.936] `+` <- base::`+` [13:14:11.936] `<<-` <- base::`<<-` [13:14:11.936] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:11.936] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:11.936] 3L)] [13:14:11.936] } [13:14:11.936] function(cond) { [13:14:11.936] is_error <- inherits(cond, "error") [13:14:11.936] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:11.936] NULL) [13:14:11.936] if (is_error) { [13:14:11.936] sessionInformation <- function() { [13:14:11.936] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:11.936] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:11.936] search = base::search(), system = base::Sys.info()) [13:14:11.936] } [13:14:11.936] ...future.conditions[[length(...future.conditions) + [13:14:11.936] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:11.936] cond$call), session = sessionInformation(), [13:14:11.936] timestamp = base::Sys.time(), signaled = 0L) [13:14:11.936] signalCondition(cond) [13:14:11.936] } [13:14:11.936] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:11.936] "immediateCondition"))) { [13:14:11.936] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:11.936] ...future.conditions[[length(...future.conditions) + [13:14:11.936] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:11.936] if (TRUE && !signal) { [13:14:11.936] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.936] { [13:14:11.936] inherits <- base::inherits [13:14:11.936] invokeRestart <- base::invokeRestart [13:14:11.936] is.null <- base::is.null [13:14:11.936] muffled <- FALSE [13:14:11.936] if (inherits(cond, "message")) { [13:14:11.936] muffled <- grepl(pattern, "muffleMessage") [13:14:11.936] if (muffled) [13:14:11.936] invokeRestart("muffleMessage") [13:14:11.936] } [13:14:11.936] else if (inherits(cond, "warning")) { [13:14:11.936] muffled <- grepl(pattern, "muffleWarning") [13:14:11.936] if (muffled) [13:14:11.936] invokeRestart("muffleWarning") [13:14:11.936] } [13:14:11.936] else if (inherits(cond, "condition")) { [13:14:11.936] if (!is.null(pattern)) { [13:14:11.936] computeRestarts <- base::computeRestarts [13:14:11.936] grepl <- base::grepl [13:14:11.936] restarts <- computeRestarts(cond) [13:14:11.936] for (restart in restarts) { [13:14:11.936] name <- restart$name [13:14:11.936] if (is.null(name)) [13:14:11.936] next [13:14:11.936] if (!grepl(pattern, name)) [13:14:11.936] next [13:14:11.936] invokeRestart(restart) [13:14:11.936] muffled <- TRUE [13:14:11.936] break [13:14:11.936] } [13:14:11.936] } [13:14:11.936] } [13:14:11.936] invisible(muffled) [13:14:11.936] } [13:14:11.936] muffleCondition(cond, pattern = "^muffle") [13:14:11.936] } [13:14:11.936] } [13:14:11.936] else { [13:14:11.936] if (TRUE) { [13:14:11.936] muffleCondition <- function (cond, pattern = "^muffle") [13:14:11.936] { [13:14:11.936] inherits <- base::inherits [13:14:11.936] invokeRestart <- base::invokeRestart [13:14:11.936] is.null <- base::is.null [13:14:11.936] muffled <- FALSE [13:14:11.936] if (inherits(cond, "message")) { [13:14:11.936] muffled <- grepl(pattern, "muffleMessage") [13:14:11.936] if (muffled) [13:14:11.936] invokeRestart("muffleMessage") [13:14:11.936] } [13:14:11.936] else if (inherits(cond, "warning")) { [13:14:11.936] muffled <- grepl(pattern, "muffleWarning") [13:14:11.936] if (muffled) [13:14:11.936] invokeRestart("muffleWarning") [13:14:11.936] } [13:14:11.936] else if (inherits(cond, "condition")) { [13:14:11.936] if (!is.null(pattern)) { [13:14:11.936] computeRestarts <- base::computeRestarts [13:14:11.936] grepl <- base::grepl [13:14:11.936] restarts <- computeRestarts(cond) [13:14:11.936] for (restart in restarts) { [13:14:11.936] name <- restart$name [13:14:11.936] if (is.null(name)) [13:14:11.936] next [13:14:11.936] if (!grepl(pattern, name)) [13:14:11.936] next [13:14:11.936] invokeRestart(restart) [13:14:11.936] muffled <- TRUE [13:14:11.936] break [13:14:11.936] } [13:14:11.936] } [13:14:11.936] } [13:14:11.936] invisible(muffled) [13:14:11.936] } [13:14:11.936] muffleCondition(cond, pattern = "^muffle") [13:14:11.936] } [13:14:11.936] } [13:14:11.936] } [13:14:11.936] })) [13:14:11.936] }, error = function(ex) { [13:14:11.936] base::structure(base::list(value = NULL, visible = NULL, [13:14:11.936] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:11.936] ...future.rng), started = ...future.startTime, [13:14:11.936] finished = Sys.time(), session_uuid = NA_character_, [13:14:11.936] version = "1.8"), class = "FutureResult") [13:14:11.936] }, finally = { [13:14:11.936] if (!identical(...future.workdir, getwd())) [13:14:11.936] setwd(...future.workdir) [13:14:11.936] { [13:14:11.936] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:11.936] ...future.oldOptions$nwarnings <- NULL [13:14:11.936] } [13:14:11.936] base::options(...future.oldOptions) [13:14:11.936] if (.Platform$OS.type == "windows") { [13:14:11.936] old_names <- names(...future.oldEnvVars) [13:14:11.936] envs <- base::Sys.getenv() [13:14:11.936] names <- names(envs) [13:14:11.936] common <- intersect(names, old_names) [13:14:11.936] added <- setdiff(names, old_names) [13:14:11.936] removed <- setdiff(old_names, names) [13:14:11.936] changed <- common[...future.oldEnvVars[common] != [13:14:11.936] envs[common]] [13:14:11.936] NAMES <- toupper(changed) [13:14:11.936] args <- list() [13:14:11.936] for (kk in seq_along(NAMES)) { [13:14:11.936] name <- changed[[kk]] [13:14:11.936] NAME <- NAMES[[kk]] [13:14:11.936] if (name != NAME && is.element(NAME, old_names)) [13:14:11.936] next [13:14:11.936] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.936] } [13:14:11.936] NAMES <- toupper(added) [13:14:11.936] for (kk in seq_along(NAMES)) { [13:14:11.936] name <- added[[kk]] [13:14:11.936] NAME <- NAMES[[kk]] [13:14:11.936] if (name != NAME && is.element(NAME, old_names)) [13:14:11.936] next [13:14:11.936] args[[name]] <- "" [13:14:11.936] } [13:14:11.936] NAMES <- toupper(removed) [13:14:11.936] for (kk in seq_along(NAMES)) { [13:14:11.936] name <- removed[[kk]] [13:14:11.936] NAME <- NAMES[[kk]] [13:14:11.936] if (name != NAME && is.element(NAME, old_names)) [13:14:11.936] next [13:14:11.936] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:11.936] } [13:14:11.936] if (length(args) > 0) [13:14:11.936] base::do.call(base::Sys.setenv, args = args) [13:14:11.936] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:11.936] } [13:14:11.936] else { [13:14:11.936] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:11.936] } [13:14:11.936] { [13:14:11.936] if (base::length(...future.futureOptionsAdded) > [13:14:11.936] 0L) { [13:14:11.936] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:11.936] base::names(opts) <- ...future.futureOptionsAdded [13:14:11.936] base::options(opts) [13:14:11.936] } [13:14:11.936] { [13:14:11.936] { [13:14:11.936] base::options(mc.cores = ...future.mc.cores.old) [13:14:11.936] NULL [13:14:11.936] } [13:14:11.936] options(future.plan = NULL) [13:14:11.936] if (is.na(NA_character_)) [13:14:11.936] Sys.unsetenv("R_FUTURE_PLAN") [13:14:11.936] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:11.936] future::plan(list(function (..., workers = availableCores(), [13:14:11.936] lazy = FALSE, rscript_libs = .libPaths(), [13:14:11.936] envir = parent.frame()) [13:14:11.936] { [13:14:11.936] if (is.function(workers)) [13:14:11.936] workers <- workers() [13:14:11.936] workers <- structure(as.integer(workers), [13:14:11.936] class = class(workers)) [13:14:11.936] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:11.936] workers >= 1) [13:14:11.936] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:11.936] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:11.936] } [13:14:11.936] future <- MultisessionFuture(..., workers = workers, [13:14:11.936] lazy = lazy, rscript_libs = rscript_libs, [13:14:11.936] envir = envir) [13:14:11.936] if (!future$lazy) [13:14:11.936] future <- run(future) [13:14:11.936] invisible(future) [13:14:11.936] }), .cleanup = FALSE, .init = FALSE) [13:14:11.936] } [13:14:11.936] } [13:14:11.936] } [13:14:11.936] }) [13:14:11.936] if (TRUE) { [13:14:11.936] base::sink(type = "output", split = FALSE) [13:14:11.936] if (TRUE) { [13:14:11.936] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:11.936] } [13:14:11.936] else { [13:14:11.936] ...future.result["stdout"] <- base::list(NULL) [13:14:11.936] } [13:14:11.936] base::close(...future.stdout) [13:14:11.936] ...future.stdout <- NULL [13:14:11.936] } [13:14:11.936] ...future.result$conditions <- ...future.conditions [13:14:11.936] ...future.result$finished <- base::Sys.time() [13:14:11.936] ...future.result [13:14:11.936] } [13:14:11.941] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:11.941] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:11.942] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:11.942] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:11.942] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:11.943] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:11.943] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:11.943] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:11.944] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:11.944] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:11.944] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:11.944] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:11.945] MultisessionFuture started [13:14:11.945] - Launch lazy future ... done [13:14:11.945] run() for 'MultisessionFuture' ... done [13:14:11.946] Created future: [13:14:11.961] receiveMessageFromWorker() for ClusterFuture ... [13:14:11.961] - Validating connection of MultisessionFuture [13:14:11.962] - received message: FutureResult [13:14:11.962] - Received FutureResult [13:14:11.962] - Erased future from FutureRegistry [13:14:11.962] result() for ClusterFuture ... [13:14:11.962] - result already collected: FutureResult [13:14:11.962] result() for ClusterFuture ... done [13:14:11.963] receiveMessageFromWorker() for ClusterFuture ... done [13:14:11.946] MultisessionFuture: [13:14:11.946] Label: 'future_sapply-2' [13:14:11.946] Expression: [13:14:11.946] { [13:14:11.946] do.call(function(...) { [13:14:11.946] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:11.946] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:11.946] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:11.946] on.exit(options(oopts), add = TRUE) [13:14:11.946] } [13:14:11.946] { [13:14:11.946] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:11.946] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:11.946] ...future.FUN(...future.X_jj, ...) [13:14:11.946] }) [13:14:11.946] } [13:14:11.946] }, args = future.call.arguments) [13:14:11.946] } [13:14:11.946] Lazy evaluation: FALSE [13:14:11.946] Asynchronous evaluation: TRUE [13:14:11.946] Local evaluation: TRUE [13:14:11.946] Environment: R_GlobalEnv [13:14:11.946] Capture standard output: TRUE [13:14:11.946] Capture condition classes: 'condition' (excluding 'nothing') [13:14:11.946] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:11.946] Packages: [13:14:11.946] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:11.946] Resolved: TRUE [13:14:11.946] Value: [13:14:11.946] Conditions captured: [13:14:11.946] Early signaling: FALSE [13:14:11.946] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:11.946] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:11.963] Chunk #2 of 2 ... DONE [13:14:11.963] Launching 2 futures (chunks) ... DONE [13:14:11.963] Resolving 2 futures (chunks) ... [13:14:11.964] resolve() on list ... [13:14:11.964] recursive: 0 [13:14:11.964] length: 2 [13:14:11.964] [13:14:11.964] Future #1 [13:14:11.964] result() for ClusterFuture ... [13:14:11.964] - result already collected: FutureResult [13:14:11.965] result() for ClusterFuture ... done [13:14:11.965] result() for ClusterFuture ... [13:14:11.965] - result already collected: FutureResult [13:14:11.965] result() for ClusterFuture ... done [13:14:11.965] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:11.965] - nx: 2 [13:14:11.966] - relay: TRUE [13:14:11.966] - stdout: TRUE [13:14:11.966] - signal: TRUE [13:14:11.966] - resignal: FALSE [13:14:11.966] - force: TRUE [13:14:11.966] - relayed: [n=2] FALSE, FALSE [13:14:11.966] - queued futures: [n=2] FALSE, FALSE [13:14:11.967] - until=1 [13:14:11.967] - relaying element #1 [13:14:11.967] result() for ClusterFuture ... [13:14:11.967] - result already collected: FutureResult [13:14:11.967] result() for ClusterFuture ... done [13:14:11.967] result() for ClusterFuture ... [13:14:11.967] - result already collected: FutureResult [13:14:11.968] result() for ClusterFuture ... done [13:14:11.968] result() for ClusterFuture ... [13:14:11.968] - result already collected: FutureResult [13:14:11.968] result() for ClusterFuture ... done [13:14:11.968] result() for ClusterFuture ... [13:14:11.968] - result already collected: FutureResult [13:14:11.969] result() for ClusterFuture ... done [13:14:11.969] - relayed: [n=2] TRUE, FALSE [13:14:11.969] - queued futures: [n=2] TRUE, FALSE [13:14:11.969] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:11.969] length: 1 (resolved future 1) [13:14:11.969] Future #2 [13:14:11.970] result() for ClusterFuture ... [13:14:11.970] - result already collected: FutureResult [13:14:11.970] result() for ClusterFuture ... done [13:14:11.970] result() for ClusterFuture ... [13:14:11.970] - result already collected: FutureResult [13:14:11.970] result() for ClusterFuture ... done [13:14:11.971] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:11.971] - nx: 2 [13:14:11.971] - relay: TRUE [13:14:11.971] - stdout: TRUE [13:14:11.971] - signal: TRUE [13:14:11.971] - resignal: FALSE [13:14:11.971] - force: TRUE [13:14:11.972] - relayed: [n=2] TRUE, FALSE [13:14:11.972] - queued futures: [n=2] TRUE, FALSE [13:14:11.972] - until=2 [13:14:11.972] - relaying element #2 [13:14:11.972] result() for ClusterFuture ... [13:14:11.972] - result already collected: FutureResult [13:14:11.972] result() for ClusterFuture ... done [13:14:11.973] result() for ClusterFuture ... [13:14:11.973] - result already collected: FutureResult [13:14:11.973] result() for ClusterFuture ... done [13:14:11.973] result() for ClusterFuture ... [13:14:11.973] - result already collected: FutureResult [13:14:11.973] result() for ClusterFuture ... done [13:14:11.974] result() for ClusterFuture ... [13:14:11.974] - result already collected: FutureResult [13:14:11.974] result() for ClusterFuture ... done [13:14:11.974] - relayed: [n=2] TRUE, TRUE [13:14:11.974] - queued futures: [n=2] TRUE, TRUE [13:14:11.974] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:11.975] length: 0 (resolved future 2) [13:14:11.975] Relaying remaining futures [13:14:11.975] signalConditionsASAP(NULL, pos=0) ... [13:14:11.975] - nx: 2 [13:14:11.975] - relay: TRUE [13:14:11.975] - stdout: TRUE [13:14:11.975] - signal: TRUE [13:14:11.976] - resignal: FALSE [13:14:11.976] - force: TRUE [13:14:11.976] - relayed: [n=2] TRUE, TRUE [13:14:11.976] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:11.976] - relayed: [n=2] TRUE, TRUE [13:14:11.976] - queued futures: [n=2] TRUE, TRUE [13:14:11.977] signalConditionsASAP(NULL, pos=0) ... done [13:14:11.977] resolve() on list ... DONE [13:14:11.977] result() for ClusterFuture ... [13:14:11.977] - result already collected: FutureResult [13:14:11.977] result() for ClusterFuture ... done [13:14:11.977] result() for ClusterFuture ... [13:14:11.977] - result already collected: FutureResult [13:14:11.978] result() for ClusterFuture ... done [13:14:11.978] result() for ClusterFuture ... [13:14:11.978] - result already collected: FutureResult [13:14:11.978] result() for ClusterFuture ... done [13:14:11.978] result() for ClusterFuture ... [13:14:11.978] - result already collected: FutureResult [13:14:11.979] result() for ClusterFuture ... done [13:14:11.979] - Number of value chunks collected: 2 [13:14:11.979] Resolving 2 futures (chunks) ... DONE [13:14:11.979] Reducing values from 2 chunks ... [13:14:11.979] - Number of values collected after concatenation: 4 [13:14:11.979] - Number of values expected: 4 [13:14:11.979] Reducing values from 2 chunks ... DONE [13:14:11.980] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:11.982] future_lapply() ... [13:14:11.984] Number of chunks: 2 [13:14:11.985] getGlobalsAndPackagesXApply() ... [13:14:11.985] - future.globals: TRUE [13:14:11.985] getGlobalsAndPackages() ... [13:14:11.985] Searching for globals... [13:14:11.986] - globals found: [2] 'FUN', 'UseMethod' [13:14:11.986] Searching for globals ... DONE [13:14:11.987] Resolving globals: FALSE [13:14:11.987] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:11.987] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:11.988] - globals: [1] 'FUN' [13:14:11.988] [13:14:11.988] getGlobalsAndPackages() ... DONE [13:14:11.988] - globals found/used: [n=1] 'FUN' [13:14:11.988] - needed namespaces: [n=0] [13:14:11.988] Finding globals ... DONE [13:14:11.989] - use_args: TRUE [13:14:11.989] - Getting '...' globals ... [13:14:11.989] resolve() on list ... [13:14:11.989] recursive: 0 [13:14:11.989] length: 1 [13:14:11.990] elements: '...' [13:14:11.990] length: 0 (resolved future 1) [13:14:11.990] resolve() on list ... DONE [13:14:11.990] - '...' content: [n=0] [13:14:11.990] List of 1 [13:14:11.990] $ ...: list() [13:14:11.990] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.990] - attr(*, "where")=List of 1 [13:14:11.990] ..$ ...: [13:14:11.990] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.990] - attr(*, "resolved")= logi TRUE [13:14:11.990] - attr(*, "total_size")= num NA [13:14:11.993] - Getting '...' globals ... DONE [13:14:11.994] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:11.994] List of 2 [13:14:11.994] $ ...future.FUN:function (x, ...) [13:14:11.994] $ ... : list() [13:14:11.994] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:11.994] - attr(*, "where")=List of 2 [13:14:11.994] ..$ ...future.FUN: [13:14:11.994] ..$ ... : [13:14:11.994] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:11.994] - attr(*, "resolved")= logi FALSE [13:14:11.994] - attr(*, "total_size")= num 1248 [13:14:12.000] Packages to be attached in all futures: [n=0] [13:14:12.000] getGlobalsAndPackagesXApply() ... DONE [13:14:12.000] Number of futures (= number of chunks): 2 [13:14:12.000] Launching 2 futures (chunks) ... [13:14:12.001] Chunk #1 of 2 ... [13:14:12.001] - Finding globals in 'X' for chunk #1 ... [13:14:12.001] getGlobalsAndPackages() ... [13:14:12.001] Searching for globals... [13:14:12.001] [13:14:12.002] Searching for globals ... DONE [13:14:12.002] - globals: [0] [13:14:12.002] getGlobalsAndPackages() ... DONE [13:14:12.002] + additional globals found: [n=0] [13:14:12.002] + additional namespaces needed: [n=0] [13:14:12.002] - Finding globals in 'X' for chunk #1 ... DONE [13:14:12.003] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.003] - seeds: [13:14:12.003] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.003] getGlobalsAndPackages() ... [13:14:12.003] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.003] Resolving globals: FALSE [13:14:12.004] Tweak future expression to call with '...' arguments ... [13:14:12.004] { [13:14:12.004] do.call(function(...) { [13:14:12.004] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.004] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.004] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.004] on.exit(options(oopts), add = TRUE) [13:14:12.004] } [13:14:12.004] { [13:14:12.004] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.004] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.004] ...future.FUN(...future.X_jj, ...) [13:14:12.004] }) [13:14:12.004] } [13:14:12.004] }, args = future.call.arguments) [13:14:12.004] } [13:14:12.004] Tweak future expression to call with '...' arguments ... DONE [13:14:12.005] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.005] [13:14:12.005] getGlobalsAndPackages() ... DONE [13:14:12.005] run() for 'Future' ... [13:14:12.005] - state: 'created' [13:14:12.006] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.020] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.020] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.020] - Field: 'node' [13:14:12.020] - Field: 'label' [13:14:12.020] - Field: 'local' [13:14:12.020] - Field: 'owner' [13:14:12.021] - Field: 'envir' [13:14:12.021] - Field: 'workers' [13:14:12.021] - Field: 'packages' [13:14:12.021] - Field: 'gc' [13:14:12.021] - Field: 'conditions' [13:14:12.022] - Field: 'persistent' [13:14:12.022] - Field: 'expr' [13:14:12.022] - Field: 'uuid' [13:14:12.022] - Field: 'seed' [13:14:12.022] - Field: 'version' [13:14:12.022] - Field: 'result' [13:14:12.023] - Field: 'asynchronous' [13:14:12.023] - Field: 'calls' [13:14:12.023] - Field: 'globals' [13:14:12.023] - Field: 'stdout' [13:14:12.023] - Field: 'earlySignal' [13:14:12.023] - Field: 'lazy' [13:14:12.024] - Field: 'state' [13:14:12.024] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.024] - Launch lazy future ... [13:14:12.024] Packages needed by the future expression (n = 0): [13:14:12.024] Packages needed by future strategies (n = 0): [13:14:12.025] { [13:14:12.025] { [13:14:12.025] { [13:14:12.025] ...future.startTime <- base::Sys.time() [13:14:12.025] { [13:14:12.025] { [13:14:12.025] { [13:14:12.025] { [13:14:12.025] base::local({ [13:14:12.025] has_future <- base::requireNamespace("future", [13:14:12.025] quietly = TRUE) [13:14:12.025] if (has_future) { [13:14:12.025] ns <- base::getNamespace("future") [13:14:12.025] version <- ns[[".package"]][["version"]] [13:14:12.025] if (is.null(version)) [13:14:12.025] version <- utils::packageVersion("future") [13:14:12.025] } [13:14:12.025] else { [13:14:12.025] version <- NULL [13:14:12.025] } [13:14:12.025] if (!has_future || version < "1.8.0") { [13:14:12.025] info <- base::c(r_version = base::gsub("R version ", [13:14:12.025] "", base::R.version$version.string), [13:14:12.025] platform = base::sprintf("%s (%s-bit)", [13:14:12.025] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.025] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.025] "release", "version")], collapse = " "), [13:14:12.025] hostname = base::Sys.info()[["nodename"]]) [13:14:12.025] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.025] info) [13:14:12.025] info <- base::paste(info, collapse = "; ") [13:14:12.025] if (!has_future) { [13:14:12.025] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.025] info) [13:14:12.025] } [13:14:12.025] else { [13:14:12.025] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.025] info, version) [13:14:12.025] } [13:14:12.025] base::stop(msg) [13:14:12.025] } [13:14:12.025] }) [13:14:12.025] } [13:14:12.025] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.025] base::options(mc.cores = 1L) [13:14:12.025] } [13:14:12.025] options(future.plan = NULL) [13:14:12.025] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.025] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.025] } [13:14:12.025] ...future.workdir <- getwd() [13:14:12.025] } [13:14:12.025] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.025] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.025] } [13:14:12.025] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.025] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.025] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.025] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.025] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.025] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.025] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.025] base::names(...future.oldOptions)) [13:14:12.025] } [13:14:12.025] if (FALSE) { [13:14:12.025] } [13:14:12.025] else { [13:14:12.025] if (TRUE) { [13:14:12.025] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.025] open = "w") [13:14:12.025] } [13:14:12.025] else { [13:14:12.025] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.025] windows = "NUL", "/dev/null"), open = "w") [13:14:12.025] } [13:14:12.025] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.025] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.025] base::sink(type = "output", split = FALSE) [13:14:12.025] base::close(...future.stdout) [13:14:12.025] }, add = TRUE) [13:14:12.025] } [13:14:12.025] ...future.frame <- base::sys.nframe() [13:14:12.025] ...future.conditions <- base::list() [13:14:12.025] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.025] if (FALSE) { [13:14:12.025] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.025] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.025] } [13:14:12.025] ...future.result <- base::tryCatch({ [13:14:12.025] base::withCallingHandlers({ [13:14:12.025] ...future.value <- base::withVisible(base::local({ [13:14:12.025] ...future.makeSendCondition <- local({ [13:14:12.025] sendCondition <- NULL [13:14:12.025] function(frame = 1L) { [13:14:12.025] if (is.function(sendCondition)) [13:14:12.025] return(sendCondition) [13:14:12.025] ns <- getNamespace("parallel") [13:14:12.025] if (exists("sendData", mode = "function", [13:14:12.025] envir = ns)) { [13:14:12.025] parallel_sendData <- get("sendData", mode = "function", [13:14:12.025] envir = ns) [13:14:12.025] envir <- sys.frame(frame) [13:14:12.025] master <- NULL [13:14:12.025] while (!identical(envir, .GlobalEnv) && [13:14:12.025] !identical(envir, emptyenv())) { [13:14:12.025] if (exists("master", mode = "list", envir = envir, [13:14:12.025] inherits = FALSE)) { [13:14:12.025] master <- get("master", mode = "list", [13:14:12.025] envir = envir, inherits = FALSE) [13:14:12.025] if (inherits(master, c("SOCKnode", [13:14:12.025] "SOCK0node"))) { [13:14:12.025] sendCondition <<- function(cond) { [13:14:12.025] data <- list(type = "VALUE", value = cond, [13:14:12.025] success = TRUE) [13:14:12.025] parallel_sendData(master, data) [13:14:12.025] } [13:14:12.025] return(sendCondition) [13:14:12.025] } [13:14:12.025] } [13:14:12.025] frame <- frame + 1L [13:14:12.025] envir <- sys.frame(frame) [13:14:12.025] } [13:14:12.025] } [13:14:12.025] sendCondition <<- function(cond) NULL [13:14:12.025] } [13:14:12.025] }) [13:14:12.025] withCallingHandlers({ [13:14:12.025] { [13:14:12.025] do.call(function(...) { [13:14:12.025] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.025] if (!identical(...future.globals.maxSize.org, [13:14:12.025] ...future.globals.maxSize)) { [13:14:12.025] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.025] on.exit(options(oopts), add = TRUE) [13:14:12.025] } [13:14:12.025] { [13:14:12.025] lapply(seq_along(...future.elements_ii), [13:14:12.025] FUN = function(jj) { [13:14:12.025] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.025] ...future.FUN(...future.X_jj, ...) [13:14:12.025] }) [13:14:12.025] } [13:14:12.025] }, args = future.call.arguments) [13:14:12.025] } [13:14:12.025] }, immediateCondition = function(cond) { [13:14:12.025] sendCondition <- ...future.makeSendCondition() [13:14:12.025] sendCondition(cond) [13:14:12.025] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.025] { [13:14:12.025] inherits <- base::inherits [13:14:12.025] invokeRestart <- base::invokeRestart [13:14:12.025] is.null <- base::is.null [13:14:12.025] muffled <- FALSE [13:14:12.025] if (inherits(cond, "message")) { [13:14:12.025] muffled <- grepl(pattern, "muffleMessage") [13:14:12.025] if (muffled) [13:14:12.025] invokeRestart("muffleMessage") [13:14:12.025] } [13:14:12.025] else if (inherits(cond, "warning")) { [13:14:12.025] muffled <- grepl(pattern, "muffleWarning") [13:14:12.025] if (muffled) [13:14:12.025] invokeRestart("muffleWarning") [13:14:12.025] } [13:14:12.025] else if (inherits(cond, "condition")) { [13:14:12.025] if (!is.null(pattern)) { [13:14:12.025] computeRestarts <- base::computeRestarts [13:14:12.025] grepl <- base::grepl [13:14:12.025] restarts <- computeRestarts(cond) [13:14:12.025] for (restart in restarts) { [13:14:12.025] name <- restart$name [13:14:12.025] if (is.null(name)) [13:14:12.025] next [13:14:12.025] if (!grepl(pattern, name)) [13:14:12.025] next [13:14:12.025] invokeRestart(restart) [13:14:12.025] muffled <- TRUE [13:14:12.025] break [13:14:12.025] } [13:14:12.025] } [13:14:12.025] } [13:14:12.025] invisible(muffled) [13:14:12.025] } [13:14:12.025] muffleCondition(cond) [13:14:12.025] }) [13:14:12.025] })) [13:14:12.025] future::FutureResult(value = ...future.value$value, [13:14:12.025] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.025] ...future.rng), globalenv = if (FALSE) [13:14:12.025] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.025] ...future.globalenv.names)) [13:14:12.025] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.025] }, condition = base::local({ [13:14:12.025] c <- base::c [13:14:12.025] inherits <- base::inherits [13:14:12.025] invokeRestart <- base::invokeRestart [13:14:12.025] length <- base::length [13:14:12.025] list <- base::list [13:14:12.025] seq.int <- base::seq.int [13:14:12.025] signalCondition <- base::signalCondition [13:14:12.025] sys.calls <- base::sys.calls [13:14:12.025] `[[` <- base::`[[` [13:14:12.025] `+` <- base::`+` [13:14:12.025] `<<-` <- base::`<<-` [13:14:12.025] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.025] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.025] 3L)] [13:14:12.025] } [13:14:12.025] function(cond) { [13:14:12.025] is_error <- inherits(cond, "error") [13:14:12.025] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.025] NULL) [13:14:12.025] if (is_error) { [13:14:12.025] sessionInformation <- function() { [13:14:12.025] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.025] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.025] search = base::search(), system = base::Sys.info()) [13:14:12.025] } [13:14:12.025] ...future.conditions[[length(...future.conditions) + [13:14:12.025] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.025] cond$call), session = sessionInformation(), [13:14:12.025] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.025] signalCondition(cond) [13:14:12.025] } [13:14:12.025] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.025] "immediateCondition"))) { [13:14:12.025] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.025] ...future.conditions[[length(...future.conditions) + [13:14:12.025] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.025] if (TRUE && !signal) { [13:14:12.025] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.025] { [13:14:12.025] inherits <- base::inherits [13:14:12.025] invokeRestart <- base::invokeRestart [13:14:12.025] is.null <- base::is.null [13:14:12.025] muffled <- FALSE [13:14:12.025] if (inherits(cond, "message")) { [13:14:12.025] muffled <- grepl(pattern, "muffleMessage") [13:14:12.025] if (muffled) [13:14:12.025] invokeRestart("muffleMessage") [13:14:12.025] } [13:14:12.025] else if (inherits(cond, "warning")) { [13:14:12.025] muffled <- grepl(pattern, "muffleWarning") [13:14:12.025] if (muffled) [13:14:12.025] invokeRestart("muffleWarning") [13:14:12.025] } [13:14:12.025] else if (inherits(cond, "condition")) { [13:14:12.025] if (!is.null(pattern)) { [13:14:12.025] computeRestarts <- base::computeRestarts [13:14:12.025] grepl <- base::grepl [13:14:12.025] restarts <- computeRestarts(cond) [13:14:12.025] for (restart in restarts) { [13:14:12.025] name <- restart$name [13:14:12.025] if (is.null(name)) [13:14:12.025] next [13:14:12.025] if (!grepl(pattern, name)) [13:14:12.025] next [13:14:12.025] invokeRestart(restart) [13:14:12.025] muffled <- TRUE [13:14:12.025] break [13:14:12.025] } [13:14:12.025] } [13:14:12.025] } [13:14:12.025] invisible(muffled) [13:14:12.025] } [13:14:12.025] muffleCondition(cond, pattern = "^muffle") [13:14:12.025] } [13:14:12.025] } [13:14:12.025] else { [13:14:12.025] if (TRUE) { [13:14:12.025] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.025] { [13:14:12.025] inherits <- base::inherits [13:14:12.025] invokeRestart <- base::invokeRestart [13:14:12.025] is.null <- base::is.null [13:14:12.025] muffled <- FALSE [13:14:12.025] if (inherits(cond, "message")) { [13:14:12.025] muffled <- grepl(pattern, "muffleMessage") [13:14:12.025] if (muffled) [13:14:12.025] invokeRestart("muffleMessage") [13:14:12.025] } [13:14:12.025] else if (inherits(cond, "warning")) { [13:14:12.025] muffled <- grepl(pattern, "muffleWarning") [13:14:12.025] if (muffled) [13:14:12.025] invokeRestart("muffleWarning") [13:14:12.025] } [13:14:12.025] else if (inherits(cond, "condition")) { [13:14:12.025] if (!is.null(pattern)) { [13:14:12.025] computeRestarts <- base::computeRestarts [13:14:12.025] grepl <- base::grepl [13:14:12.025] restarts <- computeRestarts(cond) [13:14:12.025] for (restart in restarts) { [13:14:12.025] name <- restart$name [13:14:12.025] if (is.null(name)) [13:14:12.025] next [13:14:12.025] if (!grepl(pattern, name)) [13:14:12.025] next [13:14:12.025] invokeRestart(restart) [13:14:12.025] muffled <- TRUE [13:14:12.025] break [13:14:12.025] } [13:14:12.025] } [13:14:12.025] } [13:14:12.025] invisible(muffled) [13:14:12.025] } [13:14:12.025] muffleCondition(cond, pattern = "^muffle") [13:14:12.025] } [13:14:12.025] } [13:14:12.025] } [13:14:12.025] })) [13:14:12.025] }, error = function(ex) { [13:14:12.025] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.025] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.025] ...future.rng), started = ...future.startTime, [13:14:12.025] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.025] version = "1.8"), class = "FutureResult") [13:14:12.025] }, finally = { [13:14:12.025] if (!identical(...future.workdir, getwd())) [13:14:12.025] setwd(...future.workdir) [13:14:12.025] { [13:14:12.025] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.025] ...future.oldOptions$nwarnings <- NULL [13:14:12.025] } [13:14:12.025] base::options(...future.oldOptions) [13:14:12.025] if (.Platform$OS.type == "windows") { [13:14:12.025] old_names <- names(...future.oldEnvVars) [13:14:12.025] envs <- base::Sys.getenv() [13:14:12.025] names <- names(envs) [13:14:12.025] common <- intersect(names, old_names) [13:14:12.025] added <- setdiff(names, old_names) [13:14:12.025] removed <- setdiff(old_names, names) [13:14:12.025] changed <- common[...future.oldEnvVars[common] != [13:14:12.025] envs[common]] [13:14:12.025] NAMES <- toupper(changed) [13:14:12.025] args <- list() [13:14:12.025] for (kk in seq_along(NAMES)) { [13:14:12.025] name <- changed[[kk]] [13:14:12.025] NAME <- NAMES[[kk]] [13:14:12.025] if (name != NAME && is.element(NAME, old_names)) [13:14:12.025] next [13:14:12.025] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.025] } [13:14:12.025] NAMES <- toupper(added) [13:14:12.025] for (kk in seq_along(NAMES)) { [13:14:12.025] name <- added[[kk]] [13:14:12.025] NAME <- NAMES[[kk]] [13:14:12.025] if (name != NAME && is.element(NAME, old_names)) [13:14:12.025] next [13:14:12.025] args[[name]] <- "" [13:14:12.025] } [13:14:12.025] NAMES <- toupper(removed) [13:14:12.025] for (kk in seq_along(NAMES)) { [13:14:12.025] name <- removed[[kk]] [13:14:12.025] NAME <- NAMES[[kk]] [13:14:12.025] if (name != NAME && is.element(NAME, old_names)) [13:14:12.025] next [13:14:12.025] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.025] } [13:14:12.025] if (length(args) > 0) [13:14:12.025] base::do.call(base::Sys.setenv, args = args) [13:14:12.025] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.025] } [13:14:12.025] else { [13:14:12.025] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.025] } [13:14:12.025] { [13:14:12.025] if (base::length(...future.futureOptionsAdded) > [13:14:12.025] 0L) { [13:14:12.025] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.025] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.025] base::options(opts) [13:14:12.025] } [13:14:12.025] { [13:14:12.025] { [13:14:12.025] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.025] NULL [13:14:12.025] } [13:14:12.025] options(future.plan = NULL) [13:14:12.025] if (is.na(NA_character_)) [13:14:12.025] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.025] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.025] future::plan(list(function (..., workers = availableCores(), [13:14:12.025] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.025] envir = parent.frame()) [13:14:12.025] { [13:14:12.025] if (is.function(workers)) [13:14:12.025] workers <- workers() [13:14:12.025] workers <- structure(as.integer(workers), [13:14:12.025] class = class(workers)) [13:14:12.025] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.025] workers >= 1) [13:14:12.025] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.025] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.025] } [13:14:12.025] future <- MultisessionFuture(..., workers = workers, [13:14:12.025] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.025] envir = envir) [13:14:12.025] if (!future$lazy) [13:14:12.025] future <- run(future) [13:14:12.025] invisible(future) [13:14:12.025] }), .cleanup = FALSE, .init = FALSE) [13:14:12.025] } [13:14:12.025] } [13:14:12.025] } [13:14:12.025] }) [13:14:12.025] if (TRUE) { [13:14:12.025] base::sink(type = "output", split = FALSE) [13:14:12.025] if (TRUE) { [13:14:12.025] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.025] } [13:14:12.025] else { [13:14:12.025] ...future.result["stdout"] <- base::list(NULL) [13:14:12.025] } [13:14:12.025] base::close(...future.stdout) [13:14:12.025] ...future.stdout <- NULL [13:14:12.025] } [13:14:12.025] ...future.result$conditions <- ...future.conditions [13:14:12.025] ...future.result$finished <- base::Sys.time() [13:14:12.025] ...future.result [13:14:12.025] } [13:14:12.030] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:12.030] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:12.031] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:12.031] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.032] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.032] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.032] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.032] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.033] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.033] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.033] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.034] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:12.034] MultisessionFuture started [13:14:12.034] - Launch lazy future ... done [13:14:12.035] run() for 'MultisessionFuture' ... done [13:14:12.035] Created future: [13:14:12.050] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.050] - Validating connection of MultisessionFuture [13:14:12.051] - received message: FutureResult [13:14:12.051] - Received FutureResult [13:14:12.051] - Erased future from FutureRegistry [13:14:12.051] result() for ClusterFuture ... [13:14:12.051] - result already collected: FutureResult [13:14:12.051] result() for ClusterFuture ... done [13:14:12.052] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.035] MultisessionFuture: [13:14:12.035] Label: 'future_sapply-1' [13:14:12.035] Expression: [13:14:12.035] { [13:14:12.035] do.call(function(...) { [13:14:12.035] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.035] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.035] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.035] on.exit(options(oopts), add = TRUE) [13:14:12.035] } [13:14:12.035] { [13:14:12.035] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.035] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.035] ...future.FUN(...future.X_jj, ...) [13:14:12.035] }) [13:14:12.035] } [13:14:12.035] }, args = future.call.arguments) [13:14:12.035] } [13:14:12.035] Lazy evaluation: FALSE [13:14:12.035] Asynchronous evaluation: TRUE [13:14:12.035] Local evaluation: TRUE [13:14:12.035] Environment: R_GlobalEnv [13:14:12.035] Capture standard output: TRUE [13:14:12.035] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.035] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.035] Packages: [13:14:12.035] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.035] Resolved: TRUE [13:14:12.035] Value: [13:14:12.035] Conditions captured: [13:14:12.035] Early signaling: FALSE [13:14:12.035] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.035] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.052] Chunk #1 of 2 ... DONE [13:14:12.052] Chunk #2 of 2 ... [13:14:12.052] - Finding globals in 'X' for chunk #2 ... [13:14:12.052] getGlobalsAndPackages() ... [13:14:12.053] Searching for globals... [13:14:12.053] [13:14:12.053] Searching for globals ... DONE [13:14:12.053] - globals: [0] [13:14:12.053] getGlobalsAndPackages() ... DONE [13:14:12.054] + additional globals found: [n=0] [13:14:12.054] + additional namespaces needed: [n=0] [13:14:12.054] - Finding globals in 'X' for chunk #2 ... DONE [13:14:12.054] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.054] - seeds: [13:14:12.054] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.055] getGlobalsAndPackages() ... [13:14:12.055] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.055] Resolving globals: FALSE [13:14:12.055] Tweak future expression to call with '...' arguments ... [13:14:12.055] { [13:14:12.055] do.call(function(...) { [13:14:12.055] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.055] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.055] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.055] on.exit(options(oopts), add = TRUE) [13:14:12.055] } [13:14:12.055] { [13:14:12.055] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.055] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.055] ...future.FUN(...future.X_jj, ...) [13:14:12.055] }) [13:14:12.055] } [13:14:12.055] }, args = future.call.arguments) [13:14:12.055] } [13:14:12.056] Tweak future expression to call with '...' arguments ... DONE [13:14:12.056] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.056] [13:14:12.057] getGlobalsAndPackages() ... DONE [13:14:12.057] run() for 'Future' ... [13:14:12.057] - state: 'created' [13:14:12.057] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.071] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.072] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.072] - Field: 'node' [13:14:12.072] - Field: 'label' [13:14:12.072] - Field: 'local' [13:14:12.072] - Field: 'owner' [13:14:12.073] - Field: 'envir' [13:14:12.073] - Field: 'workers' [13:14:12.073] - Field: 'packages' [13:14:12.073] - Field: 'gc' [13:14:12.073] - Field: 'conditions' [13:14:12.073] - Field: 'persistent' [13:14:12.074] - Field: 'expr' [13:14:12.074] - Field: 'uuid' [13:14:12.074] - Field: 'seed' [13:14:12.074] - Field: 'version' [13:14:12.074] - Field: 'result' [13:14:12.075] - Field: 'asynchronous' [13:14:12.075] - Field: 'calls' [13:14:12.075] - Field: 'globals' [13:14:12.075] - Field: 'stdout' [13:14:12.075] - Field: 'earlySignal' [13:14:12.075] - Field: 'lazy' [13:14:12.076] - Field: 'state' [13:14:12.076] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.076] - Launch lazy future ... [13:14:12.076] Packages needed by the future expression (n = 0): [13:14:12.076] Packages needed by future strategies (n = 0): [13:14:12.077] { [13:14:12.077] { [13:14:12.077] { [13:14:12.077] ...future.startTime <- base::Sys.time() [13:14:12.077] { [13:14:12.077] { [13:14:12.077] { [13:14:12.077] { [13:14:12.077] base::local({ [13:14:12.077] has_future <- base::requireNamespace("future", [13:14:12.077] quietly = TRUE) [13:14:12.077] if (has_future) { [13:14:12.077] ns <- base::getNamespace("future") [13:14:12.077] version <- ns[[".package"]][["version"]] [13:14:12.077] if (is.null(version)) [13:14:12.077] version <- utils::packageVersion("future") [13:14:12.077] } [13:14:12.077] else { [13:14:12.077] version <- NULL [13:14:12.077] } [13:14:12.077] if (!has_future || version < "1.8.0") { [13:14:12.077] info <- base::c(r_version = base::gsub("R version ", [13:14:12.077] "", base::R.version$version.string), [13:14:12.077] platform = base::sprintf("%s (%s-bit)", [13:14:12.077] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.077] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.077] "release", "version")], collapse = " "), [13:14:12.077] hostname = base::Sys.info()[["nodename"]]) [13:14:12.077] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.077] info) [13:14:12.077] info <- base::paste(info, collapse = "; ") [13:14:12.077] if (!has_future) { [13:14:12.077] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.077] info) [13:14:12.077] } [13:14:12.077] else { [13:14:12.077] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.077] info, version) [13:14:12.077] } [13:14:12.077] base::stop(msg) [13:14:12.077] } [13:14:12.077] }) [13:14:12.077] } [13:14:12.077] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.077] base::options(mc.cores = 1L) [13:14:12.077] } [13:14:12.077] options(future.plan = NULL) [13:14:12.077] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.077] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.077] } [13:14:12.077] ...future.workdir <- getwd() [13:14:12.077] } [13:14:12.077] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.077] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.077] } [13:14:12.077] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.077] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.077] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.077] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.077] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.077] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.077] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.077] base::names(...future.oldOptions)) [13:14:12.077] } [13:14:12.077] if (FALSE) { [13:14:12.077] } [13:14:12.077] else { [13:14:12.077] if (TRUE) { [13:14:12.077] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.077] open = "w") [13:14:12.077] } [13:14:12.077] else { [13:14:12.077] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.077] windows = "NUL", "/dev/null"), open = "w") [13:14:12.077] } [13:14:12.077] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.077] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.077] base::sink(type = "output", split = FALSE) [13:14:12.077] base::close(...future.stdout) [13:14:12.077] }, add = TRUE) [13:14:12.077] } [13:14:12.077] ...future.frame <- base::sys.nframe() [13:14:12.077] ...future.conditions <- base::list() [13:14:12.077] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.077] if (FALSE) { [13:14:12.077] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.077] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.077] } [13:14:12.077] ...future.result <- base::tryCatch({ [13:14:12.077] base::withCallingHandlers({ [13:14:12.077] ...future.value <- base::withVisible(base::local({ [13:14:12.077] ...future.makeSendCondition <- local({ [13:14:12.077] sendCondition <- NULL [13:14:12.077] function(frame = 1L) { [13:14:12.077] if (is.function(sendCondition)) [13:14:12.077] return(sendCondition) [13:14:12.077] ns <- getNamespace("parallel") [13:14:12.077] if (exists("sendData", mode = "function", [13:14:12.077] envir = ns)) { [13:14:12.077] parallel_sendData <- get("sendData", mode = "function", [13:14:12.077] envir = ns) [13:14:12.077] envir <- sys.frame(frame) [13:14:12.077] master <- NULL [13:14:12.077] while (!identical(envir, .GlobalEnv) && [13:14:12.077] !identical(envir, emptyenv())) { [13:14:12.077] if (exists("master", mode = "list", envir = envir, [13:14:12.077] inherits = FALSE)) { [13:14:12.077] master <- get("master", mode = "list", [13:14:12.077] envir = envir, inherits = FALSE) [13:14:12.077] if (inherits(master, c("SOCKnode", [13:14:12.077] "SOCK0node"))) { [13:14:12.077] sendCondition <<- function(cond) { [13:14:12.077] data <- list(type = "VALUE", value = cond, [13:14:12.077] success = TRUE) [13:14:12.077] parallel_sendData(master, data) [13:14:12.077] } [13:14:12.077] return(sendCondition) [13:14:12.077] } [13:14:12.077] } [13:14:12.077] frame <- frame + 1L [13:14:12.077] envir <- sys.frame(frame) [13:14:12.077] } [13:14:12.077] } [13:14:12.077] sendCondition <<- function(cond) NULL [13:14:12.077] } [13:14:12.077] }) [13:14:12.077] withCallingHandlers({ [13:14:12.077] { [13:14:12.077] do.call(function(...) { [13:14:12.077] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.077] if (!identical(...future.globals.maxSize.org, [13:14:12.077] ...future.globals.maxSize)) { [13:14:12.077] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.077] on.exit(options(oopts), add = TRUE) [13:14:12.077] } [13:14:12.077] { [13:14:12.077] lapply(seq_along(...future.elements_ii), [13:14:12.077] FUN = function(jj) { [13:14:12.077] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.077] ...future.FUN(...future.X_jj, ...) [13:14:12.077] }) [13:14:12.077] } [13:14:12.077] }, args = future.call.arguments) [13:14:12.077] } [13:14:12.077] }, immediateCondition = function(cond) { [13:14:12.077] sendCondition <- ...future.makeSendCondition() [13:14:12.077] sendCondition(cond) [13:14:12.077] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.077] { [13:14:12.077] inherits <- base::inherits [13:14:12.077] invokeRestart <- base::invokeRestart [13:14:12.077] is.null <- base::is.null [13:14:12.077] muffled <- FALSE [13:14:12.077] if (inherits(cond, "message")) { [13:14:12.077] muffled <- grepl(pattern, "muffleMessage") [13:14:12.077] if (muffled) [13:14:12.077] invokeRestart("muffleMessage") [13:14:12.077] } [13:14:12.077] else if (inherits(cond, "warning")) { [13:14:12.077] muffled <- grepl(pattern, "muffleWarning") [13:14:12.077] if (muffled) [13:14:12.077] invokeRestart("muffleWarning") [13:14:12.077] } [13:14:12.077] else if (inherits(cond, "condition")) { [13:14:12.077] if (!is.null(pattern)) { [13:14:12.077] computeRestarts <- base::computeRestarts [13:14:12.077] grepl <- base::grepl [13:14:12.077] restarts <- computeRestarts(cond) [13:14:12.077] for (restart in restarts) { [13:14:12.077] name <- restart$name [13:14:12.077] if (is.null(name)) [13:14:12.077] next [13:14:12.077] if (!grepl(pattern, name)) [13:14:12.077] next [13:14:12.077] invokeRestart(restart) [13:14:12.077] muffled <- TRUE [13:14:12.077] break [13:14:12.077] } [13:14:12.077] } [13:14:12.077] } [13:14:12.077] invisible(muffled) [13:14:12.077] } [13:14:12.077] muffleCondition(cond) [13:14:12.077] }) [13:14:12.077] })) [13:14:12.077] future::FutureResult(value = ...future.value$value, [13:14:12.077] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.077] ...future.rng), globalenv = if (FALSE) [13:14:12.077] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.077] ...future.globalenv.names)) [13:14:12.077] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.077] }, condition = base::local({ [13:14:12.077] c <- base::c [13:14:12.077] inherits <- base::inherits [13:14:12.077] invokeRestart <- base::invokeRestart [13:14:12.077] length <- base::length [13:14:12.077] list <- base::list [13:14:12.077] seq.int <- base::seq.int [13:14:12.077] signalCondition <- base::signalCondition [13:14:12.077] sys.calls <- base::sys.calls [13:14:12.077] `[[` <- base::`[[` [13:14:12.077] `+` <- base::`+` [13:14:12.077] `<<-` <- base::`<<-` [13:14:12.077] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.077] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.077] 3L)] [13:14:12.077] } [13:14:12.077] function(cond) { [13:14:12.077] is_error <- inherits(cond, "error") [13:14:12.077] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.077] NULL) [13:14:12.077] if (is_error) { [13:14:12.077] sessionInformation <- function() { [13:14:12.077] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.077] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.077] search = base::search(), system = base::Sys.info()) [13:14:12.077] } [13:14:12.077] ...future.conditions[[length(...future.conditions) + [13:14:12.077] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.077] cond$call), session = sessionInformation(), [13:14:12.077] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.077] signalCondition(cond) [13:14:12.077] } [13:14:12.077] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.077] "immediateCondition"))) { [13:14:12.077] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.077] ...future.conditions[[length(...future.conditions) + [13:14:12.077] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.077] if (TRUE && !signal) { [13:14:12.077] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.077] { [13:14:12.077] inherits <- base::inherits [13:14:12.077] invokeRestart <- base::invokeRestart [13:14:12.077] is.null <- base::is.null [13:14:12.077] muffled <- FALSE [13:14:12.077] if (inherits(cond, "message")) { [13:14:12.077] muffled <- grepl(pattern, "muffleMessage") [13:14:12.077] if (muffled) [13:14:12.077] invokeRestart("muffleMessage") [13:14:12.077] } [13:14:12.077] else if (inherits(cond, "warning")) { [13:14:12.077] muffled <- grepl(pattern, "muffleWarning") [13:14:12.077] if (muffled) [13:14:12.077] invokeRestart("muffleWarning") [13:14:12.077] } [13:14:12.077] else if (inherits(cond, "condition")) { [13:14:12.077] if (!is.null(pattern)) { [13:14:12.077] computeRestarts <- base::computeRestarts [13:14:12.077] grepl <- base::grepl [13:14:12.077] restarts <- computeRestarts(cond) [13:14:12.077] for (restart in restarts) { [13:14:12.077] name <- restart$name [13:14:12.077] if (is.null(name)) [13:14:12.077] next [13:14:12.077] if (!grepl(pattern, name)) [13:14:12.077] next [13:14:12.077] invokeRestart(restart) [13:14:12.077] muffled <- TRUE [13:14:12.077] break [13:14:12.077] } [13:14:12.077] } [13:14:12.077] } [13:14:12.077] invisible(muffled) [13:14:12.077] } [13:14:12.077] muffleCondition(cond, pattern = "^muffle") [13:14:12.077] } [13:14:12.077] } [13:14:12.077] else { [13:14:12.077] if (TRUE) { [13:14:12.077] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.077] { [13:14:12.077] inherits <- base::inherits [13:14:12.077] invokeRestart <- base::invokeRestart [13:14:12.077] is.null <- base::is.null [13:14:12.077] muffled <- FALSE [13:14:12.077] if (inherits(cond, "message")) { [13:14:12.077] muffled <- grepl(pattern, "muffleMessage") [13:14:12.077] if (muffled) [13:14:12.077] invokeRestart("muffleMessage") [13:14:12.077] } [13:14:12.077] else if (inherits(cond, "warning")) { [13:14:12.077] muffled <- grepl(pattern, "muffleWarning") [13:14:12.077] if (muffled) [13:14:12.077] invokeRestart("muffleWarning") [13:14:12.077] } [13:14:12.077] else if (inherits(cond, "condition")) { [13:14:12.077] if (!is.null(pattern)) { [13:14:12.077] computeRestarts <- base::computeRestarts [13:14:12.077] grepl <- base::grepl [13:14:12.077] restarts <- computeRestarts(cond) [13:14:12.077] for (restart in restarts) { [13:14:12.077] name <- restart$name [13:14:12.077] if (is.null(name)) [13:14:12.077] next [13:14:12.077] if (!grepl(pattern, name)) [13:14:12.077] next [13:14:12.077] invokeRestart(restart) [13:14:12.077] muffled <- TRUE [13:14:12.077] break [13:14:12.077] } [13:14:12.077] } [13:14:12.077] } [13:14:12.077] invisible(muffled) [13:14:12.077] } [13:14:12.077] muffleCondition(cond, pattern = "^muffle") [13:14:12.077] } [13:14:12.077] } [13:14:12.077] } [13:14:12.077] })) [13:14:12.077] }, error = function(ex) { [13:14:12.077] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.077] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.077] ...future.rng), started = ...future.startTime, [13:14:12.077] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.077] version = "1.8"), class = "FutureResult") [13:14:12.077] }, finally = { [13:14:12.077] if (!identical(...future.workdir, getwd())) [13:14:12.077] setwd(...future.workdir) [13:14:12.077] { [13:14:12.077] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.077] ...future.oldOptions$nwarnings <- NULL [13:14:12.077] } [13:14:12.077] base::options(...future.oldOptions) [13:14:12.077] if (.Platform$OS.type == "windows") { [13:14:12.077] old_names <- names(...future.oldEnvVars) [13:14:12.077] envs <- base::Sys.getenv() [13:14:12.077] names <- names(envs) [13:14:12.077] common <- intersect(names, old_names) [13:14:12.077] added <- setdiff(names, old_names) [13:14:12.077] removed <- setdiff(old_names, names) [13:14:12.077] changed <- common[...future.oldEnvVars[common] != [13:14:12.077] envs[common]] [13:14:12.077] NAMES <- toupper(changed) [13:14:12.077] args <- list() [13:14:12.077] for (kk in seq_along(NAMES)) { [13:14:12.077] name <- changed[[kk]] [13:14:12.077] NAME <- NAMES[[kk]] [13:14:12.077] if (name != NAME && is.element(NAME, old_names)) [13:14:12.077] next [13:14:12.077] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.077] } [13:14:12.077] NAMES <- toupper(added) [13:14:12.077] for (kk in seq_along(NAMES)) { [13:14:12.077] name <- added[[kk]] [13:14:12.077] NAME <- NAMES[[kk]] [13:14:12.077] if (name != NAME && is.element(NAME, old_names)) [13:14:12.077] next [13:14:12.077] args[[name]] <- "" [13:14:12.077] } [13:14:12.077] NAMES <- toupper(removed) [13:14:12.077] for (kk in seq_along(NAMES)) { [13:14:12.077] name <- removed[[kk]] [13:14:12.077] NAME <- NAMES[[kk]] [13:14:12.077] if (name != NAME && is.element(NAME, old_names)) [13:14:12.077] next [13:14:12.077] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.077] } [13:14:12.077] if (length(args) > 0) [13:14:12.077] base::do.call(base::Sys.setenv, args = args) [13:14:12.077] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.077] } [13:14:12.077] else { [13:14:12.077] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.077] } [13:14:12.077] { [13:14:12.077] if (base::length(...future.futureOptionsAdded) > [13:14:12.077] 0L) { [13:14:12.077] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.077] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.077] base::options(opts) [13:14:12.077] } [13:14:12.077] { [13:14:12.077] { [13:14:12.077] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.077] NULL [13:14:12.077] } [13:14:12.077] options(future.plan = NULL) [13:14:12.077] if (is.na(NA_character_)) [13:14:12.077] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.077] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.077] future::plan(list(function (..., workers = availableCores(), [13:14:12.077] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.077] envir = parent.frame()) [13:14:12.077] { [13:14:12.077] if (is.function(workers)) [13:14:12.077] workers <- workers() [13:14:12.077] workers <- structure(as.integer(workers), [13:14:12.077] class = class(workers)) [13:14:12.077] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.077] workers >= 1) [13:14:12.077] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.077] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.077] } [13:14:12.077] future <- MultisessionFuture(..., workers = workers, [13:14:12.077] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.077] envir = envir) [13:14:12.077] if (!future$lazy) [13:14:12.077] future <- run(future) [13:14:12.077] invisible(future) [13:14:12.077] }), .cleanup = FALSE, .init = FALSE) [13:14:12.077] } [13:14:12.077] } [13:14:12.077] } [13:14:12.077] }) [13:14:12.077] if (TRUE) { [13:14:12.077] base::sink(type = "output", split = FALSE) [13:14:12.077] if (TRUE) { [13:14:12.077] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.077] } [13:14:12.077] else { [13:14:12.077] ...future.result["stdout"] <- base::list(NULL) [13:14:12.077] } [13:14:12.077] base::close(...future.stdout) [13:14:12.077] ...future.stdout <- NULL [13:14:12.077] } [13:14:12.077] ...future.result$conditions <- ...future.conditions [13:14:12.077] ...future.result$finished <- base::Sys.time() [13:14:12.077] ...future.result [13:14:12.077] } [13:14:12.083] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:12.083] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:12.083] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:12.084] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.084] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.084] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.085] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.085] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.085] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.085] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.086] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.086] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:12.087] MultisessionFuture started [13:14:12.087] - Launch lazy future ... done [13:14:12.087] run() for 'MultisessionFuture' ... done [13:14:12.087] Created future: [13:14:12.103] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.103] - Validating connection of MultisessionFuture [13:14:12.103] - received message: FutureResult [13:14:12.104] - Received FutureResult [13:14:12.104] - Erased future from FutureRegistry [13:14:12.104] result() for ClusterFuture ... [13:14:12.104] - result already collected: FutureResult [13:14:12.104] result() for ClusterFuture ... done [13:14:12.105] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.087] MultisessionFuture: [13:14:12.087] Label: 'future_sapply-2' [13:14:12.087] Expression: [13:14:12.087] { [13:14:12.087] do.call(function(...) { [13:14:12.087] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.087] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.087] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.087] on.exit(options(oopts), add = TRUE) [13:14:12.087] } [13:14:12.087] { [13:14:12.087] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.087] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.087] ...future.FUN(...future.X_jj, ...) [13:14:12.087] }) [13:14:12.087] } [13:14:12.087] }, args = future.call.arguments) [13:14:12.087] } [13:14:12.087] Lazy evaluation: FALSE [13:14:12.087] Asynchronous evaluation: TRUE [13:14:12.087] Local evaluation: TRUE [13:14:12.087] Environment: R_GlobalEnv [13:14:12.087] Capture standard output: TRUE [13:14:12.087] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.087] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.087] Packages: [13:14:12.087] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.087] Resolved: TRUE [13:14:12.087] Value: [13:14:12.087] Conditions captured: [13:14:12.087] Early signaling: FALSE [13:14:12.087] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.087] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.105] Chunk #2 of 2 ... DONE [13:14:12.105] Launching 2 futures (chunks) ... DONE [13:14:12.105] Resolving 2 futures (chunks) ... [13:14:12.105] resolve() on list ... [13:14:12.106] recursive: 0 [13:14:12.106] length: 2 [13:14:12.106] [13:14:12.106] Future #1 [13:14:12.106] result() for ClusterFuture ... [13:14:12.106] - result already collected: FutureResult [13:14:12.107] result() for ClusterFuture ... done [13:14:12.107] result() for ClusterFuture ... [13:14:12.107] - result already collected: FutureResult [13:14:12.107] result() for ClusterFuture ... done [13:14:12.107] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:12.107] - nx: 2 [13:14:12.108] - relay: TRUE [13:14:12.108] - stdout: TRUE [13:14:12.108] - signal: TRUE [13:14:12.108] - resignal: FALSE [13:14:12.108] - force: TRUE [13:14:12.108] - relayed: [n=2] FALSE, FALSE [13:14:12.108] - queued futures: [n=2] FALSE, FALSE [13:14:12.109] - until=1 [13:14:12.109] - relaying element #1 [13:14:12.109] result() for ClusterFuture ... [13:14:12.109] - result already collected: FutureResult [13:14:12.109] result() for ClusterFuture ... done [13:14:12.109] result() for ClusterFuture ... [13:14:12.110] - result already collected: FutureResult [13:14:12.110] result() for ClusterFuture ... done [13:14:12.110] result() for ClusterFuture ... [13:14:12.110] - result already collected: FutureResult [13:14:12.110] result() for ClusterFuture ... done [13:14:12.110] result() for ClusterFuture ... [13:14:12.111] - result already collected: FutureResult [13:14:12.111] result() for ClusterFuture ... done [13:14:12.111] - relayed: [n=2] TRUE, FALSE [13:14:12.111] - queued futures: [n=2] TRUE, FALSE [13:14:12.111] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:12.111] length: 1 (resolved future 1) [13:14:12.112] Future #2 [13:14:12.112] result() for ClusterFuture ... [13:14:12.112] - result already collected: FutureResult [13:14:12.112] result() for ClusterFuture ... done [13:14:12.112] result() for ClusterFuture ... [13:14:12.112] - result already collected: FutureResult [13:14:12.112] result() for ClusterFuture ... done [13:14:12.113] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:12.113] - nx: 2 [13:14:12.113] - relay: TRUE [13:14:12.113] - stdout: TRUE [13:14:12.113] - signal: TRUE [13:14:12.113] - resignal: FALSE [13:14:12.114] - force: TRUE [13:14:12.114] - relayed: [n=2] TRUE, FALSE [13:14:12.114] - queued futures: [n=2] TRUE, FALSE [13:14:12.114] - until=2 [13:14:12.114] - relaying element #2 [13:14:12.114] result() for ClusterFuture ... [13:14:12.114] - result already collected: FutureResult [13:14:12.115] result() for ClusterFuture ... done [13:14:12.115] result() for ClusterFuture ... [13:14:12.115] - result already collected: FutureResult [13:14:12.115] result() for ClusterFuture ... done [13:14:12.115] result() for ClusterFuture ... [13:14:12.115] - result already collected: FutureResult [13:14:12.116] result() for ClusterFuture ... done [13:14:12.116] result() for ClusterFuture ... [13:14:12.116] - result already collected: FutureResult [13:14:12.116] result() for ClusterFuture ... done [13:14:12.116] - relayed: [n=2] TRUE, TRUE [13:14:12.116] - queued futures: [n=2] TRUE, TRUE [13:14:12.117] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:12.117] length: 0 (resolved future 2) [13:14:12.117] Relaying remaining futures [13:14:12.117] signalConditionsASAP(NULL, pos=0) ... [13:14:12.117] - nx: 2 [13:14:12.117] - relay: TRUE [13:14:12.118] - stdout: TRUE [13:14:12.118] - signal: TRUE [13:14:12.118] - resignal: FALSE [13:14:12.118] - force: TRUE [13:14:12.118] - relayed: [n=2] TRUE, TRUE [13:14:12.118] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:12.119] - relayed: [n=2] TRUE, TRUE [13:14:12.119] - queued futures: [n=2] TRUE, TRUE [13:14:12.119] signalConditionsASAP(NULL, pos=0) ... done [13:14:12.119] resolve() on list ... DONE [13:14:12.119] result() for ClusterFuture ... [13:14:12.119] - result already collected: FutureResult [13:14:12.119] result() for ClusterFuture ... done [13:14:12.120] result() for ClusterFuture ... [13:14:12.120] - result already collected: FutureResult [13:14:12.120] result() for ClusterFuture ... done [13:14:12.120] result() for ClusterFuture ... [13:14:12.120] - result already collected: FutureResult [13:14:12.120] result() for ClusterFuture ... done [13:14:12.121] result() for ClusterFuture ... [13:14:12.121] - result already collected: FutureResult [13:14:12.121] result() for ClusterFuture ... done [13:14:12.121] - Number of value chunks collected: 2 [13:14:12.121] Resolving 2 futures (chunks) ... DONE [13:14:12.121] Reducing values from 2 chunks ... [13:14:12.122] - Number of values collected after concatenation: 4 [13:14:12.122] - Number of values expected: 4 [13:14:12.122] Reducing values from 2 chunks ... DONE [13:14:12.122] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:12.124] future_lapply() ... [13:14:12.127] Number of chunks: 2 [13:14:12.127] getGlobalsAndPackagesXApply() ... [13:14:12.128] - future.globals: TRUE [13:14:12.128] getGlobalsAndPackages() ... [13:14:12.128] Searching for globals... [13:14:12.130] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:12.130] Searching for globals ... DONE [13:14:12.130] Resolving globals: FALSE [13:14:12.131] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:12.131] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:12.131] - globals: [1] 'FUN' [13:14:12.131] [13:14:12.132] getGlobalsAndPackages() ... DONE [13:14:12.132] - globals found/used: [n=1] 'FUN' [13:14:12.132] - needed namespaces: [n=0] [13:14:12.132] Finding globals ... DONE [13:14:12.132] - use_args: TRUE [13:14:12.132] - Getting '...' globals ... [13:14:12.133] resolve() on list ... [13:14:12.133] recursive: 0 [13:14:12.133] length: 1 [13:14:12.133] elements: '...' [13:14:12.134] length: 0 (resolved future 1) [13:14:12.134] resolve() on list ... DONE [13:14:12.134] - '...' content: [n=0] [13:14:12.134] List of 1 [13:14:12.134] $ ...: list() [13:14:12.134] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.134] - attr(*, "where")=List of 1 [13:14:12.134] ..$ ...: [13:14:12.134] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.134] - attr(*, "resolved")= logi TRUE [13:14:12.134] - attr(*, "total_size")= num NA [13:14:12.137] - Getting '...' globals ... DONE [13:14:12.137] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:12.137] List of 2 [13:14:12.137] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:12.137] $ ... : list() [13:14:12.137] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.137] - attr(*, "where")=List of 2 [13:14:12.137] ..$ ...future.FUN: [13:14:12.137] ..$ ... : [13:14:12.137] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.137] - attr(*, "resolved")= logi FALSE [13:14:12.137] - attr(*, "total_size")= num 4728 [13:14:12.141] Packages to be attached in all futures: [n=0] [13:14:12.141] getGlobalsAndPackagesXApply() ... DONE [13:14:12.141] Number of futures (= number of chunks): 2 [13:14:12.141] Launching 2 futures (chunks) ... [13:14:12.142] Chunk #1 of 2 ... [13:14:12.142] - Finding globals in 'X' for chunk #1 ... [13:14:12.142] getGlobalsAndPackages() ... [13:14:12.142] Searching for globals... [13:14:12.142] [13:14:12.143] Searching for globals ... DONE [13:14:12.143] - globals: [0] [13:14:12.143] getGlobalsAndPackages() ... DONE [13:14:12.143] + additional globals found: [n=0] [13:14:12.143] + additional namespaces needed: [n=0] [13:14:12.144] - Finding globals in 'X' for chunk #1 ... DONE [13:14:12.144] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.144] - seeds: [13:14:12.144] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.144] getGlobalsAndPackages() ... [13:14:12.144] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.145] Resolving globals: FALSE [13:14:12.145] Tweak future expression to call with '...' arguments ... [13:14:12.145] { [13:14:12.145] do.call(function(...) { [13:14:12.145] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.145] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.145] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.145] on.exit(options(oopts), add = TRUE) [13:14:12.145] } [13:14:12.145] { [13:14:12.145] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.145] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.145] ...future.FUN(...future.X_jj, ...) [13:14:12.145] }) [13:14:12.145] } [13:14:12.145] }, args = future.call.arguments) [13:14:12.145] } [13:14:12.145] Tweak future expression to call with '...' arguments ... DONE [13:14:12.146] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.146] [13:14:12.146] getGlobalsAndPackages() ... DONE [13:14:12.147] run() for 'Future' ... [13:14:12.147] - state: 'created' [13:14:12.147] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.164] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.164] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.164] - Field: 'node' [13:14:12.165] - Field: 'label' [13:14:12.165] - Field: 'local' [13:14:12.165] - Field: 'owner' [13:14:12.165] - Field: 'envir' [13:14:12.165] - Field: 'workers' [13:14:12.166] - Field: 'packages' [13:14:12.166] - Field: 'gc' [13:14:12.166] - Field: 'conditions' [13:14:12.166] - Field: 'persistent' [13:14:12.166] - Field: 'expr' [13:14:12.166] - Field: 'uuid' [13:14:12.167] - Field: 'seed' [13:14:12.167] - Field: 'version' [13:14:12.167] - Field: 'result' [13:14:12.167] - Field: 'asynchronous' [13:14:12.167] - Field: 'calls' [13:14:12.168] - Field: 'globals' [13:14:12.168] - Field: 'stdout' [13:14:12.168] - Field: 'earlySignal' [13:14:12.168] - Field: 'lazy' [13:14:12.168] - Field: 'state' [13:14:12.168] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.169] - Launch lazy future ... [13:14:12.169] Packages needed by the future expression (n = 0): [13:14:12.169] Packages needed by future strategies (n = 0): [13:14:12.170] { [13:14:12.170] { [13:14:12.170] { [13:14:12.170] ...future.startTime <- base::Sys.time() [13:14:12.170] { [13:14:12.170] { [13:14:12.170] { [13:14:12.170] { [13:14:12.170] base::local({ [13:14:12.170] has_future <- base::requireNamespace("future", [13:14:12.170] quietly = TRUE) [13:14:12.170] if (has_future) { [13:14:12.170] ns <- base::getNamespace("future") [13:14:12.170] version <- ns[[".package"]][["version"]] [13:14:12.170] if (is.null(version)) [13:14:12.170] version <- utils::packageVersion("future") [13:14:12.170] } [13:14:12.170] else { [13:14:12.170] version <- NULL [13:14:12.170] } [13:14:12.170] if (!has_future || version < "1.8.0") { [13:14:12.170] info <- base::c(r_version = base::gsub("R version ", [13:14:12.170] "", base::R.version$version.string), [13:14:12.170] platform = base::sprintf("%s (%s-bit)", [13:14:12.170] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.170] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.170] "release", "version")], collapse = " "), [13:14:12.170] hostname = base::Sys.info()[["nodename"]]) [13:14:12.170] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.170] info) [13:14:12.170] info <- base::paste(info, collapse = "; ") [13:14:12.170] if (!has_future) { [13:14:12.170] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.170] info) [13:14:12.170] } [13:14:12.170] else { [13:14:12.170] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.170] info, version) [13:14:12.170] } [13:14:12.170] base::stop(msg) [13:14:12.170] } [13:14:12.170] }) [13:14:12.170] } [13:14:12.170] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.170] base::options(mc.cores = 1L) [13:14:12.170] } [13:14:12.170] options(future.plan = NULL) [13:14:12.170] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.170] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.170] } [13:14:12.170] ...future.workdir <- getwd() [13:14:12.170] } [13:14:12.170] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.170] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.170] } [13:14:12.170] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.170] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.170] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.170] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.170] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.170] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.170] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.170] base::names(...future.oldOptions)) [13:14:12.170] } [13:14:12.170] if (FALSE) { [13:14:12.170] } [13:14:12.170] else { [13:14:12.170] if (TRUE) { [13:14:12.170] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.170] open = "w") [13:14:12.170] } [13:14:12.170] else { [13:14:12.170] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.170] windows = "NUL", "/dev/null"), open = "w") [13:14:12.170] } [13:14:12.170] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.170] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.170] base::sink(type = "output", split = FALSE) [13:14:12.170] base::close(...future.stdout) [13:14:12.170] }, add = TRUE) [13:14:12.170] } [13:14:12.170] ...future.frame <- base::sys.nframe() [13:14:12.170] ...future.conditions <- base::list() [13:14:12.170] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.170] if (FALSE) { [13:14:12.170] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.170] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.170] } [13:14:12.170] ...future.result <- base::tryCatch({ [13:14:12.170] base::withCallingHandlers({ [13:14:12.170] ...future.value <- base::withVisible(base::local({ [13:14:12.170] ...future.makeSendCondition <- local({ [13:14:12.170] sendCondition <- NULL [13:14:12.170] function(frame = 1L) { [13:14:12.170] if (is.function(sendCondition)) [13:14:12.170] return(sendCondition) [13:14:12.170] ns <- getNamespace("parallel") [13:14:12.170] if (exists("sendData", mode = "function", [13:14:12.170] envir = ns)) { [13:14:12.170] parallel_sendData <- get("sendData", mode = "function", [13:14:12.170] envir = ns) [13:14:12.170] envir <- sys.frame(frame) [13:14:12.170] master <- NULL [13:14:12.170] while (!identical(envir, .GlobalEnv) && [13:14:12.170] !identical(envir, emptyenv())) { [13:14:12.170] if (exists("master", mode = "list", envir = envir, [13:14:12.170] inherits = FALSE)) { [13:14:12.170] master <- get("master", mode = "list", [13:14:12.170] envir = envir, inherits = FALSE) [13:14:12.170] if (inherits(master, c("SOCKnode", [13:14:12.170] "SOCK0node"))) { [13:14:12.170] sendCondition <<- function(cond) { [13:14:12.170] data <- list(type = "VALUE", value = cond, [13:14:12.170] success = TRUE) [13:14:12.170] parallel_sendData(master, data) [13:14:12.170] } [13:14:12.170] return(sendCondition) [13:14:12.170] } [13:14:12.170] } [13:14:12.170] frame <- frame + 1L [13:14:12.170] envir <- sys.frame(frame) [13:14:12.170] } [13:14:12.170] } [13:14:12.170] sendCondition <<- function(cond) NULL [13:14:12.170] } [13:14:12.170] }) [13:14:12.170] withCallingHandlers({ [13:14:12.170] { [13:14:12.170] do.call(function(...) { [13:14:12.170] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.170] if (!identical(...future.globals.maxSize.org, [13:14:12.170] ...future.globals.maxSize)) { [13:14:12.170] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.170] on.exit(options(oopts), add = TRUE) [13:14:12.170] } [13:14:12.170] { [13:14:12.170] lapply(seq_along(...future.elements_ii), [13:14:12.170] FUN = function(jj) { [13:14:12.170] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.170] ...future.FUN(...future.X_jj, ...) [13:14:12.170] }) [13:14:12.170] } [13:14:12.170] }, args = future.call.arguments) [13:14:12.170] } [13:14:12.170] }, immediateCondition = function(cond) { [13:14:12.170] sendCondition <- ...future.makeSendCondition() [13:14:12.170] sendCondition(cond) [13:14:12.170] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.170] { [13:14:12.170] inherits <- base::inherits [13:14:12.170] invokeRestart <- base::invokeRestart [13:14:12.170] is.null <- base::is.null [13:14:12.170] muffled <- FALSE [13:14:12.170] if (inherits(cond, "message")) { [13:14:12.170] muffled <- grepl(pattern, "muffleMessage") [13:14:12.170] if (muffled) [13:14:12.170] invokeRestart("muffleMessage") [13:14:12.170] } [13:14:12.170] else if (inherits(cond, "warning")) { [13:14:12.170] muffled <- grepl(pattern, "muffleWarning") [13:14:12.170] if (muffled) [13:14:12.170] invokeRestart("muffleWarning") [13:14:12.170] } [13:14:12.170] else if (inherits(cond, "condition")) { [13:14:12.170] if (!is.null(pattern)) { [13:14:12.170] computeRestarts <- base::computeRestarts [13:14:12.170] grepl <- base::grepl [13:14:12.170] restarts <- computeRestarts(cond) [13:14:12.170] for (restart in restarts) { [13:14:12.170] name <- restart$name [13:14:12.170] if (is.null(name)) [13:14:12.170] next [13:14:12.170] if (!grepl(pattern, name)) [13:14:12.170] next [13:14:12.170] invokeRestart(restart) [13:14:12.170] muffled <- TRUE [13:14:12.170] break [13:14:12.170] } [13:14:12.170] } [13:14:12.170] } [13:14:12.170] invisible(muffled) [13:14:12.170] } [13:14:12.170] muffleCondition(cond) [13:14:12.170] }) [13:14:12.170] })) [13:14:12.170] future::FutureResult(value = ...future.value$value, [13:14:12.170] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.170] ...future.rng), globalenv = if (FALSE) [13:14:12.170] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.170] ...future.globalenv.names)) [13:14:12.170] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.170] }, condition = base::local({ [13:14:12.170] c <- base::c [13:14:12.170] inherits <- base::inherits [13:14:12.170] invokeRestart <- base::invokeRestart [13:14:12.170] length <- base::length [13:14:12.170] list <- base::list [13:14:12.170] seq.int <- base::seq.int [13:14:12.170] signalCondition <- base::signalCondition [13:14:12.170] sys.calls <- base::sys.calls [13:14:12.170] `[[` <- base::`[[` [13:14:12.170] `+` <- base::`+` [13:14:12.170] `<<-` <- base::`<<-` [13:14:12.170] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.170] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.170] 3L)] [13:14:12.170] } [13:14:12.170] function(cond) { [13:14:12.170] is_error <- inherits(cond, "error") [13:14:12.170] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.170] NULL) [13:14:12.170] if (is_error) { [13:14:12.170] sessionInformation <- function() { [13:14:12.170] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.170] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.170] search = base::search(), system = base::Sys.info()) [13:14:12.170] } [13:14:12.170] ...future.conditions[[length(...future.conditions) + [13:14:12.170] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.170] cond$call), session = sessionInformation(), [13:14:12.170] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.170] signalCondition(cond) [13:14:12.170] } [13:14:12.170] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.170] "immediateCondition"))) { [13:14:12.170] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.170] ...future.conditions[[length(...future.conditions) + [13:14:12.170] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.170] if (TRUE && !signal) { [13:14:12.170] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.170] { [13:14:12.170] inherits <- base::inherits [13:14:12.170] invokeRestart <- base::invokeRestart [13:14:12.170] is.null <- base::is.null [13:14:12.170] muffled <- FALSE [13:14:12.170] if (inherits(cond, "message")) { [13:14:12.170] muffled <- grepl(pattern, "muffleMessage") [13:14:12.170] if (muffled) [13:14:12.170] invokeRestart("muffleMessage") [13:14:12.170] } [13:14:12.170] else if (inherits(cond, "warning")) { [13:14:12.170] muffled <- grepl(pattern, "muffleWarning") [13:14:12.170] if (muffled) [13:14:12.170] invokeRestart("muffleWarning") [13:14:12.170] } [13:14:12.170] else if (inherits(cond, "condition")) { [13:14:12.170] if (!is.null(pattern)) { [13:14:12.170] computeRestarts <- base::computeRestarts [13:14:12.170] grepl <- base::grepl [13:14:12.170] restarts <- computeRestarts(cond) [13:14:12.170] for (restart in restarts) { [13:14:12.170] name <- restart$name [13:14:12.170] if (is.null(name)) [13:14:12.170] next [13:14:12.170] if (!grepl(pattern, name)) [13:14:12.170] next [13:14:12.170] invokeRestart(restart) [13:14:12.170] muffled <- TRUE [13:14:12.170] break [13:14:12.170] } [13:14:12.170] } [13:14:12.170] } [13:14:12.170] invisible(muffled) [13:14:12.170] } [13:14:12.170] muffleCondition(cond, pattern = "^muffle") [13:14:12.170] } [13:14:12.170] } [13:14:12.170] else { [13:14:12.170] if (TRUE) { [13:14:12.170] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.170] { [13:14:12.170] inherits <- base::inherits [13:14:12.170] invokeRestart <- base::invokeRestart [13:14:12.170] is.null <- base::is.null [13:14:12.170] muffled <- FALSE [13:14:12.170] if (inherits(cond, "message")) { [13:14:12.170] muffled <- grepl(pattern, "muffleMessage") [13:14:12.170] if (muffled) [13:14:12.170] invokeRestart("muffleMessage") [13:14:12.170] } [13:14:12.170] else if (inherits(cond, "warning")) { [13:14:12.170] muffled <- grepl(pattern, "muffleWarning") [13:14:12.170] if (muffled) [13:14:12.170] invokeRestart("muffleWarning") [13:14:12.170] } [13:14:12.170] else if (inherits(cond, "condition")) { [13:14:12.170] if (!is.null(pattern)) { [13:14:12.170] computeRestarts <- base::computeRestarts [13:14:12.170] grepl <- base::grepl [13:14:12.170] restarts <- computeRestarts(cond) [13:14:12.170] for (restart in restarts) { [13:14:12.170] name <- restart$name [13:14:12.170] if (is.null(name)) [13:14:12.170] next [13:14:12.170] if (!grepl(pattern, name)) [13:14:12.170] next [13:14:12.170] invokeRestart(restart) [13:14:12.170] muffled <- TRUE [13:14:12.170] break [13:14:12.170] } [13:14:12.170] } [13:14:12.170] } [13:14:12.170] invisible(muffled) [13:14:12.170] } [13:14:12.170] muffleCondition(cond, pattern = "^muffle") [13:14:12.170] } [13:14:12.170] } [13:14:12.170] } [13:14:12.170] })) [13:14:12.170] }, error = function(ex) { [13:14:12.170] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.170] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.170] ...future.rng), started = ...future.startTime, [13:14:12.170] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.170] version = "1.8"), class = "FutureResult") [13:14:12.170] }, finally = { [13:14:12.170] if (!identical(...future.workdir, getwd())) [13:14:12.170] setwd(...future.workdir) [13:14:12.170] { [13:14:12.170] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.170] ...future.oldOptions$nwarnings <- NULL [13:14:12.170] } [13:14:12.170] base::options(...future.oldOptions) [13:14:12.170] if (.Platform$OS.type == "windows") { [13:14:12.170] old_names <- names(...future.oldEnvVars) [13:14:12.170] envs <- base::Sys.getenv() [13:14:12.170] names <- names(envs) [13:14:12.170] common <- intersect(names, old_names) [13:14:12.170] added <- setdiff(names, old_names) [13:14:12.170] removed <- setdiff(old_names, names) [13:14:12.170] changed <- common[...future.oldEnvVars[common] != [13:14:12.170] envs[common]] [13:14:12.170] NAMES <- toupper(changed) [13:14:12.170] args <- list() [13:14:12.170] for (kk in seq_along(NAMES)) { [13:14:12.170] name <- changed[[kk]] [13:14:12.170] NAME <- NAMES[[kk]] [13:14:12.170] if (name != NAME && is.element(NAME, old_names)) [13:14:12.170] next [13:14:12.170] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.170] } [13:14:12.170] NAMES <- toupper(added) [13:14:12.170] for (kk in seq_along(NAMES)) { [13:14:12.170] name <- added[[kk]] [13:14:12.170] NAME <- NAMES[[kk]] [13:14:12.170] if (name != NAME && is.element(NAME, old_names)) [13:14:12.170] next [13:14:12.170] args[[name]] <- "" [13:14:12.170] } [13:14:12.170] NAMES <- toupper(removed) [13:14:12.170] for (kk in seq_along(NAMES)) { [13:14:12.170] name <- removed[[kk]] [13:14:12.170] NAME <- NAMES[[kk]] [13:14:12.170] if (name != NAME && is.element(NAME, old_names)) [13:14:12.170] next [13:14:12.170] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.170] } [13:14:12.170] if (length(args) > 0) [13:14:12.170] base::do.call(base::Sys.setenv, args = args) [13:14:12.170] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.170] } [13:14:12.170] else { [13:14:12.170] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.170] } [13:14:12.170] { [13:14:12.170] if (base::length(...future.futureOptionsAdded) > [13:14:12.170] 0L) { [13:14:12.170] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.170] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.170] base::options(opts) [13:14:12.170] } [13:14:12.170] { [13:14:12.170] { [13:14:12.170] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.170] NULL [13:14:12.170] } [13:14:12.170] options(future.plan = NULL) [13:14:12.170] if (is.na(NA_character_)) [13:14:12.170] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.170] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.170] future::plan(list(function (..., workers = availableCores(), [13:14:12.170] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.170] envir = parent.frame()) [13:14:12.170] { [13:14:12.170] if (is.function(workers)) [13:14:12.170] workers <- workers() [13:14:12.170] workers <- structure(as.integer(workers), [13:14:12.170] class = class(workers)) [13:14:12.170] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.170] workers >= 1) [13:14:12.170] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.170] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.170] } [13:14:12.170] future <- MultisessionFuture(..., workers = workers, [13:14:12.170] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.170] envir = envir) [13:14:12.170] if (!future$lazy) [13:14:12.170] future <- run(future) [13:14:12.170] invisible(future) [13:14:12.170] }), .cleanup = FALSE, .init = FALSE) [13:14:12.170] } [13:14:12.170] } [13:14:12.170] } [13:14:12.170] }) [13:14:12.170] if (TRUE) { [13:14:12.170] base::sink(type = "output", split = FALSE) [13:14:12.170] if (TRUE) { [13:14:12.170] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.170] } [13:14:12.170] else { [13:14:12.170] ...future.result["stdout"] <- base::list(NULL) [13:14:12.170] } [13:14:12.170] base::close(...future.stdout) [13:14:12.170] ...future.stdout <- NULL [13:14:12.170] } [13:14:12.170] ...future.result$conditions <- ...future.conditions [13:14:12.170] ...future.result$finished <- base::Sys.time() [13:14:12.170] ...future.result [13:14:12.170] } [13:14:12.175] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:12.175] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:12.176] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:12.176] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.177] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.177] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.177] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.177] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.178] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.178] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.178] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.179] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:12.179] MultisessionFuture started [13:14:12.179] - Launch lazy future ... done [13:14:12.180] run() for 'MultisessionFuture' ... done [13:14:12.180] Created future: [13:14:12.196] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.196] - Validating connection of MultisessionFuture [13:14:12.196] - received message: FutureResult [13:14:12.196] - Received FutureResult [13:14:12.197] - Erased future from FutureRegistry [13:14:12.197] result() for ClusterFuture ... [13:14:12.197] - result already collected: FutureResult [13:14:12.197] result() for ClusterFuture ... done [13:14:12.197] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.180] MultisessionFuture: [13:14:12.180] Label: 'future_sapply-1' [13:14:12.180] Expression: [13:14:12.180] { [13:14:12.180] do.call(function(...) { [13:14:12.180] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.180] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.180] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.180] on.exit(options(oopts), add = TRUE) [13:14:12.180] } [13:14:12.180] { [13:14:12.180] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.180] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.180] ...future.FUN(...future.X_jj, ...) [13:14:12.180] }) [13:14:12.180] } [13:14:12.180] }, args = future.call.arguments) [13:14:12.180] } [13:14:12.180] Lazy evaluation: FALSE [13:14:12.180] Asynchronous evaluation: TRUE [13:14:12.180] Local evaluation: TRUE [13:14:12.180] Environment: R_GlobalEnv [13:14:12.180] Capture standard output: TRUE [13:14:12.180] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.180] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.180] Packages: [13:14:12.180] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.180] Resolved: TRUE [13:14:12.180] Value: [13:14:12.180] Conditions captured: [13:14:12.180] Early signaling: FALSE [13:14:12.180] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.180] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.198] Chunk #1 of 2 ... DONE [13:14:12.198] Chunk #2 of 2 ... [13:14:12.198] - Finding globals in 'X' for chunk #2 ... [13:14:12.198] getGlobalsAndPackages() ... [13:14:12.198] Searching for globals... [13:14:12.199] [13:14:12.199] Searching for globals ... DONE [13:14:12.199] - globals: [0] [13:14:12.199] getGlobalsAndPackages() ... DONE [13:14:12.199] + additional globals found: [n=0] [13:14:12.199] + additional namespaces needed: [n=0] [13:14:12.200] - Finding globals in 'X' for chunk #2 ... DONE [13:14:12.200] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.200] - seeds: [13:14:12.200] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.200] getGlobalsAndPackages() ... [13:14:12.200] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.201] Resolving globals: FALSE [13:14:12.201] Tweak future expression to call with '...' arguments ... [13:14:12.201] { [13:14:12.201] do.call(function(...) { [13:14:12.201] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.201] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.201] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.201] on.exit(options(oopts), add = TRUE) [13:14:12.201] } [13:14:12.201] { [13:14:12.201] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.201] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.201] ...future.FUN(...future.X_jj, ...) [13:14:12.201] }) [13:14:12.201] } [13:14:12.201] }, args = future.call.arguments) [13:14:12.201] } [13:14:12.201] Tweak future expression to call with '...' arguments ... DONE [13:14:12.202] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.202] [13:14:12.202] getGlobalsAndPackages() ... DONE [13:14:12.203] run() for 'Future' ... [13:14:12.203] - state: 'created' [13:14:12.203] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.217] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.217] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.217] - Field: 'node' [13:14:12.218] - Field: 'label' [13:14:12.218] - Field: 'local' [13:14:12.218] - Field: 'owner' [13:14:12.218] - Field: 'envir' [13:14:12.218] - Field: 'workers' [13:14:12.218] - Field: 'packages' [13:14:12.219] - Field: 'gc' [13:14:12.219] - Field: 'conditions' [13:14:12.219] - Field: 'persistent' [13:14:12.219] - Field: 'expr' [13:14:12.219] - Field: 'uuid' [13:14:12.220] - Field: 'seed' [13:14:12.220] - Field: 'version' [13:14:12.220] - Field: 'result' [13:14:12.220] - Field: 'asynchronous' [13:14:12.220] - Field: 'calls' [13:14:12.220] - Field: 'globals' [13:14:12.221] - Field: 'stdout' [13:14:12.221] - Field: 'earlySignal' [13:14:12.221] - Field: 'lazy' [13:14:12.221] - Field: 'state' [13:14:12.221] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.221] - Launch lazy future ... [13:14:12.222] Packages needed by the future expression (n = 0): [13:14:12.222] Packages needed by future strategies (n = 0): [13:14:12.223] { [13:14:12.223] { [13:14:12.223] { [13:14:12.223] ...future.startTime <- base::Sys.time() [13:14:12.223] { [13:14:12.223] { [13:14:12.223] { [13:14:12.223] { [13:14:12.223] base::local({ [13:14:12.223] has_future <- base::requireNamespace("future", [13:14:12.223] quietly = TRUE) [13:14:12.223] if (has_future) { [13:14:12.223] ns <- base::getNamespace("future") [13:14:12.223] version <- ns[[".package"]][["version"]] [13:14:12.223] if (is.null(version)) [13:14:12.223] version <- utils::packageVersion("future") [13:14:12.223] } [13:14:12.223] else { [13:14:12.223] version <- NULL [13:14:12.223] } [13:14:12.223] if (!has_future || version < "1.8.0") { [13:14:12.223] info <- base::c(r_version = base::gsub("R version ", [13:14:12.223] "", base::R.version$version.string), [13:14:12.223] platform = base::sprintf("%s (%s-bit)", [13:14:12.223] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.223] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.223] "release", "version")], collapse = " "), [13:14:12.223] hostname = base::Sys.info()[["nodename"]]) [13:14:12.223] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.223] info) [13:14:12.223] info <- base::paste(info, collapse = "; ") [13:14:12.223] if (!has_future) { [13:14:12.223] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.223] info) [13:14:12.223] } [13:14:12.223] else { [13:14:12.223] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.223] info, version) [13:14:12.223] } [13:14:12.223] base::stop(msg) [13:14:12.223] } [13:14:12.223] }) [13:14:12.223] } [13:14:12.223] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.223] base::options(mc.cores = 1L) [13:14:12.223] } [13:14:12.223] options(future.plan = NULL) [13:14:12.223] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.223] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.223] } [13:14:12.223] ...future.workdir <- getwd() [13:14:12.223] } [13:14:12.223] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.223] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.223] } [13:14:12.223] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.223] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.223] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.223] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.223] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.223] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.223] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.223] base::names(...future.oldOptions)) [13:14:12.223] } [13:14:12.223] if (FALSE) { [13:14:12.223] } [13:14:12.223] else { [13:14:12.223] if (TRUE) { [13:14:12.223] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.223] open = "w") [13:14:12.223] } [13:14:12.223] else { [13:14:12.223] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.223] windows = "NUL", "/dev/null"), open = "w") [13:14:12.223] } [13:14:12.223] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.223] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.223] base::sink(type = "output", split = FALSE) [13:14:12.223] base::close(...future.stdout) [13:14:12.223] }, add = TRUE) [13:14:12.223] } [13:14:12.223] ...future.frame <- base::sys.nframe() [13:14:12.223] ...future.conditions <- base::list() [13:14:12.223] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.223] if (FALSE) { [13:14:12.223] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.223] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.223] } [13:14:12.223] ...future.result <- base::tryCatch({ [13:14:12.223] base::withCallingHandlers({ [13:14:12.223] ...future.value <- base::withVisible(base::local({ [13:14:12.223] ...future.makeSendCondition <- local({ [13:14:12.223] sendCondition <- NULL [13:14:12.223] function(frame = 1L) { [13:14:12.223] if (is.function(sendCondition)) [13:14:12.223] return(sendCondition) [13:14:12.223] ns <- getNamespace("parallel") [13:14:12.223] if (exists("sendData", mode = "function", [13:14:12.223] envir = ns)) { [13:14:12.223] parallel_sendData <- get("sendData", mode = "function", [13:14:12.223] envir = ns) [13:14:12.223] envir <- sys.frame(frame) [13:14:12.223] master <- NULL [13:14:12.223] while (!identical(envir, .GlobalEnv) && [13:14:12.223] !identical(envir, emptyenv())) { [13:14:12.223] if (exists("master", mode = "list", envir = envir, [13:14:12.223] inherits = FALSE)) { [13:14:12.223] master <- get("master", mode = "list", [13:14:12.223] envir = envir, inherits = FALSE) [13:14:12.223] if (inherits(master, c("SOCKnode", [13:14:12.223] "SOCK0node"))) { [13:14:12.223] sendCondition <<- function(cond) { [13:14:12.223] data <- list(type = "VALUE", value = cond, [13:14:12.223] success = TRUE) [13:14:12.223] parallel_sendData(master, data) [13:14:12.223] } [13:14:12.223] return(sendCondition) [13:14:12.223] } [13:14:12.223] } [13:14:12.223] frame <- frame + 1L [13:14:12.223] envir <- sys.frame(frame) [13:14:12.223] } [13:14:12.223] } [13:14:12.223] sendCondition <<- function(cond) NULL [13:14:12.223] } [13:14:12.223] }) [13:14:12.223] withCallingHandlers({ [13:14:12.223] { [13:14:12.223] do.call(function(...) { [13:14:12.223] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.223] if (!identical(...future.globals.maxSize.org, [13:14:12.223] ...future.globals.maxSize)) { [13:14:12.223] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.223] on.exit(options(oopts), add = TRUE) [13:14:12.223] } [13:14:12.223] { [13:14:12.223] lapply(seq_along(...future.elements_ii), [13:14:12.223] FUN = function(jj) { [13:14:12.223] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.223] ...future.FUN(...future.X_jj, ...) [13:14:12.223] }) [13:14:12.223] } [13:14:12.223] }, args = future.call.arguments) [13:14:12.223] } [13:14:12.223] }, immediateCondition = function(cond) { [13:14:12.223] sendCondition <- ...future.makeSendCondition() [13:14:12.223] sendCondition(cond) [13:14:12.223] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.223] { [13:14:12.223] inherits <- base::inherits [13:14:12.223] invokeRestart <- base::invokeRestart [13:14:12.223] is.null <- base::is.null [13:14:12.223] muffled <- FALSE [13:14:12.223] if (inherits(cond, "message")) { [13:14:12.223] muffled <- grepl(pattern, "muffleMessage") [13:14:12.223] if (muffled) [13:14:12.223] invokeRestart("muffleMessage") [13:14:12.223] } [13:14:12.223] else if (inherits(cond, "warning")) { [13:14:12.223] muffled <- grepl(pattern, "muffleWarning") [13:14:12.223] if (muffled) [13:14:12.223] invokeRestart("muffleWarning") [13:14:12.223] } [13:14:12.223] else if (inherits(cond, "condition")) { [13:14:12.223] if (!is.null(pattern)) { [13:14:12.223] computeRestarts <- base::computeRestarts [13:14:12.223] grepl <- base::grepl [13:14:12.223] restarts <- computeRestarts(cond) [13:14:12.223] for (restart in restarts) { [13:14:12.223] name <- restart$name [13:14:12.223] if (is.null(name)) [13:14:12.223] next [13:14:12.223] if (!grepl(pattern, name)) [13:14:12.223] next [13:14:12.223] invokeRestart(restart) [13:14:12.223] muffled <- TRUE [13:14:12.223] break [13:14:12.223] } [13:14:12.223] } [13:14:12.223] } [13:14:12.223] invisible(muffled) [13:14:12.223] } [13:14:12.223] muffleCondition(cond) [13:14:12.223] }) [13:14:12.223] })) [13:14:12.223] future::FutureResult(value = ...future.value$value, [13:14:12.223] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.223] ...future.rng), globalenv = if (FALSE) [13:14:12.223] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.223] ...future.globalenv.names)) [13:14:12.223] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.223] }, condition = base::local({ [13:14:12.223] c <- base::c [13:14:12.223] inherits <- base::inherits [13:14:12.223] invokeRestart <- base::invokeRestart [13:14:12.223] length <- base::length [13:14:12.223] list <- base::list [13:14:12.223] seq.int <- base::seq.int [13:14:12.223] signalCondition <- base::signalCondition [13:14:12.223] sys.calls <- base::sys.calls [13:14:12.223] `[[` <- base::`[[` [13:14:12.223] `+` <- base::`+` [13:14:12.223] `<<-` <- base::`<<-` [13:14:12.223] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.223] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.223] 3L)] [13:14:12.223] } [13:14:12.223] function(cond) { [13:14:12.223] is_error <- inherits(cond, "error") [13:14:12.223] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.223] NULL) [13:14:12.223] if (is_error) { [13:14:12.223] sessionInformation <- function() { [13:14:12.223] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.223] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.223] search = base::search(), system = base::Sys.info()) [13:14:12.223] } [13:14:12.223] ...future.conditions[[length(...future.conditions) + [13:14:12.223] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.223] cond$call), session = sessionInformation(), [13:14:12.223] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.223] signalCondition(cond) [13:14:12.223] } [13:14:12.223] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.223] "immediateCondition"))) { [13:14:12.223] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.223] ...future.conditions[[length(...future.conditions) + [13:14:12.223] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.223] if (TRUE && !signal) { [13:14:12.223] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.223] { [13:14:12.223] inherits <- base::inherits [13:14:12.223] invokeRestart <- base::invokeRestart [13:14:12.223] is.null <- base::is.null [13:14:12.223] muffled <- FALSE [13:14:12.223] if (inherits(cond, "message")) { [13:14:12.223] muffled <- grepl(pattern, "muffleMessage") [13:14:12.223] if (muffled) [13:14:12.223] invokeRestart("muffleMessage") [13:14:12.223] } [13:14:12.223] else if (inherits(cond, "warning")) { [13:14:12.223] muffled <- grepl(pattern, "muffleWarning") [13:14:12.223] if (muffled) [13:14:12.223] invokeRestart("muffleWarning") [13:14:12.223] } [13:14:12.223] else if (inherits(cond, "condition")) { [13:14:12.223] if (!is.null(pattern)) { [13:14:12.223] computeRestarts <- base::computeRestarts [13:14:12.223] grepl <- base::grepl [13:14:12.223] restarts <- computeRestarts(cond) [13:14:12.223] for (restart in restarts) { [13:14:12.223] name <- restart$name [13:14:12.223] if (is.null(name)) [13:14:12.223] next [13:14:12.223] if (!grepl(pattern, name)) [13:14:12.223] next [13:14:12.223] invokeRestart(restart) [13:14:12.223] muffled <- TRUE [13:14:12.223] break [13:14:12.223] } [13:14:12.223] } [13:14:12.223] } [13:14:12.223] invisible(muffled) [13:14:12.223] } [13:14:12.223] muffleCondition(cond, pattern = "^muffle") [13:14:12.223] } [13:14:12.223] } [13:14:12.223] else { [13:14:12.223] if (TRUE) { [13:14:12.223] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.223] { [13:14:12.223] inherits <- base::inherits [13:14:12.223] invokeRestart <- base::invokeRestart [13:14:12.223] is.null <- base::is.null [13:14:12.223] muffled <- FALSE [13:14:12.223] if (inherits(cond, "message")) { [13:14:12.223] muffled <- grepl(pattern, "muffleMessage") [13:14:12.223] if (muffled) [13:14:12.223] invokeRestart("muffleMessage") [13:14:12.223] } [13:14:12.223] else if (inherits(cond, "warning")) { [13:14:12.223] muffled <- grepl(pattern, "muffleWarning") [13:14:12.223] if (muffled) [13:14:12.223] invokeRestart("muffleWarning") [13:14:12.223] } [13:14:12.223] else if (inherits(cond, "condition")) { [13:14:12.223] if (!is.null(pattern)) { [13:14:12.223] computeRestarts <- base::computeRestarts [13:14:12.223] grepl <- base::grepl [13:14:12.223] restarts <- computeRestarts(cond) [13:14:12.223] for (restart in restarts) { [13:14:12.223] name <- restart$name [13:14:12.223] if (is.null(name)) [13:14:12.223] next [13:14:12.223] if (!grepl(pattern, name)) [13:14:12.223] next [13:14:12.223] invokeRestart(restart) [13:14:12.223] muffled <- TRUE [13:14:12.223] break [13:14:12.223] } [13:14:12.223] } [13:14:12.223] } [13:14:12.223] invisible(muffled) [13:14:12.223] } [13:14:12.223] muffleCondition(cond, pattern = "^muffle") [13:14:12.223] } [13:14:12.223] } [13:14:12.223] } [13:14:12.223] })) [13:14:12.223] }, error = function(ex) { [13:14:12.223] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.223] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.223] ...future.rng), started = ...future.startTime, [13:14:12.223] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.223] version = "1.8"), class = "FutureResult") [13:14:12.223] }, finally = { [13:14:12.223] if (!identical(...future.workdir, getwd())) [13:14:12.223] setwd(...future.workdir) [13:14:12.223] { [13:14:12.223] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.223] ...future.oldOptions$nwarnings <- NULL [13:14:12.223] } [13:14:12.223] base::options(...future.oldOptions) [13:14:12.223] if (.Platform$OS.type == "windows") { [13:14:12.223] old_names <- names(...future.oldEnvVars) [13:14:12.223] envs <- base::Sys.getenv() [13:14:12.223] names <- names(envs) [13:14:12.223] common <- intersect(names, old_names) [13:14:12.223] added <- setdiff(names, old_names) [13:14:12.223] removed <- setdiff(old_names, names) [13:14:12.223] changed <- common[...future.oldEnvVars[common] != [13:14:12.223] envs[common]] [13:14:12.223] NAMES <- toupper(changed) [13:14:12.223] args <- list() [13:14:12.223] for (kk in seq_along(NAMES)) { [13:14:12.223] name <- changed[[kk]] [13:14:12.223] NAME <- NAMES[[kk]] [13:14:12.223] if (name != NAME && is.element(NAME, old_names)) [13:14:12.223] next [13:14:12.223] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.223] } [13:14:12.223] NAMES <- toupper(added) [13:14:12.223] for (kk in seq_along(NAMES)) { [13:14:12.223] name <- added[[kk]] [13:14:12.223] NAME <- NAMES[[kk]] [13:14:12.223] if (name != NAME && is.element(NAME, old_names)) [13:14:12.223] next [13:14:12.223] args[[name]] <- "" [13:14:12.223] } [13:14:12.223] NAMES <- toupper(removed) [13:14:12.223] for (kk in seq_along(NAMES)) { [13:14:12.223] name <- removed[[kk]] [13:14:12.223] NAME <- NAMES[[kk]] [13:14:12.223] if (name != NAME && is.element(NAME, old_names)) [13:14:12.223] next [13:14:12.223] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.223] } [13:14:12.223] if (length(args) > 0) [13:14:12.223] base::do.call(base::Sys.setenv, args = args) [13:14:12.223] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.223] } [13:14:12.223] else { [13:14:12.223] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.223] } [13:14:12.223] { [13:14:12.223] if (base::length(...future.futureOptionsAdded) > [13:14:12.223] 0L) { [13:14:12.223] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.223] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.223] base::options(opts) [13:14:12.223] } [13:14:12.223] { [13:14:12.223] { [13:14:12.223] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.223] NULL [13:14:12.223] } [13:14:12.223] options(future.plan = NULL) [13:14:12.223] if (is.na(NA_character_)) [13:14:12.223] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.223] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.223] future::plan(list(function (..., workers = availableCores(), [13:14:12.223] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.223] envir = parent.frame()) [13:14:12.223] { [13:14:12.223] if (is.function(workers)) [13:14:12.223] workers <- workers() [13:14:12.223] workers <- structure(as.integer(workers), [13:14:12.223] class = class(workers)) [13:14:12.223] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.223] workers >= 1) [13:14:12.223] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.223] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.223] } [13:14:12.223] future <- MultisessionFuture(..., workers = workers, [13:14:12.223] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.223] envir = envir) [13:14:12.223] if (!future$lazy) [13:14:12.223] future <- run(future) [13:14:12.223] invisible(future) [13:14:12.223] }), .cleanup = FALSE, .init = FALSE) [13:14:12.223] } [13:14:12.223] } [13:14:12.223] } [13:14:12.223] }) [13:14:12.223] if (TRUE) { [13:14:12.223] base::sink(type = "output", split = FALSE) [13:14:12.223] if (TRUE) { [13:14:12.223] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.223] } [13:14:12.223] else { [13:14:12.223] ...future.result["stdout"] <- base::list(NULL) [13:14:12.223] } [13:14:12.223] base::close(...future.stdout) [13:14:12.223] ...future.stdout <- NULL [13:14:12.223] } [13:14:12.223] ...future.result$conditions <- ...future.conditions [13:14:12.223] ...future.result$finished <- base::Sys.time() [13:14:12.223] ...future.result [13:14:12.223] } [13:14:12.228] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:12.228] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:12.229] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:12.229] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.229] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.230] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.230] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.230] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.231] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.231] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.231] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.231] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:12.232] MultisessionFuture started [13:14:12.232] - Launch lazy future ... done [13:14:12.232] run() for 'MultisessionFuture' ... done [13:14:12.233] Created future: [13:14:12.248] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.248] - Validating connection of MultisessionFuture [13:14:12.249] - received message: FutureResult [13:14:12.249] - Received FutureResult [13:14:12.249] - Erased future from FutureRegistry [13:14:12.249] result() for ClusterFuture ... [13:14:12.249] - result already collected: FutureResult [13:14:12.250] result() for ClusterFuture ... done [13:14:12.250] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.233] MultisessionFuture: [13:14:12.233] Label: 'future_sapply-2' [13:14:12.233] Expression: [13:14:12.233] { [13:14:12.233] do.call(function(...) { [13:14:12.233] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.233] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.233] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.233] on.exit(options(oopts), add = TRUE) [13:14:12.233] } [13:14:12.233] { [13:14:12.233] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.233] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.233] ...future.FUN(...future.X_jj, ...) [13:14:12.233] }) [13:14:12.233] } [13:14:12.233] }, args = future.call.arguments) [13:14:12.233] } [13:14:12.233] Lazy evaluation: FALSE [13:14:12.233] Asynchronous evaluation: TRUE [13:14:12.233] Local evaluation: TRUE [13:14:12.233] Environment: R_GlobalEnv [13:14:12.233] Capture standard output: TRUE [13:14:12.233] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.233] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.233] Packages: [13:14:12.233] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.233] Resolved: TRUE [13:14:12.233] Value: [13:14:12.233] Conditions captured: [13:14:12.233] Early signaling: FALSE [13:14:12.233] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.233] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.250] Chunk #2 of 2 ... DONE [13:14:12.250] Launching 2 futures (chunks) ... DONE [13:14:12.250] Resolving 2 futures (chunks) ... [13:14:12.251] resolve() on list ... [13:14:12.251] recursive: 0 [13:14:12.251] length: 2 [13:14:12.251] [13:14:12.251] Future #1 [13:14:12.251] result() for ClusterFuture ... [13:14:12.252] - result already collected: FutureResult [13:14:12.252] result() for ClusterFuture ... done [13:14:12.252] result() for ClusterFuture ... [13:14:12.252] - result already collected: FutureResult [13:14:12.252] result() for ClusterFuture ... done [13:14:12.252] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:12.253] - nx: 2 [13:14:12.253] - relay: TRUE [13:14:12.253] - stdout: TRUE [13:14:12.253] - signal: TRUE [13:14:12.253] - resignal: FALSE [13:14:12.253] - force: TRUE [13:14:12.254] - relayed: [n=2] FALSE, FALSE [13:14:12.254] - queued futures: [n=2] FALSE, FALSE [13:14:12.254] - until=1 [13:14:12.254] - relaying element #1 [13:14:12.254] result() for ClusterFuture ... [13:14:12.254] - result already collected: FutureResult [13:14:12.254] result() for ClusterFuture ... done [13:14:12.255] result() for ClusterFuture ... [13:14:12.255] - result already collected: FutureResult [13:14:12.255] result() for ClusterFuture ... done [13:14:12.255] result() for ClusterFuture ... [13:14:12.255] - result already collected: FutureResult [13:14:12.255] result() for ClusterFuture ... done [13:14:12.256] result() for ClusterFuture ... [13:14:12.256] - result already collected: FutureResult [13:14:12.256] result() for ClusterFuture ... done [13:14:12.256] - relayed: [n=2] TRUE, FALSE [13:14:12.256] - queued futures: [n=2] TRUE, FALSE [13:14:12.256] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:12.257] length: 1 (resolved future 1) [13:14:12.257] Future #2 [13:14:12.257] result() for ClusterFuture ... [13:14:12.257] - result already collected: FutureResult [13:14:12.257] result() for ClusterFuture ... done [13:14:12.257] result() for ClusterFuture ... [13:14:12.258] - result already collected: FutureResult [13:14:12.258] result() for ClusterFuture ... done [13:14:12.258] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:12.258] - nx: 2 [13:14:12.258] - relay: TRUE [13:14:12.258] - stdout: TRUE [13:14:12.258] - signal: TRUE [13:14:12.259] - resignal: FALSE [13:14:12.259] - force: TRUE [13:14:12.259] - relayed: [n=2] TRUE, FALSE [13:14:12.259] - queued futures: [n=2] TRUE, FALSE [13:14:12.259] - until=2 [13:14:12.259] - relaying element #2 [13:14:12.260] result() for ClusterFuture ... [13:14:12.260] - result already collected: FutureResult [13:14:12.260] result() for ClusterFuture ... done [13:14:12.260] result() for ClusterFuture ... [13:14:12.260] - result already collected: FutureResult [13:14:12.260] result() for ClusterFuture ... done [13:14:12.261] result() for ClusterFuture ... [13:14:12.261] - result already collected: FutureResult [13:14:12.261] result() for ClusterFuture ... done [13:14:12.261] result() for ClusterFuture ... [13:14:12.261] - result already collected: FutureResult [13:14:12.261] result() for ClusterFuture ... done [13:14:12.261] - relayed: [n=2] TRUE, TRUE [13:14:12.262] - queued futures: [n=2] TRUE, TRUE [13:14:12.262] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:12.262] length: 0 (resolved future 2) [13:14:12.262] Relaying remaining futures [13:14:12.262] signalConditionsASAP(NULL, pos=0) ... [13:14:12.262] - nx: 2 [13:14:12.263] - relay: TRUE [13:14:12.263] - stdout: TRUE [13:14:12.263] - signal: TRUE [13:14:12.263] - resignal: FALSE [13:14:12.263] - force: TRUE [13:14:12.263] - relayed: [n=2] TRUE, TRUE [13:14:12.263] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:12.264] - relayed: [n=2] TRUE, TRUE [13:14:12.264] - queued futures: [n=2] TRUE, TRUE [13:14:12.264] signalConditionsASAP(NULL, pos=0) ... done [13:14:12.264] resolve() on list ... DONE [13:14:12.264] result() for ClusterFuture ... [13:14:12.264] - result already collected: FutureResult [13:14:12.265] result() for ClusterFuture ... done [13:14:12.265] result() for ClusterFuture ... [13:14:12.265] - result already collected: FutureResult [13:14:12.265] result() for ClusterFuture ... done [13:14:12.265] result() for ClusterFuture ... [13:14:12.265] - result already collected: FutureResult [13:14:12.266] result() for ClusterFuture ... done [13:14:12.266] result() for ClusterFuture ... [13:14:12.266] - result already collected: FutureResult [13:14:12.266] result() for ClusterFuture ... done [13:14:12.266] - Number of value chunks collected: 2 [13:14:12.266] Resolving 2 futures (chunks) ... DONE [13:14:12.267] Reducing values from 2 chunks ... [13:14:12.267] - Number of values collected after concatenation: 4 [13:14:12.267] - Number of values expected: 4 [13:14:12.267] Reducing values from 2 chunks ... DONE [13:14:12.267] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:12.270] future_lapply() ... [13:14:12.273] Number of chunks: 2 [13:14:12.273] getGlobalsAndPackagesXApply() ... [13:14:12.274] - future.globals: TRUE [13:14:12.274] getGlobalsAndPackages() ... [13:14:12.274] Searching for globals... [13:14:12.275] - globals found: [1] 'FUN' [13:14:12.275] Searching for globals ... DONE [13:14:12.275] Resolving globals: FALSE [13:14:12.276] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:12.276] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:12.276] - globals: [1] 'FUN' [13:14:12.277] [13:14:12.277] getGlobalsAndPackages() ... DONE [13:14:12.277] - globals found/used: [n=1] 'FUN' [13:14:12.277] - needed namespaces: [n=0] [13:14:12.277] Finding globals ... DONE [13:14:12.277] - use_args: TRUE [13:14:12.278] - Getting '...' globals ... [13:14:12.278] resolve() on list ... [13:14:12.278] recursive: 0 [13:14:12.278] length: 1 [13:14:12.278] elements: '...' [13:14:12.279] length: 0 (resolved future 1) [13:14:12.279] resolve() on list ... DONE [13:14:12.279] - '...' content: [n=0] [13:14:12.279] List of 1 [13:14:12.279] $ ...: list() [13:14:12.279] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.279] - attr(*, "where")=List of 1 [13:14:12.279] ..$ ...: [13:14:12.279] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.279] - attr(*, "resolved")= logi TRUE [13:14:12.279] - attr(*, "total_size")= num NA [13:14:12.282] - Getting '...' globals ... DONE [13:14:12.282] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:12.283] List of 2 [13:14:12.283] $ ...future.FUN:function (x) [13:14:12.283] $ ... : list() [13:14:12.283] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.283] - attr(*, "where")=List of 2 [13:14:12.283] ..$ ...future.FUN: [13:14:12.283] ..$ ... : [13:14:12.283] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.283] - attr(*, "resolved")= logi FALSE [13:14:12.283] - attr(*, "total_size")= num 848 [13:14:12.286] Packages to be attached in all futures: [n=0] [13:14:12.286] getGlobalsAndPackagesXApply() ... DONE [13:14:12.286] Number of futures (= number of chunks): 2 [13:14:12.287] Launching 2 futures (chunks) ... [13:14:12.287] Chunk #1 of 2 ... [13:14:12.287] - Finding globals in 'X' for chunk #1 ... [13:14:12.287] getGlobalsAndPackages() ... [13:14:12.287] Searching for globals... [13:14:12.288] [13:14:12.288] Searching for globals ... DONE [13:14:12.288] - globals: [0] [13:14:12.288] getGlobalsAndPackages() ... DONE [13:14:12.288] + additional globals found: [n=0] [13:14:12.288] + additional namespaces needed: [n=0] [13:14:12.289] - Finding globals in 'X' for chunk #1 ... DONE [13:14:12.289] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.289] - seeds: [13:14:12.289] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.289] getGlobalsAndPackages() ... [13:14:12.289] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.290] Resolving globals: FALSE [13:14:12.290] Tweak future expression to call with '...' arguments ... [13:14:12.290] { [13:14:12.290] do.call(function(...) { [13:14:12.290] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.290] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.290] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.290] on.exit(options(oopts), add = TRUE) [13:14:12.290] } [13:14:12.290] { [13:14:12.290] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.290] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.290] ...future.FUN(...future.X_jj, ...) [13:14:12.290] }) [13:14:12.290] } [13:14:12.290] }, args = future.call.arguments) [13:14:12.290] } [13:14:12.290] Tweak future expression to call with '...' arguments ... DONE [13:14:12.291] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.291] [13:14:12.291] getGlobalsAndPackages() ... DONE [13:14:12.292] run() for 'Future' ... [13:14:12.292] - state: 'created' [13:14:12.292] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.306] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.306] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.307] - Field: 'node' [13:14:12.307] - Field: 'label' [13:14:12.307] - Field: 'local' [13:14:12.307] - Field: 'owner' [13:14:12.307] - Field: 'envir' [13:14:12.307] - Field: 'workers' [13:14:12.308] - Field: 'packages' [13:14:12.308] - Field: 'gc' [13:14:12.308] - Field: 'conditions' [13:14:12.308] - Field: 'persistent' [13:14:12.308] - Field: 'expr' [13:14:12.308] - Field: 'uuid' [13:14:12.309] - Field: 'seed' [13:14:12.309] - Field: 'version' [13:14:12.309] - Field: 'result' [13:14:12.309] - Field: 'asynchronous' [13:14:12.309] - Field: 'calls' [13:14:12.310] - Field: 'globals' [13:14:12.310] - Field: 'stdout' [13:14:12.310] - Field: 'earlySignal' [13:14:12.310] - Field: 'lazy' [13:14:12.310] - Field: 'state' [13:14:12.310] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.311] - Launch lazy future ... [13:14:12.311] Packages needed by the future expression (n = 0): [13:14:12.311] Packages needed by future strategies (n = 0): [13:14:12.312] { [13:14:12.312] { [13:14:12.312] { [13:14:12.312] ...future.startTime <- base::Sys.time() [13:14:12.312] { [13:14:12.312] { [13:14:12.312] { [13:14:12.312] { [13:14:12.312] base::local({ [13:14:12.312] has_future <- base::requireNamespace("future", [13:14:12.312] quietly = TRUE) [13:14:12.312] if (has_future) { [13:14:12.312] ns <- base::getNamespace("future") [13:14:12.312] version <- ns[[".package"]][["version"]] [13:14:12.312] if (is.null(version)) [13:14:12.312] version <- utils::packageVersion("future") [13:14:12.312] } [13:14:12.312] else { [13:14:12.312] version <- NULL [13:14:12.312] } [13:14:12.312] if (!has_future || version < "1.8.0") { [13:14:12.312] info <- base::c(r_version = base::gsub("R version ", [13:14:12.312] "", base::R.version$version.string), [13:14:12.312] platform = base::sprintf("%s (%s-bit)", [13:14:12.312] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.312] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.312] "release", "version")], collapse = " "), [13:14:12.312] hostname = base::Sys.info()[["nodename"]]) [13:14:12.312] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.312] info) [13:14:12.312] info <- base::paste(info, collapse = "; ") [13:14:12.312] if (!has_future) { [13:14:12.312] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.312] info) [13:14:12.312] } [13:14:12.312] else { [13:14:12.312] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.312] info, version) [13:14:12.312] } [13:14:12.312] base::stop(msg) [13:14:12.312] } [13:14:12.312] }) [13:14:12.312] } [13:14:12.312] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.312] base::options(mc.cores = 1L) [13:14:12.312] } [13:14:12.312] options(future.plan = NULL) [13:14:12.312] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.312] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.312] } [13:14:12.312] ...future.workdir <- getwd() [13:14:12.312] } [13:14:12.312] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.312] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.312] } [13:14:12.312] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.312] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.312] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.312] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.312] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.312] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.312] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.312] base::names(...future.oldOptions)) [13:14:12.312] } [13:14:12.312] if (FALSE) { [13:14:12.312] } [13:14:12.312] else { [13:14:12.312] if (TRUE) { [13:14:12.312] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.312] open = "w") [13:14:12.312] } [13:14:12.312] else { [13:14:12.312] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.312] windows = "NUL", "/dev/null"), open = "w") [13:14:12.312] } [13:14:12.312] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.312] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.312] base::sink(type = "output", split = FALSE) [13:14:12.312] base::close(...future.stdout) [13:14:12.312] }, add = TRUE) [13:14:12.312] } [13:14:12.312] ...future.frame <- base::sys.nframe() [13:14:12.312] ...future.conditions <- base::list() [13:14:12.312] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.312] if (FALSE) { [13:14:12.312] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.312] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.312] } [13:14:12.312] ...future.result <- base::tryCatch({ [13:14:12.312] base::withCallingHandlers({ [13:14:12.312] ...future.value <- base::withVisible(base::local({ [13:14:12.312] ...future.makeSendCondition <- local({ [13:14:12.312] sendCondition <- NULL [13:14:12.312] function(frame = 1L) { [13:14:12.312] if (is.function(sendCondition)) [13:14:12.312] return(sendCondition) [13:14:12.312] ns <- getNamespace("parallel") [13:14:12.312] if (exists("sendData", mode = "function", [13:14:12.312] envir = ns)) { [13:14:12.312] parallel_sendData <- get("sendData", mode = "function", [13:14:12.312] envir = ns) [13:14:12.312] envir <- sys.frame(frame) [13:14:12.312] master <- NULL [13:14:12.312] while (!identical(envir, .GlobalEnv) && [13:14:12.312] !identical(envir, emptyenv())) { [13:14:12.312] if (exists("master", mode = "list", envir = envir, [13:14:12.312] inherits = FALSE)) { [13:14:12.312] master <- get("master", mode = "list", [13:14:12.312] envir = envir, inherits = FALSE) [13:14:12.312] if (inherits(master, c("SOCKnode", [13:14:12.312] "SOCK0node"))) { [13:14:12.312] sendCondition <<- function(cond) { [13:14:12.312] data <- list(type = "VALUE", value = cond, [13:14:12.312] success = TRUE) [13:14:12.312] parallel_sendData(master, data) [13:14:12.312] } [13:14:12.312] return(sendCondition) [13:14:12.312] } [13:14:12.312] } [13:14:12.312] frame <- frame + 1L [13:14:12.312] envir <- sys.frame(frame) [13:14:12.312] } [13:14:12.312] } [13:14:12.312] sendCondition <<- function(cond) NULL [13:14:12.312] } [13:14:12.312] }) [13:14:12.312] withCallingHandlers({ [13:14:12.312] { [13:14:12.312] do.call(function(...) { [13:14:12.312] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.312] if (!identical(...future.globals.maxSize.org, [13:14:12.312] ...future.globals.maxSize)) { [13:14:12.312] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.312] on.exit(options(oopts), add = TRUE) [13:14:12.312] } [13:14:12.312] { [13:14:12.312] lapply(seq_along(...future.elements_ii), [13:14:12.312] FUN = function(jj) { [13:14:12.312] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.312] ...future.FUN(...future.X_jj, ...) [13:14:12.312] }) [13:14:12.312] } [13:14:12.312] }, args = future.call.arguments) [13:14:12.312] } [13:14:12.312] }, immediateCondition = function(cond) { [13:14:12.312] sendCondition <- ...future.makeSendCondition() [13:14:12.312] sendCondition(cond) [13:14:12.312] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.312] { [13:14:12.312] inherits <- base::inherits [13:14:12.312] invokeRestart <- base::invokeRestart [13:14:12.312] is.null <- base::is.null [13:14:12.312] muffled <- FALSE [13:14:12.312] if (inherits(cond, "message")) { [13:14:12.312] muffled <- grepl(pattern, "muffleMessage") [13:14:12.312] if (muffled) [13:14:12.312] invokeRestart("muffleMessage") [13:14:12.312] } [13:14:12.312] else if (inherits(cond, "warning")) { [13:14:12.312] muffled <- grepl(pattern, "muffleWarning") [13:14:12.312] if (muffled) [13:14:12.312] invokeRestart("muffleWarning") [13:14:12.312] } [13:14:12.312] else if (inherits(cond, "condition")) { [13:14:12.312] if (!is.null(pattern)) { [13:14:12.312] computeRestarts <- base::computeRestarts [13:14:12.312] grepl <- base::grepl [13:14:12.312] restarts <- computeRestarts(cond) [13:14:12.312] for (restart in restarts) { [13:14:12.312] name <- restart$name [13:14:12.312] if (is.null(name)) [13:14:12.312] next [13:14:12.312] if (!grepl(pattern, name)) [13:14:12.312] next [13:14:12.312] invokeRestart(restart) [13:14:12.312] muffled <- TRUE [13:14:12.312] break [13:14:12.312] } [13:14:12.312] } [13:14:12.312] } [13:14:12.312] invisible(muffled) [13:14:12.312] } [13:14:12.312] muffleCondition(cond) [13:14:12.312] }) [13:14:12.312] })) [13:14:12.312] future::FutureResult(value = ...future.value$value, [13:14:12.312] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.312] ...future.rng), globalenv = if (FALSE) [13:14:12.312] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.312] ...future.globalenv.names)) [13:14:12.312] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.312] }, condition = base::local({ [13:14:12.312] c <- base::c [13:14:12.312] inherits <- base::inherits [13:14:12.312] invokeRestart <- base::invokeRestart [13:14:12.312] length <- base::length [13:14:12.312] list <- base::list [13:14:12.312] seq.int <- base::seq.int [13:14:12.312] signalCondition <- base::signalCondition [13:14:12.312] sys.calls <- base::sys.calls [13:14:12.312] `[[` <- base::`[[` [13:14:12.312] `+` <- base::`+` [13:14:12.312] `<<-` <- base::`<<-` [13:14:12.312] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.312] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.312] 3L)] [13:14:12.312] } [13:14:12.312] function(cond) { [13:14:12.312] is_error <- inherits(cond, "error") [13:14:12.312] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.312] NULL) [13:14:12.312] if (is_error) { [13:14:12.312] sessionInformation <- function() { [13:14:12.312] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.312] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.312] search = base::search(), system = base::Sys.info()) [13:14:12.312] } [13:14:12.312] ...future.conditions[[length(...future.conditions) + [13:14:12.312] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.312] cond$call), session = sessionInformation(), [13:14:12.312] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.312] signalCondition(cond) [13:14:12.312] } [13:14:12.312] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.312] "immediateCondition"))) { [13:14:12.312] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.312] ...future.conditions[[length(...future.conditions) + [13:14:12.312] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.312] if (TRUE && !signal) { [13:14:12.312] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.312] { [13:14:12.312] inherits <- base::inherits [13:14:12.312] invokeRestart <- base::invokeRestart [13:14:12.312] is.null <- base::is.null [13:14:12.312] muffled <- FALSE [13:14:12.312] if (inherits(cond, "message")) { [13:14:12.312] muffled <- grepl(pattern, "muffleMessage") [13:14:12.312] if (muffled) [13:14:12.312] invokeRestart("muffleMessage") [13:14:12.312] } [13:14:12.312] else if (inherits(cond, "warning")) { [13:14:12.312] muffled <- grepl(pattern, "muffleWarning") [13:14:12.312] if (muffled) [13:14:12.312] invokeRestart("muffleWarning") [13:14:12.312] } [13:14:12.312] else if (inherits(cond, "condition")) { [13:14:12.312] if (!is.null(pattern)) { [13:14:12.312] computeRestarts <- base::computeRestarts [13:14:12.312] grepl <- base::grepl [13:14:12.312] restarts <- computeRestarts(cond) [13:14:12.312] for (restart in restarts) { [13:14:12.312] name <- restart$name [13:14:12.312] if (is.null(name)) [13:14:12.312] next [13:14:12.312] if (!grepl(pattern, name)) [13:14:12.312] next [13:14:12.312] invokeRestart(restart) [13:14:12.312] muffled <- TRUE [13:14:12.312] break [13:14:12.312] } [13:14:12.312] } [13:14:12.312] } [13:14:12.312] invisible(muffled) [13:14:12.312] } [13:14:12.312] muffleCondition(cond, pattern = "^muffle") [13:14:12.312] } [13:14:12.312] } [13:14:12.312] else { [13:14:12.312] if (TRUE) { [13:14:12.312] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.312] { [13:14:12.312] inherits <- base::inherits [13:14:12.312] invokeRestart <- base::invokeRestart [13:14:12.312] is.null <- base::is.null [13:14:12.312] muffled <- FALSE [13:14:12.312] if (inherits(cond, "message")) { [13:14:12.312] muffled <- grepl(pattern, "muffleMessage") [13:14:12.312] if (muffled) [13:14:12.312] invokeRestart("muffleMessage") [13:14:12.312] } [13:14:12.312] else if (inherits(cond, "warning")) { [13:14:12.312] muffled <- grepl(pattern, "muffleWarning") [13:14:12.312] if (muffled) [13:14:12.312] invokeRestart("muffleWarning") [13:14:12.312] } [13:14:12.312] else if (inherits(cond, "condition")) { [13:14:12.312] if (!is.null(pattern)) { [13:14:12.312] computeRestarts <- base::computeRestarts [13:14:12.312] grepl <- base::grepl [13:14:12.312] restarts <- computeRestarts(cond) [13:14:12.312] for (restart in restarts) { [13:14:12.312] name <- restart$name [13:14:12.312] if (is.null(name)) [13:14:12.312] next [13:14:12.312] if (!grepl(pattern, name)) [13:14:12.312] next [13:14:12.312] invokeRestart(restart) [13:14:12.312] muffled <- TRUE [13:14:12.312] break [13:14:12.312] } [13:14:12.312] } [13:14:12.312] } [13:14:12.312] invisible(muffled) [13:14:12.312] } [13:14:12.312] muffleCondition(cond, pattern = "^muffle") [13:14:12.312] } [13:14:12.312] } [13:14:12.312] } [13:14:12.312] })) [13:14:12.312] }, error = function(ex) { [13:14:12.312] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.312] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.312] ...future.rng), started = ...future.startTime, [13:14:12.312] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.312] version = "1.8"), class = "FutureResult") [13:14:12.312] }, finally = { [13:14:12.312] if (!identical(...future.workdir, getwd())) [13:14:12.312] setwd(...future.workdir) [13:14:12.312] { [13:14:12.312] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.312] ...future.oldOptions$nwarnings <- NULL [13:14:12.312] } [13:14:12.312] base::options(...future.oldOptions) [13:14:12.312] if (.Platform$OS.type == "windows") { [13:14:12.312] old_names <- names(...future.oldEnvVars) [13:14:12.312] envs <- base::Sys.getenv() [13:14:12.312] names <- names(envs) [13:14:12.312] common <- intersect(names, old_names) [13:14:12.312] added <- setdiff(names, old_names) [13:14:12.312] removed <- setdiff(old_names, names) [13:14:12.312] changed <- common[...future.oldEnvVars[common] != [13:14:12.312] envs[common]] [13:14:12.312] NAMES <- toupper(changed) [13:14:12.312] args <- list() [13:14:12.312] for (kk in seq_along(NAMES)) { [13:14:12.312] name <- changed[[kk]] [13:14:12.312] NAME <- NAMES[[kk]] [13:14:12.312] if (name != NAME && is.element(NAME, old_names)) [13:14:12.312] next [13:14:12.312] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.312] } [13:14:12.312] NAMES <- toupper(added) [13:14:12.312] for (kk in seq_along(NAMES)) { [13:14:12.312] name <- added[[kk]] [13:14:12.312] NAME <- NAMES[[kk]] [13:14:12.312] if (name != NAME && is.element(NAME, old_names)) [13:14:12.312] next [13:14:12.312] args[[name]] <- "" [13:14:12.312] } [13:14:12.312] NAMES <- toupper(removed) [13:14:12.312] for (kk in seq_along(NAMES)) { [13:14:12.312] name <- removed[[kk]] [13:14:12.312] NAME <- NAMES[[kk]] [13:14:12.312] if (name != NAME && is.element(NAME, old_names)) [13:14:12.312] next [13:14:12.312] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.312] } [13:14:12.312] if (length(args) > 0) [13:14:12.312] base::do.call(base::Sys.setenv, args = args) [13:14:12.312] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.312] } [13:14:12.312] else { [13:14:12.312] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.312] } [13:14:12.312] { [13:14:12.312] if (base::length(...future.futureOptionsAdded) > [13:14:12.312] 0L) { [13:14:12.312] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.312] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.312] base::options(opts) [13:14:12.312] } [13:14:12.312] { [13:14:12.312] { [13:14:12.312] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.312] NULL [13:14:12.312] } [13:14:12.312] options(future.plan = NULL) [13:14:12.312] if (is.na(NA_character_)) [13:14:12.312] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.312] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.312] future::plan(list(function (..., workers = availableCores(), [13:14:12.312] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.312] envir = parent.frame()) [13:14:12.312] { [13:14:12.312] if (is.function(workers)) [13:14:12.312] workers <- workers() [13:14:12.312] workers <- structure(as.integer(workers), [13:14:12.312] class = class(workers)) [13:14:12.312] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.312] workers >= 1) [13:14:12.312] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.312] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.312] } [13:14:12.312] future <- MultisessionFuture(..., workers = workers, [13:14:12.312] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.312] envir = envir) [13:14:12.312] if (!future$lazy) [13:14:12.312] future <- run(future) [13:14:12.312] invisible(future) [13:14:12.312] }), .cleanup = FALSE, .init = FALSE) [13:14:12.312] } [13:14:12.312] } [13:14:12.312] } [13:14:12.312] }) [13:14:12.312] if (TRUE) { [13:14:12.312] base::sink(type = "output", split = FALSE) [13:14:12.312] if (TRUE) { [13:14:12.312] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.312] } [13:14:12.312] else { [13:14:12.312] ...future.result["stdout"] <- base::list(NULL) [13:14:12.312] } [13:14:12.312] base::close(...future.stdout) [13:14:12.312] ...future.stdout <- NULL [13:14:12.312] } [13:14:12.312] ...future.result$conditions <- ...future.conditions [13:14:12.312] ...future.result$finished <- base::Sys.time() [13:14:12.312] ...future.result [13:14:12.312] } [13:14:12.317] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:12.318] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:12.318] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:12.318] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.319] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.319] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.319] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.320] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.320] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.320] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.321] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.321] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:12.324] MultisessionFuture started [13:14:12.325] - Launch lazy future ... done [13:14:12.325] run() for 'MultisessionFuture' ... done [13:14:12.325] Created future: [13:14:12.341] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.341] - Validating connection of MultisessionFuture [13:14:12.341] - received message: FutureResult [13:14:12.341] - Received FutureResult [13:14:12.342] - Erased future from FutureRegistry [13:14:12.342] result() for ClusterFuture ... [13:14:12.342] - result already collected: FutureResult [13:14:12.342] result() for ClusterFuture ... done [13:14:12.342] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.325] MultisessionFuture: [13:14:12.325] Label: 'future_sapply-1' [13:14:12.325] Expression: [13:14:12.325] { [13:14:12.325] do.call(function(...) { [13:14:12.325] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.325] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.325] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.325] on.exit(options(oopts), add = TRUE) [13:14:12.325] } [13:14:12.325] { [13:14:12.325] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.325] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.325] ...future.FUN(...future.X_jj, ...) [13:14:12.325] }) [13:14:12.325] } [13:14:12.325] }, args = future.call.arguments) [13:14:12.325] } [13:14:12.325] Lazy evaluation: FALSE [13:14:12.325] Asynchronous evaluation: TRUE [13:14:12.325] Local evaluation: TRUE [13:14:12.325] Environment: R_GlobalEnv [13:14:12.325] Capture standard output: TRUE [13:14:12.325] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.325] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.325] Packages: [13:14:12.325] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.325] Resolved: TRUE [13:14:12.325] Value: [13:14:12.325] Conditions captured: [13:14:12.325] Early signaling: FALSE [13:14:12.325] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.325] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.343] Chunk #1 of 2 ... DONE [13:14:12.343] Chunk #2 of 2 ... [13:14:12.343] - Finding globals in 'X' for chunk #2 ... [13:14:12.343] getGlobalsAndPackages() ... [13:14:12.343] Searching for globals... [13:14:12.344] [13:14:12.344] Searching for globals ... DONE [13:14:12.344] - globals: [0] [13:14:12.344] getGlobalsAndPackages() ... DONE [13:14:12.344] + additional globals found: [n=0] [13:14:12.344] + additional namespaces needed: [n=0] [13:14:12.345] - Finding globals in 'X' for chunk #2 ... DONE [13:14:12.345] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.345] - seeds: [13:14:12.345] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.345] getGlobalsAndPackages() ... [13:14:12.345] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.346] Resolving globals: FALSE [13:14:12.346] Tweak future expression to call with '...' arguments ... [13:14:12.346] { [13:14:12.346] do.call(function(...) { [13:14:12.346] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.346] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.346] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.346] on.exit(options(oopts), add = TRUE) [13:14:12.346] } [13:14:12.346] { [13:14:12.346] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.346] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.346] ...future.FUN(...future.X_jj, ...) [13:14:12.346] }) [13:14:12.346] } [13:14:12.346] }, args = future.call.arguments) [13:14:12.346] } [13:14:12.346] Tweak future expression to call with '...' arguments ... DONE [13:14:12.347] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.347] [13:14:12.347] getGlobalsAndPackages() ... DONE [13:14:12.348] run() for 'Future' ... [13:14:12.348] - state: 'created' [13:14:12.348] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.362] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.362] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.362] - Field: 'node' [13:14:12.363] - Field: 'label' [13:14:12.363] - Field: 'local' [13:14:12.363] - Field: 'owner' [13:14:12.363] - Field: 'envir' [13:14:12.363] - Field: 'workers' [13:14:12.363] - Field: 'packages' [13:14:12.364] - Field: 'gc' [13:14:12.364] - Field: 'conditions' [13:14:12.364] - Field: 'persistent' [13:14:12.364] - Field: 'expr' [13:14:12.364] - Field: 'uuid' [13:14:12.365] - Field: 'seed' [13:14:12.365] - Field: 'version' [13:14:12.365] - Field: 'result' [13:14:12.365] - Field: 'asynchronous' [13:14:12.365] - Field: 'calls' [13:14:12.365] - Field: 'globals' [13:14:12.366] - Field: 'stdout' [13:14:12.366] - Field: 'earlySignal' [13:14:12.366] - Field: 'lazy' [13:14:12.366] - Field: 'state' [13:14:12.366] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.366] - Launch lazy future ... [13:14:12.367] Packages needed by the future expression (n = 0): [13:14:12.367] Packages needed by future strategies (n = 0): [13:14:12.368] { [13:14:12.368] { [13:14:12.368] { [13:14:12.368] ...future.startTime <- base::Sys.time() [13:14:12.368] { [13:14:12.368] { [13:14:12.368] { [13:14:12.368] { [13:14:12.368] base::local({ [13:14:12.368] has_future <- base::requireNamespace("future", [13:14:12.368] quietly = TRUE) [13:14:12.368] if (has_future) { [13:14:12.368] ns <- base::getNamespace("future") [13:14:12.368] version <- ns[[".package"]][["version"]] [13:14:12.368] if (is.null(version)) [13:14:12.368] version <- utils::packageVersion("future") [13:14:12.368] } [13:14:12.368] else { [13:14:12.368] version <- NULL [13:14:12.368] } [13:14:12.368] if (!has_future || version < "1.8.0") { [13:14:12.368] info <- base::c(r_version = base::gsub("R version ", [13:14:12.368] "", base::R.version$version.string), [13:14:12.368] platform = base::sprintf("%s (%s-bit)", [13:14:12.368] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.368] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.368] "release", "version")], collapse = " "), [13:14:12.368] hostname = base::Sys.info()[["nodename"]]) [13:14:12.368] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.368] info) [13:14:12.368] info <- base::paste(info, collapse = "; ") [13:14:12.368] if (!has_future) { [13:14:12.368] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.368] info) [13:14:12.368] } [13:14:12.368] else { [13:14:12.368] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.368] info, version) [13:14:12.368] } [13:14:12.368] base::stop(msg) [13:14:12.368] } [13:14:12.368] }) [13:14:12.368] } [13:14:12.368] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.368] base::options(mc.cores = 1L) [13:14:12.368] } [13:14:12.368] options(future.plan = NULL) [13:14:12.368] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.368] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.368] } [13:14:12.368] ...future.workdir <- getwd() [13:14:12.368] } [13:14:12.368] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.368] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.368] } [13:14:12.368] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.368] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.368] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.368] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.368] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.368] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.368] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.368] base::names(...future.oldOptions)) [13:14:12.368] } [13:14:12.368] if (FALSE) { [13:14:12.368] } [13:14:12.368] else { [13:14:12.368] if (TRUE) { [13:14:12.368] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.368] open = "w") [13:14:12.368] } [13:14:12.368] else { [13:14:12.368] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.368] windows = "NUL", "/dev/null"), open = "w") [13:14:12.368] } [13:14:12.368] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.368] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.368] base::sink(type = "output", split = FALSE) [13:14:12.368] base::close(...future.stdout) [13:14:12.368] }, add = TRUE) [13:14:12.368] } [13:14:12.368] ...future.frame <- base::sys.nframe() [13:14:12.368] ...future.conditions <- base::list() [13:14:12.368] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.368] if (FALSE) { [13:14:12.368] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.368] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.368] } [13:14:12.368] ...future.result <- base::tryCatch({ [13:14:12.368] base::withCallingHandlers({ [13:14:12.368] ...future.value <- base::withVisible(base::local({ [13:14:12.368] ...future.makeSendCondition <- local({ [13:14:12.368] sendCondition <- NULL [13:14:12.368] function(frame = 1L) { [13:14:12.368] if (is.function(sendCondition)) [13:14:12.368] return(sendCondition) [13:14:12.368] ns <- getNamespace("parallel") [13:14:12.368] if (exists("sendData", mode = "function", [13:14:12.368] envir = ns)) { [13:14:12.368] parallel_sendData <- get("sendData", mode = "function", [13:14:12.368] envir = ns) [13:14:12.368] envir <- sys.frame(frame) [13:14:12.368] master <- NULL [13:14:12.368] while (!identical(envir, .GlobalEnv) && [13:14:12.368] !identical(envir, emptyenv())) { [13:14:12.368] if (exists("master", mode = "list", envir = envir, [13:14:12.368] inherits = FALSE)) { [13:14:12.368] master <- get("master", mode = "list", [13:14:12.368] envir = envir, inherits = FALSE) [13:14:12.368] if (inherits(master, c("SOCKnode", [13:14:12.368] "SOCK0node"))) { [13:14:12.368] sendCondition <<- function(cond) { [13:14:12.368] data <- list(type = "VALUE", value = cond, [13:14:12.368] success = TRUE) [13:14:12.368] parallel_sendData(master, data) [13:14:12.368] } [13:14:12.368] return(sendCondition) [13:14:12.368] } [13:14:12.368] } [13:14:12.368] frame <- frame + 1L [13:14:12.368] envir <- sys.frame(frame) [13:14:12.368] } [13:14:12.368] } [13:14:12.368] sendCondition <<- function(cond) NULL [13:14:12.368] } [13:14:12.368] }) [13:14:12.368] withCallingHandlers({ [13:14:12.368] { [13:14:12.368] do.call(function(...) { [13:14:12.368] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.368] if (!identical(...future.globals.maxSize.org, [13:14:12.368] ...future.globals.maxSize)) { [13:14:12.368] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.368] on.exit(options(oopts), add = TRUE) [13:14:12.368] } [13:14:12.368] { [13:14:12.368] lapply(seq_along(...future.elements_ii), [13:14:12.368] FUN = function(jj) { [13:14:12.368] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.368] ...future.FUN(...future.X_jj, ...) [13:14:12.368] }) [13:14:12.368] } [13:14:12.368] }, args = future.call.arguments) [13:14:12.368] } [13:14:12.368] }, immediateCondition = function(cond) { [13:14:12.368] sendCondition <- ...future.makeSendCondition() [13:14:12.368] sendCondition(cond) [13:14:12.368] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.368] { [13:14:12.368] inherits <- base::inherits [13:14:12.368] invokeRestart <- base::invokeRestart [13:14:12.368] is.null <- base::is.null [13:14:12.368] muffled <- FALSE [13:14:12.368] if (inherits(cond, "message")) { [13:14:12.368] muffled <- grepl(pattern, "muffleMessage") [13:14:12.368] if (muffled) [13:14:12.368] invokeRestart("muffleMessage") [13:14:12.368] } [13:14:12.368] else if (inherits(cond, "warning")) { [13:14:12.368] muffled <- grepl(pattern, "muffleWarning") [13:14:12.368] if (muffled) [13:14:12.368] invokeRestart("muffleWarning") [13:14:12.368] } [13:14:12.368] else if (inherits(cond, "condition")) { [13:14:12.368] if (!is.null(pattern)) { [13:14:12.368] computeRestarts <- base::computeRestarts [13:14:12.368] grepl <- base::grepl [13:14:12.368] restarts <- computeRestarts(cond) [13:14:12.368] for (restart in restarts) { [13:14:12.368] name <- restart$name [13:14:12.368] if (is.null(name)) [13:14:12.368] next [13:14:12.368] if (!grepl(pattern, name)) [13:14:12.368] next [13:14:12.368] invokeRestart(restart) [13:14:12.368] muffled <- TRUE [13:14:12.368] break [13:14:12.368] } [13:14:12.368] } [13:14:12.368] } [13:14:12.368] invisible(muffled) [13:14:12.368] } [13:14:12.368] muffleCondition(cond) [13:14:12.368] }) [13:14:12.368] })) [13:14:12.368] future::FutureResult(value = ...future.value$value, [13:14:12.368] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.368] ...future.rng), globalenv = if (FALSE) [13:14:12.368] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.368] ...future.globalenv.names)) [13:14:12.368] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.368] }, condition = base::local({ [13:14:12.368] c <- base::c [13:14:12.368] inherits <- base::inherits [13:14:12.368] invokeRestart <- base::invokeRestart [13:14:12.368] length <- base::length [13:14:12.368] list <- base::list [13:14:12.368] seq.int <- base::seq.int [13:14:12.368] signalCondition <- base::signalCondition [13:14:12.368] sys.calls <- base::sys.calls [13:14:12.368] `[[` <- base::`[[` [13:14:12.368] `+` <- base::`+` [13:14:12.368] `<<-` <- base::`<<-` [13:14:12.368] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.368] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.368] 3L)] [13:14:12.368] } [13:14:12.368] function(cond) { [13:14:12.368] is_error <- inherits(cond, "error") [13:14:12.368] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.368] NULL) [13:14:12.368] if (is_error) { [13:14:12.368] sessionInformation <- function() { [13:14:12.368] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.368] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.368] search = base::search(), system = base::Sys.info()) [13:14:12.368] } [13:14:12.368] ...future.conditions[[length(...future.conditions) + [13:14:12.368] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.368] cond$call), session = sessionInformation(), [13:14:12.368] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.368] signalCondition(cond) [13:14:12.368] } [13:14:12.368] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.368] "immediateCondition"))) { [13:14:12.368] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.368] ...future.conditions[[length(...future.conditions) + [13:14:12.368] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.368] if (TRUE && !signal) { [13:14:12.368] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.368] { [13:14:12.368] inherits <- base::inherits [13:14:12.368] invokeRestart <- base::invokeRestart [13:14:12.368] is.null <- base::is.null [13:14:12.368] muffled <- FALSE [13:14:12.368] if (inherits(cond, "message")) { [13:14:12.368] muffled <- grepl(pattern, "muffleMessage") [13:14:12.368] if (muffled) [13:14:12.368] invokeRestart("muffleMessage") [13:14:12.368] } [13:14:12.368] else if (inherits(cond, "warning")) { [13:14:12.368] muffled <- grepl(pattern, "muffleWarning") [13:14:12.368] if (muffled) [13:14:12.368] invokeRestart("muffleWarning") [13:14:12.368] } [13:14:12.368] else if (inherits(cond, "condition")) { [13:14:12.368] if (!is.null(pattern)) { [13:14:12.368] computeRestarts <- base::computeRestarts [13:14:12.368] grepl <- base::grepl [13:14:12.368] restarts <- computeRestarts(cond) [13:14:12.368] for (restart in restarts) { [13:14:12.368] name <- restart$name [13:14:12.368] if (is.null(name)) [13:14:12.368] next [13:14:12.368] if (!grepl(pattern, name)) [13:14:12.368] next [13:14:12.368] invokeRestart(restart) [13:14:12.368] muffled <- TRUE [13:14:12.368] break [13:14:12.368] } [13:14:12.368] } [13:14:12.368] } [13:14:12.368] invisible(muffled) [13:14:12.368] } [13:14:12.368] muffleCondition(cond, pattern = "^muffle") [13:14:12.368] } [13:14:12.368] } [13:14:12.368] else { [13:14:12.368] if (TRUE) { [13:14:12.368] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.368] { [13:14:12.368] inherits <- base::inherits [13:14:12.368] invokeRestart <- base::invokeRestart [13:14:12.368] is.null <- base::is.null [13:14:12.368] muffled <- FALSE [13:14:12.368] if (inherits(cond, "message")) { [13:14:12.368] muffled <- grepl(pattern, "muffleMessage") [13:14:12.368] if (muffled) [13:14:12.368] invokeRestart("muffleMessage") [13:14:12.368] } [13:14:12.368] else if (inherits(cond, "warning")) { [13:14:12.368] muffled <- grepl(pattern, "muffleWarning") [13:14:12.368] if (muffled) [13:14:12.368] invokeRestart("muffleWarning") [13:14:12.368] } [13:14:12.368] else if (inherits(cond, "condition")) { [13:14:12.368] if (!is.null(pattern)) { [13:14:12.368] computeRestarts <- base::computeRestarts [13:14:12.368] grepl <- base::grepl [13:14:12.368] restarts <- computeRestarts(cond) [13:14:12.368] for (restart in restarts) { [13:14:12.368] name <- restart$name [13:14:12.368] if (is.null(name)) [13:14:12.368] next [13:14:12.368] if (!grepl(pattern, name)) [13:14:12.368] next [13:14:12.368] invokeRestart(restart) [13:14:12.368] muffled <- TRUE [13:14:12.368] break [13:14:12.368] } [13:14:12.368] } [13:14:12.368] } [13:14:12.368] invisible(muffled) [13:14:12.368] } [13:14:12.368] muffleCondition(cond, pattern = "^muffle") [13:14:12.368] } [13:14:12.368] } [13:14:12.368] } [13:14:12.368] })) [13:14:12.368] }, error = function(ex) { [13:14:12.368] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.368] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.368] ...future.rng), started = ...future.startTime, [13:14:12.368] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.368] version = "1.8"), class = "FutureResult") [13:14:12.368] }, finally = { [13:14:12.368] if (!identical(...future.workdir, getwd())) [13:14:12.368] setwd(...future.workdir) [13:14:12.368] { [13:14:12.368] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.368] ...future.oldOptions$nwarnings <- NULL [13:14:12.368] } [13:14:12.368] base::options(...future.oldOptions) [13:14:12.368] if (.Platform$OS.type == "windows") { [13:14:12.368] old_names <- names(...future.oldEnvVars) [13:14:12.368] envs <- base::Sys.getenv() [13:14:12.368] names <- names(envs) [13:14:12.368] common <- intersect(names, old_names) [13:14:12.368] added <- setdiff(names, old_names) [13:14:12.368] removed <- setdiff(old_names, names) [13:14:12.368] changed <- common[...future.oldEnvVars[common] != [13:14:12.368] envs[common]] [13:14:12.368] NAMES <- toupper(changed) [13:14:12.368] args <- list() [13:14:12.368] for (kk in seq_along(NAMES)) { [13:14:12.368] name <- changed[[kk]] [13:14:12.368] NAME <- NAMES[[kk]] [13:14:12.368] if (name != NAME && is.element(NAME, old_names)) [13:14:12.368] next [13:14:12.368] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.368] } [13:14:12.368] NAMES <- toupper(added) [13:14:12.368] for (kk in seq_along(NAMES)) { [13:14:12.368] name <- added[[kk]] [13:14:12.368] NAME <- NAMES[[kk]] [13:14:12.368] if (name != NAME && is.element(NAME, old_names)) [13:14:12.368] next [13:14:12.368] args[[name]] <- "" [13:14:12.368] } [13:14:12.368] NAMES <- toupper(removed) [13:14:12.368] for (kk in seq_along(NAMES)) { [13:14:12.368] name <- removed[[kk]] [13:14:12.368] NAME <- NAMES[[kk]] [13:14:12.368] if (name != NAME && is.element(NAME, old_names)) [13:14:12.368] next [13:14:12.368] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.368] } [13:14:12.368] if (length(args) > 0) [13:14:12.368] base::do.call(base::Sys.setenv, args = args) [13:14:12.368] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.368] } [13:14:12.368] else { [13:14:12.368] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.368] } [13:14:12.368] { [13:14:12.368] if (base::length(...future.futureOptionsAdded) > [13:14:12.368] 0L) { [13:14:12.368] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.368] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.368] base::options(opts) [13:14:12.368] } [13:14:12.368] { [13:14:12.368] { [13:14:12.368] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.368] NULL [13:14:12.368] } [13:14:12.368] options(future.plan = NULL) [13:14:12.368] if (is.na(NA_character_)) [13:14:12.368] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.368] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.368] future::plan(list(function (..., workers = availableCores(), [13:14:12.368] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.368] envir = parent.frame()) [13:14:12.368] { [13:14:12.368] if (is.function(workers)) [13:14:12.368] workers <- workers() [13:14:12.368] workers <- structure(as.integer(workers), [13:14:12.368] class = class(workers)) [13:14:12.368] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.368] workers >= 1) [13:14:12.368] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.368] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.368] } [13:14:12.368] future <- MultisessionFuture(..., workers = workers, [13:14:12.368] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.368] envir = envir) [13:14:12.368] if (!future$lazy) [13:14:12.368] future <- run(future) [13:14:12.368] invisible(future) [13:14:12.368] }), .cleanup = FALSE, .init = FALSE) [13:14:12.368] } [13:14:12.368] } [13:14:12.368] } [13:14:12.368] }) [13:14:12.368] if (TRUE) { [13:14:12.368] base::sink(type = "output", split = FALSE) [13:14:12.368] if (TRUE) { [13:14:12.368] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.368] } [13:14:12.368] else { [13:14:12.368] ...future.result["stdout"] <- base::list(NULL) [13:14:12.368] } [13:14:12.368] base::close(...future.stdout) [13:14:12.368] ...future.stdout <- NULL [13:14:12.368] } [13:14:12.368] ...future.result$conditions <- ...future.conditions [13:14:12.368] ...future.result$finished <- base::Sys.time() [13:14:12.368] ...future.result [13:14:12.368] } [13:14:12.373] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:12.373] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:12.374] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:12.374] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.374] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.375] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.375] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.375] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.376] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.376] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.376] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.376] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:12.377] MultisessionFuture started [13:14:12.377] - Launch lazy future ... done [13:14:12.377] run() for 'MultisessionFuture' ... done [13:14:12.378] Created future: [13:14:12.393] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.394] - Validating connection of MultisessionFuture [13:14:12.394] - received message: FutureResult [13:14:12.394] - Received FutureResult [13:14:12.394] - Erased future from FutureRegistry [13:14:12.395] result() for ClusterFuture ... [13:14:12.395] - result already collected: FutureResult [13:14:12.395] result() for ClusterFuture ... done [13:14:12.395] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.378] MultisessionFuture: [13:14:12.378] Label: 'future_sapply-2' [13:14:12.378] Expression: [13:14:12.378] { [13:14:12.378] do.call(function(...) { [13:14:12.378] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.378] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.378] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.378] on.exit(options(oopts), add = TRUE) [13:14:12.378] } [13:14:12.378] { [13:14:12.378] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.378] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.378] ...future.FUN(...future.X_jj, ...) [13:14:12.378] }) [13:14:12.378] } [13:14:12.378] }, args = future.call.arguments) [13:14:12.378] } [13:14:12.378] Lazy evaluation: FALSE [13:14:12.378] Asynchronous evaluation: TRUE [13:14:12.378] Local evaluation: TRUE [13:14:12.378] Environment: R_GlobalEnv [13:14:12.378] Capture standard output: TRUE [13:14:12.378] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.378] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.378] Packages: [13:14:12.378] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.378] Resolved: TRUE [13:14:12.378] Value: [13:14:12.378] Conditions captured: [13:14:12.378] Early signaling: FALSE [13:14:12.378] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.378] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.395] Chunk #2 of 2 ... DONE [13:14:12.396] Launching 2 futures (chunks) ... DONE [13:14:12.396] Resolving 2 futures (chunks) ... [13:14:12.396] resolve() on list ... [13:14:12.396] recursive: 0 [13:14:12.396] length: 2 [13:14:12.396] [13:14:12.397] Future #1 [13:14:12.397] result() for ClusterFuture ... [13:14:12.397] - result already collected: FutureResult [13:14:12.397] result() for ClusterFuture ... done [13:14:12.397] result() for ClusterFuture ... [13:14:12.397] - result already collected: FutureResult [13:14:12.397] result() for ClusterFuture ... done [13:14:12.398] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:12.398] - nx: 2 [13:14:12.398] - relay: TRUE [13:14:12.398] - stdout: TRUE [13:14:12.398] - signal: TRUE [13:14:12.398] - resignal: FALSE [13:14:12.399] - force: TRUE [13:14:12.399] - relayed: [n=2] FALSE, FALSE [13:14:12.399] - queued futures: [n=2] FALSE, FALSE [13:14:12.399] - until=1 [13:14:12.399] - relaying element #1 [13:14:12.399] result() for ClusterFuture ... [13:14:12.399] - result already collected: FutureResult [13:14:12.400] result() for ClusterFuture ... done [13:14:12.400] result() for ClusterFuture ... [13:14:12.400] - result already collected: FutureResult [13:14:12.400] result() for ClusterFuture ... done [13:14:12.400] result() for ClusterFuture ... [13:14:12.400] - result already collected: FutureResult [13:14:12.401] result() for ClusterFuture ... done [13:14:12.401] result() for ClusterFuture ... [13:14:12.401] - result already collected: FutureResult [13:14:12.401] result() for ClusterFuture ... done [13:14:12.401] - relayed: [n=2] TRUE, FALSE [13:14:12.401] - queued futures: [n=2] TRUE, FALSE [13:14:12.402] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:12.402] length: 1 (resolved future 1) [13:14:12.402] Future #2 [13:14:12.402] result() for ClusterFuture ... [13:14:12.402] - result already collected: FutureResult [13:14:12.402] result() for ClusterFuture ... done [13:14:12.403] result() for ClusterFuture ... [13:14:12.403] - result already collected: FutureResult [13:14:12.403] result() for ClusterFuture ... done [13:14:12.403] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:12.403] - nx: 2 [13:14:12.403] - relay: TRUE [13:14:12.404] - stdout: TRUE [13:14:12.404] - signal: TRUE [13:14:12.404] - resignal: FALSE [13:14:12.404] - force: TRUE [13:14:12.404] - relayed: [n=2] TRUE, FALSE [13:14:12.404] - queued futures: [n=2] TRUE, FALSE [13:14:12.404] - until=2 [13:14:12.405] - relaying element #2 [13:14:12.405] result() for ClusterFuture ... [13:14:12.405] - result already collected: FutureResult [13:14:12.405] result() for ClusterFuture ... done [13:14:12.405] result() for ClusterFuture ... [13:14:12.405] - result already collected: FutureResult [13:14:12.406] result() for ClusterFuture ... done [13:14:12.406] result() for ClusterFuture ... [13:14:12.406] - result already collected: FutureResult [13:14:12.406] result() for ClusterFuture ... done [13:14:12.406] result() for ClusterFuture ... [13:14:12.406] - result already collected: FutureResult [13:14:12.406] result() for ClusterFuture ... done [13:14:12.407] - relayed: [n=2] TRUE, TRUE [13:14:12.407] - queued futures: [n=2] TRUE, TRUE [13:14:12.407] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:12.407] length: 0 (resolved future 2) [13:14:12.407] Relaying remaining futures [13:14:12.407] signalConditionsASAP(NULL, pos=0) ... [13:14:12.408] - nx: 2 [13:14:12.408] - relay: TRUE [13:14:12.408] - stdout: TRUE [13:14:12.408] - signal: TRUE [13:14:12.408] - resignal: FALSE [13:14:12.408] - force: TRUE [13:14:12.408] - relayed: [n=2] TRUE, TRUE [13:14:12.409] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:12.409] - relayed: [n=2] TRUE, TRUE [13:14:12.409] - queued futures: [n=2] TRUE, TRUE [13:14:12.409] signalConditionsASAP(NULL, pos=0) ... done [13:14:12.409] resolve() on list ... DONE [13:14:12.410] result() for ClusterFuture ... [13:14:12.410] - result already collected: FutureResult [13:14:12.410] result() for ClusterFuture ... done [13:14:12.410] result() for ClusterFuture ... [13:14:12.410] - result already collected: FutureResult [13:14:12.410] result() for ClusterFuture ... done [13:14:12.410] result() for ClusterFuture ... [13:14:12.411] - result already collected: FutureResult [13:14:12.411] result() for ClusterFuture ... done [13:14:12.411] result() for ClusterFuture ... [13:14:12.411] - result already collected: FutureResult [13:14:12.411] result() for ClusterFuture ... done [13:14:12.411] - Number of value chunks collected: 2 [13:14:12.412] Resolving 2 futures (chunks) ... DONE [13:14:12.412] Reducing values from 2 chunks ... [13:14:12.412] - Number of values collected after concatenation: 4 [13:14:12.412] - Number of values expected: 4 [13:14:12.412] Reducing values from 2 chunks ... DONE [13:14:12.412] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:12.414] future_lapply() ... [13:14:12.417] Number of chunks: 2 [13:14:12.417] getGlobalsAndPackagesXApply() ... [13:14:12.418] - future.globals: TRUE [13:14:12.418] getGlobalsAndPackages() ... [13:14:12.418] Searching for globals... [13:14:12.419] - globals found: [2] 'FUN', 'UseMethod' [13:14:12.419] Searching for globals ... DONE [13:14:12.420] Resolving globals: FALSE [13:14:12.420] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:12.420] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:12.421] - globals: [1] 'FUN' [13:14:12.421] [13:14:12.421] getGlobalsAndPackages() ... DONE [13:14:12.421] - globals found/used: [n=1] 'FUN' [13:14:12.421] - needed namespaces: [n=0] [13:14:12.421] Finding globals ... DONE [13:14:12.422] - use_args: TRUE [13:14:12.422] - Getting '...' globals ... [13:14:12.422] resolve() on list ... [13:14:12.422] recursive: 0 [13:14:12.423] length: 1 [13:14:12.423] elements: '...' [13:14:12.423] length: 0 (resolved future 1) [13:14:12.423] resolve() on list ... DONE [13:14:12.423] - '...' content: [n=0] [13:14:12.423] List of 1 [13:14:12.423] $ ...: list() [13:14:12.423] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.423] - attr(*, "where")=List of 1 [13:14:12.423] ..$ ...: [13:14:12.423] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.423] - attr(*, "resolved")= logi TRUE [13:14:12.423] - attr(*, "total_size")= num NA [13:14:12.426] - Getting '...' globals ... DONE [13:14:12.427] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:12.427] List of 2 [13:14:12.427] $ ...future.FUN:function (x, ...) [13:14:12.427] $ ... : list() [13:14:12.427] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.427] - attr(*, "where")=List of 2 [13:14:12.427] ..$ ...future.FUN: [13:14:12.427] ..$ ... : [13:14:12.427] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.427] - attr(*, "resolved")= logi FALSE [13:14:12.427] - attr(*, "total_size")= num 1248 [13:14:12.430] Packages to be attached in all futures: [n=0] [13:14:12.430] getGlobalsAndPackagesXApply() ... DONE [13:14:12.431] Number of futures (= number of chunks): 2 [13:14:12.431] Launching 2 futures (chunks) ... [13:14:12.431] Chunk #1 of 2 ... [13:14:12.431] - Finding globals in 'X' for chunk #1 ... [13:14:12.431] getGlobalsAndPackages() ... [13:14:12.432] Searching for globals... [13:14:12.432] [13:14:12.432] Searching for globals ... DONE [13:14:12.432] - globals: [0] [13:14:12.432] getGlobalsAndPackages() ... DONE [13:14:12.433] + additional globals found: [n=0] [13:14:12.433] + additional namespaces needed: [n=0] [13:14:12.433] - Finding globals in 'X' for chunk #1 ... DONE [13:14:12.433] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.433] - seeds: [13:14:12.433] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.434] getGlobalsAndPackages() ... [13:14:12.434] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.434] Resolving globals: FALSE [13:14:12.434] Tweak future expression to call with '...' arguments ... [13:14:12.434] { [13:14:12.434] do.call(function(...) { [13:14:12.434] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.434] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.434] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.434] on.exit(options(oopts), add = TRUE) [13:14:12.434] } [13:14:12.434] { [13:14:12.434] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.434] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.434] ...future.FUN(...future.X_jj, ...) [13:14:12.434] }) [13:14:12.434] } [13:14:12.434] }, args = future.call.arguments) [13:14:12.434] } [13:14:12.435] Tweak future expression to call with '...' arguments ... DONE [13:14:12.435] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.435] [13:14:12.435] getGlobalsAndPackages() ... DONE [13:14:12.436] run() for 'Future' ... [13:14:12.436] - state: 'created' [13:14:12.436] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.450] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.450] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.451] - Field: 'node' [13:14:12.451] - Field: 'label' [13:14:12.451] - Field: 'local' [13:14:12.451] - Field: 'owner' [13:14:12.451] - Field: 'envir' [13:14:12.452] - Field: 'workers' [13:14:12.452] - Field: 'packages' [13:14:12.452] - Field: 'gc' [13:14:12.452] - Field: 'conditions' [13:14:12.452] - Field: 'persistent' [13:14:12.452] - Field: 'expr' [13:14:12.453] - Field: 'uuid' [13:14:12.453] - Field: 'seed' [13:14:12.453] - Field: 'version' [13:14:12.453] - Field: 'result' [13:14:12.453] - Field: 'asynchronous' [13:14:12.454] - Field: 'calls' [13:14:12.454] - Field: 'globals' [13:14:12.454] - Field: 'stdout' [13:14:12.454] - Field: 'earlySignal' [13:14:12.454] - Field: 'lazy' [13:14:12.454] - Field: 'state' [13:14:12.455] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.455] - Launch lazy future ... [13:14:12.455] Packages needed by the future expression (n = 0): [13:14:12.455] Packages needed by future strategies (n = 0): [13:14:12.456] { [13:14:12.456] { [13:14:12.456] { [13:14:12.456] ...future.startTime <- base::Sys.time() [13:14:12.456] { [13:14:12.456] { [13:14:12.456] { [13:14:12.456] { [13:14:12.456] base::local({ [13:14:12.456] has_future <- base::requireNamespace("future", [13:14:12.456] quietly = TRUE) [13:14:12.456] if (has_future) { [13:14:12.456] ns <- base::getNamespace("future") [13:14:12.456] version <- ns[[".package"]][["version"]] [13:14:12.456] if (is.null(version)) [13:14:12.456] version <- utils::packageVersion("future") [13:14:12.456] } [13:14:12.456] else { [13:14:12.456] version <- NULL [13:14:12.456] } [13:14:12.456] if (!has_future || version < "1.8.0") { [13:14:12.456] info <- base::c(r_version = base::gsub("R version ", [13:14:12.456] "", base::R.version$version.string), [13:14:12.456] platform = base::sprintf("%s (%s-bit)", [13:14:12.456] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.456] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.456] "release", "version")], collapse = " "), [13:14:12.456] hostname = base::Sys.info()[["nodename"]]) [13:14:12.456] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.456] info) [13:14:12.456] info <- base::paste(info, collapse = "; ") [13:14:12.456] if (!has_future) { [13:14:12.456] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.456] info) [13:14:12.456] } [13:14:12.456] else { [13:14:12.456] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.456] info, version) [13:14:12.456] } [13:14:12.456] base::stop(msg) [13:14:12.456] } [13:14:12.456] }) [13:14:12.456] } [13:14:12.456] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.456] base::options(mc.cores = 1L) [13:14:12.456] } [13:14:12.456] options(future.plan = NULL) [13:14:12.456] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.456] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.456] } [13:14:12.456] ...future.workdir <- getwd() [13:14:12.456] } [13:14:12.456] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.456] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.456] } [13:14:12.456] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.456] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.456] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.456] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.456] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.456] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.456] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.456] base::names(...future.oldOptions)) [13:14:12.456] } [13:14:12.456] if (FALSE) { [13:14:12.456] } [13:14:12.456] else { [13:14:12.456] if (TRUE) { [13:14:12.456] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.456] open = "w") [13:14:12.456] } [13:14:12.456] else { [13:14:12.456] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.456] windows = "NUL", "/dev/null"), open = "w") [13:14:12.456] } [13:14:12.456] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.456] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.456] base::sink(type = "output", split = FALSE) [13:14:12.456] base::close(...future.stdout) [13:14:12.456] }, add = TRUE) [13:14:12.456] } [13:14:12.456] ...future.frame <- base::sys.nframe() [13:14:12.456] ...future.conditions <- base::list() [13:14:12.456] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.456] if (FALSE) { [13:14:12.456] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.456] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.456] } [13:14:12.456] ...future.result <- base::tryCatch({ [13:14:12.456] base::withCallingHandlers({ [13:14:12.456] ...future.value <- base::withVisible(base::local({ [13:14:12.456] ...future.makeSendCondition <- local({ [13:14:12.456] sendCondition <- NULL [13:14:12.456] function(frame = 1L) { [13:14:12.456] if (is.function(sendCondition)) [13:14:12.456] return(sendCondition) [13:14:12.456] ns <- getNamespace("parallel") [13:14:12.456] if (exists("sendData", mode = "function", [13:14:12.456] envir = ns)) { [13:14:12.456] parallel_sendData <- get("sendData", mode = "function", [13:14:12.456] envir = ns) [13:14:12.456] envir <- sys.frame(frame) [13:14:12.456] master <- NULL [13:14:12.456] while (!identical(envir, .GlobalEnv) && [13:14:12.456] !identical(envir, emptyenv())) { [13:14:12.456] if (exists("master", mode = "list", envir = envir, [13:14:12.456] inherits = FALSE)) { [13:14:12.456] master <- get("master", mode = "list", [13:14:12.456] envir = envir, inherits = FALSE) [13:14:12.456] if (inherits(master, c("SOCKnode", [13:14:12.456] "SOCK0node"))) { [13:14:12.456] sendCondition <<- function(cond) { [13:14:12.456] data <- list(type = "VALUE", value = cond, [13:14:12.456] success = TRUE) [13:14:12.456] parallel_sendData(master, data) [13:14:12.456] } [13:14:12.456] return(sendCondition) [13:14:12.456] } [13:14:12.456] } [13:14:12.456] frame <- frame + 1L [13:14:12.456] envir <- sys.frame(frame) [13:14:12.456] } [13:14:12.456] } [13:14:12.456] sendCondition <<- function(cond) NULL [13:14:12.456] } [13:14:12.456] }) [13:14:12.456] withCallingHandlers({ [13:14:12.456] { [13:14:12.456] do.call(function(...) { [13:14:12.456] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.456] if (!identical(...future.globals.maxSize.org, [13:14:12.456] ...future.globals.maxSize)) { [13:14:12.456] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.456] on.exit(options(oopts), add = TRUE) [13:14:12.456] } [13:14:12.456] { [13:14:12.456] lapply(seq_along(...future.elements_ii), [13:14:12.456] FUN = function(jj) { [13:14:12.456] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.456] ...future.FUN(...future.X_jj, ...) [13:14:12.456] }) [13:14:12.456] } [13:14:12.456] }, args = future.call.arguments) [13:14:12.456] } [13:14:12.456] }, immediateCondition = function(cond) { [13:14:12.456] sendCondition <- ...future.makeSendCondition() [13:14:12.456] sendCondition(cond) [13:14:12.456] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.456] { [13:14:12.456] inherits <- base::inherits [13:14:12.456] invokeRestart <- base::invokeRestart [13:14:12.456] is.null <- base::is.null [13:14:12.456] muffled <- FALSE [13:14:12.456] if (inherits(cond, "message")) { [13:14:12.456] muffled <- grepl(pattern, "muffleMessage") [13:14:12.456] if (muffled) [13:14:12.456] invokeRestart("muffleMessage") [13:14:12.456] } [13:14:12.456] else if (inherits(cond, "warning")) { [13:14:12.456] muffled <- grepl(pattern, "muffleWarning") [13:14:12.456] if (muffled) [13:14:12.456] invokeRestart("muffleWarning") [13:14:12.456] } [13:14:12.456] else if (inherits(cond, "condition")) { [13:14:12.456] if (!is.null(pattern)) { [13:14:12.456] computeRestarts <- base::computeRestarts [13:14:12.456] grepl <- base::grepl [13:14:12.456] restarts <- computeRestarts(cond) [13:14:12.456] for (restart in restarts) { [13:14:12.456] name <- restart$name [13:14:12.456] if (is.null(name)) [13:14:12.456] next [13:14:12.456] if (!grepl(pattern, name)) [13:14:12.456] next [13:14:12.456] invokeRestart(restart) [13:14:12.456] muffled <- TRUE [13:14:12.456] break [13:14:12.456] } [13:14:12.456] } [13:14:12.456] } [13:14:12.456] invisible(muffled) [13:14:12.456] } [13:14:12.456] muffleCondition(cond) [13:14:12.456] }) [13:14:12.456] })) [13:14:12.456] future::FutureResult(value = ...future.value$value, [13:14:12.456] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.456] ...future.rng), globalenv = if (FALSE) [13:14:12.456] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.456] ...future.globalenv.names)) [13:14:12.456] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.456] }, condition = base::local({ [13:14:12.456] c <- base::c [13:14:12.456] inherits <- base::inherits [13:14:12.456] invokeRestart <- base::invokeRestart [13:14:12.456] length <- base::length [13:14:12.456] list <- base::list [13:14:12.456] seq.int <- base::seq.int [13:14:12.456] signalCondition <- base::signalCondition [13:14:12.456] sys.calls <- base::sys.calls [13:14:12.456] `[[` <- base::`[[` [13:14:12.456] `+` <- base::`+` [13:14:12.456] `<<-` <- base::`<<-` [13:14:12.456] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.456] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.456] 3L)] [13:14:12.456] } [13:14:12.456] function(cond) { [13:14:12.456] is_error <- inherits(cond, "error") [13:14:12.456] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.456] NULL) [13:14:12.456] if (is_error) { [13:14:12.456] sessionInformation <- function() { [13:14:12.456] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.456] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.456] search = base::search(), system = base::Sys.info()) [13:14:12.456] } [13:14:12.456] ...future.conditions[[length(...future.conditions) + [13:14:12.456] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.456] cond$call), session = sessionInformation(), [13:14:12.456] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.456] signalCondition(cond) [13:14:12.456] } [13:14:12.456] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.456] "immediateCondition"))) { [13:14:12.456] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.456] ...future.conditions[[length(...future.conditions) + [13:14:12.456] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.456] if (TRUE && !signal) { [13:14:12.456] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.456] { [13:14:12.456] inherits <- base::inherits [13:14:12.456] invokeRestart <- base::invokeRestart [13:14:12.456] is.null <- base::is.null [13:14:12.456] muffled <- FALSE [13:14:12.456] if (inherits(cond, "message")) { [13:14:12.456] muffled <- grepl(pattern, "muffleMessage") [13:14:12.456] if (muffled) [13:14:12.456] invokeRestart("muffleMessage") [13:14:12.456] } [13:14:12.456] else if (inherits(cond, "warning")) { [13:14:12.456] muffled <- grepl(pattern, "muffleWarning") [13:14:12.456] if (muffled) [13:14:12.456] invokeRestart("muffleWarning") [13:14:12.456] } [13:14:12.456] else if (inherits(cond, "condition")) { [13:14:12.456] if (!is.null(pattern)) { [13:14:12.456] computeRestarts <- base::computeRestarts [13:14:12.456] grepl <- base::grepl [13:14:12.456] restarts <- computeRestarts(cond) [13:14:12.456] for (restart in restarts) { [13:14:12.456] name <- restart$name [13:14:12.456] if (is.null(name)) [13:14:12.456] next [13:14:12.456] if (!grepl(pattern, name)) [13:14:12.456] next [13:14:12.456] invokeRestart(restart) [13:14:12.456] muffled <- TRUE [13:14:12.456] break [13:14:12.456] } [13:14:12.456] } [13:14:12.456] } [13:14:12.456] invisible(muffled) [13:14:12.456] } [13:14:12.456] muffleCondition(cond, pattern = "^muffle") [13:14:12.456] } [13:14:12.456] } [13:14:12.456] else { [13:14:12.456] if (TRUE) { [13:14:12.456] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.456] { [13:14:12.456] inherits <- base::inherits [13:14:12.456] invokeRestart <- base::invokeRestart [13:14:12.456] is.null <- base::is.null [13:14:12.456] muffled <- FALSE [13:14:12.456] if (inherits(cond, "message")) { [13:14:12.456] muffled <- grepl(pattern, "muffleMessage") [13:14:12.456] if (muffled) [13:14:12.456] invokeRestart("muffleMessage") [13:14:12.456] } [13:14:12.456] else if (inherits(cond, "warning")) { [13:14:12.456] muffled <- grepl(pattern, "muffleWarning") [13:14:12.456] if (muffled) [13:14:12.456] invokeRestart("muffleWarning") [13:14:12.456] } [13:14:12.456] else if (inherits(cond, "condition")) { [13:14:12.456] if (!is.null(pattern)) { [13:14:12.456] computeRestarts <- base::computeRestarts [13:14:12.456] grepl <- base::grepl [13:14:12.456] restarts <- computeRestarts(cond) [13:14:12.456] for (restart in restarts) { [13:14:12.456] name <- restart$name [13:14:12.456] if (is.null(name)) [13:14:12.456] next [13:14:12.456] if (!grepl(pattern, name)) [13:14:12.456] next [13:14:12.456] invokeRestart(restart) [13:14:12.456] muffled <- TRUE [13:14:12.456] break [13:14:12.456] } [13:14:12.456] } [13:14:12.456] } [13:14:12.456] invisible(muffled) [13:14:12.456] } [13:14:12.456] muffleCondition(cond, pattern = "^muffle") [13:14:12.456] } [13:14:12.456] } [13:14:12.456] } [13:14:12.456] })) [13:14:12.456] }, error = function(ex) { [13:14:12.456] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.456] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.456] ...future.rng), started = ...future.startTime, [13:14:12.456] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.456] version = "1.8"), class = "FutureResult") [13:14:12.456] }, finally = { [13:14:12.456] if (!identical(...future.workdir, getwd())) [13:14:12.456] setwd(...future.workdir) [13:14:12.456] { [13:14:12.456] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.456] ...future.oldOptions$nwarnings <- NULL [13:14:12.456] } [13:14:12.456] base::options(...future.oldOptions) [13:14:12.456] if (.Platform$OS.type == "windows") { [13:14:12.456] old_names <- names(...future.oldEnvVars) [13:14:12.456] envs <- base::Sys.getenv() [13:14:12.456] names <- names(envs) [13:14:12.456] common <- intersect(names, old_names) [13:14:12.456] added <- setdiff(names, old_names) [13:14:12.456] removed <- setdiff(old_names, names) [13:14:12.456] changed <- common[...future.oldEnvVars[common] != [13:14:12.456] envs[common]] [13:14:12.456] NAMES <- toupper(changed) [13:14:12.456] args <- list() [13:14:12.456] for (kk in seq_along(NAMES)) { [13:14:12.456] name <- changed[[kk]] [13:14:12.456] NAME <- NAMES[[kk]] [13:14:12.456] if (name != NAME && is.element(NAME, old_names)) [13:14:12.456] next [13:14:12.456] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.456] } [13:14:12.456] NAMES <- toupper(added) [13:14:12.456] for (kk in seq_along(NAMES)) { [13:14:12.456] name <- added[[kk]] [13:14:12.456] NAME <- NAMES[[kk]] [13:14:12.456] if (name != NAME && is.element(NAME, old_names)) [13:14:12.456] next [13:14:12.456] args[[name]] <- "" [13:14:12.456] } [13:14:12.456] NAMES <- toupper(removed) [13:14:12.456] for (kk in seq_along(NAMES)) { [13:14:12.456] name <- removed[[kk]] [13:14:12.456] NAME <- NAMES[[kk]] [13:14:12.456] if (name != NAME && is.element(NAME, old_names)) [13:14:12.456] next [13:14:12.456] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.456] } [13:14:12.456] if (length(args) > 0) [13:14:12.456] base::do.call(base::Sys.setenv, args = args) [13:14:12.456] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.456] } [13:14:12.456] else { [13:14:12.456] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.456] } [13:14:12.456] { [13:14:12.456] if (base::length(...future.futureOptionsAdded) > [13:14:12.456] 0L) { [13:14:12.456] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.456] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.456] base::options(opts) [13:14:12.456] } [13:14:12.456] { [13:14:12.456] { [13:14:12.456] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.456] NULL [13:14:12.456] } [13:14:12.456] options(future.plan = NULL) [13:14:12.456] if (is.na(NA_character_)) [13:14:12.456] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.456] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.456] future::plan(list(function (..., workers = availableCores(), [13:14:12.456] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.456] envir = parent.frame()) [13:14:12.456] { [13:14:12.456] if (is.function(workers)) [13:14:12.456] workers <- workers() [13:14:12.456] workers <- structure(as.integer(workers), [13:14:12.456] class = class(workers)) [13:14:12.456] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.456] workers >= 1) [13:14:12.456] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.456] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.456] } [13:14:12.456] future <- MultisessionFuture(..., workers = workers, [13:14:12.456] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.456] envir = envir) [13:14:12.456] if (!future$lazy) [13:14:12.456] future <- run(future) [13:14:12.456] invisible(future) [13:14:12.456] }), .cleanup = FALSE, .init = FALSE) [13:14:12.456] } [13:14:12.456] } [13:14:12.456] } [13:14:12.456] }) [13:14:12.456] if (TRUE) { [13:14:12.456] base::sink(type = "output", split = FALSE) [13:14:12.456] if (TRUE) { [13:14:12.456] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.456] } [13:14:12.456] else { [13:14:12.456] ...future.result["stdout"] <- base::list(NULL) [13:14:12.456] } [13:14:12.456] base::close(...future.stdout) [13:14:12.456] ...future.stdout <- NULL [13:14:12.456] } [13:14:12.456] ...future.result$conditions <- ...future.conditions [13:14:12.456] ...future.result$finished <- base::Sys.time() [13:14:12.456] ...future.result [13:14:12.456] } [13:14:12.461] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:12.462] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:12.462] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:12.462] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.463] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.463] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.463] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.464] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.464] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.464] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.465] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.465] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:12.466] MultisessionFuture started [13:14:12.466] - Launch lazy future ... done [13:14:12.466] run() for 'MultisessionFuture' ... done [13:14:12.466] Created future: [13:14:12.482] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.482] - Validating connection of MultisessionFuture [13:14:12.482] - received message: FutureResult [13:14:12.482] - Received FutureResult [13:14:12.483] - Erased future from FutureRegistry [13:14:12.483] result() for ClusterFuture ... [13:14:12.483] - result already collected: FutureResult [13:14:12.483] result() for ClusterFuture ... done [13:14:12.483] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.466] MultisessionFuture: [13:14:12.466] Label: 'future_sapply-1' [13:14:12.466] Expression: [13:14:12.466] { [13:14:12.466] do.call(function(...) { [13:14:12.466] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.466] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.466] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.466] on.exit(options(oopts), add = TRUE) [13:14:12.466] } [13:14:12.466] { [13:14:12.466] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.466] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.466] ...future.FUN(...future.X_jj, ...) [13:14:12.466] }) [13:14:12.466] } [13:14:12.466] }, args = future.call.arguments) [13:14:12.466] } [13:14:12.466] Lazy evaluation: FALSE [13:14:12.466] Asynchronous evaluation: TRUE [13:14:12.466] Local evaluation: TRUE [13:14:12.466] Environment: R_GlobalEnv [13:14:12.466] Capture standard output: TRUE [13:14:12.466] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.466] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.466] Packages: [13:14:12.466] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.466] Resolved: TRUE [13:14:12.466] Value: [13:14:12.466] Conditions captured: [13:14:12.466] Early signaling: FALSE [13:14:12.466] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.466] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.484] Chunk #1 of 2 ... DONE [13:14:12.484] Chunk #2 of 2 ... [13:14:12.484] - Finding globals in 'X' for chunk #2 ... [13:14:12.484] getGlobalsAndPackages() ... [13:14:12.484] Searching for globals... [13:14:12.485] [13:14:12.485] Searching for globals ... DONE [13:14:12.485] - globals: [0] [13:14:12.485] getGlobalsAndPackages() ... DONE [13:14:12.485] + additional globals found: [n=0] [13:14:12.486] + additional namespaces needed: [n=0] [13:14:12.486] - Finding globals in 'X' for chunk #2 ... DONE [13:14:12.486] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.486] - seeds: [13:14:12.486] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.486] getGlobalsAndPackages() ... [13:14:12.487] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.487] Resolving globals: FALSE [13:14:12.487] Tweak future expression to call with '...' arguments ... [13:14:12.487] { [13:14:12.487] do.call(function(...) { [13:14:12.487] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.487] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.487] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.487] on.exit(options(oopts), add = TRUE) [13:14:12.487] } [13:14:12.487] { [13:14:12.487] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.487] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.487] ...future.FUN(...future.X_jj, ...) [13:14:12.487] }) [13:14:12.487] } [13:14:12.487] }, args = future.call.arguments) [13:14:12.487] } [13:14:12.488] Tweak future expression to call with '...' arguments ... DONE [13:14:12.488] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.488] [13:14:12.488] getGlobalsAndPackages() ... DONE [13:14:12.489] run() for 'Future' ... [13:14:12.489] - state: 'created' [13:14:12.489] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.511] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.512] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.512] - Field: 'node' [13:14:12.512] - Field: 'label' [13:14:12.512] - Field: 'local' [13:14:12.512] - Field: 'owner' [13:14:12.512] - Field: 'envir' [13:14:12.513] - Field: 'workers' [13:14:12.513] - Field: 'packages' [13:14:12.513] - Field: 'gc' [13:14:12.513] - Field: 'conditions' [13:14:12.513] - Field: 'persistent' [13:14:12.514] - Field: 'expr' [13:14:12.514] - Field: 'uuid' [13:14:12.514] - Field: 'seed' [13:14:12.514] - Field: 'version' [13:14:12.514] - Field: 'result' [13:14:12.514] - Field: 'asynchronous' [13:14:12.515] - Field: 'calls' [13:14:12.515] - Field: 'globals' [13:14:12.515] - Field: 'stdout' [13:14:12.515] - Field: 'earlySignal' [13:14:12.515] - Field: 'lazy' [13:14:12.515] - Field: 'state' [13:14:12.516] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.516] - Launch lazy future ... [13:14:12.516] Packages needed by the future expression (n = 0): [13:14:12.516] Packages needed by future strategies (n = 0): [13:14:12.517] { [13:14:12.517] { [13:14:12.517] { [13:14:12.517] ...future.startTime <- base::Sys.time() [13:14:12.517] { [13:14:12.517] { [13:14:12.517] { [13:14:12.517] { [13:14:12.517] base::local({ [13:14:12.517] has_future <- base::requireNamespace("future", [13:14:12.517] quietly = TRUE) [13:14:12.517] if (has_future) { [13:14:12.517] ns <- base::getNamespace("future") [13:14:12.517] version <- ns[[".package"]][["version"]] [13:14:12.517] if (is.null(version)) [13:14:12.517] version <- utils::packageVersion("future") [13:14:12.517] } [13:14:12.517] else { [13:14:12.517] version <- NULL [13:14:12.517] } [13:14:12.517] if (!has_future || version < "1.8.0") { [13:14:12.517] info <- base::c(r_version = base::gsub("R version ", [13:14:12.517] "", base::R.version$version.string), [13:14:12.517] platform = base::sprintf("%s (%s-bit)", [13:14:12.517] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.517] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.517] "release", "version")], collapse = " "), [13:14:12.517] hostname = base::Sys.info()[["nodename"]]) [13:14:12.517] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.517] info) [13:14:12.517] info <- base::paste(info, collapse = "; ") [13:14:12.517] if (!has_future) { [13:14:12.517] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.517] info) [13:14:12.517] } [13:14:12.517] else { [13:14:12.517] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.517] info, version) [13:14:12.517] } [13:14:12.517] base::stop(msg) [13:14:12.517] } [13:14:12.517] }) [13:14:12.517] } [13:14:12.517] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.517] base::options(mc.cores = 1L) [13:14:12.517] } [13:14:12.517] options(future.plan = NULL) [13:14:12.517] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.517] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.517] } [13:14:12.517] ...future.workdir <- getwd() [13:14:12.517] } [13:14:12.517] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.517] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.517] } [13:14:12.517] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.517] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.517] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.517] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.517] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.517] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.517] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.517] base::names(...future.oldOptions)) [13:14:12.517] } [13:14:12.517] if (FALSE) { [13:14:12.517] } [13:14:12.517] else { [13:14:12.517] if (TRUE) { [13:14:12.517] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.517] open = "w") [13:14:12.517] } [13:14:12.517] else { [13:14:12.517] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.517] windows = "NUL", "/dev/null"), open = "w") [13:14:12.517] } [13:14:12.517] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.517] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.517] base::sink(type = "output", split = FALSE) [13:14:12.517] base::close(...future.stdout) [13:14:12.517] }, add = TRUE) [13:14:12.517] } [13:14:12.517] ...future.frame <- base::sys.nframe() [13:14:12.517] ...future.conditions <- base::list() [13:14:12.517] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.517] if (FALSE) { [13:14:12.517] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.517] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.517] } [13:14:12.517] ...future.result <- base::tryCatch({ [13:14:12.517] base::withCallingHandlers({ [13:14:12.517] ...future.value <- base::withVisible(base::local({ [13:14:12.517] ...future.makeSendCondition <- local({ [13:14:12.517] sendCondition <- NULL [13:14:12.517] function(frame = 1L) { [13:14:12.517] if (is.function(sendCondition)) [13:14:12.517] return(sendCondition) [13:14:12.517] ns <- getNamespace("parallel") [13:14:12.517] if (exists("sendData", mode = "function", [13:14:12.517] envir = ns)) { [13:14:12.517] parallel_sendData <- get("sendData", mode = "function", [13:14:12.517] envir = ns) [13:14:12.517] envir <- sys.frame(frame) [13:14:12.517] master <- NULL [13:14:12.517] while (!identical(envir, .GlobalEnv) && [13:14:12.517] !identical(envir, emptyenv())) { [13:14:12.517] if (exists("master", mode = "list", envir = envir, [13:14:12.517] inherits = FALSE)) { [13:14:12.517] master <- get("master", mode = "list", [13:14:12.517] envir = envir, inherits = FALSE) [13:14:12.517] if (inherits(master, c("SOCKnode", [13:14:12.517] "SOCK0node"))) { [13:14:12.517] sendCondition <<- function(cond) { [13:14:12.517] data <- list(type = "VALUE", value = cond, [13:14:12.517] success = TRUE) [13:14:12.517] parallel_sendData(master, data) [13:14:12.517] } [13:14:12.517] return(sendCondition) [13:14:12.517] } [13:14:12.517] } [13:14:12.517] frame <- frame + 1L [13:14:12.517] envir <- sys.frame(frame) [13:14:12.517] } [13:14:12.517] } [13:14:12.517] sendCondition <<- function(cond) NULL [13:14:12.517] } [13:14:12.517] }) [13:14:12.517] withCallingHandlers({ [13:14:12.517] { [13:14:12.517] do.call(function(...) { [13:14:12.517] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.517] if (!identical(...future.globals.maxSize.org, [13:14:12.517] ...future.globals.maxSize)) { [13:14:12.517] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.517] on.exit(options(oopts), add = TRUE) [13:14:12.517] } [13:14:12.517] { [13:14:12.517] lapply(seq_along(...future.elements_ii), [13:14:12.517] FUN = function(jj) { [13:14:12.517] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.517] ...future.FUN(...future.X_jj, ...) [13:14:12.517] }) [13:14:12.517] } [13:14:12.517] }, args = future.call.arguments) [13:14:12.517] } [13:14:12.517] }, immediateCondition = function(cond) { [13:14:12.517] sendCondition <- ...future.makeSendCondition() [13:14:12.517] sendCondition(cond) [13:14:12.517] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.517] { [13:14:12.517] inherits <- base::inherits [13:14:12.517] invokeRestart <- base::invokeRestart [13:14:12.517] is.null <- base::is.null [13:14:12.517] muffled <- FALSE [13:14:12.517] if (inherits(cond, "message")) { [13:14:12.517] muffled <- grepl(pattern, "muffleMessage") [13:14:12.517] if (muffled) [13:14:12.517] invokeRestart("muffleMessage") [13:14:12.517] } [13:14:12.517] else if (inherits(cond, "warning")) { [13:14:12.517] muffled <- grepl(pattern, "muffleWarning") [13:14:12.517] if (muffled) [13:14:12.517] invokeRestart("muffleWarning") [13:14:12.517] } [13:14:12.517] else if (inherits(cond, "condition")) { [13:14:12.517] if (!is.null(pattern)) { [13:14:12.517] computeRestarts <- base::computeRestarts [13:14:12.517] grepl <- base::grepl [13:14:12.517] restarts <- computeRestarts(cond) [13:14:12.517] for (restart in restarts) { [13:14:12.517] name <- restart$name [13:14:12.517] if (is.null(name)) [13:14:12.517] next [13:14:12.517] if (!grepl(pattern, name)) [13:14:12.517] next [13:14:12.517] invokeRestart(restart) [13:14:12.517] muffled <- TRUE [13:14:12.517] break [13:14:12.517] } [13:14:12.517] } [13:14:12.517] } [13:14:12.517] invisible(muffled) [13:14:12.517] } [13:14:12.517] muffleCondition(cond) [13:14:12.517] }) [13:14:12.517] })) [13:14:12.517] future::FutureResult(value = ...future.value$value, [13:14:12.517] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.517] ...future.rng), globalenv = if (FALSE) [13:14:12.517] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.517] ...future.globalenv.names)) [13:14:12.517] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.517] }, condition = base::local({ [13:14:12.517] c <- base::c [13:14:12.517] inherits <- base::inherits [13:14:12.517] invokeRestart <- base::invokeRestart [13:14:12.517] length <- base::length [13:14:12.517] list <- base::list [13:14:12.517] seq.int <- base::seq.int [13:14:12.517] signalCondition <- base::signalCondition [13:14:12.517] sys.calls <- base::sys.calls [13:14:12.517] `[[` <- base::`[[` [13:14:12.517] `+` <- base::`+` [13:14:12.517] `<<-` <- base::`<<-` [13:14:12.517] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.517] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.517] 3L)] [13:14:12.517] } [13:14:12.517] function(cond) { [13:14:12.517] is_error <- inherits(cond, "error") [13:14:12.517] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.517] NULL) [13:14:12.517] if (is_error) { [13:14:12.517] sessionInformation <- function() { [13:14:12.517] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.517] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.517] search = base::search(), system = base::Sys.info()) [13:14:12.517] } [13:14:12.517] ...future.conditions[[length(...future.conditions) + [13:14:12.517] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.517] cond$call), session = sessionInformation(), [13:14:12.517] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.517] signalCondition(cond) [13:14:12.517] } [13:14:12.517] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.517] "immediateCondition"))) { [13:14:12.517] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.517] ...future.conditions[[length(...future.conditions) + [13:14:12.517] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.517] if (TRUE && !signal) { [13:14:12.517] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.517] { [13:14:12.517] inherits <- base::inherits [13:14:12.517] invokeRestart <- base::invokeRestart [13:14:12.517] is.null <- base::is.null [13:14:12.517] muffled <- FALSE [13:14:12.517] if (inherits(cond, "message")) { [13:14:12.517] muffled <- grepl(pattern, "muffleMessage") [13:14:12.517] if (muffled) [13:14:12.517] invokeRestart("muffleMessage") [13:14:12.517] } [13:14:12.517] else if (inherits(cond, "warning")) { [13:14:12.517] muffled <- grepl(pattern, "muffleWarning") [13:14:12.517] if (muffled) [13:14:12.517] invokeRestart("muffleWarning") [13:14:12.517] } [13:14:12.517] else if (inherits(cond, "condition")) { [13:14:12.517] if (!is.null(pattern)) { [13:14:12.517] computeRestarts <- base::computeRestarts [13:14:12.517] grepl <- base::grepl [13:14:12.517] restarts <- computeRestarts(cond) [13:14:12.517] for (restart in restarts) { [13:14:12.517] name <- restart$name [13:14:12.517] if (is.null(name)) [13:14:12.517] next [13:14:12.517] if (!grepl(pattern, name)) [13:14:12.517] next [13:14:12.517] invokeRestart(restart) [13:14:12.517] muffled <- TRUE [13:14:12.517] break [13:14:12.517] } [13:14:12.517] } [13:14:12.517] } [13:14:12.517] invisible(muffled) [13:14:12.517] } [13:14:12.517] muffleCondition(cond, pattern = "^muffle") [13:14:12.517] } [13:14:12.517] } [13:14:12.517] else { [13:14:12.517] if (TRUE) { [13:14:12.517] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.517] { [13:14:12.517] inherits <- base::inherits [13:14:12.517] invokeRestart <- base::invokeRestart [13:14:12.517] is.null <- base::is.null [13:14:12.517] muffled <- FALSE [13:14:12.517] if (inherits(cond, "message")) { [13:14:12.517] muffled <- grepl(pattern, "muffleMessage") [13:14:12.517] if (muffled) [13:14:12.517] invokeRestart("muffleMessage") [13:14:12.517] } [13:14:12.517] else if (inherits(cond, "warning")) { [13:14:12.517] muffled <- grepl(pattern, "muffleWarning") [13:14:12.517] if (muffled) [13:14:12.517] invokeRestart("muffleWarning") [13:14:12.517] } [13:14:12.517] else if (inherits(cond, "condition")) { [13:14:12.517] if (!is.null(pattern)) { [13:14:12.517] computeRestarts <- base::computeRestarts [13:14:12.517] grepl <- base::grepl [13:14:12.517] restarts <- computeRestarts(cond) [13:14:12.517] for (restart in restarts) { [13:14:12.517] name <- restart$name [13:14:12.517] if (is.null(name)) [13:14:12.517] next [13:14:12.517] if (!grepl(pattern, name)) [13:14:12.517] next [13:14:12.517] invokeRestart(restart) [13:14:12.517] muffled <- TRUE [13:14:12.517] break [13:14:12.517] } [13:14:12.517] } [13:14:12.517] } [13:14:12.517] invisible(muffled) [13:14:12.517] } [13:14:12.517] muffleCondition(cond, pattern = "^muffle") [13:14:12.517] } [13:14:12.517] } [13:14:12.517] } [13:14:12.517] })) [13:14:12.517] }, error = function(ex) { [13:14:12.517] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.517] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.517] ...future.rng), started = ...future.startTime, [13:14:12.517] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.517] version = "1.8"), class = "FutureResult") [13:14:12.517] }, finally = { [13:14:12.517] if (!identical(...future.workdir, getwd())) [13:14:12.517] setwd(...future.workdir) [13:14:12.517] { [13:14:12.517] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.517] ...future.oldOptions$nwarnings <- NULL [13:14:12.517] } [13:14:12.517] base::options(...future.oldOptions) [13:14:12.517] if (.Platform$OS.type == "windows") { [13:14:12.517] old_names <- names(...future.oldEnvVars) [13:14:12.517] envs <- base::Sys.getenv() [13:14:12.517] names <- names(envs) [13:14:12.517] common <- intersect(names, old_names) [13:14:12.517] added <- setdiff(names, old_names) [13:14:12.517] removed <- setdiff(old_names, names) [13:14:12.517] changed <- common[...future.oldEnvVars[common] != [13:14:12.517] envs[common]] [13:14:12.517] NAMES <- toupper(changed) [13:14:12.517] args <- list() [13:14:12.517] for (kk in seq_along(NAMES)) { [13:14:12.517] name <- changed[[kk]] [13:14:12.517] NAME <- NAMES[[kk]] [13:14:12.517] if (name != NAME && is.element(NAME, old_names)) [13:14:12.517] next [13:14:12.517] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.517] } [13:14:12.517] NAMES <- toupper(added) [13:14:12.517] for (kk in seq_along(NAMES)) { [13:14:12.517] name <- added[[kk]] [13:14:12.517] NAME <- NAMES[[kk]] [13:14:12.517] if (name != NAME && is.element(NAME, old_names)) [13:14:12.517] next [13:14:12.517] args[[name]] <- "" [13:14:12.517] } [13:14:12.517] NAMES <- toupper(removed) [13:14:12.517] for (kk in seq_along(NAMES)) { [13:14:12.517] name <- removed[[kk]] [13:14:12.517] NAME <- NAMES[[kk]] [13:14:12.517] if (name != NAME && is.element(NAME, old_names)) [13:14:12.517] next [13:14:12.517] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.517] } [13:14:12.517] if (length(args) > 0) [13:14:12.517] base::do.call(base::Sys.setenv, args = args) [13:14:12.517] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.517] } [13:14:12.517] else { [13:14:12.517] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.517] } [13:14:12.517] { [13:14:12.517] if (base::length(...future.futureOptionsAdded) > [13:14:12.517] 0L) { [13:14:12.517] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.517] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.517] base::options(opts) [13:14:12.517] } [13:14:12.517] { [13:14:12.517] { [13:14:12.517] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.517] NULL [13:14:12.517] } [13:14:12.517] options(future.plan = NULL) [13:14:12.517] if (is.na(NA_character_)) [13:14:12.517] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.517] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.517] future::plan(list(function (..., workers = availableCores(), [13:14:12.517] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.517] envir = parent.frame()) [13:14:12.517] { [13:14:12.517] if (is.function(workers)) [13:14:12.517] workers <- workers() [13:14:12.517] workers <- structure(as.integer(workers), [13:14:12.517] class = class(workers)) [13:14:12.517] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.517] workers >= 1) [13:14:12.517] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.517] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.517] } [13:14:12.517] future <- MultisessionFuture(..., workers = workers, [13:14:12.517] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.517] envir = envir) [13:14:12.517] if (!future$lazy) [13:14:12.517] future <- run(future) [13:14:12.517] invisible(future) [13:14:12.517] }), .cleanup = FALSE, .init = FALSE) [13:14:12.517] } [13:14:12.517] } [13:14:12.517] } [13:14:12.517] }) [13:14:12.517] if (TRUE) { [13:14:12.517] base::sink(type = "output", split = FALSE) [13:14:12.517] if (TRUE) { [13:14:12.517] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.517] } [13:14:12.517] else { [13:14:12.517] ...future.result["stdout"] <- base::list(NULL) [13:14:12.517] } [13:14:12.517] base::close(...future.stdout) [13:14:12.517] ...future.stdout <- NULL [13:14:12.517] } [13:14:12.517] ...future.result$conditions <- ...future.conditions [13:14:12.517] ...future.result$finished <- base::Sys.time() [13:14:12.517] ...future.result [13:14:12.517] } [13:14:12.522] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:12.522] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:12.523] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:12.523] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.524] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.524] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.524] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.524] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.525] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.525] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.525] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.526] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:12.526] MultisessionFuture started [13:14:12.527] - Launch lazy future ... done [13:14:12.527] run() for 'MultisessionFuture' ... done [13:14:12.527] Created future: [13:14:12.542] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.542] - Validating connection of MultisessionFuture [13:14:12.542] - received message: FutureResult [13:14:12.542] - Received FutureResult [13:14:12.543] - Erased future from FutureRegistry [13:14:12.543] result() for ClusterFuture ... [13:14:12.543] - result already collected: FutureResult [13:14:12.543] result() for ClusterFuture ... done [13:14:12.543] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.527] MultisessionFuture: [13:14:12.527] Label: 'future_sapply-2' [13:14:12.527] Expression: [13:14:12.527] { [13:14:12.527] do.call(function(...) { [13:14:12.527] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.527] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.527] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.527] on.exit(options(oopts), add = TRUE) [13:14:12.527] } [13:14:12.527] { [13:14:12.527] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.527] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.527] ...future.FUN(...future.X_jj, ...) [13:14:12.527] }) [13:14:12.527] } [13:14:12.527] }, args = future.call.arguments) [13:14:12.527] } [13:14:12.527] Lazy evaluation: FALSE [13:14:12.527] Asynchronous evaluation: TRUE [13:14:12.527] Local evaluation: TRUE [13:14:12.527] Environment: R_GlobalEnv [13:14:12.527] Capture standard output: TRUE [13:14:12.527] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.527] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.527] Packages: [13:14:12.527] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.527] Resolved: TRUE [13:14:12.527] Value: [13:14:12.527] Conditions captured: [13:14:12.527] Early signaling: FALSE [13:14:12.527] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.527] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.544] Chunk #2 of 2 ... DONE [13:14:12.544] Launching 2 futures (chunks) ... DONE [13:14:12.544] Resolving 2 futures (chunks) ... [13:14:12.544] resolve() on list ... [13:14:12.544] recursive: 0 [13:14:12.545] length: 2 [13:14:12.545] [13:14:12.545] Future #1 [13:14:12.545] result() for ClusterFuture ... [13:14:12.545] - result already collected: FutureResult [13:14:12.545] result() for ClusterFuture ... done [13:14:12.546] result() for ClusterFuture ... [13:14:12.546] - result already collected: FutureResult [13:14:12.546] result() for ClusterFuture ... done [13:14:12.546] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:12.546] - nx: 2 [13:14:12.546] - relay: TRUE [13:14:12.546] - stdout: TRUE [13:14:12.547] - signal: TRUE [13:14:12.547] - resignal: FALSE [13:14:12.547] - force: TRUE [13:14:12.547] - relayed: [n=2] FALSE, FALSE [13:14:12.547] - queued futures: [n=2] FALSE, FALSE [13:14:12.547] - until=1 [13:14:12.547] - relaying element #1 [13:14:12.548] result() for ClusterFuture ... [13:14:12.548] - result already collected: FutureResult [13:14:12.548] result() for ClusterFuture ... done [13:14:12.548] result() for ClusterFuture ... [13:14:12.548] - result already collected: FutureResult [13:14:12.548] result() for ClusterFuture ... done [13:14:12.549] result() for ClusterFuture ... [13:14:12.549] - result already collected: FutureResult [13:14:12.549] result() for ClusterFuture ... done [13:14:12.549] result() for ClusterFuture ... [13:14:12.549] - result already collected: FutureResult [13:14:12.550] result() for ClusterFuture ... done [13:14:12.550] - relayed: [n=2] TRUE, FALSE [13:14:12.550] - queued futures: [n=2] TRUE, FALSE [13:14:12.550] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:12.550] length: 1 (resolved future 1) [13:14:12.550] Future #2 [13:14:12.551] result() for ClusterFuture ... [13:14:12.551] - result already collected: FutureResult [13:14:12.551] result() for ClusterFuture ... done [13:14:12.551] result() for ClusterFuture ... [13:14:12.551] - result already collected: FutureResult [13:14:12.551] result() for ClusterFuture ... done [13:14:12.551] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:12.552] - nx: 2 [13:14:12.552] - relay: TRUE [13:14:12.552] - stdout: TRUE [13:14:12.552] - signal: TRUE [13:14:12.552] - resignal: FALSE [13:14:12.552] - force: TRUE [13:14:12.553] - relayed: [n=2] TRUE, FALSE [13:14:12.553] - queued futures: [n=2] TRUE, FALSE [13:14:12.553] - until=2 [13:14:12.553] - relaying element #2 [13:14:12.553] result() for ClusterFuture ... [13:14:12.553] - result already collected: FutureResult [13:14:12.553] result() for ClusterFuture ... done [13:14:12.554] result() for ClusterFuture ... [13:14:12.554] - result already collected: FutureResult [13:14:12.554] result() for ClusterFuture ... done [13:14:12.554] result() for ClusterFuture ... [13:14:12.554] - result already collected: FutureResult [13:14:12.555] result() for ClusterFuture ... done [13:14:12.555] result() for ClusterFuture ... [13:14:12.555] - result already collected: FutureResult [13:14:12.555] result() for ClusterFuture ... done [13:14:12.555] - relayed: [n=2] TRUE, TRUE [13:14:12.555] - queued futures: [n=2] TRUE, TRUE [13:14:12.555] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:12.556] length: 0 (resolved future 2) [13:14:12.556] Relaying remaining futures [13:14:12.556] signalConditionsASAP(NULL, pos=0) ... [13:14:12.556] - nx: 2 [13:14:12.556] - relay: TRUE [13:14:12.556] - stdout: TRUE [13:14:12.556] - signal: TRUE [13:14:12.557] - resignal: FALSE [13:14:12.557] - force: TRUE [13:14:12.557] - relayed: [n=2] TRUE, TRUE [13:14:12.557] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:12.557] - relayed: [n=2] TRUE, TRUE [13:14:12.558] - queued futures: [n=2] TRUE, TRUE [13:14:12.558] signalConditionsASAP(NULL, pos=0) ... done [13:14:12.558] resolve() on list ... DONE [13:14:12.558] result() for ClusterFuture ... [13:14:12.558] - result already collected: FutureResult [13:14:12.558] result() for ClusterFuture ... done [13:14:12.558] result() for ClusterFuture ... [13:14:12.559] - result already collected: FutureResult [13:14:12.559] result() for ClusterFuture ... done [13:14:12.559] result() for ClusterFuture ... [13:14:12.559] - result already collected: FutureResult [13:14:12.559] result() for ClusterFuture ... done [13:14:12.559] result() for ClusterFuture ... [13:14:12.560] - result already collected: FutureResult [13:14:12.560] result() for ClusterFuture ... done [13:14:12.560] - Number of value chunks collected: 2 [13:14:12.560] Resolving 2 futures (chunks) ... DONE [13:14:12.560] Reducing values from 2 chunks ... [13:14:12.560] - Number of values collected after concatenation: 4 [13:14:12.561] - Number of values expected: 4 [13:14:12.561] Reducing values from 2 chunks ... DONE [13:14:12.561] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:12.563] future_lapply() ... [13:14:12.566] Number of chunks: 2 [13:14:12.566] getGlobalsAndPackagesXApply() ... [13:14:12.567] - future.globals: TRUE [13:14:12.567] getGlobalsAndPackages() ... [13:14:12.567] Searching for globals... [13:14:12.569] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:12.569] Searching for globals ... DONE [13:14:12.569] Resolving globals: FALSE [13:14:12.570] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:12.570] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:12.570] - globals: [1] 'FUN' [13:14:12.570] [13:14:12.571] getGlobalsAndPackages() ... DONE [13:14:12.571] - globals found/used: [n=1] 'FUN' [13:14:12.571] - needed namespaces: [n=0] [13:14:12.571] Finding globals ... DONE [13:14:12.571] - use_args: TRUE [13:14:12.571] - Getting '...' globals ... [13:14:12.572] resolve() on list ... [13:14:12.572] recursive: 0 [13:14:12.572] length: 1 [13:14:12.572] elements: '...' [13:14:12.572] length: 0 (resolved future 1) [13:14:12.573] resolve() on list ... DONE [13:14:12.573] - '...' content: [n=0] [13:14:12.573] List of 1 [13:14:12.573] $ ...: list() [13:14:12.573] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.573] - attr(*, "where")=List of 1 [13:14:12.573] ..$ ...: [13:14:12.573] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.573] - attr(*, "resolved")= logi TRUE [13:14:12.573] - attr(*, "total_size")= num NA [13:14:12.576] - Getting '...' globals ... DONE [13:14:12.576] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:12.576] List of 2 [13:14:12.576] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:12.576] $ ... : list() [13:14:12.576] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.576] - attr(*, "where")=List of 2 [13:14:12.576] ..$ ...future.FUN: [13:14:12.576] ..$ ... : [13:14:12.576] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.576] - attr(*, "resolved")= logi FALSE [13:14:12.576] - attr(*, "total_size")= num 4728 [13:14:12.580] Packages to be attached in all futures: [n=0] [13:14:12.580] getGlobalsAndPackagesXApply() ... DONE [13:14:12.580] Number of futures (= number of chunks): 2 [13:14:12.580] Launching 2 futures (chunks) ... [13:14:12.581] Chunk #1 of 2 ... [13:14:12.581] - Finding globals in 'X' for chunk #1 ... [13:14:12.581] getGlobalsAndPackages() ... [13:14:12.581] Searching for globals... [13:14:12.581] [13:14:12.582] Searching for globals ... DONE [13:14:12.582] - globals: [0] [13:14:12.582] getGlobalsAndPackages() ... DONE [13:14:12.582] + additional globals found: [n=0] [13:14:12.582] + additional namespaces needed: [n=0] [13:14:12.582] - Finding globals in 'X' for chunk #1 ... DONE [13:14:12.583] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.583] - seeds: [13:14:12.583] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.583] getGlobalsAndPackages() ... [13:14:12.583] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.583] Resolving globals: FALSE [13:14:12.584] Tweak future expression to call with '...' arguments ... [13:14:12.584] { [13:14:12.584] do.call(function(...) { [13:14:12.584] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.584] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.584] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.584] on.exit(options(oopts), add = TRUE) [13:14:12.584] } [13:14:12.584] { [13:14:12.584] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.584] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.584] ...future.FUN(...future.X_jj, ...) [13:14:12.584] }) [13:14:12.584] } [13:14:12.584] }, args = future.call.arguments) [13:14:12.584] } [13:14:12.584] Tweak future expression to call with '...' arguments ... DONE [13:14:12.585] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.585] [13:14:12.585] getGlobalsAndPackages() ... DONE [13:14:12.585] run() for 'Future' ... [13:14:12.586] - state: 'created' [13:14:12.586] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.600] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.600] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.601] - Field: 'node' [13:14:12.601] - Field: 'label' [13:14:12.601] - Field: 'local' [13:14:12.601] - Field: 'owner' [13:14:12.601] - Field: 'envir' [13:14:12.602] - Field: 'workers' [13:14:12.602] - Field: 'packages' [13:14:12.602] - Field: 'gc' [13:14:12.602] - Field: 'conditions' [13:14:12.602] - Field: 'persistent' [13:14:12.603] - Field: 'expr' [13:14:12.603] - Field: 'uuid' [13:14:12.603] - Field: 'seed' [13:14:12.603] - Field: 'version' [13:14:12.603] - Field: 'result' [13:14:12.603] - Field: 'asynchronous' [13:14:12.604] - Field: 'calls' [13:14:12.604] - Field: 'globals' [13:14:12.604] - Field: 'stdout' [13:14:12.604] - Field: 'earlySignal' [13:14:12.604] - Field: 'lazy' [13:14:12.604] - Field: 'state' [13:14:12.605] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.605] - Launch lazy future ... [13:14:12.605] Packages needed by the future expression (n = 0): [13:14:12.605] Packages needed by future strategies (n = 0): [13:14:12.606] { [13:14:12.606] { [13:14:12.606] { [13:14:12.606] ...future.startTime <- base::Sys.time() [13:14:12.606] { [13:14:12.606] { [13:14:12.606] { [13:14:12.606] { [13:14:12.606] base::local({ [13:14:12.606] has_future <- base::requireNamespace("future", [13:14:12.606] quietly = TRUE) [13:14:12.606] if (has_future) { [13:14:12.606] ns <- base::getNamespace("future") [13:14:12.606] version <- ns[[".package"]][["version"]] [13:14:12.606] if (is.null(version)) [13:14:12.606] version <- utils::packageVersion("future") [13:14:12.606] } [13:14:12.606] else { [13:14:12.606] version <- NULL [13:14:12.606] } [13:14:12.606] if (!has_future || version < "1.8.0") { [13:14:12.606] info <- base::c(r_version = base::gsub("R version ", [13:14:12.606] "", base::R.version$version.string), [13:14:12.606] platform = base::sprintf("%s (%s-bit)", [13:14:12.606] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.606] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.606] "release", "version")], collapse = " "), [13:14:12.606] hostname = base::Sys.info()[["nodename"]]) [13:14:12.606] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.606] info) [13:14:12.606] info <- base::paste(info, collapse = "; ") [13:14:12.606] if (!has_future) { [13:14:12.606] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.606] info) [13:14:12.606] } [13:14:12.606] else { [13:14:12.606] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.606] info, version) [13:14:12.606] } [13:14:12.606] base::stop(msg) [13:14:12.606] } [13:14:12.606] }) [13:14:12.606] } [13:14:12.606] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.606] base::options(mc.cores = 1L) [13:14:12.606] } [13:14:12.606] options(future.plan = NULL) [13:14:12.606] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.606] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.606] } [13:14:12.606] ...future.workdir <- getwd() [13:14:12.606] } [13:14:12.606] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.606] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.606] } [13:14:12.606] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.606] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.606] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.606] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.606] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.606] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.606] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.606] base::names(...future.oldOptions)) [13:14:12.606] } [13:14:12.606] if (FALSE) { [13:14:12.606] } [13:14:12.606] else { [13:14:12.606] if (TRUE) { [13:14:12.606] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.606] open = "w") [13:14:12.606] } [13:14:12.606] else { [13:14:12.606] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.606] windows = "NUL", "/dev/null"), open = "w") [13:14:12.606] } [13:14:12.606] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.606] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.606] base::sink(type = "output", split = FALSE) [13:14:12.606] base::close(...future.stdout) [13:14:12.606] }, add = TRUE) [13:14:12.606] } [13:14:12.606] ...future.frame <- base::sys.nframe() [13:14:12.606] ...future.conditions <- base::list() [13:14:12.606] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.606] if (FALSE) { [13:14:12.606] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.606] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.606] } [13:14:12.606] ...future.result <- base::tryCatch({ [13:14:12.606] base::withCallingHandlers({ [13:14:12.606] ...future.value <- base::withVisible(base::local({ [13:14:12.606] ...future.makeSendCondition <- local({ [13:14:12.606] sendCondition <- NULL [13:14:12.606] function(frame = 1L) { [13:14:12.606] if (is.function(sendCondition)) [13:14:12.606] return(sendCondition) [13:14:12.606] ns <- getNamespace("parallel") [13:14:12.606] if (exists("sendData", mode = "function", [13:14:12.606] envir = ns)) { [13:14:12.606] parallel_sendData <- get("sendData", mode = "function", [13:14:12.606] envir = ns) [13:14:12.606] envir <- sys.frame(frame) [13:14:12.606] master <- NULL [13:14:12.606] while (!identical(envir, .GlobalEnv) && [13:14:12.606] !identical(envir, emptyenv())) { [13:14:12.606] if (exists("master", mode = "list", envir = envir, [13:14:12.606] inherits = FALSE)) { [13:14:12.606] master <- get("master", mode = "list", [13:14:12.606] envir = envir, inherits = FALSE) [13:14:12.606] if (inherits(master, c("SOCKnode", [13:14:12.606] "SOCK0node"))) { [13:14:12.606] sendCondition <<- function(cond) { [13:14:12.606] data <- list(type = "VALUE", value = cond, [13:14:12.606] success = TRUE) [13:14:12.606] parallel_sendData(master, data) [13:14:12.606] } [13:14:12.606] return(sendCondition) [13:14:12.606] } [13:14:12.606] } [13:14:12.606] frame <- frame + 1L [13:14:12.606] envir <- sys.frame(frame) [13:14:12.606] } [13:14:12.606] } [13:14:12.606] sendCondition <<- function(cond) NULL [13:14:12.606] } [13:14:12.606] }) [13:14:12.606] withCallingHandlers({ [13:14:12.606] { [13:14:12.606] do.call(function(...) { [13:14:12.606] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.606] if (!identical(...future.globals.maxSize.org, [13:14:12.606] ...future.globals.maxSize)) { [13:14:12.606] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.606] on.exit(options(oopts), add = TRUE) [13:14:12.606] } [13:14:12.606] { [13:14:12.606] lapply(seq_along(...future.elements_ii), [13:14:12.606] FUN = function(jj) { [13:14:12.606] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.606] ...future.FUN(...future.X_jj, ...) [13:14:12.606] }) [13:14:12.606] } [13:14:12.606] }, args = future.call.arguments) [13:14:12.606] } [13:14:12.606] }, immediateCondition = function(cond) { [13:14:12.606] sendCondition <- ...future.makeSendCondition() [13:14:12.606] sendCondition(cond) [13:14:12.606] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.606] { [13:14:12.606] inherits <- base::inherits [13:14:12.606] invokeRestart <- base::invokeRestart [13:14:12.606] is.null <- base::is.null [13:14:12.606] muffled <- FALSE [13:14:12.606] if (inherits(cond, "message")) { [13:14:12.606] muffled <- grepl(pattern, "muffleMessage") [13:14:12.606] if (muffled) [13:14:12.606] invokeRestart("muffleMessage") [13:14:12.606] } [13:14:12.606] else if (inherits(cond, "warning")) { [13:14:12.606] muffled <- grepl(pattern, "muffleWarning") [13:14:12.606] if (muffled) [13:14:12.606] invokeRestart("muffleWarning") [13:14:12.606] } [13:14:12.606] else if (inherits(cond, "condition")) { [13:14:12.606] if (!is.null(pattern)) { [13:14:12.606] computeRestarts <- base::computeRestarts [13:14:12.606] grepl <- base::grepl [13:14:12.606] restarts <- computeRestarts(cond) [13:14:12.606] for (restart in restarts) { [13:14:12.606] name <- restart$name [13:14:12.606] if (is.null(name)) [13:14:12.606] next [13:14:12.606] if (!grepl(pattern, name)) [13:14:12.606] next [13:14:12.606] invokeRestart(restart) [13:14:12.606] muffled <- TRUE [13:14:12.606] break [13:14:12.606] } [13:14:12.606] } [13:14:12.606] } [13:14:12.606] invisible(muffled) [13:14:12.606] } [13:14:12.606] muffleCondition(cond) [13:14:12.606] }) [13:14:12.606] })) [13:14:12.606] future::FutureResult(value = ...future.value$value, [13:14:12.606] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.606] ...future.rng), globalenv = if (FALSE) [13:14:12.606] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.606] ...future.globalenv.names)) [13:14:12.606] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.606] }, condition = base::local({ [13:14:12.606] c <- base::c [13:14:12.606] inherits <- base::inherits [13:14:12.606] invokeRestart <- base::invokeRestart [13:14:12.606] length <- base::length [13:14:12.606] list <- base::list [13:14:12.606] seq.int <- base::seq.int [13:14:12.606] signalCondition <- base::signalCondition [13:14:12.606] sys.calls <- base::sys.calls [13:14:12.606] `[[` <- base::`[[` [13:14:12.606] `+` <- base::`+` [13:14:12.606] `<<-` <- base::`<<-` [13:14:12.606] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.606] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.606] 3L)] [13:14:12.606] } [13:14:12.606] function(cond) { [13:14:12.606] is_error <- inherits(cond, "error") [13:14:12.606] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.606] NULL) [13:14:12.606] if (is_error) { [13:14:12.606] sessionInformation <- function() { [13:14:12.606] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.606] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.606] search = base::search(), system = base::Sys.info()) [13:14:12.606] } [13:14:12.606] ...future.conditions[[length(...future.conditions) + [13:14:12.606] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.606] cond$call), session = sessionInformation(), [13:14:12.606] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.606] signalCondition(cond) [13:14:12.606] } [13:14:12.606] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.606] "immediateCondition"))) { [13:14:12.606] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.606] ...future.conditions[[length(...future.conditions) + [13:14:12.606] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.606] if (TRUE && !signal) { [13:14:12.606] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.606] { [13:14:12.606] inherits <- base::inherits [13:14:12.606] invokeRestart <- base::invokeRestart [13:14:12.606] is.null <- base::is.null [13:14:12.606] muffled <- FALSE [13:14:12.606] if (inherits(cond, "message")) { [13:14:12.606] muffled <- grepl(pattern, "muffleMessage") [13:14:12.606] if (muffled) [13:14:12.606] invokeRestart("muffleMessage") [13:14:12.606] } [13:14:12.606] else if (inherits(cond, "warning")) { [13:14:12.606] muffled <- grepl(pattern, "muffleWarning") [13:14:12.606] if (muffled) [13:14:12.606] invokeRestart("muffleWarning") [13:14:12.606] } [13:14:12.606] else if (inherits(cond, "condition")) { [13:14:12.606] if (!is.null(pattern)) { [13:14:12.606] computeRestarts <- base::computeRestarts [13:14:12.606] grepl <- base::grepl [13:14:12.606] restarts <- computeRestarts(cond) [13:14:12.606] for (restart in restarts) { [13:14:12.606] name <- restart$name [13:14:12.606] if (is.null(name)) [13:14:12.606] next [13:14:12.606] if (!grepl(pattern, name)) [13:14:12.606] next [13:14:12.606] invokeRestart(restart) [13:14:12.606] muffled <- TRUE [13:14:12.606] break [13:14:12.606] } [13:14:12.606] } [13:14:12.606] } [13:14:12.606] invisible(muffled) [13:14:12.606] } [13:14:12.606] muffleCondition(cond, pattern = "^muffle") [13:14:12.606] } [13:14:12.606] } [13:14:12.606] else { [13:14:12.606] if (TRUE) { [13:14:12.606] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.606] { [13:14:12.606] inherits <- base::inherits [13:14:12.606] invokeRestart <- base::invokeRestart [13:14:12.606] is.null <- base::is.null [13:14:12.606] muffled <- FALSE [13:14:12.606] if (inherits(cond, "message")) { [13:14:12.606] muffled <- grepl(pattern, "muffleMessage") [13:14:12.606] if (muffled) [13:14:12.606] invokeRestart("muffleMessage") [13:14:12.606] } [13:14:12.606] else if (inherits(cond, "warning")) { [13:14:12.606] muffled <- grepl(pattern, "muffleWarning") [13:14:12.606] if (muffled) [13:14:12.606] invokeRestart("muffleWarning") [13:14:12.606] } [13:14:12.606] else if (inherits(cond, "condition")) { [13:14:12.606] if (!is.null(pattern)) { [13:14:12.606] computeRestarts <- base::computeRestarts [13:14:12.606] grepl <- base::grepl [13:14:12.606] restarts <- computeRestarts(cond) [13:14:12.606] for (restart in restarts) { [13:14:12.606] name <- restart$name [13:14:12.606] if (is.null(name)) [13:14:12.606] next [13:14:12.606] if (!grepl(pattern, name)) [13:14:12.606] next [13:14:12.606] invokeRestart(restart) [13:14:12.606] muffled <- TRUE [13:14:12.606] break [13:14:12.606] } [13:14:12.606] } [13:14:12.606] } [13:14:12.606] invisible(muffled) [13:14:12.606] } [13:14:12.606] muffleCondition(cond, pattern = "^muffle") [13:14:12.606] } [13:14:12.606] } [13:14:12.606] } [13:14:12.606] })) [13:14:12.606] }, error = function(ex) { [13:14:12.606] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.606] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.606] ...future.rng), started = ...future.startTime, [13:14:12.606] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.606] version = "1.8"), class = "FutureResult") [13:14:12.606] }, finally = { [13:14:12.606] if (!identical(...future.workdir, getwd())) [13:14:12.606] setwd(...future.workdir) [13:14:12.606] { [13:14:12.606] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.606] ...future.oldOptions$nwarnings <- NULL [13:14:12.606] } [13:14:12.606] base::options(...future.oldOptions) [13:14:12.606] if (.Platform$OS.type == "windows") { [13:14:12.606] old_names <- names(...future.oldEnvVars) [13:14:12.606] envs <- base::Sys.getenv() [13:14:12.606] names <- names(envs) [13:14:12.606] common <- intersect(names, old_names) [13:14:12.606] added <- setdiff(names, old_names) [13:14:12.606] removed <- setdiff(old_names, names) [13:14:12.606] changed <- common[...future.oldEnvVars[common] != [13:14:12.606] envs[common]] [13:14:12.606] NAMES <- toupper(changed) [13:14:12.606] args <- list() [13:14:12.606] for (kk in seq_along(NAMES)) { [13:14:12.606] name <- changed[[kk]] [13:14:12.606] NAME <- NAMES[[kk]] [13:14:12.606] if (name != NAME && is.element(NAME, old_names)) [13:14:12.606] next [13:14:12.606] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.606] } [13:14:12.606] NAMES <- toupper(added) [13:14:12.606] for (kk in seq_along(NAMES)) { [13:14:12.606] name <- added[[kk]] [13:14:12.606] NAME <- NAMES[[kk]] [13:14:12.606] if (name != NAME && is.element(NAME, old_names)) [13:14:12.606] next [13:14:12.606] args[[name]] <- "" [13:14:12.606] } [13:14:12.606] NAMES <- toupper(removed) [13:14:12.606] for (kk in seq_along(NAMES)) { [13:14:12.606] name <- removed[[kk]] [13:14:12.606] NAME <- NAMES[[kk]] [13:14:12.606] if (name != NAME && is.element(NAME, old_names)) [13:14:12.606] next [13:14:12.606] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.606] } [13:14:12.606] if (length(args) > 0) [13:14:12.606] base::do.call(base::Sys.setenv, args = args) [13:14:12.606] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.606] } [13:14:12.606] else { [13:14:12.606] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.606] } [13:14:12.606] { [13:14:12.606] if (base::length(...future.futureOptionsAdded) > [13:14:12.606] 0L) { [13:14:12.606] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.606] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.606] base::options(opts) [13:14:12.606] } [13:14:12.606] { [13:14:12.606] { [13:14:12.606] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.606] NULL [13:14:12.606] } [13:14:12.606] options(future.plan = NULL) [13:14:12.606] if (is.na(NA_character_)) [13:14:12.606] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.606] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.606] future::plan(list(function (..., workers = availableCores(), [13:14:12.606] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.606] envir = parent.frame()) [13:14:12.606] { [13:14:12.606] if (is.function(workers)) [13:14:12.606] workers <- workers() [13:14:12.606] workers <- structure(as.integer(workers), [13:14:12.606] class = class(workers)) [13:14:12.606] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.606] workers >= 1) [13:14:12.606] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.606] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.606] } [13:14:12.606] future <- MultisessionFuture(..., workers = workers, [13:14:12.606] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.606] envir = envir) [13:14:12.606] if (!future$lazy) [13:14:12.606] future <- run(future) [13:14:12.606] invisible(future) [13:14:12.606] }), .cleanup = FALSE, .init = FALSE) [13:14:12.606] } [13:14:12.606] } [13:14:12.606] } [13:14:12.606] }) [13:14:12.606] if (TRUE) { [13:14:12.606] base::sink(type = "output", split = FALSE) [13:14:12.606] if (TRUE) { [13:14:12.606] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.606] } [13:14:12.606] else { [13:14:12.606] ...future.result["stdout"] <- base::list(NULL) [13:14:12.606] } [13:14:12.606] base::close(...future.stdout) [13:14:12.606] ...future.stdout <- NULL [13:14:12.606] } [13:14:12.606] ...future.result$conditions <- ...future.conditions [13:14:12.606] ...future.result$finished <- base::Sys.time() [13:14:12.606] ...future.result [13:14:12.606] } [13:14:12.611] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:12.612] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:12.612] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:12.612] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.613] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.613] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.614] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.614] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.614] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.614] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.615] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.615] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:12.616] MultisessionFuture started [13:14:12.616] - Launch lazy future ... done [13:14:12.616] run() for 'MultisessionFuture' ... done [13:14:12.616] Created future: [13:14:12.635] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.635] - Validating connection of MultisessionFuture [13:14:12.635] - received message: FutureResult [13:14:12.635] - Received FutureResult [13:14:12.635] - Erased future from FutureRegistry [13:14:12.636] result() for ClusterFuture ... [13:14:12.636] - result already collected: FutureResult [13:14:12.636] result() for ClusterFuture ... done [13:14:12.636] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.616] MultisessionFuture: [13:14:12.616] Label: 'future_sapply-1' [13:14:12.616] Expression: [13:14:12.616] { [13:14:12.616] do.call(function(...) { [13:14:12.616] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.616] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.616] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.616] on.exit(options(oopts), add = TRUE) [13:14:12.616] } [13:14:12.616] { [13:14:12.616] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.616] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.616] ...future.FUN(...future.X_jj, ...) [13:14:12.616] }) [13:14:12.616] } [13:14:12.616] }, args = future.call.arguments) [13:14:12.616] } [13:14:12.616] Lazy evaluation: FALSE [13:14:12.616] Asynchronous evaluation: TRUE [13:14:12.616] Local evaluation: TRUE [13:14:12.616] Environment: R_GlobalEnv [13:14:12.616] Capture standard output: TRUE [13:14:12.616] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.616] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.616] Packages: [13:14:12.616] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.616] Resolved: TRUE [13:14:12.616] Value: [13:14:12.616] Conditions captured: [13:14:12.616] Early signaling: FALSE [13:14:12.616] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.616] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.637] Chunk #1 of 2 ... DONE [13:14:12.637] Chunk #2 of 2 ... [13:14:12.637] - Finding globals in 'X' for chunk #2 ... [13:14:12.637] getGlobalsAndPackages() ... [13:14:12.637] Searching for globals... [13:14:12.638] [13:14:12.638] Searching for globals ... DONE [13:14:12.638] - globals: [0] [13:14:12.638] getGlobalsAndPackages() ... DONE [13:14:12.638] + additional globals found: [n=0] [13:14:12.638] + additional namespaces needed: [n=0] [13:14:12.639] - Finding globals in 'X' for chunk #2 ... DONE [13:14:12.639] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.639] - seeds: [13:14:12.639] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.639] getGlobalsAndPackages() ... [13:14:12.639] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.640] Resolving globals: FALSE [13:14:12.640] Tweak future expression to call with '...' arguments ... [13:14:12.640] { [13:14:12.640] do.call(function(...) { [13:14:12.640] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.640] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.640] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.640] on.exit(options(oopts), add = TRUE) [13:14:12.640] } [13:14:12.640] { [13:14:12.640] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.640] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.640] ...future.FUN(...future.X_jj, ...) [13:14:12.640] }) [13:14:12.640] } [13:14:12.640] }, args = future.call.arguments) [13:14:12.640] } [13:14:12.640] Tweak future expression to call with '...' arguments ... DONE [13:14:12.641] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.641] [13:14:12.641] getGlobalsAndPackages() ... DONE [13:14:12.641] run() for 'Future' ... [13:14:12.642] - state: 'created' [13:14:12.642] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.656] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.656] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.656] - Field: 'node' [13:14:12.657] - Field: 'label' [13:14:12.657] - Field: 'local' [13:14:12.657] - Field: 'owner' [13:14:12.657] - Field: 'envir' [13:14:12.657] - Field: 'workers' [13:14:12.657] - Field: 'packages' [13:14:12.658] - Field: 'gc' [13:14:12.658] - Field: 'conditions' [13:14:12.658] - Field: 'persistent' [13:14:12.658] - Field: 'expr' [13:14:12.658] - Field: 'uuid' [13:14:12.659] - Field: 'seed' [13:14:12.659] - Field: 'version' [13:14:12.659] - Field: 'result' [13:14:12.659] - Field: 'asynchronous' [13:14:12.659] - Field: 'calls' [13:14:12.659] - Field: 'globals' [13:14:12.660] - Field: 'stdout' [13:14:12.660] - Field: 'earlySignal' [13:14:12.660] - Field: 'lazy' [13:14:12.660] - Field: 'state' [13:14:12.660] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.660] - Launch lazy future ... [13:14:12.661] Packages needed by the future expression (n = 0): [13:14:12.661] Packages needed by future strategies (n = 0): [13:14:12.665] { [13:14:12.665] { [13:14:12.665] { [13:14:12.665] ...future.startTime <- base::Sys.time() [13:14:12.665] { [13:14:12.665] { [13:14:12.665] { [13:14:12.665] { [13:14:12.665] base::local({ [13:14:12.665] has_future <- base::requireNamespace("future", [13:14:12.665] quietly = TRUE) [13:14:12.665] if (has_future) { [13:14:12.665] ns <- base::getNamespace("future") [13:14:12.665] version <- ns[[".package"]][["version"]] [13:14:12.665] if (is.null(version)) [13:14:12.665] version <- utils::packageVersion("future") [13:14:12.665] } [13:14:12.665] else { [13:14:12.665] version <- NULL [13:14:12.665] } [13:14:12.665] if (!has_future || version < "1.8.0") { [13:14:12.665] info <- base::c(r_version = base::gsub("R version ", [13:14:12.665] "", base::R.version$version.string), [13:14:12.665] platform = base::sprintf("%s (%s-bit)", [13:14:12.665] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.665] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.665] "release", "version")], collapse = " "), [13:14:12.665] hostname = base::Sys.info()[["nodename"]]) [13:14:12.665] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.665] info) [13:14:12.665] info <- base::paste(info, collapse = "; ") [13:14:12.665] if (!has_future) { [13:14:12.665] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.665] info) [13:14:12.665] } [13:14:12.665] else { [13:14:12.665] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.665] info, version) [13:14:12.665] } [13:14:12.665] base::stop(msg) [13:14:12.665] } [13:14:12.665] }) [13:14:12.665] } [13:14:12.665] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.665] base::options(mc.cores = 1L) [13:14:12.665] } [13:14:12.665] options(future.plan = NULL) [13:14:12.665] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.665] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.665] } [13:14:12.665] ...future.workdir <- getwd() [13:14:12.665] } [13:14:12.665] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.665] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.665] } [13:14:12.665] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.665] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.665] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.665] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.665] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.665] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.665] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.665] base::names(...future.oldOptions)) [13:14:12.665] } [13:14:12.665] if (FALSE) { [13:14:12.665] } [13:14:12.665] else { [13:14:12.665] if (TRUE) { [13:14:12.665] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.665] open = "w") [13:14:12.665] } [13:14:12.665] else { [13:14:12.665] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.665] windows = "NUL", "/dev/null"), open = "w") [13:14:12.665] } [13:14:12.665] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.665] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.665] base::sink(type = "output", split = FALSE) [13:14:12.665] base::close(...future.stdout) [13:14:12.665] }, add = TRUE) [13:14:12.665] } [13:14:12.665] ...future.frame <- base::sys.nframe() [13:14:12.665] ...future.conditions <- base::list() [13:14:12.665] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.665] if (FALSE) { [13:14:12.665] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.665] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.665] } [13:14:12.665] ...future.result <- base::tryCatch({ [13:14:12.665] base::withCallingHandlers({ [13:14:12.665] ...future.value <- base::withVisible(base::local({ [13:14:12.665] ...future.makeSendCondition <- local({ [13:14:12.665] sendCondition <- NULL [13:14:12.665] function(frame = 1L) { [13:14:12.665] if (is.function(sendCondition)) [13:14:12.665] return(sendCondition) [13:14:12.665] ns <- getNamespace("parallel") [13:14:12.665] if (exists("sendData", mode = "function", [13:14:12.665] envir = ns)) { [13:14:12.665] parallel_sendData <- get("sendData", mode = "function", [13:14:12.665] envir = ns) [13:14:12.665] envir <- sys.frame(frame) [13:14:12.665] master <- NULL [13:14:12.665] while (!identical(envir, .GlobalEnv) && [13:14:12.665] !identical(envir, emptyenv())) { [13:14:12.665] if (exists("master", mode = "list", envir = envir, [13:14:12.665] inherits = FALSE)) { [13:14:12.665] master <- get("master", mode = "list", [13:14:12.665] envir = envir, inherits = FALSE) [13:14:12.665] if (inherits(master, c("SOCKnode", [13:14:12.665] "SOCK0node"))) { [13:14:12.665] sendCondition <<- function(cond) { [13:14:12.665] data <- list(type = "VALUE", value = cond, [13:14:12.665] success = TRUE) [13:14:12.665] parallel_sendData(master, data) [13:14:12.665] } [13:14:12.665] return(sendCondition) [13:14:12.665] } [13:14:12.665] } [13:14:12.665] frame <- frame + 1L [13:14:12.665] envir <- sys.frame(frame) [13:14:12.665] } [13:14:12.665] } [13:14:12.665] sendCondition <<- function(cond) NULL [13:14:12.665] } [13:14:12.665] }) [13:14:12.665] withCallingHandlers({ [13:14:12.665] { [13:14:12.665] do.call(function(...) { [13:14:12.665] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.665] if (!identical(...future.globals.maxSize.org, [13:14:12.665] ...future.globals.maxSize)) { [13:14:12.665] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.665] on.exit(options(oopts), add = TRUE) [13:14:12.665] } [13:14:12.665] { [13:14:12.665] lapply(seq_along(...future.elements_ii), [13:14:12.665] FUN = function(jj) { [13:14:12.665] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.665] ...future.FUN(...future.X_jj, ...) [13:14:12.665] }) [13:14:12.665] } [13:14:12.665] }, args = future.call.arguments) [13:14:12.665] } [13:14:12.665] }, immediateCondition = function(cond) { [13:14:12.665] sendCondition <- ...future.makeSendCondition() [13:14:12.665] sendCondition(cond) [13:14:12.665] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.665] { [13:14:12.665] inherits <- base::inherits [13:14:12.665] invokeRestart <- base::invokeRestart [13:14:12.665] is.null <- base::is.null [13:14:12.665] muffled <- FALSE [13:14:12.665] if (inherits(cond, "message")) { [13:14:12.665] muffled <- grepl(pattern, "muffleMessage") [13:14:12.665] if (muffled) [13:14:12.665] invokeRestart("muffleMessage") [13:14:12.665] } [13:14:12.665] else if (inherits(cond, "warning")) { [13:14:12.665] muffled <- grepl(pattern, "muffleWarning") [13:14:12.665] if (muffled) [13:14:12.665] invokeRestart("muffleWarning") [13:14:12.665] } [13:14:12.665] else if (inherits(cond, "condition")) { [13:14:12.665] if (!is.null(pattern)) { [13:14:12.665] computeRestarts <- base::computeRestarts [13:14:12.665] grepl <- base::grepl [13:14:12.665] restarts <- computeRestarts(cond) [13:14:12.665] for (restart in restarts) { [13:14:12.665] name <- restart$name [13:14:12.665] if (is.null(name)) [13:14:12.665] next [13:14:12.665] if (!grepl(pattern, name)) [13:14:12.665] next [13:14:12.665] invokeRestart(restart) [13:14:12.665] muffled <- TRUE [13:14:12.665] break [13:14:12.665] } [13:14:12.665] } [13:14:12.665] } [13:14:12.665] invisible(muffled) [13:14:12.665] } [13:14:12.665] muffleCondition(cond) [13:14:12.665] }) [13:14:12.665] })) [13:14:12.665] future::FutureResult(value = ...future.value$value, [13:14:12.665] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.665] ...future.rng), globalenv = if (FALSE) [13:14:12.665] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.665] ...future.globalenv.names)) [13:14:12.665] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.665] }, condition = base::local({ [13:14:12.665] c <- base::c [13:14:12.665] inherits <- base::inherits [13:14:12.665] invokeRestart <- base::invokeRestart [13:14:12.665] length <- base::length [13:14:12.665] list <- base::list [13:14:12.665] seq.int <- base::seq.int [13:14:12.665] signalCondition <- base::signalCondition [13:14:12.665] sys.calls <- base::sys.calls [13:14:12.665] `[[` <- base::`[[` [13:14:12.665] `+` <- base::`+` [13:14:12.665] `<<-` <- base::`<<-` [13:14:12.665] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.665] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.665] 3L)] [13:14:12.665] } [13:14:12.665] function(cond) { [13:14:12.665] is_error <- inherits(cond, "error") [13:14:12.665] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.665] NULL) [13:14:12.665] if (is_error) { [13:14:12.665] sessionInformation <- function() { [13:14:12.665] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.665] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.665] search = base::search(), system = base::Sys.info()) [13:14:12.665] } [13:14:12.665] ...future.conditions[[length(...future.conditions) + [13:14:12.665] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.665] cond$call), session = sessionInformation(), [13:14:12.665] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.665] signalCondition(cond) [13:14:12.665] } [13:14:12.665] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.665] "immediateCondition"))) { [13:14:12.665] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.665] ...future.conditions[[length(...future.conditions) + [13:14:12.665] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.665] if (TRUE && !signal) { [13:14:12.665] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.665] { [13:14:12.665] inherits <- base::inherits [13:14:12.665] invokeRestart <- base::invokeRestart [13:14:12.665] is.null <- base::is.null [13:14:12.665] muffled <- FALSE [13:14:12.665] if (inherits(cond, "message")) { [13:14:12.665] muffled <- grepl(pattern, "muffleMessage") [13:14:12.665] if (muffled) [13:14:12.665] invokeRestart("muffleMessage") [13:14:12.665] } [13:14:12.665] else if (inherits(cond, "warning")) { [13:14:12.665] muffled <- grepl(pattern, "muffleWarning") [13:14:12.665] if (muffled) [13:14:12.665] invokeRestart("muffleWarning") [13:14:12.665] } [13:14:12.665] else if (inherits(cond, "condition")) { [13:14:12.665] if (!is.null(pattern)) { [13:14:12.665] computeRestarts <- base::computeRestarts [13:14:12.665] grepl <- base::grepl [13:14:12.665] restarts <- computeRestarts(cond) [13:14:12.665] for (restart in restarts) { [13:14:12.665] name <- restart$name [13:14:12.665] if (is.null(name)) [13:14:12.665] next [13:14:12.665] if (!grepl(pattern, name)) [13:14:12.665] next [13:14:12.665] invokeRestart(restart) [13:14:12.665] muffled <- TRUE [13:14:12.665] break [13:14:12.665] } [13:14:12.665] } [13:14:12.665] } [13:14:12.665] invisible(muffled) [13:14:12.665] } [13:14:12.665] muffleCondition(cond, pattern = "^muffle") [13:14:12.665] } [13:14:12.665] } [13:14:12.665] else { [13:14:12.665] if (TRUE) { [13:14:12.665] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.665] { [13:14:12.665] inherits <- base::inherits [13:14:12.665] invokeRestart <- base::invokeRestart [13:14:12.665] is.null <- base::is.null [13:14:12.665] muffled <- FALSE [13:14:12.665] if (inherits(cond, "message")) { [13:14:12.665] muffled <- grepl(pattern, "muffleMessage") [13:14:12.665] if (muffled) [13:14:12.665] invokeRestart("muffleMessage") [13:14:12.665] } [13:14:12.665] else if (inherits(cond, "warning")) { [13:14:12.665] muffled <- grepl(pattern, "muffleWarning") [13:14:12.665] if (muffled) [13:14:12.665] invokeRestart("muffleWarning") [13:14:12.665] } [13:14:12.665] else if (inherits(cond, "condition")) { [13:14:12.665] if (!is.null(pattern)) { [13:14:12.665] computeRestarts <- base::computeRestarts [13:14:12.665] grepl <- base::grepl [13:14:12.665] restarts <- computeRestarts(cond) [13:14:12.665] for (restart in restarts) { [13:14:12.665] name <- restart$name [13:14:12.665] if (is.null(name)) [13:14:12.665] next [13:14:12.665] if (!grepl(pattern, name)) [13:14:12.665] next [13:14:12.665] invokeRestart(restart) [13:14:12.665] muffled <- TRUE [13:14:12.665] break [13:14:12.665] } [13:14:12.665] } [13:14:12.665] } [13:14:12.665] invisible(muffled) [13:14:12.665] } [13:14:12.665] muffleCondition(cond, pattern = "^muffle") [13:14:12.665] } [13:14:12.665] } [13:14:12.665] } [13:14:12.665] })) [13:14:12.665] }, error = function(ex) { [13:14:12.665] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.665] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.665] ...future.rng), started = ...future.startTime, [13:14:12.665] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.665] version = "1.8"), class = "FutureResult") [13:14:12.665] }, finally = { [13:14:12.665] if (!identical(...future.workdir, getwd())) [13:14:12.665] setwd(...future.workdir) [13:14:12.665] { [13:14:12.665] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.665] ...future.oldOptions$nwarnings <- NULL [13:14:12.665] } [13:14:12.665] base::options(...future.oldOptions) [13:14:12.665] if (.Platform$OS.type == "windows") { [13:14:12.665] old_names <- names(...future.oldEnvVars) [13:14:12.665] envs <- base::Sys.getenv() [13:14:12.665] names <- names(envs) [13:14:12.665] common <- intersect(names, old_names) [13:14:12.665] added <- setdiff(names, old_names) [13:14:12.665] removed <- setdiff(old_names, names) [13:14:12.665] changed <- common[...future.oldEnvVars[common] != [13:14:12.665] envs[common]] [13:14:12.665] NAMES <- toupper(changed) [13:14:12.665] args <- list() [13:14:12.665] for (kk in seq_along(NAMES)) { [13:14:12.665] name <- changed[[kk]] [13:14:12.665] NAME <- NAMES[[kk]] [13:14:12.665] if (name != NAME && is.element(NAME, old_names)) [13:14:12.665] next [13:14:12.665] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.665] } [13:14:12.665] NAMES <- toupper(added) [13:14:12.665] for (kk in seq_along(NAMES)) { [13:14:12.665] name <- added[[kk]] [13:14:12.665] NAME <- NAMES[[kk]] [13:14:12.665] if (name != NAME && is.element(NAME, old_names)) [13:14:12.665] next [13:14:12.665] args[[name]] <- "" [13:14:12.665] } [13:14:12.665] NAMES <- toupper(removed) [13:14:12.665] for (kk in seq_along(NAMES)) { [13:14:12.665] name <- removed[[kk]] [13:14:12.665] NAME <- NAMES[[kk]] [13:14:12.665] if (name != NAME && is.element(NAME, old_names)) [13:14:12.665] next [13:14:12.665] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.665] } [13:14:12.665] if (length(args) > 0) [13:14:12.665] base::do.call(base::Sys.setenv, args = args) [13:14:12.665] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.665] } [13:14:12.665] else { [13:14:12.665] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.665] } [13:14:12.665] { [13:14:12.665] if (base::length(...future.futureOptionsAdded) > [13:14:12.665] 0L) { [13:14:12.665] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.665] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.665] base::options(opts) [13:14:12.665] } [13:14:12.665] { [13:14:12.665] { [13:14:12.665] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.665] NULL [13:14:12.665] } [13:14:12.665] options(future.plan = NULL) [13:14:12.665] if (is.na(NA_character_)) [13:14:12.665] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.665] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.665] future::plan(list(function (..., workers = availableCores(), [13:14:12.665] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.665] envir = parent.frame()) [13:14:12.665] { [13:14:12.665] if (is.function(workers)) [13:14:12.665] workers <- workers() [13:14:12.665] workers <- structure(as.integer(workers), [13:14:12.665] class = class(workers)) [13:14:12.665] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.665] workers >= 1) [13:14:12.665] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.665] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.665] } [13:14:12.665] future <- MultisessionFuture(..., workers = workers, [13:14:12.665] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.665] envir = envir) [13:14:12.665] if (!future$lazy) [13:14:12.665] future <- run(future) [13:14:12.665] invisible(future) [13:14:12.665] }), .cleanup = FALSE, .init = FALSE) [13:14:12.665] } [13:14:12.665] } [13:14:12.665] } [13:14:12.665] }) [13:14:12.665] if (TRUE) { [13:14:12.665] base::sink(type = "output", split = FALSE) [13:14:12.665] if (TRUE) { [13:14:12.665] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.665] } [13:14:12.665] else { [13:14:12.665] ...future.result["stdout"] <- base::list(NULL) [13:14:12.665] } [13:14:12.665] base::close(...future.stdout) [13:14:12.665] ...future.stdout <- NULL [13:14:12.665] } [13:14:12.665] ...future.result$conditions <- ...future.conditions [13:14:12.665] ...future.result$finished <- base::Sys.time() [13:14:12.665] ...future.result [13:14:12.665] } [13:14:12.670] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:12.670] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:12.671] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:12.671] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.672] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.672] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.672] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.673] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.673] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.673] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.674] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.674] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:12.674] MultisessionFuture started [13:14:12.675] - Launch lazy future ... done [13:14:12.675] run() for 'MultisessionFuture' ... done [13:14:12.675] Created future: [13:14:12.691] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.691] - Validating connection of MultisessionFuture [13:14:12.692] - received message: FutureResult [13:14:12.692] - Received FutureResult [13:14:12.692] - Erased future from FutureRegistry [13:14:12.692] result() for ClusterFuture ... [13:14:12.692] - result already collected: FutureResult [13:14:12.693] result() for ClusterFuture ... done [13:14:12.693] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.675] MultisessionFuture: [13:14:12.675] Label: 'future_sapply-2' [13:14:12.675] Expression: [13:14:12.675] { [13:14:12.675] do.call(function(...) { [13:14:12.675] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.675] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.675] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.675] on.exit(options(oopts), add = TRUE) [13:14:12.675] } [13:14:12.675] { [13:14:12.675] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.675] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.675] ...future.FUN(...future.X_jj, ...) [13:14:12.675] }) [13:14:12.675] } [13:14:12.675] }, args = future.call.arguments) [13:14:12.675] } [13:14:12.675] Lazy evaluation: FALSE [13:14:12.675] Asynchronous evaluation: TRUE [13:14:12.675] Local evaluation: TRUE [13:14:12.675] Environment: R_GlobalEnv [13:14:12.675] Capture standard output: TRUE [13:14:12.675] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.675] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.675] Packages: [13:14:12.675] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.675] Resolved: TRUE [13:14:12.675] Value: [13:14:12.675] Conditions captured: [13:14:12.675] Early signaling: FALSE [13:14:12.675] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.675] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.693] Chunk #2 of 2 ... DONE [13:14:12.693] Launching 2 futures (chunks) ... DONE [13:14:12.693] Resolving 2 futures (chunks) ... [13:14:12.694] resolve() on list ... [13:14:12.694] recursive: 0 [13:14:12.694] length: 2 [13:14:12.694] [13:14:12.694] Future #1 [13:14:12.694] result() for ClusterFuture ... [13:14:12.695] - result already collected: FutureResult [13:14:12.695] result() for ClusterFuture ... done [13:14:12.695] result() for ClusterFuture ... [13:14:12.695] - result already collected: FutureResult [13:14:12.695] result() for ClusterFuture ... done [13:14:12.695] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:12.696] - nx: 2 [13:14:12.696] - relay: TRUE [13:14:12.696] - stdout: TRUE [13:14:12.696] - signal: TRUE [13:14:12.696] - resignal: FALSE [13:14:12.696] - force: TRUE [13:14:12.697] - relayed: [n=2] FALSE, FALSE [13:14:12.697] - queued futures: [n=2] FALSE, FALSE [13:14:12.697] - until=1 [13:14:12.697] - relaying element #1 [13:14:12.697] result() for ClusterFuture ... [13:14:12.697] - result already collected: FutureResult [13:14:12.697] result() for ClusterFuture ... done [13:14:12.698] result() for ClusterFuture ... [13:14:12.698] - result already collected: FutureResult [13:14:12.698] result() for ClusterFuture ... done [13:14:12.698] result() for ClusterFuture ... [13:14:12.698] - result already collected: FutureResult [13:14:12.698] result() for ClusterFuture ... done [13:14:12.699] result() for ClusterFuture ... [13:14:12.699] - result already collected: FutureResult [13:14:12.699] result() for ClusterFuture ... done [13:14:12.699] - relayed: [n=2] TRUE, FALSE [13:14:12.699] - queued futures: [n=2] TRUE, FALSE [13:14:12.699] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:12.700] length: 1 (resolved future 1) [13:14:12.700] Future #2 [13:14:12.700] result() for ClusterFuture ... [13:14:12.700] - result already collected: FutureResult [13:14:12.700] result() for ClusterFuture ... done [13:14:12.700] result() for ClusterFuture ... [13:14:12.701] - result already collected: FutureResult [13:14:12.701] result() for ClusterFuture ... done [13:14:12.701] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:12.701] - nx: 2 [13:14:12.701] - relay: TRUE [13:14:12.701] - stdout: TRUE [13:14:12.701] - signal: TRUE [13:14:12.702] - resignal: FALSE [13:14:12.702] - force: TRUE [13:14:12.702] - relayed: [n=2] TRUE, FALSE [13:14:12.702] - queued futures: [n=2] TRUE, FALSE [13:14:12.702] - until=2 [13:14:12.702] - relaying element #2 [13:14:12.703] result() for ClusterFuture ... [13:14:12.703] - result already collected: FutureResult [13:14:12.703] result() for ClusterFuture ... done [13:14:12.703] result() for ClusterFuture ... [13:14:12.703] - result already collected: FutureResult [13:14:12.703] result() for ClusterFuture ... done [13:14:12.703] result() for ClusterFuture ... [13:14:12.704] - result already collected: FutureResult [13:14:12.704] result() for ClusterFuture ... done [13:14:12.704] result() for ClusterFuture ... [13:14:12.704] - result already collected: FutureResult [13:14:12.704] result() for ClusterFuture ... done [13:14:12.704] - relayed: [n=2] TRUE, TRUE [13:14:12.705] - queued futures: [n=2] TRUE, TRUE [13:14:12.705] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:12.705] length: 0 (resolved future 2) [13:14:12.705] Relaying remaining futures [13:14:12.705] signalConditionsASAP(NULL, pos=0) ... [13:14:12.705] - nx: 2 [13:14:12.706] - relay: TRUE [13:14:12.706] - stdout: TRUE [13:14:12.706] - signal: TRUE [13:14:12.706] - resignal: FALSE [13:14:12.706] - force: TRUE [13:14:12.706] - relayed: [n=2] TRUE, TRUE [13:14:12.706] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:12.707] - relayed: [n=2] TRUE, TRUE [13:14:12.707] - queued futures: [n=2] TRUE, TRUE [13:14:12.707] signalConditionsASAP(NULL, pos=0) ... done [13:14:12.707] resolve() on list ... DONE [13:14:12.707] result() for ClusterFuture ... [13:14:12.707] - result already collected: FutureResult [13:14:12.708] result() for ClusterFuture ... done [13:14:12.708] result() for ClusterFuture ... [13:14:12.708] - result already collected: FutureResult [13:14:12.708] result() for ClusterFuture ... done [13:14:12.708] result() for ClusterFuture ... [13:14:12.708] - result already collected: FutureResult [13:14:12.709] result() for ClusterFuture ... done [13:14:12.709] result() for ClusterFuture ... [13:14:12.709] - result already collected: FutureResult [13:14:12.709] result() for ClusterFuture ... done [13:14:12.709] - Number of value chunks collected: 2 [13:14:12.709] Resolving 2 futures (chunks) ... DONE [13:14:12.710] Reducing values from 2 chunks ... [13:14:12.710] - Number of values collected after concatenation: 4 [13:14:12.710] - Number of values expected: 4 [13:14:12.710] Reducing values from 2 chunks ... DONE [13:14:12.710] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:12.714] future_lapply() ... [13:14:12.717] Number of chunks: 2 [13:14:12.717] getGlobalsAndPackagesXApply() ... [13:14:12.717] - future.globals: TRUE [13:14:12.717] getGlobalsAndPackages() ... [13:14:12.717] Searching for globals... [13:14:12.718] - globals found: [1] 'FUN' [13:14:12.719] Searching for globals ... DONE [13:14:12.719] Resolving globals: FALSE [13:14:12.719] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:12.720] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:12.720] - globals: [1] 'FUN' [13:14:12.720] [13:14:12.720] getGlobalsAndPackages() ... DONE [13:14:12.720] - globals found/used: [n=1] 'FUN' [13:14:12.720] - needed namespaces: [n=0] [13:14:12.721] Finding globals ... DONE [13:14:12.721] - use_args: TRUE [13:14:12.721] - Getting '...' globals ... [13:14:12.721] resolve() on list ... [13:14:12.721] recursive: 0 [13:14:12.722] length: 1 [13:14:12.722] elements: '...' [13:14:12.722] length: 0 (resolved future 1) [13:14:12.722] resolve() on list ... DONE [13:14:12.722] - '...' content: [n=0] [13:14:12.722] List of 1 [13:14:12.722] $ ...: list() [13:14:12.722] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.722] - attr(*, "where")=List of 1 [13:14:12.722] ..$ ...: [13:14:12.722] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.722] - attr(*, "resolved")= logi TRUE [13:14:12.722] - attr(*, "total_size")= num NA [13:14:12.726] - Getting '...' globals ... DONE [13:14:12.726] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:12.726] List of 2 [13:14:12.726] $ ...future.FUN:function (x) [13:14:12.726] $ ... : list() [13:14:12.726] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.726] - attr(*, "where")=List of 2 [13:14:12.726] ..$ ...future.FUN: [13:14:12.726] ..$ ... : [13:14:12.726] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.726] - attr(*, "resolved")= logi FALSE [13:14:12.726] - attr(*, "total_size")= num 848 [13:14:12.729] Packages to be attached in all futures: [n=0] [13:14:12.729] getGlobalsAndPackagesXApply() ... DONE [13:14:12.730] Number of futures (= number of chunks): 2 [13:14:12.730] Launching 2 futures (chunks) ... [13:14:12.730] Chunk #1 of 2 ... [13:14:12.730] - Finding globals in 'X' for chunk #1 ... [13:14:12.730] getGlobalsAndPackages() ... [13:14:12.731] Searching for globals... [13:14:12.731] [13:14:12.731] Searching for globals ... DONE [13:14:12.731] - globals: [0] [13:14:12.731] getGlobalsAndPackages() ... DONE [13:14:12.732] + additional globals found: [n=0] [13:14:12.732] + additional namespaces needed: [n=0] [13:14:12.732] - Finding globals in 'X' for chunk #1 ... DONE [13:14:12.732] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.732] - seeds: [13:14:12.732] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.732] getGlobalsAndPackages() ... [13:14:12.733] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.733] Resolving globals: FALSE [13:14:12.733] Tweak future expression to call with '...' arguments ... [13:14:12.733] { [13:14:12.733] do.call(function(...) { [13:14:12.733] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.733] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.733] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.733] on.exit(options(oopts), add = TRUE) [13:14:12.733] } [13:14:12.733] { [13:14:12.733] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.733] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.733] ...future.FUN(...future.X_jj, ...) [13:14:12.733] }) [13:14:12.733] } [13:14:12.733] }, args = future.call.arguments) [13:14:12.733] } [13:14:12.734] Tweak future expression to call with '...' arguments ... DONE [13:14:12.734] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.734] [13:14:12.734] getGlobalsAndPackages() ... DONE [13:14:12.735] run() for 'Future' ... [13:14:12.735] - state: 'created' [13:14:12.735] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.749] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.749] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.750] - Field: 'node' [13:14:12.750] - Field: 'label' [13:14:12.750] - Field: 'local' [13:14:12.750] - Field: 'owner' [13:14:12.750] - Field: 'envir' [13:14:12.751] - Field: 'workers' [13:14:12.751] - Field: 'packages' [13:14:12.751] - Field: 'gc' [13:14:12.751] - Field: 'conditions' [13:14:12.751] - Field: 'persistent' [13:14:12.751] - Field: 'expr' [13:14:12.752] - Field: 'uuid' [13:14:12.752] - Field: 'seed' [13:14:12.752] - Field: 'version' [13:14:12.752] - Field: 'result' [13:14:12.752] - Field: 'asynchronous' [13:14:12.753] - Field: 'calls' [13:14:12.753] - Field: 'globals' [13:14:12.753] - Field: 'stdout' [13:14:12.753] - Field: 'earlySignal' [13:14:12.753] - Field: 'lazy' [13:14:12.753] - Field: 'state' [13:14:12.754] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.754] - Launch lazy future ... [13:14:12.754] Packages needed by the future expression (n = 0): [13:14:12.754] Packages needed by future strategies (n = 0): [13:14:12.755] { [13:14:12.755] { [13:14:12.755] { [13:14:12.755] ...future.startTime <- base::Sys.time() [13:14:12.755] { [13:14:12.755] { [13:14:12.755] { [13:14:12.755] { [13:14:12.755] base::local({ [13:14:12.755] has_future <- base::requireNamespace("future", [13:14:12.755] quietly = TRUE) [13:14:12.755] if (has_future) { [13:14:12.755] ns <- base::getNamespace("future") [13:14:12.755] version <- ns[[".package"]][["version"]] [13:14:12.755] if (is.null(version)) [13:14:12.755] version <- utils::packageVersion("future") [13:14:12.755] } [13:14:12.755] else { [13:14:12.755] version <- NULL [13:14:12.755] } [13:14:12.755] if (!has_future || version < "1.8.0") { [13:14:12.755] info <- base::c(r_version = base::gsub("R version ", [13:14:12.755] "", base::R.version$version.string), [13:14:12.755] platform = base::sprintf("%s (%s-bit)", [13:14:12.755] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.755] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.755] "release", "version")], collapse = " "), [13:14:12.755] hostname = base::Sys.info()[["nodename"]]) [13:14:12.755] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.755] info) [13:14:12.755] info <- base::paste(info, collapse = "; ") [13:14:12.755] if (!has_future) { [13:14:12.755] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.755] info) [13:14:12.755] } [13:14:12.755] else { [13:14:12.755] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.755] info, version) [13:14:12.755] } [13:14:12.755] base::stop(msg) [13:14:12.755] } [13:14:12.755] }) [13:14:12.755] } [13:14:12.755] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.755] base::options(mc.cores = 1L) [13:14:12.755] } [13:14:12.755] options(future.plan = NULL) [13:14:12.755] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.755] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.755] } [13:14:12.755] ...future.workdir <- getwd() [13:14:12.755] } [13:14:12.755] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.755] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.755] } [13:14:12.755] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.755] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.755] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.755] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.755] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.755] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.755] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.755] base::names(...future.oldOptions)) [13:14:12.755] } [13:14:12.755] if (FALSE) { [13:14:12.755] } [13:14:12.755] else { [13:14:12.755] if (TRUE) { [13:14:12.755] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.755] open = "w") [13:14:12.755] } [13:14:12.755] else { [13:14:12.755] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.755] windows = "NUL", "/dev/null"), open = "w") [13:14:12.755] } [13:14:12.755] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.755] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.755] base::sink(type = "output", split = FALSE) [13:14:12.755] base::close(...future.stdout) [13:14:12.755] }, add = TRUE) [13:14:12.755] } [13:14:12.755] ...future.frame <- base::sys.nframe() [13:14:12.755] ...future.conditions <- base::list() [13:14:12.755] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.755] if (FALSE) { [13:14:12.755] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.755] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.755] } [13:14:12.755] ...future.result <- base::tryCatch({ [13:14:12.755] base::withCallingHandlers({ [13:14:12.755] ...future.value <- base::withVisible(base::local({ [13:14:12.755] ...future.makeSendCondition <- local({ [13:14:12.755] sendCondition <- NULL [13:14:12.755] function(frame = 1L) { [13:14:12.755] if (is.function(sendCondition)) [13:14:12.755] return(sendCondition) [13:14:12.755] ns <- getNamespace("parallel") [13:14:12.755] if (exists("sendData", mode = "function", [13:14:12.755] envir = ns)) { [13:14:12.755] parallel_sendData <- get("sendData", mode = "function", [13:14:12.755] envir = ns) [13:14:12.755] envir <- sys.frame(frame) [13:14:12.755] master <- NULL [13:14:12.755] while (!identical(envir, .GlobalEnv) && [13:14:12.755] !identical(envir, emptyenv())) { [13:14:12.755] if (exists("master", mode = "list", envir = envir, [13:14:12.755] inherits = FALSE)) { [13:14:12.755] master <- get("master", mode = "list", [13:14:12.755] envir = envir, inherits = FALSE) [13:14:12.755] if (inherits(master, c("SOCKnode", [13:14:12.755] "SOCK0node"))) { [13:14:12.755] sendCondition <<- function(cond) { [13:14:12.755] data <- list(type = "VALUE", value = cond, [13:14:12.755] success = TRUE) [13:14:12.755] parallel_sendData(master, data) [13:14:12.755] } [13:14:12.755] return(sendCondition) [13:14:12.755] } [13:14:12.755] } [13:14:12.755] frame <- frame + 1L [13:14:12.755] envir <- sys.frame(frame) [13:14:12.755] } [13:14:12.755] } [13:14:12.755] sendCondition <<- function(cond) NULL [13:14:12.755] } [13:14:12.755] }) [13:14:12.755] withCallingHandlers({ [13:14:12.755] { [13:14:12.755] do.call(function(...) { [13:14:12.755] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.755] if (!identical(...future.globals.maxSize.org, [13:14:12.755] ...future.globals.maxSize)) { [13:14:12.755] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.755] on.exit(options(oopts), add = TRUE) [13:14:12.755] } [13:14:12.755] { [13:14:12.755] lapply(seq_along(...future.elements_ii), [13:14:12.755] FUN = function(jj) { [13:14:12.755] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.755] ...future.FUN(...future.X_jj, ...) [13:14:12.755] }) [13:14:12.755] } [13:14:12.755] }, args = future.call.arguments) [13:14:12.755] } [13:14:12.755] }, immediateCondition = function(cond) { [13:14:12.755] sendCondition <- ...future.makeSendCondition() [13:14:12.755] sendCondition(cond) [13:14:12.755] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.755] { [13:14:12.755] inherits <- base::inherits [13:14:12.755] invokeRestart <- base::invokeRestart [13:14:12.755] is.null <- base::is.null [13:14:12.755] muffled <- FALSE [13:14:12.755] if (inherits(cond, "message")) { [13:14:12.755] muffled <- grepl(pattern, "muffleMessage") [13:14:12.755] if (muffled) [13:14:12.755] invokeRestart("muffleMessage") [13:14:12.755] } [13:14:12.755] else if (inherits(cond, "warning")) { [13:14:12.755] muffled <- grepl(pattern, "muffleWarning") [13:14:12.755] if (muffled) [13:14:12.755] invokeRestart("muffleWarning") [13:14:12.755] } [13:14:12.755] else if (inherits(cond, "condition")) { [13:14:12.755] if (!is.null(pattern)) { [13:14:12.755] computeRestarts <- base::computeRestarts [13:14:12.755] grepl <- base::grepl [13:14:12.755] restarts <- computeRestarts(cond) [13:14:12.755] for (restart in restarts) { [13:14:12.755] name <- restart$name [13:14:12.755] if (is.null(name)) [13:14:12.755] next [13:14:12.755] if (!grepl(pattern, name)) [13:14:12.755] next [13:14:12.755] invokeRestart(restart) [13:14:12.755] muffled <- TRUE [13:14:12.755] break [13:14:12.755] } [13:14:12.755] } [13:14:12.755] } [13:14:12.755] invisible(muffled) [13:14:12.755] } [13:14:12.755] muffleCondition(cond) [13:14:12.755] }) [13:14:12.755] })) [13:14:12.755] future::FutureResult(value = ...future.value$value, [13:14:12.755] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.755] ...future.rng), globalenv = if (FALSE) [13:14:12.755] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.755] ...future.globalenv.names)) [13:14:12.755] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.755] }, condition = base::local({ [13:14:12.755] c <- base::c [13:14:12.755] inherits <- base::inherits [13:14:12.755] invokeRestart <- base::invokeRestart [13:14:12.755] length <- base::length [13:14:12.755] list <- base::list [13:14:12.755] seq.int <- base::seq.int [13:14:12.755] signalCondition <- base::signalCondition [13:14:12.755] sys.calls <- base::sys.calls [13:14:12.755] `[[` <- base::`[[` [13:14:12.755] `+` <- base::`+` [13:14:12.755] `<<-` <- base::`<<-` [13:14:12.755] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.755] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.755] 3L)] [13:14:12.755] } [13:14:12.755] function(cond) { [13:14:12.755] is_error <- inherits(cond, "error") [13:14:12.755] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.755] NULL) [13:14:12.755] if (is_error) { [13:14:12.755] sessionInformation <- function() { [13:14:12.755] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.755] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.755] search = base::search(), system = base::Sys.info()) [13:14:12.755] } [13:14:12.755] ...future.conditions[[length(...future.conditions) + [13:14:12.755] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.755] cond$call), session = sessionInformation(), [13:14:12.755] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.755] signalCondition(cond) [13:14:12.755] } [13:14:12.755] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.755] "immediateCondition"))) { [13:14:12.755] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.755] ...future.conditions[[length(...future.conditions) + [13:14:12.755] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.755] if (TRUE && !signal) { [13:14:12.755] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.755] { [13:14:12.755] inherits <- base::inherits [13:14:12.755] invokeRestart <- base::invokeRestart [13:14:12.755] is.null <- base::is.null [13:14:12.755] muffled <- FALSE [13:14:12.755] if (inherits(cond, "message")) { [13:14:12.755] muffled <- grepl(pattern, "muffleMessage") [13:14:12.755] if (muffled) [13:14:12.755] invokeRestart("muffleMessage") [13:14:12.755] } [13:14:12.755] else if (inherits(cond, "warning")) { [13:14:12.755] muffled <- grepl(pattern, "muffleWarning") [13:14:12.755] if (muffled) [13:14:12.755] invokeRestart("muffleWarning") [13:14:12.755] } [13:14:12.755] else if (inherits(cond, "condition")) { [13:14:12.755] if (!is.null(pattern)) { [13:14:12.755] computeRestarts <- base::computeRestarts [13:14:12.755] grepl <- base::grepl [13:14:12.755] restarts <- computeRestarts(cond) [13:14:12.755] for (restart in restarts) { [13:14:12.755] name <- restart$name [13:14:12.755] if (is.null(name)) [13:14:12.755] next [13:14:12.755] if (!grepl(pattern, name)) [13:14:12.755] next [13:14:12.755] invokeRestart(restart) [13:14:12.755] muffled <- TRUE [13:14:12.755] break [13:14:12.755] } [13:14:12.755] } [13:14:12.755] } [13:14:12.755] invisible(muffled) [13:14:12.755] } [13:14:12.755] muffleCondition(cond, pattern = "^muffle") [13:14:12.755] } [13:14:12.755] } [13:14:12.755] else { [13:14:12.755] if (TRUE) { [13:14:12.755] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.755] { [13:14:12.755] inherits <- base::inherits [13:14:12.755] invokeRestart <- base::invokeRestart [13:14:12.755] is.null <- base::is.null [13:14:12.755] muffled <- FALSE [13:14:12.755] if (inherits(cond, "message")) { [13:14:12.755] muffled <- grepl(pattern, "muffleMessage") [13:14:12.755] if (muffled) [13:14:12.755] invokeRestart("muffleMessage") [13:14:12.755] } [13:14:12.755] else if (inherits(cond, "warning")) { [13:14:12.755] muffled <- grepl(pattern, "muffleWarning") [13:14:12.755] if (muffled) [13:14:12.755] invokeRestart("muffleWarning") [13:14:12.755] } [13:14:12.755] else if (inherits(cond, "condition")) { [13:14:12.755] if (!is.null(pattern)) { [13:14:12.755] computeRestarts <- base::computeRestarts [13:14:12.755] grepl <- base::grepl [13:14:12.755] restarts <- computeRestarts(cond) [13:14:12.755] for (restart in restarts) { [13:14:12.755] name <- restart$name [13:14:12.755] if (is.null(name)) [13:14:12.755] next [13:14:12.755] if (!grepl(pattern, name)) [13:14:12.755] next [13:14:12.755] invokeRestart(restart) [13:14:12.755] muffled <- TRUE [13:14:12.755] break [13:14:12.755] } [13:14:12.755] } [13:14:12.755] } [13:14:12.755] invisible(muffled) [13:14:12.755] } [13:14:12.755] muffleCondition(cond, pattern = "^muffle") [13:14:12.755] } [13:14:12.755] } [13:14:12.755] } [13:14:12.755] })) [13:14:12.755] }, error = function(ex) { [13:14:12.755] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.755] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.755] ...future.rng), started = ...future.startTime, [13:14:12.755] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.755] version = "1.8"), class = "FutureResult") [13:14:12.755] }, finally = { [13:14:12.755] if (!identical(...future.workdir, getwd())) [13:14:12.755] setwd(...future.workdir) [13:14:12.755] { [13:14:12.755] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.755] ...future.oldOptions$nwarnings <- NULL [13:14:12.755] } [13:14:12.755] base::options(...future.oldOptions) [13:14:12.755] if (.Platform$OS.type == "windows") { [13:14:12.755] old_names <- names(...future.oldEnvVars) [13:14:12.755] envs <- base::Sys.getenv() [13:14:12.755] names <- names(envs) [13:14:12.755] common <- intersect(names, old_names) [13:14:12.755] added <- setdiff(names, old_names) [13:14:12.755] removed <- setdiff(old_names, names) [13:14:12.755] changed <- common[...future.oldEnvVars[common] != [13:14:12.755] envs[common]] [13:14:12.755] NAMES <- toupper(changed) [13:14:12.755] args <- list() [13:14:12.755] for (kk in seq_along(NAMES)) { [13:14:12.755] name <- changed[[kk]] [13:14:12.755] NAME <- NAMES[[kk]] [13:14:12.755] if (name != NAME && is.element(NAME, old_names)) [13:14:12.755] next [13:14:12.755] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.755] } [13:14:12.755] NAMES <- toupper(added) [13:14:12.755] for (kk in seq_along(NAMES)) { [13:14:12.755] name <- added[[kk]] [13:14:12.755] NAME <- NAMES[[kk]] [13:14:12.755] if (name != NAME && is.element(NAME, old_names)) [13:14:12.755] next [13:14:12.755] args[[name]] <- "" [13:14:12.755] } [13:14:12.755] NAMES <- toupper(removed) [13:14:12.755] for (kk in seq_along(NAMES)) { [13:14:12.755] name <- removed[[kk]] [13:14:12.755] NAME <- NAMES[[kk]] [13:14:12.755] if (name != NAME && is.element(NAME, old_names)) [13:14:12.755] next [13:14:12.755] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.755] } [13:14:12.755] if (length(args) > 0) [13:14:12.755] base::do.call(base::Sys.setenv, args = args) [13:14:12.755] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.755] } [13:14:12.755] else { [13:14:12.755] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.755] } [13:14:12.755] { [13:14:12.755] if (base::length(...future.futureOptionsAdded) > [13:14:12.755] 0L) { [13:14:12.755] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.755] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.755] base::options(opts) [13:14:12.755] } [13:14:12.755] { [13:14:12.755] { [13:14:12.755] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.755] NULL [13:14:12.755] } [13:14:12.755] options(future.plan = NULL) [13:14:12.755] if (is.na(NA_character_)) [13:14:12.755] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.755] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.755] future::plan(list(function (..., workers = availableCores(), [13:14:12.755] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.755] envir = parent.frame()) [13:14:12.755] { [13:14:12.755] if (is.function(workers)) [13:14:12.755] workers <- workers() [13:14:12.755] workers <- structure(as.integer(workers), [13:14:12.755] class = class(workers)) [13:14:12.755] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.755] workers >= 1) [13:14:12.755] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.755] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.755] } [13:14:12.755] future <- MultisessionFuture(..., workers = workers, [13:14:12.755] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.755] envir = envir) [13:14:12.755] if (!future$lazy) [13:14:12.755] future <- run(future) [13:14:12.755] invisible(future) [13:14:12.755] }), .cleanup = FALSE, .init = FALSE) [13:14:12.755] } [13:14:12.755] } [13:14:12.755] } [13:14:12.755] }) [13:14:12.755] if (TRUE) { [13:14:12.755] base::sink(type = "output", split = FALSE) [13:14:12.755] if (TRUE) { [13:14:12.755] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.755] } [13:14:12.755] else { [13:14:12.755] ...future.result["stdout"] <- base::list(NULL) [13:14:12.755] } [13:14:12.755] base::close(...future.stdout) [13:14:12.755] ...future.stdout <- NULL [13:14:12.755] } [13:14:12.755] ...future.result$conditions <- ...future.conditions [13:14:12.755] ...future.result$finished <- base::Sys.time() [13:14:12.755] ...future.result [13:14:12.755] } [13:14:12.760] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:12.761] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:12.761] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:12.761] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.762] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.762] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.762] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.763] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.763] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.763] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.764] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.764] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:12.765] MultisessionFuture started [13:14:12.765] - Launch lazy future ... done [13:14:12.765] run() for 'MultisessionFuture' ... done [13:14:12.765] Created future: [13:14:12.780] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.780] - Validating connection of MultisessionFuture [13:14:12.781] - received message: FutureResult [13:14:12.781] - Received FutureResult [13:14:12.781] - Erased future from FutureRegistry [13:14:12.781] result() for ClusterFuture ... [13:14:12.781] - result already collected: FutureResult [13:14:12.782] result() for ClusterFuture ... done [13:14:12.782] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.765] MultisessionFuture: [13:14:12.765] Label: 'future_sapply-1' [13:14:12.765] Expression: [13:14:12.765] { [13:14:12.765] do.call(function(...) { [13:14:12.765] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.765] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.765] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.765] on.exit(options(oopts), add = TRUE) [13:14:12.765] } [13:14:12.765] { [13:14:12.765] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.765] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.765] ...future.FUN(...future.X_jj, ...) [13:14:12.765] }) [13:14:12.765] } [13:14:12.765] }, args = future.call.arguments) [13:14:12.765] } [13:14:12.765] Lazy evaluation: FALSE [13:14:12.765] Asynchronous evaluation: TRUE [13:14:12.765] Local evaluation: TRUE [13:14:12.765] Environment: R_GlobalEnv [13:14:12.765] Capture standard output: TRUE [13:14:12.765] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.765] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.765] Packages: [13:14:12.765] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.765] Resolved: TRUE [13:14:12.765] Value: [13:14:12.765] Conditions captured: [13:14:12.765] Early signaling: FALSE [13:14:12.765] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.765] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.782] Chunk #1 of 2 ... DONE [13:14:12.782] Chunk #2 of 2 ... [13:14:12.783] - Finding globals in 'X' for chunk #2 ... [13:14:12.783] getGlobalsAndPackages() ... [13:14:12.783] Searching for globals... [13:14:12.783] [13:14:12.783] Searching for globals ... DONE [13:14:12.784] - globals: [0] [13:14:12.784] getGlobalsAndPackages() ... DONE [13:14:12.784] + additional globals found: [n=0] [13:14:12.784] + additional namespaces needed: [n=0] [13:14:12.785] - Finding globals in 'X' for chunk #2 ... DONE [13:14:12.785] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.785] - seeds: [13:14:12.785] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.785] getGlobalsAndPackages() ... [13:14:12.786] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.786] Resolving globals: FALSE [13:14:12.786] Tweak future expression to call with '...' arguments ... [13:14:12.786] { [13:14:12.786] do.call(function(...) { [13:14:12.786] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.786] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.786] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.786] on.exit(options(oopts), add = TRUE) [13:14:12.786] } [13:14:12.786] { [13:14:12.786] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.786] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.786] ...future.FUN(...future.X_jj, ...) [13:14:12.786] }) [13:14:12.786] } [13:14:12.786] }, args = future.call.arguments) [13:14:12.786] } [13:14:12.787] Tweak future expression to call with '...' arguments ... DONE [13:14:12.787] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.787] [13:14:12.788] getGlobalsAndPackages() ... DONE [13:14:12.788] run() for 'Future' ... [13:14:12.788] - state: 'created' [13:14:12.788] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.802] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.803] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.803] - Field: 'node' [13:14:12.803] - Field: 'label' [13:14:12.803] - Field: 'local' [13:14:12.803] - Field: 'owner' [13:14:12.803] - Field: 'envir' [13:14:12.804] - Field: 'workers' [13:14:12.804] - Field: 'packages' [13:14:12.804] - Field: 'gc' [13:14:12.804] - Field: 'conditions' [13:14:12.804] - Field: 'persistent' [13:14:12.805] - Field: 'expr' [13:14:12.805] - Field: 'uuid' [13:14:12.805] - Field: 'seed' [13:14:12.805] - Field: 'version' [13:14:12.805] - Field: 'result' [13:14:12.805] - Field: 'asynchronous' [13:14:12.806] - Field: 'calls' [13:14:12.806] - Field: 'globals' [13:14:12.806] - Field: 'stdout' [13:14:12.806] - Field: 'earlySignal' [13:14:12.806] - Field: 'lazy' [13:14:12.806] - Field: 'state' [13:14:12.807] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.807] - Launch lazy future ... [13:14:12.807] Packages needed by the future expression (n = 0): [13:14:12.807] Packages needed by future strategies (n = 0): [13:14:12.808] { [13:14:12.808] { [13:14:12.808] { [13:14:12.808] ...future.startTime <- base::Sys.time() [13:14:12.808] { [13:14:12.808] { [13:14:12.808] { [13:14:12.808] { [13:14:12.808] base::local({ [13:14:12.808] has_future <- base::requireNamespace("future", [13:14:12.808] quietly = TRUE) [13:14:12.808] if (has_future) { [13:14:12.808] ns <- base::getNamespace("future") [13:14:12.808] version <- ns[[".package"]][["version"]] [13:14:12.808] if (is.null(version)) [13:14:12.808] version <- utils::packageVersion("future") [13:14:12.808] } [13:14:12.808] else { [13:14:12.808] version <- NULL [13:14:12.808] } [13:14:12.808] if (!has_future || version < "1.8.0") { [13:14:12.808] info <- base::c(r_version = base::gsub("R version ", [13:14:12.808] "", base::R.version$version.string), [13:14:12.808] platform = base::sprintf("%s (%s-bit)", [13:14:12.808] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.808] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.808] "release", "version")], collapse = " "), [13:14:12.808] hostname = base::Sys.info()[["nodename"]]) [13:14:12.808] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.808] info) [13:14:12.808] info <- base::paste(info, collapse = "; ") [13:14:12.808] if (!has_future) { [13:14:12.808] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.808] info) [13:14:12.808] } [13:14:12.808] else { [13:14:12.808] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.808] info, version) [13:14:12.808] } [13:14:12.808] base::stop(msg) [13:14:12.808] } [13:14:12.808] }) [13:14:12.808] } [13:14:12.808] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.808] base::options(mc.cores = 1L) [13:14:12.808] } [13:14:12.808] options(future.plan = NULL) [13:14:12.808] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.808] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.808] } [13:14:12.808] ...future.workdir <- getwd() [13:14:12.808] } [13:14:12.808] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.808] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.808] } [13:14:12.808] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.808] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.808] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.808] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.808] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.808] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.808] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.808] base::names(...future.oldOptions)) [13:14:12.808] } [13:14:12.808] if (FALSE) { [13:14:12.808] } [13:14:12.808] else { [13:14:12.808] if (TRUE) { [13:14:12.808] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.808] open = "w") [13:14:12.808] } [13:14:12.808] else { [13:14:12.808] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.808] windows = "NUL", "/dev/null"), open = "w") [13:14:12.808] } [13:14:12.808] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.808] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.808] base::sink(type = "output", split = FALSE) [13:14:12.808] base::close(...future.stdout) [13:14:12.808] }, add = TRUE) [13:14:12.808] } [13:14:12.808] ...future.frame <- base::sys.nframe() [13:14:12.808] ...future.conditions <- base::list() [13:14:12.808] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.808] if (FALSE) { [13:14:12.808] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.808] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.808] } [13:14:12.808] ...future.result <- base::tryCatch({ [13:14:12.808] base::withCallingHandlers({ [13:14:12.808] ...future.value <- base::withVisible(base::local({ [13:14:12.808] ...future.makeSendCondition <- local({ [13:14:12.808] sendCondition <- NULL [13:14:12.808] function(frame = 1L) { [13:14:12.808] if (is.function(sendCondition)) [13:14:12.808] return(sendCondition) [13:14:12.808] ns <- getNamespace("parallel") [13:14:12.808] if (exists("sendData", mode = "function", [13:14:12.808] envir = ns)) { [13:14:12.808] parallel_sendData <- get("sendData", mode = "function", [13:14:12.808] envir = ns) [13:14:12.808] envir <- sys.frame(frame) [13:14:12.808] master <- NULL [13:14:12.808] while (!identical(envir, .GlobalEnv) && [13:14:12.808] !identical(envir, emptyenv())) { [13:14:12.808] if (exists("master", mode = "list", envir = envir, [13:14:12.808] inherits = FALSE)) { [13:14:12.808] master <- get("master", mode = "list", [13:14:12.808] envir = envir, inherits = FALSE) [13:14:12.808] if (inherits(master, c("SOCKnode", [13:14:12.808] "SOCK0node"))) { [13:14:12.808] sendCondition <<- function(cond) { [13:14:12.808] data <- list(type = "VALUE", value = cond, [13:14:12.808] success = TRUE) [13:14:12.808] parallel_sendData(master, data) [13:14:12.808] } [13:14:12.808] return(sendCondition) [13:14:12.808] } [13:14:12.808] } [13:14:12.808] frame <- frame + 1L [13:14:12.808] envir <- sys.frame(frame) [13:14:12.808] } [13:14:12.808] } [13:14:12.808] sendCondition <<- function(cond) NULL [13:14:12.808] } [13:14:12.808] }) [13:14:12.808] withCallingHandlers({ [13:14:12.808] { [13:14:12.808] do.call(function(...) { [13:14:12.808] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.808] if (!identical(...future.globals.maxSize.org, [13:14:12.808] ...future.globals.maxSize)) { [13:14:12.808] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.808] on.exit(options(oopts), add = TRUE) [13:14:12.808] } [13:14:12.808] { [13:14:12.808] lapply(seq_along(...future.elements_ii), [13:14:12.808] FUN = function(jj) { [13:14:12.808] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.808] ...future.FUN(...future.X_jj, ...) [13:14:12.808] }) [13:14:12.808] } [13:14:12.808] }, args = future.call.arguments) [13:14:12.808] } [13:14:12.808] }, immediateCondition = function(cond) { [13:14:12.808] sendCondition <- ...future.makeSendCondition() [13:14:12.808] sendCondition(cond) [13:14:12.808] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.808] { [13:14:12.808] inherits <- base::inherits [13:14:12.808] invokeRestart <- base::invokeRestart [13:14:12.808] is.null <- base::is.null [13:14:12.808] muffled <- FALSE [13:14:12.808] if (inherits(cond, "message")) { [13:14:12.808] muffled <- grepl(pattern, "muffleMessage") [13:14:12.808] if (muffled) [13:14:12.808] invokeRestart("muffleMessage") [13:14:12.808] } [13:14:12.808] else if (inherits(cond, "warning")) { [13:14:12.808] muffled <- grepl(pattern, "muffleWarning") [13:14:12.808] if (muffled) [13:14:12.808] invokeRestart("muffleWarning") [13:14:12.808] } [13:14:12.808] else if (inherits(cond, "condition")) { [13:14:12.808] if (!is.null(pattern)) { [13:14:12.808] computeRestarts <- base::computeRestarts [13:14:12.808] grepl <- base::grepl [13:14:12.808] restarts <- computeRestarts(cond) [13:14:12.808] for (restart in restarts) { [13:14:12.808] name <- restart$name [13:14:12.808] if (is.null(name)) [13:14:12.808] next [13:14:12.808] if (!grepl(pattern, name)) [13:14:12.808] next [13:14:12.808] invokeRestart(restart) [13:14:12.808] muffled <- TRUE [13:14:12.808] break [13:14:12.808] } [13:14:12.808] } [13:14:12.808] } [13:14:12.808] invisible(muffled) [13:14:12.808] } [13:14:12.808] muffleCondition(cond) [13:14:12.808] }) [13:14:12.808] })) [13:14:12.808] future::FutureResult(value = ...future.value$value, [13:14:12.808] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.808] ...future.rng), globalenv = if (FALSE) [13:14:12.808] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.808] ...future.globalenv.names)) [13:14:12.808] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.808] }, condition = base::local({ [13:14:12.808] c <- base::c [13:14:12.808] inherits <- base::inherits [13:14:12.808] invokeRestart <- base::invokeRestart [13:14:12.808] length <- base::length [13:14:12.808] list <- base::list [13:14:12.808] seq.int <- base::seq.int [13:14:12.808] signalCondition <- base::signalCondition [13:14:12.808] sys.calls <- base::sys.calls [13:14:12.808] `[[` <- base::`[[` [13:14:12.808] `+` <- base::`+` [13:14:12.808] `<<-` <- base::`<<-` [13:14:12.808] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.808] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.808] 3L)] [13:14:12.808] } [13:14:12.808] function(cond) { [13:14:12.808] is_error <- inherits(cond, "error") [13:14:12.808] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.808] NULL) [13:14:12.808] if (is_error) { [13:14:12.808] sessionInformation <- function() { [13:14:12.808] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.808] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.808] search = base::search(), system = base::Sys.info()) [13:14:12.808] } [13:14:12.808] ...future.conditions[[length(...future.conditions) + [13:14:12.808] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.808] cond$call), session = sessionInformation(), [13:14:12.808] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.808] signalCondition(cond) [13:14:12.808] } [13:14:12.808] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.808] "immediateCondition"))) { [13:14:12.808] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.808] ...future.conditions[[length(...future.conditions) + [13:14:12.808] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.808] if (TRUE && !signal) { [13:14:12.808] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.808] { [13:14:12.808] inherits <- base::inherits [13:14:12.808] invokeRestart <- base::invokeRestart [13:14:12.808] is.null <- base::is.null [13:14:12.808] muffled <- FALSE [13:14:12.808] if (inherits(cond, "message")) { [13:14:12.808] muffled <- grepl(pattern, "muffleMessage") [13:14:12.808] if (muffled) [13:14:12.808] invokeRestart("muffleMessage") [13:14:12.808] } [13:14:12.808] else if (inherits(cond, "warning")) { [13:14:12.808] muffled <- grepl(pattern, "muffleWarning") [13:14:12.808] if (muffled) [13:14:12.808] invokeRestart("muffleWarning") [13:14:12.808] } [13:14:12.808] else if (inherits(cond, "condition")) { [13:14:12.808] if (!is.null(pattern)) { [13:14:12.808] computeRestarts <- base::computeRestarts [13:14:12.808] grepl <- base::grepl [13:14:12.808] restarts <- computeRestarts(cond) [13:14:12.808] for (restart in restarts) { [13:14:12.808] name <- restart$name [13:14:12.808] if (is.null(name)) [13:14:12.808] next [13:14:12.808] if (!grepl(pattern, name)) [13:14:12.808] next [13:14:12.808] invokeRestart(restart) [13:14:12.808] muffled <- TRUE [13:14:12.808] break [13:14:12.808] } [13:14:12.808] } [13:14:12.808] } [13:14:12.808] invisible(muffled) [13:14:12.808] } [13:14:12.808] muffleCondition(cond, pattern = "^muffle") [13:14:12.808] } [13:14:12.808] } [13:14:12.808] else { [13:14:12.808] if (TRUE) { [13:14:12.808] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.808] { [13:14:12.808] inherits <- base::inherits [13:14:12.808] invokeRestart <- base::invokeRestart [13:14:12.808] is.null <- base::is.null [13:14:12.808] muffled <- FALSE [13:14:12.808] if (inherits(cond, "message")) { [13:14:12.808] muffled <- grepl(pattern, "muffleMessage") [13:14:12.808] if (muffled) [13:14:12.808] invokeRestart("muffleMessage") [13:14:12.808] } [13:14:12.808] else if (inherits(cond, "warning")) { [13:14:12.808] muffled <- grepl(pattern, "muffleWarning") [13:14:12.808] if (muffled) [13:14:12.808] invokeRestart("muffleWarning") [13:14:12.808] } [13:14:12.808] else if (inherits(cond, "condition")) { [13:14:12.808] if (!is.null(pattern)) { [13:14:12.808] computeRestarts <- base::computeRestarts [13:14:12.808] grepl <- base::grepl [13:14:12.808] restarts <- computeRestarts(cond) [13:14:12.808] for (restart in restarts) { [13:14:12.808] name <- restart$name [13:14:12.808] if (is.null(name)) [13:14:12.808] next [13:14:12.808] if (!grepl(pattern, name)) [13:14:12.808] next [13:14:12.808] invokeRestart(restart) [13:14:12.808] muffled <- TRUE [13:14:12.808] break [13:14:12.808] } [13:14:12.808] } [13:14:12.808] } [13:14:12.808] invisible(muffled) [13:14:12.808] } [13:14:12.808] muffleCondition(cond, pattern = "^muffle") [13:14:12.808] } [13:14:12.808] } [13:14:12.808] } [13:14:12.808] })) [13:14:12.808] }, error = function(ex) { [13:14:12.808] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.808] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.808] ...future.rng), started = ...future.startTime, [13:14:12.808] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.808] version = "1.8"), class = "FutureResult") [13:14:12.808] }, finally = { [13:14:12.808] if (!identical(...future.workdir, getwd())) [13:14:12.808] setwd(...future.workdir) [13:14:12.808] { [13:14:12.808] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.808] ...future.oldOptions$nwarnings <- NULL [13:14:12.808] } [13:14:12.808] base::options(...future.oldOptions) [13:14:12.808] if (.Platform$OS.type == "windows") { [13:14:12.808] old_names <- names(...future.oldEnvVars) [13:14:12.808] envs <- base::Sys.getenv() [13:14:12.808] names <- names(envs) [13:14:12.808] common <- intersect(names, old_names) [13:14:12.808] added <- setdiff(names, old_names) [13:14:12.808] removed <- setdiff(old_names, names) [13:14:12.808] changed <- common[...future.oldEnvVars[common] != [13:14:12.808] envs[common]] [13:14:12.808] NAMES <- toupper(changed) [13:14:12.808] args <- list() [13:14:12.808] for (kk in seq_along(NAMES)) { [13:14:12.808] name <- changed[[kk]] [13:14:12.808] NAME <- NAMES[[kk]] [13:14:12.808] if (name != NAME && is.element(NAME, old_names)) [13:14:12.808] next [13:14:12.808] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.808] } [13:14:12.808] NAMES <- toupper(added) [13:14:12.808] for (kk in seq_along(NAMES)) { [13:14:12.808] name <- added[[kk]] [13:14:12.808] NAME <- NAMES[[kk]] [13:14:12.808] if (name != NAME && is.element(NAME, old_names)) [13:14:12.808] next [13:14:12.808] args[[name]] <- "" [13:14:12.808] } [13:14:12.808] NAMES <- toupper(removed) [13:14:12.808] for (kk in seq_along(NAMES)) { [13:14:12.808] name <- removed[[kk]] [13:14:12.808] NAME <- NAMES[[kk]] [13:14:12.808] if (name != NAME && is.element(NAME, old_names)) [13:14:12.808] next [13:14:12.808] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.808] } [13:14:12.808] if (length(args) > 0) [13:14:12.808] base::do.call(base::Sys.setenv, args = args) [13:14:12.808] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.808] } [13:14:12.808] else { [13:14:12.808] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.808] } [13:14:12.808] { [13:14:12.808] if (base::length(...future.futureOptionsAdded) > [13:14:12.808] 0L) { [13:14:12.808] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.808] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.808] base::options(opts) [13:14:12.808] } [13:14:12.808] { [13:14:12.808] { [13:14:12.808] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.808] NULL [13:14:12.808] } [13:14:12.808] options(future.plan = NULL) [13:14:12.808] if (is.na(NA_character_)) [13:14:12.808] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.808] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.808] future::plan(list(function (..., workers = availableCores(), [13:14:12.808] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.808] envir = parent.frame()) [13:14:12.808] { [13:14:12.808] if (is.function(workers)) [13:14:12.808] workers <- workers() [13:14:12.808] workers <- structure(as.integer(workers), [13:14:12.808] class = class(workers)) [13:14:12.808] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.808] workers >= 1) [13:14:12.808] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.808] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.808] } [13:14:12.808] future <- MultisessionFuture(..., workers = workers, [13:14:12.808] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.808] envir = envir) [13:14:12.808] if (!future$lazy) [13:14:12.808] future <- run(future) [13:14:12.808] invisible(future) [13:14:12.808] }), .cleanup = FALSE, .init = FALSE) [13:14:12.808] } [13:14:12.808] } [13:14:12.808] } [13:14:12.808] }) [13:14:12.808] if (TRUE) { [13:14:12.808] base::sink(type = "output", split = FALSE) [13:14:12.808] if (TRUE) { [13:14:12.808] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.808] } [13:14:12.808] else { [13:14:12.808] ...future.result["stdout"] <- base::list(NULL) [13:14:12.808] } [13:14:12.808] base::close(...future.stdout) [13:14:12.808] ...future.stdout <- NULL [13:14:12.808] } [13:14:12.808] ...future.result$conditions <- ...future.conditions [13:14:12.808] ...future.result$finished <- base::Sys.time() [13:14:12.808] ...future.result [13:14:12.808] } [13:14:12.814] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:12.814] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:12.814] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:12.815] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.815] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.815] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.816] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.816] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.816] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.816] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.817] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.817] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:12.818] MultisessionFuture started [13:14:12.818] - Launch lazy future ... done [13:14:12.818] run() for 'MultisessionFuture' ... done [13:14:12.818] Created future: [13:14:12.834] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.834] - Validating connection of MultisessionFuture [13:14:12.835] - received message: FutureResult [13:14:12.835] - Received FutureResult [13:14:12.835] - Erased future from FutureRegistry [13:14:12.835] result() for ClusterFuture ... [13:14:12.838] - result already collected: FutureResult [13:14:12.838] result() for ClusterFuture ... done [13:14:12.838] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.818] MultisessionFuture: [13:14:12.818] Label: 'future_sapply-2' [13:14:12.818] Expression: [13:14:12.818] { [13:14:12.818] do.call(function(...) { [13:14:12.818] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.818] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.818] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.818] on.exit(options(oopts), add = TRUE) [13:14:12.818] } [13:14:12.818] { [13:14:12.818] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.818] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.818] ...future.FUN(...future.X_jj, ...) [13:14:12.818] }) [13:14:12.818] } [13:14:12.818] }, args = future.call.arguments) [13:14:12.818] } [13:14:12.818] Lazy evaluation: FALSE [13:14:12.818] Asynchronous evaluation: TRUE [13:14:12.818] Local evaluation: TRUE [13:14:12.818] Environment: R_GlobalEnv [13:14:12.818] Capture standard output: TRUE [13:14:12.818] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.818] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.818] Packages: [13:14:12.818] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.818] Resolved: TRUE [13:14:12.818] Value: [13:14:12.818] Conditions captured: [13:14:12.818] Early signaling: FALSE [13:14:12.818] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.818] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.839] Chunk #2 of 2 ... DONE [13:14:12.839] Launching 2 futures (chunks) ... DONE [13:14:12.839] Resolving 2 futures (chunks) ... [13:14:12.840] resolve() on list ... [13:14:12.840] recursive: 0 [13:14:12.840] length: 2 [13:14:12.840] [13:14:12.840] Future #1 [13:14:12.840] result() for ClusterFuture ... [13:14:12.841] - result already collected: FutureResult [13:14:12.841] result() for ClusterFuture ... done [13:14:12.841] result() for ClusterFuture ... [13:14:12.841] - result already collected: FutureResult [13:14:12.841] result() for ClusterFuture ... done [13:14:12.841] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:12.842] - nx: 2 [13:14:12.842] - relay: TRUE [13:14:12.842] - stdout: TRUE [13:14:12.842] - signal: TRUE [13:14:12.842] - resignal: FALSE [13:14:12.842] - force: TRUE [13:14:12.842] - relayed: [n=2] FALSE, FALSE [13:14:12.843] - queued futures: [n=2] FALSE, FALSE [13:14:12.843] - until=1 [13:14:12.843] - relaying element #1 [13:14:12.843] result() for ClusterFuture ... [13:14:12.843] - result already collected: FutureResult [13:14:12.843] result() for ClusterFuture ... done [13:14:12.844] result() for ClusterFuture ... [13:14:12.844] - result already collected: FutureResult [13:14:12.844] result() for ClusterFuture ... done [13:14:12.844] result() for ClusterFuture ... [13:14:12.844] - result already collected: FutureResult [13:14:12.844] result() for ClusterFuture ... done [13:14:12.845] result() for ClusterFuture ... [13:14:12.845] - result already collected: FutureResult [13:14:12.845] result() for ClusterFuture ... done [13:14:12.845] - relayed: [n=2] TRUE, FALSE [13:14:12.845] - queued futures: [n=2] TRUE, FALSE [13:14:12.845] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:12.845] length: 1 (resolved future 1) [13:14:12.846] Future #2 [13:14:12.846] result() for ClusterFuture ... [13:14:12.846] - result already collected: FutureResult [13:14:12.846] result() for ClusterFuture ... done [13:14:12.846] result() for ClusterFuture ... [13:14:12.847] - result already collected: FutureResult [13:14:12.847] result() for ClusterFuture ... done [13:14:12.847] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:12.847] - nx: 2 [13:14:12.847] - relay: TRUE [13:14:12.847] - stdout: TRUE [13:14:12.847] - signal: TRUE [13:14:12.848] - resignal: FALSE [13:14:12.848] - force: TRUE [13:14:12.848] - relayed: [n=2] TRUE, FALSE [13:14:12.848] - queued futures: [n=2] TRUE, FALSE [13:14:12.848] - until=2 [13:14:12.848] - relaying element #2 [13:14:12.849] result() for ClusterFuture ... [13:14:12.849] - result already collected: FutureResult [13:14:12.849] result() for ClusterFuture ... done [13:14:12.849] result() for ClusterFuture ... [13:14:12.849] - result already collected: FutureResult [13:14:12.849] result() for ClusterFuture ... done [13:14:12.850] result() for ClusterFuture ... [13:14:12.850] - result already collected: FutureResult [13:14:12.850] result() for ClusterFuture ... done [13:14:12.850] result() for ClusterFuture ... [13:14:12.850] - result already collected: FutureResult [13:14:12.850] result() for ClusterFuture ... done [13:14:12.850] - relayed: [n=2] TRUE, TRUE [13:14:12.851] - queued futures: [n=2] TRUE, TRUE [13:14:12.851] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:12.851] length: 0 (resolved future 2) [13:14:12.851] Relaying remaining futures [13:14:12.851] signalConditionsASAP(NULL, pos=0) ... [13:14:12.851] - nx: 2 [13:14:12.852] - relay: TRUE [13:14:12.852] - stdout: TRUE [13:14:12.852] - signal: TRUE [13:14:12.852] - resignal: FALSE [13:14:12.852] - force: TRUE [13:14:12.852] - relayed: [n=2] TRUE, TRUE [13:14:12.852] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:12.853] - relayed: [n=2] TRUE, TRUE [13:14:12.853] - queued futures: [n=2] TRUE, TRUE [13:14:12.853] signalConditionsASAP(NULL, pos=0) ... done [13:14:12.853] resolve() on list ... DONE [13:14:12.853] result() for ClusterFuture ... [13:14:12.853] - result already collected: FutureResult [13:14:12.854] result() for ClusterFuture ... done [13:14:12.854] result() for ClusterFuture ... [13:14:12.854] - result already collected: FutureResult [13:14:12.854] result() for ClusterFuture ... done [13:14:12.854] result() for ClusterFuture ... [13:14:12.854] - result already collected: FutureResult [13:14:12.855] result() for ClusterFuture ... done [13:14:12.855] result() for ClusterFuture ... [13:14:12.855] - result already collected: FutureResult [13:14:12.855] result() for ClusterFuture ... done [13:14:12.855] - Number of value chunks collected: 2 [13:14:12.855] Resolving 2 futures (chunks) ... DONE [13:14:12.855] Reducing values from 2 chunks ... [13:14:12.856] - Number of values collected after concatenation: 4 [13:14:12.856] - Number of values expected: 4 [13:14:12.856] Reducing values from 2 chunks ... DONE [13:14:12.856] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y1:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 List of 2 $ y0:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 $ y2:List of 4 ..$ A: num 50 ..$ B: num 60 ..$ C: num 70 ..$ D: num 80 [13:14:12.864] future_lapply() ... [13:14:12.867] Number of chunks: 2 [13:14:12.867] getGlobalsAndPackagesXApply() ... [13:14:12.867] - future.globals: TRUE [13:14:12.867] getGlobalsAndPackages() ... [13:14:12.868] Searching for globals... [13:14:12.869] - globals found: [2] 'FUN', 'UseMethod' [13:14:12.869] Searching for globals ... DONE [13:14:12.869] Resolving globals: FALSE [13:14:12.870] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:12.870] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:12.870] - globals: [1] 'FUN' [13:14:12.870] [13:14:12.871] getGlobalsAndPackages() ... DONE [13:14:12.871] - globals found/used: [n=1] 'FUN' [13:14:12.871] - needed namespaces: [n=0] [13:14:12.871] Finding globals ... DONE [13:14:12.871] - use_args: TRUE [13:14:12.871] - Getting '...' globals ... [13:14:12.872] resolve() on list ... [13:14:12.872] recursive: 0 [13:14:12.872] length: 1 [13:14:12.872] elements: '...' [13:14:12.872] length: 0 (resolved future 1) [13:14:12.873] resolve() on list ... DONE [13:14:12.873] - '...' content: [n=0] [13:14:12.873] List of 1 [13:14:12.873] $ ...: list() [13:14:12.873] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.873] - attr(*, "where")=List of 1 [13:14:12.873] ..$ ...: [13:14:12.873] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.873] - attr(*, "resolved")= logi TRUE [13:14:12.873] - attr(*, "total_size")= num NA [13:14:12.876] - Getting '...' globals ... DONE [13:14:12.876] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:12.876] List of 2 [13:14:12.876] $ ...future.FUN:function (x, ...) [13:14:12.876] $ ... : list() [13:14:12.876] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:12.876] - attr(*, "where")=List of 2 [13:14:12.876] ..$ ...future.FUN: [13:14:12.876] ..$ ... : [13:14:12.876] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:12.876] - attr(*, "resolved")= logi FALSE [13:14:12.876] - attr(*, "total_size")= num 1248 [13:14:12.880] Packages to be attached in all futures: [n=0] [13:14:12.880] getGlobalsAndPackagesXApply() ... DONE [13:14:12.880] Number of futures (= number of chunks): 2 [13:14:12.880] Launching 2 futures (chunks) ... [13:14:12.880] Chunk #1 of 2 ... [13:14:12.881] - Finding globals in 'X' for chunk #1 ... [13:14:12.881] getGlobalsAndPackages() ... [13:14:12.881] Searching for globals... [13:14:12.881] [13:14:12.881] Searching for globals ... DONE [13:14:12.882] - globals: [0] [13:14:12.882] getGlobalsAndPackages() ... DONE [13:14:12.882] + additional globals found: [n=0] [13:14:12.882] + additional namespaces needed: [n=0] [13:14:12.882] - Finding globals in 'X' for chunk #1 ... DONE [13:14:12.882] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.883] - seeds: [13:14:12.883] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.883] getGlobalsAndPackages() ... [13:14:12.883] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.883] Resolving globals: FALSE [13:14:12.883] Tweak future expression to call with '...' arguments ... [13:14:12.884] { [13:14:12.884] do.call(function(...) { [13:14:12.884] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.884] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.884] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.884] on.exit(options(oopts), add = TRUE) [13:14:12.884] } [13:14:12.884] { [13:14:12.884] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.884] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.884] ...future.FUN(...future.X_jj, ...) [13:14:12.884] }) [13:14:12.884] } [13:14:12.884] }, args = future.call.arguments) [13:14:12.884] } [13:14:12.884] Tweak future expression to call with '...' arguments ... DONE [13:14:12.884] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.885] [13:14:12.885] getGlobalsAndPackages() ... DONE [13:14:12.885] run() for 'Future' ... [13:14:12.886] - state: 'created' [13:14:12.886] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.900] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.900] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.900] - Field: 'node' [13:14:12.900] - Field: 'label' [13:14:12.900] - Field: 'local' [13:14:12.901] - Field: 'owner' [13:14:12.901] - Field: 'envir' [13:14:12.901] - Field: 'workers' [13:14:12.901] - Field: 'packages' [13:14:12.901] - Field: 'gc' [13:14:12.902] - Field: 'conditions' [13:14:12.902] - Field: 'persistent' [13:14:12.902] - Field: 'expr' [13:14:12.902] - Field: 'uuid' [13:14:12.902] - Field: 'seed' [13:14:12.902] - Field: 'version' [13:14:12.903] - Field: 'result' [13:14:12.903] - Field: 'asynchronous' [13:14:12.903] - Field: 'calls' [13:14:12.903] - Field: 'globals' [13:14:12.903] - Field: 'stdout' [13:14:12.903] - Field: 'earlySignal' [13:14:12.904] - Field: 'lazy' [13:14:12.904] - Field: 'state' [13:14:12.904] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.904] - Launch lazy future ... [13:14:12.905] Packages needed by the future expression (n = 0): [13:14:12.905] Packages needed by future strategies (n = 0): [13:14:12.905] { [13:14:12.905] { [13:14:12.905] { [13:14:12.905] ...future.startTime <- base::Sys.time() [13:14:12.905] { [13:14:12.905] { [13:14:12.905] { [13:14:12.905] { [13:14:12.905] base::local({ [13:14:12.905] has_future <- base::requireNamespace("future", [13:14:12.905] quietly = TRUE) [13:14:12.905] if (has_future) { [13:14:12.905] ns <- base::getNamespace("future") [13:14:12.905] version <- ns[[".package"]][["version"]] [13:14:12.905] if (is.null(version)) [13:14:12.905] version <- utils::packageVersion("future") [13:14:12.905] } [13:14:12.905] else { [13:14:12.905] version <- NULL [13:14:12.905] } [13:14:12.905] if (!has_future || version < "1.8.0") { [13:14:12.905] info <- base::c(r_version = base::gsub("R version ", [13:14:12.905] "", base::R.version$version.string), [13:14:12.905] platform = base::sprintf("%s (%s-bit)", [13:14:12.905] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.905] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.905] "release", "version")], collapse = " "), [13:14:12.905] hostname = base::Sys.info()[["nodename"]]) [13:14:12.905] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.905] info) [13:14:12.905] info <- base::paste(info, collapse = "; ") [13:14:12.905] if (!has_future) { [13:14:12.905] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.905] info) [13:14:12.905] } [13:14:12.905] else { [13:14:12.905] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.905] info, version) [13:14:12.905] } [13:14:12.905] base::stop(msg) [13:14:12.905] } [13:14:12.905] }) [13:14:12.905] } [13:14:12.905] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.905] base::options(mc.cores = 1L) [13:14:12.905] } [13:14:12.905] options(future.plan = NULL) [13:14:12.905] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.905] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.905] } [13:14:12.905] ...future.workdir <- getwd() [13:14:12.905] } [13:14:12.905] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.905] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.905] } [13:14:12.905] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.905] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.905] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.905] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.905] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.905] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.905] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.905] base::names(...future.oldOptions)) [13:14:12.905] } [13:14:12.905] if (FALSE) { [13:14:12.905] } [13:14:12.905] else { [13:14:12.905] if (TRUE) { [13:14:12.905] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.905] open = "w") [13:14:12.905] } [13:14:12.905] else { [13:14:12.905] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.905] windows = "NUL", "/dev/null"), open = "w") [13:14:12.905] } [13:14:12.905] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.905] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.905] base::sink(type = "output", split = FALSE) [13:14:12.905] base::close(...future.stdout) [13:14:12.905] }, add = TRUE) [13:14:12.905] } [13:14:12.905] ...future.frame <- base::sys.nframe() [13:14:12.905] ...future.conditions <- base::list() [13:14:12.905] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.905] if (FALSE) { [13:14:12.905] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.905] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.905] } [13:14:12.905] ...future.result <- base::tryCatch({ [13:14:12.905] base::withCallingHandlers({ [13:14:12.905] ...future.value <- base::withVisible(base::local({ [13:14:12.905] ...future.makeSendCondition <- local({ [13:14:12.905] sendCondition <- NULL [13:14:12.905] function(frame = 1L) { [13:14:12.905] if (is.function(sendCondition)) [13:14:12.905] return(sendCondition) [13:14:12.905] ns <- getNamespace("parallel") [13:14:12.905] if (exists("sendData", mode = "function", [13:14:12.905] envir = ns)) { [13:14:12.905] parallel_sendData <- get("sendData", mode = "function", [13:14:12.905] envir = ns) [13:14:12.905] envir <- sys.frame(frame) [13:14:12.905] master <- NULL [13:14:12.905] while (!identical(envir, .GlobalEnv) && [13:14:12.905] !identical(envir, emptyenv())) { [13:14:12.905] if (exists("master", mode = "list", envir = envir, [13:14:12.905] inherits = FALSE)) { [13:14:12.905] master <- get("master", mode = "list", [13:14:12.905] envir = envir, inherits = FALSE) [13:14:12.905] if (inherits(master, c("SOCKnode", [13:14:12.905] "SOCK0node"))) { [13:14:12.905] sendCondition <<- function(cond) { [13:14:12.905] data <- list(type = "VALUE", value = cond, [13:14:12.905] success = TRUE) [13:14:12.905] parallel_sendData(master, data) [13:14:12.905] } [13:14:12.905] return(sendCondition) [13:14:12.905] } [13:14:12.905] } [13:14:12.905] frame <- frame + 1L [13:14:12.905] envir <- sys.frame(frame) [13:14:12.905] } [13:14:12.905] } [13:14:12.905] sendCondition <<- function(cond) NULL [13:14:12.905] } [13:14:12.905] }) [13:14:12.905] withCallingHandlers({ [13:14:12.905] { [13:14:12.905] do.call(function(...) { [13:14:12.905] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.905] if (!identical(...future.globals.maxSize.org, [13:14:12.905] ...future.globals.maxSize)) { [13:14:12.905] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.905] on.exit(options(oopts), add = TRUE) [13:14:12.905] } [13:14:12.905] { [13:14:12.905] lapply(seq_along(...future.elements_ii), [13:14:12.905] FUN = function(jj) { [13:14:12.905] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.905] ...future.FUN(...future.X_jj, ...) [13:14:12.905] }) [13:14:12.905] } [13:14:12.905] }, args = future.call.arguments) [13:14:12.905] } [13:14:12.905] }, immediateCondition = function(cond) { [13:14:12.905] sendCondition <- ...future.makeSendCondition() [13:14:12.905] sendCondition(cond) [13:14:12.905] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.905] { [13:14:12.905] inherits <- base::inherits [13:14:12.905] invokeRestart <- base::invokeRestart [13:14:12.905] is.null <- base::is.null [13:14:12.905] muffled <- FALSE [13:14:12.905] if (inherits(cond, "message")) { [13:14:12.905] muffled <- grepl(pattern, "muffleMessage") [13:14:12.905] if (muffled) [13:14:12.905] invokeRestart("muffleMessage") [13:14:12.905] } [13:14:12.905] else if (inherits(cond, "warning")) { [13:14:12.905] muffled <- grepl(pattern, "muffleWarning") [13:14:12.905] if (muffled) [13:14:12.905] invokeRestart("muffleWarning") [13:14:12.905] } [13:14:12.905] else if (inherits(cond, "condition")) { [13:14:12.905] if (!is.null(pattern)) { [13:14:12.905] computeRestarts <- base::computeRestarts [13:14:12.905] grepl <- base::grepl [13:14:12.905] restarts <- computeRestarts(cond) [13:14:12.905] for (restart in restarts) { [13:14:12.905] name <- restart$name [13:14:12.905] if (is.null(name)) [13:14:12.905] next [13:14:12.905] if (!grepl(pattern, name)) [13:14:12.905] next [13:14:12.905] invokeRestart(restart) [13:14:12.905] muffled <- TRUE [13:14:12.905] break [13:14:12.905] } [13:14:12.905] } [13:14:12.905] } [13:14:12.905] invisible(muffled) [13:14:12.905] } [13:14:12.905] muffleCondition(cond) [13:14:12.905] }) [13:14:12.905] })) [13:14:12.905] future::FutureResult(value = ...future.value$value, [13:14:12.905] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.905] ...future.rng), globalenv = if (FALSE) [13:14:12.905] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.905] ...future.globalenv.names)) [13:14:12.905] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.905] }, condition = base::local({ [13:14:12.905] c <- base::c [13:14:12.905] inherits <- base::inherits [13:14:12.905] invokeRestart <- base::invokeRestart [13:14:12.905] length <- base::length [13:14:12.905] list <- base::list [13:14:12.905] seq.int <- base::seq.int [13:14:12.905] signalCondition <- base::signalCondition [13:14:12.905] sys.calls <- base::sys.calls [13:14:12.905] `[[` <- base::`[[` [13:14:12.905] `+` <- base::`+` [13:14:12.905] `<<-` <- base::`<<-` [13:14:12.905] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.905] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.905] 3L)] [13:14:12.905] } [13:14:12.905] function(cond) { [13:14:12.905] is_error <- inherits(cond, "error") [13:14:12.905] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.905] NULL) [13:14:12.905] if (is_error) { [13:14:12.905] sessionInformation <- function() { [13:14:12.905] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.905] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.905] search = base::search(), system = base::Sys.info()) [13:14:12.905] } [13:14:12.905] ...future.conditions[[length(...future.conditions) + [13:14:12.905] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.905] cond$call), session = sessionInformation(), [13:14:12.905] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.905] signalCondition(cond) [13:14:12.905] } [13:14:12.905] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.905] "immediateCondition"))) { [13:14:12.905] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.905] ...future.conditions[[length(...future.conditions) + [13:14:12.905] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.905] if (TRUE && !signal) { [13:14:12.905] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.905] { [13:14:12.905] inherits <- base::inherits [13:14:12.905] invokeRestart <- base::invokeRestart [13:14:12.905] is.null <- base::is.null [13:14:12.905] muffled <- FALSE [13:14:12.905] if (inherits(cond, "message")) { [13:14:12.905] muffled <- grepl(pattern, "muffleMessage") [13:14:12.905] if (muffled) [13:14:12.905] invokeRestart("muffleMessage") [13:14:12.905] } [13:14:12.905] else if (inherits(cond, "warning")) { [13:14:12.905] muffled <- grepl(pattern, "muffleWarning") [13:14:12.905] if (muffled) [13:14:12.905] invokeRestart("muffleWarning") [13:14:12.905] } [13:14:12.905] else if (inherits(cond, "condition")) { [13:14:12.905] if (!is.null(pattern)) { [13:14:12.905] computeRestarts <- base::computeRestarts [13:14:12.905] grepl <- base::grepl [13:14:12.905] restarts <- computeRestarts(cond) [13:14:12.905] for (restart in restarts) { [13:14:12.905] name <- restart$name [13:14:12.905] if (is.null(name)) [13:14:12.905] next [13:14:12.905] if (!grepl(pattern, name)) [13:14:12.905] next [13:14:12.905] invokeRestart(restart) [13:14:12.905] muffled <- TRUE [13:14:12.905] break [13:14:12.905] } [13:14:12.905] } [13:14:12.905] } [13:14:12.905] invisible(muffled) [13:14:12.905] } [13:14:12.905] muffleCondition(cond, pattern = "^muffle") [13:14:12.905] } [13:14:12.905] } [13:14:12.905] else { [13:14:12.905] if (TRUE) { [13:14:12.905] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.905] { [13:14:12.905] inherits <- base::inherits [13:14:12.905] invokeRestart <- base::invokeRestart [13:14:12.905] is.null <- base::is.null [13:14:12.905] muffled <- FALSE [13:14:12.905] if (inherits(cond, "message")) { [13:14:12.905] muffled <- grepl(pattern, "muffleMessage") [13:14:12.905] if (muffled) [13:14:12.905] invokeRestart("muffleMessage") [13:14:12.905] } [13:14:12.905] else if (inherits(cond, "warning")) { [13:14:12.905] muffled <- grepl(pattern, "muffleWarning") [13:14:12.905] if (muffled) [13:14:12.905] invokeRestart("muffleWarning") [13:14:12.905] } [13:14:12.905] else if (inherits(cond, "condition")) { [13:14:12.905] if (!is.null(pattern)) { [13:14:12.905] computeRestarts <- base::computeRestarts [13:14:12.905] grepl <- base::grepl [13:14:12.905] restarts <- computeRestarts(cond) [13:14:12.905] for (restart in restarts) { [13:14:12.905] name <- restart$name [13:14:12.905] if (is.null(name)) [13:14:12.905] next [13:14:12.905] if (!grepl(pattern, name)) [13:14:12.905] next [13:14:12.905] invokeRestart(restart) [13:14:12.905] muffled <- TRUE [13:14:12.905] break [13:14:12.905] } [13:14:12.905] } [13:14:12.905] } [13:14:12.905] invisible(muffled) [13:14:12.905] } [13:14:12.905] muffleCondition(cond, pattern = "^muffle") [13:14:12.905] } [13:14:12.905] } [13:14:12.905] } [13:14:12.905] })) [13:14:12.905] }, error = function(ex) { [13:14:12.905] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.905] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.905] ...future.rng), started = ...future.startTime, [13:14:12.905] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.905] version = "1.8"), class = "FutureResult") [13:14:12.905] }, finally = { [13:14:12.905] if (!identical(...future.workdir, getwd())) [13:14:12.905] setwd(...future.workdir) [13:14:12.905] { [13:14:12.905] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.905] ...future.oldOptions$nwarnings <- NULL [13:14:12.905] } [13:14:12.905] base::options(...future.oldOptions) [13:14:12.905] if (.Platform$OS.type == "windows") { [13:14:12.905] old_names <- names(...future.oldEnvVars) [13:14:12.905] envs <- base::Sys.getenv() [13:14:12.905] names <- names(envs) [13:14:12.905] common <- intersect(names, old_names) [13:14:12.905] added <- setdiff(names, old_names) [13:14:12.905] removed <- setdiff(old_names, names) [13:14:12.905] changed <- common[...future.oldEnvVars[common] != [13:14:12.905] envs[common]] [13:14:12.905] NAMES <- toupper(changed) [13:14:12.905] args <- list() [13:14:12.905] for (kk in seq_along(NAMES)) { [13:14:12.905] name <- changed[[kk]] [13:14:12.905] NAME <- NAMES[[kk]] [13:14:12.905] if (name != NAME && is.element(NAME, old_names)) [13:14:12.905] next [13:14:12.905] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.905] } [13:14:12.905] NAMES <- toupper(added) [13:14:12.905] for (kk in seq_along(NAMES)) { [13:14:12.905] name <- added[[kk]] [13:14:12.905] NAME <- NAMES[[kk]] [13:14:12.905] if (name != NAME && is.element(NAME, old_names)) [13:14:12.905] next [13:14:12.905] args[[name]] <- "" [13:14:12.905] } [13:14:12.905] NAMES <- toupper(removed) [13:14:12.905] for (kk in seq_along(NAMES)) { [13:14:12.905] name <- removed[[kk]] [13:14:12.905] NAME <- NAMES[[kk]] [13:14:12.905] if (name != NAME && is.element(NAME, old_names)) [13:14:12.905] next [13:14:12.905] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.905] } [13:14:12.905] if (length(args) > 0) [13:14:12.905] base::do.call(base::Sys.setenv, args = args) [13:14:12.905] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.905] } [13:14:12.905] else { [13:14:12.905] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.905] } [13:14:12.905] { [13:14:12.905] if (base::length(...future.futureOptionsAdded) > [13:14:12.905] 0L) { [13:14:12.905] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.905] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.905] base::options(opts) [13:14:12.905] } [13:14:12.905] { [13:14:12.905] { [13:14:12.905] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.905] NULL [13:14:12.905] } [13:14:12.905] options(future.plan = NULL) [13:14:12.905] if (is.na(NA_character_)) [13:14:12.905] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.905] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.905] future::plan(list(function (..., workers = availableCores(), [13:14:12.905] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.905] envir = parent.frame()) [13:14:12.905] { [13:14:12.905] if (is.function(workers)) [13:14:12.905] workers <- workers() [13:14:12.905] workers <- structure(as.integer(workers), [13:14:12.905] class = class(workers)) [13:14:12.905] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.905] workers >= 1) [13:14:12.905] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.905] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.905] } [13:14:12.905] future <- MultisessionFuture(..., workers = workers, [13:14:12.905] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.905] envir = envir) [13:14:12.905] if (!future$lazy) [13:14:12.905] future <- run(future) [13:14:12.905] invisible(future) [13:14:12.905] }), .cleanup = FALSE, .init = FALSE) [13:14:12.905] } [13:14:12.905] } [13:14:12.905] } [13:14:12.905] }) [13:14:12.905] if (TRUE) { [13:14:12.905] base::sink(type = "output", split = FALSE) [13:14:12.905] if (TRUE) { [13:14:12.905] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.905] } [13:14:12.905] else { [13:14:12.905] ...future.result["stdout"] <- base::list(NULL) [13:14:12.905] } [13:14:12.905] base::close(...future.stdout) [13:14:12.905] ...future.stdout <- NULL [13:14:12.905] } [13:14:12.905] ...future.result$conditions <- ...future.conditions [13:14:12.905] ...future.result$finished <- base::Sys.time() [13:14:12.905] ...future.result [13:14:12.905] } [13:14:12.911] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:12.911] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:12.911] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:12.912] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.912] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.912] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.913] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.913] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.913] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.914] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.914] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.914] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:12.915] MultisessionFuture started [13:14:12.915] - Launch lazy future ... done [13:14:12.915] run() for 'MultisessionFuture' ... done [13:14:12.916] Created future: [13:14:12.931] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.932] - Validating connection of MultisessionFuture [13:14:12.932] - received message: FutureResult [13:14:12.932] - Received FutureResult [13:14:12.932] - Erased future from FutureRegistry [13:14:12.932] result() for ClusterFuture ... [13:14:12.932] - result already collected: FutureResult [13:14:12.933] result() for ClusterFuture ... done [13:14:12.933] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.916] MultisessionFuture: [13:14:12.916] Label: 'future_sapply-1' [13:14:12.916] Expression: [13:14:12.916] { [13:14:12.916] do.call(function(...) { [13:14:12.916] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.916] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.916] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.916] on.exit(options(oopts), add = TRUE) [13:14:12.916] } [13:14:12.916] { [13:14:12.916] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.916] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.916] ...future.FUN(...future.X_jj, ...) [13:14:12.916] }) [13:14:12.916] } [13:14:12.916] }, args = future.call.arguments) [13:14:12.916] } [13:14:12.916] Lazy evaluation: FALSE [13:14:12.916] Asynchronous evaluation: TRUE [13:14:12.916] Local evaluation: TRUE [13:14:12.916] Environment: R_GlobalEnv [13:14:12.916] Capture standard output: TRUE [13:14:12.916] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.916] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.916] Packages: [13:14:12.916] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.916] Resolved: TRUE [13:14:12.916] Value: [13:14:12.916] Conditions captured: [13:14:12.916] Early signaling: FALSE [13:14:12.916] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.916] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.933] Chunk #1 of 2 ... DONE [13:14:12.933] Chunk #2 of 2 ... [13:14:12.934] - Finding globals in 'X' for chunk #2 ... [13:14:12.934] getGlobalsAndPackages() ... [13:14:12.934] Searching for globals... [13:14:12.934] [13:14:12.934] Searching for globals ... DONE [13:14:12.935] - globals: [0] [13:14:12.935] getGlobalsAndPackages() ... DONE [13:14:12.935] + additional globals found: [n=0] [13:14:12.935] + additional namespaces needed: [n=0] [13:14:12.935] - Finding globals in 'X' for chunk #2 ... DONE [13:14:12.935] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:12.936] - seeds: [13:14:12.936] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.936] getGlobalsAndPackages() ... [13:14:12.936] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.936] Resolving globals: FALSE [13:14:12.936] Tweak future expression to call with '...' arguments ... [13:14:12.937] { [13:14:12.937] do.call(function(...) { [13:14:12.937] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.937] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.937] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.937] on.exit(options(oopts), add = TRUE) [13:14:12.937] } [13:14:12.937] { [13:14:12.937] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.937] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.937] ...future.FUN(...future.X_jj, ...) [13:14:12.937] }) [13:14:12.937] } [13:14:12.937] }, args = future.call.arguments) [13:14:12.937] } [13:14:12.937] Tweak future expression to call with '...' arguments ... DONE [13:14:12.937] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:12.938] [13:14:12.938] getGlobalsAndPackages() ... DONE [13:14:12.938] run() for 'Future' ... [13:14:12.938] - state: 'created' [13:14:12.939] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:12.953] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.953] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:12.954] - Field: 'node' [13:14:12.954] - Field: 'label' [13:14:12.954] - Field: 'local' [13:14:12.954] - Field: 'owner' [13:14:12.954] - Field: 'envir' [13:14:12.955] - Field: 'workers' [13:14:12.955] - Field: 'packages' [13:14:12.955] - Field: 'gc' [13:14:12.955] - Field: 'conditions' [13:14:12.955] - Field: 'persistent' [13:14:12.955] - Field: 'expr' [13:14:12.956] - Field: 'uuid' [13:14:12.956] - Field: 'seed' [13:14:12.956] - Field: 'version' [13:14:12.956] - Field: 'result' [13:14:12.956] - Field: 'asynchronous' [13:14:12.956] - Field: 'calls' [13:14:12.957] - Field: 'globals' [13:14:12.957] - Field: 'stdout' [13:14:12.957] - Field: 'earlySignal' [13:14:12.957] - Field: 'lazy' [13:14:12.957] - Field: 'state' [13:14:12.958] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:12.958] - Launch lazy future ... [13:14:12.958] Packages needed by the future expression (n = 0): [13:14:12.958] Packages needed by future strategies (n = 0): [13:14:12.959] { [13:14:12.959] { [13:14:12.959] { [13:14:12.959] ...future.startTime <- base::Sys.time() [13:14:12.959] { [13:14:12.959] { [13:14:12.959] { [13:14:12.959] { [13:14:12.959] base::local({ [13:14:12.959] has_future <- base::requireNamespace("future", [13:14:12.959] quietly = TRUE) [13:14:12.959] if (has_future) { [13:14:12.959] ns <- base::getNamespace("future") [13:14:12.959] version <- ns[[".package"]][["version"]] [13:14:12.959] if (is.null(version)) [13:14:12.959] version <- utils::packageVersion("future") [13:14:12.959] } [13:14:12.959] else { [13:14:12.959] version <- NULL [13:14:12.959] } [13:14:12.959] if (!has_future || version < "1.8.0") { [13:14:12.959] info <- base::c(r_version = base::gsub("R version ", [13:14:12.959] "", base::R.version$version.string), [13:14:12.959] platform = base::sprintf("%s (%s-bit)", [13:14:12.959] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:12.959] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:12.959] "release", "version")], collapse = " "), [13:14:12.959] hostname = base::Sys.info()[["nodename"]]) [13:14:12.959] info <- base::sprintf("%s: %s", base::names(info), [13:14:12.959] info) [13:14:12.959] info <- base::paste(info, collapse = "; ") [13:14:12.959] if (!has_future) { [13:14:12.959] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:12.959] info) [13:14:12.959] } [13:14:12.959] else { [13:14:12.959] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:12.959] info, version) [13:14:12.959] } [13:14:12.959] base::stop(msg) [13:14:12.959] } [13:14:12.959] }) [13:14:12.959] } [13:14:12.959] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:12.959] base::options(mc.cores = 1L) [13:14:12.959] } [13:14:12.959] options(future.plan = NULL) [13:14:12.959] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.959] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:12.959] } [13:14:12.959] ...future.workdir <- getwd() [13:14:12.959] } [13:14:12.959] ...future.oldOptions <- base::as.list(base::.Options) [13:14:12.959] ...future.oldEnvVars <- base::Sys.getenv() [13:14:12.959] } [13:14:12.959] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:12.959] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:12.959] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:12.959] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:12.959] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:12.959] future.stdout.windows.reencode = NULL, width = 80L) [13:14:12.959] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:12.959] base::names(...future.oldOptions)) [13:14:12.959] } [13:14:12.959] if (FALSE) { [13:14:12.959] } [13:14:12.959] else { [13:14:12.959] if (TRUE) { [13:14:12.959] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:12.959] open = "w") [13:14:12.959] } [13:14:12.959] else { [13:14:12.959] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:12.959] windows = "NUL", "/dev/null"), open = "w") [13:14:12.959] } [13:14:12.959] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:12.959] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:12.959] base::sink(type = "output", split = FALSE) [13:14:12.959] base::close(...future.stdout) [13:14:12.959] }, add = TRUE) [13:14:12.959] } [13:14:12.959] ...future.frame <- base::sys.nframe() [13:14:12.959] ...future.conditions <- base::list() [13:14:12.959] ...future.rng <- base::globalenv()$.Random.seed [13:14:12.959] if (FALSE) { [13:14:12.959] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:12.959] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:12.959] } [13:14:12.959] ...future.result <- base::tryCatch({ [13:14:12.959] base::withCallingHandlers({ [13:14:12.959] ...future.value <- base::withVisible(base::local({ [13:14:12.959] ...future.makeSendCondition <- local({ [13:14:12.959] sendCondition <- NULL [13:14:12.959] function(frame = 1L) { [13:14:12.959] if (is.function(sendCondition)) [13:14:12.959] return(sendCondition) [13:14:12.959] ns <- getNamespace("parallel") [13:14:12.959] if (exists("sendData", mode = "function", [13:14:12.959] envir = ns)) { [13:14:12.959] parallel_sendData <- get("sendData", mode = "function", [13:14:12.959] envir = ns) [13:14:12.959] envir <- sys.frame(frame) [13:14:12.959] master <- NULL [13:14:12.959] while (!identical(envir, .GlobalEnv) && [13:14:12.959] !identical(envir, emptyenv())) { [13:14:12.959] if (exists("master", mode = "list", envir = envir, [13:14:12.959] inherits = FALSE)) { [13:14:12.959] master <- get("master", mode = "list", [13:14:12.959] envir = envir, inherits = FALSE) [13:14:12.959] if (inherits(master, c("SOCKnode", [13:14:12.959] "SOCK0node"))) { [13:14:12.959] sendCondition <<- function(cond) { [13:14:12.959] data <- list(type = "VALUE", value = cond, [13:14:12.959] success = TRUE) [13:14:12.959] parallel_sendData(master, data) [13:14:12.959] } [13:14:12.959] return(sendCondition) [13:14:12.959] } [13:14:12.959] } [13:14:12.959] frame <- frame + 1L [13:14:12.959] envir <- sys.frame(frame) [13:14:12.959] } [13:14:12.959] } [13:14:12.959] sendCondition <<- function(cond) NULL [13:14:12.959] } [13:14:12.959] }) [13:14:12.959] withCallingHandlers({ [13:14:12.959] { [13:14:12.959] do.call(function(...) { [13:14:12.959] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.959] if (!identical(...future.globals.maxSize.org, [13:14:12.959] ...future.globals.maxSize)) { [13:14:12.959] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.959] on.exit(options(oopts), add = TRUE) [13:14:12.959] } [13:14:12.959] { [13:14:12.959] lapply(seq_along(...future.elements_ii), [13:14:12.959] FUN = function(jj) { [13:14:12.959] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.959] ...future.FUN(...future.X_jj, ...) [13:14:12.959] }) [13:14:12.959] } [13:14:12.959] }, args = future.call.arguments) [13:14:12.959] } [13:14:12.959] }, immediateCondition = function(cond) { [13:14:12.959] sendCondition <- ...future.makeSendCondition() [13:14:12.959] sendCondition(cond) [13:14:12.959] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.959] { [13:14:12.959] inherits <- base::inherits [13:14:12.959] invokeRestart <- base::invokeRestart [13:14:12.959] is.null <- base::is.null [13:14:12.959] muffled <- FALSE [13:14:12.959] if (inherits(cond, "message")) { [13:14:12.959] muffled <- grepl(pattern, "muffleMessage") [13:14:12.959] if (muffled) [13:14:12.959] invokeRestart("muffleMessage") [13:14:12.959] } [13:14:12.959] else if (inherits(cond, "warning")) { [13:14:12.959] muffled <- grepl(pattern, "muffleWarning") [13:14:12.959] if (muffled) [13:14:12.959] invokeRestart("muffleWarning") [13:14:12.959] } [13:14:12.959] else if (inherits(cond, "condition")) { [13:14:12.959] if (!is.null(pattern)) { [13:14:12.959] computeRestarts <- base::computeRestarts [13:14:12.959] grepl <- base::grepl [13:14:12.959] restarts <- computeRestarts(cond) [13:14:12.959] for (restart in restarts) { [13:14:12.959] name <- restart$name [13:14:12.959] if (is.null(name)) [13:14:12.959] next [13:14:12.959] if (!grepl(pattern, name)) [13:14:12.959] next [13:14:12.959] invokeRestart(restart) [13:14:12.959] muffled <- TRUE [13:14:12.959] break [13:14:12.959] } [13:14:12.959] } [13:14:12.959] } [13:14:12.959] invisible(muffled) [13:14:12.959] } [13:14:12.959] muffleCondition(cond) [13:14:12.959] }) [13:14:12.959] })) [13:14:12.959] future::FutureResult(value = ...future.value$value, [13:14:12.959] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.959] ...future.rng), globalenv = if (FALSE) [13:14:12.959] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:12.959] ...future.globalenv.names)) [13:14:12.959] else NULL, started = ...future.startTime, version = "1.8") [13:14:12.959] }, condition = base::local({ [13:14:12.959] c <- base::c [13:14:12.959] inherits <- base::inherits [13:14:12.959] invokeRestart <- base::invokeRestart [13:14:12.959] length <- base::length [13:14:12.959] list <- base::list [13:14:12.959] seq.int <- base::seq.int [13:14:12.959] signalCondition <- base::signalCondition [13:14:12.959] sys.calls <- base::sys.calls [13:14:12.959] `[[` <- base::`[[` [13:14:12.959] `+` <- base::`+` [13:14:12.959] `<<-` <- base::`<<-` [13:14:12.959] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:12.959] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:12.959] 3L)] [13:14:12.959] } [13:14:12.959] function(cond) { [13:14:12.959] is_error <- inherits(cond, "error") [13:14:12.959] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:12.959] NULL) [13:14:12.959] if (is_error) { [13:14:12.959] sessionInformation <- function() { [13:14:12.959] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:12.959] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:12.959] search = base::search(), system = base::Sys.info()) [13:14:12.959] } [13:14:12.959] ...future.conditions[[length(...future.conditions) + [13:14:12.959] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:12.959] cond$call), session = sessionInformation(), [13:14:12.959] timestamp = base::Sys.time(), signaled = 0L) [13:14:12.959] signalCondition(cond) [13:14:12.959] } [13:14:12.959] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:12.959] "immediateCondition"))) { [13:14:12.959] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:12.959] ...future.conditions[[length(...future.conditions) + [13:14:12.959] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:12.959] if (TRUE && !signal) { [13:14:12.959] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.959] { [13:14:12.959] inherits <- base::inherits [13:14:12.959] invokeRestart <- base::invokeRestart [13:14:12.959] is.null <- base::is.null [13:14:12.959] muffled <- FALSE [13:14:12.959] if (inherits(cond, "message")) { [13:14:12.959] muffled <- grepl(pattern, "muffleMessage") [13:14:12.959] if (muffled) [13:14:12.959] invokeRestart("muffleMessage") [13:14:12.959] } [13:14:12.959] else if (inherits(cond, "warning")) { [13:14:12.959] muffled <- grepl(pattern, "muffleWarning") [13:14:12.959] if (muffled) [13:14:12.959] invokeRestart("muffleWarning") [13:14:12.959] } [13:14:12.959] else if (inherits(cond, "condition")) { [13:14:12.959] if (!is.null(pattern)) { [13:14:12.959] computeRestarts <- base::computeRestarts [13:14:12.959] grepl <- base::grepl [13:14:12.959] restarts <- computeRestarts(cond) [13:14:12.959] for (restart in restarts) { [13:14:12.959] name <- restart$name [13:14:12.959] if (is.null(name)) [13:14:12.959] next [13:14:12.959] if (!grepl(pattern, name)) [13:14:12.959] next [13:14:12.959] invokeRestart(restart) [13:14:12.959] muffled <- TRUE [13:14:12.959] break [13:14:12.959] } [13:14:12.959] } [13:14:12.959] } [13:14:12.959] invisible(muffled) [13:14:12.959] } [13:14:12.959] muffleCondition(cond, pattern = "^muffle") [13:14:12.959] } [13:14:12.959] } [13:14:12.959] else { [13:14:12.959] if (TRUE) { [13:14:12.959] muffleCondition <- function (cond, pattern = "^muffle") [13:14:12.959] { [13:14:12.959] inherits <- base::inherits [13:14:12.959] invokeRestart <- base::invokeRestart [13:14:12.959] is.null <- base::is.null [13:14:12.959] muffled <- FALSE [13:14:12.959] if (inherits(cond, "message")) { [13:14:12.959] muffled <- grepl(pattern, "muffleMessage") [13:14:12.959] if (muffled) [13:14:12.959] invokeRestart("muffleMessage") [13:14:12.959] } [13:14:12.959] else if (inherits(cond, "warning")) { [13:14:12.959] muffled <- grepl(pattern, "muffleWarning") [13:14:12.959] if (muffled) [13:14:12.959] invokeRestart("muffleWarning") [13:14:12.959] } [13:14:12.959] else if (inherits(cond, "condition")) { [13:14:12.959] if (!is.null(pattern)) { [13:14:12.959] computeRestarts <- base::computeRestarts [13:14:12.959] grepl <- base::grepl [13:14:12.959] restarts <- computeRestarts(cond) [13:14:12.959] for (restart in restarts) { [13:14:12.959] name <- restart$name [13:14:12.959] if (is.null(name)) [13:14:12.959] next [13:14:12.959] if (!grepl(pattern, name)) [13:14:12.959] next [13:14:12.959] invokeRestart(restart) [13:14:12.959] muffled <- TRUE [13:14:12.959] break [13:14:12.959] } [13:14:12.959] } [13:14:12.959] } [13:14:12.959] invisible(muffled) [13:14:12.959] } [13:14:12.959] muffleCondition(cond, pattern = "^muffle") [13:14:12.959] } [13:14:12.959] } [13:14:12.959] } [13:14:12.959] })) [13:14:12.959] }, error = function(ex) { [13:14:12.959] base::structure(base::list(value = NULL, visible = NULL, [13:14:12.959] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:12.959] ...future.rng), started = ...future.startTime, [13:14:12.959] finished = Sys.time(), session_uuid = NA_character_, [13:14:12.959] version = "1.8"), class = "FutureResult") [13:14:12.959] }, finally = { [13:14:12.959] if (!identical(...future.workdir, getwd())) [13:14:12.959] setwd(...future.workdir) [13:14:12.959] { [13:14:12.959] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:12.959] ...future.oldOptions$nwarnings <- NULL [13:14:12.959] } [13:14:12.959] base::options(...future.oldOptions) [13:14:12.959] if (.Platform$OS.type == "windows") { [13:14:12.959] old_names <- names(...future.oldEnvVars) [13:14:12.959] envs <- base::Sys.getenv() [13:14:12.959] names <- names(envs) [13:14:12.959] common <- intersect(names, old_names) [13:14:12.959] added <- setdiff(names, old_names) [13:14:12.959] removed <- setdiff(old_names, names) [13:14:12.959] changed <- common[...future.oldEnvVars[common] != [13:14:12.959] envs[common]] [13:14:12.959] NAMES <- toupper(changed) [13:14:12.959] args <- list() [13:14:12.959] for (kk in seq_along(NAMES)) { [13:14:12.959] name <- changed[[kk]] [13:14:12.959] NAME <- NAMES[[kk]] [13:14:12.959] if (name != NAME && is.element(NAME, old_names)) [13:14:12.959] next [13:14:12.959] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.959] } [13:14:12.959] NAMES <- toupper(added) [13:14:12.959] for (kk in seq_along(NAMES)) { [13:14:12.959] name <- added[[kk]] [13:14:12.959] NAME <- NAMES[[kk]] [13:14:12.959] if (name != NAME && is.element(NAME, old_names)) [13:14:12.959] next [13:14:12.959] args[[name]] <- "" [13:14:12.959] } [13:14:12.959] NAMES <- toupper(removed) [13:14:12.959] for (kk in seq_along(NAMES)) { [13:14:12.959] name <- removed[[kk]] [13:14:12.959] NAME <- NAMES[[kk]] [13:14:12.959] if (name != NAME && is.element(NAME, old_names)) [13:14:12.959] next [13:14:12.959] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:12.959] } [13:14:12.959] if (length(args) > 0) [13:14:12.959] base::do.call(base::Sys.setenv, args = args) [13:14:12.959] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:12.959] } [13:14:12.959] else { [13:14:12.959] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:12.959] } [13:14:12.959] { [13:14:12.959] if (base::length(...future.futureOptionsAdded) > [13:14:12.959] 0L) { [13:14:12.959] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:12.959] base::names(opts) <- ...future.futureOptionsAdded [13:14:12.959] base::options(opts) [13:14:12.959] } [13:14:12.959] { [13:14:12.959] { [13:14:12.959] base::options(mc.cores = ...future.mc.cores.old) [13:14:12.959] NULL [13:14:12.959] } [13:14:12.959] options(future.plan = NULL) [13:14:12.959] if (is.na(NA_character_)) [13:14:12.959] Sys.unsetenv("R_FUTURE_PLAN") [13:14:12.959] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:12.959] future::plan(list(function (..., workers = availableCores(), [13:14:12.959] lazy = FALSE, rscript_libs = .libPaths(), [13:14:12.959] envir = parent.frame()) [13:14:12.959] { [13:14:12.959] if (is.function(workers)) [13:14:12.959] workers <- workers() [13:14:12.959] workers <- structure(as.integer(workers), [13:14:12.959] class = class(workers)) [13:14:12.959] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:12.959] workers >= 1) [13:14:12.959] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:12.959] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:12.959] } [13:14:12.959] future <- MultisessionFuture(..., workers = workers, [13:14:12.959] lazy = lazy, rscript_libs = rscript_libs, [13:14:12.959] envir = envir) [13:14:12.959] if (!future$lazy) [13:14:12.959] future <- run(future) [13:14:12.959] invisible(future) [13:14:12.959] }), .cleanup = FALSE, .init = FALSE) [13:14:12.959] } [13:14:12.959] } [13:14:12.959] } [13:14:12.959] }) [13:14:12.959] if (TRUE) { [13:14:12.959] base::sink(type = "output", split = FALSE) [13:14:12.959] if (TRUE) { [13:14:12.959] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:12.959] } [13:14:12.959] else { [13:14:12.959] ...future.result["stdout"] <- base::list(NULL) [13:14:12.959] } [13:14:12.959] base::close(...future.stdout) [13:14:12.959] ...future.stdout <- NULL [13:14:12.959] } [13:14:12.959] ...future.result$conditions <- ...future.conditions [13:14:12.959] ...future.result$finished <- base::Sys.time() [13:14:12.959] ...future.result [13:14:12.959] } [13:14:12.964] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:12.965] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:12.965] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:12.965] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:12.966] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:12.966] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:12.966] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:12.967] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:12.967] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:12.967] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:12.968] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:12.968] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:12.969] MultisessionFuture started [13:14:12.969] - Launch lazy future ... done [13:14:12.969] run() for 'MultisessionFuture' ... done [13:14:12.969] Created future: [13:14:12.984] receiveMessageFromWorker() for ClusterFuture ... [13:14:12.984] - Validating connection of MultisessionFuture [13:14:12.985] - received message: FutureResult [13:14:12.985] - Received FutureResult [13:14:12.985] - Erased future from FutureRegistry [13:14:12.988] result() for ClusterFuture ... [13:14:12.988] - result already collected: FutureResult [13:14:12.989] result() for ClusterFuture ... done [13:14:12.989] receiveMessageFromWorker() for ClusterFuture ... done [13:14:12.969] MultisessionFuture: [13:14:12.969] Label: 'future_sapply-2' [13:14:12.969] Expression: [13:14:12.969] { [13:14:12.969] do.call(function(...) { [13:14:12.969] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:12.969] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:12.969] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:12.969] on.exit(options(oopts), add = TRUE) [13:14:12.969] } [13:14:12.969] { [13:14:12.969] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:12.969] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:12.969] ...future.FUN(...future.X_jj, ...) [13:14:12.969] }) [13:14:12.969] } [13:14:12.969] }, args = future.call.arguments) [13:14:12.969] } [13:14:12.969] Lazy evaluation: FALSE [13:14:12.969] Asynchronous evaluation: TRUE [13:14:12.969] Local evaluation: TRUE [13:14:12.969] Environment: R_GlobalEnv [13:14:12.969] Capture standard output: TRUE [13:14:12.969] Capture condition classes: 'condition' (excluding 'nothing') [13:14:12.969] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:12.969] Packages: [13:14:12.969] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:12.969] Resolved: TRUE [13:14:12.969] Value: [13:14:12.969] Conditions captured: [13:14:12.969] Early signaling: FALSE [13:14:12.969] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:12.969] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:12.989] Chunk #2 of 2 ... DONE [13:14:12.989] Launching 2 futures (chunks) ... DONE [13:14:12.990] Resolving 2 futures (chunks) ... [13:14:12.990] resolve() on list ... [13:14:12.990] recursive: 0 [13:14:12.990] length: 2 [13:14:12.990] [13:14:12.991] Future #1 [13:14:12.991] result() for ClusterFuture ... [13:14:12.991] - result already collected: FutureResult [13:14:12.991] result() for ClusterFuture ... done [13:14:12.991] result() for ClusterFuture ... [13:14:12.991] - result already collected: FutureResult [13:14:12.991] result() for ClusterFuture ... done [13:14:12.992] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:12.992] - nx: 2 [13:14:12.992] - relay: TRUE [13:14:12.992] - stdout: TRUE [13:14:12.992] - signal: TRUE [13:14:12.992] - resignal: FALSE [13:14:12.993] - force: TRUE [13:14:12.993] - relayed: [n=2] FALSE, FALSE [13:14:12.993] - queued futures: [n=2] FALSE, FALSE [13:14:12.993] - until=1 [13:14:12.993] - relaying element #1 [13:14:12.993] result() for ClusterFuture ... [13:14:12.994] - result already collected: FutureResult [13:14:12.994] result() for ClusterFuture ... done [13:14:12.994] result() for ClusterFuture ... [13:14:12.994] - result already collected: FutureResult [13:14:12.994] result() for ClusterFuture ... done [13:14:12.994] result() for ClusterFuture ... [13:14:12.995] - result already collected: FutureResult [13:14:12.995] result() for ClusterFuture ... done [13:14:12.995] result() for ClusterFuture ... [13:14:12.995] - result already collected: FutureResult [13:14:12.995] result() for ClusterFuture ... done [13:14:12.995] - relayed: [n=2] TRUE, FALSE [13:14:12.995] - queued futures: [n=2] TRUE, FALSE [13:14:12.996] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:12.996] length: 1 (resolved future 1) [13:14:12.996] Future #2 [13:14:12.996] result() for ClusterFuture ... [13:14:12.996] - result already collected: FutureResult [13:14:12.996] result() for ClusterFuture ... done [13:14:12.997] result() for ClusterFuture ... [13:14:12.997] - result already collected: FutureResult [13:14:12.997] result() for ClusterFuture ... done [13:14:12.997] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:12.997] - nx: 2 [13:14:12.997] - relay: TRUE [13:14:12.998] - stdout: TRUE [13:14:12.998] - signal: TRUE [13:14:12.998] - resignal: FALSE [13:14:12.998] - force: TRUE [13:14:12.998] - relayed: [n=2] TRUE, FALSE [13:14:12.998] - queued futures: [n=2] TRUE, FALSE [13:14:12.998] - until=2 [13:14:12.999] - relaying element #2 [13:14:12.999] result() for ClusterFuture ... [13:14:12.999] - result already collected: FutureResult [13:14:12.999] result() for ClusterFuture ... done [13:14:12.999] result() for ClusterFuture ... [13:14:12.999] - result already collected: FutureResult [13:14:13.000] result() for ClusterFuture ... done [13:14:13.000] result() for ClusterFuture ... [13:14:13.000] - result already collected: FutureResult [13:14:13.000] result() for ClusterFuture ... done [13:14:13.000] result() for ClusterFuture ... [13:14:13.000] - result already collected: FutureResult [13:14:13.001] result() for ClusterFuture ... done [13:14:13.001] - relayed: [n=2] TRUE, TRUE [13:14:13.001] - queued futures: [n=2] TRUE, TRUE [13:14:13.001] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:13.001] length: 0 (resolved future 2) [13:14:13.001] Relaying remaining futures [13:14:13.002] signalConditionsASAP(NULL, pos=0) ... [13:14:13.002] - nx: 2 [13:14:13.002] - relay: TRUE [13:14:13.002] - stdout: TRUE [13:14:13.002] - signal: TRUE [13:14:13.002] - resignal: FALSE [13:14:13.002] - force: TRUE [13:14:13.003] - relayed: [n=2] TRUE, TRUE [13:14:13.003] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:13.003] - relayed: [n=2] TRUE, TRUE [13:14:13.003] - queued futures: [n=2] TRUE, TRUE [13:14:13.003] signalConditionsASAP(NULL, pos=0) ... done [13:14:13.004] resolve() on list ... DONE [13:14:13.004] result() for ClusterFuture ... [13:14:13.004] - result already collected: FutureResult [13:14:13.004] result() for ClusterFuture ... done [13:14:13.004] result() for ClusterFuture ... [13:14:13.004] - result already collected: FutureResult [13:14:13.004] result() for ClusterFuture ... done [13:14:13.005] result() for ClusterFuture ... [13:14:13.005] - result already collected: FutureResult [13:14:13.005] result() for ClusterFuture ... done [13:14:13.005] result() for ClusterFuture ... [13:14:13.005] - result already collected: FutureResult [13:14:13.005] result() for ClusterFuture ... done [13:14:13.006] - Number of value chunks collected: 2 [13:14:13.006] Resolving 2 futures (chunks) ... DONE [13:14:13.006] Reducing values from 2 chunks ... [13:14:13.006] - Number of values collected after concatenation: 4 [13:14:13.006] - Number of values expected: 4 [13:14:13.006] Reducing values from 2 chunks ... DONE [13:14:13.007] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y1:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 List of 2 $ y0:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 $ y2:List of 4 ..$ A: num [1, 1] 50 ..$ B: num [1, 1] 60 ..$ C: num [1, 1] 70 ..$ D: num [1, 1] 80 [13:14:13.015] future_lapply() ... [13:14:13.018] Number of chunks: 2 [13:14:13.019] getGlobalsAndPackagesXApply() ... [13:14:13.019] - future.globals: TRUE [13:14:13.019] getGlobalsAndPackages() ... [13:14:13.019] Searching for globals... [13:14:13.021] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:13.021] Searching for globals ... DONE [13:14:13.021] Resolving globals: FALSE [13:14:13.022] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:13.022] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:13.023] - globals: [1] 'FUN' [13:14:13.023] [13:14:13.023] getGlobalsAndPackages() ... DONE [13:14:13.023] - globals found/used: [n=1] 'FUN' [13:14:13.023] - needed namespaces: [n=0] [13:14:13.023] Finding globals ... DONE [13:14:13.024] - use_args: TRUE [13:14:13.024] - Getting '...' globals ... [13:14:13.024] resolve() on list ... [13:14:13.024] recursive: 0 [13:14:13.024] length: 1 [13:14:13.025] elements: '...' [13:14:13.025] length: 0 (resolved future 1) [13:14:13.025] resolve() on list ... DONE [13:14:13.025] - '...' content: [n=0] [13:14:13.025] List of 1 [13:14:13.025] $ ...: list() [13:14:13.025] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.025] - attr(*, "where")=List of 1 [13:14:13.025] ..$ ...: [13:14:13.025] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.025] - attr(*, "resolved")= logi TRUE [13:14:13.025] - attr(*, "total_size")= num NA [13:14:13.028] - Getting '...' globals ... DONE [13:14:13.029] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:13.029] List of 2 [13:14:13.029] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:13.029] $ ... : list() [13:14:13.029] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.029] - attr(*, "where")=List of 2 [13:14:13.029] ..$ ...future.FUN: [13:14:13.029] ..$ ... : [13:14:13.029] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.029] - attr(*, "resolved")= logi FALSE [13:14:13.029] - attr(*, "total_size")= num 4728 [13:14:13.032] Packages to be attached in all futures: [n=0] [13:14:13.032] getGlobalsAndPackagesXApply() ... DONE [13:14:13.032] Number of futures (= number of chunks): 2 [13:14:13.033] Launching 2 futures (chunks) ... [13:14:13.033] Chunk #1 of 2 ... [13:14:13.033] - Finding globals in 'X' for chunk #1 ... [13:14:13.033] getGlobalsAndPackages() ... [13:14:13.033] Searching for globals... [13:14:13.034] [13:14:13.034] Searching for globals ... DONE [13:14:13.034] - globals: [0] [13:14:13.034] getGlobalsAndPackages() ... DONE [13:14:13.034] + additional globals found: [n=0] [13:14:13.034] + additional namespaces needed: [n=0] [13:14:13.035] - Finding globals in 'X' for chunk #1 ... DONE [13:14:13.035] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.035] - seeds: [13:14:13.035] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.035] getGlobalsAndPackages() ... [13:14:13.035] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.036] Resolving globals: FALSE [13:14:13.036] Tweak future expression to call with '...' arguments ... [13:14:13.036] { [13:14:13.036] do.call(function(...) { [13:14:13.036] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.036] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.036] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.036] on.exit(options(oopts), add = TRUE) [13:14:13.036] } [13:14:13.036] { [13:14:13.036] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.036] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.036] ...future.FUN(...future.X_jj, ...) [13:14:13.036] }) [13:14:13.036] } [13:14:13.036] }, args = future.call.arguments) [13:14:13.036] } [13:14:13.036] Tweak future expression to call with '...' arguments ... DONE [13:14:13.037] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.037] [13:14:13.037] getGlobalsAndPackages() ... DONE [13:14:13.038] run() for 'Future' ... [13:14:13.038] - state: 'created' [13:14:13.038] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.052] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.052] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.053] - Field: 'node' [13:14:13.053] - Field: 'label' [13:14:13.053] - Field: 'local' [13:14:13.053] - Field: 'owner' [13:14:13.053] - Field: 'envir' [13:14:13.053] - Field: 'workers' [13:14:13.054] - Field: 'packages' [13:14:13.054] - Field: 'gc' [13:14:13.054] - Field: 'conditions' [13:14:13.054] - Field: 'persistent' [13:14:13.054] - Field: 'expr' [13:14:13.054] - Field: 'uuid' [13:14:13.055] - Field: 'seed' [13:14:13.055] - Field: 'version' [13:14:13.055] - Field: 'result' [13:14:13.055] - Field: 'asynchronous' [13:14:13.055] - Field: 'calls' [13:14:13.056] - Field: 'globals' [13:14:13.056] - Field: 'stdout' [13:14:13.056] - Field: 'earlySignal' [13:14:13.056] - Field: 'lazy' [13:14:13.056] - Field: 'state' [13:14:13.056] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.057] - Launch lazy future ... [13:14:13.057] Packages needed by the future expression (n = 0): [13:14:13.057] Packages needed by future strategies (n = 0): [13:14:13.058] { [13:14:13.058] { [13:14:13.058] { [13:14:13.058] ...future.startTime <- base::Sys.time() [13:14:13.058] { [13:14:13.058] { [13:14:13.058] { [13:14:13.058] { [13:14:13.058] base::local({ [13:14:13.058] has_future <- base::requireNamespace("future", [13:14:13.058] quietly = TRUE) [13:14:13.058] if (has_future) { [13:14:13.058] ns <- base::getNamespace("future") [13:14:13.058] version <- ns[[".package"]][["version"]] [13:14:13.058] if (is.null(version)) [13:14:13.058] version <- utils::packageVersion("future") [13:14:13.058] } [13:14:13.058] else { [13:14:13.058] version <- NULL [13:14:13.058] } [13:14:13.058] if (!has_future || version < "1.8.0") { [13:14:13.058] info <- base::c(r_version = base::gsub("R version ", [13:14:13.058] "", base::R.version$version.string), [13:14:13.058] platform = base::sprintf("%s (%s-bit)", [13:14:13.058] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.058] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.058] "release", "version")], collapse = " "), [13:14:13.058] hostname = base::Sys.info()[["nodename"]]) [13:14:13.058] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.058] info) [13:14:13.058] info <- base::paste(info, collapse = "; ") [13:14:13.058] if (!has_future) { [13:14:13.058] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.058] info) [13:14:13.058] } [13:14:13.058] else { [13:14:13.058] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.058] info, version) [13:14:13.058] } [13:14:13.058] base::stop(msg) [13:14:13.058] } [13:14:13.058] }) [13:14:13.058] } [13:14:13.058] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.058] base::options(mc.cores = 1L) [13:14:13.058] } [13:14:13.058] options(future.plan = NULL) [13:14:13.058] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.058] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.058] } [13:14:13.058] ...future.workdir <- getwd() [13:14:13.058] } [13:14:13.058] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.058] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.058] } [13:14:13.058] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.058] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.058] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.058] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.058] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.058] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.058] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.058] base::names(...future.oldOptions)) [13:14:13.058] } [13:14:13.058] if (FALSE) { [13:14:13.058] } [13:14:13.058] else { [13:14:13.058] if (TRUE) { [13:14:13.058] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.058] open = "w") [13:14:13.058] } [13:14:13.058] else { [13:14:13.058] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.058] windows = "NUL", "/dev/null"), open = "w") [13:14:13.058] } [13:14:13.058] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.058] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.058] base::sink(type = "output", split = FALSE) [13:14:13.058] base::close(...future.stdout) [13:14:13.058] }, add = TRUE) [13:14:13.058] } [13:14:13.058] ...future.frame <- base::sys.nframe() [13:14:13.058] ...future.conditions <- base::list() [13:14:13.058] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.058] if (FALSE) { [13:14:13.058] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.058] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.058] } [13:14:13.058] ...future.result <- base::tryCatch({ [13:14:13.058] base::withCallingHandlers({ [13:14:13.058] ...future.value <- base::withVisible(base::local({ [13:14:13.058] ...future.makeSendCondition <- local({ [13:14:13.058] sendCondition <- NULL [13:14:13.058] function(frame = 1L) { [13:14:13.058] if (is.function(sendCondition)) [13:14:13.058] return(sendCondition) [13:14:13.058] ns <- getNamespace("parallel") [13:14:13.058] if (exists("sendData", mode = "function", [13:14:13.058] envir = ns)) { [13:14:13.058] parallel_sendData <- get("sendData", mode = "function", [13:14:13.058] envir = ns) [13:14:13.058] envir <- sys.frame(frame) [13:14:13.058] master <- NULL [13:14:13.058] while (!identical(envir, .GlobalEnv) && [13:14:13.058] !identical(envir, emptyenv())) { [13:14:13.058] if (exists("master", mode = "list", envir = envir, [13:14:13.058] inherits = FALSE)) { [13:14:13.058] master <- get("master", mode = "list", [13:14:13.058] envir = envir, inherits = FALSE) [13:14:13.058] if (inherits(master, c("SOCKnode", [13:14:13.058] "SOCK0node"))) { [13:14:13.058] sendCondition <<- function(cond) { [13:14:13.058] data <- list(type = "VALUE", value = cond, [13:14:13.058] success = TRUE) [13:14:13.058] parallel_sendData(master, data) [13:14:13.058] } [13:14:13.058] return(sendCondition) [13:14:13.058] } [13:14:13.058] } [13:14:13.058] frame <- frame + 1L [13:14:13.058] envir <- sys.frame(frame) [13:14:13.058] } [13:14:13.058] } [13:14:13.058] sendCondition <<- function(cond) NULL [13:14:13.058] } [13:14:13.058] }) [13:14:13.058] withCallingHandlers({ [13:14:13.058] { [13:14:13.058] do.call(function(...) { [13:14:13.058] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.058] if (!identical(...future.globals.maxSize.org, [13:14:13.058] ...future.globals.maxSize)) { [13:14:13.058] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.058] on.exit(options(oopts), add = TRUE) [13:14:13.058] } [13:14:13.058] { [13:14:13.058] lapply(seq_along(...future.elements_ii), [13:14:13.058] FUN = function(jj) { [13:14:13.058] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.058] ...future.FUN(...future.X_jj, ...) [13:14:13.058] }) [13:14:13.058] } [13:14:13.058] }, args = future.call.arguments) [13:14:13.058] } [13:14:13.058] }, immediateCondition = function(cond) { [13:14:13.058] sendCondition <- ...future.makeSendCondition() [13:14:13.058] sendCondition(cond) [13:14:13.058] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.058] { [13:14:13.058] inherits <- base::inherits [13:14:13.058] invokeRestart <- base::invokeRestart [13:14:13.058] is.null <- base::is.null [13:14:13.058] muffled <- FALSE [13:14:13.058] if (inherits(cond, "message")) { [13:14:13.058] muffled <- grepl(pattern, "muffleMessage") [13:14:13.058] if (muffled) [13:14:13.058] invokeRestart("muffleMessage") [13:14:13.058] } [13:14:13.058] else if (inherits(cond, "warning")) { [13:14:13.058] muffled <- grepl(pattern, "muffleWarning") [13:14:13.058] if (muffled) [13:14:13.058] invokeRestart("muffleWarning") [13:14:13.058] } [13:14:13.058] else if (inherits(cond, "condition")) { [13:14:13.058] if (!is.null(pattern)) { [13:14:13.058] computeRestarts <- base::computeRestarts [13:14:13.058] grepl <- base::grepl [13:14:13.058] restarts <- computeRestarts(cond) [13:14:13.058] for (restart in restarts) { [13:14:13.058] name <- restart$name [13:14:13.058] if (is.null(name)) [13:14:13.058] next [13:14:13.058] if (!grepl(pattern, name)) [13:14:13.058] next [13:14:13.058] invokeRestart(restart) [13:14:13.058] muffled <- TRUE [13:14:13.058] break [13:14:13.058] } [13:14:13.058] } [13:14:13.058] } [13:14:13.058] invisible(muffled) [13:14:13.058] } [13:14:13.058] muffleCondition(cond) [13:14:13.058] }) [13:14:13.058] })) [13:14:13.058] future::FutureResult(value = ...future.value$value, [13:14:13.058] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.058] ...future.rng), globalenv = if (FALSE) [13:14:13.058] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.058] ...future.globalenv.names)) [13:14:13.058] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.058] }, condition = base::local({ [13:14:13.058] c <- base::c [13:14:13.058] inherits <- base::inherits [13:14:13.058] invokeRestart <- base::invokeRestart [13:14:13.058] length <- base::length [13:14:13.058] list <- base::list [13:14:13.058] seq.int <- base::seq.int [13:14:13.058] signalCondition <- base::signalCondition [13:14:13.058] sys.calls <- base::sys.calls [13:14:13.058] `[[` <- base::`[[` [13:14:13.058] `+` <- base::`+` [13:14:13.058] `<<-` <- base::`<<-` [13:14:13.058] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.058] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.058] 3L)] [13:14:13.058] } [13:14:13.058] function(cond) { [13:14:13.058] is_error <- inherits(cond, "error") [13:14:13.058] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.058] NULL) [13:14:13.058] if (is_error) { [13:14:13.058] sessionInformation <- function() { [13:14:13.058] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.058] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.058] search = base::search(), system = base::Sys.info()) [13:14:13.058] } [13:14:13.058] ...future.conditions[[length(...future.conditions) + [13:14:13.058] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.058] cond$call), session = sessionInformation(), [13:14:13.058] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.058] signalCondition(cond) [13:14:13.058] } [13:14:13.058] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.058] "immediateCondition"))) { [13:14:13.058] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.058] ...future.conditions[[length(...future.conditions) + [13:14:13.058] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.058] if (TRUE && !signal) { [13:14:13.058] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.058] { [13:14:13.058] inherits <- base::inherits [13:14:13.058] invokeRestart <- base::invokeRestart [13:14:13.058] is.null <- base::is.null [13:14:13.058] muffled <- FALSE [13:14:13.058] if (inherits(cond, "message")) { [13:14:13.058] muffled <- grepl(pattern, "muffleMessage") [13:14:13.058] if (muffled) [13:14:13.058] invokeRestart("muffleMessage") [13:14:13.058] } [13:14:13.058] else if (inherits(cond, "warning")) { [13:14:13.058] muffled <- grepl(pattern, "muffleWarning") [13:14:13.058] if (muffled) [13:14:13.058] invokeRestart("muffleWarning") [13:14:13.058] } [13:14:13.058] else if (inherits(cond, "condition")) { [13:14:13.058] if (!is.null(pattern)) { [13:14:13.058] computeRestarts <- base::computeRestarts [13:14:13.058] grepl <- base::grepl [13:14:13.058] restarts <- computeRestarts(cond) [13:14:13.058] for (restart in restarts) { [13:14:13.058] name <- restart$name [13:14:13.058] if (is.null(name)) [13:14:13.058] next [13:14:13.058] if (!grepl(pattern, name)) [13:14:13.058] next [13:14:13.058] invokeRestart(restart) [13:14:13.058] muffled <- TRUE [13:14:13.058] break [13:14:13.058] } [13:14:13.058] } [13:14:13.058] } [13:14:13.058] invisible(muffled) [13:14:13.058] } [13:14:13.058] muffleCondition(cond, pattern = "^muffle") [13:14:13.058] } [13:14:13.058] } [13:14:13.058] else { [13:14:13.058] if (TRUE) { [13:14:13.058] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.058] { [13:14:13.058] inherits <- base::inherits [13:14:13.058] invokeRestart <- base::invokeRestart [13:14:13.058] is.null <- base::is.null [13:14:13.058] muffled <- FALSE [13:14:13.058] if (inherits(cond, "message")) { [13:14:13.058] muffled <- grepl(pattern, "muffleMessage") [13:14:13.058] if (muffled) [13:14:13.058] invokeRestart("muffleMessage") [13:14:13.058] } [13:14:13.058] else if (inherits(cond, "warning")) { [13:14:13.058] muffled <- grepl(pattern, "muffleWarning") [13:14:13.058] if (muffled) [13:14:13.058] invokeRestart("muffleWarning") [13:14:13.058] } [13:14:13.058] else if (inherits(cond, "condition")) { [13:14:13.058] if (!is.null(pattern)) { [13:14:13.058] computeRestarts <- base::computeRestarts [13:14:13.058] grepl <- base::grepl [13:14:13.058] restarts <- computeRestarts(cond) [13:14:13.058] for (restart in restarts) { [13:14:13.058] name <- restart$name [13:14:13.058] if (is.null(name)) [13:14:13.058] next [13:14:13.058] if (!grepl(pattern, name)) [13:14:13.058] next [13:14:13.058] invokeRestart(restart) [13:14:13.058] muffled <- TRUE [13:14:13.058] break [13:14:13.058] } [13:14:13.058] } [13:14:13.058] } [13:14:13.058] invisible(muffled) [13:14:13.058] } [13:14:13.058] muffleCondition(cond, pattern = "^muffle") [13:14:13.058] } [13:14:13.058] } [13:14:13.058] } [13:14:13.058] })) [13:14:13.058] }, error = function(ex) { [13:14:13.058] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.058] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.058] ...future.rng), started = ...future.startTime, [13:14:13.058] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.058] version = "1.8"), class = "FutureResult") [13:14:13.058] }, finally = { [13:14:13.058] if (!identical(...future.workdir, getwd())) [13:14:13.058] setwd(...future.workdir) [13:14:13.058] { [13:14:13.058] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.058] ...future.oldOptions$nwarnings <- NULL [13:14:13.058] } [13:14:13.058] base::options(...future.oldOptions) [13:14:13.058] if (.Platform$OS.type == "windows") { [13:14:13.058] old_names <- names(...future.oldEnvVars) [13:14:13.058] envs <- base::Sys.getenv() [13:14:13.058] names <- names(envs) [13:14:13.058] common <- intersect(names, old_names) [13:14:13.058] added <- setdiff(names, old_names) [13:14:13.058] removed <- setdiff(old_names, names) [13:14:13.058] changed <- common[...future.oldEnvVars[common] != [13:14:13.058] envs[common]] [13:14:13.058] NAMES <- toupper(changed) [13:14:13.058] args <- list() [13:14:13.058] for (kk in seq_along(NAMES)) { [13:14:13.058] name <- changed[[kk]] [13:14:13.058] NAME <- NAMES[[kk]] [13:14:13.058] if (name != NAME && is.element(NAME, old_names)) [13:14:13.058] next [13:14:13.058] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.058] } [13:14:13.058] NAMES <- toupper(added) [13:14:13.058] for (kk in seq_along(NAMES)) { [13:14:13.058] name <- added[[kk]] [13:14:13.058] NAME <- NAMES[[kk]] [13:14:13.058] if (name != NAME && is.element(NAME, old_names)) [13:14:13.058] next [13:14:13.058] args[[name]] <- "" [13:14:13.058] } [13:14:13.058] NAMES <- toupper(removed) [13:14:13.058] for (kk in seq_along(NAMES)) { [13:14:13.058] name <- removed[[kk]] [13:14:13.058] NAME <- NAMES[[kk]] [13:14:13.058] if (name != NAME && is.element(NAME, old_names)) [13:14:13.058] next [13:14:13.058] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.058] } [13:14:13.058] if (length(args) > 0) [13:14:13.058] base::do.call(base::Sys.setenv, args = args) [13:14:13.058] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.058] } [13:14:13.058] else { [13:14:13.058] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.058] } [13:14:13.058] { [13:14:13.058] if (base::length(...future.futureOptionsAdded) > [13:14:13.058] 0L) { [13:14:13.058] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.058] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.058] base::options(opts) [13:14:13.058] } [13:14:13.058] { [13:14:13.058] { [13:14:13.058] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.058] NULL [13:14:13.058] } [13:14:13.058] options(future.plan = NULL) [13:14:13.058] if (is.na(NA_character_)) [13:14:13.058] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.058] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.058] future::plan(list(function (..., workers = availableCores(), [13:14:13.058] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.058] envir = parent.frame()) [13:14:13.058] { [13:14:13.058] if (is.function(workers)) [13:14:13.058] workers <- workers() [13:14:13.058] workers <- structure(as.integer(workers), [13:14:13.058] class = class(workers)) [13:14:13.058] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.058] workers >= 1) [13:14:13.058] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.058] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.058] } [13:14:13.058] future <- MultisessionFuture(..., workers = workers, [13:14:13.058] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.058] envir = envir) [13:14:13.058] if (!future$lazy) [13:14:13.058] future <- run(future) [13:14:13.058] invisible(future) [13:14:13.058] }), .cleanup = FALSE, .init = FALSE) [13:14:13.058] } [13:14:13.058] } [13:14:13.058] } [13:14:13.058] }) [13:14:13.058] if (TRUE) { [13:14:13.058] base::sink(type = "output", split = FALSE) [13:14:13.058] if (TRUE) { [13:14:13.058] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.058] } [13:14:13.058] else { [13:14:13.058] ...future.result["stdout"] <- base::list(NULL) [13:14:13.058] } [13:14:13.058] base::close(...future.stdout) [13:14:13.058] ...future.stdout <- NULL [13:14:13.058] } [13:14:13.058] ...future.result$conditions <- ...future.conditions [13:14:13.058] ...future.result$finished <- base::Sys.time() [13:14:13.058] ...future.result [13:14:13.058] } [13:14:13.063] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:13.063] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:13.064] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:13.064] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.064] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.065] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.065] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.065] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.066] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.066] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.066] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.067] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:13.067] MultisessionFuture started [13:14:13.067] - Launch lazy future ... done [13:14:13.068] run() for 'MultisessionFuture' ... done [13:14:13.068] Created future: [13:14:13.084] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.084] - Validating connection of MultisessionFuture [13:14:13.084] - received message: FutureResult [13:14:13.084] - Received FutureResult [13:14:13.085] - Erased future from FutureRegistry [13:14:13.085] result() for ClusterFuture ... [13:14:13.085] - result already collected: FutureResult [13:14:13.085] result() for ClusterFuture ... done [13:14:13.085] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.068] MultisessionFuture: [13:14:13.068] Label: 'future_sapply-1' [13:14:13.068] Expression: [13:14:13.068] { [13:14:13.068] do.call(function(...) { [13:14:13.068] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.068] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.068] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.068] on.exit(options(oopts), add = TRUE) [13:14:13.068] } [13:14:13.068] { [13:14:13.068] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.068] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.068] ...future.FUN(...future.X_jj, ...) [13:14:13.068] }) [13:14:13.068] } [13:14:13.068] }, args = future.call.arguments) [13:14:13.068] } [13:14:13.068] Lazy evaluation: FALSE [13:14:13.068] Asynchronous evaluation: TRUE [13:14:13.068] Local evaluation: TRUE [13:14:13.068] Environment: R_GlobalEnv [13:14:13.068] Capture standard output: TRUE [13:14:13.068] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.068] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.068] Packages: [13:14:13.068] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.068] Resolved: TRUE [13:14:13.068] Value: [13:14:13.068] Conditions captured: [13:14:13.068] Early signaling: FALSE [13:14:13.068] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.068] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.086] Chunk #1 of 2 ... DONE [13:14:13.086] Chunk #2 of 2 ... [13:14:13.086] - Finding globals in 'X' for chunk #2 ... [13:14:13.086] getGlobalsAndPackages() ... [13:14:13.086] Searching for globals... [13:14:13.087] [13:14:13.087] Searching for globals ... DONE [13:14:13.087] - globals: [0] [13:14:13.087] getGlobalsAndPackages() ... DONE [13:14:13.087] + additional globals found: [n=0] [13:14:13.087] + additional namespaces needed: [n=0] [13:14:13.088] - Finding globals in 'X' for chunk #2 ... DONE [13:14:13.088] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.088] - seeds: [13:14:13.088] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.088] getGlobalsAndPackages() ... [13:14:13.088] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.089] Resolving globals: FALSE [13:14:13.089] Tweak future expression to call with '...' arguments ... [13:14:13.089] { [13:14:13.089] do.call(function(...) { [13:14:13.089] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.089] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.089] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.089] on.exit(options(oopts), add = TRUE) [13:14:13.089] } [13:14:13.089] { [13:14:13.089] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.089] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.089] ...future.FUN(...future.X_jj, ...) [13:14:13.089] }) [13:14:13.089] } [13:14:13.089] }, args = future.call.arguments) [13:14:13.089] } [13:14:13.089] Tweak future expression to call with '...' arguments ... DONE [13:14:13.090] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.090] [13:14:13.090] getGlobalsAndPackages() ... DONE [13:14:13.091] run() for 'Future' ... [13:14:13.091] - state: 'created' [13:14:13.091] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.105] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.105] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.105] - Field: 'node' [13:14:13.106] - Field: 'label' [13:14:13.106] - Field: 'local' [13:14:13.106] - Field: 'owner' [13:14:13.106] - Field: 'envir' [13:14:13.106] - Field: 'workers' [13:14:13.106] - Field: 'packages' [13:14:13.107] - Field: 'gc' [13:14:13.107] - Field: 'conditions' [13:14:13.107] - Field: 'persistent' [13:14:13.107] - Field: 'expr' [13:14:13.107] - Field: 'uuid' [13:14:13.108] - Field: 'seed' [13:14:13.108] - Field: 'version' [13:14:13.108] - Field: 'result' [13:14:13.108] - Field: 'asynchronous' [13:14:13.108] - Field: 'calls' [13:14:13.108] - Field: 'globals' [13:14:13.109] - Field: 'stdout' [13:14:13.109] - Field: 'earlySignal' [13:14:13.109] - Field: 'lazy' [13:14:13.109] - Field: 'state' [13:14:13.109] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.109] - Launch lazy future ... [13:14:13.110] Packages needed by the future expression (n = 0): [13:14:13.110] Packages needed by future strategies (n = 0): [13:14:13.111] { [13:14:13.111] { [13:14:13.111] { [13:14:13.111] ...future.startTime <- base::Sys.time() [13:14:13.111] { [13:14:13.111] { [13:14:13.111] { [13:14:13.111] { [13:14:13.111] base::local({ [13:14:13.111] has_future <- base::requireNamespace("future", [13:14:13.111] quietly = TRUE) [13:14:13.111] if (has_future) { [13:14:13.111] ns <- base::getNamespace("future") [13:14:13.111] version <- ns[[".package"]][["version"]] [13:14:13.111] if (is.null(version)) [13:14:13.111] version <- utils::packageVersion("future") [13:14:13.111] } [13:14:13.111] else { [13:14:13.111] version <- NULL [13:14:13.111] } [13:14:13.111] if (!has_future || version < "1.8.0") { [13:14:13.111] info <- base::c(r_version = base::gsub("R version ", [13:14:13.111] "", base::R.version$version.string), [13:14:13.111] platform = base::sprintf("%s (%s-bit)", [13:14:13.111] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.111] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.111] "release", "version")], collapse = " "), [13:14:13.111] hostname = base::Sys.info()[["nodename"]]) [13:14:13.111] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.111] info) [13:14:13.111] info <- base::paste(info, collapse = "; ") [13:14:13.111] if (!has_future) { [13:14:13.111] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.111] info) [13:14:13.111] } [13:14:13.111] else { [13:14:13.111] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.111] info, version) [13:14:13.111] } [13:14:13.111] base::stop(msg) [13:14:13.111] } [13:14:13.111] }) [13:14:13.111] } [13:14:13.111] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.111] base::options(mc.cores = 1L) [13:14:13.111] } [13:14:13.111] options(future.plan = NULL) [13:14:13.111] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.111] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.111] } [13:14:13.111] ...future.workdir <- getwd() [13:14:13.111] } [13:14:13.111] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.111] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.111] } [13:14:13.111] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.111] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.111] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.111] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.111] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.111] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.111] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.111] base::names(...future.oldOptions)) [13:14:13.111] } [13:14:13.111] if (FALSE) { [13:14:13.111] } [13:14:13.111] else { [13:14:13.111] if (TRUE) { [13:14:13.111] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.111] open = "w") [13:14:13.111] } [13:14:13.111] else { [13:14:13.111] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.111] windows = "NUL", "/dev/null"), open = "w") [13:14:13.111] } [13:14:13.111] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.111] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.111] base::sink(type = "output", split = FALSE) [13:14:13.111] base::close(...future.stdout) [13:14:13.111] }, add = TRUE) [13:14:13.111] } [13:14:13.111] ...future.frame <- base::sys.nframe() [13:14:13.111] ...future.conditions <- base::list() [13:14:13.111] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.111] if (FALSE) { [13:14:13.111] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.111] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.111] } [13:14:13.111] ...future.result <- base::tryCatch({ [13:14:13.111] base::withCallingHandlers({ [13:14:13.111] ...future.value <- base::withVisible(base::local({ [13:14:13.111] ...future.makeSendCondition <- local({ [13:14:13.111] sendCondition <- NULL [13:14:13.111] function(frame = 1L) { [13:14:13.111] if (is.function(sendCondition)) [13:14:13.111] return(sendCondition) [13:14:13.111] ns <- getNamespace("parallel") [13:14:13.111] if (exists("sendData", mode = "function", [13:14:13.111] envir = ns)) { [13:14:13.111] parallel_sendData <- get("sendData", mode = "function", [13:14:13.111] envir = ns) [13:14:13.111] envir <- sys.frame(frame) [13:14:13.111] master <- NULL [13:14:13.111] while (!identical(envir, .GlobalEnv) && [13:14:13.111] !identical(envir, emptyenv())) { [13:14:13.111] if (exists("master", mode = "list", envir = envir, [13:14:13.111] inherits = FALSE)) { [13:14:13.111] master <- get("master", mode = "list", [13:14:13.111] envir = envir, inherits = FALSE) [13:14:13.111] if (inherits(master, c("SOCKnode", [13:14:13.111] "SOCK0node"))) { [13:14:13.111] sendCondition <<- function(cond) { [13:14:13.111] data <- list(type = "VALUE", value = cond, [13:14:13.111] success = TRUE) [13:14:13.111] parallel_sendData(master, data) [13:14:13.111] } [13:14:13.111] return(sendCondition) [13:14:13.111] } [13:14:13.111] } [13:14:13.111] frame <- frame + 1L [13:14:13.111] envir <- sys.frame(frame) [13:14:13.111] } [13:14:13.111] } [13:14:13.111] sendCondition <<- function(cond) NULL [13:14:13.111] } [13:14:13.111] }) [13:14:13.111] withCallingHandlers({ [13:14:13.111] { [13:14:13.111] do.call(function(...) { [13:14:13.111] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.111] if (!identical(...future.globals.maxSize.org, [13:14:13.111] ...future.globals.maxSize)) { [13:14:13.111] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.111] on.exit(options(oopts), add = TRUE) [13:14:13.111] } [13:14:13.111] { [13:14:13.111] lapply(seq_along(...future.elements_ii), [13:14:13.111] FUN = function(jj) { [13:14:13.111] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.111] ...future.FUN(...future.X_jj, ...) [13:14:13.111] }) [13:14:13.111] } [13:14:13.111] }, args = future.call.arguments) [13:14:13.111] } [13:14:13.111] }, immediateCondition = function(cond) { [13:14:13.111] sendCondition <- ...future.makeSendCondition() [13:14:13.111] sendCondition(cond) [13:14:13.111] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.111] { [13:14:13.111] inherits <- base::inherits [13:14:13.111] invokeRestart <- base::invokeRestart [13:14:13.111] is.null <- base::is.null [13:14:13.111] muffled <- FALSE [13:14:13.111] if (inherits(cond, "message")) { [13:14:13.111] muffled <- grepl(pattern, "muffleMessage") [13:14:13.111] if (muffled) [13:14:13.111] invokeRestart("muffleMessage") [13:14:13.111] } [13:14:13.111] else if (inherits(cond, "warning")) { [13:14:13.111] muffled <- grepl(pattern, "muffleWarning") [13:14:13.111] if (muffled) [13:14:13.111] invokeRestart("muffleWarning") [13:14:13.111] } [13:14:13.111] else if (inherits(cond, "condition")) { [13:14:13.111] if (!is.null(pattern)) { [13:14:13.111] computeRestarts <- base::computeRestarts [13:14:13.111] grepl <- base::grepl [13:14:13.111] restarts <- computeRestarts(cond) [13:14:13.111] for (restart in restarts) { [13:14:13.111] name <- restart$name [13:14:13.111] if (is.null(name)) [13:14:13.111] next [13:14:13.111] if (!grepl(pattern, name)) [13:14:13.111] next [13:14:13.111] invokeRestart(restart) [13:14:13.111] muffled <- TRUE [13:14:13.111] break [13:14:13.111] } [13:14:13.111] } [13:14:13.111] } [13:14:13.111] invisible(muffled) [13:14:13.111] } [13:14:13.111] muffleCondition(cond) [13:14:13.111] }) [13:14:13.111] })) [13:14:13.111] future::FutureResult(value = ...future.value$value, [13:14:13.111] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.111] ...future.rng), globalenv = if (FALSE) [13:14:13.111] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.111] ...future.globalenv.names)) [13:14:13.111] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.111] }, condition = base::local({ [13:14:13.111] c <- base::c [13:14:13.111] inherits <- base::inherits [13:14:13.111] invokeRestart <- base::invokeRestart [13:14:13.111] length <- base::length [13:14:13.111] list <- base::list [13:14:13.111] seq.int <- base::seq.int [13:14:13.111] signalCondition <- base::signalCondition [13:14:13.111] sys.calls <- base::sys.calls [13:14:13.111] `[[` <- base::`[[` [13:14:13.111] `+` <- base::`+` [13:14:13.111] `<<-` <- base::`<<-` [13:14:13.111] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.111] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.111] 3L)] [13:14:13.111] } [13:14:13.111] function(cond) { [13:14:13.111] is_error <- inherits(cond, "error") [13:14:13.111] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.111] NULL) [13:14:13.111] if (is_error) { [13:14:13.111] sessionInformation <- function() { [13:14:13.111] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.111] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.111] search = base::search(), system = base::Sys.info()) [13:14:13.111] } [13:14:13.111] ...future.conditions[[length(...future.conditions) + [13:14:13.111] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.111] cond$call), session = sessionInformation(), [13:14:13.111] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.111] signalCondition(cond) [13:14:13.111] } [13:14:13.111] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.111] "immediateCondition"))) { [13:14:13.111] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.111] ...future.conditions[[length(...future.conditions) + [13:14:13.111] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.111] if (TRUE && !signal) { [13:14:13.111] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.111] { [13:14:13.111] inherits <- base::inherits [13:14:13.111] invokeRestart <- base::invokeRestart [13:14:13.111] is.null <- base::is.null [13:14:13.111] muffled <- FALSE [13:14:13.111] if (inherits(cond, "message")) { [13:14:13.111] muffled <- grepl(pattern, "muffleMessage") [13:14:13.111] if (muffled) [13:14:13.111] invokeRestart("muffleMessage") [13:14:13.111] } [13:14:13.111] else if (inherits(cond, "warning")) { [13:14:13.111] muffled <- grepl(pattern, "muffleWarning") [13:14:13.111] if (muffled) [13:14:13.111] invokeRestart("muffleWarning") [13:14:13.111] } [13:14:13.111] else if (inherits(cond, "condition")) { [13:14:13.111] if (!is.null(pattern)) { [13:14:13.111] computeRestarts <- base::computeRestarts [13:14:13.111] grepl <- base::grepl [13:14:13.111] restarts <- computeRestarts(cond) [13:14:13.111] for (restart in restarts) { [13:14:13.111] name <- restart$name [13:14:13.111] if (is.null(name)) [13:14:13.111] next [13:14:13.111] if (!grepl(pattern, name)) [13:14:13.111] next [13:14:13.111] invokeRestart(restart) [13:14:13.111] muffled <- TRUE [13:14:13.111] break [13:14:13.111] } [13:14:13.111] } [13:14:13.111] } [13:14:13.111] invisible(muffled) [13:14:13.111] } [13:14:13.111] muffleCondition(cond, pattern = "^muffle") [13:14:13.111] } [13:14:13.111] } [13:14:13.111] else { [13:14:13.111] if (TRUE) { [13:14:13.111] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.111] { [13:14:13.111] inherits <- base::inherits [13:14:13.111] invokeRestart <- base::invokeRestart [13:14:13.111] is.null <- base::is.null [13:14:13.111] muffled <- FALSE [13:14:13.111] if (inherits(cond, "message")) { [13:14:13.111] muffled <- grepl(pattern, "muffleMessage") [13:14:13.111] if (muffled) [13:14:13.111] invokeRestart("muffleMessage") [13:14:13.111] } [13:14:13.111] else if (inherits(cond, "warning")) { [13:14:13.111] muffled <- grepl(pattern, "muffleWarning") [13:14:13.111] if (muffled) [13:14:13.111] invokeRestart("muffleWarning") [13:14:13.111] } [13:14:13.111] else if (inherits(cond, "condition")) { [13:14:13.111] if (!is.null(pattern)) { [13:14:13.111] computeRestarts <- base::computeRestarts [13:14:13.111] grepl <- base::grepl [13:14:13.111] restarts <- computeRestarts(cond) [13:14:13.111] for (restart in restarts) { [13:14:13.111] name <- restart$name [13:14:13.111] if (is.null(name)) [13:14:13.111] next [13:14:13.111] if (!grepl(pattern, name)) [13:14:13.111] next [13:14:13.111] invokeRestart(restart) [13:14:13.111] muffled <- TRUE [13:14:13.111] break [13:14:13.111] } [13:14:13.111] } [13:14:13.111] } [13:14:13.111] invisible(muffled) [13:14:13.111] } [13:14:13.111] muffleCondition(cond, pattern = "^muffle") [13:14:13.111] } [13:14:13.111] } [13:14:13.111] } [13:14:13.111] })) [13:14:13.111] }, error = function(ex) { [13:14:13.111] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.111] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.111] ...future.rng), started = ...future.startTime, [13:14:13.111] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.111] version = "1.8"), class = "FutureResult") [13:14:13.111] }, finally = { [13:14:13.111] if (!identical(...future.workdir, getwd())) [13:14:13.111] setwd(...future.workdir) [13:14:13.111] { [13:14:13.111] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.111] ...future.oldOptions$nwarnings <- NULL [13:14:13.111] } [13:14:13.111] base::options(...future.oldOptions) [13:14:13.111] if (.Platform$OS.type == "windows") { [13:14:13.111] old_names <- names(...future.oldEnvVars) [13:14:13.111] envs <- base::Sys.getenv() [13:14:13.111] names <- names(envs) [13:14:13.111] common <- intersect(names, old_names) [13:14:13.111] added <- setdiff(names, old_names) [13:14:13.111] removed <- setdiff(old_names, names) [13:14:13.111] changed <- common[...future.oldEnvVars[common] != [13:14:13.111] envs[common]] [13:14:13.111] NAMES <- toupper(changed) [13:14:13.111] args <- list() [13:14:13.111] for (kk in seq_along(NAMES)) { [13:14:13.111] name <- changed[[kk]] [13:14:13.111] NAME <- NAMES[[kk]] [13:14:13.111] if (name != NAME && is.element(NAME, old_names)) [13:14:13.111] next [13:14:13.111] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.111] } [13:14:13.111] NAMES <- toupper(added) [13:14:13.111] for (kk in seq_along(NAMES)) { [13:14:13.111] name <- added[[kk]] [13:14:13.111] NAME <- NAMES[[kk]] [13:14:13.111] if (name != NAME && is.element(NAME, old_names)) [13:14:13.111] next [13:14:13.111] args[[name]] <- "" [13:14:13.111] } [13:14:13.111] NAMES <- toupper(removed) [13:14:13.111] for (kk in seq_along(NAMES)) { [13:14:13.111] name <- removed[[kk]] [13:14:13.111] NAME <- NAMES[[kk]] [13:14:13.111] if (name != NAME && is.element(NAME, old_names)) [13:14:13.111] next [13:14:13.111] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.111] } [13:14:13.111] if (length(args) > 0) [13:14:13.111] base::do.call(base::Sys.setenv, args = args) [13:14:13.111] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.111] } [13:14:13.111] else { [13:14:13.111] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.111] } [13:14:13.111] { [13:14:13.111] if (base::length(...future.futureOptionsAdded) > [13:14:13.111] 0L) { [13:14:13.111] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.111] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.111] base::options(opts) [13:14:13.111] } [13:14:13.111] { [13:14:13.111] { [13:14:13.111] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.111] NULL [13:14:13.111] } [13:14:13.111] options(future.plan = NULL) [13:14:13.111] if (is.na(NA_character_)) [13:14:13.111] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.111] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.111] future::plan(list(function (..., workers = availableCores(), [13:14:13.111] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.111] envir = parent.frame()) [13:14:13.111] { [13:14:13.111] if (is.function(workers)) [13:14:13.111] workers <- workers() [13:14:13.111] workers <- structure(as.integer(workers), [13:14:13.111] class = class(workers)) [13:14:13.111] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.111] workers >= 1) [13:14:13.111] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.111] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.111] } [13:14:13.111] future <- MultisessionFuture(..., workers = workers, [13:14:13.111] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.111] envir = envir) [13:14:13.111] if (!future$lazy) [13:14:13.111] future <- run(future) [13:14:13.111] invisible(future) [13:14:13.111] }), .cleanup = FALSE, .init = FALSE) [13:14:13.111] } [13:14:13.111] } [13:14:13.111] } [13:14:13.111] }) [13:14:13.111] if (TRUE) { [13:14:13.111] base::sink(type = "output", split = FALSE) [13:14:13.111] if (TRUE) { [13:14:13.111] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.111] } [13:14:13.111] else { [13:14:13.111] ...future.result["stdout"] <- base::list(NULL) [13:14:13.111] } [13:14:13.111] base::close(...future.stdout) [13:14:13.111] ...future.stdout <- NULL [13:14:13.111] } [13:14:13.111] ...future.result$conditions <- ...future.conditions [13:14:13.111] ...future.result$finished <- base::Sys.time() [13:14:13.111] ...future.result [13:14:13.111] } [13:14:13.116] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:13.116] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:13.117] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:13.117] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.117] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.118] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.118] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.118] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.119] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.119] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.119] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.119] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:13.123] MultisessionFuture started [13:14:13.123] - Launch lazy future ... done [13:14:13.123] run() for 'MultisessionFuture' ... done [13:14:13.124] Created future: [13:14:13.139] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.139] - Validating connection of MultisessionFuture [13:14:13.140] - received message: FutureResult [13:14:13.140] - Received FutureResult [13:14:13.140] - Erased future from FutureRegistry [13:14:13.140] result() for ClusterFuture ... [13:14:13.140] - result already collected: FutureResult [13:14:13.141] result() for ClusterFuture ... done [13:14:13.141] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.124] MultisessionFuture: [13:14:13.124] Label: 'future_sapply-2' [13:14:13.124] Expression: [13:14:13.124] { [13:14:13.124] do.call(function(...) { [13:14:13.124] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.124] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.124] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.124] on.exit(options(oopts), add = TRUE) [13:14:13.124] } [13:14:13.124] { [13:14:13.124] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.124] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.124] ...future.FUN(...future.X_jj, ...) [13:14:13.124] }) [13:14:13.124] } [13:14:13.124] }, args = future.call.arguments) [13:14:13.124] } [13:14:13.124] Lazy evaluation: FALSE [13:14:13.124] Asynchronous evaluation: TRUE [13:14:13.124] Local evaluation: TRUE [13:14:13.124] Environment: R_GlobalEnv [13:14:13.124] Capture standard output: TRUE [13:14:13.124] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.124] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.124] Packages: [13:14:13.124] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.124] Resolved: TRUE [13:14:13.124] Value: [13:14:13.124] Conditions captured: [13:14:13.124] Early signaling: FALSE [13:14:13.124] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.124] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.141] Chunk #2 of 2 ... DONE [13:14:13.141] Launching 2 futures (chunks) ... DONE [13:14:13.141] Resolving 2 futures (chunks) ... [13:14:13.142] resolve() on list ... [13:14:13.142] recursive: 0 [13:14:13.142] length: 2 [13:14:13.142] [13:14:13.142] Future #1 [13:14:13.142] result() for ClusterFuture ... [13:14:13.143] - result already collected: FutureResult [13:14:13.143] result() for ClusterFuture ... done [13:14:13.143] result() for ClusterFuture ... [13:14:13.143] - result already collected: FutureResult [13:14:13.143] result() for ClusterFuture ... done [13:14:13.143] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:13.144] - nx: 2 [13:14:13.144] - relay: TRUE [13:14:13.144] - stdout: TRUE [13:14:13.144] - signal: TRUE [13:14:13.144] - resignal: FALSE [13:14:13.144] - force: TRUE [13:14:13.144] - relayed: [n=2] FALSE, FALSE [13:14:13.145] - queued futures: [n=2] FALSE, FALSE [13:14:13.145] - until=1 [13:14:13.145] - relaying element #1 [13:14:13.145] result() for ClusterFuture ... [13:14:13.145] - result already collected: FutureResult [13:14:13.145] result() for ClusterFuture ... done [13:14:13.146] result() for ClusterFuture ... [13:14:13.146] - result already collected: FutureResult [13:14:13.146] result() for ClusterFuture ... done [13:14:13.146] result() for ClusterFuture ... [13:14:13.146] - result already collected: FutureResult [13:14:13.146] result() for ClusterFuture ... done [13:14:13.147] result() for ClusterFuture ... [13:14:13.147] - result already collected: FutureResult [13:14:13.147] result() for ClusterFuture ... done [13:14:13.147] - relayed: [n=2] TRUE, FALSE [13:14:13.147] - queued futures: [n=2] TRUE, FALSE [13:14:13.147] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:13.147] length: 1 (resolved future 1) [13:14:13.148] Future #2 [13:14:13.148] result() for ClusterFuture ... [13:14:13.148] - result already collected: FutureResult [13:14:13.148] result() for ClusterFuture ... done [13:14:13.148] result() for ClusterFuture ... [13:14:13.148] - result already collected: FutureResult [13:14:13.149] result() for ClusterFuture ... done [13:14:13.149] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:13.149] - nx: 2 [13:14:13.149] - relay: TRUE [13:14:13.149] - stdout: TRUE [13:14:13.149] - signal: TRUE [13:14:13.150] - resignal: FALSE [13:14:13.150] - force: TRUE [13:14:13.150] - relayed: [n=2] TRUE, FALSE [13:14:13.150] - queued futures: [n=2] TRUE, FALSE [13:14:13.150] - until=2 [13:14:13.150] - relaying element #2 [13:14:13.150] result() for ClusterFuture ... [13:14:13.151] - result already collected: FutureResult [13:14:13.151] result() for ClusterFuture ... done [13:14:13.151] result() for ClusterFuture ... [13:14:13.151] - result already collected: FutureResult [13:14:13.151] result() for ClusterFuture ... done [13:14:13.151] result() for ClusterFuture ... [13:14:13.152] - result already collected: FutureResult [13:14:13.152] result() for ClusterFuture ... done [13:14:13.152] result() for ClusterFuture ... [13:14:13.152] - result already collected: FutureResult [13:14:13.152] result() for ClusterFuture ... done [13:14:13.152] - relayed: [n=2] TRUE, TRUE [13:14:13.152] - queued futures: [n=2] TRUE, TRUE [13:14:13.153] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:13.153] length: 0 (resolved future 2) [13:14:13.153] Relaying remaining futures [13:14:13.153] signalConditionsASAP(NULL, pos=0) ... [13:14:13.153] - nx: 2 [13:14:13.153] - relay: TRUE [13:14:13.154] - stdout: TRUE [13:14:13.154] - signal: TRUE [13:14:13.154] - resignal: FALSE [13:14:13.154] - force: TRUE [13:14:13.154] - relayed: [n=2] TRUE, TRUE [13:14:13.154] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:13.155] - relayed: [n=2] TRUE, TRUE [13:14:13.155] - queued futures: [n=2] TRUE, TRUE [13:14:13.155] signalConditionsASAP(NULL, pos=0) ... done [13:14:13.155] resolve() on list ... DONE [13:14:13.155] result() for ClusterFuture ... [13:14:13.155] - result already collected: FutureResult [13:14:13.155] result() for ClusterFuture ... done [13:14:13.156] result() for ClusterFuture ... [13:14:13.156] - result already collected: FutureResult [13:14:13.156] result() for ClusterFuture ... done [13:14:13.156] result() for ClusterFuture ... [13:14:13.156] - result already collected: FutureResult [13:14:13.156] result() for ClusterFuture ... done [13:14:13.157] result() for ClusterFuture ... [13:14:13.157] - result already collected: FutureResult [13:14:13.157] result() for ClusterFuture ... done [13:14:13.157] - Number of value chunks collected: 2 [13:14:13.157] Resolving 2 futures (chunks) ... DONE [13:14:13.157] Reducing values from 2 chunks ... [13:14:13.158] - Number of values collected after concatenation: 4 [13:14:13.158] - Number of values expected: 4 [13:14:13.158] Reducing values from 2 chunks ... DONE [13:14:13.158] future_lapply() ... DONE List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y1:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... List of 2 $ y0:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... $ y2:List of 4 ..$ A: num [1:3, 1:5] 100 100 100 200 200 200 300 300 300 400 ... ..$ B: num [1:3, 1:5] 120 120 120 240 240 240 360 360 360 480 ... ..$ C: num [1:3, 1:5] 140 140 140 280 280 280 420 420 420 560 ... ..$ D: num [1:3, 1:5] 160 160 160 320 320 320 480 480 480 640 ... [13:14:13.167] future_lapply() ... [13:14:13.170] Number of chunks: 2 [13:14:13.170] getGlobalsAndPackagesXApply() ... [13:14:13.171] - future.globals: TRUE [13:14:13.171] getGlobalsAndPackages() ... [13:14:13.171] Searching for globals... [13:14:13.172] - globals found: [1] 'FUN' [13:14:13.172] Searching for globals ... DONE [13:14:13.172] Resolving globals: FALSE [13:14:13.173] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:13.173] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:13.173] - globals: [1] 'FUN' [13:14:13.174] [13:14:13.174] getGlobalsAndPackages() ... DONE [13:14:13.174] - globals found/used: [n=1] 'FUN' [13:14:13.174] - needed namespaces: [n=0] [13:14:13.174] Finding globals ... DONE [13:14:13.175] - use_args: TRUE [13:14:13.175] - Getting '...' globals ... [13:14:13.175] resolve() on list ... [13:14:13.175] recursive: 0 [13:14:13.175] length: 1 [13:14:13.176] elements: '...' [13:14:13.176] length: 0 (resolved future 1) [13:14:13.176] resolve() on list ... DONE [13:14:13.176] - '...' content: [n=0] [13:14:13.176] List of 1 [13:14:13.176] $ ...: list() [13:14:13.176] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.176] - attr(*, "where")=List of 1 [13:14:13.176] ..$ ...: [13:14:13.176] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.176] - attr(*, "resolved")= logi TRUE [13:14:13.176] - attr(*, "total_size")= num NA [13:14:13.179] - Getting '...' globals ... DONE [13:14:13.179] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:13.180] List of 2 [13:14:13.180] $ ...future.FUN:function (x) [13:14:13.180] $ ... : list() [13:14:13.180] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.180] - attr(*, "where")=List of 2 [13:14:13.180] ..$ ...future.FUN: [13:14:13.180] ..$ ... : [13:14:13.180] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.180] - attr(*, "resolved")= logi FALSE [13:14:13.180] - attr(*, "total_size")= num 848 [13:14:13.183] Packages to be attached in all futures: [n=0] [13:14:13.183] getGlobalsAndPackagesXApply() ... DONE [13:14:13.183] Number of futures (= number of chunks): 2 [13:14:13.184] Launching 2 futures (chunks) ... [13:14:13.184] Chunk #1 of 2 ... [13:14:13.184] - Finding globals in 'X' for chunk #1 ... [13:14:13.184] getGlobalsAndPackages() ... [13:14:13.184] Searching for globals... [13:14:13.185] [13:14:13.185] Searching for globals ... DONE [13:14:13.185] - globals: [0] [13:14:13.185] getGlobalsAndPackages() ... DONE [13:14:13.185] + additional globals found: [n=0] [13:14:13.185] + additional namespaces needed: [n=0] [13:14:13.186] - Finding globals in 'X' for chunk #1 ... DONE [13:14:13.186] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.186] - seeds: [13:14:13.186] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.186] getGlobalsAndPackages() ... [13:14:13.186] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.187] Resolving globals: FALSE [13:14:13.187] Tweak future expression to call with '...' arguments ... [13:14:13.187] { [13:14:13.187] do.call(function(...) { [13:14:13.187] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.187] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.187] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.187] on.exit(options(oopts), add = TRUE) [13:14:13.187] } [13:14:13.187] { [13:14:13.187] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.187] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.187] ...future.FUN(...future.X_jj, ...) [13:14:13.187] }) [13:14:13.187] } [13:14:13.187] }, args = future.call.arguments) [13:14:13.187] } [13:14:13.187] Tweak future expression to call with '...' arguments ... DONE [13:14:13.188] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.188] [13:14:13.188] getGlobalsAndPackages() ... DONE [13:14:13.189] run() for 'Future' ... [13:14:13.189] - state: 'created' [13:14:13.189] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.203] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.203] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.204] - Field: 'node' [13:14:13.204] - Field: 'label' [13:14:13.204] - Field: 'local' [13:14:13.204] - Field: 'owner' [13:14:13.204] - Field: 'envir' [13:14:13.204] - Field: 'workers' [13:14:13.205] - Field: 'packages' [13:14:13.205] - Field: 'gc' [13:14:13.205] - Field: 'conditions' [13:14:13.205] - Field: 'persistent' [13:14:13.205] - Field: 'expr' [13:14:13.205] - Field: 'uuid' [13:14:13.206] - Field: 'seed' [13:14:13.206] - Field: 'version' [13:14:13.206] - Field: 'result' [13:14:13.206] - Field: 'asynchronous' [13:14:13.206] - Field: 'calls' [13:14:13.207] - Field: 'globals' [13:14:13.207] - Field: 'stdout' [13:14:13.207] - Field: 'earlySignal' [13:14:13.207] - Field: 'lazy' [13:14:13.207] - Field: 'state' [13:14:13.207] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.208] - Launch lazy future ... [13:14:13.208] Packages needed by the future expression (n = 0): [13:14:13.208] Packages needed by future strategies (n = 0): [13:14:13.209] { [13:14:13.209] { [13:14:13.209] { [13:14:13.209] ...future.startTime <- base::Sys.time() [13:14:13.209] { [13:14:13.209] { [13:14:13.209] { [13:14:13.209] { [13:14:13.209] base::local({ [13:14:13.209] has_future <- base::requireNamespace("future", [13:14:13.209] quietly = TRUE) [13:14:13.209] if (has_future) { [13:14:13.209] ns <- base::getNamespace("future") [13:14:13.209] version <- ns[[".package"]][["version"]] [13:14:13.209] if (is.null(version)) [13:14:13.209] version <- utils::packageVersion("future") [13:14:13.209] } [13:14:13.209] else { [13:14:13.209] version <- NULL [13:14:13.209] } [13:14:13.209] if (!has_future || version < "1.8.0") { [13:14:13.209] info <- base::c(r_version = base::gsub("R version ", [13:14:13.209] "", base::R.version$version.string), [13:14:13.209] platform = base::sprintf("%s (%s-bit)", [13:14:13.209] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.209] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.209] "release", "version")], collapse = " "), [13:14:13.209] hostname = base::Sys.info()[["nodename"]]) [13:14:13.209] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.209] info) [13:14:13.209] info <- base::paste(info, collapse = "; ") [13:14:13.209] if (!has_future) { [13:14:13.209] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.209] info) [13:14:13.209] } [13:14:13.209] else { [13:14:13.209] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.209] info, version) [13:14:13.209] } [13:14:13.209] base::stop(msg) [13:14:13.209] } [13:14:13.209] }) [13:14:13.209] } [13:14:13.209] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.209] base::options(mc.cores = 1L) [13:14:13.209] } [13:14:13.209] options(future.plan = NULL) [13:14:13.209] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.209] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.209] } [13:14:13.209] ...future.workdir <- getwd() [13:14:13.209] } [13:14:13.209] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.209] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.209] } [13:14:13.209] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.209] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.209] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.209] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.209] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.209] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.209] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.209] base::names(...future.oldOptions)) [13:14:13.209] } [13:14:13.209] if (FALSE) { [13:14:13.209] } [13:14:13.209] else { [13:14:13.209] if (TRUE) { [13:14:13.209] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.209] open = "w") [13:14:13.209] } [13:14:13.209] else { [13:14:13.209] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.209] windows = "NUL", "/dev/null"), open = "w") [13:14:13.209] } [13:14:13.209] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.209] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.209] base::sink(type = "output", split = FALSE) [13:14:13.209] base::close(...future.stdout) [13:14:13.209] }, add = TRUE) [13:14:13.209] } [13:14:13.209] ...future.frame <- base::sys.nframe() [13:14:13.209] ...future.conditions <- base::list() [13:14:13.209] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.209] if (FALSE) { [13:14:13.209] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.209] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.209] } [13:14:13.209] ...future.result <- base::tryCatch({ [13:14:13.209] base::withCallingHandlers({ [13:14:13.209] ...future.value <- base::withVisible(base::local({ [13:14:13.209] ...future.makeSendCondition <- local({ [13:14:13.209] sendCondition <- NULL [13:14:13.209] function(frame = 1L) { [13:14:13.209] if (is.function(sendCondition)) [13:14:13.209] return(sendCondition) [13:14:13.209] ns <- getNamespace("parallel") [13:14:13.209] if (exists("sendData", mode = "function", [13:14:13.209] envir = ns)) { [13:14:13.209] parallel_sendData <- get("sendData", mode = "function", [13:14:13.209] envir = ns) [13:14:13.209] envir <- sys.frame(frame) [13:14:13.209] master <- NULL [13:14:13.209] while (!identical(envir, .GlobalEnv) && [13:14:13.209] !identical(envir, emptyenv())) { [13:14:13.209] if (exists("master", mode = "list", envir = envir, [13:14:13.209] inherits = FALSE)) { [13:14:13.209] master <- get("master", mode = "list", [13:14:13.209] envir = envir, inherits = FALSE) [13:14:13.209] if (inherits(master, c("SOCKnode", [13:14:13.209] "SOCK0node"))) { [13:14:13.209] sendCondition <<- function(cond) { [13:14:13.209] data <- list(type = "VALUE", value = cond, [13:14:13.209] success = TRUE) [13:14:13.209] parallel_sendData(master, data) [13:14:13.209] } [13:14:13.209] return(sendCondition) [13:14:13.209] } [13:14:13.209] } [13:14:13.209] frame <- frame + 1L [13:14:13.209] envir <- sys.frame(frame) [13:14:13.209] } [13:14:13.209] } [13:14:13.209] sendCondition <<- function(cond) NULL [13:14:13.209] } [13:14:13.209] }) [13:14:13.209] withCallingHandlers({ [13:14:13.209] { [13:14:13.209] do.call(function(...) { [13:14:13.209] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.209] if (!identical(...future.globals.maxSize.org, [13:14:13.209] ...future.globals.maxSize)) { [13:14:13.209] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.209] on.exit(options(oopts), add = TRUE) [13:14:13.209] } [13:14:13.209] { [13:14:13.209] lapply(seq_along(...future.elements_ii), [13:14:13.209] FUN = function(jj) { [13:14:13.209] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.209] ...future.FUN(...future.X_jj, ...) [13:14:13.209] }) [13:14:13.209] } [13:14:13.209] }, args = future.call.arguments) [13:14:13.209] } [13:14:13.209] }, immediateCondition = function(cond) { [13:14:13.209] sendCondition <- ...future.makeSendCondition() [13:14:13.209] sendCondition(cond) [13:14:13.209] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.209] { [13:14:13.209] inherits <- base::inherits [13:14:13.209] invokeRestart <- base::invokeRestart [13:14:13.209] is.null <- base::is.null [13:14:13.209] muffled <- FALSE [13:14:13.209] if (inherits(cond, "message")) { [13:14:13.209] muffled <- grepl(pattern, "muffleMessage") [13:14:13.209] if (muffled) [13:14:13.209] invokeRestart("muffleMessage") [13:14:13.209] } [13:14:13.209] else if (inherits(cond, "warning")) { [13:14:13.209] muffled <- grepl(pattern, "muffleWarning") [13:14:13.209] if (muffled) [13:14:13.209] invokeRestart("muffleWarning") [13:14:13.209] } [13:14:13.209] else if (inherits(cond, "condition")) { [13:14:13.209] if (!is.null(pattern)) { [13:14:13.209] computeRestarts <- base::computeRestarts [13:14:13.209] grepl <- base::grepl [13:14:13.209] restarts <- computeRestarts(cond) [13:14:13.209] for (restart in restarts) { [13:14:13.209] name <- restart$name [13:14:13.209] if (is.null(name)) [13:14:13.209] next [13:14:13.209] if (!grepl(pattern, name)) [13:14:13.209] next [13:14:13.209] invokeRestart(restart) [13:14:13.209] muffled <- TRUE [13:14:13.209] break [13:14:13.209] } [13:14:13.209] } [13:14:13.209] } [13:14:13.209] invisible(muffled) [13:14:13.209] } [13:14:13.209] muffleCondition(cond) [13:14:13.209] }) [13:14:13.209] })) [13:14:13.209] future::FutureResult(value = ...future.value$value, [13:14:13.209] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.209] ...future.rng), globalenv = if (FALSE) [13:14:13.209] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.209] ...future.globalenv.names)) [13:14:13.209] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.209] }, condition = base::local({ [13:14:13.209] c <- base::c [13:14:13.209] inherits <- base::inherits [13:14:13.209] invokeRestart <- base::invokeRestart [13:14:13.209] length <- base::length [13:14:13.209] list <- base::list [13:14:13.209] seq.int <- base::seq.int [13:14:13.209] signalCondition <- base::signalCondition [13:14:13.209] sys.calls <- base::sys.calls [13:14:13.209] `[[` <- base::`[[` [13:14:13.209] `+` <- base::`+` [13:14:13.209] `<<-` <- base::`<<-` [13:14:13.209] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.209] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.209] 3L)] [13:14:13.209] } [13:14:13.209] function(cond) { [13:14:13.209] is_error <- inherits(cond, "error") [13:14:13.209] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.209] NULL) [13:14:13.209] if (is_error) { [13:14:13.209] sessionInformation <- function() { [13:14:13.209] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.209] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.209] search = base::search(), system = base::Sys.info()) [13:14:13.209] } [13:14:13.209] ...future.conditions[[length(...future.conditions) + [13:14:13.209] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.209] cond$call), session = sessionInformation(), [13:14:13.209] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.209] signalCondition(cond) [13:14:13.209] } [13:14:13.209] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.209] "immediateCondition"))) { [13:14:13.209] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.209] ...future.conditions[[length(...future.conditions) + [13:14:13.209] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.209] if (TRUE && !signal) { [13:14:13.209] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.209] { [13:14:13.209] inherits <- base::inherits [13:14:13.209] invokeRestart <- base::invokeRestart [13:14:13.209] is.null <- base::is.null [13:14:13.209] muffled <- FALSE [13:14:13.209] if (inherits(cond, "message")) { [13:14:13.209] muffled <- grepl(pattern, "muffleMessage") [13:14:13.209] if (muffled) [13:14:13.209] invokeRestart("muffleMessage") [13:14:13.209] } [13:14:13.209] else if (inherits(cond, "warning")) { [13:14:13.209] muffled <- grepl(pattern, "muffleWarning") [13:14:13.209] if (muffled) [13:14:13.209] invokeRestart("muffleWarning") [13:14:13.209] } [13:14:13.209] else if (inherits(cond, "condition")) { [13:14:13.209] if (!is.null(pattern)) { [13:14:13.209] computeRestarts <- base::computeRestarts [13:14:13.209] grepl <- base::grepl [13:14:13.209] restarts <- computeRestarts(cond) [13:14:13.209] for (restart in restarts) { [13:14:13.209] name <- restart$name [13:14:13.209] if (is.null(name)) [13:14:13.209] next [13:14:13.209] if (!grepl(pattern, name)) [13:14:13.209] next [13:14:13.209] invokeRestart(restart) [13:14:13.209] muffled <- TRUE [13:14:13.209] break [13:14:13.209] } [13:14:13.209] } [13:14:13.209] } [13:14:13.209] invisible(muffled) [13:14:13.209] } [13:14:13.209] muffleCondition(cond, pattern = "^muffle") [13:14:13.209] } [13:14:13.209] } [13:14:13.209] else { [13:14:13.209] if (TRUE) { [13:14:13.209] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.209] { [13:14:13.209] inherits <- base::inherits [13:14:13.209] invokeRestart <- base::invokeRestart [13:14:13.209] is.null <- base::is.null [13:14:13.209] muffled <- FALSE [13:14:13.209] if (inherits(cond, "message")) { [13:14:13.209] muffled <- grepl(pattern, "muffleMessage") [13:14:13.209] if (muffled) [13:14:13.209] invokeRestart("muffleMessage") [13:14:13.209] } [13:14:13.209] else if (inherits(cond, "warning")) { [13:14:13.209] muffled <- grepl(pattern, "muffleWarning") [13:14:13.209] if (muffled) [13:14:13.209] invokeRestart("muffleWarning") [13:14:13.209] } [13:14:13.209] else if (inherits(cond, "condition")) { [13:14:13.209] if (!is.null(pattern)) { [13:14:13.209] computeRestarts <- base::computeRestarts [13:14:13.209] grepl <- base::grepl [13:14:13.209] restarts <- computeRestarts(cond) [13:14:13.209] for (restart in restarts) { [13:14:13.209] name <- restart$name [13:14:13.209] if (is.null(name)) [13:14:13.209] next [13:14:13.209] if (!grepl(pattern, name)) [13:14:13.209] next [13:14:13.209] invokeRestart(restart) [13:14:13.209] muffled <- TRUE [13:14:13.209] break [13:14:13.209] } [13:14:13.209] } [13:14:13.209] } [13:14:13.209] invisible(muffled) [13:14:13.209] } [13:14:13.209] muffleCondition(cond, pattern = "^muffle") [13:14:13.209] } [13:14:13.209] } [13:14:13.209] } [13:14:13.209] })) [13:14:13.209] }, error = function(ex) { [13:14:13.209] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.209] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.209] ...future.rng), started = ...future.startTime, [13:14:13.209] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.209] version = "1.8"), class = "FutureResult") [13:14:13.209] }, finally = { [13:14:13.209] if (!identical(...future.workdir, getwd())) [13:14:13.209] setwd(...future.workdir) [13:14:13.209] { [13:14:13.209] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.209] ...future.oldOptions$nwarnings <- NULL [13:14:13.209] } [13:14:13.209] base::options(...future.oldOptions) [13:14:13.209] if (.Platform$OS.type == "windows") { [13:14:13.209] old_names <- names(...future.oldEnvVars) [13:14:13.209] envs <- base::Sys.getenv() [13:14:13.209] names <- names(envs) [13:14:13.209] common <- intersect(names, old_names) [13:14:13.209] added <- setdiff(names, old_names) [13:14:13.209] removed <- setdiff(old_names, names) [13:14:13.209] changed <- common[...future.oldEnvVars[common] != [13:14:13.209] envs[common]] [13:14:13.209] NAMES <- toupper(changed) [13:14:13.209] args <- list() [13:14:13.209] for (kk in seq_along(NAMES)) { [13:14:13.209] name <- changed[[kk]] [13:14:13.209] NAME <- NAMES[[kk]] [13:14:13.209] if (name != NAME && is.element(NAME, old_names)) [13:14:13.209] next [13:14:13.209] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.209] } [13:14:13.209] NAMES <- toupper(added) [13:14:13.209] for (kk in seq_along(NAMES)) { [13:14:13.209] name <- added[[kk]] [13:14:13.209] NAME <- NAMES[[kk]] [13:14:13.209] if (name != NAME && is.element(NAME, old_names)) [13:14:13.209] next [13:14:13.209] args[[name]] <- "" [13:14:13.209] } [13:14:13.209] NAMES <- toupper(removed) [13:14:13.209] for (kk in seq_along(NAMES)) { [13:14:13.209] name <- removed[[kk]] [13:14:13.209] NAME <- NAMES[[kk]] [13:14:13.209] if (name != NAME && is.element(NAME, old_names)) [13:14:13.209] next [13:14:13.209] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.209] } [13:14:13.209] if (length(args) > 0) [13:14:13.209] base::do.call(base::Sys.setenv, args = args) [13:14:13.209] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.209] } [13:14:13.209] else { [13:14:13.209] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.209] } [13:14:13.209] { [13:14:13.209] if (base::length(...future.futureOptionsAdded) > [13:14:13.209] 0L) { [13:14:13.209] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.209] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.209] base::options(opts) [13:14:13.209] } [13:14:13.209] { [13:14:13.209] { [13:14:13.209] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.209] NULL [13:14:13.209] } [13:14:13.209] options(future.plan = NULL) [13:14:13.209] if (is.na(NA_character_)) [13:14:13.209] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.209] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.209] future::plan(list(function (..., workers = availableCores(), [13:14:13.209] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.209] envir = parent.frame()) [13:14:13.209] { [13:14:13.209] if (is.function(workers)) [13:14:13.209] workers <- workers() [13:14:13.209] workers <- structure(as.integer(workers), [13:14:13.209] class = class(workers)) [13:14:13.209] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.209] workers >= 1) [13:14:13.209] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.209] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.209] } [13:14:13.209] future <- MultisessionFuture(..., workers = workers, [13:14:13.209] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.209] envir = envir) [13:14:13.209] if (!future$lazy) [13:14:13.209] future <- run(future) [13:14:13.209] invisible(future) [13:14:13.209] }), .cleanup = FALSE, .init = FALSE) [13:14:13.209] } [13:14:13.209] } [13:14:13.209] } [13:14:13.209] }) [13:14:13.209] if (TRUE) { [13:14:13.209] base::sink(type = "output", split = FALSE) [13:14:13.209] if (TRUE) { [13:14:13.209] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.209] } [13:14:13.209] else { [13:14:13.209] ...future.result["stdout"] <- base::list(NULL) [13:14:13.209] } [13:14:13.209] base::close(...future.stdout) [13:14:13.209] ...future.stdout <- NULL [13:14:13.209] } [13:14:13.209] ...future.result$conditions <- ...future.conditions [13:14:13.209] ...future.result$finished <- base::Sys.time() [13:14:13.209] ...future.result [13:14:13.209] } [13:14:13.214] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:13.214] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:13.215] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:13.215] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.215] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.216] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.216] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.216] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.217] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.217] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.217] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.218] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:13.218] MultisessionFuture started [13:14:13.218] - Launch lazy future ... done [13:14:13.219] run() for 'MultisessionFuture' ... done [13:14:13.219] Created future: [13:14:13.234] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.234] - Validating connection of MultisessionFuture [13:14:13.234] - received message: FutureResult [13:14:13.235] - Received FutureResult [13:14:13.235] - Erased future from FutureRegistry [13:14:13.235] result() for ClusterFuture ... [13:14:13.235] - result already collected: FutureResult [13:14:13.235] result() for ClusterFuture ... done [13:14:13.236] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.219] MultisessionFuture: [13:14:13.219] Label: 'future_sapply-1' [13:14:13.219] Expression: [13:14:13.219] { [13:14:13.219] do.call(function(...) { [13:14:13.219] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.219] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.219] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.219] on.exit(options(oopts), add = TRUE) [13:14:13.219] } [13:14:13.219] { [13:14:13.219] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.219] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.219] ...future.FUN(...future.X_jj, ...) [13:14:13.219] }) [13:14:13.219] } [13:14:13.219] }, args = future.call.arguments) [13:14:13.219] } [13:14:13.219] Lazy evaluation: FALSE [13:14:13.219] Asynchronous evaluation: TRUE [13:14:13.219] Local evaluation: TRUE [13:14:13.219] Environment: R_GlobalEnv [13:14:13.219] Capture standard output: TRUE [13:14:13.219] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.219] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.219] Packages: [13:14:13.219] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.219] Resolved: TRUE [13:14:13.219] Value: [13:14:13.219] Conditions captured: [13:14:13.219] Early signaling: FALSE [13:14:13.219] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.219] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.236] Chunk #1 of 2 ... DONE [13:14:13.236] Chunk #2 of 2 ... [13:14:13.236] - Finding globals in 'X' for chunk #2 ... [13:14:13.237] getGlobalsAndPackages() ... [13:14:13.237] Searching for globals... [13:14:13.237] [13:14:13.237] Searching for globals ... DONE [13:14:13.238] - globals: [0] [13:14:13.238] getGlobalsAndPackages() ... DONE [13:14:13.238] + additional globals found: [n=0] [13:14:13.238] + additional namespaces needed: [n=0] [13:14:13.238] - Finding globals in 'X' for chunk #2 ... DONE [13:14:13.238] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.238] - seeds: [13:14:13.239] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.239] getGlobalsAndPackages() ... [13:14:13.239] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.239] Resolving globals: FALSE [13:14:13.239] Tweak future expression to call with '...' arguments ... [13:14:13.240] { [13:14:13.240] do.call(function(...) { [13:14:13.240] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.240] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.240] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.240] on.exit(options(oopts), add = TRUE) [13:14:13.240] } [13:14:13.240] { [13:14:13.240] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.240] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.240] ...future.FUN(...future.X_jj, ...) [13:14:13.240] }) [13:14:13.240] } [13:14:13.240] }, args = future.call.arguments) [13:14:13.240] } [13:14:13.240] Tweak future expression to call with '...' arguments ... DONE [13:14:13.240] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.241] [13:14:13.241] getGlobalsAndPackages() ... DONE [13:14:13.241] run() for 'Future' ... [13:14:13.241] - state: 'created' [13:14:13.242] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.255] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.256] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.256] - Field: 'node' [13:14:13.256] - Field: 'label' [13:14:13.256] - Field: 'local' [13:14:13.256] - Field: 'owner' [13:14:13.257] - Field: 'envir' [13:14:13.257] - Field: 'workers' [13:14:13.257] - Field: 'packages' [13:14:13.257] - Field: 'gc' [13:14:13.257] - Field: 'conditions' [13:14:13.257] - Field: 'persistent' [13:14:13.258] - Field: 'expr' [13:14:13.258] - Field: 'uuid' [13:14:13.258] - Field: 'seed' [13:14:13.258] - Field: 'version' [13:14:13.258] - Field: 'result' [13:14:13.258] - Field: 'asynchronous' [13:14:13.259] - Field: 'calls' [13:14:13.259] - Field: 'globals' [13:14:13.259] - Field: 'stdout' [13:14:13.259] - Field: 'earlySignal' [13:14:13.259] - Field: 'lazy' [13:14:13.259] - Field: 'state' [13:14:13.260] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.260] - Launch lazy future ... [13:14:13.260] Packages needed by the future expression (n = 0): [13:14:13.260] Packages needed by future strategies (n = 0): [13:14:13.261] { [13:14:13.261] { [13:14:13.261] { [13:14:13.261] ...future.startTime <- base::Sys.time() [13:14:13.261] { [13:14:13.261] { [13:14:13.261] { [13:14:13.261] { [13:14:13.261] base::local({ [13:14:13.261] has_future <- base::requireNamespace("future", [13:14:13.261] quietly = TRUE) [13:14:13.261] if (has_future) { [13:14:13.261] ns <- base::getNamespace("future") [13:14:13.261] version <- ns[[".package"]][["version"]] [13:14:13.261] if (is.null(version)) [13:14:13.261] version <- utils::packageVersion("future") [13:14:13.261] } [13:14:13.261] else { [13:14:13.261] version <- NULL [13:14:13.261] } [13:14:13.261] if (!has_future || version < "1.8.0") { [13:14:13.261] info <- base::c(r_version = base::gsub("R version ", [13:14:13.261] "", base::R.version$version.string), [13:14:13.261] platform = base::sprintf("%s (%s-bit)", [13:14:13.261] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.261] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.261] "release", "version")], collapse = " "), [13:14:13.261] hostname = base::Sys.info()[["nodename"]]) [13:14:13.261] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.261] info) [13:14:13.261] info <- base::paste(info, collapse = "; ") [13:14:13.261] if (!has_future) { [13:14:13.261] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.261] info) [13:14:13.261] } [13:14:13.261] else { [13:14:13.261] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.261] info, version) [13:14:13.261] } [13:14:13.261] base::stop(msg) [13:14:13.261] } [13:14:13.261] }) [13:14:13.261] } [13:14:13.261] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.261] base::options(mc.cores = 1L) [13:14:13.261] } [13:14:13.261] options(future.plan = NULL) [13:14:13.261] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.261] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.261] } [13:14:13.261] ...future.workdir <- getwd() [13:14:13.261] } [13:14:13.261] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.261] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.261] } [13:14:13.261] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.261] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.261] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.261] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.261] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.261] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.261] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.261] base::names(...future.oldOptions)) [13:14:13.261] } [13:14:13.261] if (FALSE) { [13:14:13.261] } [13:14:13.261] else { [13:14:13.261] if (TRUE) { [13:14:13.261] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.261] open = "w") [13:14:13.261] } [13:14:13.261] else { [13:14:13.261] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.261] windows = "NUL", "/dev/null"), open = "w") [13:14:13.261] } [13:14:13.261] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.261] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.261] base::sink(type = "output", split = FALSE) [13:14:13.261] base::close(...future.stdout) [13:14:13.261] }, add = TRUE) [13:14:13.261] } [13:14:13.261] ...future.frame <- base::sys.nframe() [13:14:13.261] ...future.conditions <- base::list() [13:14:13.261] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.261] if (FALSE) { [13:14:13.261] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.261] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.261] } [13:14:13.261] ...future.result <- base::tryCatch({ [13:14:13.261] base::withCallingHandlers({ [13:14:13.261] ...future.value <- base::withVisible(base::local({ [13:14:13.261] ...future.makeSendCondition <- local({ [13:14:13.261] sendCondition <- NULL [13:14:13.261] function(frame = 1L) { [13:14:13.261] if (is.function(sendCondition)) [13:14:13.261] return(sendCondition) [13:14:13.261] ns <- getNamespace("parallel") [13:14:13.261] if (exists("sendData", mode = "function", [13:14:13.261] envir = ns)) { [13:14:13.261] parallel_sendData <- get("sendData", mode = "function", [13:14:13.261] envir = ns) [13:14:13.261] envir <- sys.frame(frame) [13:14:13.261] master <- NULL [13:14:13.261] while (!identical(envir, .GlobalEnv) && [13:14:13.261] !identical(envir, emptyenv())) { [13:14:13.261] if (exists("master", mode = "list", envir = envir, [13:14:13.261] inherits = FALSE)) { [13:14:13.261] master <- get("master", mode = "list", [13:14:13.261] envir = envir, inherits = FALSE) [13:14:13.261] if (inherits(master, c("SOCKnode", [13:14:13.261] "SOCK0node"))) { [13:14:13.261] sendCondition <<- function(cond) { [13:14:13.261] data <- list(type = "VALUE", value = cond, [13:14:13.261] success = TRUE) [13:14:13.261] parallel_sendData(master, data) [13:14:13.261] } [13:14:13.261] return(sendCondition) [13:14:13.261] } [13:14:13.261] } [13:14:13.261] frame <- frame + 1L [13:14:13.261] envir <- sys.frame(frame) [13:14:13.261] } [13:14:13.261] } [13:14:13.261] sendCondition <<- function(cond) NULL [13:14:13.261] } [13:14:13.261] }) [13:14:13.261] withCallingHandlers({ [13:14:13.261] { [13:14:13.261] do.call(function(...) { [13:14:13.261] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.261] if (!identical(...future.globals.maxSize.org, [13:14:13.261] ...future.globals.maxSize)) { [13:14:13.261] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.261] on.exit(options(oopts), add = TRUE) [13:14:13.261] } [13:14:13.261] { [13:14:13.261] lapply(seq_along(...future.elements_ii), [13:14:13.261] FUN = function(jj) { [13:14:13.261] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.261] ...future.FUN(...future.X_jj, ...) [13:14:13.261] }) [13:14:13.261] } [13:14:13.261] }, args = future.call.arguments) [13:14:13.261] } [13:14:13.261] }, immediateCondition = function(cond) { [13:14:13.261] sendCondition <- ...future.makeSendCondition() [13:14:13.261] sendCondition(cond) [13:14:13.261] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.261] { [13:14:13.261] inherits <- base::inherits [13:14:13.261] invokeRestart <- base::invokeRestart [13:14:13.261] is.null <- base::is.null [13:14:13.261] muffled <- FALSE [13:14:13.261] if (inherits(cond, "message")) { [13:14:13.261] muffled <- grepl(pattern, "muffleMessage") [13:14:13.261] if (muffled) [13:14:13.261] invokeRestart("muffleMessage") [13:14:13.261] } [13:14:13.261] else if (inherits(cond, "warning")) { [13:14:13.261] muffled <- grepl(pattern, "muffleWarning") [13:14:13.261] if (muffled) [13:14:13.261] invokeRestart("muffleWarning") [13:14:13.261] } [13:14:13.261] else if (inherits(cond, "condition")) { [13:14:13.261] if (!is.null(pattern)) { [13:14:13.261] computeRestarts <- base::computeRestarts [13:14:13.261] grepl <- base::grepl [13:14:13.261] restarts <- computeRestarts(cond) [13:14:13.261] for (restart in restarts) { [13:14:13.261] name <- restart$name [13:14:13.261] if (is.null(name)) [13:14:13.261] next [13:14:13.261] if (!grepl(pattern, name)) [13:14:13.261] next [13:14:13.261] invokeRestart(restart) [13:14:13.261] muffled <- TRUE [13:14:13.261] break [13:14:13.261] } [13:14:13.261] } [13:14:13.261] } [13:14:13.261] invisible(muffled) [13:14:13.261] } [13:14:13.261] muffleCondition(cond) [13:14:13.261] }) [13:14:13.261] })) [13:14:13.261] future::FutureResult(value = ...future.value$value, [13:14:13.261] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.261] ...future.rng), globalenv = if (FALSE) [13:14:13.261] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.261] ...future.globalenv.names)) [13:14:13.261] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.261] }, condition = base::local({ [13:14:13.261] c <- base::c [13:14:13.261] inherits <- base::inherits [13:14:13.261] invokeRestart <- base::invokeRestart [13:14:13.261] length <- base::length [13:14:13.261] list <- base::list [13:14:13.261] seq.int <- base::seq.int [13:14:13.261] signalCondition <- base::signalCondition [13:14:13.261] sys.calls <- base::sys.calls [13:14:13.261] `[[` <- base::`[[` [13:14:13.261] `+` <- base::`+` [13:14:13.261] `<<-` <- base::`<<-` [13:14:13.261] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.261] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.261] 3L)] [13:14:13.261] } [13:14:13.261] function(cond) { [13:14:13.261] is_error <- inherits(cond, "error") [13:14:13.261] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.261] NULL) [13:14:13.261] if (is_error) { [13:14:13.261] sessionInformation <- function() { [13:14:13.261] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.261] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.261] search = base::search(), system = base::Sys.info()) [13:14:13.261] } [13:14:13.261] ...future.conditions[[length(...future.conditions) + [13:14:13.261] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.261] cond$call), session = sessionInformation(), [13:14:13.261] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.261] signalCondition(cond) [13:14:13.261] } [13:14:13.261] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.261] "immediateCondition"))) { [13:14:13.261] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.261] ...future.conditions[[length(...future.conditions) + [13:14:13.261] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.261] if (TRUE && !signal) { [13:14:13.261] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.261] { [13:14:13.261] inherits <- base::inherits [13:14:13.261] invokeRestart <- base::invokeRestart [13:14:13.261] is.null <- base::is.null [13:14:13.261] muffled <- FALSE [13:14:13.261] if (inherits(cond, "message")) { [13:14:13.261] muffled <- grepl(pattern, "muffleMessage") [13:14:13.261] if (muffled) [13:14:13.261] invokeRestart("muffleMessage") [13:14:13.261] } [13:14:13.261] else if (inherits(cond, "warning")) { [13:14:13.261] muffled <- grepl(pattern, "muffleWarning") [13:14:13.261] if (muffled) [13:14:13.261] invokeRestart("muffleWarning") [13:14:13.261] } [13:14:13.261] else if (inherits(cond, "condition")) { [13:14:13.261] if (!is.null(pattern)) { [13:14:13.261] computeRestarts <- base::computeRestarts [13:14:13.261] grepl <- base::grepl [13:14:13.261] restarts <- computeRestarts(cond) [13:14:13.261] for (restart in restarts) { [13:14:13.261] name <- restart$name [13:14:13.261] if (is.null(name)) [13:14:13.261] next [13:14:13.261] if (!grepl(pattern, name)) [13:14:13.261] next [13:14:13.261] invokeRestart(restart) [13:14:13.261] muffled <- TRUE [13:14:13.261] break [13:14:13.261] } [13:14:13.261] } [13:14:13.261] } [13:14:13.261] invisible(muffled) [13:14:13.261] } [13:14:13.261] muffleCondition(cond, pattern = "^muffle") [13:14:13.261] } [13:14:13.261] } [13:14:13.261] else { [13:14:13.261] if (TRUE) { [13:14:13.261] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.261] { [13:14:13.261] inherits <- base::inherits [13:14:13.261] invokeRestart <- base::invokeRestart [13:14:13.261] is.null <- base::is.null [13:14:13.261] muffled <- FALSE [13:14:13.261] if (inherits(cond, "message")) { [13:14:13.261] muffled <- grepl(pattern, "muffleMessage") [13:14:13.261] if (muffled) [13:14:13.261] invokeRestart("muffleMessage") [13:14:13.261] } [13:14:13.261] else if (inherits(cond, "warning")) { [13:14:13.261] muffled <- grepl(pattern, "muffleWarning") [13:14:13.261] if (muffled) [13:14:13.261] invokeRestart("muffleWarning") [13:14:13.261] } [13:14:13.261] else if (inherits(cond, "condition")) { [13:14:13.261] if (!is.null(pattern)) { [13:14:13.261] computeRestarts <- base::computeRestarts [13:14:13.261] grepl <- base::grepl [13:14:13.261] restarts <- computeRestarts(cond) [13:14:13.261] for (restart in restarts) { [13:14:13.261] name <- restart$name [13:14:13.261] if (is.null(name)) [13:14:13.261] next [13:14:13.261] if (!grepl(pattern, name)) [13:14:13.261] next [13:14:13.261] invokeRestart(restart) [13:14:13.261] muffled <- TRUE [13:14:13.261] break [13:14:13.261] } [13:14:13.261] } [13:14:13.261] } [13:14:13.261] invisible(muffled) [13:14:13.261] } [13:14:13.261] muffleCondition(cond, pattern = "^muffle") [13:14:13.261] } [13:14:13.261] } [13:14:13.261] } [13:14:13.261] })) [13:14:13.261] }, error = function(ex) { [13:14:13.261] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.261] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.261] ...future.rng), started = ...future.startTime, [13:14:13.261] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.261] version = "1.8"), class = "FutureResult") [13:14:13.261] }, finally = { [13:14:13.261] if (!identical(...future.workdir, getwd())) [13:14:13.261] setwd(...future.workdir) [13:14:13.261] { [13:14:13.261] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.261] ...future.oldOptions$nwarnings <- NULL [13:14:13.261] } [13:14:13.261] base::options(...future.oldOptions) [13:14:13.261] if (.Platform$OS.type == "windows") { [13:14:13.261] old_names <- names(...future.oldEnvVars) [13:14:13.261] envs <- base::Sys.getenv() [13:14:13.261] names <- names(envs) [13:14:13.261] common <- intersect(names, old_names) [13:14:13.261] added <- setdiff(names, old_names) [13:14:13.261] removed <- setdiff(old_names, names) [13:14:13.261] changed <- common[...future.oldEnvVars[common] != [13:14:13.261] envs[common]] [13:14:13.261] NAMES <- toupper(changed) [13:14:13.261] args <- list() [13:14:13.261] for (kk in seq_along(NAMES)) { [13:14:13.261] name <- changed[[kk]] [13:14:13.261] NAME <- NAMES[[kk]] [13:14:13.261] if (name != NAME && is.element(NAME, old_names)) [13:14:13.261] next [13:14:13.261] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.261] } [13:14:13.261] NAMES <- toupper(added) [13:14:13.261] for (kk in seq_along(NAMES)) { [13:14:13.261] name <- added[[kk]] [13:14:13.261] NAME <- NAMES[[kk]] [13:14:13.261] if (name != NAME && is.element(NAME, old_names)) [13:14:13.261] next [13:14:13.261] args[[name]] <- "" [13:14:13.261] } [13:14:13.261] NAMES <- toupper(removed) [13:14:13.261] for (kk in seq_along(NAMES)) { [13:14:13.261] name <- removed[[kk]] [13:14:13.261] NAME <- NAMES[[kk]] [13:14:13.261] if (name != NAME && is.element(NAME, old_names)) [13:14:13.261] next [13:14:13.261] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.261] } [13:14:13.261] if (length(args) > 0) [13:14:13.261] base::do.call(base::Sys.setenv, args = args) [13:14:13.261] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.261] } [13:14:13.261] else { [13:14:13.261] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.261] } [13:14:13.261] { [13:14:13.261] if (base::length(...future.futureOptionsAdded) > [13:14:13.261] 0L) { [13:14:13.261] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.261] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.261] base::options(opts) [13:14:13.261] } [13:14:13.261] { [13:14:13.261] { [13:14:13.261] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.261] NULL [13:14:13.261] } [13:14:13.261] options(future.plan = NULL) [13:14:13.261] if (is.na(NA_character_)) [13:14:13.261] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.261] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.261] future::plan(list(function (..., workers = availableCores(), [13:14:13.261] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.261] envir = parent.frame()) [13:14:13.261] { [13:14:13.261] if (is.function(workers)) [13:14:13.261] workers <- workers() [13:14:13.261] workers <- structure(as.integer(workers), [13:14:13.261] class = class(workers)) [13:14:13.261] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.261] workers >= 1) [13:14:13.261] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.261] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.261] } [13:14:13.261] future <- MultisessionFuture(..., workers = workers, [13:14:13.261] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.261] envir = envir) [13:14:13.261] if (!future$lazy) [13:14:13.261] future <- run(future) [13:14:13.261] invisible(future) [13:14:13.261] }), .cleanup = FALSE, .init = FALSE) [13:14:13.261] } [13:14:13.261] } [13:14:13.261] } [13:14:13.261] }) [13:14:13.261] if (TRUE) { [13:14:13.261] base::sink(type = "output", split = FALSE) [13:14:13.261] if (TRUE) { [13:14:13.261] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.261] } [13:14:13.261] else { [13:14:13.261] ...future.result["stdout"] <- base::list(NULL) [13:14:13.261] } [13:14:13.261] base::close(...future.stdout) [13:14:13.261] ...future.stdout <- NULL [13:14:13.261] } [13:14:13.261] ...future.result$conditions <- ...future.conditions [13:14:13.261] ...future.result$finished <- base::Sys.time() [13:14:13.261] ...future.result [13:14:13.261] } [13:14:13.266] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:13.267] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:13.267] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:13.270] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.271] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.271] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.271] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.272] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.272] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.272] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.273] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.273] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:13.274] MultisessionFuture started [13:14:13.274] - Launch lazy future ... done [13:14:13.274] run() for 'MultisessionFuture' ... done [13:14:13.274] Created future: [13:14:13.290] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.290] - Validating connection of MultisessionFuture [13:14:13.290] - received message: FutureResult [13:14:13.291] - Received FutureResult [13:14:13.291] - Erased future from FutureRegistry [13:14:13.291] result() for ClusterFuture ... [13:14:13.291] - result already collected: FutureResult [13:14:13.291] result() for ClusterFuture ... done [13:14:13.291] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.274] MultisessionFuture: [13:14:13.274] Label: 'future_sapply-2' [13:14:13.274] Expression: [13:14:13.274] { [13:14:13.274] do.call(function(...) { [13:14:13.274] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.274] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.274] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.274] on.exit(options(oopts), add = TRUE) [13:14:13.274] } [13:14:13.274] { [13:14:13.274] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.274] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.274] ...future.FUN(...future.X_jj, ...) [13:14:13.274] }) [13:14:13.274] } [13:14:13.274] }, args = future.call.arguments) [13:14:13.274] } [13:14:13.274] Lazy evaluation: FALSE [13:14:13.274] Asynchronous evaluation: TRUE [13:14:13.274] Local evaluation: TRUE [13:14:13.274] Environment: R_GlobalEnv [13:14:13.274] Capture standard output: TRUE [13:14:13.274] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.274] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.274] Packages: [13:14:13.274] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.274] Resolved: TRUE [13:14:13.274] Value: [13:14:13.274] Conditions captured: [13:14:13.274] Early signaling: FALSE [13:14:13.274] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.274] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.292] Chunk #2 of 2 ... DONE [13:14:13.292] Launching 2 futures (chunks) ... DONE [13:14:13.292] Resolving 2 futures (chunks) ... [13:14:13.292] resolve() on list ... [13:14:13.293] recursive: 0 [13:14:13.293] length: 2 [13:14:13.293] [13:14:13.293] Future #1 [13:14:13.293] result() for ClusterFuture ... [13:14:13.293] - result already collected: FutureResult [13:14:13.293] result() for ClusterFuture ... done [13:14:13.294] result() for ClusterFuture ... [13:14:13.294] - result already collected: FutureResult [13:14:13.294] result() for ClusterFuture ... done [13:14:13.294] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:13.294] - nx: 2 [13:14:13.294] - relay: TRUE [13:14:13.295] - stdout: TRUE [13:14:13.295] - signal: TRUE [13:14:13.295] - resignal: FALSE [13:14:13.295] - force: TRUE [13:14:13.295] - relayed: [n=2] FALSE, FALSE [13:14:13.295] - queued futures: [n=2] FALSE, FALSE [13:14:13.296] - until=1 [13:14:13.296] - relaying element #1 [13:14:13.296] result() for ClusterFuture ... [13:14:13.296] - result already collected: FutureResult [13:14:13.296] result() for ClusterFuture ... done [13:14:13.296] result() for ClusterFuture ... [13:14:13.296] - result already collected: FutureResult [13:14:13.297] result() for ClusterFuture ... done [13:14:13.297] result() for ClusterFuture ... [13:14:13.297] - result already collected: FutureResult [13:14:13.297] result() for ClusterFuture ... done [13:14:13.297] result() for ClusterFuture ... [13:14:13.297] - result already collected: FutureResult [13:14:13.298] result() for ClusterFuture ... done [13:14:13.298] - relayed: [n=2] TRUE, FALSE [13:14:13.298] - queued futures: [n=2] TRUE, FALSE [13:14:13.298] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:13.298] length: 1 (resolved future 1) [13:14:13.298] Future #2 [13:14:13.299] result() for ClusterFuture ... [13:14:13.299] - result already collected: FutureResult [13:14:13.299] result() for ClusterFuture ... done [13:14:13.299] result() for ClusterFuture ... [13:14:13.299] - result already collected: FutureResult [13:14:13.299] result() for ClusterFuture ... done [13:14:13.300] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:13.300] - nx: 2 [13:14:13.300] - relay: TRUE [13:14:13.300] - stdout: TRUE [13:14:13.300] - signal: TRUE [13:14:13.300] - resignal: FALSE [13:14:13.300] - force: TRUE [13:14:13.301] - relayed: [n=2] TRUE, FALSE [13:14:13.301] - queued futures: [n=2] TRUE, FALSE [13:14:13.301] - until=2 [13:14:13.301] - relaying element #2 [13:14:13.301] result() for ClusterFuture ... [13:14:13.301] - result already collected: FutureResult [13:14:13.302] result() for ClusterFuture ... done [13:14:13.302] result() for ClusterFuture ... [13:14:13.302] - result already collected: FutureResult [13:14:13.302] result() for ClusterFuture ... done [13:14:13.302] result() for ClusterFuture ... [13:14:13.302] - result already collected: FutureResult [13:14:13.303] result() for ClusterFuture ... done [13:14:13.303] result() for ClusterFuture ... [13:14:13.303] - result already collected: FutureResult [13:14:13.303] result() for ClusterFuture ... done [13:14:13.303] - relayed: [n=2] TRUE, TRUE [13:14:13.303] - queued futures: [n=2] TRUE, TRUE [13:14:13.303] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:13.304] length: 0 (resolved future 2) [13:14:13.304] Relaying remaining futures [13:14:13.304] signalConditionsASAP(NULL, pos=0) ... [13:14:13.304] - nx: 2 [13:14:13.304] - relay: TRUE [13:14:13.304] - stdout: TRUE [13:14:13.305] - signal: TRUE [13:14:13.305] - resignal: FALSE [13:14:13.305] - force: TRUE [13:14:13.305] - relayed: [n=2] TRUE, TRUE [13:14:13.305] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:13.305] - relayed: [n=2] TRUE, TRUE [13:14:13.306] - queued futures: [n=2] TRUE, TRUE [13:14:13.306] signalConditionsASAP(NULL, pos=0) ... done [13:14:13.306] resolve() on list ... DONE [13:14:13.306] result() for ClusterFuture ... [13:14:13.306] - result already collected: FutureResult [13:14:13.306] result() for ClusterFuture ... done [13:14:13.306] result() for ClusterFuture ... [13:14:13.307] - result already collected: FutureResult [13:14:13.307] result() for ClusterFuture ... done [13:14:13.307] result() for ClusterFuture ... [13:14:13.307] - result already collected: FutureResult [13:14:13.307] result() for ClusterFuture ... done [13:14:13.307] result() for ClusterFuture ... [13:14:13.308] - result already collected: FutureResult [13:14:13.308] result() for ClusterFuture ... done [13:14:13.308] - Number of value chunks collected: 2 [13:14:13.308] Resolving 2 futures (chunks) ... DONE [13:14:13.308] Reducing values from 2 chunks ... [13:14:13.308] - Number of values collected after concatenation: 4 [13:14:13.308] - Number of values expected: 4 [13:14:13.309] Reducing values from 2 chunks ... DONE [13:14:13.309] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:13.311] future_lapply() ... [13:14:13.314] Number of chunks: 2 [13:14:13.314] getGlobalsAndPackagesXApply() ... [13:14:13.314] - future.globals: TRUE [13:14:13.314] getGlobalsAndPackages() ... [13:14:13.314] Searching for globals... [13:14:13.316] - globals found: [2] 'FUN', 'UseMethod' [13:14:13.316] Searching for globals ... DONE [13:14:13.316] Resolving globals: FALSE [13:14:13.316] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:13.317] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:13.317] - globals: [1] 'FUN' [13:14:13.317] [13:14:13.317] getGlobalsAndPackages() ... DONE [13:14:13.318] - globals found/used: [n=1] 'FUN' [13:14:13.318] - needed namespaces: [n=0] [13:14:13.318] Finding globals ... DONE [13:14:13.318] - use_args: TRUE [13:14:13.318] - Getting '...' globals ... [13:14:13.319] resolve() on list ... [13:14:13.319] recursive: 0 [13:14:13.319] length: 1 [13:14:13.319] elements: '...' [13:14:13.319] length: 0 (resolved future 1) [13:14:13.319] resolve() on list ... DONE [13:14:13.320] - '...' content: [n=0] [13:14:13.320] List of 1 [13:14:13.320] $ ...: list() [13:14:13.320] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.320] - attr(*, "where")=List of 1 [13:14:13.320] ..$ ...: [13:14:13.320] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.320] - attr(*, "resolved")= logi TRUE [13:14:13.320] - attr(*, "total_size")= num NA [13:14:13.323] - Getting '...' globals ... DONE [13:14:13.323] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:13.323] List of 2 [13:14:13.323] $ ...future.FUN:function (x, ...) [13:14:13.323] $ ... : list() [13:14:13.323] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.323] - attr(*, "where")=List of 2 [13:14:13.323] ..$ ...future.FUN: [13:14:13.323] ..$ ... : [13:14:13.323] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.323] - attr(*, "resolved")= logi FALSE [13:14:13.323] - attr(*, "total_size")= num 1248 [13:14:13.326] Packages to be attached in all futures: [n=0] [13:14:13.327] getGlobalsAndPackagesXApply() ... DONE [13:14:13.327] Number of futures (= number of chunks): 2 [13:14:13.327] Launching 2 futures (chunks) ... [13:14:13.327] Chunk #1 of 2 ... [13:14:13.327] - Finding globals in 'X' for chunk #1 ... [13:14:13.328] getGlobalsAndPackages() ... [13:14:13.328] Searching for globals... [13:14:13.328] [13:14:13.328] Searching for globals ... DONE [13:14:13.328] - globals: [0] [13:14:13.329] getGlobalsAndPackages() ... DONE [13:14:13.329] + additional globals found: [n=0] [13:14:13.329] + additional namespaces needed: [n=0] [13:14:13.329] - Finding globals in 'X' for chunk #1 ... DONE [13:14:13.329] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.330] - seeds: [13:14:13.330] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.330] getGlobalsAndPackages() ... [13:14:13.330] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.330] Resolving globals: FALSE [13:14:13.330] Tweak future expression to call with '...' arguments ... [13:14:13.331] { [13:14:13.331] do.call(function(...) { [13:14:13.331] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.331] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.331] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.331] on.exit(options(oopts), add = TRUE) [13:14:13.331] } [13:14:13.331] { [13:14:13.331] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.331] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.331] ...future.FUN(...future.X_jj, ...) [13:14:13.331] }) [13:14:13.331] } [13:14:13.331] }, args = future.call.arguments) [13:14:13.331] } [13:14:13.331] Tweak future expression to call with '...' arguments ... DONE [13:14:13.332] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.332] [13:14:13.332] getGlobalsAndPackages() ... DONE [13:14:13.332] run() for 'Future' ... [13:14:13.332] - state: 'created' [13:14:13.333] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.348] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.348] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.348] - Field: 'node' [13:14:13.348] - Field: 'label' [13:14:13.348] - Field: 'local' [13:14:13.349] - Field: 'owner' [13:14:13.349] - Field: 'envir' [13:14:13.349] - Field: 'workers' [13:14:13.349] - Field: 'packages' [13:14:13.349] - Field: 'gc' [13:14:13.350] - Field: 'conditions' [13:14:13.350] - Field: 'persistent' [13:14:13.350] - Field: 'expr' [13:14:13.350] - Field: 'uuid' [13:14:13.350] - Field: 'seed' [13:14:13.350] - Field: 'version' [13:14:13.351] - Field: 'result' [13:14:13.351] - Field: 'asynchronous' [13:14:13.351] - Field: 'calls' [13:14:13.351] - Field: 'globals' [13:14:13.351] - Field: 'stdout' [13:14:13.351] - Field: 'earlySignal' [13:14:13.352] - Field: 'lazy' [13:14:13.352] - Field: 'state' [13:14:13.352] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.352] - Launch lazy future ... [13:14:13.353] Packages needed by the future expression (n = 0): [13:14:13.353] Packages needed by future strategies (n = 0): [13:14:13.353] { [13:14:13.353] { [13:14:13.353] { [13:14:13.353] ...future.startTime <- base::Sys.time() [13:14:13.353] { [13:14:13.353] { [13:14:13.353] { [13:14:13.353] { [13:14:13.353] base::local({ [13:14:13.353] has_future <- base::requireNamespace("future", [13:14:13.353] quietly = TRUE) [13:14:13.353] if (has_future) { [13:14:13.353] ns <- base::getNamespace("future") [13:14:13.353] version <- ns[[".package"]][["version"]] [13:14:13.353] if (is.null(version)) [13:14:13.353] version <- utils::packageVersion("future") [13:14:13.353] } [13:14:13.353] else { [13:14:13.353] version <- NULL [13:14:13.353] } [13:14:13.353] if (!has_future || version < "1.8.0") { [13:14:13.353] info <- base::c(r_version = base::gsub("R version ", [13:14:13.353] "", base::R.version$version.string), [13:14:13.353] platform = base::sprintf("%s (%s-bit)", [13:14:13.353] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.353] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.353] "release", "version")], collapse = " "), [13:14:13.353] hostname = base::Sys.info()[["nodename"]]) [13:14:13.353] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.353] info) [13:14:13.353] info <- base::paste(info, collapse = "; ") [13:14:13.353] if (!has_future) { [13:14:13.353] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.353] info) [13:14:13.353] } [13:14:13.353] else { [13:14:13.353] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.353] info, version) [13:14:13.353] } [13:14:13.353] base::stop(msg) [13:14:13.353] } [13:14:13.353] }) [13:14:13.353] } [13:14:13.353] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.353] base::options(mc.cores = 1L) [13:14:13.353] } [13:14:13.353] options(future.plan = NULL) [13:14:13.353] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.353] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.353] } [13:14:13.353] ...future.workdir <- getwd() [13:14:13.353] } [13:14:13.353] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.353] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.353] } [13:14:13.353] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.353] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.353] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.353] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.353] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.353] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.353] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.353] base::names(...future.oldOptions)) [13:14:13.353] } [13:14:13.353] if (FALSE) { [13:14:13.353] } [13:14:13.353] else { [13:14:13.353] if (TRUE) { [13:14:13.353] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.353] open = "w") [13:14:13.353] } [13:14:13.353] else { [13:14:13.353] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.353] windows = "NUL", "/dev/null"), open = "w") [13:14:13.353] } [13:14:13.353] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.353] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.353] base::sink(type = "output", split = FALSE) [13:14:13.353] base::close(...future.stdout) [13:14:13.353] }, add = TRUE) [13:14:13.353] } [13:14:13.353] ...future.frame <- base::sys.nframe() [13:14:13.353] ...future.conditions <- base::list() [13:14:13.353] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.353] if (FALSE) { [13:14:13.353] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.353] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.353] } [13:14:13.353] ...future.result <- base::tryCatch({ [13:14:13.353] base::withCallingHandlers({ [13:14:13.353] ...future.value <- base::withVisible(base::local({ [13:14:13.353] ...future.makeSendCondition <- local({ [13:14:13.353] sendCondition <- NULL [13:14:13.353] function(frame = 1L) { [13:14:13.353] if (is.function(sendCondition)) [13:14:13.353] return(sendCondition) [13:14:13.353] ns <- getNamespace("parallel") [13:14:13.353] if (exists("sendData", mode = "function", [13:14:13.353] envir = ns)) { [13:14:13.353] parallel_sendData <- get("sendData", mode = "function", [13:14:13.353] envir = ns) [13:14:13.353] envir <- sys.frame(frame) [13:14:13.353] master <- NULL [13:14:13.353] while (!identical(envir, .GlobalEnv) && [13:14:13.353] !identical(envir, emptyenv())) { [13:14:13.353] if (exists("master", mode = "list", envir = envir, [13:14:13.353] inherits = FALSE)) { [13:14:13.353] master <- get("master", mode = "list", [13:14:13.353] envir = envir, inherits = FALSE) [13:14:13.353] if (inherits(master, c("SOCKnode", [13:14:13.353] "SOCK0node"))) { [13:14:13.353] sendCondition <<- function(cond) { [13:14:13.353] data <- list(type = "VALUE", value = cond, [13:14:13.353] success = TRUE) [13:14:13.353] parallel_sendData(master, data) [13:14:13.353] } [13:14:13.353] return(sendCondition) [13:14:13.353] } [13:14:13.353] } [13:14:13.353] frame <- frame + 1L [13:14:13.353] envir <- sys.frame(frame) [13:14:13.353] } [13:14:13.353] } [13:14:13.353] sendCondition <<- function(cond) NULL [13:14:13.353] } [13:14:13.353] }) [13:14:13.353] withCallingHandlers({ [13:14:13.353] { [13:14:13.353] do.call(function(...) { [13:14:13.353] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.353] if (!identical(...future.globals.maxSize.org, [13:14:13.353] ...future.globals.maxSize)) { [13:14:13.353] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.353] on.exit(options(oopts), add = TRUE) [13:14:13.353] } [13:14:13.353] { [13:14:13.353] lapply(seq_along(...future.elements_ii), [13:14:13.353] FUN = function(jj) { [13:14:13.353] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.353] ...future.FUN(...future.X_jj, ...) [13:14:13.353] }) [13:14:13.353] } [13:14:13.353] }, args = future.call.arguments) [13:14:13.353] } [13:14:13.353] }, immediateCondition = function(cond) { [13:14:13.353] sendCondition <- ...future.makeSendCondition() [13:14:13.353] sendCondition(cond) [13:14:13.353] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.353] { [13:14:13.353] inherits <- base::inherits [13:14:13.353] invokeRestart <- base::invokeRestart [13:14:13.353] is.null <- base::is.null [13:14:13.353] muffled <- FALSE [13:14:13.353] if (inherits(cond, "message")) { [13:14:13.353] muffled <- grepl(pattern, "muffleMessage") [13:14:13.353] if (muffled) [13:14:13.353] invokeRestart("muffleMessage") [13:14:13.353] } [13:14:13.353] else if (inherits(cond, "warning")) { [13:14:13.353] muffled <- grepl(pattern, "muffleWarning") [13:14:13.353] if (muffled) [13:14:13.353] invokeRestart("muffleWarning") [13:14:13.353] } [13:14:13.353] else if (inherits(cond, "condition")) { [13:14:13.353] if (!is.null(pattern)) { [13:14:13.353] computeRestarts <- base::computeRestarts [13:14:13.353] grepl <- base::grepl [13:14:13.353] restarts <- computeRestarts(cond) [13:14:13.353] for (restart in restarts) { [13:14:13.353] name <- restart$name [13:14:13.353] if (is.null(name)) [13:14:13.353] next [13:14:13.353] if (!grepl(pattern, name)) [13:14:13.353] next [13:14:13.353] invokeRestart(restart) [13:14:13.353] muffled <- TRUE [13:14:13.353] break [13:14:13.353] } [13:14:13.353] } [13:14:13.353] } [13:14:13.353] invisible(muffled) [13:14:13.353] } [13:14:13.353] muffleCondition(cond) [13:14:13.353] }) [13:14:13.353] })) [13:14:13.353] future::FutureResult(value = ...future.value$value, [13:14:13.353] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.353] ...future.rng), globalenv = if (FALSE) [13:14:13.353] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.353] ...future.globalenv.names)) [13:14:13.353] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.353] }, condition = base::local({ [13:14:13.353] c <- base::c [13:14:13.353] inherits <- base::inherits [13:14:13.353] invokeRestart <- base::invokeRestart [13:14:13.353] length <- base::length [13:14:13.353] list <- base::list [13:14:13.353] seq.int <- base::seq.int [13:14:13.353] signalCondition <- base::signalCondition [13:14:13.353] sys.calls <- base::sys.calls [13:14:13.353] `[[` <- base::`[[` [13:14:13.353] `+` <- base::`+` [13:14:13.353] `<<-` <- base::`<<-` [13:14:13.353] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.353] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.353] 3L)] [13:14:13.353] } [13:14:13.353] function(cond) { [13:14:13.353] is_error <- inherits(cond, "error") [13:14:13.353] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.353] NULL) [13:14:13.353] if (is_error) { [13:14:13.353] sessionInformation <- function() { [13:14:13.353] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.353] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.353] search = base::search(), system = base::Sys.info()) [13:14:13.353] } [13:14:13.353] ...future.conditions[[length(...future.conditions) + [13:14:13.353] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.353] cond$call), session = sessionInformation(), [13:14:13.353] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.353] signalCondition(cond) [13:14:13.353] } [13:14:13.353] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.353] "immediateCondition"))) { [13:14:13.353] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.353] ...future.conditions[[length(...future.conditions) + [13:14:13.353] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.353] if (TRUE && !signal) { [13:14:13.353] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.353] { [13:14:13.353] inherits <- base::inherits [13:14:13.353] invokeRestart <- base::invokeRestart [13:14:13.353] is.null <- base::is.null [13:14:13.353] muffled <- FALSE [13:14:13.353] if (inherits(cond, "message")) { [13:14:13.353] muffled <- grepl(pattern, "muffleMessage") [13:14:13.353] if (muffled) [13:14:13.353] invokeRestart("muffleMessage") [13:14:13.353] } [13:14:13.353] else if (inherits(cond, "warning")) { [13:14:13.353] muffled <- grepl(pattern, "muffleWarning") [13:14:13.353] if (muffled) [13:14:13.353] invokeRestart("muffleWarning") [13:14:13.353] } [13:14:13.353] else if (inherits(cond, "condition")) { [13:14:13.353] if (!is.null(pattern)) { [13:14:13.353] computeRestarts <- base::computeRestarts [13:14:13.353] grepl <- base::grepl [13:14:13.353] restarts <- computeRestarts(cond) [13:14:13.353] for (restart in restarts) { [13:14:13.353] name <- restart$name [13:14:13.353] if (is.null(name)) [13:14:13.353] next [13:14:13.353] if (!grepl(pattern, name)) [13:14:13.353] next [13:14:13.353] invokeRestart(restart) [13:14:13.353] muffled <- TRUE [13:14:13.353] break [13:14:13.353] } [13:14:13.353] } [13:14:13.353] } [13:14:13.353] invisible(muffled) [13:14:13.353] } [13:14:13.353] muffleCondition(cond, pattern = "^muffle") [13:14:13.353] } [13:14:13.353] } [13:14:13.353] else { [13:14:13.353] if (TRUE) { [13:14:13.353] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.353] { [13:14:13.353] inherits <- base::inherits [13:14:13.353] invokeRestart <- base::invokeRestart [13:14:13.353] is.null <- base::is.null [13:14:13.353] muffled <- FALSE [13:14:13.353] if (inherits(cond, "message")) { [13:14:13.353] muffled <- grepl(pattern, "muffleMessage") [13:14:13.353] if (muffled) [13:14:13.353] invokeRestart("muffleMessage") [13:14:13.353] } [13:14:13.353] else if (inherits(cond, "warning")) { [13:14:13.353] muffled <- grepl(pattern, "muffleWarning") [13:14:13.353] if (muffled) [13:14:13.353] invokeRestart("muffleWarning") [13:14:13.353] } [13:14:13.353] else if (inherits(cond, "condition")) { [13:14:13.353] if (!is.null(pattern)) { [13:14:13.353] computeRestarts <- base::computeRestarts [13:14:13.353] grepl <- base::grepl [13:14:13.353] restarts <- computeRestarts(cond) [13:14:13.353] for (restart in restarts) { [13:14:13.353] name <- restart$name [13:14:13.353] if (is.null(name)) [13:14:13.353] next [13:14:13.353] if (!grepl(pattern, name)) [13:14:13.353] next [13:14:13.353] invokeRestart(restart) [13:14:13.353] muffled <- TRUE [13:14:13.353] break [13:14:13.353] } [13:14:13.353] } [13:14:13.353] } [13:14:13.353] invisible(muffled) [13:14:13.353] } [13:14:13.353] muffleCondition(cond, pattern = "^muffle") [13:14:13.353] } [13:14:13.353] } [13:14:13.353] } [13:14:13.353] })) [13:14:13.353] }, error = function(ex) { [13:14:13.353] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.353] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.353] ...future.rng), started = ...future.startTime, [13:14:13.353] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.353] version = "1.8"), class = "FutureResult") [13:14:13.353] }, finally = { [13:14:13.353] if (!identical(...future.workdir, getwd())) [13:14:13.353] setwd(...future.workdir) [13:14:13.353] { [13:14:13.353] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.353] ...future.oldOptions$nwarnings <- NULL [13:14:13.353] } [13:14:13.353] base::options(...future.oldOptions) [13:14:13.353] if (.Platform$OS.type == "windows") { [13:14:13.353] old_names <- names(...future.oldEnvVars) [13:14:13.353] envs <- base::Sys.getenv() [13:14:13.353] names <- names(envs) [13:14:13.353] common <- intersect(names, old_names) [13:14:13.353] added <- setdiff(names, old_names) [13:14:13.353] removed <- setdiff(old_names, names) [13:14:13.353] changed <- common[...future.oldEnvVars[common] != [13:14:13.353] envs[common]] [13:14:13.353] NAMES <- toupper(changed) [13:14:13.353] args <- list() [13:14:13.353] for (kk in seq_along(NAMES)) { [13:14:13.353] name <- changed[[kk]] [13:14:13.353] NAME <- NAMES[[kk]] [13:14:13.353] if (name != NAME && is.element(NAME, old_names)) [13:14:13.353] next [13:14:13.353] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.353] } [13:14:13.353] NAMES <- toupper(added) [13:14:13.353] for (kk in seq_along(NAMES)) { [13:14:13.353] name <- added[[kk]] [13:14:13.353] NAME <- NAMES[[kk]] [13:14:13.353] if (name != NAME && is.element(NAME, old_names)) [13:14:13.353] next [13:14:13.353] args[[name]] <- "" [13:14:13.353] } [13:14:13.353] NAMES <- toupper(removed) [13:14:13.353] for (kk in seq_along(NAMES)) { [13:14:13.353] name <- removed[[kk]] [13:14:13.353] NAME <- NAMES[[kk]] [13:14:13.353] if (name != NAME && is.element(NAME, old_names)) [13:14:13.353] next [13:14:13.353] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.353] } [13:14:13.353] if (length(args) > 0) [13:14:13.353] base::do.call(base::Sys.setenv, args = args) [13:14:13.353] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.353] } [13:14:13.353] else { [13:14:13.353] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.353] } [13:14:13.353] { [13:14:13.353] if (base::length(...future.futureOptionsAdded) > [13:14:13.353] 0L) { [13:14:13.353] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.353] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.353] base::options(opts) [13:14:13.353] } [13:14:13.353] { [13:14:13.353] { [13:14:13.353] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.353] NULL [13:14:13.353] } [13:14:13.353] options(future.plan = NULL) [13:14:13.353] if (is.na(NA_character_)) [13:14:13.353] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.353] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.353] future::plan(list(function (..., workers = availableCores(), [13:14:13.353] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.353] envir = parent.frame()) [13:14:13.353] { [13:14:13.353] if (is.function(workers)) [13:14:13.353] workers <- workers() [13:14:13.353] workers <- structure(as.integer(workers), [13:14:13.353] class = class(workers)) [13:14:13.353] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.353] workers >= 1) [13:14:13.353] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.353] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.353] } [13:14:13.353] future <- MultisessionFuture(..., workers = workers, [13:14:13.353] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.353] envir = envir) [13:14:13.353] if (!future$lazy) [13:14:13.353] future <- run(future) [13:14:13.353] invisible(future) [13:14:13.353] }), .cleanup = FALSE, .init = FALSE) [13:14:13.353] } [13:14:13.353] } [13:14:13.353] } [13:14:13.353] }) [13:14:13.353] if (TRUE) { [13:14:13.353] base::sink(type = "output", split = FALSE) [13:14:13.353] if (TRUE) { [13:14:13.353] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.353] } [13:14:13.353] else { [13:14:13.353] ...future.result["stdout"] <- base::list(NULL) [13:14:13.353] } [13:14:13.353] base::close(...future.stdout) [13:14:13.353] ...future.stdout <- NULL [13:14:13.353] } [13:14:13.353] ...future.result$conditions <- ...future.conditions [13:14:13.353] ...future.result$finished <- base::Sys.time() [13:14:13.353] ...future.result [13:14:13.353] } [13:14:13.359] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:13.359] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:13.360] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:13.360] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.361] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.361] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.361] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.361] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.362] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.362] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.362] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.363] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:13.363] MultisessionFuture started [13:14:13.363] - Launch lazy future ... done [13:14:13.364] run() for 'MultisessionFuture' ... done [13:14:13.364] Created future: [13:14:13.380] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.380] - Validating connection of MultisessionFuture [13:14:13.380] - received message: FutureResult [13:14:13.380] - Received FutureResult [13:14:13.381] - Erased future from FutureRegistry [13:14:13.381] result() for ClusterFuture ... [13:14:13.381] - result already collected: FutureResult [13:14:13.381] result() for ClusterFuture ... done [13:14:13.381] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.364] MultisessionFuture: [13:14:13.364] Label: 'future_sapply-1' [13:14:13.364] Expression: [13:14:13.364] { [13:14:13.364] do.call(function(...) { [13:14:13.364] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.364] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.364] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.364] on.exit(options(oopts), add = TRUE) [13:14:13.364] } [13:14:13.364] { [13:14:13.364] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.364] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.364] ...future.FUN(...future.X_jj, ...) [13:14:13.364] }) [13:14:13.364] } [13:14:13.364] }, args = future.call.arguments) [13:14:13.364] } [13:14:13.364] Lazy evaluation: FALSE [13:14:13.364] Asynchronous evaluation: TRUE [13:14:13.364] Local evaluation: TRUE [13:14:13.364] Environment: R_GlobalEnv [13:14:13.364] Capture standard output: TRUE [13:14:13.364] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.364] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.364] Packages: [13:14:13.364] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.364] Resolved: TRUE [13:14:13.364] Value: [13:14:13.364] Conditions captured: [13:14:13.364] Early signaling: FALSE [13:14:13.364] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.364] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.382] Chunk #1 of 2 ... DONE [13:14:13.382] Chunk #2 of 2 ... [13:14:13.382] - Finding globals in 'X' for chunk #2 ... [13:14:13.382] getGlobalsAndPackages() ... [13:14:13.382] Searching for globals... [13:14:13.383] [13:14:13.383] Searching for globals ... DONE [13:14:13.383] - globals: [0] [13:14:13.383] getGlobalsAndPackages() ... DONE [13:14:13.383] + additional globals found: [n=0] [13:14:13.383] + additional namespaces needed: [n=0] [13:14:13.384] - Finding globals in 'X' for chunk #2 ... DONE [13:14:13.384] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.384] - seeds: [13:14:13.384] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.384] getGlobalsAndPackages() ... [13:14:13.384] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.385] Resolving globals: FALSE [13:14:13.385] Tweak future expression to call with '...' arguments ... [13:14:13.385] { [13:14:13.385] do.call(function(...) { [13:14:13.385] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.385] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.385] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.385] on.exit(options(oopts), add = TRUE) [13:14:13.385] } [13:14:13.385] { [13:14:13.385] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.385] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.385] ...future.FUN(...future.X_jj, ...) [13:14:13.385] }) [13:14:13.385] } [13:14:13.385] }, args = future.call.arguments) [13:14:13.385] } [13:14:13.385] Tweak future expression to call with '...' arguments ... DONE [13:14:13.386] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.386] [13:14:13.386] getGlobalsAndPackages() ... DONE [13:14:13.387] run() for 'Future' ... [13:14:13.387] - state: 'created' [13:14:13.387] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.401] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.401] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.401] - Field: 'node' [13:14:13.402] - Field: 'label' [13:14:13.402] - Field: 'local' [13:14:13.402] - Field: 'owner' [13:14:13.402] - Field: 'envir' [13:14:13.402] - Field: 'workers' [13:14:13.403] - Field: 'packages' [13:14:13.403] - Field: 'gc' [13:14:13.403] - Field: 'conditions' [13:14:13.403] - Field: 'persistent' [13:14:13.403] - Field: 'expr' [13:14:13.403] - Field: 'uuid' [13:14:13.404] - Field: 'seed' [13:14:13.404] - Field: 'version' [13:14:13.404] - Field: 'result' [13:14:13.404] - Field: 'asynchronous' [13:14:13.404] - Field: 'calls' [13:14:13.404] - Field: 'globals' [13:14:13.405] - Field: 'stdout' [13:14:13.405] - Field: 'earlySignal' [13:14:13.405] - Field: 'lazy' [13:14:13.405] - Field: 'state' [13:14:13.405] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.406] - Launch lazy future ... [13:14:13.406] Packages needed by the future expression (n = 0): [13:14:13.406] Packages needed by future strategies (n = 0): [13:14:13.407] { [13:14:13.407] { [13:14:13.407] { [13:14:13.407] ...future.startTime <- base::Sys.time() [13:14:13.407] { [13:14:13.407] { [13:14:13.407] { [13:14:13.407] { [13:14:13.407] base::local({ [13:14:13.407] has_future <- base::requireNamespace("future", [13:14:13.407] quietly = TRUE) [13:14:13.407] if (has_future) { [13:14:13.407] ns <- base::getNamespace("future") [13:14:13.407] version <- ns[[".package"]][["version"]] [13:14:13.407] if (is.null(version)) [13:14:13.407] version <- utils::packageVersion("future") [13:14:13.407] } [13:14:13.407] else { [13:14:13.407] version <- NULL [13:14:13.407] } [13:14:13.407] if (!has_future || version < "1.8.0") { [13:14:13.407] info <- base::c(r_version = base::gsub("R version ", [13:14:13.407] "", base::R.version$version.string), [13:14:13.407] platform = base::sprintf("%s (%s-bit)", [13:14:13.407] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.407] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.407] "release", "version")], collapse = " "), [13:14:13.407] hostname = base::Sys.info()[["nodename"]]) [13:14:13.407] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.407] info) [13:14:13.407] info <- base::paste(info, collapse = "; ") [13:14:13.407] if (!has_future) { [13:14:13.407] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.407] info) [13:14:13.407] } [13:14:13.407] else { [13:14:13.407] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.407] info, version) [13:14:13.407] } [13:14:13.407] base::stop(msg) [13:14:13.407] } [13:14:13.407] }) [13:14:13.407] } [13:14:13.407] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.407] base::options(mc.cores = 1L) [13:14:13.407] } [13:14:13.407] options(future.plan = NULL) [13:14:13.407] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.407] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.407] } [13:14:13.407] ...future.workdir <- getwd() [13:14:13.407] } [13:14:13.407] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.407] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.407] } [13:14:13.407] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.407] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.407] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.407] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.407] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.407] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.407] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.407] base::names(...future.oldOptions)) [13:14:13.407] } [13:14:13.407] if (FALSE) { [13:14:13.407] } [13:14:13.407] else { [13:14:13.407] if (TRUE) { [13:14:13.407] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.407] open = "w") [13:14:13.407] } [13:14:13.407] else { [13:14:13.407] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.407] windows = "NUL", "/dev/null"), open = "w") [13:14:13.407] } [13:14:13.407] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.407] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.407] base::sink(type = "output", split = FALSE) [13:14:13.407] base::close(...future.stdout) [13:14:13.407] }, add = TRUE) [13:14:13.407] } [13:14:13.407] ...future.frame <- base::sys.nframe() [13:14:13.407] ...future.conditions <- base::list() [13:14:13.407] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.407] if (FALSE) { [13:14:13.407] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.407] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.407] } [13:14:13.407] ...future.result <- base::tryCatch({ [13:14:13.407] base::withCallingHandlers({ [13:14:13.407] ...future.value <- base::withVisible(base::local({ [13:14:13.407] ...future.makeSendCondition <- local({ [13:14:13.407] sendCondition <- NULL [13:14:13.407] function(frame = 1L) { [13:14:13.407] if (is.function(sendCondition)) [13:14:13.407] return(sendCondition) [13:14:13.407] ns <- getNamespace("parallel") [13:14:13.407] if (exists("sendData", mode = "function", [13:14:13.407] envir = ns)) { [13:14:13.407] parallel_sendData <- get("sendData", mode = "function", [13:14:13.407] envir = ns) [13:14:13.407] envir <- sys.frame(frame) [13:14:13.407] master <- NULL [13:14:13.407] while (!identical(envir, .GlobalEnv) && [13:14:13.407] !identical(envir, emptyenv())) { [13:14:13.407] if (exists("master", mode = "list", envir = envir, [13:14:13.407] inherits = FALSE)) { [13:14:13.407] master <- get("master", mode = "list", [13:14:13.407] envir = envir, inherits = FALSE) [13:14:13.407] if (inherits(master, c("SOCKnode", [13:14:13.407] "SOCK0node"))) { [13:14:13.407] sendCondition <<- function(cond) { [13:14:13.407] data <- list(type = "VALUE", value = cond, [13:14:13.407] success = TRUE) [13:14:13.407] parallel_sendData(master, data) [13:14:13.407] } [13:14:13.407] return(sendCondition) [13:14:13.407] } [13:14:13.407] } [13:14:13.407] frame <- frame + 1L [13:14:13.407] envir <- sys.frame(frame) [13:14:13.407] } [13:14:13.407] } [13:14:13.407] sendCondition <<- function(cond) NULL [13:14:13.407] } [13:14:13.407] }) [13:14:13.407] withCallingHandlers({ [13:14:13.407] { [13:14:13.407] do.call(function(...) { [13:14:13.407] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.407] if (!identical(...future.globals.maxSize.org, [13:14:13.407] ...future.globals.maxSize)) { [13:14:13.407] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.407] on.exit(options(oopts), add = TRUE) [13:14:13.407] } [13:14:13.407] { [13:14:13.407] lapply(seq_along(...future.elements_ii), [13:14:13.407] FUN = function(jj) { [13:14:13.407] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.407] ...future.FUN(...future.X_jj, ...) [13:14:13.407] }) [13:14:13.407] } [13:14:13.407] }, args = future.call.arguments) [13:14:13.407] } [13:14:13.407] }, immediateCondition = function(cond) { [13:14:13.407] sendCondition <- ...future.makeSendCondition() [13:14:13.407] sendCondition(cond) [13:14:13.407] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.407] { [13:14:13.407] inherits <- base::inherits [13:14:13.407] invokeRestart <- base::invokeRestart [13:14:13.407] is.null <- base::is.null [13:14:13.407] muffled <- FALSE [13:14:13.407] if (inherits(cond, "message")) { [13:14:13.407] muffled <- grepl(pattern, "muffleMessage") [13:14:13.407] if (muffled) [13:14:13.407] invokeRestart("muffleMessage") [13:14:13.407] } [13:14:13.407] else if (inherits(cond, "warning")) { [13:14:13.407] muffled <- grepl(pattern, "muffleWarning") [13:14:13.407] if (muffled) [13:14:13.407] invokeRestart("muffleWarning") [13:14:13.407] } [13:14:13.407] else if (inherits(cond, "condition")) { [13:14:13.407] if (!is.null(pattern)) { [13:14:13.407] computeRestarts <- base::computeRestarts [13:14:13.407] grepl <- base::grepl [13:14:13.407] restarts <- computeRestarts(cond) [13:14:13.407] for (restart in restarts) { [13:14:13.407] name <- restart$name [13:14:13.407] if (is.null(name)) [13:14:13.407] next [13:14:13.407] if (!grepl(pattern, name)) [13:14:13.407] next [13:14:13.407] invokeRestart(restart) [13:14:13.407] muffled <- TRUE [13:14:13.407] break [13:14:13.407] } [13:14:13.407] } [13:14:13.407] } [13:14:13.407] invisible(muffled) [13:14:13.407] } [13:14:13.407] muffleCondition(cond) [13:14:13.407] }) [13:14:13.407] })) [13:14:13.407] future::FutureResult(value = ...future.value$value, [13:14:13.407] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.407] ...future.rng), globalenv = if (FALSE) [13:14:13.407] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.407] ...future.globalenv.names)) [13:14:13.407] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.407] }, condition = base::local({ [13:14:13.407] c <- base::c [13:14:13.407] inherits <- base::inherits [13:14:13.407] invokeRestart <- base::invokeRestart [13:14:13.407] length <- base::length [13:14:13.407] list <- base::list [13:14:13.407] seq.int <- base::seq.int [13:14:13.407] signalCondition <- base::signalCondition [13:14:13.407] sys.calls <- base::sys.calls [13:14:13.407] `[[` <- base::`[[` [13:14:13.407] `+` <- base::`+` [13:14:13.407] `<<-` <- base::`<<-` [13:14:13.407] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.407] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.407] 3L)] [13:14:13.407] } [13:14:13.407] function(cond) { [13:14:13.407] is_error <- inherits(cond, "error") [13:14:13.407] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.407] NULL) [13:14:13.407] if (is_error) { [13:14:13.407] sessionInformation <- function() { [13:14:13.407] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.407] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.407] search = base::search(), system = base::Sys.info()) [13:14:13.407] } [13:14:13.407] ...future.conditions[[length(...future.conditions) + [13:14:13.407] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.407] cond$call), session = sessionInformation(), [13:14:13.407] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.407] signalCondition(cond) [13:14:13.407] } [13:14:13.407] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.407] "immediateCondition"))) { [13:14:13.407] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.407] ...future.conditions[[length(...future.conditions) + [13:14:13.407] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.407] if (TRUE && !signal) { [13:14:13.407] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.407] { [13:14:13.407] inherits <- base::inherits [13:14:13.407] invokeRestart <- base::invokeRestart [13:14:13.407] is.null <- base::is.null [13:14:13.407] muffled <- FALSE [13:14:13.407] if (inherits(cond, "message")) { [13:14:13.407] muffled <- grepl(pattern, "muffleMessage") [13:14:13.407] if (muffled) [13:14:13.407] invokeRestart("muffleMessage") [13:14:13.407] } [13:14:13.407] else if (inherits(cond, "warning")) { [13:14:13.407] muffled <- grepl(pattern, "muffleWarning") [13:14:13.407] if (muffled) [13:14:13.407] invokeRestart("muffleWarning") [13:14:13.407] } [13:14:13.407] else if (inherits(cond, "condition")) { [13:14:13.407] if (!is.null(pattern)) { [13:14:13.407] computeRestarts <- base::computeRestarts [13:14:13.407] grepl <- base::grepl [13:14:13.407] restarts <- computeRestarts(cond) [13:14:13.407] for (restart in restarts) { [13:14:13.407] name <- restart$name [13:14:13.407] if (is.null(name)) [13:14:13.407] next [13:14:13.407] if (!grepl(pattern, name)) [13:14:13.407] next [13:14:13.407] invokeRestart(restart) [13:14:13.407] muffled <- TRUE [13:14:13.407] break [13:14:13.407] } [13:14:13.407] } [13:14:13.407] } [13:14:13.407] invisible(muffled) [13:14:13.407] } [13:14:13.407] muffleCondition(cond, pattern = "^muffle") [13:14:13.407] } [13:14:13.407] } [13:14:13.407] else { [13:14:13.407] if (TRUE) { [13:14:13.407] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.407] { [13:14:13.407] inherits <- base::inherits [13:14:13.407] invokeRestart <- base::invokeRestart [13:14:13.407] is.null <- base::is.null [13:14:13.407] muffled <- FALSE [13:14:13.407] if (inherits(cond, "message")) { [13:14:13.407] muffled <- grepl(pattern, "muffleMessage") [13:14:13.407] if (muffled) [13:14:13.407] invokeRestart("muffleMessage") [13:14:13.407] } [13:14:13.407] else if (inherits(cond, "warning")) { [13:14:13.407] muffled <- grepl(pattern, "muffleWarning") [13:14:13.407] if (muffled) [13:14:13.407] invokeRestart("muffleWarning") [13:14:13.407] } [13:14:13.407] else if (inherits(cond, "condition")) { [13:14:13.407] if (!is.null(pattern)) { [13:14:13.407] computeRestarts <- base::computeRestarts [13:14:13.407] grepl <- base::grepl [13:14:13.407] restarts <- computeRestarts(cond) [13:14:13.407] for (restart in restarts) { [13:14:13.407] name <- restart$name [13:14:13.407] if (is.null(name)) [13:14:13.407] next [13:14:13.407] if (!grepl(pattern, name)) [13:14:13.407] next [13:14:13.407] invokeRestart(restart) [13:14:13.407] muffled <- TRUE [13:14:13.407] break [13:14:13.407] } [13:14:13.407] } [13:14:13.407] } [13:14:13.407] invisible(muffled) [13:14:13.407] } [13:14:13.407] muffleCondition(cond, pattern = "^muffle") [13:14:13.407] } [13:14:13.407] } [13:14:13.407] } [13:14:13.407] })) [13:14:13.407] }, error = function(ex) { [13:14:13.407] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.407] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.407] ...future.rng), started = ...future.startTime, [13:14:13.407] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.407] version = "1.8"), class = "FutureResult") [13:14:13.407] }, finally = { [13:14:13.407] if (!identical(...future.workdir, getwd())) [13:14:13.407] setwd(...future.workdir) [13:14:13.407] { [13:14:13.407] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.407] ...future.oldOptions$nwarnings <- NULL [13:14:13.407] } [13:14:13.407] base::options(...future.oldOptions) [13:14:13.407] if (.Platform$OS.type == "windows") { [13:14:13.407] old_names <- names(...future.oldEnvVars) [13:14:13.407] envs <- base::Sys.getenv() [13:14:13.407] names <- names(envs) [13:14:13.407] common <- intersect(names, old_names) [13:14:13.407] added <- setdiff(names, old_names) [13:14:13.407] removed <- setdiff(old_names, names) [13:14:13.407] changed <- common[...future.oldEnvVars[common] != [13:14:13.407] envs[common]] [13:14:13.407] NAMES <- toupper(changed) [13:14:13.407] args <- list() [13:14:13.407] for (kk in seq_along(NAMES)) { [13:14:13.407] name <- changed[[kk]] [13:14:13.407] NAME <- NAMES[[kk]] [13:14:13.407] if (name != NAME && is.element(NAME, old_names)) [13:14:13.407] next [13:14:13.407] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.407] } [13:14:13.407] NAMES <- toupper(added) [13:14:13.407] for (kk in seq_along(NAMES)) { [13:14:13.407] name <- added[[kk]] [13:14:13.407] NAME <- NAMES[[kk]] [13:14:13.407] if (name != NAME && is.element(NAME, old_names)) [13:14:13.407] next [13:14:13.407] args[[name]] <- "" [13:14:13.407] } [13:14:13.407] NAMES <- toupper(removed) [13:14:13.407] for (kk in seq_along(NAMES)) { [13:14:13.407] name <- removed[[kk]] [13:14:13.407] NAME <- NAMES[[kk]] [13:14:13.407] if (name != NAME && is.element(NAME, old_names)) [13:14:13.407] next [13:14:13.407] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.407] } [13:14:13.407] if (length(args) > 0) [13:14:13.407] base::do.call(base::Sys.setenv, args = args) [13:14:13.407] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.407] } [13:14:13.407] else { [13:14:13.407] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.407] } [13:14:13.407] { [13:14:13.407] if (base::length(...future.futureOptionsAdded) > [13:14:13.407] 0L) { [13:14:13.407] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.407] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.407] base::options(opts) [13:14:13.407] } [13:14:13.407] { [13:14:13.407] { [13:14:13.407] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.407] NULL [13:14:13.407] } [13:14:13.407] options(future.plan = NULL) [13:14:13.407] if (is.na(NA_character_)) [13:14:13.407] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.407] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.407] future::plan(list(function (..., workers = availableCores(), [13:14:13.407] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.407] envir = parent.frame()) [13:14:13.407] { [13:14:13.407] if (is.function(workers)) [13:14:13.407] workers <- workers() [13:14:13.407] workers <- structure(as.integer(workers), [13:14:13.407] class = class(workers)) [13:14:13.407] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.407] workers >= 1) [13:14:13.407] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.407] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.407] } [13:14:13.407] future <- MultisessionFuture(..., workers = workers, [13:14:13.407] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.407] envir = envir) [13:14:13.407] if (!future$lazy) [13:14:13.407] future <- run(future) [13:14:13.407] invisible(future) [13:14:13.407] }), .cleanup = FALSE, .init = FALSE) [13:14:13.407] } [13:14:13.407] } [13:14:13.407] } [13:14:13.407] }) [13:14:13.407] if (TRUE) { [13:14:13.407] base::sink(type = "output", split = FALSE) [13:14:13.407] if (TRUE) { [13:14:13.407] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.407] } [13:14:13.407] else { [13:14:13.407] ...future.result["stdout"] <- base::list(NULL) [13:14:13.407] } [13:14:13.407] base::close(...future.stdout) [13:14:13.407] ...future.stdout <- NULL [13:14:13.407] } [13:14:13.407] ...future.result$conditions <- ...future.conditions [13:14:13.407] ...future.result$finished <- base::Sys.time() [13:14:13.407] ...future.result [13:14:13.407] } [13:14:13.412] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:13.412] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:13.413] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:13.413] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.413] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.414] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.414] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.414] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.415] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.415] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.415] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.415] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:13.416] MultisessionFuture started [13:14:13.416] - Launch lazy future ... done [13:14:13.416] run() for 'MultisessionFuture' ... done [13:14:13.417] Created future: [13:14:13.432] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.432] - Validating connection of MultisessionFuture [13:14:13.432] - received message: FutureResult [13:14:13.433] - Received FutureResult [13:14:13.433] - Erased future from FutureRegistry [13:14:13.433] result() for ClusterFuture ... [13:14:13.433] - result already collected: FutureResult [13:14:13.433] result() for ClusterFuture ... done [13:14:13.433] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.417] MultisessionFuture: [13:14:13.417] Label: 'future_sapply-2' [13:14:13.417] Expression: [13:14:13.417] { [13:14:13.417] do.call(function(...) { [13:14:13.417] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.417] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.417] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.417] on.exit(options(oopts), add = TRUE) [13:14:13.417] } [13:14:13.417] { [13:14:13.417] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.417] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.417] ...future.FUN(...future.X_jj, ...) [13:14:13.417] }) [13:14:13.417] } [13:14:13.417] }, args = future.call.arguments) [13:14:13.417] } [13:14:13.417] Lazy evaluation: FALSE [13:14:13.417] Asynchronous evaluation: TRUE [13:14:13.417] Local evaluation: TRUE [13:14:13.417] Environment: R_GlobalEnv [13:14:13.417] Capture standard output: TRUE [13:14:13.417] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.417] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.417] Packages: [13:14:13.417] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.417] Resolved: TRUE [13:14:13.417] Value: [13:14:13.417] Conditions captured: [13:14:13.417] Early signaling: FALSE [13:14:13.417] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.417] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.434] Chunk #2 of 2 ... DONE [13:14:13.434] Launching 2 futures (chunks) ... DONE [13:14:13.434] Resolving 2 futures (chunks) ... [13:14:13.434] resolve() on list ... [13:14:13.435] recursive: 0 [13:14:13.438] length: 2 [13:14:13.438] [13:14:13.438] Future #1 [13:14:13.438] result() for ClusterFuture ... [13:14:13.439] - result already collected: FutureResult [13:14:13.439] result() for ClusterFuture ... done [13:14:13.439] result() for ClusterFuture ... [13:14:13.439] - result already collected: FutureResult [13:14:13.439] result() for ClusterFuture ... done [13:14:13.440] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:13.440] - nx: 2 [13:14:13.440] - relay: TRUE [13:14:13.440] - stdout: TRUE [13:14:13.440] - signal: TRUE [13:14:13.440] - resignal: FALSE [13:14:13.441] - force: TRUE [13:14:13.441] - relayed: [n=2] FALSE, FALSE [13:14:13.441] - queued futures: [n=2] FALSE, FALSE [13:14:13.441] - until=1 [13:14:13.441] - relaying element #1 [13:14:13.441] result() for ClusterFuture ... [13:14:13.441] - result already collected: FutureResult [13:14:13.442] result() for ClusterFuture ... done [13:14:13.442] result() for ClusterFuture ... [13:14:13.442] - result already collected: FutureResult [13:14:13.442] result() for ClusterFuture ... done [13:14:13.442] result() for ClusterFuture ... [13:14:13.442] - result already collected: FutureResult [13:14:13.443] result() for ClusterFuture ... done [13:14:13.443] result() for ClusterFuture ... [13:14:13.443] - result already collected: FutureResult [13:14:13.443] result() for ClusterFuture ... done [13:14:13.443] - relayed: [n=2] TRUE, FALSE [13:14:13.443] - queued futures: [n=2] TRUE, FALSE [13:14:13.444] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:13.444] length: 1 (resolved future 1) [13:14:13.444] Future #2 [13:14:13.444] result() for ClusterFuture ... [13:14:13.444] - result already collected: FutureResult [13:14:13.444] result() for ClusterFuture ... done [13:14:13.445] result() for ClusterFuture ... [13:14:13.445] - result already collected: FutureResult [13:14:13.445] result() for ClusterFuture ... done [13:14:13.445] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:13.445] - nx: 2 [13:14:13.445] - relay: TRUE [13:14:13.446] - stdout: TRUE [13:14:13.446] - signal: TRUE [13:14:13.446] - resignal: FALSE [13:14:13.446] - force: TRUE [13:14:13.446] - relayed: [n=2] TRUE, FALSE [13:14:13.446] - queued futures: [n=2] TRUE, FALSE [13:14:13.446] - until=2 [13:14:13.447] - relaying element #2 [13:14:13.447] result() for ClusterFuture ... [13:14:13.447] - result already collected: FutureResult [13:14:13.447] result() for ClusterFuture ... done [13:14:13.447] result() for ClusterFuture ... [13:14:13.447] - result already collected: FutureResult [13:14:13.448] result() for ClusterFuture ... done [13:14:13.448] result() for ClusterFuture ... [13:14:13.448] - result already collected: FutureResult [13:14:13.448] result() for ClusterFuture ... done [13:14:13.448] result() for ClusterFuture ... [13:14:13.448] - result already collected: FutureResult [13:14:13.449] result() for ClusterFuture ... done [13:14:13.449] - relayed: [n=2] TRUE, TRUE [13:14:13.449] - queued futures: [n=2] TRUE, TRUE [13:14:13.449] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:13.449] length: 0 (resolved future 2) [13:14:13.449] Relaying remaining futures [13:14:13.449] signalConditionsASAP(NULL, pos=0) ... [13:14:13.450] - nx: 2 [13:14:13.450] - relay: TRUE [13:14:13.450] - stdout: TRUE [13:14:13.450] - signal: TRUE [13:14:13.450] - resignal: FALSE [13:14:13.450] - force: TRUE [13:14:13.450] - relayed: [n=2] TRUE, TRUE [13:14:13.451] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:13.451] - relayed: [n=2] TRUE, TRUE [13:14:13.451] - queued futures: [n=2] TRUE, TRUE [13:14:13.451] signalConditionsASAP(NULL, pos=0) ... done [13:14:13.451] resolve() on list ... DONE [13:14:13.452] result() for ClusterFuture ... [13:14:13.452] - result already collected: FutureResult [13:14:13.452] result() for ClusterFuture ... done [13:14:13.452] result() for ClusterFuture ... [13:14:13.452] - result already collected: FutureResult [13:14:13.452] result() for ClusterFuture ... done [13:14:13.452] result() for ClusterFuture ... [13:14:13.453] - result already collected: FutureResult [13:14:13.453] result() for ClusterFuture ... done [13:14:13.453] result() for ClusterFuture ... [13:14:13.453] - result already collected: FutureResult [13:14:13.453] result() for ClusterFuture ... done [13:14:13.453] - Number of value chunks collected: 2 [13:14:13.454] Resolving 2 futures (chunks) ... DONE [13:14:13.454] Reducing values from 2 chunks ... [13:14:13.454] - Number of values collected after concatenation: 4 [13:14:13.454] - Number of values expected: 4 [13:14:13.454] Reducing values from 2 chunks ... DONE [13:14:13.454] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:13.456] future_lapply() ... [13:14:13.460] Number of chunks: 2 [13:14:13.460] getGlobalsAndPackagesXApply() ... [13:14:13.460] - future.globals: TRUE [13:14:13.460] getGlobalsAndPackages() ... [13:14:13.460] Searching for globals... [13:14:13.462] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:13.462] Searching for globals ... DONE [13:14:13.462] Resolving globals: FALSE [13:14:13.463] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:13.463] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:13.464] - globals: [1] 'FUN' [13:14:13.464] [13:14:13.464] getGlobalsAndPackages() ... DONE [13:14:13.464] - globals found/used: [n=1] 'FUN' [13:14:13.464] - needed namespaces: [n=0] [13:14:13.464] Finding globals ... DONE [13:14:13.465] - use_args: TRUE [13:14:13.465] - Getting '...' globals ... [13:14:13.465] resolve() on list ... [13:14:13.465] recursive: 0 [13:14:13.466] length: 1 [13:14:13.466] elements: '...' [13:14:13.466] length: 0 (resolved future 1) [13:14:13.466] resolve() on list ... DONE [13:14:13.466] - '...' content: [n=0] [13:14:13.466] List of 1 [13:14:13.466] $ ...: list() [13:14:13.466] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.466] - attr(*, "where")=List of 1 [13:14:13.466] ..$ ...: [13:14:13.466] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.466] - attr(*, "resolved")= logi TRUE [13:14:13.466] - attr(*, "total_size")= num NA [13:14:13.469] - Getting '...' globals ... DONE [13:14:13.470] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:13.470] List of 2 [13:14:13.470] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:13.470] $ ... : list() [13:14:13.470] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.470] - attr(*, "where")=List of 2 [13:14:13.470] ..$ ...future.FUN: [13:14:13.470] ..$ ... : [13:14:13.470] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.470] - attr(*, "resolved")= logi FALSE [13:14:13.470] - attr(*, "total_size")= num 4728 [13:14:13.473] Packages to be attached in all futures: [n=0] [13:14:13.473] getGlobalsAndPackagesXApply() ... DONE [13:14:13.474] Number of futures (= number of chunks): 2 [13:14:13.474] Launching 2 futures (chunks) ... [13:14:13.474] Chunk #1 of 2 ... [13:14:13.474] - Finding globals in 'X' for chunk #1 ... [13:14:13.474] getGlobalsAndPackages() ... [13:14:13.474] Searching for globals... [13:14:13.475] [13:14:13.475] Searching for globals ... DONE [13:14:13.475] - globals: [0] [13:14:13.475] getGlobalsAndPackages() ... DONE [13:14:13.475] + additional globals found: [n=0] [13:14:13.476] + additional namespaces needed: [n=0] [13:14:13.476] - Finding globals in 'X' for chunk #1 ... DONE [13:14:13.476] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.476] - seeds: [13:14:13.476] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.476] getGlobalsAndPackages() ... [13:14:13.477] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.477] Resolving globals: FALSE [13:14:13.477] Tweak future expression to call with '...' arguments ... [13:14:13.477] { [13:14:13.477] do.call(function(...) { [13:14:13.477] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.477] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.477] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.477] on.exit(options(oopts), add = TRUE) [13:14:13.477] } [13:14:13.477] { [13:14:13.477] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.477] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.477] ...future.FUN(...future.X_jj, ...) [13:14:13.477] }) [13:14:13.477] } [13:14:13.477] }, args = future.call.arguments) [13:14:13.477] } [13:14:13.478] Tweak future expression to call with '...' arguments ... DONE [13:14:13.478] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.478] [13:14:13.478] getGlobalsAndPackages() ... DONE [13:14:13.479] run() for 'Future' ... [13:14:13.479] - state: 'created' [13:14:13.479] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.493] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.493] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.494] - Field: 'node' [13:14:13.494] - Field: 'label' [13:14:13.494] - Field: 'local' [13:14:13.494] - Field: 'owner' [13:14:13.494] - Field: 'envir' [13:14:13.495] - Field: 'workers' [13:14:13.495] - Field: 'packages' [13:14:13.495] - Field: 'gc' [13:14:13.495] - Field: 'conditions' [13:14:13.495] - Field: 'persistent' [13:14:13.495] - Field: 'expr' [13:14:13.496] - Field: 'uuid' [13:14:13.496] - Field: 'seed' [13:14:13.496] - Field: 'version' [13:14:13.496] - Field: 'result' [13:14:13.496] - Field: 'asynchronous' [13:14:13.496] - Field: 'calls' [13:14:13.497] - Field: 'globals' [13:14:13.497] - Field: 'stdout' [13:14:13.497] - Field: 'earlySignal' [13:14:13.497] - Field: 'lazy' [13:14:13.497] - Field: 'state' [13:14:13.498] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.498] - Launch lazy future ... [13:14:13.498] Packages needed by the future expression (n = 0): [13:14:13.498] Packages needed by future strategies (n = 0): [13:14:13.499] { [13:14:13.499] { [13:14:13.499] { [13:14:13.499] ...future.startTime <- base::Sys.time() [13:14:13.499] { [13:14:13.499] { [13:14:13.499] { [13:14:13.499] { [13:14:13.499] base::local({ [13:14:13.499] has_future <- base::requireNamespace("future", [13:14:13.499] quietly = TRUE) [13:14:13.499] if (has_future) { [13:14:13.499] ns <- base::getNamespace("future") [13:14:13.499] version <- ns[[".package"]][["version"]] [13:14:13.499] if (is.null(version)) [13:14:13.499] version <- utils::packageVersion("future") [13:14:13.499] } [13:14:13.499] else { [13:14:13.499] version <- NULL [13:14:13.499] } [13:14:13.499] if (!has_future || version < "1.8.0") { [13:14:13.499] info <- base::c(r_version = base::gsub("R version ", [13:14:13.499] "", base::R.version$version.string), [13:14:13.499] platform = base::sprintf("%s (%s-bit)", [13:14:13.499] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.499] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.499] "release", "version")], collapse = " "), [13:14:13.499] hostname = base::Sys.info()[["nodename"]]) [13:14:13.499] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.499] info) [13:14:13.499] info <- base::paste(info, collapse = "; ") [13:14:13.499] if (!has_future) { [13:14:13.499] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.499] info) [13:14:13.499] } [13:14:13.499] else { [13:14:13.499] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.499] info, version) [13:14:13.499] } [13:14:13.499] base::stop(msg) [13:14:13.499] } [13:14:13.499] }) [13:14:13.499] } [13:14:13.499] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.499] base::options(mc.cores = 1L) [13:14:13.499] } [13:14:13.499] options(future.plan = NULL) [13:14:13.499] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.499] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.499] } [13:14:13.499] ...future.workdir <- getwd() [13:14:13.499] } [13:14:13.499] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.499] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.499] } [13:14:13.499] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.499] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.499] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.499] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.499] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.499] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.499] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.499] base::names(...future.oldOptions)) [13:14:13.499] } [13:14:13.499] if (FALSE) { [13:14:13.499] } [13:14:13.499] else { [13:14:13.499] if (TRUE) { [13:14:13.499] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.499] open = "w") [13:14:13.499] } [13:14:13.499] else { [13:14:13.499] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.499] windows = "NUL", "/dev/null"), open = "w") [13:14:13.499] } [13:14:13.499] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.499] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.499] base::sink(type = "output", split = FALSE) [13:14:13.499] base::close(...future.stdout) [13:14:13.499] }, add = TRUE) [13:14:13.499] } [13:14:13.499] ...future.frame <- base::sys.nframe() [13:14:13.499] ...future.conditions <- base::list() [13:14:13.499] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.499] if (FALSE) { [13:14:13.499] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.499] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.499] } [13:14:13.499] ...future.result <- base::tryCatch({ [13:14:13.499] base::withCallingHandlers({ [13:14:13.499] ...future.value <- base::withVisible(base::local({ [13:14:13.499] ...future.makeSendCondition <- local({ [13:14:13.499] sendCondition <- NULL [13:14:13.499] function(frame = 1L) { [13:14:13.499] if (is.function(sendCondition)) [13:14:13.499] return(sendCondition) [13:14:13.499] ns <- getNamespace("parallel") [13:14:13.499] if (exists("sendData", mode = "function", [13:14:13.499] envir = ns)) { [13:14:13.499] parallel_sendData <- get("sendData", mode = "function", [13:14:13.499] envir = ns) [13:14:13.499] envir <- sys.frame(frame) [13:14:13.499] master <- NULL [13:14:13.499] while (!identical(envir, .GlobalEnv) && [13:14:13.499] !identical(envir, emptyenv())) { [13:14:13.499] if (exists("master", mode = "list", envir = envir, [13:14:13.499] inherits = FALSE)) { [13:14:13.499] master <- get("master", mode = "list", [13:14:13.499] envir = envir, inherits = FALSE) [13:14:13.499] if (inherits(master, c("SOCKnode", [13:14:13.499] "SOCK0node"))) { [13:14:13.499] sendCondition <<- function(cond) { [13:14:13.499] data <- list(type = "VALUE", value = cond, [13:14:13.499] success = TRUE) [13:14:13.499] parallel_sendData(master, data) [13:14:13.499] } [13:14:13.499] return(sendCondition) [13:14:13.499] } [13:14:13.499] } [13:14:13.499] frame <- frame + 1L [13:14:13.499] envir <- sys.frame(frame) [13:14:13.499] } [13:14:13.499] } [13:14:13.499] sendCondition <<- function(cond) NULL [13:14:13.499] } [13:14:13.499] }) [13:14:13.499] withCallingHandlers({ [13:14:13.499] { [13:14:13.499] do.call(function(...) { [13:14:13.499] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.499] if (!identical(...future.globals.maxSize.org, [13:14:13.499] ...future.globals.maxSize)) { [13:14:13.499] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.499] on.exit(options(oopts), add = TRUE) [13:14:13.499] } [13:14:13.499] { [13:14:13.499] lapply(seq_along(...future.elements_ii), [13:14:13.499] FUN = function(jj) { [13:14:13.499] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.499] ...future.FUN(...future.X_jj, ...) [13:14:13.499] }) [13:14:13.499] } [13:14:13.499] }, args = future.call.arguments) [13:14:13.499] } [13:14:13.499] }, immediateCondition = function(cond) { [13:14:13.499] sendCondition <- ...future.makeSendCondition() [13:14:13.499] sendCondition(cond) [13:14:13.499] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.499] { [13:14:13.499] inherits <- base::inherits [13:14:13.499] invokeRestart <- base::invokeRestart [13:14:13.499] is.null <- base::is.null [13:14:13.499] muffled <- FALSE [13:14:13.499] if (inherits(cond, "message")) { [13:14:13.499] muffled <- grepl(pattern, "muffleMessage") [13:14:13.499] if (muffled) [13:14:13.499] invokeRestart("muffleMessage") [13:14:13.499] } [13:14:13.499] else if (inherits(cond, "warning")) { [13:14:13.499] muffled <- grepl(pattern, "muffleWarning") [13:14:13.499] if (muffled) [13:14:13.499] invokeRestart("muffleWarning") [13:14:13.499] } [13:14:13.499] else if (inherits(cond, "condition")) { [13:14:13.499] if (!is.null(pattern)) { [13:14:13.499] computeRestarts <- base::computeRestarts [13:14:13.499] grepl <- base::grepl [13:14:13.499] restarts <- computeRestarts(cond) [13:14:13.499] for (restart in restarts) { [13:14:13.499] name <- restart$name [13:14:13.499] if (is.null(name)) [13:14:13.499] next [13:14:13.499] if (!grepl(pattern, name)) [13:14:13.499] next [13:14:13.499] invokeRestart(restart) [13:14:13.499] muffled <- TRUE [13:14:13.499] break [13:14:13.499] } [13:14:13.499] } [13:14:13.499] } [13:14:13.499] invisible(muffled) [13:14:13.499] } [13:14:13.499] muffleCondition(cond) [13:14:13.499] }) [13:14:13.499] })) [13:14:13.499] future::FutureResult(value = ...future.value$value, [13:14:13.499] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.499] ...future.rng), globalenv = if (FALSE) [13:14:13.499] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.499] ...future.globalenv.names)) [13:14:13.499] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.499] }, condition = base::local({ [13:14:13.499] c <- base::c [13:14:13.499] inherits <- base::inherits [13:14:13.499] invokeRestart <- base::invokeRestart [13:14:13.499] length <- base::length [13:14:13.499] list <- base::list [13:14:13.499] seq.int <- base::seq.int [13:14:13.499] signalCondition <- base::signalCondition [13:14:13.499] sys.calls <- base::sys.calls [13:14:13.499] `[[` <- base::`[[` [13:14:13.499] `+` <- base::`+` [13:14:13.499] `<<-` <- base::`<<-` [13:14:13.499] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.499] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.499] 3L)] [13:14:13.499] } [13:14:13.499] function(cond) { [13:14:13.499] is_error <- inherits(cond, "error") [13:14:13.499] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.499] NULL) [13:14:13.499] if (is_error) { [13:14:13.499] sessionInformation <- function() { [13:14:13.499] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.499] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.499] search = base::search(), system = base::Sys.info()) [13:14:13.499] } [13:14:13.499] ...future.conditions[[length(...future.conditions) + [13:14:13.499] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.499] cond$call), session = sessionInformation(), [13:14:13.499] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.499] signalCondition(cond) [13:14:13.499] } [13:14:13.499] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.499] "immediateCondition"))) { [13:14:13.499] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.499] ...future.conditions[[length(...future.conditions) + [13:14:13.499] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.499] if (TRUE && !signal) { [13:14:13.499] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.499] { [13:14:13.499] inherits <- base::inherits [13:14:13.499] invokeRestart <- base::invokeRestart [13:14:13.499] is.null <- base::is.null [13:14:13.499] muffled <- FALSE [13:14:13.499] if (inherits(cond, "message")) { [13:14:13.499] muffled <- grepl(pattern, "muffleMessage") [13:14:13.499] if (muffled) [13:14:13.499] invokeRestart("muffleMessage") [13:14:13.499] } [13:14:13.499] else if (inherits(cond, "warning")) { [13:14:13.499] muffled <- grepl(pattern, "muffleWarning") [13:14:13.499] if (muffled) [13:14:13.499] invokeRestart("muffleWarning") [13:14:13.499] } [13:14:13.499] else if (inherits(cond, "condition")) { [13:14:13.499] if (!is.null(pattern)) { [13:14:13.499] computeRestarts <- base::computeRestarts [13:14:13.499] grepl <- base::grepl [13:14:13.499] restarts <- computeRestarts(cond) [13:14:13.499] for (restart in restarts) { [13:14:13.499] name <- restart$name [13:14:13.499] if (is.null(name)) [13:14:13.499] next [13:14:13.499] if (!grepl(pattern, name)) [13:14:13.499] next [13:14:13.499] invokeRestart(restart) [13:14:13.499] muffled <- TRUE [13:14:13.499] break [13:14:13.499] } [13:14:13.499] } [13:14:13.499] } [13:14:13.499] invisible(muffled) [13:14:13.499] } [13:14:13.499] muffleCondition(cond, pattern = "^muffle") [13:14:13.499] } [13:14:13.499] } [13:14:13.499] else { [13:14:13.499] if (TRUE) { [13:14:13.499] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.499] { [13:14:13.499] inherits <- base::inherits [13:14:13.499] invokeRestart <- base::invokeRestart [13:14:13.499] is.null <- base::is.null [13:14:13.499] muffled <- FALSE [13:14:13.499] if (inherits(cond, "message")) { [13:14:13.499] muffled <- grepl(pattern, "muffleMessage") [13:14:13.499] if (muffled) [13:14:13.499] invokeRestart("muffleMessage") [13:14:13.499] } [13:14:13.499] else if (inherits(cond, "warning")) { [13:14:13.499] muffled <- grepl(pattern, "muffleWarning") [13:14:13.499] if (muffled) [13:14:13.499] invokeRestart("muffleWarning") [13:14:13.499] } [13:14:13.499] else if (inherits(cond, "condition")) { [13:14:13.499] if (!is.null(pattern)) { [13:14:13.499] computeRestarts <- base::computeRestarts [13:14:13.499] grepl <- base::grepl [13:14:13.499] restarts <- computeRestarts(cond) [13:14:13.499] for (restart in restarts) { [13:14:13.499] name <- restart$name [13:14:13.499] if (is.null(name)) [13:14:13.499] next [13:14:13.499] if (!grepl(pattern, name)) [13:14:13.499] next [13:14:13.499] invokeRestart(restart) [13:14:13.499] muffled <- TRUE [13:14:13.499] break [13:14:13.499] } [13:14:13.499] } [13:14:13.499] } [13:14:13.499] invisible(muffled) [13:14:13.499] } [13:14:13.499] muffleCondition(cond, pattern = "^muffle") [13:14:13.499] } [13:14:13.499] } [13:14:13.499] } [13:14:13.499] })) [13:14:13.499] }, error = function(ex) { [13:14:13.499] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.499] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.499] ...future.rng), started = ...future.startTime, [13:14:13.499] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.499] version = "1.8"), class = "FutureResult") [13:14:13.499] }, finally = { [13:14:13.499] if (!identical(...future.workdir, getwd())) [13:14:13.499] setwd(...future.workdir) [13:14:13.499] { [13:14:13.499] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.499] ...future.oldOptions$nwarnings <- NULL [13:14:13.499] } [13:14:13.499] base::options(...future.oldOptions) [13:14:13.499] if (.Platform$OS.type == "windows") { [13:14:13.499] old_names <- names(...future.oldEnvVars) [13:14:13.499] envs <- base::Sys.getenv() [13:14:13.499] names <- names(envs) [13:14:13.499] common <- intersect(names, old_names) [13:14:13.499] added <- setdiff(names, old_names) [13:14:13.499] removed <- setdiff(old_names, names) [13:14:13.499] changed <- common[...future.oldEnvVars[common] != [13:14:13.499] envs[common]] [13:14:13.499] NAMES <- toupper(changed) [13:14:13.499] args <- list() [13:14:13.499] for (kk in seq_along(NAMES)) { [13:14:13.499] name <- changed[[kk]] [13:14:13.499] NAME <- NAMES[[kk]] [13:14:13.499] if (name != NAME && is.element(NAME, old_names)) [13:14:13.499] next [13:14:13.499] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.499] } [13:14:13.499] NAMES <- toupper(added) [13:14:13.499] for (kk in seq_along(NAMES)) { [13:14:13.499] name <- added[[kk]] [13:14:13.499] NAME <- NAMES[[kk]] [13:14:13.499] if (name != NAME && is.element(NAME, old_names)) [13:14:13.499] next [13:14:13.499] args[[name]] <- "" [13:14:13.499] } [13:14:13.499] NAMES <- toupper(removed) [13:14:13.499] for (kk in seq_along(NAMES)) { [13:14:13.499] name <- removed[[kk]] [13:14:13.499] NAME <- NAMES[[kk]] [13:14:13.499] if (name != NAME && is.element(NAME, old_names)) [13:14:13.499] next [13:14:13.499] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.499] } [13:14:13.499] if (length(args) > 0) [13:14:13.499] base::do.call(base::Sys.setenv, args = args) [13:14:13.499] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.499] } [13:14:13.499] else { [13:14:13.499] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.499] } [13:14:13.499] { [13:14:13.499] if (base::length(...future.futureOptionsAdded) > [13:14:13.499] 0L) { [13:14:13.499] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.499] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.499] base::options(opts) [13:14:13.499] } [13:14:13.499] { [13:14:13.499] { [13:14:13.499] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.499] NULL [13:14:13.499] } [13:14:13.499] options(future.plan = NULL) [13:14:13.499] if (is.na(NA_character_)) [13:14:13.499] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.499] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.499] future::plan(list(function (..., workers = availableCores(), [13:14:13.499] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.499] envir = parent.frame()) [13:14:13.499] { [13:14:13.499] if (is.function(workers)) [13:14:13.499] workers <- workers() [13:14:13.499] workers <- structure(as.integer(workers), [13:14:13.499] class = class(workers)) [13:14:13.499] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.499] workers >= 1) [13:14:13.499] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.499] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.499] } [13:14:13.499] future <- MultisessionFuture(..., workers = workers, [13:14:13.499] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.499] envir = envir) [13:14:13.499] if (!future$lazy) [13:14:13.499] future <- run(future) [13:14:13.499] invisible(future) [13:14:13.499] }), .cleanup = FALSE, .init = FALSE) [13:14:13.499] } [13:14:13.499] } [13:14:13.499] } [13:14:13.499] }) [13:14:13.499] if (TRUE) { [13:14:13.499] base::sink(type = "output", split = FALSE) [13:14:13.499] if (TRUE) { [13:14:13.499] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.499] } [13:14:13.499] else { [13:14:13.499] ...future.result["stdout"] <- base::list(NULL) [13:14:13.499] } [13:14:13.499] base::close(...future.stdout) [13:14:13.499] ...future.stdout <- NULL [13:14:13.499] } [13:14:13.499] ...future.result$conditions <- ...future.conditions [13:14:13.499] ...future.result$finished <- base::Sys.time() [13:14:13.499] ...future.result [13:14:13.499] } [13:14:13.504] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:13.505] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:13.505] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:13.505] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.506] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.506] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.506] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.507] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.507] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.507] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.508] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.508] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:13.509] MultisessionFuture started [13:14:13.509] - Launch lazy future ... done [13:14:13.509] run() for 'MultisessionFuture' ... done [13:14:13.509] Created future: [13:14:13.525] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.525] - Validating connection of MultisessionFuture [13:14:13.526] - received message: FutureResult [13:14:13.526] - Received FutureResult [13:14:13.526] - Erased future from FutureRegistry [13:14:13.526] result() for ClusterFuture ... [13:14:13.526] - result already collected: FutureResult [13:14:13.526] result() for ClusterFuture ... done [13:14:13.527] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.509] MultisessionFuture: [13:14:13.509] Label: 'future_sapply-1' [13:14:13.509] Expression: [13:14:13.509] { [13:14:13.509] do.call(function(...) { [13:14:13.509] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.509] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.509] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.509] on.exit(options(oopts), add = TRUE) [13:14:13.509] } [13:14:13.509] { [13:14:13.509] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.509] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.509] ...future.FUN(...future.X_jj, ...) [13:14:13.509] }) [13:14:13.509] } [13:14:13.509] }, args = future.call.arguments) [13:14:13.509] } [13:14:13.509] Lazy evaluation: FALSE [13:14:13.509] Asynchronous evaluation: TRUE [13:14:13.509] Local evaluation: TRUE [13:14:13.509] Environment: R_GlobalEnv [13:14:13.509] Capture standard output: TRUE [13:14:13.509] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.509] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.509] Packages: [13:14:13.509] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.509] Resolved: TRUE [13:14:13.509] Value: [13:14:13.509] Conditions captured: [13:14:13.509] Early signaling: FALSE [13:14:13.509] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.509] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.527] Chunk #1 of 2 ... DONE [13:14:13.527] Chunk #2 of 2 ... [13:14:13.527] - Finding globals in 'X' for chunk #2 ... [13:14:13.528] getGlobalsAndPackages() ... [13:14:13.528] Searching for globals... [13:14:13.528] [13:14:13.528] Searching for globals ... DONE [13:14:13.528] - globals: [0] [13:14:13.529] getGlobalsAndPackages() ... DONE [13:14:13.529] + additional globals found: [n=0] [13:14:13.529] + additional namespaces needed: [n=0] [13:14:13.529] - Finding globals in 'X' for chunk #2 ... DONE [13:14:13.529] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.529] - seeds: [13:14:13.529] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.530] getGlobalsAndPackages() ... [13:14:13.530] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.530] Resolving globals: FALSE [13:14:13.530] Tweak future expression to call with '...' arguments ... [13:14:13.530] { [13:14:13.530] do.call(function(...) { [13:14:13.530] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.530] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.530] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.530] on.exit(options(oopts), add = TRUE) [13:14:13.530] } [13:14:13.530] { [13:14:13.530] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.530] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.530] ...future.FUN(...future.X_jj, ...) [13:14:13.530] }) [13:14:13.530] } [13:14:13.530] }, args = future.call.arguments) [13:14:13.530] } [13:14:13.531] Tweak future expression to call with '...' arguments ... DONE [13:14:13.531] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.531] [13:14:13.532] getGlobalsAndPackages() ... DONE [13:14:13.532] run() for 'Future' ... [13:14:13.532] - state: 'created' [13:14:13.532] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.546] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.547] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.547] - Field: 'node' [13:14:13.547] - Field: 'label' [13:14:13.547] - Field: 'local' [13:14:13.547] - Field: 'owner' [13:14:13.548] - Field: 'envir' [13:14:13.548] - Field: 'workers' [13:14:13.548] - Field: 'packages' [13:14:13.548] - Field: 'gc' [13:14:13.548] - Field: 'conditions' [13:14:13.548] - Field: 'persistent' [13:14:13.549] - Field: 'expr' [13:14:13.549] - Field: 'uuid' [13:14:13.549] - Field: 'seed' [13:14:13.549] - Field: 'version' [13:14:13.549] - Field: 'result' [13:14:13.550] - Field: 'asynchronous' [13:14:13.550] - Field: 'calls' [13:14:13.550] - Field: 'globals' [13:14:13.550] - Field: 'stdout' [13:14:13.550] - Field: 'earlySignal' [13:14:13.550] - Field: 'lazy' [13:14:13.551] - Field: 'state' [13:14:13.551] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.551] - Launch lazy future ... [13:14:13.551] Packages needed by the future expression (n = 0): [13:14:13.551] Packages needed by future strategies (n = 0): [13:14:13.552] { [13:14:13.552] { [13:14:13.552] { [13:14:13.552] ...future.startTime <- base::Sys.time() [13:14:13.552] { [13:14:13.552] { [13:14:13.552] { [13:14:13.552] { [13:14:13.552] base::local({ [13:14:13.552] has_future <- base::requireNamespace("future", [13:14:13.552] quietly = TRUE) [13:14:13.552] if (has_future) { [13:14:13.552] ns <- base::getNamespace("future") [13:14:13.552] version <- ns[[".package"]][["version"]] [13:14:13.552] if (is.null(version)) [13:14:13.552] version <- utils::packageVersion("future") [13:14:13.552] } [13:14:13.552] else { [13:14:13.552] version <- NULL [13:14:13.552] } [13:14:13.552] if (!has_future || version < "1.8.0") { [13:14:13.552] info <- base::c(r_version = base::gsub("R version ", [13:14:13.552] "", base::R.version$version.string), [13:14:13.552] platform = base::sprintf("%s (%s-bit)", [13:14:13.552] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.552] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.552] "release", "version")], collapse = " "), [13:14:13.552] hostname = base::Sys.info()[["nodename"]]) [13:14:13.552] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.552] info) [13:14:13.552] info <- base::paste(info, collapse = "; ") [13:14:13.552] if (!has_future) { [13:14:13.552] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.552] info) [13:14:13.552] } [13:14:13.552] else { [13:14:13.552] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.552] info, version) [13:14:13.552] } [13:14:13.552] base::stop(msg) [13:14:13.552] } [13:14:13.552] }) [13:14:13.552] } [13:14:13.552] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.552] base::options(mc.cores = 1L) [13:14:13.552] } [13:14:13.552] options(future.plan = NULL) [13:14:13.552] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.552] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.552] } [13:14:13.552] ...future.workdir <- getwd() [13:14:13.552] } [13:14:13.552] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.552] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.552] } [13:14:13.552] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.552] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.552] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.552] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.552] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.552] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.552] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.552] base::names(...future.oldOptions)) [13:14:13.552] } [13:14:13.552] if (FALSE) { [13:14:13.552] } [13:14:13.552] else { [13:14:13.552] if (TRUE) { [13:14:13.552] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.552] open = "w") [13:14:13.552] } [13:14:13.552] else { [13:14:13.552] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.552] windows = "NUL", "/dev/null"), open = "w") [13:14:13.552] } [13:14:13.552] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.552] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.552] base::sink(type = "output", split = FALSE) [13:14:13.552] base::close(...future.stdout) [13:14:13.552] }, add = TRUE) [13:14:13.552] } [13:14:13.552] ...future.frame <- base::sys.nframe() [13:14:13.552] ...future.conditions <- base::list() [13:14:13.552] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.552] if (FALSE) { [13:14:13.552] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.552] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.552] } [13:14:13.552] ...future.result <- base::tryCatch({ [13:14:13.552] base::withCallingHandlers({ [13:14:13.552] ...future.value <- base::withVisible(base::local({ [13:14:13.552] ...future.makeSendCondition <- local({ [13:14:13.552] sendCondition <- NULL [13:14:13.552] function(frame = 1L) { [13:14:13.552] if (is.function(sendCondition)) [13:14:13.552] return(sendCondition) [13:14:13.552] ns <- getNamespace("parallel") [13:14:13.552] if (exists("sendData", mode = "function", [13:14:13.552] envir = ns)) { [13:14:13.552] parallel_sendData <- get("sendData", mode = "function", [13:14:13.552] envir = ns) [13:14:13.552] envir <- sys.frame(frame) [13:14:13.552] master <- NULL [13:14:13.552] while (!identical(envir, .GlobalEnv) && [13:14:13.552] !identical(envir, emptyenv())) { [13:14:13.552] if (exists("master", mode = "list", envir = envir, [13:14:13.552] inherits = FALSE)) { [13:14:13.552] master <- get("master", mode = "list", [13:14:13.552] envir = envir, inherits = FALSE) [13:14:13.552] if (inherits(master, c("SOCKnode", [13:14:13.552] "SOCK0node"))) { [13:14:13.552] sendCondition <<- function(cond) { [13:14:13.552] data <- list(type = "VALUE", value = cond, [13:14:13.552] success = TRUE) [13:14:13.552] parallel_sendData(master, data) [13:14:13.552] } [13:14:13.552] return(sendCondition) [13:14:13.552] } [13:14:13.552] } [13:14:13.552] frame <- frame + 1L [13:14:13.552] envir <- sys.frame(frame) [13:14:13.552] } [13:14:13.552] } [13:14:13.552] sendCondition <<- function(cond) NULL [13:14:13.552] } [13:14:13.552] }) [13:14:13.552] withCallingHandlers({ [13:14:13.552] { [13:14:13.552] do.call(function(...) { [13:14:13.552] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.552] if (!identical(...future.globals.maxSize.org, [13:14:13.552] ...future.globals.maxSize)) { [13:14:13.552] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.552] on.exit(options(oopts), add = TRUE) [13:14:13.552] } [13:14:13.552] { [13:14:13.552] lapply(seq_along(...future.elements_ii), [13:14:13.552] FUN = function(jj) { [13:14:13.552] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.552] ...future.FUN(...future.X_jj, ...) [13:14:13.552] }) [13:14:13.552] } [13:14:13.552] }, args = future.call.arguments) [13:14:13.552] } [13:14:13.552] }, immediateCondition = function(cond) { [13:14:13.552] sendCondition <- ...future.makeSendCondition() [13:14:13.552] sendCondition(cond) [13:14:13.552] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.552] { [13:14:13.552] inherits <- base::inherits [13:14:13.552] invokeRestart <- base::invokeRestart [13:14:13.552] is.null <- base::is.null [13:14:13.552] muffled <- FALSE [13:14:13.552] if (inherits(cond, "message")) { [13:14:13.552] muffled <- grepl(pattern, "muffleMessage") [13:14:13.552] if (muffled) [13:14:13.552] invokeRestart("muffleMessage") [13:14:13.552] } [13:14:13.552] else if (inherits(cond, "warning")) { [13:14:13.552] muffled <- grepl(pattern, "muffleWarning") [13:14:13.552] if (muffled) [13:14:13.552] invokeRestart("muffleWarning") [13:14:13.552] } [13:14:13.552] else if (inherits(cond, "condition")) { [13:14:13.552] if (!is.null(pattern)) { [13:14:13.552] computeRestarts <- base::computeRestarts [13:14:13.552] grepl <- base::grepl [13:14:13.552] restarts <- computeRestarts(cond) [13:14:13.552] for (restart in restarts) { [13:14:13.552] name <- restart$name [13:14:13.552] if (is.null(name)) [13:14:13.552] next [13:14:13.552] if (!grepl(pattern, name)) [13:14:13.552] next [13:14:13.552] invokeRestart(restart) [13:14:13.552] muffled <- TRUE [13:14:13.552] break [13:14:13.552] } [13:14:13.552] } [13:14:13.552] } [13:14:13.552] invisible(muffled) [13:14:13.552] } [13:14:13.552] muffleCondition(cond) [13:14:13.552] }) [13:14:13.552] })) [13:14:13.552] future::FutureResult(value = ...future.value$value, [13:14:13.552] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.552] ...future.rng), globalenv = if (FALSE) [13:14:13.552] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.552] ...future.globalenv.names)) [13:14:13.552] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.552] }, condition = base::local({ [13:14:13.552] c <- base::c [13:14:13.552] inherits <- base::inherits [13:14:13.552] invokeRestart <- base::invokeRestart [13:14:13.552] length <- base::length [13:14:13.552] list <- base::list [13:14:13.552] seq.int <- base::seq.int [13:14:13.552] signalCondition <- base::signalCondition [13:14:13.552] sys.calls <- base::sys.calls [13:14:13.552] `[[` <- base::`[[` [13:14:13.552] `+` <- base::`+` [13:14:13.552] `<<-` <- base::`<<-` [13:14:13.552] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.552] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.552] 3L)] [13:14:13.552] } [13:14:13.552] function(cond) { [13:14:13.552] is_error <- inherits(cond, "error") [13:14:13.552] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.552] NULL) [13:14:13.552] if (is_error) { [13:14:13.552] sessionInformation <- function() { [13:14:13.552] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.552] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.552] search = base::search(), system = base::Sys.info()) [13:14:13.552] } [13:14:13.552] ...future.conditions[[length(...future.conditions) + [13:14:13.552] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.552] cond$call), session = sessionInformation(), [13:14:13.552] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.552] signalCondition(cond) [13:14:13.552] } [13:14:13.552] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.552] "immediateCondition"))) { [13:14:13.552] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.552] ...future.conditions[[length(...future.conditions) + [13:14:13.552] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.552] if (TRUE && !signal) { [13:14:13.552] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.552] { [13:14:13.552] inherits <- base::inherits [13:14:13.552] invokeRestart <- base::invokeRestart [13:14:13.552] is.null <- base::is.null [13:14:13.552] muffled <- FALSE [13:14:13.552] if (inherits(cond, "message")) { [13:14:13.552] muffled <- grepl(pattern, "muffleMessage") [13:14:13.552] if (muffled) [13:14:13.552] invokeRestart("muffleMessage") [13:14:13.552] } [13:14:13.552] else if (inherits(cond, "warning")) { [13:14:13.552] muffled <- grepl(pattern, "muffleWarning") [13:14:13.552] if (muffled) [13:14:13.552] invokeRestart("muffleWarning") [13:14:13.552] } [13:14:13.552] else if (inherits(cond, "condition")) { [13:14:13.552] if (!is.null(pattern)) { [13:14:13.552] computeRestarts <- base::computeRestarts [13:14:13.552] grepl <- base::grepl [13:14:13.552] restarts <- computeRestarts(cond) [13:14:13.552] for (restart in restarts) { [13:14:13.552] name <- restart$name [13:14:13.552] if (is.null(name)) [13:14:13.552] next [13:14:13.552] if (!grepl(pattern, name)) [13:14:13.552] next [13:14:13.552] invokeRestart(restart) [13:14:13.552] muffled <- TRUE [13:14:13.552] break [13:14:13.552] } [13:14:13.552] } [13:14:13.552] } [13:14:13.552] invisible(muffled) [13:14:13.552] } [13:14:13.552] muffleCondition(cond, pattern = "^muffle") [13:14:13.552] } [13:14:13.552] } [13:14:13.552] else { [13:14:13.552] if (TRUE) { [13:14:13.552] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.552] { [13:14:13.552] inherits <- base::inherits [13:14:13.552] invokeRestart <- base::invokeRestart [13:14:13.552] is.null <- base::is.null [13:14:13.552] muffled <- FALSE [13:14:13.552] if (inherits(cond, "message")) { [13:14:13.552] muffled <- grepl(pattern, "muffleMessage") [13:14:13.552] if (muffled) [13:14:13.552] invokeRestart("muffleMessage") [13:14:13.552] } [13:14:13.552] else if (inherits(cond, "warning")) { [13:14:13.552] muffled <- grepl(pattern, "muffleWarning") [13:14:13.552] if (muffled) [13:14:13.552] invokeRestart("muffleWarning") [13:14:13.552] } [13:14:13.552] else if (inherits(cond, "condition")) { [13:14:13.552] if (!is.null(pattern)) { [13:14:13.552] computeRestarts <- base::computeRestarts [13:14:13.552] grepl <- base::grepl [13:14:13.552] restarts <- computeRestarts(cond) [13:14:13.552] for (restart in restarts) { [13:14:13.552] name <- restart$name [13:14:13.552] if (is.null(name)) [13:14:13.552] next [13:14:13.552] if (!grepl(pattern, name)) [13:14:13.552] next [13:14:13.552] invokeRestart(restart) [13:14:13.552] muffled <- TRUE [13:14:13.552] break [13:14:13.552] } [13:14:13.552] } [13:14:13.552] } [13:14:13.552] invisible(muffled) [13:14:13.552] } [13:14:13.552] muffleCondition(cond, pattern = "^muffle") [13:14:13.552] } [13:14:13.552] } [13:14:13.552] } [13:14:13.552] })) [13:14:13.552] }, error = function(ex) { [13:14:13.552] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.552] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.552] ...future.rng), started = ...future.startTime, [13:14:13.552] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.552] version = "1.8"), class = "FutureResult") [13:14:13.552] }, finally = { [13:14:13.552] if (!identical(...future.workdir, getwd())) [13:14:13.552] setwd(...future.workdir) [13:14:13.552] { [13:14:13.552] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.552] ...future.oldOptions$nwarnings <- NULL [13:14:13.552] } [13:14:13.552] base::options(...future.oldOptions) [13:14:13.552] if (.Platform$OS.type == "windows") { [13:14:13.552] old_names <- names(...future.oldEnvVars) [13:14:13.552] envs <- base::Sys.getenv() [13:14:13.552] names <- names(envs) [13:14:13.552] common <- intersect(names, old_names) [13:14:13.552] added <- setdiff(names, old_names) [13:14:13.552] removed <- setdiff(old_names, names) [13:14:13.552] changed <- common[...future.oldEnvVars[common] != [13:14:13.552] envs[common]] [13:14:13.552] NAMES <- toupper(changed) [13:14:13.552] args <- list() [13:14:13.552] for (kk in seq_along(NAMES)) { [13:14:13.552] name <- changed[[kk]] [13:14:13.552] NAME <- NAMES[[kk]] [13:14:13.552] if (name != NAME && is.element(NAME, old_names)) [13:14:13.552] next [13:14:13.552] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.552] } [13:14:13.552] NAMES <- toupper(added) [13:14:13.552] for (kk in seq_along(NAMES)) { [13:14:13.552] name <- added[[kk]] [13:14:13.552] NAME <- NAMES[[kk]] [13:14:13.552] if (name != NAME && is.element(NAME, old_names)) [13:14:13.552] next [13:14:13.552] args[[name]] <- "" [13:14:13.552] } [13:14:13.552] NAMES <- toupper(removed) [13:14:13.552] for (kk in seq_along(NAMES)) { [13:14:13.552] name <- removed[[kk]] [13:14:13.552] NAME <- NAMES[[kk]] [13:14:13.552] if (name != NAME && is.element(NAME, old_names)) [13:14:13.552] next [13:14:13.552] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.552] } [13:14:13.552] if (length(args) > 0) [13:14:13.552] base::do.call(base::Sys.setenv, args = args) [13:14:13.552] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.552] } [13:14:13.552] else { [13:14:13.552] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.552] } [13:14:13.552] { [13:14:13.552] if (base::length(...future.futureOptionsAdded) > [13:14:13.552] 0L) { [13:14:13.552] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.552] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.552] base::options(opts) [13:14:13.552] } [13:14:13.552] { [13:14:13.552] { [13:14:13.552] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.552] NULL [13:14:13.552] } [13:14:13.552] options(future.plan = NULL) [13:14:13.552] if (is.na(NA_character_)) [13:14:13.552] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.552] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.552] future::plan(list(function (..., workers = availableCores(), [13:14:13.552] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.552] envir = parent.frame()) [13:14:13.552] { [13:14:13.552] if (is.function(workers)) [13:14:13.552] workers <- workers() [13:14:13.552] workers <- structure(as.integer(workers), [13:14:13.552] class = class(workers)) [13:14:13.552] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.552] workers >= 1) [13:14:13.552] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.552] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.552] } [13:14:13.552] future <- MultisessionFuture(..., workers = workers, [13:14:13.552] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.552] envir = envir) [13:14:13.552] if (!future$lazy) [13:14:13.552] future <- run(future) [13:14:13.552] invisible(future) [13:14:13.552] }), .cleanup = FALSE, .init = FALSE) [13:14:13.552] } [13:14:13.552] } [13:14:13.552] } [13:14:13.552] }) [13:14:13.552] if (TRUE) { [13:14:13.552] base::sink(type = "output", split = FALSE) [13:14:13.552] if (TRUE) { [13:14:13.552] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.552] } [13:14:13.552] else { [13:14:13.552] ...future.result["stdout"] <- base::list(NULL) [13:14:13.552] } [13:14:13.552] base::close(...future.stdout) [13:14:13.552] ...future.stdout <- NULL [13:14:13.552] } [13:14:13.552] ...future.result$conditions <- ...future.conditions [13:14:13.552] ...future.result$finished <- base::Sys.time() [13:14:13.552] ...future.result [13:14:13.552] } [13:14:13.557] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:13.558] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:13.558] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:13.558] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.559] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.559] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.559] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.560] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.560] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.560] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.561] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.561] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:13.562] MultisessionFuture started [13:14:13.562] - Launch lazy future ... done [13:14:13.562] run() for 'MultisessionFuture' ... done [13:14:13.562] Created future: [13:14:13.578] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.578] - Validating connection of MultisessionFuture [13:14:13.578] - received message: FutureResult [13:14:13.579] - Received FutureResult [13:14:13.579] - Erased future from FutureRegistry [13:14:13.579] result() for ClusterFuture ... [13:14:13.579] - result already collected: FutureResult [13:14:13.579] result() for ClusterFuture ... done [13:14:13.579] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.562] MultisessionFuture: [13:14:13.562] Label: 'future_sapply-2' [13:14:13.562] Expression: [13:14:13.562] { [13:14:13.562] do.call(function(...) { [13:14:13.562] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.562] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.562] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.562] on.exit(options(oopts), add = TRUE) [13:14:13.562] } [13:14:13.562] { [13:14:13.562] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.562] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.562] ...future.FUN(...future.X_jj, ...) [13:14:13.562] }) [13:14:13.562] } [13:14:13.562] }, args = future.call.arguments) [13:14:13.562] } [13:14:13.562] Lazy evaluation: FALSE [13:14:13.562] Asynchronous evaluation: TRUE [13:14:13.562] Local evaluation: TRUE [13:14:13.562] Environment: R_GlobalEnv [13:14:13.562] Capture standard output: TRUE [13:14:13.562] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.562] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.562] Packages: [13:14:13.562] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.562] Resolved: TRUE [13:14:13.562] Value: [13:14:13.562] Conditions captured: [13:14:13.562] Early signaling: FALSE [13:14:13.562] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.562] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.580] Chunk #2 of 2 ... DONE [13:14:13.580] Launching 2 futures (chunks) ... DONE [13:14:13.580] Resolving 2 futures (chunks) ... [13:14:13.580] resolve() on list ... [13:14:13.580] recursive: 0 [13:14:13.581] length: 2 [13:14:13.581] [13:14:13.581] Future #1 [13:14:13.581] result() for ClusterFuture ... [13:14:13.581] - result already collected: FutureResult [13:14:13.581] result() for ClusterFuture ... done [13:14:13.582] result() for ClusterFuture ... [13:14:13.582] - result already collected: FutureResult [13:14:13.582] result() for ClusterFuture ... done [13:14:13.582] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:13.582] - nx: 2 [13:14:13.582] - relay: TRUE [13:14:13.583] - stdout: TRUE [13:14:13.583] - signal: TRUE [13:14:13.583] - resignal: FALSE [13:14:13.583] - force: TRUE [13:14:13.583] - relayed: [n=2] FALSE, FALSE [13:14:13.583] - queued futures: [n=2] FALSE, FALSE [13:14:13.584] - until=1 [13:14:13.584] - relaying element #1 [13:14:13.584] result() for ClusterFuture ... [13:14:13.584] - result already collected: FutureResult [13:14:13.584] result() for ClusterFuture ... done [13:14:13.584] result() for ClusterFuture ... [13:14:13.584] - result already collected: FutureResult [13:14:13.585] result() for ClusterFuture ... done [13:14:13.585] result() for ClusterFuture ... [13:14:13.585] - result already collected: FutureResult [13:14:13.585] result() for ClusterFuture ... done [13:14:13.585] result() for ClusterFuture ... [13:14:13.585] - result already collected: FutureResult [13:14:13.586] result() for ClusterFuture ... done [13:14:13.586] - relayed: [n=2] TRUE, FALSE [13:14:13.589] - queued futures: [n=2] TRUE, FALSE [13:14:13.589] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:13.589] length: 1 (resolved future 1) [13:14:13.590] Future #2 [13:14:13.590] result() for ClusterFuture ... [13:14:13.590] - result already collected: FutureResult [13:14:13.590] result() for ClusterFuture ... done [13:14:13.590] result() for ClusterFuture ... [13:14:13.591] - result already collected: FutureResult [13:14:13.591] result() for ClusterFuture ... done [13:14:13.591] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:13.591] - nx: 2 [13:14:13.591] - relay: TRUE [13:14:13.591] - stdout: TRUE [13:14:13.592] - signal: TRUE [13:14:13.592] - resignal: FALSE [13:14:13.592] - force: TRUE [13:14:13.592] - relayed: [n=2] TRUE, FALSE [13:14:13.592] - queued futures: [n=2] TRUE, FALSE [13:14:13.592] - until=2 [13:14:13.593] - relaying element #2 [13:14:13.593] result() for ClusterFuture ... [13:14:13.593] - result already collected: FutureResult [13:14:13.593] result() for ClusterFuture ... done [13:14:13.593] result() for ClusterFuture ... [13:14:13.593] - result already collected: FutureResult [13:14:13.593] result() for ClusterFuture ... done [13:14:13.594] result() for ClusterFuture ... [13:14:13.594] - result already collected: FutureResult [13:14:13.594] result() for ClusterFuture ... done [13:14:13.594] result() for ClusterFuture ... [13:14:13.594] - result already collected: FutureResult [13:14:13.594] result() for ClusterFuture ... done [13:14:13.595] - relayed: [n=2] TRUE, TRUE [13:14:13.595] - queued futures: [n=2] TRUE, TRUE [13:14:13.595] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:13.595] length: 0 (resolved future 2) [13:14:13.595] Relaying remaining futures [13:14:13.595] signalConditionsASAP(NULL, pos=0) ... [13:14:13.596] - nx: 2 [13:14:13.596] - relay: TRUE [13:14:13.596] - stdout: TRUE [13:14:13.596] - signal: TRUE [13:14:13.596] - resignal: FALSE [13:14:13.596] - force: TRUE [13:14:13.597] - relayed: [n=2] TRUE, TRUE [13:14:13.597] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:13.597] - relayed: [n=2] TRUE, TRUE [13:14:13.597] - queued futures: [n=2] TRUE, TRUE [13:14:13.597] signalConditionsASAP(NULL, pos=0) ... done [13:14:13.597] resolve() on list ... DONE [13:14:13.598] result() for ClusterFuture ... [13:14:13.598] - result already collected: FutureResult [13:14:13.598] result() for ClusterFuture ... done [13:14:13.598] result() for ClusterFuture ... [13:14:13.598] - result already collected: FutureResult [13:14:13.598] result() for ClusterFuture ... done [13:14:13.599] result() for ClusterFuture ... [13:14:13.599] - result already collected: FutureResult [13:14:13.599] result() for ClusterFuture ... done [13:14:13.599] result() for ClusterFuture ... [13:14:13.599] - result already collected: FutureResult [13:14:13.599] result() for ClusterFuture ... done [13:14:13.600] - Number of value chunks collected: 2 [13:14:13.600] Resolving 2 futures (chunks) ... DONE [13:14:13.600] Reducing values from 2 chunks ... [13:14:13.600] - Number of values collected after concatenation: 4 [13:14:13.600] - Number of values expected: 4 [13:14:13.600] Reducing values from 2 chunks ... DONE [13:14:13.600] future_lapply() ... DONE List of 2 $ y0: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:15, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 2 .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:13.604] future_lapply() ... [13:14:13.606] Number of chunks: 2 [13:14:13.607] getGlobalsAndPackagesXApply() ... [13:14:13.607] - future.globals: TRUE [13:14:13.607] getGlobalsAndPackages() ... [13:14:13.607] Searching for globals... [13:14:13.608] - globals found: [1] 'FUN' [13:14:13.608] Searching for globals ... DONE [13:14:13.609] Resolving globals: FALSE [13:14:13.609] The total size of the 1 globals is 848 bytes (848 bytes) [13:14:13.609] The total size of the 1 globals exported for future expression ('FUN()') is 848 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (848 bytes of class 'function') [13:14:13.610] - globals: [1] 'FUN' [13:14:13.610] [13:14:13.610] getGlobalsAndPackages() ... DONE [13:14:13.610] - globals found/used: [n=1] 'FUN' [13:14:13.610] - needed namespaces: [n=0] [13:14:13.610] Finding globals ... DONE [13:14:13.611] - use_args: TRUE [13:14:13.611] - Getting '...' globals ... [13:14:13.611] resolve() on list ... [13:14:13.611] recursive: 0 [13:14:13.612] length: 1 [13:14:13.612] elements: '...' [13:14:13.612] length: 0 (resolved future 1) [13:14:13.612] resolve() on list ... DONE [13:14:13.612] - '...' content: [n=0] [13:14:13.612] List of 1 [13:14:13.612] $ ...: list() [13:14:13.612] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.612] - attr(*, "where")=List of 1 [13:14:13.612] ..$ ...: [13:14:13.612] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.612] - attr(*, "resolved")= logi TRUE [13:14:13.612] - attr(*, "total_size")= num NA [13:14:13.615] - Getting '...' globals ... DONE [13:14:13.616] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:13.616] List of 2 [13:14:13.616] $ ...future.FUN:function (x) [13:14:13.616] $ ... : list() [13:14:13.616] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.616] - attr(*, "where")=List of 2 [13:14:13.616] ..$ ...future.FUN: [13:14:13.616] ..$ ... : [13:14:13.616] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.616] - attr(*, "resolved")= logi FALSE [13:14:13.616] - attr(*, "total_size")= num 848 [13:14:13.619] Packages to be attached in all futures: [n=0] [13:14:13.619] getGlobalsAndPackagesXApply() ... DONE [13:14:13.620] Number of futures (= number of chunks): 2 [13:14:13.620] Launching 2 futures (chunks) ... [13:14:13.620] Chunk #1 of 2 ... [13:14:13.620] - Finding globals in 'X' for chunk #1 ... [13:14:13.620] getGlobalsAndPackages() ... [13:14:13.620] Searching for globals... [13:14:13.621] [13:14:13.621] Searching for globals ... DONE [13:14:13.621] - globals: [0] [13:14:13.621] getGlobalsAndPackages() ... DONE [13:14:13.621] + additional globals found: [n=0] [13:14:13.622] + additional namespaces needed: [n=0] [13:14:13.622] - Finding globals in 'X' for chunk #1 ... DONE [13:14:13.622] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.622] - seeds: [13:14:13.622] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.622] getGlobalsAndPackages() ... [13:14:13.623] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.623] Resolving globals: FALSE [13:14:13.623] Tweak future expression to call with '...' arguments ... [13:14:13.623] { [13:14:13.623] do.call(function(...) { [13:14:13.623] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.623] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.623] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.623] on.exit(options(oopts), add = TRUE) [13:14:13.623] } [13:14:13.623] { [13:14:13.623] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.623] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.623] ...future.FUN(...future.X_jj, ...) [13:14:13.623] }) [13:14:13.623] } [13:14:13.623] }, args = future.call.arguments) [13:14:13.623] } [13:14:13.624] Tweak future expression to call with '...' arguments ... DONE [13:14:13.624] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.624] [13:14:13.624] getGlobalsAndPackages() ... DONE [13:14:13.625] run() for 'Future' ... [13:14:13.625] - state: 'created' [13:14:13.625] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.640] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.640] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.640] - Field: 'node' [13:14:13.641] - Field: 'label' [13:14:13.641] - Field: 'local' [13:14:13.641] - Field: 'owner' [13:14:13.641] - Field: 'envir' [13:14:13.641] - Field: 'workers' [13:14:13.641] - Field: 'packages' [13:14:13.642] - Field: 'gc' [13:14:13.642] - Field: 'conditions' [13:14:13.642] - Field: 'persistent' [13:14:13.642] - Field: 'expr' [13:14:13.642] - Field: 'uuid' [13:14:13.643] - Field: 'seed' [13:14:13.643] - Field: 'version' [13:14:13.643] - Field: 'result' [13:14:13.643] - Field: 'asynchronous' [13:14:13.643] - Field: 'calls' [13:14:13.643] - Field: 'globals' [13:14:13.644] - Field: 'stdout' [13:14:13.644] - Field: 'earlySignal' [13:14:13.644] - Field: 'lazy' [13:14:13.644] - Field: 'state' [13:14:13.644] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.645] - Launch lazy future ... [13:14:13.645] Packages needed by the future expression (n = 0): [13:14:13.645] Packages needed by future strategies (n = 0): [13:14:13.646] { [13:14:13.646] { [13:14:13.646] { [13:14:13.646] ...future.startTime <- base::Sys.time() [13:14:13.646] { [13:14:13.646] { [13:14:13.646] { [13:14:13.646] { [13:14:13.646] base::local({ [13:14:13.646] has_future <- base::requireNamespace("future", [13:14:13.646] quietly = TRUE) [13:14:13.646] if (has_future) { [13:14:13.646] ns <- base::getNamespace("future") [13:14:13.646] version <- ns[[".package"]][["version"]] [13:14:13.646] if (is.null(version)) [13:14:13.646] version <- utils::packageVersion("future") [13:14:13.646] } [13:14:13.646] else { [13:14:13.646] version <- NULL [13:14:13.646] } [13:14:13.646] if (!has_future || version < "1.8.0") { [13:14:13.646] info <- base::c(r_version = base::gsub("R version ", [13:14:13.646] "", base::R.version$version.string), [13:14:13.646] platform = base::sprintf("%s (%s-bit)", [13:14:13.646] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.646] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.646] "release", "version")], collapse = " "), [13:14:13.646] hostname = base::Sys.info()[["nodename"]]) [13:14:13.646] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.646] info) [13:14:13.646] info <- base::paste(info, collapse = "; ") [13:14:13.646] if (!has_future) { [13:14:13.646] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.646] info) [13:14:13.646] } [13:14:13.646] else { [13:14:13.646] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.646] info, version) [13:14:13.646] } [13:14:13.646] base::stop(msg) [13:14:13.646] } [13:14:13.646] }) [13:14:13.646] } [13:14:13.646] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.646] base::options(mc.cores = 1L) [13:14:13.646] } [13:14:13.646] options(future.plan = NULL) [13:14:13.646] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.646] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.646] } [13:14:13.646] ...future.workdir <- getwd() [13:14:13.646] } [13:14:13.646] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.646] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.646] } [13:14:13.646] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.646] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.646] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.646] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.646] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.646] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.646] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.646] base::names(...future.oldOptions)) [13:14:13.646] } [13:14:13.646] if (FALSE) { [13:14:13.646] } [13:14:13.646] else { [13:14:13.646] if (TRUE) { [13:14:13.646] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.646] open = "w") [13:14:13.646] } [13:14:13.646] else { [13:14:13.646] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.646] windows = "NUL", "/dev/null"), open = "w") [13:14:13.646] } [13:14:13.646] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.646] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.646] base::sink(type = "output", split = FALSE) [13:14:13.646] base::close(...future.stdout) [13:14:13.646] }, add = TRUE) [13:14:13.646] } [13:14:13.646] ...future.frame <- base::sys.nframe() [13:14:13.646] ...future.conditions <- base::list() [13:14:13.646] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.646] if (FALSE) { [13:14:13.646] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.646] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.646] } [13:14:13.646] ...future.result <- base::tryCatch({ [13:14:13.646] base::withCallingHandlers({ [13:14:13.646] ...future.value <- base::withVisible(base::local({ [13:14:13.646] ...future.makeSendCondition <- local({ [13:14:13.646] sendCondition <- NULL [13:14:13.646] function(frame = 1L) { [13:14:13.646] if (is.function(sendCondition)) [13:14:13.646] return(sendCondition) [13:14:13.646] ns <- getNamespace("parallel") [13:14:13.646] if (exists("sendData", mode = "function", [13:14:13.646] envir = ns)) { [13:14:13.646] parallel_sendData <- get("sendData", mode = "function", [13:14:13.646] envir = ns) [13:14:13.646] envir <- sys.frame(frame) [13:14:13.646] master <- NULL [13:14:13.646] while (!identical(envir, .GlobalEnv) && [13:14:13.646] !identical(envir, emptyenv())) { [13:14:13.646] if (exists("master", mode = "list", envir = envir, [13:14:13.646] inherits = FALSE)) { [13:14:13.646] master <- get("master", mode = "list", [13:14:13.646] envir = envir, inherits = FALSE) [13:14:13.646] if (inherits(master, c("SOCKnode", [13:14:13.646] "SOCK0node"))) { [13:14:13.646] sendCondition <<- function(cond) { [13:14:13.646] data <- list(type = "VALUE", value = cond, [13:14:13.646] success = TRUE) [13:14:13.646] parallel_sendData(master, data) [13:14:13.646] } [13:14:13.646] return(sendCondition) [13:14:13.646] } [13:14:13.646] } [13:14:13.646] frame <- frame + 1L [13:14:13.646] envir <- sys.frame(frame) [13:14:13.646] } [13:14:13.646] } [13:14:13.646] sendCondition <<- function(cond) NULL [13:14:13.646] } [13:14:13.646] }) [13:14:13.646] withCallingHandlers({ [13:14:13.646] { [13:14:13.646] do.call(function(...) { [13:14:13.646] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.646] if (!identical(...future.globals.maxSize.org, [13:14:13.646] ...future.globals.maxSize)) { [13:14:13.646] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.646] on.exit(options(oopts), add = TRUE) [13:14:13.646] } [13:14:13.646] { [13:14:13.646] lapply(seq_along(...future.elements_ii), [13:14:13.646] FUN = function(jj) { [13:14:13.646] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.646] ...future.FUN(...future.X_jj, ...) [13:14:13.646] }) [13:14:13.646] } [13:14:13.646] }, args = future.call.arguments) [13:14:13.646] } [13:14:13.646] }, immediateCondition = function(cond) { [13:14:13.646] sendCondition <- ...future.makeSendCondition() [13:14:13.646] sendCondition(cond) [13:14:13.646] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.646] { [13:14:13.646] inherits <- base::inherits [13:14:13.646] invokeRestart <- base::invokeRestart [13:14:13.646] is.null <- base::is.null [13:14:13.646] muffled <- FALSE [13:14:13.646] if (inherits(cond, "message")) { [13:14:13.646] muffled <- grepl(pattern, "muffleMessage") [13:14:13.646] if (muffled) [13:14:13.646] invokeRestart("muffleMessage") [13:14:13.646] } [13:14:13.646] else if (inherits(cond, "warning")) { [13:14:13.646] muffled <- grepl(pattern, "muffleWarning") [13:14:13.646] if (muffled) [13:14:13.646] invokeRestart("muffleWarning") [13:14:13.646] } [13:14:13.646] else if (inherits(cond, "condition")) { [13:14:13.646] if (!is.null(pattern)) { [13:14:13.646] computeRestarts <- base::computeRestarts [13:14:13.646] grepl <- base::grepl [13:14:13.646] restarts <- computeRestarts(cond) [13:14:13.646] for (restart in restarts) { [13:14:13.646] name <- restart$name [13:14:13.646] if (is.null(name)) [13:14:13.646] next [13:14:13.646] if (!grepl(pattern, name)) [13:14:13.646] next [13:14:13.646] invokeRestart(restart) [13:14:13.646] muffled <- TRUE [13:14:13.646] break [13:14:13.646] } [13:14:13.646] } [13:14:13.646] } [13:14:13.646] invisible(muffled) [13:14:13.646] } [13:14:13.646] muffleCondition(cond) [13:14:13.646] }) [13:14:13.646] })) [13:14:13.646] future::FutureResult(value = ...future.value$value, [13:14:13.646] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.646] ...future.rng), globalenv = if (FALSE) [13:14:13.646] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.646] ...future.globalenv.names)) [13:14:13.646] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.646] }, condition = base::local({ [13:14:13.646] c <- base::c [13:14:13.646] inherits <- base::inherits [13:14:13.646] invokeRestart <- base::invokeRestart [13:14:13.646] length <- base::length [13:14:13.646] list <- base::list [13:14:13.646] seq.int <- base::seq.int [13:14:13.646] signalCondition <- base::signalCondition [13:14:13.646] sys.calls <- base::sys.calls [13:14:13.646] `[[` <- base::`[[` [13:14:13.646] `+` <- base::`+` [13:14:13.646] `<<-` <- base::`<<-` [13:14:13.646] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.646] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.646] 3L)] [13:14:13.646] } [13:14:13.646] function(cond) { [13:14:13.646] is_error <- inherits(cond, "error") [13:14:13.646] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.646] NULL) [13:14:13.646] if (is_error) { [13:14:13.646] sessionInformation <- function() { [13:14:13.646] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.646] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.646] search = base::search(), system = base::Sys.info()) [13:14:13.646] } [13:14:13.646] ...future.conditions[[length(...future.conditions) + [13:14:13.646] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.646] cond$call), session = sessionInformation(), [13:14:13.646] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.646] signalCondition(cond) [13:14:13.646] } [13:14:13.646] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.646] "immediateCondition"))) { [13:14:13.646] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.646] ...future.conditions[[length(...future.conditions) + [13:14:13.646] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.646] if (TRUE && !signal) { [13:14:13.646] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.646] { [13:14:13.646] inherits <- base::inherits [13:14:13.646] invokeRestart <- base::invokeRestart [13:14:13.646] is.null <- base::is.null [13:14:13.646] muffled <- FALSE [13:14:13.646] if (inherits(cond, "message")) { [13:14:13.646] muffled <- grepl(pattern, "muffleMessage") [13:14:13.646] if (muffled) [13:14:13.646] invokeRestart("muffleMessage") [13:14:13.646] } [13:14:13.646] else if (inherits(cond, "warning")) { [13:14:13.646] muffled <- grepl(pattern, "muffleWarning") [13:14:13.646] if (muffled) [13:14:13.646] invokeRestart("muffleWarning") [13:14:13.646] } [13:14:13.646] else if (inherits(cond, "condition")) { [13:14:13.646] if (!is.null(pattern)) { [13:14:13.646] computeRestarts <- base::computeRestarts [13:14:13.646] grepl <- base::grepl [13:14:13.646] restarts <- computeRestarts(cond) [13:14:13.646] for (restart in restarts) { [13:14:13.646] name <- restart$name [13:14:13.646] if (is.null(name)) [13:14:13.646] next [13:14:13.646] if (!grepl(pattern, name)) [13:14:13.646] next [13:14:13.646] invokeRestart(restart) [13:14:13.646] muffled <- TRUE [13:14:13.646] break [13:14:13.646] } [13:14:13.646] } [13:14:13.646] } [13:14:13.646] invisible(muffled) [13:14:13.646] } [13:14:13.646] muffleCondition(cond, pattern = "^muffle") [13:14:13.646] } [13:14:13.646] } [13:14:13.646] else { [13:14:13.646] if (TRUE) { [13:14:13.646] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.646] { [13:14:13.646] inherits <- base::inherits [13:14:13.646] invokeRestart <- base::invokeRestart [13:14:13.646] is.null <- base::is.null [13:14:13.646] muffled <- FALSE [13:14:13.646] if (inherits(cond, "message")) { [13:14:13.646] muffled <- grepl(pattern, "muffleMessage") [13:14:13.646] if (muffled) [13:14:13.646] invokeRestart("muffleMessage") [13:14:13.646] } [13:14:13.646] else if (inherits(cond, "warning")) { [13:14:13.646] muffled <- grepl(pattern, "muffleWarning") [13:14:13.646] if (muffled) [13:14:13.646] invokeRestart("muffleWarning") [13:14:13.646] } [13:14:13.646] else if (inherits(cond, "condition")) { [13:14:13.646] if (!is.null(pattern)) { [13:14:13.646] computeRestarts <- base::computeRestarts [13:14:13.646] grepl <- base::grepl [13:14:13.646] restarts <- computeRestarts(cond) [13:14:13.646] for (restart in restarts) { [13:14:13.646] name <- restart$name [13:14:13.646] if (is.null(name)) [13:14:13.646] next [13:14:13.646] if (!grepl(pattern, name)) [13:14:13.646] next [13:14:13.646] invokeRestart(restart) [13:14:13.646] muffled <- TRUE [13:14:13.646] break [13:14:13.646] } [13:14:13.646] } [13:14:13.646] } [13:14:13.646] invisible(muffled) [13:14:13.646] } [13:14:13.646] muffleCondition(cond, pattern = "^muffle") [13:14:13.646] } [13:14:13.646] } [13:14:13.646] } [13:14:13.646] })) [13:14:13.646] }, error = function(ex) { [13:14:13.646] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.646] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.646] ...future.rng), started = ...future.startTime, [13:14:13.646] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.646] version = "1.8"), class = "FutureResult") [13:14:13.646] }, finally = { [13:14:13.646] if (!identical(...future.workdir, getwd())) [13:14:13.646] setwd(...future.workdir) [13:14:13.646] { [13:14:13.646] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.646] ...future.oldOptions$nwarnings <- NULL [13:14:13.646] } [13:14:13.646] base::options(...future.oldOptions) [13:14:13.646] if (.Platform$OS.type == "windows") { [13:14:13.646] old_names <- names(...future.oldEnvVars) [13:14:13.646] envs <- base::Sys.getenv() [13:14:13.646] names <- names(envs) [13:14:13.646] common <- intersect(names, old_names) [13:14:13.646] added <- setdiff(names, old_names) [13:14:13.646] removed <- setdiff(old_names, names) [13:14:13.646] changed <- common[...future.oldEnvVars[common] != [13:14:13.646] envs[common]] [13:14:13.646] NAMES <- toupper(changed) [13:14:13.646] args <- list() [13:14:13.646] for (kk in seq_along(NAMES)) { [13:14:13.646] name <- changed[[kk]] [13:14:13.646] NAME <- NAMES[[kk]] [13:14:13.646] if (name != NAME && is.element(NAME, old_names)) [13:14:13.646] next [13:14:13.646] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.646] } [13:14:13.646] NAMES <- toupper(added) [13:14:13.646] for (kk in seq_along(NAMES)) { [13:14:13.646] name <- added[[kk]] [13:14:13.646] NAME <- NAMES[[kk]] [13:14:13.646] if (name != NAME && is.element(NAME, old_names)) [13:14:13.646] next [13:14:13.646] args[[name]] <- "" [13:14:13.646] } [13:14:13.646] NAMES <- toupper(removed) [13:14:13.646] for (kk in seq_along(NAMES)) { [13:14:13.646] name <- removed[[kk]] [13:14:13.646] NAME <- NAMES[[kk]] [13:14:13.646] if (name != NAME && is.element(NAME, old_names)) [13:14:13.646] next [13:14:13.646] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.646] } [13:14:13.646] if (length(args) > 0) [13:14:13.646] base::do.call(base::Sys.setenv, args = args) [13:14:13.646] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.646] } [13:14:13.646] else { [13:14:13.646] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.646] } [13:14:13.646] { [13:14:13.646] if (base::length(...future.futureOptionsAdded) > [13:14:13.646] 0L) { [13:14:13.646] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.646] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.646] base::options(opts) [13:14:13.646] } [13:14:13.646] { [13:14:13.646] { [13:14:13.646] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.646] NULL [13:14:13.646] } [13:14:13.646] options(future.plan = NULL) [13:14:13.646] if (is.na(NA_character_)) [13:14:13.646] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.646] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.646] future::plan(list(function (..., workers = availableCores(), [13:14:13.646] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.646] envir = parent.frame()) [13:14:13.646] { [13:14:13.646] if (is.function(workers)) [13:14:13.646] workers <- workers() [13:14:13.646] workers <- structure(as.integer(workers), [13:14:13.646] class = class(workers)) [13:14:13.646] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.646] workers >= 1) [13:14:13.646] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.646] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.646] } [13:14:13.646] future <- MultisessionFuture(..., workers = workers, [13:14:13.646] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.646] envir = envir) [13:14:13.646] if (!future$lazy) [13:14:13.646] future <- run(future) [13:14:13.646] invisible(future) [13:14:13.646] }), .cleanup = FALSE, .init = FALSE) [13:14:13.646] } [13:14:13.646] } [13:14:13.646] } [13:14:13.646] }) [13:14:13.646] if (TRUE) { [13:14:13.646] base::sink(type = "output", split = FALSE) [13:14:13.646] if (TRUE) { [13:14:13.646] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.646] } [13:14:13.646] else { [13:14:13.646] ...future.result["stdout"] <- base::list(NULL) [13:14:13.646] } [13:14:13.646] base::close(...future.stdout) [13:14:13.646] ...future.stdout <- NULL [13:14:13.646] } [13:14:13.646] ...future.result$conditions <- ...future.conditions [13:14:13.646] ...future.result$finished <- base::Sys.time() [13:14:13.646] ...future.result [13:14:13.646] } [13:14:13.651] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:13.652] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:13.652] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:13.652] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.653] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.653] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.653] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.654] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.654] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.654] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.655] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.655] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:13.655] MultisessionFuture started [13:14:13.656] - Launch lazy future ... done [13:14:13.656] run() for 'MultisessionFuture' ... done [13:14:13.656] Created future: [13:14:13.671] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.671] - Validating connection of MultisessionFuture [13:14:13.672] - received message: FutureResult [13:14:13.672] - Received FutureResult [13:14:13.672] - Erased future from FutureRegistry [13:14:13.672] result() for ClusterFuture ... [13:14:13.672] - result already collected: FutureResult [13:14:13.673] result() for ClusterFuture ... done [13:14:13.673] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.656] MultisessionFuture: [13:14:13.656] Label: 'future_sapply-1' [13:14:13.656] Expression: [13:14:13.656] { [13:14:13.656] do.call(function(...) { [13:14:13.656] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.656] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.656] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.656] on.exit(options(oopts), add = TRUE) [13:14:13.656] } [13:14:13.656] { [13:14:13.656] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.656] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.656] ...future.FUN(...future.X_jj, ...) [13:14:13.656] }) [13:14:13.656] } [13:14:13.656] }, args = future.call.arguments) [13:14:13.656] } [13:14:13.656] Lazy evaluation: FALSE [13:14:13.656] Asynchronous evaluation: TRUE [13:14:13.656] Local evaluation: TRUE [13:14:13.656] Environment: R_GlobalEnv [13:14:13.656] Capture standard output: TRUE [13:14:13.656] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.656] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.656] Packages: [13:14:13.656] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.656] Resolved: TRUE [13:14:13.656] Value: [13:14:13.656] Conditions captured: [13:14:13.656] Early signaling: FALSE [13:14:13.656] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.656] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.673] Chunk #1 of 2 ... DONE [13:14:13.673] Chunk #2 of 2 ... [13:14:13.674] - Finding globals in 'X' for chunk #2 ... [13:14:13.674] getGlobalsAndPackages() ... [13:14:13.674] Searching for globals... [13:14:13.674] [13:14:13.674] Searching for globals ... DONE [13:14:13.675] - globals: [0] [13:14:13.675] getGlobalsAndPackages() ... DONE [13:14:13.675] + additional globals found: [n=0] [13:14:13.675] + additional namespaces needed: [n=0] [13:14:13.675] - Finding globals in 'X' for chunk #2 ... DONE [13:14:13.675] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.676] - seeds: [13:14:13.676] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.676] getGlobalsAndPackages() ... [13:14:13.676] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.676] Resolving globals: FALSE [13:14:13.676] Tweak future expression to call with '...' arguments ... [13:14:13.677] { [13:14:13.677] do.call(function(...) { [13:14:13.677] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.677] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.677] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.677] on.exit(options(oopts), add = TRUE) [13:14:13.677] } [13:14:13.677] { [13:14:13.677] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.677] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.677] ...future.FUN(...future.X_jj, ...) [13:14:13.677] }) [13:14:13.677] } [13:14:13.677] }, args = future.call.arguments) [13:14:13.677] } [13:14:13.677] Tweak future expression to call with '...' arguments ... DONE [13:14:13.678] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.678] [13:14:13.678] getGlobalsAndPackages() ... DONE [13:14:13.678] run() for 'Future' ... [13:14:13.678] - state: 'created' [13:14:13.679] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.693] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.693] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.693] - Field: 'node' [13:14:13.693] - Field: 'label' [13:14:13.694] - Field: 'local' [13:14:13.694] - Field: 'owner' [13:14:13.694] - Field: 'envir' [13:14:13.694] - Field: 'workers' [13:14:13.694] - Field: 'packages' [13:14:13.694] - Field: 'gc' [13:14:13.695] - Field: 'conditions' [13:14:13.695] - Field: 'persistent' [13:14:13.695] - Field: 'expr' [13:14:13.695] - Field: 'uuid' [13:14:13.695] - Field: 'seed' [13:14:13.696] - Field: 'version' [13:14:13.696] - Field: 'result' [13:14:13.696] - Field: 'asynchronous' [13:14:13.696] - Field: 'calls' [13:14:13.696] - Field: 'globals' [13:14:13.696] - Field: 'stdout' [13:14:13.697] - Field: 'earlySignal' [13:14:13.697] - Field: 'lazy' [13:14:13.697] - Field: 'state' [13:14:13.697] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.697] - Launch lazy future ... [13:14:13.698] Packages needed by the future expression (n = 0): [13:14:13.698] Packages needed by future strategies (n = 0): [13:14:13.698] { [13:14:13.698] { [13:14:13.698] { [13:14:13.698] ...future.startTime <- base::Sys.time() [13:14:13.698] { [13:14:13.698] { [13:14:13.698] { [13:14:13.698] { [13:14:13.698] base::local({ [13:14:13.698] has_future <- base::requireNamespace("future", [13:14:13.698] quietly = TRUE) [13:14:13.698] if (has_future) { [13:14:13.698] ns <- base::getNamespace("future") [13:14:13.698] version <- ns[[".package"]][["version"]] [13:14:13.698] if (is.null(version)) [13:14:13.698] version <- utils::packageVersion("future") [13:14:13.698] } [13:14:13.698] else { [13:14:13.698] version <- NULL [13:14:13.698] } [13:14:13.698] if (!has_future || version < "1.8.0") { [13:14:13.698] info <- base::c(r_version = base::gsub("R version ", [13:14:13.698] "", base::R.version$version.string), [13:14:13.698] platform = base::sprintf("%s (%s-bit)", [13:14:13.698] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.698] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.698] "release", "version")], collapse = " "), [13:14:13.698] hostname = base::Sys.info()[["nodename"]]) [13:14:13.698] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.698] info) [13:14:13.698] info <- base::paste(info, collapse = "; ") [13:14:13.698] if (!has_future) { [13:14:13.698] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.698] info) [13:14:13.698] } [13:14:13.698] else { [13:14:13.698] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.698] info, version) [13:14:13.698] } [13:14:13.698] base::stop(msg) [13:14:13.698] } [13:14:13.698] }) [13:14:13.698] } [13:14:13.698] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.698] base::options(mc.cores = 1L) [13:14:13.698] } [13:14:13.698] options(future.plan = NULL) [13:14:13.698] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.698] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.698] } [13:14:13.698] ...future.workdir <- getwd() [13:14:13.698] } [13:14:13.698] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.698] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.698] } [13:14:13.698] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.698] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.698] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.698] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.698] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.698] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.698] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.698] base::names(...future.oldOptions)) [13:14:13.698] } [13:14:13.698] if (FALSE) { [13:14:13.698] } [13:14:13.698] else { [13:14:13.698] if (TRUE) { [13:14:13.698] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.698] open = "w") [13:14:13.698] } [13:14:13.698] else { [13:14:13.698] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.698] windows = "NUL", "/dev/null"), open = "w") [13:14:13.698] } [13:14:13.698] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.698] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.698] base::sink(type = "output", split = FALSE) [13:14:13.698] base::close(...future.stdout) [13:14:13.698] }, add = TRUE) [13:14:13.698] } [13:14:13.698] ...future.frame <- base::sys.nframe() [13:14:13.698] ...future.conditions <- base::list() [13:14:13.698] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.698] if (FALSE) { [13:14:13.698] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.698] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.698] } [13:14:13.698] ...future.result <- base::tryCatch({ [13:14:13.698] base::withCallingHandlers({ [13:14:13.698] ...future.value <- base::withVisible(base::local({ [13:14:13.698] ...future.makeSendCondition <- local({ [13:14:13.698] sendCondition <- NULL [13:14:13.698] function(frame = 1L) { [13:14:13.698] if (is.function(sendCondition)) [13:14:13.698] return(sendCondition) [13:14:13.698] ns <- getNamespace("parallel") [13:14:13.698] if (exists("sendData", mode = "function", [13:14:13.698] envir = ns)) { [13:14:13.698] parallel_sendData <- get("sendData", mode = "function", [13:14:13.698] envir = ns) [13:14:13.698] envir <- sys.frame(frame) [13:14:13.698] master <- NULL [13:14:13.698] while (!identical(envir, .GlobalEnv) && [13:14:13.698] !identical(envir, emptyenv())) { [13:14:13.698] if (exists("master", mode = "list", envir = envir, [13:14:13.698] inherits = FALSE)) { [13:14:13.698] master <- get("master", mode = "list", [13:14:13.698] envir = envir, inherits = FALSE) [13:14:13.698] if (inherits(master, c("SOCKnode", [13:14:13.698] "SOCK0node"))) { [13:14:13.698] sendCondition <<- function(cond) { [13:14:13.698] data <- list(type = "VALUE", value = cond, [13:14:13.698] success = TRUE) [13:14:13.698] parallel_sendData(master, data) [13:14:13.698] } [13:14:13.698] return(sendCondition) [13:14:13.698] } [13:14:13.698] } [13:14:13.698] frame <- frame + 1L [13:14:13.698] envir <- sys.frame(frame) [13:14:13.698] } [13:14:13.698] } [13:14:13.698] sendCondition <<- function(cond) NULL [13:14:13.698] } [13:14:13.698] }) [13:14:13.698] withCallingHandlers({ [13:14:13.698] { [13:14:13.698] do.call(function(...) { [13:14:13.698] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.698] if (!identical(...future.globals.maxSize.org, [13:14:13.698] ...future.globals.maxSize)) { [13:14:13.698] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.698] on.exit(options(oopts), add = TRUE) [13:14:13.698] } [13:14:13.698] { [13:14:13.698] lapply(seq_along(...future.elements_ii), [13:14:13.698] FUN = function(jj) { [13:14:13.698] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.698] ...future.FUN(...future.X_jj, ...) [13:14:13.698] }) [13:14:13.698] } [13:14:13.698] }, args = future.call.arguments) [13:14:13.698] } [13:14:13.698] }, immediateCondition = function(cond) { [13:14:13.698] sendCondition <- ...future.makeSendCondition() [13:14:13.698] sendCondition(cond) [13:14:13.698] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.698] { [13:14:13.698] inherits <- base::inherits [13:14:13.698] invokeRestart <- base::invokeRestart [13:14:13.698] is.null <- base::is.null [13:14:13.698] muffled <- FALSE [13:14:13.698] if (inherits(cond, "message")) { [13:14:13.698] muffled <- grepl(pattern, "muffleMessage") [13:14:13.698] if (muffled) [13:14:13.698] invokeRestart("muffleMessage") [13:14:13.698] } [13:14:13.698] else if (inherits(cond, "warning")) { [13:14:13.698] muffled <- grepl(pattern, "muffleWarning") [13:14:13.698] if (muffled) [13:14:13.698] invokeRestart("muffleWarning") [13:14:13.698] } [13:14:13.698] else if (inherits(cond, "condition")) { [13:14:13.698] if (!is.null(pattern)) { [13:14:13.698] computeRestarts <- base::computeRestarts [13:14:13.698] grepl <- base::grepl [13:14:13.698] restarts <- computeRestarts(cond) [13:14:13.698] for (restart in restarts) { [13:14:13.698] name <- restart$name [13:14:13.698] if (is.null(name)) [13:14:13.698] next [13:14:13.698] if (!grepl(pattern, name)) [13:14:13.698] next [13:14:13.698] invokeRestart(restart) [13:14:13.698] muffled <- TRUE [13:14:13.698] break [13:14:13.698] } [13:14:13.698] } [13:14:13.698] } [13:14:13.698] invisible(muffled) [13:14:13.698] } [13:14:13.698] muffleCondition(cond) [13:14:13.698] }) [13:14:13.698] })) [13:14:13.698] future::FutureResult(value = ...future.value$value, [13:14:13.698] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.698] ...future.rng), globalenv = if (FALSE) [13:14:13.698] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.698] ...future.globalenv.names)) [13:14:13.698] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.698] }, condition = base::local({ [13:14:13.698] c <- base::c [13:14:13.698] inherits <- base::inherits [13:14:13.698] invokeRestart <- base::invokeRestart [13:14:13.698] length <- base::length [13:14:13.698] list <- base::list [13:14:13.698] seq.int <- base::seq.int [13:14:13.698] signalCondition <- base::signalCondition [13:14:13.698] sys.calls <- base::sys.calls [13:14:13.698] `[[` <- base::`[[` [13:14:13.698] `+` <- base::`+` [13:14:13.698] `<<-` <- base::`<<-` [13:14:13.698] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.698] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.698] 3L)] [13:14:13.698] } [13:14:13.698] function(cond) { [13:14:13.698] is_error <- inherits(cond, "error") [13:14:13.698] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.698] NULL) [13:14:13.698] if (is_error) { [13:14:13.698] sessionInformation <- function() { [13:14:13.698] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.698] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.698] search = base::search(), system = base::Sys.info()) [13:14:13.698] } [13:14:13.698] ...future.conditions[[length(...future.conditions) + [13:14:13.698] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.698] cond$call), session = sessionInformation(), [13:14:13.698] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.698] signalCondition(cond) [13:14:13.698] } [13:14:13.698] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.698] "immediateCondition"))) { [13:14:13.698] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.698] ...future.conditions[[length(...future.conditions) + [13:14:13.698] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.698] if (TRUE && !signal) { [13:14:13.698] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.698] { [13:14:13.698] inherits <- base::inherits [13:14:13.698] invokeRestart <- base::invokeRestart [13:14:13.698] is.null <- base::is.null [13:14:13.698] muffled <- FALSE [13:14:13.698] if (inherits(cond, "message")) { [13:14:13.698] muffled <- grepl(pattern, "muffleMessage") [13:14:13.698] if (muffled) [13:14:13.698] invokeRestart("muffleMessage") [13:14:13.698] } [13:14:13.698] else if (inherits(cond, "warning")) { [13:14:13.698] muffled <- grepl(pattern, "muffleWarning") [13:14:13.698] if (muffled) [13:14:13.698] invokeRestart("muffleWarning") [13:14:13.698] } [13:14:13.698] else if (inherits(cond, "condition")) { [13:14:13.698] if (!is.null(pattern)) { [13:14:13.698] computeRestarts <- base::computeRestarts [13:14:13.698] grepl <- base::grepl [13:14:13.698] restarts <- computeRestarts(cond) [13:14:13.698] for (restart in restarts) { [13:14:13.698] name <- restart$name [13:14:13.698] if (is.null(name)) [13:14:13.698] next [13:14:13.698] if (!grepl(pattern, name)) [13:14:13.698] next [13:14:13.698] invokeRestart(restart) [13:14:13.698] muffled <- TRUE [13:14:13.698] break [13:14:13.698] } [13:14:13.698] } [13:14:13.698] } [13:14:13.698] invisible(muffled) [13:14:13.698] } [13:14:13.698] muffleCondition(cond, pattern = "^muffle") [13:14:13.698] } [13:14:13.698] } [13:14:13.698] else { [13:14:13.698] if (TRUE) { [13:14:13.698] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.698] { [13:14:13.698] inherits <- base::inherits [13:14:13.698] invokeRestart <- base::invokeRestart [13:14:13.698] is.null <- base::is.null [13:14:13.698] muffled <- FALSE [13:14:13.698] if (inherits(cond, "message")) { [13:14:13.698] muffled <- grepl(pattern, "muffleMessage") [13:14:13.698] if (muffled) [13:14:13.698] invokeRestart("muffleMessage") [13:14:13.698] } [13:14:13.698] else if (inherits(cond, "warning")) { [13:14:13.698] muffled <- grepl(pattern, "muffleWarning") [13:14:13.698] if (muffled) [13:14:13.698] invokeRestart("muffleWarning") [13:14:13.698] } [13:14:13.698] else if (inherits(cond, "condition")) { [13:14:13.698] if (!is.null(pattern)) { [13:14:13.698] computeRestarts <- base::computeRestarts [13:14:13.698] grepl <- base::grepl [13:14:13.698] restarts <- computeRestarts(cond) [13:14:13.698] for (restart in restarts) { [13:14:13.698] name <- restart$name [13:14:13.698] if (is.null(name)) [13:14:13.698] next [13:14:13.698] if (!grepl(pattern, name)) [13:14:13.698] next [13:14:13.698] invokeRestart(restart) [13:14:13.698] muffled <- TRUE [13:14:13.698] break [13:14:13.698] } [13:14:13.698] } [13:14:13.698] } [13:14:13.698] invisible(muffled) [13:14:13.698] } [13:14:13.698] muffleCondition(cond, pattern = "^muffle") [13:14:13.698] } [13:14:13.698] } [13:14:13.698] } [13:14:13.698] })) [13:14:13.698] }, error = function(ex) { [13:14:13.698] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.698] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.698] ...future.rng), started = ...future.startTime, [13:14:13.698] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.698] version = "1.8"), class = "FutureResult") [13:14:13.698] }, finally = { [13:14:13.698] if (!identical(...future.workdir, getwd())) [13:14:13.698] setwd(...future.workdir) [13:14:13.698] { [13:14:13.698] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.698] ...future.oldOptions$nwarnings <- NULL [13:14:13.698] } [13:14:13.698] base::options(...future.oldOptions) [13:14:13.698] if (.Platform$OS.type == "windows") { [13:14:13.698] old_names <- names(...future.oldEnvVars) [13:14:13.698] envs <- base::Sys.getenv() [13:14:13.698] names <- names(envs) [13:14:13.698] common <- intersect(names, old_names) [13:14:13.698] added <- setdiff(names, old_names) [13:14:13.698] removed <- setdiff(old_names, names) [13:14:13.698] changed <- common[...future.oldEnvVars[common] != [13:14:13.698] envs[common]] [13:14:13.698] NAMES <- toupper(changed) [13:14:13.698] args <- list() [13:14:13.698] for (kk in seq_along(NAMES)) { [13:14:13.698] name <- changed[[kk]] [13:14:13.698] NAME <- NAMES[[kk]] [13:14:13.698] if (name != NAME && is.element(NAME, old_names)) [13:14:13.698] next [13:14:13.698] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.698] } [13:14:13.698] NAMES <- toupper(added) [13:14:13.698] for (kk in seq_along(NAMES)) { [13:14:13.698] name <- added[[kk]] [13:14:13.698] NAME <- NAMES[[kk]] [13:14:13.698] if (name != NAME && is.element(NAME, old_names)) [13:14:13.698] next [13:14:13.698] args[[name]] <- "" [13:14:13.698] } [13:14:13.698] NAMES <- toupper(removed) [13:14:13.698] for (kk in seq_along(NAMES)) { [13:14:13.698] name <- removed[[kk]] [13:14:13.698] NAME <- NAMES[[kk]] [13:14:13.698] if (name != NAME && is.element(NAME, old_names)) [13:14:13.698] next [13:14:13.698] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.698] } [13:14:13.698] if (length(args) > 0) [13:14:13.698] base::do.call(base::Sys.setenv, args = args) [13:14:13.698] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.698] } [13:14:13.698] else { [13:14:13.698] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.698] } [13:14:13.698] { [13:14:13.698] if (base::length(...future.futureOptionsAdded) > [13:14:13.698] 0L) { [13:14:13.698] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.698] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.698] base::options(opts) [13:14:13.698] } [13:14:13.698] { [13:14:13.698] { [13:14:13.698] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.698] NULL [13:14:13.698] } [13:14:13.698] options(future.plan = NULL) [13:14:13.698] if (is.na(NA_character_)) [13:14:13.698] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.698] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.698] future::plan(list(function (..., workers = availableCores(), [13:14:13.698] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.698] envir = parent.frame()) [13:14:13.698] { [13:14:13.698] if (is.function(workers)) [13:14:13.698] workers <- workers() [13:14:13.698] workers <- structure(as.integer(workers), [13:14:13.698] class = class(workers)) [13:14:13.698] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.698] workers >= 1) [13:14:13.698] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.698] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.698] } [13:14:13.698] future <- MultisessionFuture(..., workers = workers, [13:14:13.698] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.698] envir = envir) [13:14:13.698] if (!future$lazy) [13:14:13.698] future <- run(future) [13:14:13.698] invisible(future) [13:14:13.698] }), .cleanup = FALSE, .init = FALSE) [13:14:13.698] } [13:14:13.698] } [13:14:13.698] } [13:14:13.698] }) [13:14:13.698] if (TRUE) { [13:14:13.698] base::sink(type = "output", split = FALSE) [13:14:13.698] if (TRUE) { [13:14:13.698] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.698] } [13:14:13.698] else { [13:14:13.698] ...future.result["stdout"] <- base::list(NULL) [13:14:13.698] } [13:14:13.698] base::close(...future.stdout) [13:14:13.698] ...future.stdout <- NULL [13:14:13.698] } [13:14:13.698] ...future.result$conditions <- ...future.conditions [13:14:13.698] ...future.result$finished <- base::Sys.time() [13:14:13.698] ...future.result [13:14:13.698] } [13:14:13.704] Exporting 5 global objects (848 bytes) to cluster node #1 ... [13:14:13.704] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:14:13.705] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:14:13.705] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.705] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.706] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.706] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.706] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.707] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.707] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.707] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.707] Exporting 5 global objects (848 bytes) to cluster node #1 ... DONE [13:14:13.708] MultisessionFuture started [13:14:13.708] - Launch lazy future ... done [13:14:13.708] run() for 'MultisessionFuture' ... done [13:14:13.709] Created future: [13:14:13.725] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.725] - Validating connection of MultisessionFuture [13:14:13.725] - received message: FutureResult [13:14:13.725] - Received FutureResult [13:14:13.725] - Erased future from FutureRegistry [13:14:13.726] result() for ClusterFuture ... [13:14:13.726] - result already collected: FutureResult [13:14:13.726] result() for ClusterFuture ... done [13:14:13.726] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.709] MultisessionFuture: [13:14:13.709] Label: 'future_sapply-2' [13:14:13.709] Expression: [13:14:13.709] { [13:14:13.709] do.call(function(...) { [13:14:13.709] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.709] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.709] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.709] on.exit(options(oopts), add = TRUE) [13:14:13.709] } [13:14:13.709] { [13:14:13.709] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.709] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.709] ...future.FUN(...future.X_jj, ...) [13:14:13.709] }) [13:14:13.709] } [13:14:13.709] }, args = future.call.arguments) [13:14:13.709] } [13:14:13.709] Lazy evaluation: FALSE [13:14:13.709] Asynchronous evaluation: TRUE [13:14:13.709] Local evaluation: TRUE [13:14:13.709] Environment: R_GlobalEnv [13:14:13.709] Capture standard output: TRUE [13:14:13.709] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.709] Globals: 5 objects totaling 960 bytes (function '...future.FUN' of 848 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.709] Packages: [13:14:13.709] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.709] Resolved: TRUE [13:14:13.709] Value: [13:14:13.709] Conditions captured: [13:14:13.709] Early signaling: FALSE [13:14:13.709] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.709] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.726] Chunk #2 of 2 ... DONE [13:14:13.727] Launching 2 futures (chunks) ... DONE [13:14:13.727] Resolving 2 futures (chunks) ... [13:14:13.727] resolve() on list ... [13:14:13.727] recursive: 0 [13:14:13.727] length: 2 [13:14:13.727] [13:14:13.728] Future #1 [13:14:13.728] result() for ClusterFuture ... [13:14:13.728] - result already collected: FutureResult [13:14:13.728] result() for ClusterFuture ... done [13:14:13.728] result() for ClusterFuture ... [13:14:13.728] - result already collected: FutureResult [13:14:13.729] result() for ClusterFuture ... done [13:14:13.729] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:13.729] - nx: 2 [13:14:13.729] - relay: TRUE [13:14:13.729] - stdout: TRUE [13:14:13.729] - signal: TRUE [13:14:13.730] - resignal: FALSE [13:14:13.730] - force: TRUE [13:14:13.730] - relayed: [n=2] FALSE, FALSE [13:14:13.730] - queued futures: [n=2] FALSE, FALSE [13:14:13.730] - until=1 [13:14:13.730] - relaying element #1 [13:14:13.730] result() for ClusterFuture ... [13:14:13.731] - result already collected: FutureResult [13:14:13.731] result() for ClusterFuture ... done [13:14:13.731] result() for ClusterFuture ... [13:14:13.731] - result already collected: FutureResult [13:14:13.731] result() for ClusterFuture ... done [13:14:13.731] result() for ClusterFuture ... [13:14:13.732] - result already collected: FutureResult [13:14:13.732] result() for ClusterFuture ... done [13:14:13.732] result() for ClusterFuture ... [13:14:13.732] - result already collected: FutureResult [13:14:13.732] result() for ClusterFuture ... done [13:14:13.732] - relayed: [n=2] TRUE, FALSE [13:14:13.733] - queued futures: [n=2] TRUE, FALSE [13:14:13.733] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:13.733] length: 1 (resolved future 1) [13:14:13.733] Future #2 [13:14:13.733] result() for ClusterFuture ... [13:14:13.733] - result already collected: FutureResult [13:14:13.734] result() for ClusterFuture ... done [13:14:13.734] result() for ClusterFuture ... [13:14:13.734] - result already collected: FutureResult [13:14:13.734] result() for ClusterFuture ... done [13:14:13.734] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:13.734] - nx: 2 [13:14:13.735] - relay: TRUE [13:14:13.735] - stdout: TRUE [13:14:13.735] - signal: TRUE [13:14:13.735] - resignal: FALSE [13:14:13.735] - force: TRUE [13:14:13.735] - relayed: [n=2] TRUE, FALSE [13:14:13.735] - queued futures: [n=2] TRUE, FALSE [13:14:13.736] - until=2 [13:14:13.736] - relaying element #2 [13:14:13.736] result() for ClusterFuture ... [13:14:13.736] - result already collected: FutureResult [13:14:13.736] result() for ClusterFuture ... done [13:14:13.736] result() for ClusterFuture ... [13:14:13.737] - result already collected: FutureResult [13:14:13.737] result() for ClusterFuture ... done [13:14:13.737] result() for ClusterFuture ... [13:14:13.737] - result already collected: FutureResult [13:14:13.737] result() for ClusterFuture ... done [13:14:13.737] result() for ClusterFuture ... [13:14:13.741] - result already collected: FutureResult [13:14:13.741] result() for ClusterFuture ... done [13:14:13.741] - relayed: [n=2] TRUE, TRUE [13:14:13.741] - queued futures: [n=2] TRUE, TRUE [13:14:13.741] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:13.742] length: 0 (resolved future 2) [13:14:13.742] Relaying remaining futures [13:14:13.742] signalConditionsASAP(NULL, pos=0) ... [13:14:13.742] - nx: 2 [13:14:13.742] - relay: TRUE [13:14:13.742] - stdout: TRUE [13:14:13.743] - signal: TRUE [13:14:13.743] - resignal: FALSE [13:14:13.743] - force: TRUE [13:14:13.743] - relayed: [n=2] TRUE, TRUE [13:14:13.743] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:13.743] - relayed: [n=2] TRUE, TRUE [13:14:13.744] - queued futures: [n=2] TRUE, TRUE [13:14:13.744] signalConditionsASAP(NULL, pos=0) ... done [13:14:13.744] resolve() on list ... DONE [13:14:13.744] result() for ClusterFuture ... [13:14:13.744] - result already collected: FutureResult [13:14:13.744] result() for ClusterFuture ... done [13:14:13.745] result() for ClusterFuture ... [13:14:13.745] - result already collected: FutureResult [13:14:13.745] result() for ClusterFuture ... done [13:14:13.745] result() for ClusterFuture ... [13:14:13.745] - result already collected: FutureResult [13:14:13.745] result() for ClusterFuture ... done [13:14:13.746] result() for ClusterFuture ... [13:14:13.746] - result already collected: FutureResult [13:14:13.746] result() for ClusterFuture ... done [13:14:13.746] - Number of value chunks collected: 2 [13:14:13.746] Resolving 2 futures (chunks) ... DONE [13:14:13.746] Reducing values from 2 chunks ... [13:14:13.747] - Number of values collected after concatenation: 4 [13:14:13.747] - Number of values expected: 4 [13:14:13.747] Reducing values from 2 chunks ... DONE [13:14:13.747] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:13.749] future_lapply() ... [13:14:13.752] Number of chunks: 2 [13:14:13.752] getGlobalsAndPackagesXApply() ... [13:14:13.752] - future.globals: TRUE [13:14:13.753] getGlobalsAndPackages() ... [13:14:13.753] Searching for globals... [13:14:13.754] - globals found: [2] 'FUN', 'UseMethod' [13:14:13.754] Searching for globals ... DONE [13:14:13.754] Resolving globals: FALSE [13:14:13.755] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:14:13.755] The total size of the 1 globals exported for future expression ('FUN()') is 1.22 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.22 KiB of class 'function') [13:14:13.755] - globals: [1] 'FUN' [13:14:13.756] [13:14:13.756] getGlobalsAndPackages() ... DONE [13:14:13.756] - globals found/used: [n=1] 'FUN' [13:14:13.756] - needed namespaces: [n=0] [13:14:13.756] Finding globals ... DONE [13:14:13.756] - use_args: TRUE [13:14:13.757] - Getting '...' globals ... [13:14:13.757] resolve() on list ... [13:14:13.757] recursive: 0 [13:14:13.757] length: 1 [13:14:13.758] elements: '...' [13:14:13.758] length: 0 (resolved future 1) [13:14:13.758] resolve() on list ... DONE [13:14:13.758] - '...' content: [n=0] [13:14:13.758] List of 1 [13:14:13.758] $ ...: list() [13:14:13.758] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.758] - attr(*, "where")=List of 1 [13:14:13.758] ..$ ...: [13:14:13.758] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.758] - attr(*, "resolved")= logi TRUE [13:14:13.758] - attr(*, "total_size")= num NA [13:14:13.761] - Getting '...' globals ... DONE [13:14:13.761] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:13.762] List of 2 [13:14:13.762] $ ...future.FUN:function (x, ...) [13:14:13.762] $ ... : list() [13:14:13.762] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.762] - attr(*, "where")=List of 2 [13:14:13.762] ..$ ...future.FUN: [13:14:13.762] ..$ ... : [13:14:13.762] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.762] - attr(*, "resolved")= logi FALSE [13:14:13.762] - attr(*, "total_size")= num 1248 [13:14:13.765] Packages to be attached in all futures: [n=0] [13:14:13.765] getGlobalsAndPackagesXApply() ... DONE [13:14:13.765] Number of futures (= number of chunks): 2 [13:14:13.766] Launching 2 futures (chunks) ... [13:14:13.766] Chunk #1 of 2 ... [13:14:13.766] - Finding globals in 'X' for chunk #1 ... [13:14:13.766] getGlobalsAndPackages() ... [13:14:13.766] Searching for globals... [13:14:13.767] [13:14:13.767] Searching for globals ... DONE [13:14:13.767] - globals: [0] [13:14:13.767] getGlobalsAndPackages() ... DONE [13:14:13.767] + additional globals found: [n=0] [13:14:13.767] + additional namespaces needed: [n=0] [13:14:13.767] - Finding globals in 'X' for chunk #1 ... DONE [13:14:13.768] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.768] - seeds: [13:14:13.768] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.768] getGlobalsAndPackages() ... [13:14:13.768] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.769] Resolving globals: FALSE [13:14:13.769] Tweak future expression to call with '...' arguments ... [13:14:13.769] { [13:14:13.769] do.call(function(...) { [13:14:13.769] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.769] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.769] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.769] on.exit(options(oopts), add = TRUE) [13:14:13.769] } [13:14:13.769] { [13:14:13.769] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.769] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.769] ...future.FUN(...future.X_jj, ...) [13:14:13.769] }) [13:14:13.769] } [13:14:13.769] }, args = future.call.arguments) [13:14:13.769] } [13:14:13.769] Tweak future expression to call with '...' arguments ... DONE [13:14:13.770] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.770] [13:14:13.770] getGlobalsAndPackages() ... DONE [13:14:13.771] run() for 'Future' ... [13:14:13.771] - state: 'created' [13:14:13.771] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.786] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.786] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.786] - Field: 'node' [13:14:13.787] - Field: 'label' [13:14:13.787] - Field: 'local' [13:14:13.787] - Field: 'owner' [13:14:13.787] - Field: 'envir' [13:14:13.787] - Field: 'workers' [13:14:13.787] - Field: 'packages' [13:14:13.788] - Field: 'gc' [13:14:13.788] - Field: 'conditions' [13:14:13.788] - Field: 'persistent' [13:14:13.788] - Field: 'expr' [13:14:13.788] - Field: 'uuid' [13:14:13.789] - Field: 'seed' [13:14:13.789] - Field: 'version' [13:14:13.789] - Field: 'result' [13:14:13.789] - Field: 'asynchronous' [13:14:13.789] - Field: 'calls' [13:14:13.789] - Field: 'globals' [13:14:13.790] - Field: 'stdout' [13:14:13.790] - Field: 'earlySignal' [13:14:13.790] - Field: 'lazy' [13:14:13.790] - Field: 'state' [13:14:13.790] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.790] - Launch lazy future ... [13:14:13.791] Packages needed by the future expression (n = 0): [13:14:13.791] Packages needed by future strategies (n = 0): [13:14:13.792] { [13:14:13.792] { [13:14:13.792] { [13:14:13.792] ...future.startTime <- base::Sys.time() [13:14:13.792] { [13:14:13.792] { [13:14:13.792] { [13:14:13.792] { [13:14:13.792] base::local({ [13:14:13.792] has_future <- base::requireNamespace("future", [13:14:13.792] quietly = TRUE) [13:14:13.792] if (has_future) { [13:14:13.792] ns <- base::getNamespace("future") [13:14:13.792] version <- ns[[".package"]][["version"]] [13:14:13.792] if (is.null(version)) [13:14:13.792] version <- utils::packageVersion("future") [13:14:13.792] } [13:14:13.792] else { [13:14:13.792] version <- NULL [13:14:13.792] } [13:14:13.792] if (!has_future || version < "1.8.0") { [13:14:13.792] info <- base::c(r_version = base::gsub("R version ", [13:14:13.792] "", base::R.version$version.string), [13:14:13.792] platform = base::sprintf("%s (%s-bit)", [13:14:13.792] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.792] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.792] "release", "version")], collapse = " "), [13:14:13.792] hostname = base::Sys.info()[["nodename"]]) [13:14:13.792] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.792] info) [13:14:13.792] info <- base::paste(info, collapse = "; ") [13:14:13.792] if (!has_future) { [13:14:13.792] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.792] info) [13:14:13.792] } [13:14:13.792] else { [13:14:13.792] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.792] info, version) [13:14:13.792] } [13:14:13.792] base::stop(msg) [13:14:13.792] } [13:14:13.792] }) [13:14:13.792] } [13:14:13.792] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.792] base::options(mc.cores = 1L) [13:14:13.792] } [13:14:13.792] options(future.plan = NULL) [13:14:13.792] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.792] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.792] } [13:14:13.792] ...future.workdir <- getwd() [13:14:13.792] } [13:14:13.792] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.792] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.792] } [13:14:13.792] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.792] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.792] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.792] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.792] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.792] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.792] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.792] base::names(...future.oldOptions)) [13:14:13.792] } [13:14:13.792] if (FALSE) { [13:14:13.792] } [13:14:13.792] else { [13:14:13.792] if (TRUE) { [13:14:13.792] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.792] open = "w") [13:14:13.792] } [13:14:13.792] else { [13:14:13.792] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.792] windows = "NUL", "/dev/null"), open = "w") [13:14:13.792] } [13:14:13.792] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.792] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.792] base::sink(type = "output", split = FALSE) [13:14:13.792] base::close(...future.stdout) [13:14:13.792] }, add = TRUE) [13:14:13.792] } [13:14:13.792] ...future.frame <- base::sys.nframe() [13:14:13.792] ...future.conditions <- base::list() [13:14:13.792] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.792] if (FALSE) { [13:14:13.792] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.792] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.792] } [13:14:13.792] ...future.result <- base::tryCatch({ [13:14:13.792] base::withCallingHandlers({ [13:14:13.792] ...future.value <- base::withVisible(base::local({ [13:14:13.792] ...future.makeSendCondition <- local({ [13:14:13.792] sendCondition <- NULL [13:14:13.792] function(frame = 1L) { [13:14:13.792] if (is.function(sendCondition)) [13:14:13.792] return(sendCondition) [13:14:13.792] ns <- getNamespace("parallel") [13:14:13.792] if (exists("sendData", mode = "function", [13:14:13.792] envir = ns)) { [13:14:13.792] parallel_sendData <- get("sendData", mode = "function", [13:14:13.792] envir = ns) [13:14:13.792] envir <- sys.frame(frame) [13:14:13.792] master <- NULL [13:14:13.792] while (!identical(envir, .GlobalEnv) && [13:14:13.792] !identical(envir, emptyenv())) { [13:14:13.792] if (exists("master", mode = "list", envir = envir, [13:14:13.792] inherits = FALSE)) { [13:14:13.792] master <- get("master", mode = "list", [13:14:13.792] envir = envir, inherits = FALSE) [13:14:13.792] if (inherits(master, c("SOCKnode", [13:14:13.792] "SOCK0node"))) { [13:14:13.792] sendCondition <<- function(cond) { [13:14:13.792] data <- list(type = "VALUE", value = cond, [13:14:13.792] success = TRUE) [13:14:13.792] parallel_sendData(master, data) [13:14:13.792] } [13:14:13.792] return(sendCondition) [13:14:13.792] } [13:14:13.792] } [13:14:13.792] frame <- frame + 1L [13:14:13.792] envir <- sys.frame(frame) [13:14:13.792] } [13:14:13.792] } [13:14:13.792] sendCondition <<- function(cond) NULL [13:14:13.792] } [13:14:13.792] }) [13:14:13.792] withCallingHandlers({ [13:14:13.792] { [13:14:13.792] do.call(function(...) { [13:14:13.792] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.792] if (!identical(...future.globals.maxSize.org, [13:14:13.792] ...future.globals.maxSize)) { [13:14:13.792] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.792] on.exit(options(oopts), add = TRUE) [13:14:13.792] } [13:14:13.792] { [13:14:13.792] lapply(seq_along(...future.elements_ii), [13:14:13.792] FUN = function(jj) { [13:14:13.792] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.792] ...future.FUN(...future.X_jj, ...) [13:14:13.792] }) [13:14:13.792] } [13:14:13.792] }, args = future.call.arguments) [13:14:13.792] } [13:14:13.792] }, immediateCondition = function(cond) { [13:14:13.792] sendCondition <- ...future.makeSendCondition() [13:14:13.792] sendCondition(cond) [13:14:13.792] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.792] { [13:14:13.792] inherits <- base::inherits [13:14:13.792] invokeRestart <- base::invokeRestart [13:14:13.792] is.null <- base::is.null [13:14:13.792] muffled <- FALSE [13:14:13.792] if (inherits(cond, "message")) { [13:14:13.792] muffled <- grepl(pattern, "muffleMessage") [13:14:13.792] if (muffled) [13:14:13.792] invokeRestart("muffleMessage") [13:14:13.792] } [13:14:13.792] else if (inherits(cond, "warning")) { [13:14:13.792] muffled <- grepl(pattern, "muffleWarning") [13:14:13.792] if (muffled) [13:14:13.792] invokeRestart("muffleWarning") [13:14:13.792] } [13:14:13.792] else if (inherits(cond, "condition")) { [13:14:13.792] if (!is.null(pattern)) { [13:14:13.792] computeRestarts <- base::computeRestarts [13:14:13.792] grepl <- base::grepl [13:14:13.792] restarts <- computeRestarts(cond) [13:14:13.792] for (restart in restarts) { [13:14:13.792] name <- restart$name [13:14:13.792] if (is.null(name)) [13:14:13.792] next [13:14:13.792] if (!grepl(pattern, name)) [13:14:13.792] next [13:14:13.792] invokeRestart(restart) [13:14:13.792] muffled <- TRUE [13:14:13.792] break [13:14:13.792] } [13:14:13.792] } [13:14:13.792] } [13:14:13.792] invisible(muffled) [13:14:13.792] } [13:14:13.792] muffleCondition(cond) [13:14:13.792] }) [13:14:13.792] })) [13:14:13.792] future::FutureResult(value = ...future.value$value, [13:14:13.792] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.792] ...future.rng), globalenv = if (FALSE) [13:14:13.792] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.792] ...future.globalenv.names)) [13:14:13.792] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.792] }, condition = base::local({ [13:14:13.792] c <- base::c [13:14:13.792] inherits <- base::inherits [13:14:13.792] invokeRestart <- base::invokeRestart [13:14:13.792] length <- base::length [13:14:13.792] list <- base::list [13:14:13.792] seq.int <- base::seq.int [13:14:13.792] signalCondition <- base::signalCondition [13:14:13.792] sys.calls <- base::sys.calls [13:14:13.792] `[[` <- base::`[[` [13:14:13.792] `+` <- base::`+` [13:14:13.792] `<<-` <- base::`<<-` [13:14:13.792] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.792] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.792] 3L)] [13:14:13.792] } [13:14:13.792] function(cond) { [13:14:13.792] is_error <- inherits(cond, "error") [13:14:13.792] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.792] NULL) [13:14:13.792] if (is_error) { [13:14:13.792] sessionInformation <- function() { [13:14:13.792] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.792] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.792] search = base::search(), system = base::Sys.info()) [13:14:13.792] } [13:14:13.792] ...future.conditions[[length(...future.conditions) + [13:14:13.792] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.792] cond$call), session = sessionInformation(), [13:14:13.792] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.792] signalCondition(cond) [13:14:13.792] } [13:14:13.792] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.792] "immediateCondition"))) { [13:14:13.792] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.792] ...future.conditions[[length(...future.conditions) + [13:14:13.792] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.792] if (TRUE && !signal) { [13:14:13.792] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.792] { [13:14:13.792] inherits <- base::inherits [13:14:13.792] invokeRestart <- base::invokeRestart [13:14:13.792] is.null <- base::is.null [13:14:13.792] muffled <- FALSE [13:14:13.792] if (inherits(cond, "message")) { [13:14:13.792] muffled <- grepl(pattern, "muffleMessage") [13:14:13.792] if (muffled) [13:14:13.792] invokeRestart("muffleMessage") [13:14:13.792] } [13:14:13.792] else if (inherits(cond, "warning")) { [13:14:13.792] muffled <- grepl(pattern, "muffleWarning") [13:14:13.792] if (muffled) [13:14:13.792] invokeRestart("muffleWarning") [13:14:13.792] } [13:14:13.792] else if (inherits(cond, "condition")) { [13:14:13.792] if (!is.null(pattern)) { [13:14:13.792] computeRestarts <- base::computeRestarts [13:14:13.792] grepl <- base::grepl [13:14:13.792] restarts <- computeRestarts(cond) [13:14:13.792] for (restart in restarts) { [13:14:13.792] name <- restart$name [13:14:13.792] if (is.null(name)) [13:14:13.792] next [13:14:13.792] if (!grepl(pattern, name)) [13:14:13.792] next [13:14:13.792] invokeRestart(restart) [13:14:13.792] muffled <- TRUE [13:14:13.792] break [13:14:13.792] } [13:14:13.792] } [13:14:13.792] } [13:14:13.792] invisible(muffled) [13:14:13.792] } [13:14:13.792] muffleCondition(cond, pattern = "^muffle") [13:14:13.792] } [13:14:13.792] } [13:14:13.792] else { [13:14:13.792] if (TRUE) { [13:14:13.792] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.792] { [13:14:13.792] inherits <- base::inherits [13:14:13.792] invokeRestart <- base::invokeRestart [13:14:13.792] is.null <- base::is.null [13:14:13.792] muffled <- FALSE [13:14:13.792] if (inherits(cond, "message")) { [13:14:13.792] muffled <- grepl(pattern, "muffleMessage") [13:14:13.792] if (muffled) [13:14:13.792] invokeRestart("muffleMessage") [13:14:13.792] } [13:14:13.792] else if (inherits(cond, "warning")) { [13:14:13.792] muffled <- grepl(pattern, "muffleWarning") [13:14:13.792] if (muffled) [13:14:13.792] invokeRestart("muffleWarning") [13:14:13.792] } [13:14:13.792] else if (inherits(cond, "condition")) { [13:14:13.792] if (!is.null(pattern)) { [13:14:13.792] computeRestarts <- base::computeRestarts [13:14:13.792] grepl <- base::grepl [13:14:13.792] restarts <- computeRestarts(cond) [13:14:13.792] for (restart in restarts) { [13:14:13.792] name <- restart$name [13:14:13.792] if (is.null(name)) [13:14:13.792] next [13:14:13.792] if (!grepl(pattern, name)) [13:14:13.792] next [13:14:13.792] invokeRestart(restart) [13:14:13.792] muffled <- TRUE [13:14:13.792] break [13:14:13.792] } [13:14:13.792] } [13:14:13.792] } [13:14:13.792] invisible(muffled) [13:14:13.792] } [13:14:13.792] muffleCondition(cond, pattern = "^muffle") [13:14:13.792] } [13:14:13.792] } [13:14:13.792] } [13:14:13.792] })) [13:14:13.792] }, error = function(ex) { [13:14:13.792] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.792] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.792] ...future.rng), started = ...future.startTime, [13:14:13.792] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.792] version = "1.8"), class = "FutureResult") [13:14:13.792] }, finally = { [13:14:13.792] if (!identical(...future.workdir, getwd())) [13:14:13.792] setwd(...future.workdir) [13:14:13.792] { [13:14:13.792] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.792] ...future.oldOptions$nwarnings <- NULL [13:14:13.792] } [13:14:13.792] base::options(...future.oldOptions) [13:14:13.792] if (.Platform$OS.type == "windows") { [13:14:13.792] old_names <- names(...future.oldEnvVars) [13:14:13.792] envs <- base::Sys.getenv() [13:14:13.792] names <- names(envs) [13:14:13.792] common <- intersect(names, old_names) [13:14:13.792] added <- setdiff(names, old_names) [13:14:13.792] removed <- setdiff(old_names, names) [13:14:13.792] changed <- common[...future.oldEnvVars[common] != [13:14:13.792] envs[common]] [13:14:13.792] NAMES <- toupper(changed) [13:14:13.792] args <- list() [13:14:13.792] for (kk in seq_along(NAMES)) { [13:14:13.792] name <- changed[[kk]] [13:14:13.792] NAME <- NAMES[[kk]] [13:14:13.792] if (name != NAME && is.element(NAME, old_names)) [13:14:13.792] next [13:14:13.792] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.792] } [13:14:13.792] NAMES <- toupper(added) [13:14:13.792] for (kk in seq_along(NAMES)) { [13:14:13.792] name <- added[[kk]] [13:14:13.792] NAME <- NAMES[[kk]] [13:14:13.792] if (name != NAME && is.element(NAME, old_names)) [13:14:13.792] next [13:14:13.792] args[[name]] <- "" [13:14:13.792] } [13:14:13.792] NAMES <- toupper(removed) [13:14:13.792] for (kk in seq_along(NAMES)) { [13:14:13.792] name <- removed[[kk]] [13:14:13.792] NAME <- NAMES[[kk]] [13:14:13.792] if (name != NAME && is.element(NAME, old_names)) [13:14:13.792] next [13:14:13.792] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.792] } [13:14:13.792] if (length(args) > 0) [13:14:13.792] base::do.call(base::Sys.setenv, args = args) [13:14:13.792] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.792] } [13:14:13.792] else { [13:14:13.792] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.792] } [13:14:13.792] { [13:14:13.792] if (base::length(...future.futureOptionsAdded) > [13:14:13.792] 0L) { [13:14:13.792] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.792] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.792] base::options(opts) [13:14:13.792] } [13:14:13.792] { [13:14:13.792] { [13:14:13.792] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.792] NULL [13:14:13.792] } [13:14:13.792] options(future.plan = NULL) [13:14:13.792] if (is.na(NA_character_)) [13:14:13.792] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.792] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.792] future::plan(list(function (..., workers = availableCores(), [13:14:13.792] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.792] envir = parent.frame()) [13:14:13.792] { [13:14:13.792] if (is.function(workers)) [13:14:13.792] workers <- workers() [13:14:13.792] workers <- structure(as.integer(workers), [13:14:13.792] class = class(workers)) [13:14:13.792] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.792] workers >= 1) [13:14:13.792] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.792] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.792] } [13:14:13.792] future <- MultisessionFuture(..., workers = workers, [13:14:13.792] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.792] envir = envir) [13:14:13.792] if (!future$lazy) [13:14:13.792] future <- run(future) [13:14:13.792] invisible(future) [13:14:13.792] }), .cleanup = FALSE, .init = FALSE) [13:14:13.792] } [13:14:13.792] } [13:14:13.792] } [13:14:13.792] }) [13:14:13.792] if (TRUE) { [13:14:13.792] base::sink(type = "output", split = FALSE) [13:14:13.792] if (TRUE) { [13:14:13.792] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.792] } [13:14:13.792] else { [13:14:13.792] ...future.result["stdout"] <- base::list(NULL) [13:14:13.792] } [13:14:13.792] base::close(...future.stdout) [13:14:13.792] ...future.stdout <- NULL [13:14:13.792] } [13:14:13.792] ...future.result$conditions <- ...future.conditions [13:14:13.792] ...future.result$finished <- base::Sys.time() [13:14:13.792] ...future.result [13:14:13.792] } [13:14:13.797] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:13.797] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:13.798] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:13.798] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.798] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.799] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.799] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.799] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.800] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.800] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.800] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.800] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:13.801] MultisessionFuture started [13:14:13.801] - Launch lazy future ... done [13:14:13.802] run() for 'MultisessionFuture' ... done [13:14:13.802] Created future: [13:14:13.818] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.818] - Validating connection of MultisessionFuture [13:14:13.818] - received message: FutureResult [13:14:13.818] - Received FutureResult [13:14:13.818] - Erased future from FutureRegistry [13:14:13.819] result() for ClusterFuture ... [13:14:13.819] - result already collected: FutureResult [13:14:13.819] result() for ClusterFuture ... done [13:14:13.819] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.802] MultisessionFuture: [13:14:13.802] Label: 'future_sapply-1' [13:14:13.802] Expression: [13:14:13.802] { [13:14:13.802] do.call(function(...) { [13:14:13.802] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.802] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.802] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.802] on.exit(options(oopts), add = TRUE) [13:14:13.802] } [13:14:13.802] { [13:14:13.802] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.802] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.802] ...future.FUN(...future.X_jj, ...) [13:14:13.802] }) [13:14:13.802] } [13:14:13.802] }, args = future.call.arguments) [13:14:13.802] } [13:14:13.802] Lazy evaluation: FALSE [13:14:13.802] Asynchronous evaluation: TRUE [13:14:13.802] Local evaluation: TRUE [13:14:13.802] Environment: R_GlobalEnv [13:14:13.802] Capture standard output: TRUE [13:14:13.802] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.802] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.802] Packages: [13:14:13.802] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.802] Resolved: TRUE [13:14:13.802] Value: [13:14:13.802] Conditions captured: [13:14:13.802] Early signaling: FALSE [13:14:13.802] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.802] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.819] Chunk #1 of 2 ... DONE [13:14:13.820] Chunk #2 of 2 ... [13:14:13.820] - Finding globals in 'X' for chunk #2 ... [13:14:13.820] getGlobalsAndPackages() ... [13:14:13.820] Searching for globals... [13:14:13.820] [13:14:13.821] Searching for globals ... DONE [13:14:13.821] - globals: [0] [13:14:13.821] getGlobalsAndPackages() ... DONE [13:14:13.821] + additional globals found: [n=0] [13:14:13.821] + additional namespaces needed: [n=0] [13:14:13.821] - Finding globals in 'X' for chunk #2 ... DONE [13:14:13.822] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.822] - seeds: [13:14:13.822] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.822] getGlobalsAndPackages() ... [13:14:13.822] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.822] Resolving globals: FALSE [13:14:13.823] Tweak future expression to call with '...' arguments ... [13:14:13.823] { [13:14:13.823] do.call(function(...) { [13:14:13.823] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.823] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.823] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.823] on.exit(options(oopts), add = TRUE) [13:14:13.823] } [13:14:13.823] { [13:14:13.823] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.823] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.823] ...future.FUN(...future.X_jj, ...) [13:14:13.823] }) [13:14:13.823] } [13:14:13.823] }, args = future.call.arguments) [13:14:13.823] } [13:14:13.823] Tweak future expression to call with '...' arguments ... DONE [13:14:13.824] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.824] [13:14:13.824] getGlobalsAndPackages() ... DONE [13:14:13.824] run() for 'Future' ... [13:14:13.825] - state: 'created' [13:14:13.825] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.839] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.839] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.839] - Field: 'node' [13:14:13.839] - Field: 'label' [13:14:13.840] - Field: 'local' [13:14:13.840] - Field: 'owner' [13:14:13.840] - Field: 'envir' [13:14:13.840] - Field: 'workers' [13:14:13.840] - Field: 'packages' [13:14:13.841] - Field: 'gc' [13:14:13.841] - Field: 'conditions' [13:14:13.841] - Field: 'persistent' [13:14:13.841] - Field: 'expr' [13:14:13.841] - Field: 'uuid' [13:14:13.841] - Field: 'seed' [13:14:13.842] - Field: 'version' [13:14:13.842] - Field: 'result' [13:14:13.842] - Field: 'asynchronous' [13:14:13.842] - Field: 'calls' [13:14:13.842] - Field: 'globals' [13:14:13.842] - Field: 'stdout' [13:14:13.843] - Field: 'earlySignal' [13:14:13.843] - Field: 'lazy' [13:14:13.843] - Field: 'state' [13:14:13.843] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.843] - Launch lazy future ... [13:14:13.844] Packages needed by the future expression (n = 0): [13:14:13.844] Packages needed by future strategies (n = 0): [13:14:13.844] { [13:14:13.844] { [13:14:13.844] { [13:14:13.844] ...future.startTime <- base::Sys.time() [13:14:13.844] { [13:14:13.844] { [13:14:13.844] { [13:14:13.844] { [13:14:13.844] base::local({ [13:14:13.844] has_future <- base::requireNamespace("future", [13:14:13.844] quietly = TRUE) [13:14:13.844] if (has_future) { [13:14:13.844] ns <- base::getNamespace("future") [13:14:13.844] version <- ns[[".package"]][["version"]] [13:14:13.844] if (is.null(version)) [13:14:13.844] version <- utils::packageVersion("future") [13:14:13.844] } [13:14:13.844] else { [13:14:13.844] version <- NULL [13:14:13.844] } [13:14:13.844] if (!has_future || version < "1.8.0") { [13:14:13.844] info <- base::c(r_version = base::gsub("R version ", [13:14:13.844] "", base::R.version$version.string), [13:14:13.844] platform = base::sprintf("%s (%s-bit)", [13:14:13.844] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.844] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.844] "release", "version")], collapse = " "), [13:14:13.844] hostname = base::Sys.info()[["nodename"]]) [13:14:13.844] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.844] info) [13:14:13.844] info <- base::paste(info, collapse = "; ") [13:14:13.844] if (!has_future) { [13:14:13.844] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.844] info) [13:14:13.844] } [13:14:13.844] else { [13:14:13.844] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.844] info, version) [13:14:13.844] } [13:14:13.844] base::stop(msg) [13:14:13.844] } [13:14:13.844] }) [13:14:13.844] } [13:14:13.844] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.844] base::options(mc.cores = 1L) [13:14:13.844] } [13:14:13.844] options(future.plan = NULL) [13:14:13.844] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.844] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.844] } [13:14:13.844] ...future.workdir <- getwd() [13:14:13.844] } [13:14:13.844] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.844] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.844] } [13:14:13.844] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.844] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.844] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.844] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.844] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.844] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.844] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.844] base::names(...future.oldOptions)) [13:14:13.844] } [13:14:13.844] if (FALSE) { [13:14:13.844] } [13:14:13.844] else { [13:14:13.844] if (TRUE) { [13:14:13.844] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.844] open = "w") [13:14:13.844] } [13:14:13.844] else { [13:14:13.844] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.844] windows = "NUL", "/dev/null"), open = "w") [13:14:13.844] } [13:14:13.844] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.844] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.844] base::sink(type = "output", split = FALSE) [13:14:13.844] base::close(...future.stdout) [13:14:13.844] }, add = TRUE) [13:14:13.844] } [13:14:13.844] ...future.frame <- base::sys.nframe() [13:14:13.844] ...future.conditions <- base::list() [13:14:13.844] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.844] if (FALSE) { [13:14:13.844] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.844] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.844] } [13:14:13.844] ...future.result <- base::tryCatch({ [13:14:13.844] base::withCallingHandlers({ [13:14:13.844] ...future.value <- base::withVisible(base::local({ [13:14:13.844] ...future.makeSendCondition <- local({ [13:14:13.844] sendCondition <- NULL [13:14:13.844] function(frame = 1L) { [13:14:13.844] if (is.function(sendCondition)) [13:14:13.844] return(sendCondition) [13:14:13.844] ns <- getNamespace("parallel") [13:14:13.844] if (exists("sendData", mode = "function", [13:14:13.844] envir = ns)) { [13:14:13.844] parallel_sendData <- get("sendData", mode = "function", [13:14:13.844] envir = ns) [13:14:13.844] envir <- sys.frame(frame) [13:14:13.844] master <- NULL [13:14:13.844] while (!identical(envir, .GlobalEnv) && [13:14:13.844] !identical(envir, emptyenv())) { [13:14:13.844] if (exists("master", mode = "list", envir = envir, [13:14:13.844] inherits = FALSE)) { [13:14:13.844] master <- get("master", mode = "list", [13:14:13.844] envir = envir, inherits = FALSE) [13:14:13.844] if (inherits(master, c("SOCKnode", [13:14:13.844] "SOCK0node"))) { [13:14:13.844] sendCondition <<- function(cond) { [13:14:13.844] data <- list(type = "VALUE", value = cond, [13:14:13.844] success = TRUE) [13:14:13.844] parallel_sendData(master, data) [13:14:13.844] } [13:14:13.844] return(sendCondition) [13:14:13.844] } [13:14:13.844] } [13:14:13.844] frame <- frame + 1L [13:14:13.844] envir <- sys.frame(frame) [13:14:13.844] } [13:14:13.844] } [13:14:13.844] sendCondition <<- function(cond) NULL [13:14:13.844] } [13:14:13.844] }) [13:14:13.844] withCallingHandlers({ [13:14:13.844] { [13:14:13.844] do.call(function(...) { [13:14:13.844] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.844] if (!identical(...future.globals.maxSize.org, [13:14:13.844] ...future.globals.maxSize)) { [13:14:13.844] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.844] on.exit(options(oopts), add = TRUE) [13:14:13.844] } [13:14:13.844] { [13:14:13.844] lapply(seq_along(...future.elements_ii), [13:14:13.844] FUN = function(jj) { [13:14:13.844] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.844] ...future.FUN(...future.X_jj, ...) [13:14:13.844] }) [13:14:13.844] } [13:14:13.844] }, args = future.call.arguments) [13:14:13.844] } [13:14:13.844] }, immediateCondition = function(cond) { [13:14:13.844] sendCondition <- ...future.makeSendCondition() [13:14:13.844] sendCondition(cond) [13:14:13.844] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.844] { [13:14:13.844] inherits <- base::inherits [13:14:13.844] invokeRestart <- base::invokeRestart [13:14:13.844] is.null <- base::is.null [13:14:13.844] muffled <- FALSE [13:14:13.844] if (inherits(cond, "message")) { [13:14:13.844] muffled <- grepl(pattern, "muffleMessage") [13:14:13.844] if (muffled) [13:14:13.844] invokeRestart("muffleMessage") [13:14:13.844] } [13:14:13.844] else if (inherits(cond, "warning")) { [13:14:13.844] muffled <- grepl(pattern, "muffleWarning") [13:14:13.844] if (muffled) [13:14:13.844] invokeRestart("muffleWarning") [13:14:13.844] } [13:14:13.844] else if (inherits(cond, "condition")) { [13:14:13.844] if (!is.null(pattern)) { [13:14:13.844] computeRestarts <- base::computeRestarts [13:14:13.844] grepl <- base::grepl [13:14:13.844] restarts <- computeRestarts(cond) [13:14:13.844] for (restart in restarts) { [13:14:13.844] name <- restart$name [13:14:13.844] if (is.null(name)) [13:14:13.844] next [13:14:13.844] if (!grepl(pattern, name)) [13:14:13.844] next [13:14:13.844] invokeRestart(restart) [13:14:13.844] muffled <- TRUE [13:14:13.844] break [13:14:13.844] } [13:14:13.844] } [13:14:13.844] } [13:14:13.844] invisible(muffled) [13:14:13.844] } [13:14:13.844] muffleCondition(cond) [13:14:13.844] }) [13:14:13.844] })) [13:14:13.844] future::FutureResult(value = ...future.value$value, [13:14:13.844] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.844] ...future.rng), globalenv = if (FALSE) [13:14:13.844] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.844] ...future.globalenv.names)) [13:14:13.844] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.844] }, condition = base::local({ [13:14:13.844] c <- base::c [13:14:13.844] inherits <- base::inherits [13:14:13.844] invokeRestart <- base::invokeRestart [13:14:13.844] length <- base::length [13:14:13.844] list <- base::list [13:14:13.844] seq.int <- base::seq.int [13:14:13.844] signalCondition <- base::signalCondition [13:14:13.844] sys.calls <- base::sys.calls [13:14:13.844] `[[` <- base::`[[` [13:14:13.844] `+` <- base::`+` [13:14:13.844] `<<-` <- base::`<<-` [13:14:13.844] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.844] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.844] 3L)] [13:14:13.844] } [13:14:13.844] function(cond) { [13:14:13.844] is_error <- inherits(cond, "error") [13:14:13.844] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.844] NULL) [13:14:13.844] if (is_error) { [13:14:13.844] sessionInformation <- function() { [13:14:13.844] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.844] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.844] search = base::search(), system = base::Sys.info()) [13:14:13.844] } [13:14:13.844] ...future.conditions[[length(...future.conditions) + [13:14:13.844] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.844] cond$call), session = sessionInformation(), [13:14:13.844] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.844] signalCondition(cond) [13:14:13.844] } [13:14:13.844] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.844] "immediateCondition"))) { [13:14:13.844] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.844] ...future.conditions[[length(...future.conditions) + [13:14:13.844] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.844] if (TRUE && !signal) { [13:14:13.844] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.844] { [13:14:13.844] inherits <- base::inherits [13:14:13.844] invokeRestart <- base::invokeRestart [13:14:13.844] is.null <- base::is.null [13:14:13.844] muffled <- FALSE [13:14:13.844] if (inherits(cond, "message")) { [13:14:13.844] muffled <- grepl(pattern, "muffleMessage") [13:14:13.844] if (muffled) [13:14:13.844] invokeRestart("muffleMessage") [13:14:13.844] } [13:14:13.844] else if (inherits(cond, "warning")) { [13:14:13.844] muffled <- grepl(pattern, "muffleWarning") [13:14:13.844] if (muffled) [13:14:13.844] invokeRestart("muffleWarning") [13:14:13.844] } [13:14:13.844] else if (inherits(cond, "condition")) { [13:14:13.844] if (!is.null(pattern)) { [13:14:13.844] computeRestarts <- base::computeRestarts [13:14:13.844] grepl <- base::grepl [13:14:13.844] restarts <- computeRestarts(cond) [13:14:13.844] for (restart in restarts) { [13:14:13.844] name <- restart$name [13:14:13.844] if (is.null(name)) [13:14:13.844] next [13:14:13.844] if (!grepl(pattern, name)) [13:14:13.844] next [13:14:13.844] invokeRestart(restart) [13:14:13.844] muffled <- TRUE [13:14:13.844] break [13:14:13.844] } [13:14:13.844] } [13:14:13.844] } [13:14:13.844] invisible(muffled) [13:14:13.844] } [13:14:13.844] muffleCondition(cond, pattern = "^muffle") [13:14:13.844] } [13:14:13.844] } [13:14:13.844] else { [13:14:13.844] if (TRUE) { [13:14:13.844] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.844] { [13:14:13.844] inherits <- base::inherits [13:14:13.844] invokeRestart <- base::invokeRestart [13:14:13.844] is.null <- base::is.null [13:14:13.844] muffled <- FALSE [13:14:13.844] if (inherits(cond, "message")) { [13:14:13.844] muffled <- grepl(pattern, "muffleMessage") [13:14:13.844] if (muffled) [13:14:13.844] invokeRestart("muffleMessage") [13:14:13.844] } [13:14:13.844] else if (inherits(cond, "warning")) { [13:14:13.844] muffled <- grepl(pattern, "muffleWarning") [13:14:13.844] if (muffled) [13:14:13.844] invokeRestart("muffleWarning") [13:14:13.844] } [13:14:13.844] else if (inherits(cond, "condition")) { [13:14:13.844] if (!is.null(pattern)) { [13:14:13.844] computeRestarts <- base::computeRestarts [13:14:13.844] grepl <- base::grepl [13:14:13.844] restarts <- computeRestarts(cond) [13:14:13.844] for (restart in restarts) { [13:14:13.844] name <- restart$name [13:14:13.844] if (is.null(name)) [13:14:13.844] next [13:14:13.844] if (!grepl(pattern, name)) [13:14:13.844] next [13:14:13.844] invokeRestart(restart) [13:14:13.844] muffled <- TRUE [13:14:13.844] break [13:14:13.844] } [13:14:13.844] } [13:14:13.844] } [13:14:13.844] invisible(muffled) [13:14:13.844] } [13:14:13.844] muffleCondition(cond, pattern = "^muffle") [13:14:13.844] } [13:14:13.844] } [13:14:13.844] } [13:14:13.844] })) [13:14:13.844] }, error = function(ex) { [13:14:13.844] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.844] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.844] ...future.rng), started = ...future.startTime, [13:14:13.844] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.844] version = "1.8"), class = "FutureResult") [13:14:13.844] }, finally = { [13:14:13.844] if (!identical(...future.workdir, getwd())) [13:14:13.844] setwd(...future.workdir) [13:14:13.844] { [13:14:13.844] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.844] ...future.oldOptions$nwarnings <- NULL [13:14:13.844] } [13:14:13.844] base::options(...future.oldOptions) [13:14:13.844] if (.Platform$OS.type == "windows") { [13:14:13.844] old_names <- names(...future.oldEnvVars) [13:14:13.844] envs <- base::Sys.getenv() [13:14:13.844] names <- names(envs) [13:14:13.844] common <- intersect(names, old_names) [13:14:13.844] added <- setdiff(names, old_names) [13:14:13.844] removed <- setdiff(old_names, names) [13:14:13.844] changed <- common[...future.oldEnvVars[common] != [13:14:13.844] envs[common]] [13:14:13.844] NAMES <- toupper(changed) [13:14:13.844] args <- list() [13:14:13.844] for (kk in seq_along(NAMES)) { [13:14:13.844] name <- changed[[kk]] [13:14:13.844] NAME <- NAMES[[kk]] [13:14:13.844] if (name != NAME && is.element(NAME, old_names)) [13:14:13.844] next [13:14:13.844] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.844] } [13:14:13.844] NAMES <- toupper(added) [13:14:13.844] for (kk in seq_along(NAMES)) { [13:14:13.844] name <- added[[kk]] [13:14:13.844] NAME <- NAMES[[kk]] [13:14:13.844] if (name != NAME && is.element(NAME, old_names)) [13:14:13.844] next [13:14:13.844] args[[name]] <- "" [13:14:13.844] } [13:14:13.844] NAMES <- toupper(removed) [13:14:13.844] for (kk in seq_along(NAMES)) { [13:14:13.844] name <- removed[[kk]] [13:14:13.844] NAME <- NAMES[[kk]] [13:14:13.844] if (name != NAME && is.element(NAME, old_names)) [13:14:13.844] next [13:14:13.844] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.844] } [13:14:13.844] if (length(args) > 0) [13:14:13.844] base::do.call(base::Sys.setenv, args = args) [13:14:13.844] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.844] } [13:14:13.844] else { [13:14:13.844] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.844] } [13:14:13.844] { [13:14:13.844] if (base::length(...future.futureOptionsAdded) > [13:14:13.844] 0L) { [13:14:13.844] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.844] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.844] base::options(opts) [13:14:13.844] } [13:14:13.844] { [13:14:13.844] { [13:14:13.844] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.844] NULL [13:14:13.844] } [13:14:13.844] options(future.plan = NULL) [13:14:13.844] if (is.na(NA_character_)) [13:14:13.844] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.844] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.844] future::plan(list(function (..., workers = availableCores(), [13:14:13.844] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.844] envir = parent.frame()) [13:14:13.844] { [13:14:13.844] if (is.function(workers)) [13:14:13.844] workers <- workers() [13:14:13.844] workers <- structure(as.integer(workers), [13:14:13.844] class = class(workers)) [13:14:13.844] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.844] workers >= 1) [13:14:13.844] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.844] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.844] } [13:14:13.844] future <- MultisessionFuture(..., workers = workers, [13:14:13.844] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.844] envir = envir) [13:14:13.844] if (!future$lazy) [13:14:13.844] future <- run(future) [13:14:13.844] invisible(future) [13:14:13.844] }), .cleanup = FALSE, .init = FALSE) [13:14:13.844] } [13:14:13.844] } [13:14:13.844] } [13:14:13.844] }) [13:14:13.844] if (TRUE) { [13:14:13.844] base::sink(type = "output", split = FALSE) [13:14:13.844] if (TRUE) { [13:14:13.844] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.844] } [13:14:13.844] else { [13:14:13.844] ...future.result["stdout"] <- base::list(NULL) [13:14:13.844] } [13:14:13.844] base::close(...future.stdout) [13:14:13.844] ...future.stdout <- NULL [13:14:13.844] } [13:14:13.844] ...future.result$conditions <- ...future.conditions [13:14:13.844] ...future.result$finished <- base::Sys.time() [13:14:13.844] ...future.result [13:14:13.844] } [13:14:13.850] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... [13:14:13.850] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:14:13.850] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:14:13.851] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.851] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.851] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.852] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.852] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.852] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.853] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.853] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.853] Exporting 5 global objects (1.22 KiB) to cluster node #1 ... DONE [13:14:13.854] MultisessionFuture started [13:14:13.854] - Launch lazy future ... done [13:14:13.854] run() for 'MultisessionFuture' ... done [13:14:13.855] Created future: [13:14:13.870] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.870] - Validating connection of MultisessionFuture [13:14:13.871] - received message: FutureResult [13:14:13.871] - Received FutureResult [13:14:13.871] - Erased future from FutureRegistry [13:14:13.871] result() for ClusterFuture ... [13:14:13.871] - result already collected: FutureResult [13:14:13.872] result() for ClusterFuture ... done [13:14:13.872] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.855] MultisessionFuture: [13:14:13.855] Label: 'future_sapply-2' [13:14:13.855] Expression: [13:14:13.855] { [13:14:13.855] do.call(function(...) { [13:14:13.855] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.855] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.855] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.855] on.exit(options(oopts), add = TRUE) [13:14:13.855] } [13:14:13.855] { [13:14:13.855] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.855] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.855] ...future.FUN(...future.X_jj, ...) [13:14:13.855] }) [13:14:13.855] } [13:14:13.855] }, args = future.call.arguments) [13:14:13.855] } [13:14:13.855] Lazy evaluation: FALSE [13:14:13.855] Asynchronous evaluation: TRUE [13:14:13.855] Local evaluation: TRUE [13:14:13.855] Environment: R_GlobalEnv [13:14:13.855] Capture standard output: TRUE [13:14:13.855] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.855] Globals: 5 objects totaling 1.33 KiB (function '...future.FUN' of 1.22 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.855] Packages: [13:14:13.855] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.855] Resolved: TRUE [13:14:13.855] Value: [13:14:13.855] Conditions captured: [13:14:13.855] Early signaling: FALSE [13:14:13.855] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.855] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.872] Chunk #2 of 2 ... DONE [13:14:13.872] Launching 2 futures (chunks) ... DONE [13:14:13.873] Resolving 2 futures (chunks) ... [13:14:13.873] resolve() on list ... [13:14:13.873] recursive: 0 [13:14:13.873] length: 2 [13:14:13.873] [13:14:13.873] Future #1 [13:14:13.874] result() for ClusterFuture ... [13:14:13.874] - result already collected: FutureResult [13:14:13.874] result() for ClusterFuture ... done [13:14:13.874] result() for ClusterFuture ... [13:14:13.874] - result already collected: FutureResult [13:14:13.874] result() for ClusterFuture ... done [13:14:13.874] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:13.875] - nx: 2 [13:14:13.875] - relay: TRUE [13:14:13.875] - stdout: TRUE [13:14:13.875] - signal: TRUE [13:14:13.875] - resignal: FALSE [13:14:13.875] - force: TRUE [13:14:13.876] - relayed: [n=2] FALSE, FALSE [13:14:13.876] - queued futures: [n=2] FALSE, FALSE [13:14:13.876] - until=1 [13:14:13.876] - relaying element #1 [13:14:13.876] result() for ClusterFuture ... [13:14:13.876] - result already collected: FutureResult [13:14:13.877] result() for ClusterFuture ... done [13:14:13.877] result() for ClusterFuture ... [13:14:13.877] - result already collected: FutureResult [13:14:13.877] result() for ClusterFuture ... done [13:14:13.877] result() for ClusterFuture ... [13:14:13.877] - result already collected: FutureResult [13:14:13.878] result() for ClusterFuture ... done [13:14:13.878] result() for ClusterFuture ... [13:14:13.878] - result already collected: FutureResult [13:14:13.878] result() for ClusterFuture ... done [13:14:13.878] - relayed: [n=2] TRUE, FALSE [13:14:13.878] - queued futures: [n=2] TRUE, FALSE [13:14:13.878] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:13.879] length: 1 (resolved future 1) [13:14:13.879] Future #2 [13:14:13.879] result() for ClusterFuture ... [13:14:13.879] - result already collected: FutureResult [13:14:13.879] result() for ClusterFuture ... done [13:14:13.880] result() for ClusterFuture ... [13:14:13.880] - result already collected: FutureResult [13:14:13.880] result() for ClusterFuture ... done [13:14:13.880] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:13.880] - nx: 2 [13:14:13.880] - relay: TRUE [13:14:13.880] - stdout: TRUE [13:14:13.881] - signal: TRUE [13:14:13.881] - resignal: FALSE [13:14:13.881] - force: TRUE [13:14:13.881] - relayed: [n=2] TRUE, FALSE [13:14:13.881] - queued futures: [n=2] TRUE, FALSE [13:14:13.881] - until=2 [13:14:13.882] - relaying element #2 [13:14:13.882] result() for ClusterFuture ... [13:14:13.882] - result already collected: FutureResult [13:14:13.882] result() for ClusterFuture ... done [13:14:13.882] result() for ClusterFuture ... [13:14:13.882] - result already collected: FutureResult [13:14:13.882] result() for ClusterFuture ... done [13:14:13.883] result() for ClusterFuture ... [13:14:13.883] - result already collected: FutureResult [13:14:13.883] result() for ClusterFuture ... done [13:14:13.883] result() for ClusterFuture ... [13:14:13.883] - result already collected: FutureResult [13:14:13.883] result() for ClusterFuture ... done [13:14:13.884] - relayed: [n=2] TRUE, TRUE [13:14:13.884] - queued futures: [n=2] TRUE, TRUE [13:14:13.884] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:13.884] length: 0 (resolved future 2) [13:14:13.884] Relaying remaining futures [13:14:13.884] signalConditionsASAP(NULL, pos=0) ... [13:14:13.885] - nx: 2 [13:14:13.885] - relay: TRUE [13:14:13.885] - stdout: TRUE [13:14:13.885] - signal: TRUE [13:14:13.885] - resignal: FALSE [13:14:13.885] - force: TRUE [13:14:13.885] - relayed: [n=2] TRUE, TRUE [13:14:13.886] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:13.886] - relayed: [n=2] TRUE, TRUE [13:14:13.886] - queued futures: [n=2] TRUE, TRUE [13:14:13.886] signalConditionsASAP(NULL, pos=0) ... done [13:14:13.886] resolve() on list ... DONE [13:14:13.887] result() for ClusterFuture ... [13:14:13.887] - result already collected: FutureResult [13:14:13.887] result() for ClusterFuture ... done [13:14:13.887] result() for ClusterFuture ... [13:14:13.887] - result already collected: FutureResult [13:14:13.887] result() for ClusterFuture ... done [13:14:13.888] result() for ClusterFuture ... [13:14:13.888] - result already collected: FutureResult [13:14:13.888] result() for ClusterFuture ... done [13:14:13.888] result() for ClusterFuture ... [13:14:13.888] - result already collected: FutureResult [13:14:13.888] result() for ClusterFuture ... done [13:14:13.888] - Number of value chunks collected: 2 [13:14:13.889] Resolving 2 futures (chunks) ... DONE [13:14:13.889] Reducing values from 2 chunks ... [13:14:13.892] - Number of values collected after concatenation: 4 [13:14:13.892] - Number of values expected: 4 [13:14:13.893] Reducing values from 2 chunks ... DONE [13:14:13.893] future_lapply() ... DONE List of 2 $ y0: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" $ y1: Named num [1:4] 50 60 70 80 ..- attr(*, "names")= chr [1:4] "A" "B" "C" "D" [13:14:13.895] future_lapply() ... [13:14:13.898] Number of chunks: 2 [13:14:13.898] getGlobalsAndPackagesXApply() ... [13:14:13.899] - future.globals: TRUE [13:14:13.899] getGlobalsAndPackages() ... [13:14:13.899] Searching for globals... [13:14:13.901] - globals found: [5] 'FUN', '*', ':', 'outer', 'rep' [13:14:13.901] Searching for globals ... DONE [13:14:13.901] Resolving globals: FALSE [13:14:13.902] The total size of the 1 globals is 4.62 KiB (4728 bytes) [13:14:13.902] The total size of the 1 globals exported for future expression ('FUN()') is 4.62 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (4.62 KiB of class 'function') [13:14:13.902] - globals: [1] 'FUN' [13:14:13.902] [13:14:13.903] getGlobalsAndPackages() ... DONE [13:14:13.903] - globals found/used: [n=1] 'FUN' [13:14:13.903] - needed namespaces: [n=0] [13:14:13.903] Finding globals ... DONE [13:14:13.903] - use_args: TRUE [13:14:13.903] - Getting '...' globals ... [13:14:13.904] resolve() on list ... [13:14:13.904] recursive: 0 [13:14:13.904] length: 1 [13:14:13.904] elements: '...' [13:14:13.904] length: 0 (resolved future 1) [13:14:13.905] resolve() on list ... DONE [13:14:13.905] - '...' content: [n=0] [13:14:13.905] List of 1 [13:14:13.905] $ ...: list() [13:14:13.905] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.905] - attr(*, "where")=List of 1 [13:14:13.905] ..$ ...: [13:14:13.905] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.905] - attr(*, "resolved")= logi TRUE [13:14:13.905] - attr(*, "total_size")= num NA [13:14:13.908] - Getting '...' globals ... DONE [13:14:13.908] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:13.908] List of 2 [13:14:13.908] $ ...future.FUN:function (x, y = 2 * 1:5) [13:14:13.908] $ ... : list() [13:14:13.908] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:13.908] - attr(*, "where")=List of 2 [13:14:13.908] ..$ ...future.FUN: [13:14:13.908] ..$ ... : [13:14:13.908] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:13.908] - attr(*, "resolved")= logi FALSE [13:14:13.908] - attr(*, "total_size")= num 4728 [13:14:13.912] Packages to be attached in all futures: [n=0] [13:14:13.912] getGlobalsAndPackagesXApply() ... DONE [13:14:13.912] Number of futures (= number of chunks): 2 [13:14:13.912] Launching 2 futures (chunks) ... [13:14:13.912] Chunk #1 of 2 ... [13:14:13.913] - Finding globals in 'X' for chunk #1 ... [13:14:13.913] getGlobalsAndPackages() ... [13:14:13.913] Searching for globals... [13:14:13.913] [13:14:13.913] Searching for globals ... DONE [13:14:13.914] - globals: [0] [13:14:13.914] getGlobalsAndPackages() ... DONE [13:14:13.914] + additional globals found: [n=0] [13:14:13.914] + additional namespaces needed: [n=0] [13:14:13.914] - Finding globals in 'X' for chunk #1 ... DONE [13:14:13.914] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.915] - seeds: [13:14:13.915] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.915] getGlobalsAndPackages() ... [13:14:13.915] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.915] Resolving globals: FALSE [13:14:13.915] Tweak future expression to call with '...' arguments ... [13:14:13.916] { [13:14:13.916] do.call(function(...) { [13:14:13.916] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.916] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.916] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.916] on.exit(options(oopts), add = TRUE) [13:14:13.916] } [13:14:13.916] { [13:14:13.916] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.916] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.916] ...future.FUN(...future.X_jj, ...) [13:14:13.916] }) [13:14:13.916] } [13:14:13.916] }, args = future.call.arguments) [13:14:13.916] } [13:14:13.916] Tweak future expression to call with '...' arguments ... DONE [13:14:13.916] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.917] [13:14:13.917] getGlobalsAndPackages() ... DONE [13:14:13.917] run() for 'Future' ... [13:14:13.917] - state: 'created' [13:14:13.918] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.934] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.934] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.934] - Field: 'node' [13:14:13.934] - Field: 'label' [13:14:13.935] - Field: 'local' [13:14:13.935] - Field: 'owner' [13:14:13.935] - Field: 'envir' [13:14:13.935] - Field: 'workers' [13:14:13.935] - Field: 'packages' [13:14:13.936] - Field: 'gc' [13:14:13.936] - Field: 'conditions' [13:14:13.936] - Field: 'persistent' [13:14:13.936] - Field: 'expr' [13:14:13.936] - Field: 'uuid' [13:14:13.936] - Field: 'seed' [13:14:13.937] - Field: 'version' [13:14:13.937] - Field: 'result' [13:14:13.937] - Field: 'asynchronous' [13:14:13.937] - Field: 'calls' [13:14:13.937] - Field: 'globals' [13:14:13.937] - Field: 'stdout' [13:14:13.938] - Field: 'earlySignal' [13:14:13.938] - Field: 'lazy' [13:14:13.938] - Field: 'state' [13:14:13.938] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.938] - Launch lazy future ... [13:14:13.939] Packages needed by the future expression (n = 0): [13:14:13.939] Packages needed by future strategies (n = 0): [13:14:13.939] { [13:14:13.939] { [13:14:13.939] { [13:14:13.939] ...future.startTime <- base::Sys.time() [13:14:13.939] { [13:14:13.939] { [13:14:13.939] { [13:14:13.939] { [13:14:13.939] base::local({ [13:14:13.939] has_future <- base::requireNamespace("future", [13:14:13.939] quietly = TRUE) [13:14:13.939] if (has_future) { [13:14:13.939] ns <- base::getNamespace("future") [13:14:13.939] version <- ns[[".package"]][["version"]] [13:14:13.939] if (is.null(version)) [13:14:13.939] version <- utils::packageVersion("future") [13:14:13.939] } [13:14:13.939] else { [13:14:13.939] version <- NULL [13:14:13.939] } [13:14:13.939] if (!has_future || version < "1.8.0") { [13:14:13.939] info <- base::c(r_version = base::gsub("R version ", [13:14:13.939] "", base::R.version$version.string), [13:14:13.939] platform = base::sprintf("%s (%s-bit)", [13:14:13.939] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.939] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.939] "release", "version")], collapse = " "), [13:14:13.939] hostname = base::Sys.info()[["nodename"]]) [13:14:13.939] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.939] info) [13:14:13.939] info <- base::paste(info, collapse = "; ") [13:14:13.939] if (!has_future) { [13:14:13.939] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.939] info) [13:14:13.939] } [13:14:13.939] else { [13:14:13.939] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.939] info, version) [13:14:13.939] } [13:14:13.939] base::stop(msg) [13:14:13.939] } [13:14:13.939] }) [13:14:13.939] } [13:14:13.939] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.939] base::options(mc.cores = 1L) [13:14:13.939] } [13:14:13.939] options(future.plan = NULL) [13:14:13.939] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.939] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.939] } [13:14:13.939] ...future.workdir <- getwd() [13:14:13.939] } [13:14:13.939] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.939] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.939] } [13:14:13.939] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.939] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.939] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.939] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.939] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.939] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.939] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.939] base::names(...future.oldOptions)) [13:14:13.939] } [13:14:13.939] if (FALSE) { [13:14:13.939] } [13:14:13.939] else { [13:14:13.939] if (TRUE) { [13:14:13.939] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.939] open = "w") [13:14:13.939] } [13:14:13.939] else { [13:14:13.939] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.939] windows = "NUL", "/dev/null"), open = "w") [13:14:13.939] } [13:14:13.939] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.939] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.939] base::sink(type = "output", split = FALSE) [13:14:13.939] base::close(...future.stdout) [13:14:13.939] }, add = TRUE) [13:14:13.939] } [13:14:13.939] ...future.frame <- base::sys.nframe() [13:14:13.939] ...future.conditions <- base::list() [13:14:13.939] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.939] if (FALSE) { [13:14:13.939] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.939] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.939] } [13:14:13.939] ...future.result <- base::tryCatch({ [13:14:13.939] base::withCallingHandlers({ [13:14:13.939] ...future.value <- base::withVisible(base::local({ [13:14:13.939] ...future.makeSendCondition <- local({ [13:14:13.939] sendCondition <- NULL [13:14:13.939] function(frame = 1L) { [13:14:13.939] if (is.function(sendCondition)) [13:14:13.939] return(sendCondition) [13:14:13.939] ns <- getNamespace("parallel") [13:14:13.939] if (exists("sendData", mode = "function", [13:14:13.939] envir = ns)) { [13:14:13.939] parallel_sendData <- get("sendData", mode = "function", [13:14:13.939] envir = ns) [13:14:13.939] envir <- sys.frame(frame) [13:14:13.939] master <- NULL [13:14:13.939] while (!identical(envir, .GlobalEnv) && [13:14:13.939] !identical(envir, emptyenv())) { [13:14:13.939] if (exists("master", mode = "list", envir = envir, [13:14:13.939] inherits = FALSE)) { [13:14:13.939] master <- get("master", mode = "list", [13:14:13.939] envir = envir, inherits = FALSE) [13:14:13.939] if (inherits(master, c("SOCKnode", [13:14:13.939] "SOCK0node"))) { [13:14:13.939] sendCondition <<- function(cond) { [13:14:13.939] data <- list(type = "VALUE", value = cond, [13:14:13.939] success = TRUE) [13:14:13.939] parallel_sendData(master, data) [13:14:13.939] } [13:14:13.939] return(sendCondition) [13:14:13.939] } [13:14:13.939] } [13:14:13.939] frame <- frame + 1L [13:14:13.939] envir <- sys.frame(frame) [13:14:13.939] } [13:14:13.939] } [13:14:13.939] sendCondition <<- function(cond) NULL [13:14:13.939] } [13:14:13.939] }) [13:14:13.939] withCallingHandlers({ [13:14:13.939] { [13:14:13.939] do.call(function(...) { [13:14:13.939] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.939] if (!identical(...future.globals.maxSize.org, [13:14:13.939] ...future.globals.maxSize)) { [13:14:13.939] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.939] on.exit(options(oopts), add = TRUE) [13:14:13.939] } [13:14:13.939] { [13:14:13.939] lapply(seq_along(...future.elements_ii), [13:14:13.939] FUN = function(jj) { [13:14:13.939] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.939] ...future.FUN(...future.X_jj, ...) [13:14:13.939] }) [13:14:13.939] } [13:14:13.939] }, args = future.call.arguments) [13:14:13.939] } [13:14:13.939] }, immediateCondition = function(cond) { [13:14:13.939] sendCondition <- ...future.makeSendCondition() [13:14:13.939] sendCondition(cond) [13:14:13.939] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.939] { [13:14:13.939] inherits <- base::inherits [13:14:13.939] invokeRestart <- base::invokeRestart [13:14:13.939] is.null <- base::is.null [13:14:13.939] muffled <- FALSE [13:14:13.939] if (inherits(cond, "message")) { [13:14:13.939] muffled <- grepl(pattern, "muffleMessage") [13:14:13.939] if (muffled) [13:14:13.939] invokeRestart("muffleMessage") [13:14:13.939] } [13:14:13.939] else if (inherits(cond, "warning")) { [13:14:13.939] muffled <- grepl(pattern, "muffleWarning") [13:14:13.939] if (muffled) [13:14:13.939] invokeRestart("muffleWarning") [13:14:13.939] } [13:14:13.939] else if (inherits(cond, "condition")) { [13:14:13.939] if (!is.null(pattern)) { [13:14:13.939] computeRestarts <- base::computeRestarts [13:14:13.939] grepl <- base::grepl [13:14:13.939] restarts <- computeRestarts(cond) [13:14:13.939] for (restart in restarts) { [13:14:13.939] name <- restart$name [13:14:13.939] if (is.null(name)) [13:14:13.939] next [13:14:13.939] if (!grepl(pattern, name)) [13:14:13.939] next [13:14:13.939] invokeRestart(restart) [13:14:13.939] muffled <- TRUE [13:14:13.939] break [13:14:13.939] } [13:14:13.939] } [13:14:13.939] } [13:14:13.939] invisible(muffled) [13:14:13.939] } [13:14:13.939] muffleCondition(cond) [13:14:13.939] }) [13:14:13.939] })) [13:14:13.939] future::FutureResult(value = ...future.value$value, [13:14:13.939] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.939] ...future.rng), globalenv = if (FALSE) [13:14:13.939] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.939] ...future.globalenv.names)) [13:14:13.939] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.939] }, condition = base::local({ [13:14:13.939] c <- base::c [13:14:13.939] inherits <- base::inherits [13:14:13.939] invokeRestart <- base::invokeRestart [13:14:13.939] length <- base::length [13:14:13.939] list <- base::list [13:14:13.939] seq.int <- base::seq.int [13:14:13.939] signalCondition <- base::signalCondition [13:14:13.939] sys.calls <- base::sys.calls [13:14:13.939] `[[` <- base::`[[` [13:14:13.939] `+` <- base::`+` [13:14:13.939] `<<-` <- base::`<<-` [13:14:13.939] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.939] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.939] 3L)] [13:14:13.939] } [13:14:13.939] function(cond) { [13:14:13.939] is_error <- inherits(cond, "error") [13:14:13.939] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.939] NULL) [13:14:13.939] if (is_error) { [13:14:13.939] sessionInformation <- function() { [13:14:13.939] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.939] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.939] search = base::search(), system = base::Sys.info()) [13:14:13.939] } [13:14:13.939] ...future.conditions[[length(...future.conditions) + [13:14:13.939] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.939] cond$call), session = sessionInformation(), [13:14:13.939] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.939] signalCondition(cond) [13:14:13.939] } [13:14:13.939] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.939] "immediateCondition"))) { [13:14:13.939] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.939] ...future.conditions[[length(...future.conditions) + [13:14:13.939] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.939] if (TRUE && !signal) { [13:14:13.939] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.939] { [13:14:13.939] inherits <- base::inherits [13:14:13.939] invokeRestart <- base::invokeRestart [13:14:13.939] is.null <- base::is.null [13:14:13.939] muffled <- FALSE [13:14:13.939] if (inherits(cond, "message")) { [13:14:13.939] muffled <- grepl(pattern, "muffleMessage") [13:14:13.939] if (muffled) [13:14:13.939] invokeRestart("muffleMessage") [13:14:13.939] } [13:14:13.939] else if (inherits(cond, "warning")) { [13:14:13.939] muffled <- grepl(pattern, "muffleWarning") [13:14:13.939] if (muffled) [13:14:13.939] invokeRestart("muffleWarning") [13:14:13.939] } [13:14:13.939] else if (inherits(cond, "condition")) { [13:14:13.939] if (!is.null(pattern)) { [13:14:13.939] computeRestarts <- base::computeRestarts [13:14:13.939] grepl <- base::grepl [13:14:13.939] restarts <- computeRestarts(cond) [13:14:13.939] for (restart in restarts) { [13:14:13.939] name <- restart$name [13:14:13.939] if (is.null(name)) [13:14:13.939] next [13:14:13.939] if (!grepl(pattern, name)) [13:14:13.939] next [13:14:13.939] invokeRestart(restart) [13:14:13.939] muffled <- TRUE [13:14:13.939] break [13:14:13.939] } [13:14:13.939] } [13:14:13.939] } [13:14:13.939] invisible(muffled) [13:14:13.939] } [13:14:13.939] muffleCondition(cond, pattern = "^muffle") [13:14:13.939] } [13:14:13.939] } [13:14:13.939] else { [13:14:13.939] if (TRUE) { [13:14:13.939] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.939] { [13:14:13.939] inherits <- base::inherits [13:14:13.939] invokeRestart <- base::invokeRestart [13:14:13.939] is.null <- base::is.null [13:14:13.939] muffled <- FALSE [13:14:13.939] if (inherits(cond, "message")) { [13:14:13.939] muffled <- grepl(pattern, "muffleMessage") [13:14:13.939] if (muffled) [13:14:13.939] invokeRestart("muffleMessage") [13:14:13.939] } [13:14:13.939] else if (inherits(cond, "warning")) { [13:14:13.939] muffled <- grepl(pattern, "muffleWarning") [13:14:13.939] if (muffled) [13:14:13.939] invokeRestart("muffleWarning") [13:14:13.939] } [13:14:13.939] else if (inherits(cond, "condition")) { [13:14:13.939] if (!is.null(pattern)) { [13:14:13.939] computeRestarts <- base::computeRestarts [13:14:13.939] grepl <- base::grepl [13:14:13.939] restarts <- computeRestarts(cond) [13:14:13.939] for (restart in restarts) { [13:14:13.939] name <- restart$name [13:14:13.939] if (is.null(name)) [13:14:13.939] next [13:14:13.939] if (!grepl(pattern, name)) [13:14:13.939] next [13:14:13.939] invokeRestart(restart) [13:14:13.939] muffled <- TRUE [13:14:13.939] break [13:14:13.939] } [13:14:13.939] } [13:14:13.939] } [13:14:13.939] invisible(muffled) [13:14:13.939] } [13:14:13.939] muffleCondition(cond, pattern = "^muffle") [13:14:13.939] } [13:14:13.939] } [13:14:13.939] } [13:14:13.939] })) [13:14:13.939] }, error = function(ex) { [13:14:13.939] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.939] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.939] ...future.rng), started = ...future.startTime, [13:14:13.939] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.939] version = "1.8"), class = "FutureResult") [13:14:13.939] }, finally = { [13:14:13.939] if (!identical(...future.workdir, getwd())) [13:14:13.939] setwd(...future.workdir) [13:14:13.939] { [13:14:13.939] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.939] ...future.oldOptions$nwarnings <- NULL [13:14:13.939] } [13:14:13.939] base::options(...future.oldOptions) [13:14:13.939] if (.Platform$OS.type == "windows") { [13:14:13.939] old_names <- names(...future.oldEnvVars) [13:14:13.939] envs <- base::Sys.getenv() [13:14:13.939] names <- names(envs) [13:14:13.939] common <- intersect(names, old_names) [13:14:13.939] added <- setdiff(names, old_names) [13:14:13.939] removed <- setdiff(old_names, names) [13:14:13.939] changed <- common[...future.oldEnvVars[common] != [13:14:13.939] envs[common]] [13:14:13.939] NAMES <- toupper(changed) [13:14:13.939] args <- list() [13:14:13.939] for (kk in seq_along(NAMES)) { [13:14:13.939] name <- changed[[kk]] [13:14:13.939] NAME <- NAMES[[kk]] [13:14:13.939] if (name != NAME && is.element(NAME, old_names)) [13:14:13.939] next [13:14:13.939] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.939] } [13:14:13.939] NAMES <- toupper(added) [13:14:13.939] for (kk in seq_along(NAMES)) { [13:14:13.939] name <- added[[kk]] [13:14:13.939] NAME <- NAMES[[kk]] [13:14:13.939] if (name != NAME && is.element(NAME, old_names)) [13:14:13.939] next [13:14:13.939] args[[name]] <- "" [13:14:13.939] } [13:14:13.939] NAMES <- toupper(removed) [13:14:13.939] for (kk in seq_along(NAMES)) { [13:14:13.939] name <- removed[[kk]] [13:14:13.939] NAME <- NAMES[[kk]] [13:14:13.939] if (name != NAME && is.element(NAME, old_names)) [13:14:13.939] next [13:14:13.939] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.939] } [13:14:13.939] if (length(args) > 0) [13:14:13.939] base::do.call(base::Sys.setenv, args = args) [13:14:13.939] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.939] } [13:14:13.939] else { [13:14:13.939] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.939] } [13:14:13.939] { [13:14:13.939] if (base::length(...future.futureOptionsAdded) > [13:14:13.939] 0L) { [13:14:13.939] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.939] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.939] base::options(opts) [13:14:13.939] } [13:14:13.939] { [13:14:13.939] { [13:14:13.939] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.939] NULL [13:14:13.939] } [13:14:13.939] options(future.plan = NULL) [13:14:13.939] if (is.na(NA_character_)) [13:14:13.939] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.939] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.939] future::plan(list(function (..., workers = availableCores(), [13:14:13.939] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.939] envir = parent.frame()) [13:14:13.939] { [13:14:13.939] if (is.function(workers)) [13:14:13.939] workers <- workers() [13:14:13.939] workers <- structure(as.integer(workers), [13:14:13.939] class = class(workers)) [13:14:13.939] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.939] workers >= 1) [13:14:13.939] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.939] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.939] } [13:14:13.939] future <- MultisessionFuture(..., workers = workers, [13:14:13.939] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.939] envir = envir) [13:14:13.939] if (!future$lazy) [13:14:13.939] future <- run(future) [13:14:13.939] invisible(future) [13:14:13.939] }), .cleanup = FALSE, .init = FALSE) [13:14:13.939] } [13:14:13.939] } [13:14:13.939] } [13:14:13.939] }) [13:14:13.939] if (TRUE) { [13:14:13.939] base::sink(type = "output", split = FALSE) [13:14:13.939] if (TRUE) { [13:14:13.939] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.939] } [13:14:13.939] else { [13:14:13.939] ...future.result["stdout"] <- base::list(NULL) [13:14:13.939] } [13:14:13.939] base::close(...future.stdout) [13:14:13.939] ...future.stdout <- NULL [13:14:13.939] } [13:14:13.939] ...future.result$conditions <- ...future.conditions [13:14:13.939] ...future.result$finished <- base::Sys.time() [13:14:13.939] ...future.result [13:14:13.939] } [13:14:13.945] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:13.945] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:13.946] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:13.946] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.946] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.947] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.947] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:13.947] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:13.948] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:13.948] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:13.948] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:13.948] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:13.949] MultisessionFuture started [13:14:13.949] - Launch lazy future ... done [13:14:13.949] run() for 'MultisessionFuture' ... done [13:14:13.950] Created future: [13:14:13.965] receiveMessageFromWorker() for ClusterFuture ... [13:14:13.965] - Validating connection of MultisessionFuture [13:14:13.965] - received message: FutureResult [13:14:13.966] - Received FutureResult [13:14:13.966] - Erased future from FutureRegistry [13:14:13.966] result() for ClusterFuture ... [13:14:13.966] - result already collected: FutureResult [13:14:13.966] result() for ClusterFuture ... done [13:14:13.966] receiveMessageFromWorker() for ClusterFuture ... done [13:14:13.950] MultisessionFuture: [13:14:13.950] Label: 'future_sapply-1' [13:14:13.950] Expression: [13:14:13.950] { [13:14:13.950] do.call(function(...) { [13:14:13.950] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.950] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.950] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.950] on.exit(options(oopts), add = TRUE) [13:14:13.950] } [13:14:13.950] { [13:14:13.950] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.950] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.950] ...future.FUN(...future.X_jj, ...) [13:14:13.950] }) [13:14:13.950] } [13:14:13.950] }, args = future.call.arguments) [13:14:13.950] } [13:14:13.950] Lazy evaluation: FALSE [13:14:13.950] Asynchronous evaluation: TRUE [13:14:13.950] Local evaluation: TRUE [13:14:13.950] Environment: R_GlobalEnv [13:14:13.950] Capture standard output: TRUE [13:14:13.950] Capture condition classes: 'condition' (excluding 'nothing') [13:14:13.950] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:13.950] Packages: [13:14:13.950] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:13.950] Resolved: TRUE [13:14:13.950] Value: [13:14:13.950] Conditions captured: [13:14:13.950] Early signaling: FALSE [13:14:13.950] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:13.950] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.967] Chunk #1 of 2 ... DONE [13:14:13.967] Chunk #2 of 2 ... [13:14:13.967] - Finding globals in 'X' for chunk #2 ... [13:14:13.967] getGlobalsAndPackages() ... [13:14:13.967] Searching for globals... [13:14:13.968] [13:14:13.968] Searching for globals ... DONE [13:14:13.968] - globals: [0] [13:14:13.968] getGlobalsAndPackages() ... DONE [13:14:13.968] + additional globals found: [n=0] [13:14:13.969] + additional namespaces needed: [n=0] [13:14:13.969] - Finding globals in 'X' for chunk #2 ... DONE [13:14:13.969] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:13.969] - seeds: [13:14:13.969] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.969] getGlobalsAndPackages() ... [13:14:13.970] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.970] Resolving globals: FALSE [13:14:13.970] Tweak future expression to call with '...' arguments ... [13:14:13.970] { [13:14:13.970] do.call(function(...) { [13:14:13.970] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.970] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:13.970] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.970] on.exit(options(oopts), add = TRUE) [13:14:13.970] } [13:14:13.970] { [13:14:13.970] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:13.970] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.970] ...future.FUN(...future.X_jj, ...) [13:14:13.970] }) [13:14:13.970] } [13:14:13.970] }, args = future.call.arguments) [13:14:13.970] } [13:14:13.971] Tweak future expression to call with '...' arguments ... DONE [13:14:13.971] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:13.971] [13:14:13.971] getGlobalsAndPackages() ... DONE [13:14:13.972] run() for 'Future' ... [13:14:13.972] - state: 'created' [13:14:13.972] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:13.986] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:13.986] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:13.987] - Field: 'node' [13:14:13.987] - Field: 'label' [13:14:13.987] - Field: 'local' [13:14:13.987] - Field: 'owner' [13:14:13.987] - Field: 'envir' [13:14:13.987] - Field: 'workers' [13:14:13.988] - Field: 'packages' [13:14:13.988] - Field: 'gc' [13:14:13.988] - Field: 'conditions' [13:14:13.988] - Field: 'persistent' [13:14:13.988] - Field: 'expr' [13:14:13.989] - Field: 'uuid' [13:14:13.989] - Field: 'seed' [13:14:13.989] - Field: 'version' [13:14:13.989] - Field: 'result' [13:14:13.989] - Field: 'asynchronous' [13:14:13.989] - Field: 'calls' [13:14:13.990] - Field: 'globals' [13:14:13.990] - Field: 'stdout' [13:14:13.990] - Field: 'earlySignal' [13:14:13.990] - Field: 'lazy' [13:14:13.990] - Field: 'state' [13:14:13.990] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:13.991] - Launch lazy future ... [13:14:13.991] Packages needed by the future expression (n = 0): [13:14:13.991] Packages needed by future strategies (n = 0): [13:14:13.992] { [13:14:13.992] { [13:14:13.992] { [13:14:13.992] ...future.startTime <- base::Sys.time() [13:14:13.992] { [13:14:13.992] { [13:14:13.992] { [13:14:13.992] { [13:14:13.992] base::local({ [13:14:13.992] has_future <- base::requireNamespace("future", [13:14:13.992] quietly = TRUE) [13:14:13.992] if (has_future) { [13:14:13.992] ns <- base::getNamespace("future") [13:14:13.992] version <- ns[[".package"]][["version"]] [13:14:13.992] if (is.null(version)) [13:14:13.992] version <- utils::packageVersion("future") [13:14:13.992] } [13:14:13.992] else { [13:14:13.992] version <- NULL [13:14:13.992] } [13:14:13.992] if (!has_future || version < "1.8.0") { [13:14:13.992] info <- base::c(r_version = base::gsub("R version ", [13:14:13.992] "", base::R.version$version.string), [13:14:13.992] platform = base::sprintf("%s (%s-bit)", [13:14:13.992] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:13.992] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:13.992] "release", "version")], collapse = " "), [13:14:13.992] hostname = base::Sys.info()[["nodename"]]) [13:14:13.992] info <- base::sprintf("%s: %s", base::names(info), [13:14:13.992] info) [13:14:13.992] info <- base::paste(info, collapse = "; ") [13:14:13.992] if (!has_future) { [13:14:13.992] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:13.992] info) [13:14:13.992] } [13:14:13.992] else { [13:14:13.992] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:13.992] info, version) [13:14:13.992] } [13:14:13.992] base::stop(msg) [13:14:13.992] } [13:14:13.992] }) [13:14:13.992] } [13:14:13.992] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:13.992] base::options(mc.cores = 1L) [13:14:13.992] } [13:14:13.992] options(future.plan = NULL) [13:14:13.992] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.992] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:13.992] } [13:14:13.992] ...future.workdir <- getwd() [13:14:13.992] } [13:14:13.992] ...future.oldOptions <- base::as.list(base::.Options) [13:14:13.992] ...future.oldEnvVars <- base::Sys.getenv() [13:14:13.992] } [13:14:13.992] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:13.992] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:13.992] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:13.992] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:13.992] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:13.992] future.stdout.windows.reencode = NULL, width = 80L) [13:14:13.992] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:13.992] base::names(...future.oldOptions)) [13:14:13.992] } [13:14:13.992] if (FALSE) { [13:14:13.992] } [13:14:13.992] else { [13:14:13.992] if (TRUE) { [13:14:13.992] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:13.992] open = "w") [13:14:13.992] } [13:14:13.992] else { [13:14:13.992] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:13.992] windows = "NUL", "/dev/null"), open = "w") [13:14:13.992] } [13:14:13.992] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:13.992] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:13.992] base::sink(type = "output", split = FALSE) [13:14:13.992] base::close(...future.stdout) [13:14:13.992] }, add = TRUE) [13:14:13.992] } [13:14:13.992] ...future.frame <- base::sys.nframe() [13:14:13.992] ...future.conditions <- base::list() [13:14:13.992] ...future.rng <- base::globalenv()$.Random.seed [13:14:13.992] if (FALSE) { [13:14:13.992] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:13.992] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:13.992] } [13:14:13.992] ...future.result <- base::tryCatch({ [13:14:13.992] base::withCallingHandlers({ [13:14:13.992] ...future.value <- base::withVisible(base::local({ [13:14:13.992] ...future.makeSendCondition <- local({ [13:14:13.992] sendCondition <- NULL [13:14:13.992] function(frame = 1L) { [13:14:13.992] if (is.function(sendCondition)) [13:14:13.992] return(sendCondition) [13:14:13.992] ns <- getNamespace("parallel") [13:14:13.992] if (exists("sendData", mode = "function", [13:14:13.992] envir = ns)) { [13:14:13.992] parallel_sendData <- get("sendData", mode = "function", [13:14:13.992] envir = ns) [13:14:13.992] envir <- sys.frame(frame) [13:14:13.992] master <- NULL [13:14:13.992] while (!identical(envir, .GlobalEnv) && [13:14:13.992] !identical(envir, emptyenv())) { [13:14:13.992] if (exists("master", mode = "list", envir = envir, [13:14:13.992] inherits = FALSE)) { [13:14:13.992] master <- get("master", mode = "list", [13:14:13.992] envir = envir, inherits = FALSE) [13:14:13.992] if (inherits(master, c("SOCKnode", [13:14:13.992] "SOCK0node"))) { [13:14:13.992] sendCondition <<- function(cond) { [13:14:13.992] data <- list(type = "VALUE", value = cond, [13:14:13.992] success = TRUE) [13:14:13.992] parallel_sendData(master, data) [13:14:13.992] } [13:14:13.992] return(sendCondition) [13:14:13.992] } [13:14:13.992] } [13:14:13.992] frame <- frame + 1L [13:14:13.992] envir <- sys.frame(frame) [13:14:13.992] } [13:14:13.992] } [13:14:13.992] sendCondition <<- function(cond) NULL [13:14:13.992] } [13:14:13.992] }) [13:14:13.992] withCallingHandlers({ [13:14:13.992] { [13:14:13.992] do.call(function(...) { [13:14:13.992] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:13.992] if (!identical(...future.globals.maxSize.org, [13:14:13.992] ...future.globals.maxSize)) { [13:14:13.992] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:13.992] on.exit(options(oopts), add = TRUE) [13:14:13.992] } [13:14:13.992] { [13:14:13.992] lapply(seq_along(...future.elements_ii), [13:14:13.992] FUN = function(jj) { [13:14:13.992] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:13.992] ...future.FUN(...future.X_jj, ...) [13:14:13.992] }) [13:14:13.992] } [13:14:13.992] }, args = future.call.arguments) [13:14:13.992] } [13:14:13.992] }, immediateCondition = function(cond) { [13:14:13.992] sendCondition <- ...future.makeSendCondition() [13:14:13.992] sendCondition(cond) [13:14:13.992] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.992] { [13:14:13.992] inherits <- base::inherits [13:14:13.992] invokeRestart <- base::invokeRestart [13:14:13.992] is.null <- base::is.null [13:14:13.992] muffled <- FALSE [13:14:13.992] if (inherits(cond, "message")) { [13:14:13.992] muffled <- grepl(pattern, "muffleMessage") [13:14:13.992] if (muffled) [13:14:13.992] invokeRestart("muffleMessage") [13:14:13.992] } [13:14:13.992] else if (inherits(cond, "warning")) { [13:14:13.992] muffled <- grepl(pattern, "muffleWarning") [13:14:13.992] if (muffled) [13:14:13.992] invokeRestart("muffleWarning") [13:14:13.992] } [13:14:13.992] else if (inherits(cond, "condition")) { [13:14:13.992] if (!is.null(pattern)) { [13:14:13.992] computeRestarts <- base::computeRestarts [13:14:13.992] grepl <- base::grepl [13:14:13.992] restarts <- computeRestarts(cond) [13:14:13.992] for (restart in restarts) { [13:14:13.992] name <- restart$name [13:14:13.992] if (is.null(name)) [13:14:13.992] next [13:14:13.992] if (!grepl(pattern, name)) [13:14:13.992] next [13:14:13.992] invokeRestart(restart) [13:14:13.992] muffled <- TRUE [13:14:13.992] break [13:14:13.992] } [13:14:13.992] } [13:14:13.992] } [13:14:13.992] invisible(muffled) [13:14:13.992] } [13:14:13.992] muffleCondition(cond) [13:14:13.992] }) [13:14:13.992] })) [13:14:13.992] future::FutureResult(value = ...future.value$value, [13:14:13.992] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.992] ...future.rng), globalenv = if (FALSE) [13:14:13.992] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:13.992] ...future.globalenv.names)) [13:14:13.992] else NULL, started = ...future.startTime, version = "1.8") [13:14:13.992] }, condition = base::local({ [13:14:13.992] c <- base::c [13:14:13.992] inherits <- base::inherits [13:14:13.992] invokeRestart <- base::invokeRestart [13:14:13.992] length <- base::length [13:14:13.992] list <- base::list [13:14:13.992] seq.int <- base::seq.int [13:14:13.992] signalCondition <- base::signalCondition [13:14:13.992] sys.calls <- base::sys.calls [13:14:13.992] `[[` <- base::`[[` [13:14:13.992] `+` <- base::`+` [13:14:13.992] `<<-` <- base::`<<-` [13:14:13.992] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:13.992] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:13.992] 3L)] [13:14:13.992] } [13:14:13.992] function(cond) { [13:14:13.992] is_error <- inherits(cond, "error") [13:14:13.992] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:13.992] NULL) [13:14:13.992] if (is_error) { [13:14:13.992] sessionInformation <- function() { [13:14:13.992] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:13.992] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:13.992] search = base::search(), system = base::Sys.info()) [13:14:13.992] } [13:14:13.992] ...future.conditions[[length(...future.conditions) + [13:14:13.992] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:13.992] cond$call), session = sessionInformation(), [13:14:13.992] timestamp = base::Sys.time(), signaled = 0L) [13:14:13.992] signalCondition(cond) [13:14:13.992] } [13:14:13.992] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:13.992] "immediateCondition"))) { [13:14:13.992] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:13.992] ...future.conditions[[length(...future.conditions) + [13:14:13.992] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:13.992] if (TRUE && !signal) { [13:14:13.992] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.992] { [13:14:13.992] inherits <- base::inherits [13:14:13.992] invokeRestart <- base::invokeRestart [13:14:13.992] is.null <- base::is.null [13:14:13.992] muffled <- FALSE [13:14:13.992] if (inherits(cond, "message")) { [13:14:13.992] muffled <- grepl(pattern, "muffleMessage") [13:14:13.992] if (muffled) [13:14:13.992] invokeRestart("muffleMessage") [13:14:13.992] } [13:14:13.992] else if (inherits(cond, "warning")) { [13:14:13.992] muffled <- grepl(pattern, "muffleWarning") [13:14:13.992] if (muffled) [13:14:13.992] invokeRestart("muffleWarning") [13:14:13.992] } [13:14:13.992] else if (inherits(cond, "condition")) { [13:14:13.992] if (!is.null(pattern)) { [13:14:13.992] computeRestarts <- base::computeRestarts [13:14:13.992] grepl <- base::grepl [13:14:13.992] restarts <- computeRestarts(cond) [13:14:13.992] for (restart in restarts) { [13:14:13.992] name <- restart$name [13:14:13.992] if (is.null(name)) [13:14:13.992] next [13:14:13.992] if (!grepl(pattern, name)) [13:14:13.992] next [13:14:13.992] invokeRestart(restart) [13:14:13.992] muffled <- TRUE [13:14:13.992] break [13:14:13.992] } [13:14:13.992] } [13:14:13.992] } [13:14:13.992] invisible(muffled) [13:14:13.992] } [13:14:13.992] muffleCondition(cond, pattern = "^muffle") [13:14:13.992] } [13:14:13.992] } [13:14:13.992] else { [13:14:13.992] if (TRUE) { [13:14:13.992] muffleCondition <- function (cond, pattern = "^muffle") [13:14:13.992] { [13:14:13.992] inherits <- base::inherits [13:14:13.992] invokeRestart <- base::invokeRestart [13:14:13.992] is.null <- base::is.null [13:14:13.992] muffled <- FALSE [13:14:13.992] if (inherits(cond, "message")) { [13:14:13.992] muffled <- grepl(pattern, "muffleMessage") [13:14:13.992] if (muffled) [13:14:13.992] invokeRestart("muffleMessage") [13:14:13.992] } [13:14:13.992] else if (inherits(cond, "warning")) { [13:14:13.992] muffled <- grepl(pattern, "muffleWarning") [13:14:13.992] if (muffled) [13:14:13.992] invokeRestart("muffleWarning") [13:14:13.992] } [13:14:13.992] else if (inherits(cond, "condition")) { [13:14:13.992] if (!is.null(pattern)) { [13:14:13.992] computeRestarts <- base::computeRestarts [13:14:13.992] grepl <- base::grepl [13:14:13.992] restarts <- computeRestarts(cond) [13:14:13.992] for (restart in restarts) { [13:14:13.992] name <- restart$name [13:14:13.992] if (is.null(name)) [13:14:13.992] next [13:14:13.992] if (!grepl(pattern, name)) [13:14:13.992] next [13:14:13.992] invokeRestart(restart) [13:14:13.992] muffled <- TRUE [13:14:13.992] break [13:14:13.992] } [13:14:13.992] } [13:14:13.992] } [13:14:13.992] invisible(muffled) [13:14:13.992] } [13:14:13.992] muffleCondition(cond, pattern = "^muffle") [13:14:13.992] } [13:14:13.992] } [13:14:13.992] } [13:14:13.992] })) [13:14:13.992] }, error = function(ex) { [13:14:13.992] base::structure(base::list(value = NULL, visible = NULL, [13:14:13.992] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:13.992] ...future.rng), started = ...future.startTime, [13:14:13.992] finished = Sys.time(), session_uuid = NA_character_, [13:14:13.992] version = "1.8"), class = "FutureResult") [13:14:13.992] }, finally = { [13:14:13.992] if (!identical(...future.workdir, getwd())) [13:14:13.992] setwd(...future.workdir) [13:14:13.992] { [13:14:13.992] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:13.992] ...future.oldOptions$nwarnings <- NULL [13:14:13.992] } [13:14:13.992] base::options(...future.oldOptions) [13:14:13.992] if (.Platform$OS.type == "windows") { [13:14:13.992] old_names <- names(...future.oldEnvVars) [13:14:13.992] envs <- base::Sys.getenv() [13:14:13.992] names <- names(envs) [13:14:13.992] common <- intersect(names, old_names) [13:14:13.992] added <- setdiff(names, old_names) [13:14:13.992] removed <- setdiff(old_names, names) [13:14:13.992] changed <- common[...future.oldEnvVars[common] != [13:14:13.992] envs[common]] [13:14:13.992] NAMES <- toupper(changed) [13:14:13.992] args <- list() [13:14:13.992] for (kk in seq_along(NAMES)) { [13:14:13.992] name <- changed[[kk]] [13:14:13.992] NAME <- NAMES[[kk]] [13:14:13.992] if (name != NAME && is.element(NAME, old_names)) [13:14:13.992] next [13:14:13.992] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.992] } [13:14:13.992] NAMES <- toupper(added) [13:14:13.992] for (kk in seq_along(NAMES)) { [13:14:13.992] name <- added[[kk]] [13:14:13.992] NAME <- NAMES[[kk]] [13:14:13.992] if (name != NAME && is.element(NAME, old_names)) [13:14:13.992] next [13:14:13.992] args[[name]] <- "" [13:14:13.992] } [13:14:13.992] NAMES <- toupper(removed) [13:14:13.992] for (kk in seq_along(NAMES)) { [13:14:13.992] name <- removed[[kk]] [13:14:13.992] NAME <- NAMES[[kk]] [13:14:13.992] if (name != NAME && is.element(NAME, old_names)) [13:14:13.992] next [13:14:13.992] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:13.992] } [13:14:13.992] if (length(args) > 0) [13:14:13.992] base::do.call(base::Sys.setenv, args = args) [13:14:13.992] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:13.992] } [13:14:13.992] else { [13:14:13.992] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:13.992] } [13:14:13.992] { [13:14:13.992] if (base::length(...future.futureOptionsAdded) > [13:14:13.992] 0L) { [13:14:13.992] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:13.992] base::names(opts) <- ...future.futureOptionsAdded [13:14:13.992] base::options(opts) [13:14:13.992] } [13:14:13.992] { [13:14:13.992] { [13:14:13.992] base::options(mc.cores = ...future.mc.cores.old) [13:14:13.992] NULL [13:14:13.992] } [13:14:13.992] options(future.plan = NULL) [13:14:13.992] if (is.na(NA_character_)) [13:14:13.992] Sys.unsetenv("R_FUTURE_PLAN") [13:14:13.992] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:13.992] future::plan(list(function (..., workers = availableCores(), [13:14:13.992] lazy = FALSE, rscript_libs = .libPaths(), [13:14:13.992] envir = parent.frame()) [13:14:13.992] { [13:14:13.992] if (is.function(workers)) [13:14:13.992] workers <- workers() [13:14:13.992] workers <- structure(as.integer(workers), [13:14:13.992] class = class(workers)) [13:14:13.992] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:13.992] workers >= 1) [13:14:13.992] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:13.992] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:13.992] } [13:14:13.992] future <- MultisessionFuture(..., workers = workers, [13:14:13.992] lazy = lazy, rscript_libs = rscript_libs, [13:14:13.992] envir = envir) [13:14:13.992] if (!future$lazy) [13:14:13.992] future <- run(future) [13:14:13.992] invisible(future) [13:14:13.992] }), .cleanup = FALSE, .init = FALSE) [13:14:13.992] } [13:14:13.992] } [13:14:13.992] } [13:14:13.992] }) [13:14:13.992] if (TRUE) { [13:14:13.992] base::sink(type = "output", split = FALSE) [13:14:13.992] if (TRUE) { [13:14:13.992] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:13.992] } [13:14:13.992] else { [13:14:13.992] ...future.result["stdout"] <- base::list(NULL) [13:14:13.992] } [13:14:13.992] base::close(...future.stdout) [13:14:13.992] ...future.stdout <- NULL [13:14:13.992] } [13:14:13.992] ...future.result$conditions <- ...future.conditions [13:14:13.992] ...future.result$finished <- base::Sys.time() [13:14:13.992] ...future.result [13:14:13.992] } [13:14:13.997] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... [13:14:13.998] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... [13:14:13.998] Exporting '...future.FUN' (4.62 KiB) to cluster node #1 ... DONE [13:14:13.998] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:13.999] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:13.999] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:13.999] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:14.000] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:14.000] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:14.000] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:14.001] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:14.001] Exporting 5 global objects (4.62 KiB) to cluster node #1 ... DONE [13:14:14.001] MultisessionFuture started [13:14:14.002] - Launch lazy future ... done [13:14:14.002] run() for 'MultisessionFuture' ... done [13:14:14.002] Created future: [13:14:14.018] receiveMessageFromWorker() for ClusterFuture ... [13:14:14.018] - Validating connection of MultisessionFuture [13:14:14.019] - received message: FutureResult [13:14:14.019] - Received FutureResult [13:14:14.019] - Erased future from FutureRegistry [13:14:14.019] result() for ClusterFuture ... [13:14:14.019] - result already collected: FutureResult [13:14:14.019] result() for ClusterFuture ... done [13:14:14.020] receiveMessageFromWorker() for ClusterFuture ... done [13:14:14.002] MultisessionFuture: [13:14:14.002] Label: 'future_sapply-2' [13:14:14.002] Expression: [13:14:14.002] { [13:14:14.002] do.call(function(...) { [13:14:14.002] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.002] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.002] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.002] on.exit(options(oopts), add = TRUE) [13:14:14.002] } [13:14:14.002] { [13:14:14.002] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.002] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.002] ...future.FUN(...future.X_jj, ...) [13:14:14.002] }) [13:14:14.002] } [13:14:14.002] }, args = future.call.arguments) [13:14:14.002] } [13:14:14.002] Lazy evaluation: FALSE [13:14:14.002] Asynchronous evaluation: TRUE [13:14:14.002] Local evaluation: TRUE [13:14:14.002] Environment: R_GlobalEnv [13:14:14.002] Capture standard output: TRUE [13:14:14.002] Capture condition classes: 'condition' (excluding 'nothing') [13:14:14.002] Globals: 5 objects totaling 4.73 KiB (function '...future.FUN' of 4.62 KiB, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:14.002] Packages: [13:14:14.002] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:14.002] Resolved: TRUE [13:14:14.002] Value: [13:14:14.002] Conditions captured: [13:14:14.002] Early signaling: FALSE [13:14:14.002] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:14.002] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.020] Chunk #2 of 2 ... DONE [13:14:14.020] Launching 2 futures (chunks) ... DONE [13:14:14.020] Resolving 2 futures (chunks) ... [13:14:14.020] resolve() on list ... [13:14:14.021] recursive: 0 [13:14:14.021] length: 2 [13:14:14.021] [13:14:14.021] Future #1 [13:14:14.021] result() for ClusterFuture ... [13:14:14.021] - result already collected: FutureResult [13:14:14.022] result() for ClusterFuture ... done [13:14:14.022] result() for ClusterFuture ... [13:14:14.022] - result already collected: FutureResult [13:14:14.022] result() for ClusterFuture ... done [13:14:14.022] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:14.022] - nx: 2 [13:14:14.023] - relay: TRUE [13:14:14.023] - stdout: TRUE [13:14:14.023] - signal: TRUE [13:14:14.023] - resignal: FALSE [13:14:14.023] - force: TRUE [13:14:14.023] - relayed: [n=2] FALSE, FALSE [13:14:14.023] - queued futures: [n=2] FALSE, FALSE [13:14:14.024] - until=1 [13:14:14.024] - relaying element #1 [13:14:14.024] result() for ClusterFuture ... [13:14:14.024] - result already collected: FutureResult [13:14:14.024] result() for ClusterFuture ... done [13:14:14.024] result() for ClusterFuture ... [13:14:14.025] - result already collected: FutureResult [13:14:14.025] result() for ClusterFuture ... done [13:14:14.025] result() for ClusterFuture ... [13:14:14.025] - result already collected: FutureResult [13:14:14.025] result() for ClusterFuture ... done [13:14:14.025] result() for ClusterFuture ... [13:14:14.026] - result already collected: FutureResult [13:14:14.026] result() for ClusterFuture ... done [13:14:14.026] - relayed: [n=2] TRUE, FALSE [13:14:14.026] - queued futures: [n=2] TRUE, FALSE [13:14:14.026] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:14.026] length: 1 (resolved future 1) [13:14:14.027] Future #2 [13:14:14.027] result() for ClusterFuture ... [13:14:14.027] - result already collected: FutureResult [13:14:14.027] result() for ClusterFuture ... done [13:14:14.027] result() for ClusterFuture ... [13:14:14.027] - result already collected: FutureResult [13:14:14.027] result() for ClusterFuture ... done [13:14:14.028] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:14.028] - nx: 2 [13:14:14.028] - relay: TRUE [13:14:14.028] - stdout: TRUE [13:14:14.028] - signal: TRUE [13:14:14.028] - resignal: FALSE [13:14:14.029] - force: TRUE [13:14:14.029] - relayed: [n=2] TRUE, FALSE [13:14:14.029] - queued futures: [n=2] TRUE, FALSE [13:14:14.029] - until=2 [13:14:14.029] - relaying element #2 [13:14:14.029] result() for ClusterFuture ... [13:14:14.030] - result already collected: FutureResult [13:14:14.030] result() for ClusterFuture ... done [13:14:14.030] result() for ClusterFuture ... [13:14:14.030] - result already collected: FutureResult [13:14:14.030] result() for ClusterFuture ... done [13:14:14.030] result() for ClusterFuture ... [13:14:14.030] - result already collected: FutureResult [13:14:14.031] result() for ClusterFuture ... done [13:14:14.031] result() for ClusterFuture ... [13:14:14.031] - result already collected: FutureResult [13:14:14.031] result() for ClusterFuture ... done [13:14:14.031] - relayed: [n=2] TRUE, TRUE [13:14:14.031] - queued futures: [n=2] TRUE, TRUE [13:14:14.032] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:14.032] length: 0 (resolved future 2) [13:14:14.032] Relaying remaining futures [13:14:14.032] signalConditionsASAP(NULL, pos=0) ... [13:14:14.032] - nx: 2 [13:14:14.032] - relay: TRUE [13:14:14.033] - stdout: TRUE [13:14:14.033] - signal: TRUE [13:14:14.033] - resignal: FALSE [13:14:14.033] - force: TRUE [13:14:14.033] - relayed: [n=2] TRUE, TRUE [13:14:14.033] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:14.034] - relayed: [n=2] TRUE, TRUE [13:14:14.034] - queued futures: [n=2] TRUE, TRUE [13:14:14.034] signalConditionsASAP(NULL, pos=0) ... done [13:14:14.034] resolve() on list ... DONE [13:14:14.034] result() for ClusterFuture ... [13:14:14.034] - result already collected: FutureResult [13:14:14.034] result() for ClusterFuture ... done [13:14:14.035] result() for ClusterFuture ... [13:14:14.035] - result already collected: FutureResult [13:14:14.035] result() for ClusterFuture ... done [13:14:14.035] result() for ClusterFuture ... [13:14:14.035] - result already collected: FutureResult [13:14:14.035] result() for ClusterFuture ... done [13:14:14.036] result() for ClusterFuture ... [13:14:14.036] - result already collected: FutureResult [13:14:14.036] result() for ClusterFuture ... done [13:14:14.036] - Number of value chunks collected: 2 [13:14:14.036] Resolving 2 futures (chunks) ... DONE [13:14:14.036] Reducing values from 2 chunks ... [13:14:14.037] - Number of values collected after concatenation: 4 [13:14:14.037] - Number of values expected: 4 [13:14:14.037] Reducing values from 2 chunks ... DONE [13:14:14.037] future_lapply() ... DONE List of 2 $ y0: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" $ y1: num [1:3, 1:5, 1:4] 100 100 100 200 200 200 300 300 300 400 ... ..- attr(*, "dimnames")=List of 3 .. ..$ : NULL .. ..$ : NULL .. ..$ : chr [1:4] "A" "B" "C" "D" [13:14:14.044] future_lapply() ... [13:14:14.047] Number of chunks: 2 [13:14:14.047] getGlobalsAndPackagesXApply() ... [13:14:14.047] - future.globals: TRUE [13:14:14.047] getGlobalsAndPackages() ... [13:14:14.047] Searching for globals... [13:14:14.048] - globals found: [1] 'FUN' [13:14:14.048] Searching for globals ... DONE [13:14:14.048] Resolving globals: FALSE [13:14:14.049] The total size of the 1 globals is 56 bytes (56 bytes) [13:14:14.049] The total size of the 1 globals exported for future expression ('FUN()') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (56 bytes of class 'function') [13:14:14.050] - globals: [1] 'FUN' [13:14:14.050] [13:14:14.050] getGlobalsAndPackages() ... DONE [13:14:14.050] - globals found/used: [n=1] 'FUN' [13:14:14.050] - needed namespaces: [n=0] [13:14:14.050] Finding globals ... DONE [13:14:14.051] - use_args: TRUE [13:14:14.051] - Getting '...' globals ... [13:14:14.051] resolve() on list ... [13:14:14.051] recursive: 0 [13:14:14.051] length: 1 [13:14:14.052] elements: '...' [13:14:14.052] length: 0 (resolved future 1) [13:14:14.052] resolve() on list ... DONE [13:14:14.052] - '...' content: [n=0] [13:14:14.052] List of 1 [13:14:14.052] $ ...: list() [13:14:14.052] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.052] - attr(*, "where")=List of 1 [13:14:14.052] ..$ ...: [13:14:14.052] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.052] - attr(*, "resolved")= logi TRUE [13:14:14.052] - attr(*, "total_size")= num NA [13:14:14.055] - Getting '...' globals ... DONE [13:14:14.056] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:14:14.056] List of 2 [13:14:14.056] $ ...future.FUN:function (x) [13:14:14.056] $ ... : list() [13:14:14.056] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.056] - attr(*, "where")=List of 2 [13:14:14.056] ..$ ...future.FUN: [13:14:14.056] ..$ ... : [13:14:14.056] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.056] - attr(*, "resolved")= logi FALSE [13:14:14.056] - attr(*, "total_size")= num 56 [13:14:14.059] Packages to be attached in all futures: [n=0] [13:14:14.059] getGlobalsAndPackagesXApply() ... DONE [13:14:14.059] Number of futures (= number of chunks): 2 [13:14:14.060] Launching 2 futures (chunks) ... [13:14:14.060] Chunk #1 of 2 ... [13:14:14.060] - Finding globals in 'X' for chunk #1 ... [13:14:14.060] getGlobalsAndPackages() ... [13:14:14.060] Searching for globals... [13:14:14.061] [13:14:14.061] Searching for globals ... DONE [13:14:14.061] - globals: [0] [13:14:14.061] getGlobalsAndPackages() ... DONE [13:14:14.061] + additional globals found: [n=0] [13:14:14.061] + additional namespaces needed: [n=0] [13:14:14.062] - Finding globals in 'X' for chunk #1 ... DONE [13:14:14.062] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:14.062] - seeds: [13:14:14.062] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.062] getGlobalsAndPackages() ... [13:14:14.062] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.063] Resolving globals: FALSE [13:14:14.063] Tweak future expression to call with '...' arguments ... [13:14:14.063] { [13:14:14.063] do.call(function(...) { [13:14:14.063] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.063] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.063] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.063] on.exit(options(oopts), add = TRUE) [13:14:14.063] } [13:14:14.063] { [13:14:14.063] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.063] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.063] ...future.FUN(...future.X_jj, ...) [13:14:14.063] }) [13:14:14.063] } [13:14:14.063] }, args = future.call.arguments) [13:14:14.063] } [13:14:14.063] Tweak future expression to call with '...' arguments ... DONE [13:14:14.064] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.064] [13:14:14.064] getGlobalsAndPackages() ... DONE [13:14:14.065] run() for 'Future' ... [13:14:14.065] - state: 'created' [13:14:14.065] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:14.079] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.080] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:14.080] - Field: 'node' [13:14:14.080] - Field: 'label' [13:14:14.080] - Field: 'local' [13:14:14.080] - Field: 'owner' [13:14:14.081] - Field: 'envir' [13:14:14.081] - Field: 'workers' [13:14:14.081] - Field: 'packages' [13:14:14.081] - Field: 'gc' [13:14:14.081] - Field: 'conditions' [13:14:14.082] - Field: 'persistent' [13:14:14.082] - Field: 'expr' [13:14:14.082] - Field: 'uuid' [13:14:14.082] - Field: 'seed' [13:14:14.082] - Field: 'version' [13:14:14.082] - Field: 'result' [13:14:14.083] - Field: 'asynchronous' [13:14:14.083] - Field: 'calls' [13:14:14.083] - Field: 'globals' [13:14:14.083] - Field: 'stdout' [13:14:14.083] - Field: 'earlySignal' [13:14:14.083] - Field: 'lazy' [13:14:14.084] - Field: 'state' [13:14:14.084] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:14.084] - Launch lazy future ... [13:14:14.084] Packages needed by the future expression (n = 0): [13:14:14.085] Packages needed by future strategies (n = 0): [13:14:14.085] { [13:14:14.085] { [13:14:14.085] { [13:14:14.085] ...future.startTime <- base::Sys.time() [13:14:14.085] { [13:14:14.085] { [13:14:14.085] { [13:14:14.085] { [13:14:14.085] base::local({ [13:14:14.085] has_future <- base::requireNamespace("future", [13:14:14.085] quietly = TRUE) [13:14:14.085] if (has_future) { [13:14:14.085] ns <- base::getNamespace("future") [13:14:14.085] version <- ns[[".package"]][["version"]] [13:14:14.085] if (is.null(version)) [13:14:14.085] version <- utils::packageVersion("future") [13:14:14.085] } [13:14:14.085] else { [13:14:14.085] version <- NULL [13:14:14.085] } [13:14:14.085] if (!has_future || version < "1.8.0") { [13:14:14.085] info <- base::c(r_version = base::gsub("R version ", [13:14:14.085] "", base::R.version$version.string), [13:14:14.085] platform = base::sprintf("%s (%s-bit)", [13:14:14.085] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:14.085] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:14.085] "release", "version")], collapse = " "), [13:14:14.085] hostname = base::Sys.info()[["nodename"]]) [13:14:14.085] info <- base::sprintf("%s: %s", base::names(info), [13:14:14.085] info) [13:14:14.085] info <- base::paste(info, collapse = "; ") [13:14:14.085] if (!has_future) { [13:14:14.085] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:14.085] info) [13:14:14.085] } [13:14:14.085] else { [13:14:14.085] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:14.085] info, version) [13:14:14.085] } [13:14:14.085] base::stop(msg) [13:14:14.085] } [13:14:14.085] }) [13:14:14.085] } [13:14:14.085] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:14.085] base::options(mc.cores = 1L) [13:14:14.085] } [13:14:14.085] options(future.plan = NULL) [13:14:14.085] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.085] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:14.085] } [13:14:14.085] ...future.workdir <- getwd() [13:14:14.085] } [13:14:14.085] ...future.oldOptions <- base::as.list(base::.Options) [13:14:14.085] ...future.oldEnvVars <- base::Sys.getenv() [13:14:14.085] } [13:14:14.085] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:14.085] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:14.085] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:14.085] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:14.085] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:14.085] future.stdout.windows.reencode = NULL, width = 80L) [13:14:14.085] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:14.085] base::names(...future.oldOptions)) [13:14:14.085] } [13:14:14.085] if (FALSE) { [13:14:14.085] } [13:14:14.085] else { [13:14:14.085] if (TRUE) { [13:14:14.085] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:14.085] open = "w") [13:14:14.085] } [13:14:14.085] else { [13:14:14.085] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:14.085] windows = "NUL", "/dev/null"), open = "w") [13:14:14.085] } [13:14:14.085] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:14.085] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:14.085] base::sink(type = "output", split = FALSE) [13:14:14.085] base::close(...future.stdout) [13:14:14.085] }, add = TRUE) [13:14:14.085] } [13:14:14.085] ...future.frame <- base::sys.nframe() [13:14:14.085] ...future.conditions <- base::list() [13:14:14.085] ...future.rng <- base::globalenv()$.Random.seed [13:14:14.085] if (FALSE) { [13:14:14.085] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:14.085] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:14.085] } [13:14:14.085] ...future.result <- base::tryCatch({ [13:14:14.085] base::withCallingHandlers({ [13:14:14.085] ...future.value <- base::withVisible(base::local({ [13:14:14.085] ...future.makeSendCondition <- local({ [13:14:14.085] sendCondition <- NULL [13:14:14.085] function(frame = 1L) { [13:14:14.085] if (is.function(sendCondition)) [13:14:14.085] return(sendCondition) [13:14:14.085] ns <- getNamespace("parallel") [13:14:14.085] if (exists("sendData", mode = "function", [13:14:14.085] envir = ns)) { [13:14:14.085] parallel_sendData <- get("sendData", mode = "function", [13:14:14.085] envir = ns) [13:14:14.085] envir <- sys.frame(frame) [13:14:14.085] master <- NULL [13:14:14.085] while (!identical(envir, .GlobalEnv) && [13:14:14.085] !identical(envir, emptyenv())) { [13:14:14.085] if (exists("master", mode = "list", envir = envir, [13:14:14.085] inherits = FALSE)) { [13:14:14.085] master <- get("master", mode = "list", [13:14:14.085] envir = envir, inherits = FALSE) [13:14:14.085] if (inherits(master, c("SOCKnode", [13:14:14.085] "SOCK0node"))) { [13:14:14.085] sendCondition <<- function(cond) { [13:14:14.085] data <- list(type = "VALUE", value = cond, [13:14:14.085] success = TRUE) [13:14:14.085] parallel_sendData(master, data) [13:14:14.085] } [13:14:14.085] return(sendCondition) [13:14:14.085] } [13:14:14.085] } [13:14:14.085] frame <- frame + 1L [13:14:14.085] envir <- sys.frame(frame) [13:14:14.085] } [13:14:14.085] } [13:14:14.085] sendCondition <<- function(cond) NULL [13:14:14.085] } [13:14:14.085] }) [13:14:14.085] withCallingHandlers({ [13:14:14.085] { [13:14:14.085] do.call(function(...) { [13:14:14.085] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.085] if (!identical(...future.globals.maxSize.org, [13:14:14.085] ...future.globals.maxSize)) { [13:14:14.085] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.085] on.exit(options(oopts), add = TRUE) [13:14:14.085] } [13:14:14.085] { [13:14:14.085] lapply(seq_along(...future.elements_ii), [13:14:14.085] FUN = function(jj) { [13:14:14.085] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.085] ...future.FUN(...future.X_jj, ...) [13:14:14.085] }) [13:14:14.085] } [13:14:14.085] }, args = future.call.arguments) [13:14:14.085] } [13:14:14.085] }, immediateCondition = function(cond) { [13:14:14.085] sendCondition <- ...future.makeSendCondition() [13:14:14.085] sendCondition(cond) [13:14:14.085] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.085] { [13:14:14.085] inherits <- base::inherits [13:14:14.085] invokeRestart <- base::invokeRestart [13:14:14.085] is.null <- base::is.null [13:14:14.085] muffled <- FALSE [13:14:14.085] if (inherits(cond, "message")) { [13:14:14.085] muffled <- grepl(pattern, "muffleMessage") [13:14:14.085] if (muffled) [13:14:14.085] invokeRestart("muffleMessage") [13:14:14.085] } [13:14:14.085] else if (inherits(cond, "warning")) { [13:14:14.085] muffled <- grepl(pattern, "muffleWarning") [13:14:14.085] if (muffled) [13:14:14.085] invokeRestart("muffleWarning") [13:14:14.085] } [13:14:14.085] else if (inherits(cond, "condition")) { [13:14:14.085] if (!is.null(pattern)) { [13:14:14.085] computeRestarts <- base::computeRestarts [13:14:14.085] grepl <- base::grepl [13:14:14.085] restarts <- computeRestarts(cond) [13:14:14.085] for (restart in restarts) { [13:14:14.085] name <- restart$name [13:14:14.085] if (is.null(name)) [13:14:14.085] next [13:14:14.085] if (!grepl(pattern, name)) [13:14:14.085] next [13:14:14.085] invokeRestart(restart) [13:14:14.085] muffled <- TRUE [13:14:14.085] break [13:14:14.085] } [13:14:14.085] } [13:14:14.085] } [13:14:14.085] invisible(muffled) [13:14:14.085] } [13:14:14.085] muffleCondition(cond) [13:14:14.085] }) [13:14:14.085] })) [13:14:14.085] future::FutureResult(value = ...future.value$value, [13:14:14.085] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.085] ...future.rng), globalenv = if (FALSE) [13:14:14.085] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:14.085] ...future.globalenv.names)) [13:14:14.085] else NULL, started = ...future.startTime, version = "1.8") [13:14:14.085] }, condition = base::local({ [13:14:14.085] c <- base::c [13:14:14.085] inherits <- base::inherits [13:14:14.085] invokeRestart <- base::invokeRestart [13:14:14.085] length <- base::length [13:14:14.085] list <- base::list [13:14:14.085] seq.int <- base::seq.int [13:14:14.085] signalCondition <- base::signalCondition [13:14:14.085] sys.calls <- base::sys.calls [13:14:14.085] `[[` <- base::`[[` [13:14:14.085] `+` <- base::`+` [13:14:14.085] `<<-` <- base::`<<-` [13:14:14.085] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:14.085] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:14.085] 3L)] [13:14:14.085] } [13:14:14.085] function(cond) { [13:14:14.085] is_error <- inherits(cond, "error") [13:14:14.085] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:14.085] NULL) [13:14:14.085] if (is_error) { [13:14:14.085] sessionInformation <- function() { [13:14:14.085] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:14.085] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:14.085] search = base::search(), system = base::Sys.info()) [13:14:14.085] } [13:14:14.085] ...future.conditions[[length(...future.conditions) + [13:14:14.085] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:14.085] cond$call), session = sessionInformation(), [13:14:14.085] timestamp = base::Sys.time(), signaled = 0L) [13:14:14.085] signalCondition(cond) [13:14:14.085] } [13:14:14.085] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:14.085] "immediateCondition"))) { [13:14:14.085] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:14.085] ...future.conditions[[length(...future.conditions) + [13:14:14.085] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:14.085] if (TRUE && !signal) { [13:14:14.085] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.085] { [13:14:14.085] inherits <- base::inherits [13:14:14.085] invokeRestart <- base::invokeRestart [13:14:14.085] is.null <- base::is.null [13:14:14.085] muffled <- FALSE [13:14:14.085] if (inherits(cond, "message")) { [13:14:14.085] muffled <- grepl(pattern, "muffleMessage") [13:14:14.085] if (muffled) [13:14:14.085] invokeRestart("muffleMessage") [13:14:14.085] } [13:14:14.085] else if (inherits(cond, "warning")) { [13:14:14.085] muffled <- grepl(pattern, "muffleWarning") [13:14:14.085] if (muffled) [13:14:14.085] invokeRestart("muffleWarning") [13:14:14.085] } [13:14:14.085] else if (inherits(cond, "condition")) { [13:14:14.085] if (!is.null(pattern)) { [13:14:14.085] computeRestarts <- base::computeRestarts [13:14:14.085] grepl <- base::grepl [13:14:14.085] restarts <- computeRestarts(cond) [13:14:14.085] for (restart in restarts) { [13:14:14.085] name <- restart$name [13:14:14.085] if (is.null(name)) [13:14:14.085] next [13:14:14.085] if (!grepl(pattern, name)) [13:14:14.085] next [13:14:14.085] invokeRestart(restart) [13:14:14.085] muffled <- TRUE [13:14:14.085] break [13:14:14.085] } [13:14:14.085] } [13:14:14.085] } [13:14:14.085] invisible(muffled) [13:14:14.085] } [13:14:14.085] muffleCondition(cond, pattern = "^muffle") [13:14:14.085] } [13:14:14.085] } [13:14:14.085] else { [13:14:14.085] if (TRUE) { [13:14:14.085] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.085] { [13:14:14.085] inherits <- base::inherits [13:14:14.085] invokeRestart <- base::invokeRestart [13:14:14.085] is.null <- base::is.null [13:14:14.085] muffled <- FALSE [13:14:14.085] if (inherits(cond, "message")) { [13:14:14.085] muffled <- grepl(pattern, "muffleMessage") [13:14:14.085] if (muffled) [13:14:14.085] invokeRestart("muffleMessage") [13:14:14.085] } [13:14:14.085] else if (inherits(cond, "warning")) { [13:14:14.085] muffled <- grepl(pattern, "muffleWarning") [13:14:14.085] if (muffled) [13:14:14.085] invokeRestart("muffleWarning") [13:14:14.085] } [13:14:14.085] else if (inherits(cond, "condition")) { [13:14:14.085] if (!is.null(pattern)) { [13:14:14.085] computeRestarts <- base::computeRestarts [13:14:14.085] grepl <- base::grepl [13:14:14.085] restarts <- computeRestarts(cond) [13:14:14.085] for (restart in restarts) { [13:14:14.085] name <- restart$name [13:14:14.085] if (is.null(name)) [13:14:14.085] next [13:14:14.085] if (!grepl(pattern, name)) [13:14:14.085] next [13:14:14.085] invokeRestart(restart) [13:14:14.085] muffled <- TRUE [13:14:14.085] break [13:14:14.085] } [13:14:14.085] } [13:14:14.085] } [13:14:14.085] invisible(muffled) [13:14:14.085] } [13:14:14.085] muffleCondition(cond, pattern = "^muffle") [13:14:14.085] } [13:14:14.085] } [13:14:14.085] } [13:14:14.085] })) [13:14:14.085] }, error = function(ex) { [13:14:14.085] base::structure(base::list(value = NULL, visible = NULL, [13:14:14.085] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.085] ...future.rng), started = ...future.startTime, [13:14:14.085] finished = Sys.time(), session_uuid = NA_character_, [13:14:14.085] version = "1.8"), class = "FutureResult") [13:14:14.085] }, finally = { [13:14:14.085] if (!identical(...future.workdir, getwd())) [13:14:14.085] setwd(...future.workdir) [13:14:14.085] { [13:14:14.085] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:14.085] ...future.oldOptions$nwarnings <- NULL [13:14:14.085] } [13:14:14.085] base::options(...future.oldOptions) [13:14:14.085] if (.Platform$OS.type == "windows") { [13:14:14.085] old_names <- names(...future.oldEnvVars) [13:14:14.085] envs <- base::Sys.getenv() [13:14:14.085] names <- names(envs) [13:14:14.085] common <- intersect(names, old_names) [13:14:14.085] added <- setdiff(names, old_names) [13:14:14.085] removed <- setdiff(old_names, names) [13:14:14.085] changed <- common[...future.oldEnvVars[common] != [13:14:14.085] envs[common]] [13:14:14.085] NAMES <- toupper(changed) [13:14:14.085] args <- list() [13:14:14.085] for (kk in seq_along(NAMES)) { [13:14:14.085] name <- changed[[kk]] [13:14:14.085] NAME <- NAMES[[kk]] [13:14:14.085] if (name != NAME && is.element(NAME, old_names)) [13:14:14.085] next [13:14:14.085] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.085] } [13:14:14.085] NAMES <- toupper(added) [13:14:14.085] for (kk in seq_along(NAMES)) { [13:14:14.085] name <- added[[kk]] [13:14:14.085] NAME <- NAMES[[kk]] [13:14:14.085] if (name != NAME && is.element(NAME, old_names)) [13:14:14.085] next [13:14:14.085] args[[name]] <- "" [13:14:14.085] } [13:14:14.085] NAMES <- toupper(removed) [13:14:14.085] for (kk in seq_along(NAMES)) { [13:14:14.085] name <- removed[[kk]] [13:14:14.085] NAME <- NAMES[[kk]] [13:14:14.085] if (name != NAME && is.element(NAME, old_names)) [13:14:14.085] next [13:14:14.085] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.085] } [13:14:14.085] if (length(args) > 0) [13:14:14.085] base::do.call(base::Sys.setenv, args = args) [13:14:14.085] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:14.085] } [13:14:14.085] else { [13:14:14.085] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:14.085] } [13:14:14.085] { [13:14:14.085] if (base::length(...future.futureOptionsAdded) > [13:14:14.085] 0L) { [13:14:14.085] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:14.085] base::names(opts) <- ...future.futureOptionsAdded [13:14:14.085] base::options(opts) [13:14:14.085] } [13:14:14.085] { [13:14:14.085] { [13:14:14.085] base::options(mc.cores = ...future.mc.cores.old) [13:14:14.085] NULL [13:14:14.085] } [13:14:14.085] options(future.plan = NULL) [13:14:14.085] if (is.na(NA_character_)) [13:14:14.085] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.085] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:14.085] future::plan(list(function (..., workers = availableCores(), [13:14:14.085] lazy = FALSE, rscript_libs = .libPaths(), [13:14:14.085] envir = parent.frame()) [13:14:14.085] { [13:14:14.085] if (is.function(workers)) [13:14:14.085] workers <- workers() [13:14:14.085] workers <- structure(as.integer(workers), [13:14:14.085] class = class(workers)) [13:14:14.085] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:14.085] workers >= 1) [13:14:14.085] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:14.085] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:14.085] } [13:14:14.085] future <- MultisessionFuture(..., workers = workers, [13:14:14.085] lazy = lazy, rscript_libs = rscript_libs, [13:14:14.085] envir = envir) [13:14:14.085] if (!future$lazy) [13:14:14.085] future <- run(future) [13:14:14.085] invisible(future) [13:14:14.085] }), .cleanup = FALSE, .init = FALSE) [13:14:14.085] } [13:14:14.085] } [13:14:14.085] } [13:14:14.085] }) [13:14:14.085] if (TRUE) { [13:14:14.085] base::sink(type = "output", split = FALSE) [13:14:14.085] if (TRUE) { [13:14:14.085] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:14.085] } [13:14:14.085] else { [13:14:14.085] ...future.result["stdout"] <- base::list(NULL) [13:14:14.085] } [13:14:14.085] base::close(...future.stdout) [13:14:14.085] ...future.stdout <- NULL [13:14:14.085] } [13:14:14.085] ...future.result$conditions <- ...future.conditions [13:14:14.085] ...future.result$finished <- base::Sys.time() [13:14:14.085] ...future.result [13:14:14.085] } [13:14:14.091] Exporting 5 global objects (56 bytes) to cluster node #1 ... [13:14:14.091] Exporting '...future.FUN' (56 bytes) to cluster node #1 ... [13:14:14.091] Exporting '...future.FUN' (56 bytes) to cluster node #1 ... DONE [13:14:14.092] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:14.092] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:14.092] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:14.093] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:14.093] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:14.093] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:14.093] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:14.094] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:14.094] Exporting 5 global objects (56 bytes) to cluster node #1 ... DONE [13:14:14.095] MultisessionFuture started [13:14:14.095] - Launch lazy future ... done [13:14:14.095] run() for 'MultisessionFuture' ... done [13:14:14.095] Created future: [13:14:14.111] receiveMessageFromWorker() for ClusterFuture ... [13:14:14.111] - Validating connection of MultisessionFuture [13:14:14.112] - received message: FutureResult [13:14:14.112] - Received FutureResult [13:14:14.112] - Erased future from FutureRegistry [13:14:14.112] result() for ClusterFuture ... [13:14:14.112] - result already collected: FutureResult [13:14:14.113] result() for ClusterFuture ... done [13:14:14.113] receiveMessageFromWorker() for ClusterFuture ... done [13:14:14.095] MultisessionFuture: [13:14:14.095] Label: 'future_sapply-1' [13:14:14.095] Expression: [13:14:14.095] { [13:14:14.095] do.call(function(...) { [13:14:14.095] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.095] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.095] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.095] on.exit(options(oopts), add = TRUE) [13:14:14.095] } [13:14:14.095] { [13:14:14.095] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.095] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.095] ...future.FUN(...future.X_jj, ...) [13:14:14.095] }) [13:14:14.095] } [13:14:14.095] }, args = future.call.arguments) [13:14:14.095] } [13:14:14.095] Lazy evaluation: FALSE [13:14:14.095] Asynchronous evaluation: TRUE [13:14:14.095] Local evaluation: TRUE [13:14:14.095] Environment: R_GlobalEnv [13:14:14.095] Capture standard output: TRUE [13:14:14.095] Capture condition classes: 'condition' (excluding 'nothing') [13:14:14.095] Globals: 5 objects totaling 112 bytes (function '...future.FUN' of 56 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:14.095] Packages: [13:14:14.095] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:14.095] Resolved: TRUE [13:14:14.095] Value: [13:14:14.095] Conditions captured: [13:14:14.095] Early signaling: FALSE [13:14:14.095] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:14.095] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.113] Chunk #1 of 2 ... DONE [13:14:14.113] Chunk #2 of 2 ... [13:14:14.113] - Finding globals in 'X' for chunk #2 ... [13:14:14.114] getGlobalsAndPackages() ... [13:14:14.114] Searching for globals... [13:14:14.114] [13:14:14.114] Searching for globals ... DONE [13:14:14.114] - globals: [0] [13:14:14.115] getGlobalsAndPackages() ... DONE [13:14:14.115] + additional globals found: [n=0] [13:14:14.115] + additional namespaces needed: [n=0] [13:14:14.115] - Finding globals in 'X' for chunk #2 ... DONE [13:14:14.115] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:14.115] - seeds: [13:14:14.116] - All globals exported: [n=5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.116] getGlobalsAndPackages() ... [13:14:14.116] - globals passed as-is: [5] '...future.FUN', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.116] Resolving globals: FALSE [13:14:14.116] Tweak future expression to call with '...' arguments ... [13:14:14.116] { [13:14:14.116] do.call(function(...) { [13:14:14.116] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.116] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.116] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.116] on.exit(options(oopts), add = TRUE) [13:14:14.116] } [13:14:14.116] { [13:14:14.116] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.116] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.116] ...future.FUN(...future.X_jj, ...) [13:14:14.116] }) [13:14:14.116] } [13:14:14.116] }, args = future.call.arguments) [13:14:14.116] } [13:14:14.117] Tweak future expression to call with '...' arguments ... DONE [13:14:14.117] - globals: [5] '...future.FUN', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.118] [13:14:14.118] getGlobalsAndPackages() ... DONE [13:14:14.118] run() for 'Future' ... [13:14:14.118] - state: 'created' [13:14:14.118] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:14.132] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.133] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:14.133] - Field: 'node' [13:14:14.133] - Field: 'label' [13:14:14.133] - Field: 'local' [13:14:14.133] - Field: 'owner' [13:14:14.134] - Field: 'envir' [13:14:14.134] - Field: 'workers' [13:14:14.134] - Field: 'packages' [13:14:14.134] - Field: 'gc' [13:14:14.134] - Field: 'conditions' [13:14:14.135] - Field: 'persistent' [13:14:14.135] - Field: 'expr' [13:14:14.135] - Field: 'uuid' [13:14:14.135] - Field: 'seed' [13:14:14.135] - Field: 'version' [13:14:14.135] - Field: 'result' [13:14:14.136] - Field: 'asynchronous' [13:14:14.136] - Field: 'calls' [13:14:14.136] - Field: 'globals' [13:14:14.136] - Field: 'stdout' [13:14:14.136] - Field: 'earlySignal' [13:14:14.136] - Field: 'lazy' [13:14:14.137] - Field: 'state' [13:14:14.137] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:14.137] - Launch lazy future ... [13:14:14.137] Packages needed by the future expression (n = 0): [13:14:14.137] Packages needed by future strategies (n = 0): [13:14:14.138] { [13:14:14.138] { [13:14:14.138] { [13:14:14.138] ...future.startTime <- base::Sys.time() [13:14:14.138] { [13:14:14.138] { [13:14:14.138] { [13:14:14.138] { [13:14:14.138] base::local({ [13:14:14.138] has_future <- base::requireNamespace("future", [13:14:14.138] quietly = TRUE) [13:14:14.138] if (has_future) { [13:14:14.138] ns <- base::getNamespace("future") [13:14:14.138] version <- ns[[".package"]][["version"]] [13:14:14.138] if (is.null(version)) [13:14:14.138] version <- utils::packageVersion("future") [13:14:14.138] } [13:14:14.138] else { [13:14:14.138] version <- NULL [13:14:14.138] } [13:14:14.138] if (!has_future || version < "1.8.0") { [13:14:14.138] info <- base::c(r_version = base::gsub("R version ", [13:14:14.138] "", base::R.version$version.string), [13:14:14.138] platform = base::sprintf("%s (%s-bit)", [13:14:14.138] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:14.138] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:14.138] "release", "version")], collapse = " "), [13:14:14.138] hostname = base::Sys.info()[["nodename"]]) [13:14:14.138] info <- base::sprintf("%s: %s", base::names(info), [13:14:14.138] info) [13:14:14.138] info <- base::paste(info, collapse = "; ") [13:14:14.138] if (!has_future) { [13:14:14.138] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:14.138] info) [13:14:14.138] } [13:14:14.138] else { [13:14:14.138] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:14.138] info, version) [13:14:14.138] } [13:14:14.138] base::stop(msg) [13:14:14.138] } [13:14:14.138] }) [13:14:14.138] } [13:14:14.138] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:14.138] base::options(mc.cores = 1L) [13:14:14.138] } [13:14:14.138] options(future.plan = NULL) [13:14:14.138] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.138] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:14.138] } [13:14:14.138] ...future.workdir <- getwd() [13:14:14.138] } [13:14:14.138] ...future.oldOptions <- base::as.list(base::.Options) [13:14:14.138] ...future.oldEnvVars <- base::Sys.getenv() [13:14:14.138] } [13:14:14.138] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:14.138] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:14.138] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:14.138] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:14.138] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:14.138] future.stdout.windows.reencode = NULL, width = 80L) [13:14:14.138] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:14.138] base::names(...future.oldOptions)) [13:14:14.138] } [13:14:14.138] if (FALSE) { [13:14:14.138] } [13:14:14.138] else { [13:14:14.138] if (TRUE) { [13:14:14.138] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:14.138] open = "w") [13:14:14.138] } [13:14:14.138] else { [13:14:14.138] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:14.138] windows = "NUL", "/dev/null"), open = "w") [13:14:14.138] } [13:14:14.138] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:14.138] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:14.138] base::sink(type = "output", split = FALSE) [13:14:14.138] base::close(...future.stdout) [13:14:14.138] }, add = TRUE) [13:14:14.138] } [13:14:14.138] ...future.frame <- base::sys.nframe() [13:14:14.138] ...future.conditions <- base::list() [13:14:14.138] ...future.rng <- base::globalenv()$.Random.seed [13:14:14.138] if (FALSE) { [13:14:14.138] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:14.138] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:14.138] } [13:14:14.138] ...future.result <- base::tryCatch({ [13:14:14.138] base::withCallingHandlers({ [13:14:14.138] ...future.value <- base::withVisible(base::local({ [13:14:14.138] ...future.makeSendCondition <- local({ [13:14:14.138] sendCondition <- NULL [13:14:14.138] function(frame = 1L) { [13:14:14.138] if (is.function(sendCondition)) [13:14:14.138] return(sendCondition) [13:14:14.138] ns <- getNamespace("parallel") [13:14:14.138] if (exists("sendData", mode = "function", [13:14:14.138] envir = ns)) { [13:14:14.138] parallel_sendData <- get("sendData", mode = "function", [13:14:14.138] envir = ns) [13:14:14.138] envir <- sys.frame(frame) [13:14:14.138] master <- NULL [13:14:14.138] while (!identical(envir, .GlobalEnv) && [13:14:14.138] !identical(envir, emptyenv())) { [13:14:14.138] if (exists("master", mode = "list", envir = envir, [13:14:14.138] inherits = FALSE)) { [13:14:14.138] master <- get("master", mode = "list", [13:14:14.138] envir = envir, inherits = FALSE) [13:14:14.138] if (inherits(master, c("SOCKnode", [13:14:14.138] "SOCK0node"))) { [13:14:14.138] sendCondition <<- function(cond) { [13:14:14.138] data <- list(type = "VALUE", value = cond, [13:14:14.138] success = TRUE) [13:14:14.138] parallel_sendData(master, data) [13:14:14.138] } [13:14:14.138] return(sendCondition) [13:14:14.138] } [13:14:14.138] } [13:14:14.138] frame <- frame + 1L [13:14:14.138] envir <- sys.frame(frame) [13:14:14.138] } [13:14:14.138] } [13:14:14.138] sendCondition <<- function(cond) NULL [13:14:14.138] } [13:14:14.138] }) [13:14:14.138] withCallingHandlers({ [13:14:14.138] { [13:14:14.138] do.call(function(...) { [13:14:14.138] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.138] if (!identical(...future.globals.maxSize.org, [13:14:14.138] ...future.globals.maxSize)) { [13:14:14.138] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.138] on.exit(options(oopts), add = TRUE) [13:14:14.138] } [13:14:14.138] { [13:14:14.138] lapply(seq_along(...future.elements_ii), [13:14:14.138] FUN = function(jj) { [13:14:14.138] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.138] ...future.FUN(...future.X_jj, ...) [13:14:14.138] }) [13:14:14.138] } [13:14:14.138] }, args = future.call.arguments) [13:14:14.138] } [13:14:14.138] }, immediateCondition = function(cond) { [13:14:14.138] sendCondition <- ...future.makeSendCondition() [13:14:14.138] sendCondition(cond) [13:14:14.138] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.138] { [13:14:14.138] inherits <- base::inherits [13:14:14.138] invokeRestart <- base::invokeRestart [13:14:14.138] is.null <- base::is.null [13:14:14.138] muffled <- FALSE [13:14:14.138] if (inherits(cond, "message")) { [13:14:14.138] muffled <- grepl(pattern, "muffleMessage") [13:14:14.138] if (muffled) [13:14:14.138] invokeRestart("muffleMessage") [13:14:14.138] } [13:14:14.138] else if (inherits(cond, "warning")) { [13:14:14.138] muffled <- grepl(pattern, "muffleWarning") [13:14:14.138] if (muffled) [13:14:14.138] invokeRestart("muffleWarning") [13:14:14.138] } [13:14:14.138] else if (inherits(cond, "condition")) { [13:14:14.138] if (!is.null(pattern)) { [13:14:14.138] computeRestarts <- base::computeRestarts [13:14:14.138] grepl <- base::grepl [13:14:14.138] restarts <- computeRestarts(cond) [13:14:14.138] for (restart in restarts) { [13:14:14.138] name <- restart$name [13:14:14.138] if (is.null(name)) [13:14:14.138] next [13:14:14.138] if (!grepl(pattern, name)) [13:14:14.138] next [13:14:14.138] invokeRestart(restart) [13:14:14.138] muffled <- TRUE [13:14:14.138] break [13:14:14.138] } [13:14:14.138] } [13:14:14.138] } [13:14:14.138] invisible(muffled) [13:14:14.138] } [13:14:14.138] muffleCondition(cond) [13:14:14.138] }) [13:14:14.138] })) [13:14:14.138] future::FutureResult(value = ...future.value$value, [13:14:14.138] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.138] ...future.rng), globalenv = if (FALSE) [13:14:14.138] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:14.138] ...future.globalenv.names)) [13:14:14.138] else NULL, started = ...future.startTime, version = "1.8") [13:14:14.138] }, condition = base::local({ [13:14:14.138] c <- base::c [13:14:14.138] inherits <- base::inherits [13:14:14.138] invokeRestart <- base::invokeRestart [13:14:14.138] length <- base::length [13:14:14.138] list <- base::list [13:14:14.138] seq.int <- base::seq.int [13:14:14.138] signalCondition <- base::signalCondition [13:14:14.138] sys.calls <- base::sys.calls [13:14:14.138] `[[` <- base::`[[` [13:14:14.138] `+` <- base::`+` [13:14:14.138] `<<-` <- base::`<<-` [13:14:14.138] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:14.138] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:14.138] 3L)] [13:14:14.138] } [13:14:14.138] function(cond) { [13:14:14.138] is_error <- inherits(cond, "error") [13:14:14.138] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:14.138] NULL) [13:14:14.138] if (is_error) { [13:14:14.138] sessionInformation <- function() { [13:14:14.138] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:14.138] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:14.138] search = base::search(), system = base::Sys.info()) [13:14:14.138] } [13:14:14.138] ...future.conditions[[length(...future.conditions) + [13:14:14.138] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:14.138] cond$call), session = sessionInformation(), [13:14:14.138] timestamp = base::Sys.time(), signaled = 0L) [13:14:14.138] signalCondition(cond) [13:14:14.138] } [13:14:14.138] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:14.138] "immediateCondition"))) { [13:14:14.138] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:14.138] ...future.conditions[[length(...future.conditions) + [13:14:14.138] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:14.138] if (TRUE && !signal) { [13:14:14.138] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.138] { [13:14:14.138] inherits <- base::inherits [13:14:14.138] invokeRestart <- base::invokeRestart [13:14:14.138] is.null <- base::is.null [13:14:14.138] muffled <- FALSE [13:14:14.138] if (inherits(cond, "message")) { [13:14:14.138] muffled <- grepl(pattern, "muffleMessage") [13:14:14.138] if (muffled) [13:14:14.138] invokeRestart("muffleMessage") [13:14:14.138] } [13:14:14.138] else if (inherits(cond, "warning")) { [13:14:14.138] muffled <- grepl(pattern, "muffleWarning") [13:14:14.138] if (muffled) [13:14:14.138] invokeRestart("muffleWarning") [13:14:14.138] } [13:14:14.138] else if (inherits(cond, "condition")) { [13:14:14.138] if (!is.null(pattern)) { [13:14:14.138] computeRestarts <- base::computeRestarts [13:14:14.138] grepl <- base::grepl [13:14:14.138] restarts <- computeRestarts(cond) [13:14:14.138] for (restart in restarts) { [13:14:14.138] name <- restart$name [13:14:14.138] if (is.null(name)) [13:14:14.138] next [13:14:14.138] if (!grepl(pattern, name)) [13:14:14.138] next [13:14:14.138] invokeRestart(restart) [13:14:14.138] muffled <- TRUE [13:14:14.138] break [13:14:14.138] } [13:14:14.138] } [13:14:14.138] } [13:14:14.138] invisible(muffled) [13:14:14.138] } [13:14:14.138] muffleCondition(cond, pattern = "^muffle") [13:14:14.138] } [13:14:14.138] } [13:14:14.138] else { [13:14:14.138] if (TRUE) { [13:14:14.138] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.138] { [13:14:14.138] inherits <- base::inherits [13:14:14.138] invokeRestart <- base::invokeRestart [13:14:14.138] is.null <- base::is.null [13:14:14.138] muffled <- FALSE [13:14:14.138] if (inherits(cond, "message")) { [13:14:14.138] muffled <- grepl(pattern, "muffleMessage") [13:14:14.138] if (muffled) [13:14:14.138] invokeRestart("muffleMessage") [13:14:14.138] } [13:14:14.138] else if (inherits(cond, "warning")) { [13:14:14.138] muffled <- grepl(pattern, "muffleWarning") [13:14:14.138] if (muffled) [13:14:14.138] invokeRestart("muffleWarning") [13:14:14.138] } [13:14:14.138] else if (inherits(cond, "condition")) { [13:14:14.138] if (!is.null(pattern)) { [13:14:14.138] computeRestarts <- base::computeRestarts [13:14:14.138] grepl <- base::grepl [13:14:14.138] restarts <- computeRestarts(cond) [13:14:14.138] for (restart in restarts) { [13:14:14.138] name <- restart$name [13:14:14.138] if (is.null(name)) [13:14:14.138] next [13:14:14.138] if (!grepl(pattern, name)) [13:14:14.138] next [13:14:14.138] invokeRestart(restart) [13:14:14.138] muffled <- TRUE [13:14:14.138] break [13:14:14.138] } [13:14:14.138] } [13:14:14.138] } [13:14:14.138] invisible(muffled) [13:14:14.138] } [13:14:14.138] muffleCondition(cond, pattern = "^muffle") [13:14:14.138] } [13:14:14.138] } [13:14:14.138] } [13:14:14.138] })) [13:14:14.138] }, error = function(ex) { [13:14:14.138] base::structure(base::list(value = NULL, visible = NULL, [13:14:14.138] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.138] ...future.rng), started = ...future.startTime, [13:14:14.138] finished = Sys.time(), session_uuid = NA_character_, [13:14:14.138] version = "1.8"), class = "FutureResult") [13:14:14.138] }, finally = { [13:14:14.138] if (!identical(...future.workdir, getwd())) [13:14:14.138] setwd(...future.workdir) [13:14:14.138] { [13:14:14.138] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:14.138] ...future.oldOptions$nwarnings <- NULL [13:14:14.138] } [13:14:14.138] base::options(...future.oldOptions) [13:14:14.138] if (.Platform$OS.type == "windows") { [13:14:14.138] old_names <- names(...future.oldEnvVars) [13:14:14.138] envs <- base::Sys.getenv() [13:14:14.138] names <- names(envs) [13:14:14.138] common <- intersect(names, old_names) [13:14:14.138] added <- setdiff(names, old_names) [13:14:14.138] removed <- setdiff(old_names, names) [13:14:14.138] changed <- common[...future.oldEnvVars[common] != [13:14:14.138] envs[common]] [13:14:14.138] NAMES <- toupper(changed) [13:14:14.138] args <- list() [13:14:14.138] for (kk in seq_along(NAMES)) { [13:14:14.138] name <- changed[[kk]] [13:14:14.138] NAME <- NAMES[[kk]] [13:14:14.138] if (name != NAME && is.element(NAME, old_names)) [13:14:14.138] next [13:14:14.138] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.138] } [13:14:14.138] NAMES <- toupper(added) [13:14:14.138] for (kk in seq_along(NAMES)) { [13:14:14.138] name <- added[[kk]] [13:14:14.138] NAME <- NAMES[[kk]] [13:14:14.138] if (name != NAME && is.element(NAME, old_names)) [13:14:14.138] next [13:14:14.138] args[[name]] <- "" [13:14:14.138] } [13:14:14.138] NAMES <- toupper(removed) [13:14:14.138] for (kk in seq_along(NAMES)) { [13:14:14.138] name <- removed[[kk]] [13:14:14.138] NAME <- NAMES[[kk]] [13:14:14.138] if (name != NAME && is.element(NAME, old_names)) [13:14:14.138] next [13:14:14.138] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.138] } [13:14:14.138] if (length(args) > 0) [13:14:14.138] base::do.call(base::Sys.setenv, args = args) [13:14:14.138] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:14.138] } [13:14:14.138] else { [13:14:14.138] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:14.138] } [13:14:14.138] { [13:14:14.138] if (base::length(...future.futureOptionsAdded) > [13:14:14.138] 0L) { [13:14:14.138] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:14.138] base::names(opts) <- ...future.futureOptionsAdded [13:14:14.138] base::options(opts) [13:14:14.138] } [13:14:14.138] { [13:14:14.138] { [13:14:14.138] base::options(mc.cores = ...future.mc.cores.old) [13:14:14.138] NULL [13:14:14.138] } [13:14:14.138] options(future.plan = NULL) [13:14:14.138] if (is.na(NA_character_)) [13:14:14.138] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.138] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:14.138] future::plan(list(function (..., workers = availableCores(), [13:14:14.138] lazy = FALSE, rscript_libs = .libPaths(), [13:14:14.138] envir = parent.frame()) [13:14:14.138] { [13:14:14.138] if (is.function(workers)) [13:14:14.138] workers <- workers() [13:14:14.138] workers <- structure(as.integer(workers), [13:14:14.138] class = class(workers)) [13:14:14.138] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:14.138] workers >= 1) [13:14:14.138] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:14.138] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:14.138] } [13:14:14.138] future <- MultisessionFuture(..., workers = workers, [13:14:14.138] lazy = lazy, rscript_libs = rscript_libs, [13:14:14.138] envir = envir) [13:14:14.138] if (!future$lazy) [13:14:14.138] future <- run(future) [13:14:14.138] invisible(future) [13:14:14.138] }), .cleanup = FALSE, .init = FALSE) [13:14:14.138] } [13:14:14.138] } [13:14:14.138] } [13:14:14.138] }) [13:14:14.138] if (TRUE) { [13:14:14.138] base::sink(type = "output", split = FALSE) [13:14:14.138] if (TRUE) { [13:14:14.138] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:14.138] } [13:14:14.138] else { [13:14:14.138] ...future.result["stdout"] <- base::list(NULL) [13:14:14.138] } [13:14:14.138] base::close(...future.stdout) [13:14:14.138] ...future.stdout <- NULL [13:14:14.138] } [13:14:14.138] ...future.result$conditions <- ...future.conditions [13:14:14.138] ...future.result$finished <- base::Sys.time() [13:14:14.138] ...future.result [13:14:14.138] } [13:14:14.144] Exporting 5 global objects (56 bytes) to cluster node #1 ... [13:14:14.144] Exporting '...future.FUN' (56 bytes) to cluster node #1 ... [13:14:14.145] Exporting '...future.FUN' (56 bytes) to cluster node #1 ... DONE [13:14:14.145] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:14:14.145] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:14:14.146] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:14:14.146] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:14:14.146] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:14.147] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:14.147] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:14.147] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:14.147] Exporting 5 global objects (56 bytes) to cluster node #1 ... DONE [13:14:14.148] MultisessionFuture started [13:14:14.148] - Launch lazy future ... done [13:14:14.148] run() for 'MultisessionFuture' ... done [13:14:14.149] Created future: [13:14:14.164] receiveMessageFromWorker() for ClusterFuture ... [13:14:14.164] - Validating connection of MultisessionFuture [13:14:14.165] - received message: FutureResult [13:14:14.165] - Received FutureResult [13:14:14.165] - Erased future from FutureRegistry [13:14:14.165] result() for ClusterFuture ... [13:14:14.165] - result already collected: FutureResult [13:14:14.166] result() for ClusterFuture ... done [13:14:14.166] receiveMessageFromWorker() for ClusterFuture ... done [13:14:14.149] MultisessionFuture: [13:14:14.149] Label: 'future_sapply-2' [13:14:14.149] Expression: [13:14:14.149] { [13:14:14.149] do.call(function(...) { [13:14:14.149] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.149] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.149] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.149] on.exit(options(oopts), add = TRUE) [13:14:14.149] } [13:14:14.149] { [13:14:14.149] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.149] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.149] ...future.FUN(...future.X_jj, ...) [13:14:14.149] }) [13:14:14.149] } [13:14:14.149] }, args = future.call.arguments) [13:14:14.149] } [13:14:14.149] Lazy evaluation: FALSE [13:14:14.149] Asynchronous evaluation: TRUE [13:14:14.149] Local evaluation: TRUE [13:14:14.149] Environment: R_GlobalEnv [13:14:14.149] Capture standard output: TRUE [13:14:14.149] Capture condition classes: 'condition' (excluding 'nothing') [13:14:14.149] Globals: 5 objects totaling 168 bytes (function '...future.FUN' of 56 bytes, DotDotDotList 'future.call.arguments' of 0 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, NULL '...future.globals.maxSize' of 0 bytes) [13:14:14.149] Packages: [13:14:14.149] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:14.149] Resolved: TRUE [13:14:14.149] Value: [13:14:14.149] Conditions captured: [13:14:14.149] Early signaling: FALSE [13:14:14.149] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:14.149] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.166] Chunk #2 of 2 ... DONE [13:14:14.166] Launching 2 futures (chunks) ... DONE [13:14:14.166] Resolving 2 futures (chunks) ... [13:14:14.167] resolve() on list ... [13:14:14.167] recursive: 0 [13:14:14.167] length: 2 [13:14:14.167] [13:14:14.167] Future #1 [13:14:14.167] result() for ClusterFuture ... [13:14:14.168] - result already collected: FutureResult [13:14:14.168] result() for ClusterFuture ... done [13:14:14.168] result() for ClusterFuture ... [13:14:14.168] - result already collected: FutureResult [13:14:14.168] result() for ClusterFuture ... done [13:14:14.168] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:14.169] - nx: 2 [13:14:14.169] - relay: TRUE [13:14:14.169] - stdout: TRUE [13:14:14.169] - signal: TRUE [13:14:14.169] - resignal: FALSE [13:14:14.169] - force: TRUE [13:14:14.169] - relayed: [n=2] FALSE, FALSE [13:14:14.170] - queued futures: [n=2] FALSE, FALSE [13:14:14.170] - until=1 [13:14:14.170] - relaying element #1 [13:14:14.170] result() for ClusterFuture ... [13:14:14.170] - result already collected: FutureResult [13:14:14.170] result() for ClusterFuture ... done [13:14:14.171] result() for ClusterFuture ... [13:14:14.171] - result already collected: FutureResult [13:14:14.171] result() for ClusterFuture ... done [13:14:14.171] result() for ClusterFuture ... [13:14:14.171] - result already collected: FutureResult [13:14:14.171] result() for ClusterFuture ... done [13:14:14.172] result() for ClusterFuture ... [13:14:14.172] - result already collected: FutureResult [13:14:14.172] result() for ClusterFuture ... done [13:14:14.172] - relayed: [n=2] TRUE, FALSE [13:14:14.172] - queued futures: [n=2] TRUE, FALSE [13:14:14.172] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:14.173] length: 1 (resolved future 1) [13:14:14.173] Future #2 [13:14:14.173] result() for ClusterFuture ... [13:14:14.173] - result already collected: FutureResult [13:14:14.173] result() for ClusterFuture ... done [13:14:14.173] result() for ClusterFuture ... [13:14:14.174] - result already collected: FutureResult [13:14:14.174] result() for ClusterFuture ... done [13:14:14.174] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:14.174] - nx: 2 [13:14:14.174] - relay: TRUE [13:14:14.174] - stdout: TRUE [13:14:14.175] - signal: TRUE [13:14:14.175] - resignal: FALSE [13:14:14.175] - force: TRUE [13:14:14.175] - relayed: [n=2] TRUE, FALSE [13:14:14.175] - queued futures: [n=2] TRUE, FALSE [13:14:14.175] - until=2 [13:14:14.175] - relaying element #2 [13:14:14.176] result() for ClusterFuture ... [13:14:14.176] - result already collected: FutureResult [13:14:14.176] result() for ClusterFuture ... done [13:14:14.176] result() for ClusterFuture ... [13:14:14.176] - result already collected: FutureResult [13:14:14.176] result() for ClusterFuture ... done [13:14:14.177] result() for ClusterFuture ... [13:14:14.177] - result already collected: FutureResult [13:14:14.177] result() for ClusterFuture ... done [13:14:14.177] result() for ClusterFuture ... [13:14:14.177] - result already collected: FutureResult [13:14:14.177] result() for ClusterFuture ... done [13:14:14.178] - relayed: [n=2] TRUE, TRUE [13:14:14.178] - queued futures: [n=2] TRUE, TRUE [13:14:14.178] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:14.178] length: 0 (resolved future 2) [13:14:14.178] Relaying remaining futures [13:14:14.178] signalConditionsASAP(NULL, pos=0) ... [13:14:14.178] - nx: 2 [13:14:14.179] - relay: TRUE [13:14:14.179] - stdout: TRUE [13:14:14.179] - signal: TRUE [13:14:14.179] - resignal: FALSE [13:14:14.179] - force: TRUE [13:14:14.179] - relayed: [n=2] TRUE, TRUE [13:14:14.180] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:14.180] - relayed: [n=2] TRUE, TRUE [13:14:14.180] - queued futures: [n=2] TRUE, TRUE [13:14:14.180] signalConditionsASAP(NULL, pos=0) ... done [13:14:14.180] resolve() on list ... DONE [13:14:14.180] result() for ClusterFuture ... [13:14:14.181] - result already collected: FutureResult [13:14:14.181] result() for ClusterFuture ... done [13:14:14.181] result() for ClusterFuture ... [13:14:14.181] - result already collected: FutureResult [13:14:14.181] result() for ClusterFuture ... done [13:14:14.181] result() for ClusterFuture ... [13:14:14.182] - result already collected: FutureResult [13:14:14.182] result() for ClusterFuture ... done [13:14:14.182] result() for ClusterFuture ... [13:14:14.182] - result already collected: FutureResult [13:14:14.182] result() for ClusterFuture ... done [13:14:14.182] - Number of value chunks collected: 2 [13:14:14.183] Resolving 2 futures (chunks) ... DONE [13:14:14.183] Reducing values from 2 chunks ... [13:14:14.183] - Number of values collected after concatenation: 3 [13:14:14.183] - Number of values expected: 3 [13:14:14.183] Reducing values from 2 chunks ... DONE [13:14:14.183] future_lapply() ... DONE [13:14:14.184] future_lapply() ... [13:14:14.187] Number of chunks: 2 [13:14:14.187] getGlobalsAndPackagesXApply() ... [13:14:14.187] - future.globals: TRUE [13:14:14.187] getGlobalsAndPackages() ... [13:14:14.187] Searching for globals... [13:14:14.190] - globals found: [4] 'FUN', 'compute', '...', '+' [13:14:14.190] Searching for globals ... DONE [13:14:14.190] Resolving globals: FALSE [13:14:14.194] Tweak future expression to call with '...' arguments ... [13:14:14.194] { [13:14:14.194] do.call(function(...) FUN(), args = future.call.arguments) [13:14:14.194] } [13:14:14.194] Tweak future expression to call with '...' arguments ... DONE [13:14:14.195] The total size of the 3 globals is 3.92 KiB (4016 bytes) [13:14:14.196] The total size of the 3 globals exported for future expression ('FUN()') is 3.92 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are three globals: 'FUN' (2.43 KiB of class 'function'), 'compute' (1.44 KiB of class 'function') and 'future.call.arguments' (56 bytes of class 'list') [13:14:14.196] - globals: [3] 'FUN', 'compute', 'future.call.arguments' [13:14:14.196] [13:14:14.196] getGlobalsAndPackages() ... DONE [13:14:14.196] - globals found/used: [n=3] 'FUN', 'compute', 'future.call.arguments' [13:14:14.197] - needed namespaces: [n=0] [13:14:14.197] Finding globals ... DONE [13:14:14.197] - use_args: TRUE [13:14:14.197] - Getting '...' globals ... [13:14:14.197] resolve() on list ... [13:14:14.198] recursive: 0 [13:14:14.198] length: 1 [13:14:14.198] elements: '...' [13:14:14.198] length: 0 (resolved future 1) [13:14:14.198] resolve() on list ... DONE [13:14:14.198] - '...' content: [n=0] [13:14:14.199] List of 1 [13:14:14.199] $ ...: list() [13:14:14.199] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.199] - attr(*, "where")=List of 1 [13:14:14.199] ..$ ...: [13:14:14.199] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.199] - attr(*, "resolved")= logi TRUE [13:14:14.199] - attr(*, "total_size")= num NA [13:14:14.202] - Getting '...' globals ... DONE [13:14:14.202] Globals to be used in all futures (chunks): [n=4] '...future.FUN', 'compute', 'future.call.arguments', '...' [13:14:14.202] List of 4 [13:14:14.202] $ ...future.FUN :function (x) [13:14:14.202] $ compute :function (a, x_vec) [13:14:14.202] $ future.call.arguments:List of 1 [13:14:14.202] ..$ : int 0 [13:14:14.202] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.202] $ ... : list() [13:14:14.202] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.202] - attr(*, "where")=List of 4 [13:14:14.202] ..$ ...future.FUN : [13:14:14.202] ..$ compute : [13:14:14.202] ..$ future.call.arguments: [13:14:14.202] ..$ ... : [13:14:14.202] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.202] - attr(*, "resolved")= logi FALSE [13:14:14.202] - attr(*, "total_size")= num 4016 [13:14:14.207] Packages to be attached in all futures: [n=0] [13:14:14.207] getGlobalsAndPackagesXApply() ... DONE [13:14:14.208] Number of futures (= number of chunks): 2 [13:14:14.208] Launching 2 futures (chunks) ... [13:14:14.208] Chunk #1 of 2 ... [13:14:14.208] - Finding globals in 'X' for chunk #1 ... [13:14:14.208] getGlobalsAndPackages() ... [13:14:14.208] Searching for globals... [13:14:14.209] [13:14:14.209] Searching for globals ... DONE [13:14:14.209] - globals: [0] [13:14:14.209] getGlobalsAndPackages() ... DONE [13:14:14.209] + additional globals found: [n=0] [13:14:14.210] + additional namespaces needed: [n=0] [13:14:14.210] - Finding globals in 'X' for chunk #1 ... DONE [13:14:14.210] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:14.210] - seeds: [13:14:14.210] - All globals exported: [n=7] '...future.FUN', 'compute', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.210] getGlobalsAndPackages() ... [13:14:14.211] - globals passed as-is: [7] '...future.FUN', 'compute', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.211] Resolving globals: FALSE [13:14:14.211] Tweak future expression to call with '...' arguments ... [13:14:14.211] - Detected 2 'future.call.arguments' global entries: [13:14:14.211] List of 2 [13:14:14.211] $ future.call.arguments:List of 1 [13:14:14.211] ..$ : int 0 [13:14:14.211] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.211] $ future.call.arguments: list() [13:14:14.211] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.211] - attr(*, "where")=List of 2 [13:14:14.211] ..$ future.call.arguments: [13:14:14.211] ..$ future.call.arguments: [13:14:14.211] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.211] - attr(*, "resolved")= logi FALSE [13:14:14.211] - attr(*, "total_size")= num 4016 [13:14:14.215] future.call.arguments future.call.arguments [13:14:14.215] 1 0 [13:14:14.216] - 'future.call.arguments' global entries: [13:14:14.216] List of 2 [13:14:14.216] $ future.call.arguments:List of 1 [13:14:14.216] ..$ : int 0 [13:14:14.216] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.216] $ ...future.elements_ii:List of 1 [13:14:14.216] ..$ : int 1 [13:14:14.216] - attr(*, "where")=List of 2 [13:14:14.216] ..$ future.call.arguments: [13:14:14.216] ..$ ...future.elements_ii: [13:14:14.216] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.216] - attr(*, "resolved")= logi FALSE [13:14:14.216] - attr(*, "total_size")= num 4016 [13:14:14.220] { [13:14:14.220] do.call(function(...) { [13:14:14.220] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.220] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.220] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.220] on.exit(options(oopts), add = TRUE) [13:14:14.220] } [13:14:14.220] { [13:14:14.220] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.220] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.220] ...future.FUN(...future.X_jj) [13:14:14.220] }) [13:14:14.220] } [13:14:14.220] }, args = future.call.arguments) [13:14:14.220] } [13:14:14.220] Tweak future expression to call with '...' arguments ... DONE [13:14:14.221] - globals: [6] '...future.FUN', 'compute', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.221] [13:14:14.221] getGlobalsAndPackages() ... DONE [13:14:14.222] run() for 'Future' ... [13:14:14.222] - state: 'created' [13:14:14.222] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:14.237] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.237] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:14.237] - Field: 'node' [13:14:14.237] - Field: 'label' [13:14:14.238] - Field: 'local' [13:14:14.238] - Field: 'owner' [13:14:14.238] - Field: 'envir' [13:14:14.238] - Field: 'workers' [13:14:14.238] - Field: 'packages' [13:14:14.239] - Field: 'gc' [13:14:14.239] - Field: 'conditions' [13:14:14.239] - Field: 'persistent' [13:14:14.239] - Field: 'expr' [13:14:14.239] - Field: 'uuid' [13:14:14.239] - Field: 'seed' [13:14:14.240] - Field: 'version' [13:14:14.240] - Field: 'result' [13:14:14.240] - Field: 'asynchronous' [13:14:14.240] - Field: 'calls' [13:14:14.240] - Field: 'globals' [13:14:14.240] - Field: 'stdout' [13:14:14.241] - Field: 'earlySignal' [13:14:14.241] - Field: 'lazy' [13:14:14.241] - Field: 'state' [13:14:14.241] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:14.241] - Launch lazy future ... [13:14:14.242] Packages needed by the future expression (n = 0): [13:14:14.242] Packages needed by future strategies (n = 0): [13:14:14.242] { [13:14:14.242] { [13:14:14.242] { [13:14:14.242] ...future.startTime <- base::Sys.time() [13:14:14.242] { [13:14:14.242] { [13:14:14.242] { [13:14:14.242] { [13:14:14.242] base::local({ [13:14:14.242] has_future <- base::requireNamespace("future", [13:14:14.242] quietly = TRUE) [13:14:14.242] if (has_future) { [13:14:14.242] ns <- base::getNamespace("future") [13:14:14.242] version <- ns[[".package"]][["version"]] [13:14:14.242] if (is.null(version)) [13:14:14.242] version <- utils::packageVersion("future") [13:14:14.242] } [13:14:14.242] else { [13:14:14.242] version <- NULL [13:14:14.242] } [13:14:14.242] if (!has_future || version < "1.8.0") { [13:14:14.242] info <- base::c(r_version = base::gsub("R version ", [13:14:14.242] "", base::R.version$version.string), [13:14:14.242] platform = base::sprintf("%s (%s-bit)", [13:14:14.242] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:14.242] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:14.242] "release", "version")], collapse = " "), [13:14:14.242] hostname = base::Sys.info()[["nodename"]]) [13:14:14.242] info <- base::sprintf("%s: %s", base::names(info), [13:14:14.242] info) [13:14:14.242] info <- base::paste(info, collapse = "; ") [13:14:14.242] if (!has_future) { [13:14:14.242] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:14.242] info) [13:14:14.242] } [13:14:14.242] else { [13:14:14.242] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:14.242] info, version) [13:14:14.242] } [13:14:14.242] base::stop(msg) [13:14:14.242] } [13:14:14.242] }) [13:14:14.242] } [13:14:14.242] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:14.242] base::options(mc.cores = 1L) [13:14:14.242] } [13:14:14.242] options(future.plan = NULL) [13:14:14.242] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.242] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:14.242] } [13:14:14.242] ...future.workdir <- getwd() [13:14:14.242] } [13:14:14.242] ...future.oldOptions <- base::as.list(base::.Options) [13:14:14.242] ...future.oldEnvVars <- base::Sys.getenv() [13:14:14.242] } [13:14:14.242] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:14.242] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:14.242] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:14.242] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:14.242] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:14.242] future.stdout.windows.reencode = NULL, width = 80L) [13:14:14.242] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:14.242] base::names(...future.oldOptions)) [13:14:14.242] } [13:14:14.242] if (FALSE) { [13:14:14.242] } [13:14:14.242] else { [13:14:14.242] if (TRUE) { [13:14:14.242] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:14.242] open = "w") [13:14:14.242] } [13:14:14.242] else { [13:14:14.242] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:14.242] windows = "NUL", "/dev/null"), open = "w") [13:14:14.242] } [13:14:14.242] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:14.242] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:14.242] base::sink(type = "output", split = FALSE) [13:14:14.242] base::close(...future.stdout) [13:14:14.242] }, add = TRUE) [13:14:14.242] } [13:14:14.242] ...future.frame <- base::sys.nframe() [13:14:14.242] ...future.conditions <- base::list() [13:14:14.242] ...future.rng <- base::globalenv()$.Random.seed [13:14:14.242] if (FALSE) { [13:14:14.242] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:14.242] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:14.242] } [13:14:14.242] ...future.result <- base::tryCatch({ [13:14:14.242] base::withCallingHandlers({ [13:14:14.242] ...future.value <- base::withVisible(base::local({ [13:14:14.242] ...future.makeSendCondition <- local({ [13:14:14.242] sendCondition <- NULL [13:14:14.242] function(frame = 1L) { [13:14:14.242] if (is.function(sendCondition)) [13:14:14.242] return(sendCondition) [13:14:14.242] ns <- getNamespace("parallel") [13:14:14.242] if (exists("sendData", mode = "function", [13:14:14.242] envir = ns)) { [13:14:14.242] parallel_sendData <- get("sendData", mode = "function", [13:14:14.242] envir = ns) [13:14:14.242] envir <- sys.frame(frame) [13:14:14.242] master <- NULL [13:14:14.242] while (!identical(envir, .GlobalEnv) && [13:14:14.242] !identical(envir, emptyenv())) { [13:14:14.242] if (exists("master", mode = "list", envir = envir, [13:14:14.242] inherits = FALSE)) { [13:14:14.242] master <- get("master", mode = "list", [13:14:14.242] envir = envir, inherits = FALSE) [13:14:14.242] if (inherits(master, c("SOCKnode", [13:14:14.242] "SOCK0node"))) { [13:14:14.242] sendCondition <<- function(cond) { [13:14:14.242] data <- list(type = "VALUE", value = cond, [13:14:14.242] success = TRUE) [13:14:14.242] parallel_sendData(master, data) [13:14:14.242] } [13:14:14.242] return(sendCondition) [13:14:14.242] } [13:14:14.242] } [13:14:14.242] frame <- frame + 1L [13:14:14.242] envir <- sys.frame(frame) [13:14:14.242] } [13:14:14.242] } [13:14:14.242] sendCondition <<- function(cond) NULL [13:14:14.242] } [13:14:14.242] }) [13:14:14.242] withCallingHandlers({ [13:14:14.242] { [13:14:14.242] do.call(function(...) { [13:14:14.242] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.242] if (!identical(...future.globals.maxSize.org, [13:14:14.242] ...future.globals.maxSize)) { [13:14:14.242] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.242] on.exit(options(oopts), add = TRUE) [13:14:14.242] } [13:14:14.242] { [13:14:14.242] lapply(seq_along(...future.elements_ii), [13:14:14.242] FUN = function(jj) { [13:14:14.242] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.242] ...future.FUN(...future.X_jj) [13:14:14.242] }) [13:14:14.242] } [13:14:14.242] }, args = future.call.arguments) [13:14:14.242] } [13:14:14.242] }, immediateCondition = function(cond) { [13:14:14.242] sendCondition <- ...future.makeSendCondition() [13:14:14.242] sendCondition(cond) [13:14:14.242] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.242] { [13:14:14.242] inherits <- base::inherits [13:14:14.242] invokeRestart <- base::invokeRestart [13:14:14.242] is.null <- base::is.null [13:14:14.242] muffled <- FALSE [13:14:14.242] if (inherits(cond, "message")) { [13:14:14.242] muffled <- grepl(pattern, "muffleMessage") [13:14:14.242] if (muffled) [13:14:14.242] invokeRestart("muffleMessage") [13:14:14.242] } [13:14:14.242] else if (inherits(cond, "warning")) { [13:14:14.242] muffled <- grepl(pattern, "muffleWarning") [13:14:14.242] if (muffled) [13:14:14.242] invokeRestart("muffleWarning") [13:14:14.242] } [13:14:14.242] else if (inherits(cond, "condition")) { [13:14:14.242] if (!is.null(pattern)) { [13:14:14.242] computeRestarts <- base::computeRestarts [13:14:14.242] grepl <- base::grepl [13:14:14.242] restarts <- computeRestarts(cond) [13:14:14.242] for (restart in restarts) { [13:14:14.242] name <- restart$name [13:14:14.242] if (is.null(name)) [13:14:14.242] next [13:14:14.242] if (!grepl(pattern, name)) [13:14:14.242] next [13:14:14.242] invokeRestart(restart) [13:14:14.242] muffled <- TRUE [13:14:14.242] break [13:14:14.242] } [13:14:14.242] } [13:14:14.242] } [13:14:14.242] invisible(muffled) [13:14:14.242] } [13:14:14.242] muffleCondition(cond) [13:14:14.242] }) [13:14:14.242] })) [13:14:14.242] future::FutureResult(value = ...future.value$value, [13:14:14.242] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.242] ...future.rng), globalenv = if (FALSE) [13:14:14.242] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:14.242] ...future.globalenv.names)) [13:14:14.242] else NULL, started = ...future.startTime, version = "1.8") [13:14:14.242] }, condition = base::local({ [13:14:14.242] c <- base::c [13:14:14.242] inherits <- base::inherits [13:14:14.242] invokeRestart <- base::invokeRestart [13:14:14.242] length <- base::length [13:14:14.242] list <- base::list [13:14:14.242] seq.int <- base::seq.int [13:14:14.242] signalCondition <- base::signalCondition [13:14:14.242] sys.calls <- base::sys.calls [13:14:14.242] `[[` <- base::`[[` [13:14:14.242] `+` <- base::`+` [13:14:14.242] `<<-` <- base::`<<-` [13:14:14.242] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:14.242] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:14.242] 3L)] [13:14:14.242] } [13:14:14.242] function(cond) { [13:14:14.242] is_error <- inherits(cond, "error") [13:14:14.242] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:14.242] NULL) [13:14:14.242] if (is_error) { [13:14:14.242] sessionInformation <- function() { [13:14:14.242] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:14.242] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:14.242] search = base::search(), system = base::Sys.info()) [13:14:14.242] } [13:14:14.242] ...future.conditions[[length(...future.conditions) + [13:14:14.242] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:14.242] cond$call), session = sessionInformation(), [13:14:14.242] timestamp = base::Sys.time(), signaled = 0L) [13:14:14.242] signalCondition(cond) [13:14:14.242] } [13:14:14.242] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:14.242] "immediateCondition"))) { [13:14:14.242] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:14.242] ...future.conditions[[length(...future.conditions) + [13:14:14.242] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:14.242] if (TRUE && !signal) { [13:14:14.242] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.242] { [13:14:14.242] inherits <- base::inherits [13:14:14.242] invokeRestart <- base::invokeRestart [13:14:14.242] is.null <- base::is.null [13:14:14.242] muffled <- FALSE [13:14:14.242] if (inherits(cond, "message")) { [13:14:14.242] muffled <- grepl(pattern, "muffleMessage") [13:14:14.242] if (muffled) [13:14:14.242] invokeRestart("muffleMessage") [13:14:14.242] } [13:14:14.242] else if (inherits(cond, "warning")) { [13:14:14.242] muffled <- grepl(pattern, "muffleWarning") [13:14:14.242] if (muffled) [13:14:14.242] invokeRestart("muffleWarning") [13:14:14.242] } [13:14:14.242] else if (inherits(cond, "condition")) { [13:14:14.242] if (!is.null(pattern)) { [13:14:14.242] computeRestarts <- base::computeRestarts [13:14:14.242] grepl <- base::grepl [13:14:14.242] restarts <- computeRestarts(cond) [13:14:14.242] for (restart in restarts) { [13:14:14.242] name <- restart$name [13:14:14.242] if (is.null(name)) [13:14:14.242] next [13:14:14.242] if (!grepl(pattern, name)) [13:14:14.242] next [13:14:14.242] invokeRestart(restart) [13:14:14.242] muffled <- TRUE [13:14:14.242] break [13:14:14.242] } [13:14:14.242] } [13:14:14.242] } [13:14:14.242] invisible(muffled) [13:14:14.242] } [13:14:14.242] muffleCondition(cond, pattern = "^muffle") [13:14:14.242] } [13:14:14.242] } [13:14:14.242] else { [13:14:14.242] if (TRUE) { [13:14:14.242] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.242] { [13:14:14.242] inherits <- base::inherits [13:14:14.242] invokeRestart <- base::invokeRestart [13:14:14.242] is.null <- base::is.null [13:14:14.242] muffled <- FALSE [13:14:14.242] if (inherits(cond, "message")) { [13:14:14.242] muffled <- grepl(pattern, "muffleMessage") [13:14:14.242] if (muffled) [13:14:14.242] invokeRestart("muffleMessage") [13:14:14.242] } [13:14:14.242] else if (inherits(cond, "warning")) { [13:14:14.242] muffled <- grepl(pattern, "muffleWarning") [13:14:14.242] if (muffled) [13:14:14.242] invokeRestart("muffleWarning") [13:14:14.242] } [13:14:14.242] else if (inherits(cond, "condition")) { [13:14:14.242] if (!is.null(pattern)) { [13:14:14.242] computeRestarts <- base::computeRestarts [13:14:14.242] grepl <- base::grepl [13:14:14.242] restarts <- computeRestarts(cond) [13:14:14.242] for (restart in restarts) { [13:14:14.242] name <- restart$name [13:14:14.242] if (is.null(name)) [13:14:14.242] next [13:14:14.242] if (!grepl(pattern, name)) [13:14:14.242] next [13:14:14.242] invokeRestart(restart) [13:14:14.242] muffled <- TRUE [13:14:14.242] break [13:14:14.242] } [13:14:14.242] } [13:14:14.242] } [13:14:14.242] invisible(muffled) [13:14:14.242] } [13:14:14.242] muffleCondition(cond, pattern = "^muffle") [13:14:14.242] } [13:14:14.242] } [13:14:14.242] } [13:14:14.242] })) [13:14:14.242] }, error = function(ex) { [13:14:14.242] base::structure(base::list(value = NULL, visible = NULL, [13:14:14.242] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.242] ...future.rng), started = ...future.startTime, [13:14:14.242] finished = Sys.time(), session_uuid = NA_character_, [13:14:14.242] version = "1.8"), class = "FutureResult") [13:14:14.242] }, finally = { [13:14:14.242] if (!identical(...future.workdir, getwd())) [13:14:14.242] setwd(...future.workdir) [13:14:14.242] { [13:14:14.242] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:14.242] ...future.oldOptions$nwarnings <- NULL [13:14:14.242] } [13:14:14.242] base::options(...future.oldOptions) [13:14:14.242] if (.Platform$OS.type == "windows") { [13:14:14.242] old_names <- names(...future.oldEnvVars) [13:14:14.242] envs <- base::Sys.getenv() [13:14:14.242] names <- names(envs) [13:14:14.242] common <- intersect(names, old_names) [13:14:14.242] added <- setdiff(names, old_names) [13:14:14.242] removed <- setdiff(old_names, names) [13:14:14.242] changed <- common[...future.oldEnvVars[common] != [13:14:14.242] envs[common]] [13:14:14.242] NAMES <- toupper(changed) [13:14:14.242] args <- list() [13:14:14.242] for (kk in seq_along(NAMES)) { [13:14:14.242] name <- changed[[kk]] [13:14:14.242] NAME <- NAMES[[kk]] [13:14:14.242] if (name != NAME && is.element(NAME, old_names)) [13:14:14.242] next [13:14:14.242] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.242] } [13:14:14.242] NAMES <- toupper(added) [13:14:14.242] for (kk in seq_along(NAMES)) { [13:14:14.242] name <- added[[kk]] [13:14:14.242] NAME <- NAMES[[kk]] [13:14:14.242] if (name != NAME && is.element(NAME, old_names)) [13:14:14.242] next [13:14:14.242] args[[name]] <- "" [13:14:14.242] } [13:14:14.242] NAMES <- toupper(removed) [13:14:14.242] for (kk in seq_along(NAMES)) { [13:14:14.242] name <- removed[[kk]] [13:14:14.242] NAME <- NAMES[[kk]] [13:14:14.242] if (name != NAME && is.element(NAME, old_names)) [13:14:14.242] next [13:14:14.242] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.242] } [13:14:14.242] if (length(args) > 0) [13:14:14.242] base::do.call(base::Sys.setenv, args = args) [13:14:14.242] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:14.242] } [13:14:14.242] else { [13:14:14.242] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:14.242] } [13:14:14.242] { [13:14:14.242] if (base::length(...future.futureOptionsAdded) > [13:14:14.242] 0L) { [13:14:14.242] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:14.242] base::names(opts) <- ...future.futureOptionsAdded [13:14:14.242] base::options(opts) [13:14:14.242] } [13:14:14.242] { [13:14:14.242] { [13:14:14.242] base::options(mc.cores = ...future.mc.cores.old) [13:14:14.242] NULL [13:14:14.242] } [13:14:14.242] options(future.plan = NULL) [13:14:14.242] if (is.na(NA_character_)) [13:14:14.242] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.242] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:14.242] future::plan(list(function (..., workers = availableCores(), [13:14:14.242] lazy = FALSE, rscript_libs = .libPaths(), [13:14:14.242] envir = parent.frame()) [13:14:14.242] { [13:14:14.242] if (is.function(workers)) [13:14:14.242] workers <- workers() [13:14:14.242] workers <- structure(as.integer(workers), [13:14:14.242] class = class(workers)) [13:14:14.242] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:14.242] workers >= 1) [13:14:14.242] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:14.242] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:14.242] } [13:14:14.242] future <- MultisessionFuture(..., workers = workers, [13:14:14.242] lazy = lazy, rscript_libs = rscript_libs, [13:14:14.242] envir = envir) [13:14:14.242] if (!future$lazy) [13:14:14.242] future <- run(future) [13:14:14.242] invisible(future) [13:14:14.242] }), .cleanup = FALSE, .init = FALSE) [13:14:14.242] } [13:14:14.242] } [13:14:14.242] } [13:14:14.242] }) [13:14:14.242] if (TRUE) { [13:14:14.242] base::sink(type = "output", split = FALSE) [13:14:14.242] if (TRUE) { [13:14:14.242] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:14.242] } [13:14:14.242] else { [13:14:14.242] ...future.result["stdout"] <- base::list(NULL) [13:14:14.242] } [13:14:14.242] base::close(...future.stdout) [13:14:14.242] ...future.stdout <- NULL [13:14:14.242] } [13:14:14.242] ...future.result$conditions <- ...future.conditions [13:14:14.242] ...future.result$finished <- base::Sys.time() [13:14:14.242] ...future.result [13:14:14.242] } [13:14:14.248] Exporting 6 global objects (3.92 KiB) to cluster node #1 ... [13:14:14.248] Exporting '...future.FUN' (2.43 KiB) to cluster node #1 ... [13:14:14.249] Exporting '...future.FUN' (2.43 KiB) to cluster node #1 ... DONE [13:14:14.249] Exporting 'compute' (1.44 KiB) to cluster node #1 ... [13:14:14.249] Exporting 'compute' (1.44 KiB) to cluster node #1 ... DONE [13:14:14.250] Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... [13:14:14.250] Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE [13:14:14.250] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:14.251] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:14.251] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:14.251] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:14.251] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:14.252] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:14.252] Exporting 6 global objects (3.92 KiB) to cluster node #1 ... DONE [13:14:14.253] MultisessionFuture started [13:14:14.253] - Launch lazy future ... done [13:14:14.253] run() for 'MultisessionFuture' ... done [13:14:14.253] Created future: [13:14:14.269] receiveMessageFromWorker() for ClusterFuture ... [13:14:14.269] - Validating connection of MultisessionFuture [13:14:14.269] - received message: FutureResult [13:14:14.269] - Received FutureResult [13:14:14.269] - Erased future from FutureRegistry [13:14:14.270] result() for ClusterFuture ... [13:14:14.270] - result already collected: FutureResult [13:14:14.270] result() for ClusterFuture ... done [13:14:14.270] receiveMessageFromWorker() for ClusterFuture ... done [13:14:14.253] MultisessionFuture: [13:14:14.253] Label: 'future_sapply-1' [13:14:14.253] Expression: [13:14:14.253] { [13:14:14.253] do.call(function(...) { [13:14:14.253] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.253] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.253] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.253] on.exit(options(oopts), add = TRUE) [13:14:14.253] } [13:14:14.253] { [13:14:14.253] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.253] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.253] ...future.FUN(...future.X_jj) [13:14:14.253] }) [13:14:14.253] } [13:14:14.253] }, args = future.call.arguments) [13:14:14.253] } [13:14:14.253] Lazy evaluation: FALSE [13:14:14.253] Asynchronous evaluation: TRUE [13:14:14.253] Local evaluation: TRUE [13:14:14.253] Environment: 0x000002d955653308 [13:14:14.253] Capture standard output: TRUE [13:14:14.253] Capture condition classes: 'condition' (excluding 'nothing') [13:14:14.253] Globals: 6 objects totaling 3.98 KiB (function '...future.FUN' of 2.43 KiB, function 'compute' of 1.44 KiB, DotDotDotList 'future.call.arguments' of 56 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, ...) [13:14:14.253] Packages: [13:14:14.253] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:14.253] Resolved: TRUE [13:14:14.253] Value: [13:14:14.253] Conditions captured: [13:14:14.253] Early signaling: FALSE [13:14:14.253] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:14.253] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.270] Chunk #1 of 2 ... DONE [13:14:14.271] Chunk #2 of 2 ... [13:14:14.271] - Finding globals in 'X' for chunk #2 ... [13:14:14.271] getGlobalsAndPackages() ... [13:14:14.271] Searching for globals... [13:14:14.271] [13:14:14.272] Searching for globals ... DONE [13:14:14.272] - globals: [0] [13:14:14.272] getGlobalsAndPackages() ... DONE [13:14:14.272] + additional globals found: [n=0] [13:14:14.272] + additional namespaces needed: [n=0] [13:14:14.272] - Finding globals in 'X' for chunk #2 ... DONE [13:14:14.273] - Adjusted option 'future.globals.maxSize': 524288000 -> 2 * 524288000 = 1048576000 (bytes) [13:14:14.273] - seeds: [13:14:14.273] - All globals exported: [n=7] '...future.FUN', 'compute', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.273] getGlobalsAndPackages() ... [13:14:14.273] - globals passed as-is: [7] '...future.FUN', 'compute', 'future.call.arguments', '...', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.273] Resolving globals: FALSE [13:14:14.274] Tweak future expression to call with '...' arguments ... [13:14:14.274] - Detected 2 'future.call.arguments' global entries: [13:14:14.274] List of 2 [13:14:14.274] $ future.call.arguments:List of 1 [13:14:14.274] ..$ : int 0 [13:14:14.274] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.274] $ future.call.arguments: list() [13:14:14.274] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.274] - attr(*, "where")=List of 2 [13:14:14.274] ..$ future.call.arguments: [13:14:14.274] ..$ future.call.arguments: [13:14:14.274] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.274] - attr(*, "resolved")= logi FALSE [13:14:14.274] - attr(*, "total_size")= num 4016 [13:14:14.278] future.call.arguments future.call.arguments [13:14:14.278] 1 0 [13:14:14.278] - 'future.call.arguments' global entries: [13:14:14.279] List of 2 [13:14:14.279] $ future.call.arguments:List of 1 [13:14:14.279] ..$ : int 0 [13:14:14.279] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:14:14.279] $ ...future.elements_ii:List of 1 [13:14:14.279] ..$ : int 2 [13:14:14.279] - attr(*, "where")=List of 2 [13:14:14.279] ..$ future.call.arguments: [13:14:14.279] ..$ ...future.elements_ii: [13:14:14.279] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:14:14.279] - attr(*, "resolved")= logi FALSE [13:14:14.279] - attr(*, "total_size")= num 4016 [13:14:14.283] { [13:14:14.283] do.call(function(...) { [13:14:14.283] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.283] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.283] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.283] on.exit(options(oopts), add = TRUE) [13:14:14.283] } [13:14:14.283] { [13:14:14.283] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.283] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.283] ...future.FUN(...future.X_jj) [13:14:14.283] }) [13:14:14.283] } [13:14:14.283] }, args = future.call.arguments) [13:14:14.283] } [13:14:14.283] Tweak future expression to call with '...' arguments ... DONE [13:14:14.284] - globals: [6] '...future.FUN', 'compute', 'future.call.arguments', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:14:14.284] [13:14:14.284] getGlobalsAndPackages() ... DONE [13:14:14.284] run() for 'Future' ... [13:14:14.284] - state: 'created' [13:14:14.285] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:14:14.299] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.299] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:14:14.299] - Field: 'node' [13:14:14.300] - Field: 'label' [13:14:14.300] - Field: 'local' [13:14:14.300] - Field: 'owner' [13:14:14.300] - Field: 'envir' [13:14:14.300] - Field: 'workers' [13:14:14.300] - Field: 'packages' [13:14:14.301] - Field: 'gc' [13:14:14.301] - Field: 'conditions' [13:14:14.301] - Field: 'persistent' [13:14:14.301] - Field: 'expr' [13:14:14.301] - Field: 'uuid' [13:14:14.301] - Field: 'seed' [13:14:14.302] - Field: 'version' [13:14:14.302] - Field: 'result' [13:14:14.302] - Field: 'asynchronous' [13:14:14.302] - Field: 'calls' [13:14:14.302] - Field: 'globals' [13:14:14.303] - Field: 'stdout' [13:14:14.303] - Field: 'earlySignal' [13:14:14.303] - Field: 'lazy' [13:14:14.303] - Field: 'state' [13:14:14.303] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:14:14.303] - Launch lazy future ... [13:14:14.304] Packages needed by the future expression (n = 0): [13:14:14.304] Packages needed by future strategies (n = 0): [13:14:14.305] { [13:14:14.305] { [13:14:14.305] { [13:14:14.305] ...future.startTime <- base::Sys.time() [13:14:14.305] { [13:14:14.305] { [13:14:14.305] { [13:14:14.305] { [13:14:14.305] base::local({ [13:14:14.305] has_future <- base::requireNamespace("future", [13:14:14.305] quietly = TRUE) [13:14:14.305] if (has_future) { [13:14:14.305] ns <- base::getNamespace("future") [13:14:14.305] version <- ns[[".package"]][["version"]] [13:14:14.305] if (is.null(version)) [13:14:14.305] version <- utils::packageVersion("future") [13:14:14.305] } [13:14:14.305] else { [13:14:14.305] version <- NULL [13:14:14.305] } [13:14:14.305] if (!has_future || version < "1.8.0") { [13:14:14.305] info <- base::c(r_version = base::gsub("R version ", [13:14:14.305] "", base::R.version$version.string), [13:14:14.305] platform = base::sprintf("%s (%s-bit)", [13:14:14.305] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:14:14.305] os = base::paste(base::Sys.info()[base::c("sysname", [13:14:14.305] "release", "version")], collapse = " "), [13:14:14.305] hostname = base::Sys.info()[["nodename"]]) [13:14:14.305] info <- base::sprintf("%s: %s", base::names(info), [13:14:14.305] info) [13:14:14.305] info <- base::paste(info, collapse = "; ") [13:14:14.305] if (!has_future) { [13:14:14.305] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:14:14.305] info) [13:14:14.305] } [13:14:14.305] else { [13:14:14.305] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:14:14.305] info, version) [13:14:14.305] } [13:14:14.305] base::stop(msg) [13:14:14.305] } [13:14:14.305] }) [13:14:14.305] } [13:14:14.305] ...future.mc.cores.old <- base::getOption("mc.cores") [13:14:14.305] base::options(mc.cores = 1L) [13:14:14.305] } [13:14:14.305] options(future.plan = NULL) [13:14:14.305] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.305] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:14:14.305] } [13:14:14.305] ...future.workdir <- getwd() [13:14:14.305] } [13:14:14.305] ...future.oldOptions <- base::as.list(base::.Options) [13:14:14.305] ...future.oldEnvVars <- base::Sys.getenv() [13:14:14.305] } [13:14:14.305] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:14:14.305] future.globals.maxSize = 1048576000, future.globals.method = NULL, [13:14:14.305] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:14:14.305] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:14:14.305] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:14:14.305] future.stdout.windows.reencode = NULL, width = 80L) [13:14:14.305] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:14:14.305] base::names(...future.oldOptions)) [13:14:14.305] } [13:14:14.305] if (FALSE) { [13:14:14.305] } [13:14:14.305] else { [13:14:14.305] if (TRUE) { [13:14:14.305] ...future.stdout <- base::rawConnection(base::raw(0L), [13:14:14.305] open = "w") [13:14:14.305] } [13:14:14.305] else { [13:14:14.305] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:14:14.305] windows = "NUL", "/dev/null"), open = "w") [13:14:14.305] } [13:14:14.305] base::sink(...future.stdout, type = "output", split = FALSE) [13:14:14.305] base::on.exit(if (!base::is.null(...future.stdout)) { [13:14:14.305] base::sink(type = "output", split = FALSE) [13:14:14.305] base::close(...future.stdout) [13:14:14.305] }, add = TRUE) [13:14:14.305] } [13:14:14.305] ...future.frame <- base::sys.nframe() [13:14:14.305] ...future.conditions <- base::list() [13:14:14.305] ...future.rng <- base::globalenv()$.Random.seed [13:14:14.305] if (FALSE) { [13:14:14.305] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:14:14.305] "...future.value", "...future.globalenv.names", ".Random.seed") [13:14:14.305] } [13:14:14.305] ...future.result <- base::tryCatch({ [13:14:14.305] base::withCallingHandlers({ [13:14:14.305] ...future.value <- base::withVisible(base::local({ [13:14:14.305] ...future.makeSendCondition <- local({ [13:14:14.305] sendCondition <- NULL [13:14:14.305] function(frame = 1L) { [13:14:14.305] if (is.function(sendCondition)) [13:14:14.305] return(sendCondition) [13:14:14.305] ns <- getNamespace("parallel") [13:14:14.305] if (exists("sendData", mode = "function", [13:14:14.305] envir = ns)) { [13:14:14.305] parallel_sendData <- get("sendData", mode = "function", [13:14:14.305] envir = ns) [13:14:14.305] envir <- sys.frame(frame) [13:14:14.305] master <- NULL [13:14:14.305] while (!identical(envir, .GlobalEnv) && [13:14:14.305] !identical(envir, emptyenv())) { [13:14:14.305] if (exists("master", mode = "list", envir = envir, [13:14:14.305] inherits = FALSE)) { [13:14:14.305] master <- get("master", mode = "list", [13:14:14.305] envir = envir, inherits = FALSE) [13:14:14.305] if (inherits(master, c("SOCKnode", [13:14:14.305] "SOCK0node"))) { [13:14:14.305] sendCondition <<- function(cond) { [13:14:14.305] data <- list(type = "VALUE", value = cond, [13:14:14.305] success = TRUE) [13:14:14.305] parallel_sendData(master, data) [13:14:14.305] } [13:14:14.305] return(sendCondition) [13:14:14.305] } [13:14:14.305] } [13:14:14.305] frame <- frame + 1L [13:14:14.305] envir <- sys.frame(frame) [13:14:14.305] } [13:14:14.305] } [13:14:14.305] sendCondition <<- function(cond) NULL [13:14:14.305] } [13:14:14.305] }) [13:14:14.305] withCallingHandlers({ [13:14:14.305] { [13:14:14.305] do.call(function(...) { [13:14:14.305] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.305] if (!identical(...future.globals.maxSize.org, [13:14:14.305] ...future.globals.maxSize)) { [13:14:14.305] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.305] on.exit(options(oopts), add = TRUE) [13:14:14.305] } [13:14:14.305] { [13:14:14.305] lapply(seq_along(...future.elements_ii), [13:14:14.305] FUN = function(jj) { [13:14:14.305] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.305] ...future.FUN(...future.X_jj) [13:14:14.305] }) [13:14:14.305] } [13:14:14.305] }, args = future.call.arguments) [13:14:14.305] } [13:14:14.305] }, immediateCondition = function(cond) { [13:14:14.305] sendCondition <- ...future.makeSendCondition() [13:14:14.305] sendCondition(cond) [13:14:14.305] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.305] { [13:14:14.305] inherits <- base::inherits [13:14:14.305] invokeRestart <- base::invokeRestart [13:14:14.305] is.null <- base::is.null [13:14:14.305] muffled <- FALSE [13:14:14.305] if (inherits(cond, "message")) { [13:14:14.305] muffled <- grepl(pattern, "muffleMessage") [13:14:14.305] if (muffled) [13:14:14.305] invokeRestart("muffleMessage") [13:14:14.305] } [13:14:14.305] else if (inherits(cond, "warning")) { [13:14:14.305] muffled <- grepl(pattern, "muffleWarning") [13:14:14.305] if (muffled) [13:14:14.305] invokeRestart("muffleWarning") [13:14:14.305] } [13:14:14.305] else if (inherits(cond, "condition")) { [13:14:14.305] if (!is.null(pattern)) { [13:14:14.305] computeRestarts <- base::computeRestarts [13:14:14.305] grepl <- base::grepl [13:14:14.305] restarts <- computeRestarts(cond) [13:14:14.305] for (restart in restarts) { [13:14:14.305] name <- restart$name [13:14:14.305] if (is.null(name)) [13:14:14.305] next [13:14:14.305] if (!grepl(pattern, name)) [13:14:14.305] next [13:14:14.305] invokeRestart(restart) [13:14:14.305] muffled <- TRUE [13:14:14.305] break [13:14:14.305] } [13:14:14.305] } [13:14:14.305] } [13:14:14.305] invisible(muffled) [13:14:14.305] } [13:14:14.305] muffleCondition(cond) [13:14:14.305] }) [13:14:14.305] })) [13:14:14.305] future::FutureResult(value = ...future.value$value, [13:14:14.305] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.305] ...future.rng), globalenv = if (FALSE) [13:14:14.305] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:14:14.305] ...future.globalenv.names)) [13:14:14.305] else NULL, started = ...future.startTime, version = "1.8") [13:14:14.305] }, condition = base::local({ [13:14:14.305] c <- base::c [13:14:14.305] inherits <- base::inherits [13:14:14.305] invokeRestart <- base::invokeRestart [13:14:14.305] length <- base::length [13:14:14.305] list <- base::list [13:14:14.305] seq.int <- base::seq.int [13:14:14.305] signalCondition <- base::signalCondition [13:14:14.305] sys.calls <- base::sys.calls [13:14:14.305] `[[` <- base::`[[` [13:14:14.305] `+` <- base::`+` [13:14:14.305] `<<-` <- base::`<<-` [13:14:14.305] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:14:14.305] calls[seq.int(from = from + 12L, to = length(calls) - [13:14:14.305] 3L)] [13:14:14.305] } [13:14:14.305] function(cond) { [13:14:14.305] is_error <- inherits(cond, "error") [13:14:14.305] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:14:14.305] NULL) [13:14:14.305] if (is_error) { [13:14:14.305] sessionInformation <- function() { [13:14:14.305] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:14:14.305] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:14:14.305] search = base::search(), system = base::Sys.info()) [13:14:14.305] } [13:14:14.305] ...future.conditions[[length(...future.conditions) + [13:14:14.305] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:14:14.305] cond$call), session = sessionInformation(), [13:14:14.305] timestamp = base::Sys.time(), signaled = 0L) [13:14:14.305] signalCondition(cond) [13:14:14.305] } [13:14:14.305] else if (!ignore && TRUE && inherits(cond, c("condition", [13:14:14.305] "immediateCondition"))) { [13:14:14.305] signal <- TRUE && inherits(cond, "immediateCondition") [13:14:14.305] ...future.conditions[[length(...future.conditions) + [13:14:14.305] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:14:14.305] if (TRUE && !signal) { [13:14:14.305] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.305] { [13:14:14.305] inherits <- base::inherits [13:14:14.305] invokeRestart <- base::invokeRestart [13:14:14.305] is.null <- base::is.null [13:14:14.305] muffled <- FALSE [13:14:14.305] if (inherits(cond, "message")) { [13:14:14.305] muffled <- grepl(pattern, "muffleMessage") [13:14:14.305] if (muffled) [13:14:14.305] invokeRestart("muffleMessage") [13:14:14.305] } [13:14:14.305] else if (inherits(cond, "warning")) { [13:14:14.305] muffled <- grepl(pattern, "muffleWarning") [13:14:14.305] if (muffled) [13:14:14.305] invokeRestart("muffleWarning") [13:14:14.305] } [13:14:14.305] else if (inherits(cond, "condition")) { [13:14:14.305] if (!is.null(pattern)) { [13:14:14.305] computeRestarts <- base::computeRestarts [13:14:14.305] grepl <- base::grepl [13:14:14.305] restarts <- computeRestarts(cond) [13:14:14.305] for (restart in restarts) { [13:14:14.305] name <- restart$name [13:14:14.305] if (is.null(name)) [13:14:14.305] next [13:14:14.305] if (!grepl(pattern, name)) [13:14:14.305] next [13:14:14.305] invokeRestart(restart) [13:14:14.305] muffled <- TRUE [13:14:14.305] break [13:14:14.305] } [13:14:14.305] } [13:14:14.305] } [13:14:14.305] invisible(muffled) [13:14:14.305] } [13:14:14.305] muffleCondition(cond, pattern = "^muffle") [13:14:14.305] } [13:14:14.305] } [13:14:14.305] else { [13:14:14.305] if (TRUE) { [13:14:14.305] muffleCondition <- function (cond, pattern = "^muffle") [13:14:14.305] { [13:14:14.305] inherits <- base::inherits [13:14:14.305] invokeRestart <- base::invokeRestart [13:14:14.305] is.null <- base::is.null [13:14:14.305] muffled <- FALSE [13:14:14.305] if (inherits(cond, "message")) { [13:14:14.305] muffled <- grepl(pattern, "muffleMessage") [13:14:14.305] if (muffled) [13:14:14.305] invokeRestart("muffleMessage") [13:14:14.305] } [13:14:14.305] else if (inherits(cond, "warning")) { [13:14:14.305] muffled <- grepl(pattern, "muffleWarning") [13:14:14.305] if (muffled) [13:14:14.305] invokeRestart("muffleWarning") [13:14:14.305] } [13:14:14.305] else if (inherits(cond, "condition")) { [13:14:14.305] if (!is.null(pattern)) { [13:14:14.305] computeRestarts <- base::computeRestarts [13:14:14.305] grepl <- base::grepl [13:14:14.305] restarts <- computeRestarts(cond) [13:14:14.305] for (restart in restarts) { [13:14:14.305] name <- restart$name [13:14:14.305] if (is.null(name)) [13:14:14.305] next [13:14:14.305] if (!grepl(pattern, name)) [13:14:14.305] next [13:14:14.305] invokeRestart(restart) [13:14:14.305] muffled <- TRUE [13:14:14.305] break [13:14:14.305] } [13:14:14.305] } [13:14:14.305] } [13:14:14.305] invisible(muffled) [13:14:14.305] } [13:14:14.305] muffleCondition(cond, pattern = "^muffle") [13:14:14.305] } [13:14:14.305] } [13:14:14.305] } [13:14:14.305] })) [13:14:14.305] }, error = function(ex) { [13:14:14.305] base::structure(base::list(value = NULL, visible = NULL, [13:14:14.305] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:14:14.305] ...future.rng), started = ...future.startTime, [13:14:14.305] finished = Sys.time(), session_uuid = NA_character_, [13:14:14.305] version = "1.8"), class = "FutureResult") [13:14:14.305] }, finally = { [13:14:14.305] if (!identical(...future.workdir, getwd())) [13:14:14.305] setwd(...future.workdir) [13:14:14.305] { [13:14:14.305] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:14:14.305] ...future.oldOptions$nwarnings <- NULL [13:14:14.305] } [13:14:14.305] base::options(...future.oldOptions) [13:14:14.305] if (.Platform$OS.type == "windows") { [13:14:14.305] old_names <- names(...future.oldEnvVars) [13:14:14.305] envs <- base::Sys.getenv() [13:14:14.305] names <- names(envs) [13:14:14.305] common <- intersect(names, old_names) [13:14:14.305] added <- setdiff(names, old_names) [13:14:14.305] removed <- setdiff(old_names, names) [13:14:14.305] changed <- common[...future.oldEnvVars[common] != [13:14:14.305] envs[common]] [13:14:14.305] NAMES <- toupper(changed) [13:14:14.305] args <- list() [13:14:14.305] for (kk in seq_along(NAMES)) { [13:14:14.305] name <- changed[[kk]] [13:14:14.305] NAME <- NAMES[[kk]] [13:14:14.305] if (name != NAME && is.element(NAME, old_names)) [13:14:14.305] next [13:14:14.305] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.305] } [13:14:14.305] NAMES <- toupper(added) [13:14:14.305] for (kk in seq_along(NAMES)) { [13:14:14.305] name <- added[[kk]] [13:14:14.305] NAME <- NAMES[[kk]] [13:14:14.305] if (name != NAME && is.element(NAME, old_names)) [13:14:14.305] next [13:14:14.305] args[[name]] <- "" [13:14:14.305] } [13:14:14.305] NAMES <- toupper(removed) [13:14:14.305] for (kk in seq_along(NAMES)) { [13:14:14.305] name <- removed[[kk]] [13:14:14.305] NAME <- NAMES[[kk]] [13:14:14.305] if (name != NAME && is.element(NAME, old_names)) [13:14:14.305] next [13:14:14.305] args[[name]] <- ...future.oldEnvVars[[name]] [13:14:14.305] } [13:14:14.305] if (length(args) > 0) [13:14:14.305] base::do.call(base::Sys.setenv, args = args) [13:14:14.305] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:14:14.305] } [13:14:14.305] else { [13:14:14.305] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:14:14.305] } [13:14:14.305] { [13:14:14.305] if (base::length(...future.futureOptionsAdded) > [13:14:14.305] 0L) { [13:14:14.305] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:14:14.305] base::names(opts) <- ...future.futureOptionsAdded [13:14:14.305] base::options(opts) [13:14:14.305] } [13:14:14.305] { [13:14:14.305] { [13:14:14.305] base::options(mc.cores = ...future.mc.cores.old) [13:14:14.305] NULL [13:14:14.305] } [13:14:14.305] options(future.plan = NULL) [13:14:14.305] if (is.na(NA_character_)) [13:14:14.305] Sys.unsetenv("R_FUTURE_PLAN") [13:14:14.305] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:14:14.305] future::plan(list(function (..., workers = availableCores(), [13:14:14.305] lazy = FALSE, rscript_libs = .libPaths(), [13:14:14.305] envir = parent.frame()) [13:14:14.305] { [13:14:14.305] if (is.function(workers)) [13:14:14.305] workers <- workers() [13:14:14.305] workers <- structure(as.integer(workers), [13:14:14.305] class = class(workers)) [13:14:14.305] stop_if_not(length(workers) == 1, is.finite(workers), [13:14:14.305] workers >= 1) [13:14:14.305] if (workers == 1L && !inherits(workers, "AsIs")) { [13:14:14.305] return(sequential(..., lazy = TRUE, envir = envir)) [13:14:14.305] } [13:14:14.305] future <- MultisessionFuture(..., workers = workers, [13:14:14.305] lazy = lazy, rscript_libs = rscript_libs, [13:14:14.305] envir = envir) [13:14:14.305] if (!future$lazy) [13:14:14.305] future <- run(future) [13:14:14.305] invisible(future) [13:14:14.305] }), .cleanup = FALSE, .init = FALSE) [13:14:14.305] } [13:14:14.305] } [13:14:14.305] } [13:14:14.305] }) [13:14:14.305] if (TRUE) { [13:14:14.305] base::sink(type = "output", split = FALSE) [13:14:14.305] if (TRUE) { [13:14:14.305] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:14:14.305] } [13:14:14.305] else { [13:14:14.305] ...future.result["stdout"] <- base::list(NULL) [13:14:14.305] } [13:14:14.305] base::close(...future.stdout) [13:14:14.305] ...future.stdout <- NULL [13:14:14.305] } [13:14:14.305] ...future.result$conditions <- ...future.conditions [13:14:14.305] ...future.result$finished <- base::Sys.time() [13:14:14.305] ...future.result [13:14:14.305] } [13:14:14.310] Exporting 6 global objects (3.92 KiB) to cluster node #1 ... [13:14:14.310] Exporting '...future.FUN' (2.43 KiB) to cluster node #1 ... [13:14:14.311] Exporting '...future.FUN' (2.43 KiB) to cluster node #1 ... DONE [13:14:14.311] Exporting 'compute' (1.44 KiB) to cluster node #1 ... [13:14:14.311] Exporting 'compute' (1.44 KiB) to cluster node #1 ... DONE [13:14:14.312] Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... [13:14:14.312] Exporting 'future.call.arguments' (56 bytes) to cluster node #1 ... DONE [13:14:14.312] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:14:14.313] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:14:14.313] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:14:14.313] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:14:14.313] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... [13:14:14.314] Exporting '...future.globals.maxSize' (0 bytes) to cluster node #1 ... DONE [13:14:14.314] Exporting 6 global objects (3.92 KiB) to cluster node #1 ... DONE [13:14:14.315] MultisessionFuture started [13:14:14.315] - Launch lazy future ... done [13:14:14.315] run() for 'MultisessionFuture' ... done [13:14:14.315] Created future: [13:14:14.332] receiveMessageFromWorker() for ClusterFuture ... [13:14:14.332] - Validating connection of MultisessionFuture [13:14:14.332] - received message: FutureResult [13:14:14.339] - Received FutureResult [13:14:14.339] - Erased future from FutureRegistry [13:14:14.340] result() for ClusterFuture ... [13:14:14.340] - result already collected: FutureResult [13:14:14.340] result() for ClusterFuture ... done [13:14:14.340] receiveMessageFromWorker() for ClusterFuture ... done [13:14:14.316] MultisessionFuture: [13:14:14.316] Label: 'future_sapply-2' [13:14:14.316] Expression: [13:14:14.316] { [13:14:14.316] do.call(function(...) { [13:14:14.316] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:14:14.316] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:14:14.316] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:14:14.316] on.exit(options(oopts), add = TRUE) [13:14:14.316] } [13:14:14.316] { [13:14:14.316] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:14:14.316] ...future.X_jj <- ...future.elements_ii[[jj]] [13:14:14.316] ...future.FUN(...future.X_jj) [13:14:14.316] }) [13:14:14.316] } [13:14:14.316] }, args = future.call.arguments) [13:14:14.316] } [13:14:14.316] Lazy evaluation: FALSE [13:14:14.316] Asynchronous evaluation: TRUE [13:14:14.316] Local evaluation: TRUE [13:14:14.316] Environment: 0x000002d955653308 [13:14:14.316] Capture standard output: TRUE [13:14:14.316] Capture condition classes: 'condition' (excluding 'nothing') [13:14:14.316] Globals: 6 objects totaling 3.98 KiB (function '...future.FUN' of 2.43 KiB, function 'compute' of 1.44 KiB, DotDotDotList 'future.call.arguments' of 56 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, ...) [13:14:14.316] Packages: [13:14:14.316] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:14:14.316] Resolved: TRUE [13:14:14.316] Value: [13:14:14.316] Conditions captured: [13:14:14.316] Early signaling: FALSE [13:14:14.316] Owner process: dea0b98e-c41a-d41c-c03f-baa4ac0a0aeb [13:14:14.316] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:14:14.341] Chunk #2 of 2 ... DONE [13:14:14.341] Launching 2 futures (chunks) ... DONE [13:14:14.341] Resolving 2 futures (chunks) ... [13:14:14.341] resolve() on list ... [13:14:14.341] recursive: 0 [13:14:14.342] length: 2 [13:14:14.342] [13:14:14.342] Future #1 [13:14:14.342] result() for ClusterFuture ... [13:14:14.342] - result already collected: FutureResult [13:14:14.343] result() for ClusterFuture ... done [13:14:14.343] result() for ClusterFuture ... [13:14:14.343] - result already collected: FutureResult [13:14:14.343] result() for ClusterFuture ... done [13:14:14.343] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:14:14.343] - nx: 2 [13:14:14.344] - relay: TRUE [13:14:14.344] - stdout: TRUE [13:14:14.344] - signal: TRUE [13:14:14.344] - resignal: FALSE [13:14:14.344] - force: TRUE [13:14:14.344] - relayed: [n=2] FALSE, FALSE [13:14:14.345] - queued futures: [n=2] FALSE, FALSE [13:14:14.345] - until=1 [13:14:14.345] - relaying element #1 [13:14:14.345] result() for ClusterFuture ... [13:14:14.345] - result already collected: FutureResult [13:14:14.345] result() for ClusterFuture ... done [13:14:14.346] result() for ClusterFuture ... [13:14:14.346] - result already collected: FutureResult [13:14:14.346] result() for ClusterFuture ... done [13:14:14.346] result() for ClusterFuture ... [13:14:14.346] - result already collected: FutureResult [13:14:14.346] result() for ClusterFuture ... done [13:14:14.347] result() for ClusterFuture ... [13:14:14.347] - result already collected: FutureResult [13:14:14.347] result() for ClusterFuture ... done [13:14:14.347] - relayed: [n=2] TRUE, FALSE [13:14:14.347] - queued futures: [n=2] TRUE, FALSE [13:14:14.347] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:14:14.348] length: 1 (resolved future 1) [13:14:14.348] Future #2 [13:14:14.348] result() for ClusterFuture ... [13:14:14.348] - result already collected: FutureResult [13:14:14.348] result() for ClusterFuture ... done [13:14:14.348] result() for ClusterFuture ... [13:14:14.349] - result already collected: FutureResult [13:14:14.349] result() for ClusterFuture ... done [13:14:14.349] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:14:14.349] - nx: 2 [13:14:14.349] - relay: TRUE [13:14:14.349] - stdout: TRUE [13:14:14.350] - signal: TRUE [13:14:14.350] - resignal: FALSE [13:14:14.350] - force: TRUE [13:14:14.350] - relayed: [n=2] TRUE, FALSE [13:14:14.350] - queued futures: [n=2] TRUE, FALSE [13:14:14.350] - until=2 [13:14:14.350] - relaying element #2 [13:14:14.351] result() for ClusterFuture ... [13:14:14.351] - result already collected: FutureResult [13:14:14.351] result() for ClusterFuture ... done [13:14:14.351] result() for ClusterFuture ... [13:14:14.351] - result already collected: FutureResult [13:14:14.351] result() for ClusterFuture ... done [13:14:14.352] result() for ClusterFuture ... [13:14:14.352] - result already collected: FutureResult [13:14:14.352] result() for ClusterFuture ... done [13:14:14.352] result() for ClusterFuture ... [13:14:14.352] - result already collected: FutureResult [13:14:14.352] result() for ClusterFuture ... done [13:14:14.352] - relayed: [n=2] TRUE, TRUE [13:14:14.353] - queued futures: [n=2] TRUE, TRUE [13:14:14.353] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:14:14.353] length: 0 (resolved future 2) [13:14:14.353] Relaying remaining futures [13:14:14.353] signalConditionsASAP(NULL, pos=0) ... [13:14:14.353] - nx: 2 [13:14:14.354] - relay: TRUE [13:14:14.354] - stdout: TRUE [13:14:14.354] - signal: TRUE [13:14:14.354] - resignal: FALSE [13:14:14.354] - force: TRUE [13:14:14.354] - relayed: [n=2] TRUE, TRUE [13:14:14.354] - queued futures: [n=2] TRUE, TRUE - flush all [13:14:14.355] - relayed: [n=2] TRUE, TRUE [13:14:14.355] - queued futures: [n=2] TRUE, TRUE [13:14:14.355] signalConditionsASAP(NULL, pos=0) ... done [13:14:14.355] resolve() on list ... DONE [13:14:14.355] result() for ClusterFuture ... [13:14:14.355] - result already collected: FutureResult [13:14:14.356] result() for ClusterFuture ... done [13:14:14.356] result() for ClusterFuture ... [13:14:14.356] - result already collected: FutureResult [13:14:14.356] result() for ClusterFuture ... done [13:14:14.356] result() for ClusterFuture ... [13:14:14.356] - result already collected: FutureResult [13:14:14.357] result() for ClusterFuture ... done [13:14:14.357] result() for ClusterFuture ... [13:14:14.357] - result already collected: FutureResult [13:14:14.357] result() for ClusterFuture ... done [13:14:14.357] - Number of value chunks collected: 2 [13:14:14.357] Resolving 2 futures (chunks) ... DONE [13:14:14.358] Reducing values from 2 chunks ... [13:14:14.358] - Number of values collected after concatenation: 2 [13:14:14.358] - Number of values expected: 2 [13:14:14.358] Reducing values from 2 chunks ... DONE [13:14:14.358] future_lapply() ... DONE [1] 1 2 [13:14:14.358] plan(): Setting new future strategy stack: [13:14:14.359] List of future strategies: [13:14:14.359] 1. sequential: [13:14:14.359] - args: function (..., envir = parent.frame(), workers = "") [13:14:14.359] - tweaked: FALSE [13:14:14.359] - call: plan(sequential) [13:14:14.360] plan(): nbrOfWorkers() = 1 *** strategy = 'multisession' ... done > > message("*** future_sapply() ... DONE") *** future_sapply() ... DONE > > source("incl/end.R") [13:14:14.361] plan(): Setting new future strategy stack: [13:14:14.361] List of future strategies: [13:14:14.361] 1. FutureStrategy: [13:14:14.361] - args: function (..., envir = parent.frame(), workers = "") [13:14:14.361] - tweaked: FALSE [13:14:14.361] - call: future::plan(oplan) [13:14:14.362] plan(): nbrOfWorkers() = 1 > > proc.time() user system elapsed 11.32 0.37 14.51