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:13:10.318] plan(): Setting new future strategy stack: [13:13:10.319] List of future strategies: [13:13:10.319] 1. sequential: [13:13:10.319] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.319] - tweaked: FALSE [13:13:10.319] - call: future::plan("sequential") [13:13:10.335] plan(): nbrOfWorkers() = 1 > > message("*** future_apply() ...") *** future_apply() ... > > z0 <- NULL > > for (strategy in supportedStrategies()) { + message(sprintf("*** strategy = %s ...", sQuote(strategy))) + plan(strategy) + + message("- From example(apply) ...") + X <- matrix(c(1:4, 1, 6:8), nrow = 2L) + + Y0 <- apply(X, MARGIN = 1L, FUN = table) + Y1 <- future_apply(X, MARGIN = 1L, FUN = table) + print(Y1) + stopifnot(all.equal(Y1, Y0, check.attributes = FALSE)) ## FIXME + + Y2 <- future_apply(X, MARGIN = 1L, FUN = "table") + print(Y2) + stopifnot(identical(Y2, Y1)) + + Y0 <- apply(X, MARGIN = 1L, FUN = stats::quantile) + Y1 <- future_apply(X, MARGIN = 1L, FUN = stats::quantile) + print(Y1) + stopifnot(all.equal(Y1, Y0)) + + x <- cbind(x1 = 3, x2 = c(4:1, 2:5)) + names(dimnames(x)) <- c("row", "col") + x3 <- array(x, dim = c(dim(x), 3), + dimnames = c(dimnames(x), list(C = paste0("cop.", 1:3)))) + + y0 <- apply(x, MARGIN = 2L, FUN = identity) + stopifnot(identical(y0, x)) + y1 <- future_apply(x, MARGIN = 2L, FUN = identity) + print(y1) + stopifnot(identical(y1, y0)) + + y0 <- apply(x3, MARGIN = 2:3, FUN = identity) + stopifnot(identical(y0, x3)) + y1 <- future_apply(x3, MARGIN = 2:3, FUN = identity) + print(y1) + stopifnot(identical(y1, y0)) + + z <- array(1:24, dim = 2:4) + y0 <- apply(z, MARGIN = 1:2, FUN = function(x) seq_len(max(x))) + y1 <- future_apply(z, MARGIN = 1:2, FUN = function(x) seq_len(max(x))) + print(y1) + stopifnot(identical(y1, y0)) + + message("- apply(X, MARGIN = , ...) ...") + X <- matrix(1:2, nrow = 2L, ncol = 1L, dimnames = list(rows = c("a", "b"))) + y0 <- apply(X, MARGIN = "rows", FUN = identity) + y1 <- future_apply(X, MARGIN = "rows", FUN = identity) + print(y1) + stopifnot(identical(y1, y0)) + + message("- apply(X, ...) - dim(X) > 2 ...") + X <- array(1:12, dim = c(2, 2, 3)) + y0 <- apply(X, MARGIN = 1L, FUN = identity) + y1 <- future_apply(X, MARGIN = 1L, FUN = identity) + print(y1) + stopifnot(identical(y1, y0)) + + message("- apply(X, ...) - not all same names ...") + FUN <- function(x) { + if (x[1] == 1L) names(x) <- letters[seq_along(x)] + x + } + X <- matrix(1:4, nrow = 2L, ncol = 2L) + y0 <- apply(X, MARGIN = 1L, FUN = FUN) + y1 <- future_apply(X, MARGIN = 1L, FUN = FUN) + print(y1) + stopifnot(identical(y1, y0)) + + message("- example(future_apply) - reproducible RNG ...") + z1 <- future_apply(X, MARGIN = 1L, FUN = sample, + future.seed = 0xBEEF, + ## Test also all other 'future.*' arguments + future.stdout = TRUE, + future.conditions = NULL, + future.globals = TRUE, + future.packages = NULL, + future.scheduling = 1.0, + future.chunk.size = NULL, + future.label = "future_apply-%d" + ) + print(z1) + if (is.null(z0)) { + z0 <- z1 + } else { + stopifnot(identical(z1, z0)) + } + + plan(sequential) + message(sprintf("*** strategy = %s ... done", sQuote(strategy))) + } ## for (strategy in ...) *** strategy = 'sequential' ... [13:13:10.405] plan(): Setting new future strategy stack: [13:13:10.406] List of future strategies: [13:13:10.406] 1. sequential: [13:13:10.406] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.406] - tweaked: FALSE [13:13:10.406] - call: plan(strategy) [13:13:10.419] plan(): nbrOfWorkers() = 1 - From example(apply) ... [13:13:10.420] getGlobalsAndPackagesXApply() ... [13:13:10.420] - future.globals: TRUE [13:13:10.421] getGlobalsAndPackages() ... [13:13:10.421] Searching for globals... [13:13:10.477] - globals found: [59] 'FUN', 'if', '==', 'c', 'list.names', '{', '<-', '[', 'as.list', 'substitute', '-', '&&', 'length', 'is.list', '!', 'is.null', 'names', 'return', 'seq_along', 'vapply', 'switch', '+', 'is.symbol', 'as.character', 'deparse', '[<-', 'missing', 'match', 'match.arg', '!=', 'warning', 'list', '[[', 'paste', 'stop', 'integer', 'for', 'is.factor', 'anyNA', 'options', 'on.exit', 'factor', '(', '||', 'levels', 'as.integer', 'which', 'is.na', 'is.na<-', '>', 'prod', '$', '.Machine', '*', 'names<-', 'array', 'tabulate', 'class', 'class<-' [13:13:10.477] Searching for globals ... DONE [13:13:10.478] Resolving globals: FALSE [13:13:10.480] The total size of the 1 globals is 345.92 KiB (354224 bytes) [13:13:10.481] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(1, 2, 3, 4, 1, 6, 7, 8), dim = c(2L, 4L)))') is 345.92 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (345.92 KiB of class 'function') [13:13:10.481] - globals: [1] 'FUN' [13:13:10.481] [13:13:10.481] getGlobalsAndPackages() ... DONE [13:13:10.482] - globals found/used: [n=1] 'FUN' [13:13:10.482] - needed namespaces: [n=0] [13:13:10.482] Finding globals ... DONE [13:13:10.482] - use_args: TRUE [13:13:10.483] - Getting '...' globals ... [13:13:10.484] resolve() on list ... [13:13:10.484] recursive: 0 [13:13:10.484] length: 1 [13:13:10.484] elements: '...' [13:13:10.484] length: 0 (resolved future 1) [13:13:10.485] resolve() on list ... DONE [13:13:10.485] - '...' content: [n=0] [13:13:10.485] List of 1 [13:13:10.485] $ ...: list() [13:13:10.485] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.485] - attr(*, "where")=List of 1 [13:13:10.485] ..$ ...: [13:13:10.485] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.485] - attr(*, "resolved")= logi TRUE [13:13:10.485] - attr(*, "total_size")= num NA [13:13:10.491] - Getting '...' globals ... DONE [13:13:10.491] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:10.491] List of 2 [13:13:10.491] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:10.491] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:10.491] $ ... : list() [13:13:10.491] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.491] - attr(*, "where")=List of 2 [13:13:10.491] ..$ ...future.FUN: [13:13:10.491] ..$ ... : [13:13:10.491] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.491] - attr(*, "resolved")= logi FALSE [13:13:10.491] - attr(*, "total_size")= num 354224 [13:13:10.495] Packages to be attached in all futures: [n=0] [13:13:10.495] getGlobalsAndPackagesXApply() ... DONE [13:13:10.495] future_lapply() ... [13:13:10.542] Number of chunks: 1 [13:13:10.542] getGlobalsAndPackagesXApply() ... [13:13:10.542] - future.globals: with names 'list()' [13:13:10.542] - use_args: TRUE [13:13:10.543] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:10.543] List of 2 [13:13:10.543] $ ... : list() [13:13:10.543] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.543] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:10.543] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:10.543] - attr(*, "where")=List of 2 [13:13:10.543] ..$ ... : [13:13:10.543] ..$ ...future.FUN: [13:13:10.543] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.543] - attr(*, "resolved")= logi FALSE [13:13:10.543] - attr(*, "total_size")= num NA [13:13:10.547] Packages to be attached in all futures: [n=0] [13:13:10.547] getGlobalsAndPackagesXApply() ... DONE [13:13:10.547] Number of futures (= number of chunks): 1 [13:13:10.547] Launching 1 futures (chunks) ... [13:13:10.548] Chunk #1 of 1 ... [13:13:10.548] - seeds: [13:13:10.548] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.548] getGlobalsAndPackages() ... [13:13:10.549] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.549] Resolving globals: FALSE [13:13:10.549] Tweak future expression to call with '...' arguments ... [13:13:10.549] { [13:13:10.549] do.call(function(...) { [13:13:10.549] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.549] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.549] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.549] on.exit(options(oopts), add = TRUE) [13:13:10.549] } [13:13:10.549] { [13:13:10.549] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.549] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.549] ...future.FUN(...future.X_jj, ...) [13:13:10.549] }) [13:13:10.549] } [13:13:10.549] }, args = future.call.arguments) [13:13:10.549] } [13:13:10.550] Tweak future expression to call with '...' arguments ... DONE [13:13:10.550] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.550] [13:13:10.551] getGlobalsAndPackages() ... DONE [13:13:10.551] run() for 'Future' ... [13:13:10.552] - state: 'created' [13:13:10.552] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:10.552] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.553] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:10.554] - Field: 'label' [13:13:10.554] - Field: 'local' [13:13:10.554] - Field: 'owner' [13:13:10.554] - Field: 'envir' [13:13:10.554] - Field: 'packages' [13:13:10.555] - Field: 'gc' [13:13:10.555] - Field: 'conditions' [13:13:10.555] - Field: 'expr' [13:13:10.555] - Field: 'uuid' [13:13:10.555] - Field: 'seed' [13:13:10.555] - Field: 'version' [13:13:10.556] - Field: 'result' [13:13:10.556] - Field: 'asynchronous' [13:13:10.556] - Field: 'calls' [13:13:10.556] - Field: 'globals' [13:13:10.556] - Field: 'stdout' [13:13:10.556] - Field: 'earlySignal' [13:13:10.557] - Field: 'lazy' [13:13:10.557] - Field: 'state' [13:13:10.557] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:10.557] - Launch lazy future ... [13:13:10.558] Packages needed by the future expression (n = 0): [13:13:10.558] Packages needed by future strategies (n = 0): [13:13:10.559] { [13:13:10.559] { [13:13:10.559] { [13:13:10.559] ...future.startTime <- base::Sys.time() [13:13:10.559] { [13:13:10.559] { [13:13:10.559] { [13:13:10.559] base::local({ [13:13:10.559] has_future <- base::requireNamespace("future", [13:13:10.559] quietly = TRUE) [13:13:10.559] if (has_future) { [13:13:10.559] ns <- base::getNamespace("future") [13:13:10.559] version <- ns[[".package"]][["version"]] [13:13:10.559] if (is.null(version)) [13:13:10.559] version <- utils::packageVersion("future") [13:13:10.559] } [13:13:10.559] else { [13:13:10.559] version <- NULL [13:13:10.559] } [13:13:10.559] if (!has_future || version < "1.8.0") { [13:13:10.559] info <- base::c(r_version = base::gsub("R version ", [13:13:10.559] "", base::R.version$version.string), [13:13:10.559] platform = base::sprintf("%s (%s-bit)", [13:13:10.559] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:10.559] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:10.559] "release", "version")], collapse = " "), [13:13:10.559] hostname = base::Sys.info()[["nodename"]]) [13:13:10.559] info <- base::sprintf("%s: %s", base::names(info), [13:13:10.559] info) [13:13:10.559] info <- base::paste(info, collapse = "; ") [13:13:10.559] if (!has_future) { [13:13:10.559] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:10.559] info) [13:13:10.559] } [13:13:10.559] else { [13:13:10.559] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:10.559] info, version) [13:13:10.559] } [13:13:10.559] base::stop(msg) [13:13:10.559] } [13:13:10.559] }) [13:13:10.559] } [13:13:10.559] options(future.plan = NULL) [13:13:10.559] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.559] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:10.559] } [13:13:10.559] ...future.workdir <- getwd() [13:13:10.559] } [13:13:10.559] ...future.oldOptions <- base::as.list(base::.Options) [13:13:10.559] ...future.oldEnvVars <- base::Sys.getenv() [13:13:10.559] } [13:13:10.559] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:10.559] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:10.559] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:10.559] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:10.559] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:10.559] future.stdout.windows.reencode = NULL, width = 80L) [13:13:10.559] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:10.559] base::names(...future.oldOptions)) [13:13:10.559] } [13:13:10.559] if (FALSE) { [13:13:10.559] } [13:13:10.559] else { [13:13:10.559] if (TRUE) { [13:13:10.559] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:10.559] open = "w") [13:13:10.559] } [13:13:10.559] else { [13:13:10.559] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:10.559] windows = "NUL", "/dev/null"), open = "w") [13:13:10.559] } [13:13:10.559] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:10.559] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:10.559] base::sink(type = "output", split = FALSE) [13:13:10.559] base::close(...future.stdout) [13:13:10.559] }, add = TRUE) [13:13:10.559] } [13:13:10.559] ...future.frame <- base::sys.nframe() [13:13:10.559] ...future.conditions <- base::list() [13:13:10.559] ...future.rng <- base::globalenv()$.Random.seed [13:13:10.559] if (FALSE) { [13:13:10.559] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:10.559] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:10.559] } [13:13:10.559] ...future.result <- base::tryCatch({ [13:13:10.559] base::withCallingHandlers({ [13:13:10.559] ...future.value <- base::withVisible(base::local({ [13:13:10.559] do.call(function(...) { [13:13:10.559] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.559] if (!identical(...future.globals.maxSize.org, [13:13:10.559] ...future.globals.maxSize)) { [13:13:10.559] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.559] on.exit(options(oopts), add = TRUE) [13:13:10.559] } [13:13:10.559] { [13:13:10.559] lapply(seq_along(...future.elements_ii), [13:13:10.559] FUN = function(jj) { [13:13:10.559] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.559] ...future.FUN(...future.X_jj, ...) [13:13:10.559] }) [13:13:10.559] } [13:13:10.559] }, args = future.call.arguments) [13:13:10.559] })) [13:13:10.559] future::FutureResult(value = ...future.value$value, [13:13:10.559] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.559] ...future.rng), globalenv = if (FALSE) [13:13:10.559] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:10.559] ...future.globalenv.names)) [13:13:10.559] else NULL, started = ...future.startTime, version = "1.8") [13:13:10.559] }, condition = base::local({ [13:13:10.559] c <- base::c [13:13:10.559] inherits <- base::inherits [13:13:10.559] invokeRestart <- base::invokeRestart [13:13:10.559] length <- base::length [13:13:10.559] list <- base::list [13:13:10.559] seq.int <- base::seq.int [13:13:10.559] signalCondition <- base::signalCondition [13:13:10.559] sys.calls <- base::sys.calls [13:13:10.559] `[[` <- base::`[[` [13:13:10.559] `+` <- base::`+` [13:13:10.559] `<<-` <- base::`<<-` [13:13:10.559] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:10.559] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:10.559] 3L)] [13:13:10.559] } [13:13:10.559] function(cond) { [13:13:10.559] is_error <- inherits(cond, "error") [13:13:10.559] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:10.559] NULL) [13:13:10.559] if (is_error) { [13:13:10.559] sessionInformation <- function() { [13:13:10.559] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:10.559] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:10.559] search = base::search(), system = base::Sys.info()) [13:13:10.559] } [13:13:10.559] ...future.conditions[[length(...future.conditions) + [13:13:10.559] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:10.559] cond$call), session = sessionInformation(), [13:13:10.559] timestamp = base::Sys.time(), signaled = 0L) [13:13:10.559] signalCondition(cond) [13:13:10.559] } [13:13:10.559] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:10.559] "immediateCondition"))) { [13:13:10.559] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:10.559] ...future.conditions[[length(...future.conditions) + [13:13:10.559] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:10.559] if (TRUE && !signal) { [13:13:10.559] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.559] { [13:13:10.559] inherits <- base::inherits [13:13:10.559] invokeRestart <- base::invokeRestart [13:13:10.559] is.null <- base::is.null [13:13:10.559] muffled <- FALSE [13:13:10.559] if (inherits(cond, "message")) { [13:13:10.559] muffled <- grepl(pattern, "muffleMessage") [13:13:10.559] if (muffled) [13:13:10.559] invokeRestart("muffleMessage") [13:13:10.559] } [13:13:10.559] else if (inherits(cond, "warning")) { [13:13:10.559] muffled <- grepl(pattern, "muffleWarning") [13:13:10.559] if (muffled) [13:13:10.559] invokeRestart("muffleWarning") [13:13:10.559] } [13:13:10.559] else if (inherits(cond, "condition")) { [13:13:10.559] if (!is.null(pattern)) { [13:13:10.559] computeRestarts <- base::computeRestarts [13:13:10.559] grepl <- base::grepl [13:13:10.559] restarts <- computeRestarts(cond) [13:13:10.559] for (restart in restarts) { [13:13:10.559] name <- restart$name [13:13:10.559] if (is.null(name)) [13:13:10.559] next [13:13:10.559] if (!grepl(pattern, name)) [13:13:10.559] next [13:13:10.559] invokeRestart(restart) [13:13:10.559] muffled <- TRUE [13:13:10.559] break [13:13:10.559] } [13:13:10.559] } [13:13:10.559] } [13:13:10.559] invisible(muffled) [13:13:10.559] } [13:13:10.559] muffleCondition(cond, pattern = "^muffle") [13:13:10.559] } [13:13:10.559] } [13:13:10.559] else { [13:13:10.559] if (TRUE) { [13:13:10.559] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.559] { [13:13:10.559] inherits <- base::inherits [13:13:10.559] invokeRestart <- base::invokeRestart [13:13:10.559] is.null <- base::is.null [13:13:10.559] muffled <- FALSE [13:13:10.559] if (inherits(cond, "message")) { [13:13:10.559] muffled <- grepl(pattern, "muffleMessage") [13:13:10.559] if (muffled) [13:13:10.559] invokeRestart("muffleMessage") [13:13:10.559] } [13:13:10.559] else if (inherits(cond, "warning")) { [13:13:10.559] muffled <- grepl(pattern, "muffleWarning") [13:13:10.559] if (muffled) [13:13:10.559] invokeRestart("muffleWarning") [13:13:10.559] } [13:13:10.559] else if (inherits(cond, "condition")) { [13:13:10.559] if (!is.null(pattern)) { [13:13:10.559] computeRestarts <- base::computeRestarts [13:13:10.559] grepl <- base::grepl [13:13:10.559] restarts <- computeRestarts(cond) [13:13:10.559] for (restart in restarts) { [13:13:10.559] name <- restart$name [13:13:10.559] if (is.null(name)) [13:13:10.559] next [13:13:10.559] if (!grepl(pattern, name)) [13:13:10.559] next [13:13:10.559] invokeRestart(restart) [13:13:10.559] muffled <- TRUE [13:13:10.559] break [13:13:10.559] } [13:13:10.559] } [13:13:10.559] } [13:13:10.559] invisible(muffled) [13:13:10.559] } [13:13:10.559] muffleCondition(cond, pattern = "^muffle") [13:13:10.559] } [13:13:10.559] } [13:13:10.559] } [13:13:10.559] })) [13:13:10.559] }, error = function(ex) { [13:13:10.559] base::structure(base::list(value = NULL, visible = NULL, [13:13:10.559] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.559] ...future.rng), started = ...future.startTime, [13:13:10.559] finished = Sys.time(), session_uuid = NA_character_, [13:13:10.559] version = "1.8"), class = "FutureResult") [13:13:10.559] }, finally = { [13:13:10.559] if (!identical(...future.workdir, getwd())) [13:13:10.559] setwd(...future.workdir) [13:13:10.559] { [13:13:10.559] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:10.559] ...future.oldOptions$nwarnings <- NULL [13:13:10.559] } [13:13:10.559] base::options(...future.oldOptions) [13:13:10.559] if (.Platform$OS.type == "windows") { [13:13:10.559] old_names <- names(...future.oldEnvVars) [13:13:10.559] envs <- base::Sys.getenv() [13:13:10.559] names <- names(envs) [13:13:10.559] common <- intersect(names, old_names) [13:13:10.559] added <- setdiff(names, old_names) [13:13:10.559] removed <- setdiff(old_names, names) [13:13:10.559] changed <- common[...future.oldEnvVars[common] != [13:13:10.559] envs[common]] [13:13:10.559] NAMES <- toupper(changed) [13:13:10.559] args <- list() [13:13:10.559] for (kk in seq_along(NAMES)) { [13:13:10.559] name <- changed[[kk]] [13:13:10.559] NAME <- NAMES[[kk]] [13:13:10.559] if (name != NAME && is.element(NAME, old_names)) [13:13:10.559] next [13:13:10.559] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.559] } [13:13:10.559] NAMES <- toupper(added) [13:13:10.559] for (kk in seq_along(NAMES)) { [13:13:10.559] name <- added[[kk]] [13:13:10.559] NAME <- NAMES[[kk]] [13:13:10.559] if (name != NAME && is.element(NAME, old_names)) [13:13:10.559] next [13:13:10.559] args[[name]] <- "" [13:13:10.559] } [13:13:10.559] NAMES <- toupper(removed) [13:13:10.559] for (kk in seq_along(NAMES)) { [13:13:10.559] name <- removed[[kk]] [13:13:10.559] NAME <- NAMES[[kk]] [13:13:10.559] if (name != NAME && is.element(NAME, old_names)) [13:13:10.559] next [13:13:10.559] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.559] } [13:13:10.559] if (length(args) > 0) [13:13:10.559] base::do.call(base::Sys.setenv, args = args) [13:13:10.559] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:10.559] } [13:13:10.559] else { [13:13:10.559] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:10.559] } [13:13:10.559] { [13:13:10.559] if (base::length(...future.futureOptionsAdded) > [13:13:10.559] 0L) { [13:13:10.559] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:10.559] base::names(opts) <- ...future.futureOptionsAdded [13:13:10.559] base::options(opts) [13:13:10.559] } [13:13:10.559] { [13:13:10.559] { [13:13:10.559] NULL [13:13:10.559] RNGkind("Mersenne-Twister") [13:13:10.559] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:10.559] inherits = FALSE) [13:13:10.559] } [13:13:10.559] options(future.plan = NULL) [13:13:10.559] if (is.na(NA_character_)) [13:13:10.559] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.559] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:10.559] future::plan(list(function (..., envir = parent.frame()) [13:13:10.559] { [13:13:10.559] future <- SequentialFuture(..., envir = envir) [13:13:10.559] if (!future$lazy) [13:13:10.559] future <- run(future) [13:13:10.559] invisible(future) [13:13:10.559] }), .cleanup = FALSE, .init = FALSE) [13:13:10.559] } [13:13:10.559] } [13:13:10.559] } [13:13:10.559] }) [13:13:10.559] if (TRUE) { [13:13:10.559] base::sink(type = "output", split = FALSE) [13:13:10.559] if (TRUE) { [13:13:10.559] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:10.559] } [13:13:10.559] else { [13:13:10.559] ...future.result["stdout"] <- base::list(NULL) [13:13:10.559] } [13:13:10.559] base::close(...future.stdout) [13:13:10.559] ...future.stdout <- NULL [13:13:10.559] } [13:13:10.559] ...future.result$conditions <- ...future.conditions [13:13:10.559] ...future.result$finished <- base::Sys.time() [13:13:10.559] ...future.result [13:13:10.559] } [13:13:10.564] assign_globals() ... [13:13:10.564] List of 5 [13:13:10.564] $ future.call.arguments : list() [13:13:10.564] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.564] $ ...future.FUN :function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:10.564] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:10.564] $ ...future.elements_ii :List of 2 [13:13:10.564] ..$ : num [1:4] 1 3 1 7 [13:13:10.564] ..$ : num [1:4] 2 4 6 8 [13:13:10.564] $ ...future.seeds_ii : NULL [13:13:10.564] $ ...future.globals.maxSize: num Inf [13:13:10.564] - attr(*, "resolved")= logi FALSE [13:13:10.564] - attr(*, "total_size")= num NA [13:13:10.564] - attr(*, "where")=List of 5 [13:13:10.564] ..$ future.call.arguments : [13:13:10.564] ..$ ...future.FUN : [13:13:10.564] ..$ ...future.elements_ii : [13:13:10.564] ..$ ...future.seeds_ii : [13:13:10.564] ..$ ...future.globals.maxSize: [13:13:10.564] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.564] - attr(*, "already-done")= logi TRUE [13:13:10.570] - copied 'future.call.arguments' to environment [13:13:10.570] - copied '...future.FUN' to environment [13:13:10.570] - copied '...future.elements_ii' to environment [13:13:10.571] - copied '...future.seeds_ii' to environment [13:13:10.571] - copied '...future.globals.maxSize' to environment [13:13:10.571] assign_globals() ... done [13:13:10.571] plan(): Setting new future strategy stack: [13:13:10.572] List of future strategies: [13:13:10.572] 1. sequential: [13:13:10.572] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.572] - tweaked: FALSE [13:13:10.572] - call: NULL [13:13:10.572] plan(): nbrOfWorkers() = 1 [13:13:10.575] plan(): Setting new future strategy stack: [13:13:10.575] List of future strategies: [13:13:10.575] 1. sequential: [13:13:10.575] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.575] - tweaked: FALSE [13:13:10.575] - call: plan(strategy) [13:13:10.575] plan(): nbrOfWorkers() = 1 [13:13:10.576] SequentialFuture started (and completed) [13:13:10.576] - Launch lazy future ... done [13:13:10.577] run() for 'SequentialFuture' ... done [13:13:10.577] Created future: [13:13:10.577] SequentialFuture: [13:13:10.577] Label: 'future_apply-1' [13:13:10.577] Expression: [13:13:10.577] { [13:13:10.577] do.call(function(...) { [13:13:10.577] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.577] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.577] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.577] on.exit(options(oopts), add = TRUE) [13:13:10.577] } [13:13:10.577] { [13:13:10.577] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.577] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.577] ...future.FUN(...future.X_jj, ...) [13:13:10.577] }) [13:13:10.577] } [13:13:10.577] }, args = future.call.arguments) [13:13:10.577] } [13:13:10.577] Lazy evaluation: FALSE [13:13:10.577] Asynchronous evaluation: FALSE [13:13:10.577] Local evaluation: TRUE [13:13:10.577] Environment: R_GlobalEnv [13:13:10.577] Capture standard output: TRUE [13:13:10.577] Capture condition classes: 'condition' (excluding 'nothing') [13:13:10.577] Globals: 5 objects totaling 346.13 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 345.92 KiB, list '...future.elements_ii' of 160 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:10.577] Packages: [13:13:10.577] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:10.577] Resolved: TRUE [13:13:10.577] Value: 2.21 KiB of class 'list' [13:13:10.577] Early signaling: FALSE [13:13:10.577] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:10.577] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.579] Chunk #1 of 1 ... DONE [13:13:10.579] Launching 1 futures (chunks) ... DONE [13:13:10.579] Resolving 1 futures (chunks) ... [13:13:10.580] resolve() on list ... [13:13:10.580] recursive: 0 [13:13:10.580] length: 1 [13:13:10.580] [13:13:10.580] resolved() for 'SequentialFuture' ... [13:13:10.580] - state: 'finished' [13:13:10.581] - run: TRUE [13:13:10.581] - result: 'FutureResult' [13:13:10.581] resolved() for 'SequentialFuture' ... done [13:13:10.581] Future #1 [13:13:10.582] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:10.582] - nx: 1 [13:13:10.582] - relay: TRUE [13:13:10.582] - stdout: TRUE [13:13:10.582] - signal: TRUE [13:13:10.583] - resignal: FALSE [13:13:10.583] - force: TRUE [13:13:10.583] - relayed: [n=1] FALSE [13:13:10.583] - queued futures: [n=1] FALSE [13:13:10.583] - until=1 [13:13:10.583] - relaying element #1 [13:13:10.584] - relayed: [n=1] TRUE [13:13:10.584] - queued futures: [n=1] TRUE [13:13:10.584] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:10.584] length: 0 (resolved future 1) [13:13:10.584] Relaying remaining futures [13:13:10.585] signalConditionsASAP(NULL, pos=0) ... [13:13:10.585] - nx: 1 [13:13:10.585] - relay: TRUE [13:13:10.585] - stdout: TRUE [13:13:10.585] - signal: TRUE [13:13:10.585] - resignal: FALSE [13:13:10.585] - force: TRUE [13:13:10.586] - relayed: [n=1] TRUE [13:13:10.586] - queued futures: [n=1] TRUE - flush all [13:13:10.586] - relayed: [n=1] TRUE [13:13:10.586] - queued futures: [n=1] TRUE [13:13:10.586] signalConditionsASAP(NULL, pos=0) ... done [13:13:10.586] resolve() on list ... DONE [13:13:10.587] - Number of value chunks collected: 1 [13:13:10.587] Resolving 1 futures (chunks) ... DONE [13:13:10.587] Reducing values from 1 chunks ... [13:13:10.587] - Number of values collected after concatenation: 2 [13:13:10.587] - Number of values expected: 2 [13:13:10.588] Reducing values from 1 chunks ... DONE [13:13:10.588] future_lapply() ... DONE [[1]] ...future.X_jj 1 3 7 2 1 1 [[2]] ...future.X_jj 2 4 6 8 1 1 1 1 [13:13:10.590] getGlobalsAndPackagesXApply() ... [13:13:10.590] - future.globals: TRUE [13:13:10.590] getGlobalsAndPackages() ... [13:13:10.590] Searching for globals... [13:13:10.637] - globals found: [59] 'FUN', 'if', '==', 'c', 'list.names', '{', '<-', '[', 'as.list', 'substitute', '-', '&&', 'length', 'is.list', '!', 'is.null', 'names', 'return', 'seq_along', 'vapply', 'switch', '+', 'is.symbol', 'as.character', 'deparse', '[<-', 'missing', 'match', 'match.arg', '!=', 'warning', 'list', '[[', 'paste', 'stop', 'integer', 'for', 'is.factor', 'anyNA', 'options', 'on.exit', 'factor', '(', '||', 'levels', 'as.integer', 'which', 'is.na', 'is.na<-', '>', 'prod', '$', '.Machine', '*', 'names<-', 'array', 'tabulate', 'class', 'class<-' [13:13:10.637] Searching for globals ... DONE [13:13:10.637] Resolving globals: FALSE [13:13:10.639] The total size of the 1 globals is 345.92 KiB (354224 bytes) [13:13:10.640] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(1, 2, 3, 4, 1, 6, 7, 8), dim = c(2L, 4L)))') is 345.92 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (345.92 KiB of class 'function') [13:13:10.640] - globals: [1] 'FUN' [13:13:10.640] [13:13:10.640] getGlobalsAndPackages() ... DONE [13:13:10.641] - globals found/used: [n=1] 'FUN' [13:13:10.641] - needed namespaces: [n=0] [13:13:10.641] Finding globals ... DONE [13:13:10.641] - use_args: TRUE [13:13:10.641] - Getting '...' globals ... [13:13:10.642] resolve() on list ... [13:13:10.642] recursive: 0 [13:13:10.642] length: 1 [13:13:10.642] elements: '...' [13:13:10.642] length: 0 (resolved future 1) [13:13:10.642] resolve() on list ... DONE [13:13:10.643] - '...' content: [n=0] [13:13:10.643] List of 1 [13:13:10.643] $ ...: list() [13:13:10.643] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.643] - attr(*, "where")=List of 1 [13:13:10.643] ..$ ...: [13:13:10.643] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.643] - attr(*, "resolved")= logi TRUE [13:13:10.643] - attr(*, "total_size")= num NA [13:13:10.646] - Getting '...' globals ... DONE [13:13:10.646] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:10.646] List of 2 [13:13:10.646] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:10.646] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:10.646] $ ... : list() [13:13:10.646] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.646] - attr(*, "where")=List of 2 [13:13:10.646] ..$ ...future.FUN: [13:13:10.646] ..$ ... : [13:13:10.646] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.646] - attr(*, "resolved")= logi FALSE [13:13:10.646] - attr(*, "total_size")= num 354224 [13:13:10.649] Packages to be attached in all futures: [n=0] [13:13:10.650] getGlobalsAndPackagesXApply() ... DONE [13:13:10.651] future_lapply() ... [13:13:10.695] Number of chunks: 1 [13:13:10.695] getGlobalsAndPackagesXApply() ... [13:13:10.695] - future.globals: with names 'list()' [13:13:10.695] - use_args: TRUE [13:13:10.695] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:10.696] List of 2 [13:13:10.696] $ ... : list() [13:13:10.696] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.696] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:10.696] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:10.696] - attr(*, "where")=List of 2 [13:13:10.696] ..$ ... : [13:13:10.696] ..$ ...future.FUN: [13:13:10.696] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.696] - attr(*, "resolved")= logi FALSE [13:13:10.696] - attr(*, "total_size")= num NA [13:13:10.699] Packages to be attached in all futures: [n=0] [13:13:10.700] getGlobalsAndPackagesXApply() ... DONE [13:13:10.700] Number of futures (= number of chunks): 1 [13:13:10.700] Launching 1 futures (chunks) ... [13:13:10.700] Chunk #1 of 1 ... [13:13:10.700] - seeds: [13:13:10.701] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.701] getGlobalsAndPackages() ... [13:13:10.701] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.701] Resolving globals: FALSE [13:13:10.701] Tweak future expression to call with '...' arguments ... [13:13:10.701] { [13:13:10.701] do.call(function(...) { [13:13:10.701] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.701] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.701] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.701] on.exit(options(oopts), add = TRUE) [13:13:10.701] } [13:13:10.701] { [13:13:10.701] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.701] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.701] ...future.FUN(...future.X_jj, ...) [13:13:10.701] }) [13:13:10.701] } [13:13:10.701] }, args = future.call.arguments) [13:13:10.701] } [13:13:10.702] Tweak future expression to call with '...' arguments ... DONE [13:13:10.703] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.703] [13:13:10.703] getGlobalsAndPackages() ... DONE [13:13:10.703] run() for 'Future' ... [13:13:10.704] - state: 'created' [13:13:10.704] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:10.704] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.704] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:10.705] - Field: 'label' [13:13:10.705] - Field: 'local' [13:13:10.705] - Field: 'owner' [13:13:10.705] - Field: 'envir' [13:13:10.705] - Field: 'packages' [13:13:10.705] - Field: 'gc' [13:13:10.706] - Field: 'conditions' [13:13:10.706] - Field: 'expr' [13:13:10.706] - Field: 'uuid' [13:13:10.706] - Field: 'seed' [13:13:10.706] - Field: 'version' [13:13:10.707] - Field: 'result' [13:13:10.707] - Field: 'asynchronous' [13:13:10.707] - Field: 'calls' [13:13:10.707] - Field: 'globals' [13:13:10.707] - Field: 'stdout' [13:13:10.707] - Field: 'earlySignal' [13:13:10.708] - Field: 'lazy' [13:13:10.708] - Field: 'state' [13:13:10.708] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:10.708] - Launch lazy future ... [13:13:10.708] Packages needed by the future expression (n = 0): [13:13:10.708] Packages needed by future strategies (n = 0): [13:13:10.709] { [13:13:10.709] { [13:13:10.709] { [13:13:10.709] ...future.startTime <- base::Sys.time() [13:13:10.709] { [13:13:10.709] { [13:13:10.709] { [13:13:10.709] base::local({ [13:13:10.709] has_future <- base::requireNamespace("future", [13:13:10.709] quietly = TRUE) [13:13:10.709] if (has_future) { [13:13:10.709] ns <- base::getNamespace("future") [13:13:10.709] version <- ns[[".package"]][["version"]] [13:13:10.709] if (is.null(version)) [13:13:10.709] version <- utils::packageVersion("future") [13:13:10.709] } [13:13:10.709] else { [13:13:10.709] version <- NULL [13:13:10.709] } [13:13:10.709] if (!has_future || version < "1.8.0") { [13:13:10.709] info <- base::c(r_version = base::gsub("R version ", [13:13:10.709] "", base::R.version$version.string), [13:13:10.709] platform = base::sprintf("%s (%s-bit)", [13:13:10.709] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:10.709] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:10.709] "release", "version")], collapse = " "), [13:13:10.709] hostname = base::Sys.info()[["nodename"]]) [13:13:10.709] info <- base::sprintf("%s: %s", base::names(info), [13:13:10.709] info) [13:13:10.709] info <- base::paste(info, collapse = "; ") [13:13:10.709] if (!has_future) { [13:13:10.709] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:10.709] info) [13:13:10.709] } [13:13:10.709] else { [13:13:10.709] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:10.709] info, version) [13:13:10.709] } [13:13:10.709] base::stop(msg) [13:13:10.709] } [13:13:10.709] }) [13:13:10.709] } [13:13:10.709] options(future.plan = NULL) [13:13:10.709] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.709] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:10.709] } [13:13:10.709] ...future.workdir <- getwd() [13:13:10.709] } [13:13:10.709] ...future.oldOptions <- base::as.list(base::.Options) [13:13:10.709] ...future.oldEnvVars <- base::Sys.getenv() [13:13:10.709] } [13:13:10.709] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:10.709] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:10.709] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:10.709] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:10.709] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:10.709] future.stdout.windows.reencode = NULL, width = 80L) [13:13:10.709] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:10.709] base::names(...future.oldOptions)) [13:13:10.709] } [13:13:10.709] if (FALSE) { [13:13:10.709] } [13:13:10.709] else { [13:13:10.709] if (TRUE) { [13:13:10.709] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:10.709] open = "w") [13:13:10.709] } [13:13:10.709] else { [13:13:10.709] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:10.709] windows = "NUL", "/dev/null"), open = "w") [13:13:10.709] } [13:13:10.709] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:10.709] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:10.709] base::sink(type = "output", split = FALSE) [13:13:10.709] base::close(...future.stdout) [13:13:10.709] }, add = TRUE) [13:13:10.709] } [13:13:10.709] ...future.frame <- base::sys.nframe() [13:13:10.709] ...future.conditions <- base::list() [13:13:10.709] ...future.rng <- base::globalenv()$.Random.seed [13:13:10.709] if (FALSE) { [13:13:10.709] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:10.709] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:10.709] } [13:13:10.709] ...future.result <- base::tryCatch({ [13:13:10.709] base::withCallingHandlers({ [13:13:10.709] ...future.value <- base::withVisible(base::local({ [13:13:10.709] do.call(function(...) { [13:13:10.709] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.709] if (!identical(...future.globals.maxSize.org, [13:13:10.709] ...future.globals.maxSize)) { [13:13:10.709] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.709] on.exit(options(oopts), add = TRUE) [13:13:10.709] } [13:13:10.709] { [13:13:10.709] lapply(seq_along(...future.elements_ii), [13:13:10.709] FUN = function(jj) { [13:13:10.709] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.709] ...future.FUN(...future.X_jj, ...) [13:13:10.709] }) [13:13:10.709] } [13:13:10.709] }, args = future.call.arguments) [13:13:10.709] })) [13:13:10.709] future::FutureResult(value = ...future.value$value, [13:13:10.709] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.709] ...future.rng), globalenv = if (FALSE) [13:13:10.709] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:10.709] ...future.globalenv.names)) [13:13:10.709] else NULL, started = ...future.startTime, version = "1.8") [13:13:10.709] }, condition = base::local({ [13:13:10.709] c <- base::c [13:13:10.709] inherits <- base::inherits [13:13:10.709] invokeRestart <- base::invokeRestart [13:13:10.709] length <- base::length [13:13:10.709] list <- base::list [13:13:10.709] seq.int <- base::seq.int [13:13:10.709] signalCondition <- base::signalCondition [13:13:10.709] sys.calls <- base::sys.calls [13:13:10.709] `[[` <- base::`[[` [13:13:10.709] `+` <- base::`+` [13:13:10.709] `<<-` <- base::`<<-` [13:13:10.709] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:10.709] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:10.709] 3L)] [13:13:10.709] } [13:13:10.709] function(cond) { [13:13:10.709] is_error <- inherits(cond, "error") [13:13:10.709] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:10.709] NULL) [13:13:10.709] if (is_error) { [13:13:10.709] sessionInformation <- function() { [13:13:10.709] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:10.709] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:10.709] search = base::search(), system = base::Sys.info()) [13:13:10.709] } [13:13:10.709] ...future.conditions[[length(...future.conditions) + [13:13:10.709] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:10.709] cond$call), session = sessionInformation(), [13:13:10.709] timestamp = base::Sys.time(), signaled = 0L) [13:13:10.709] signalCondition(cond) [13:13:10.709] } [13:13:10.709] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:10.709] "immediateCondition"))) { [13:13:10.709] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:10.709] ...future.conditions[[length(...future.conditions) + [13:13:10.709] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:10.709] if (TRUE && !signal) { [13:13:10.709] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.709] { [13:13:10.709] inherits <- base::inherits [13:13:10.709] invokeRestart <- base::invokeRestart [13:13:10.709] is.null <- base::is.null [13:13:10.709] muffled <- FALSE [13:13:10.709] if (inherits(cond, "message")) { [13:13:10.709] muffled <- grepl(pattern, "muffleMessage") [13:13:10.709] if (muffled) [13:13:10.709] invokeRestart("muffleMessage") [13:13:10.709] } [13:13:10.709] else if (inherits(cond, "warning")) { [13:13:10.709] muffled <- grepl(pattern, "muffleWarning") [13:13:10.709] if (muffled) [13:13:10.709] invokeRestart("muffleWarning") [13:13:10.709] } [13:13:10.709] else if (inherits(cond, "condition")) { [13:13:10.709] if (!is.null(pattern)) { [13:13:10.709] computeRestarts <- base::computeRestarts [13:13:10.709] grepl <- base::grepl [13:13:10.709] restarts <- computeRestarts(cond) [13:13:10.709] for (restart in restarts) { [13:13:10.709] name <- restart$name [13:13:10.709] if (is.null(name)) [13:13:10.709] next [13:13:10.709] if (!grepl(pattern, name)) [13:13:10.709] next [13:13:10.709] invokeRestart(restart) [13:13:10.709] muffled <- TRUE [13:13:10.709] break [13:13:10.709] } [13:13:10.709] } [13:13:10.709] } [13:13:10.709] invisible(muffled) [13:13:10.709] } [13:13:10.709] muffleCondition(cond, pattern = "^muffle") [13:13:10.709] } [13:13:10.709] } [13:13:10.709] else { [13:13:10.709] if (TRUE) { [13:13:10.709] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.709] { [13:13:10.709] inherits <- base::inherits [13:13:10.709] invokeRestart <- base::invokeRestart [13:13:10.709] is.null <- base::is.null [13:13:10.709] muffled <- FALSE [13:13:10.709] if (inherits(cond, "message")) { [13:13:10.709] muffled <- grepl(pattern, "muffleMessage") [13:13:10.709] if (muffled) [13:13:10.709] invokeRestart("muffleMessage") [13:13:10.709] } [13:13:10.709] else if (inherits(cond, "warning")) { [13:13:10.709] muffled <- grepl(pattern, "muffleWarning") [13:13:10.709] if (muffled) [13:13:10.709] invokeRestart("muffleWarning") [13:13:10.709] } [13:13:10.709] else if (inherits(cond, "condition")) { [13:13:10.709] if (!is.null(pattern)) { [13:13:10.709] computeRestarts <- base::computeRestarts [13:13:10.709] grepl <- base::grepl [13:13:10.709] restarts <- computeRestarts(cond) [13:13:10.709] for (restart in restarts) { [13:13:10.709] name <- restart$name [13:13:10.709] if (is.null(name)) [13:13:10.709] next [13:13:10.709] if (!grepl(pattern, name)) [13:13:10.709] next [13:13:10.709] invokeRestart(restart) [13:13:10.709] muffled <- TRUE [13:13:10.709] break [13:13:10.709] } [13:13:10.709] } [13:13:10.709] } [13:13:10.709] invisible(muffled) [13:13:10.709] } [13:13:10.709] muffleCondition(cond, pattern = "^muffle") [13:13:10.709] } [13:13:10.709] } [13:13:10.709] } [13:13:10.709] })) [13:13:10.709] }, error = function(ex) { [13:13:10.709] base::structure(base::list(value = NULL, visible = NULL, [13:13:10.709] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.709] ...future.rng), started = ...future.startTime, [13:13:10.709] finished = Sys.time(), session_uuid = NA_character_, [13:13:10.709] version = "1.8"), class = "FutureResult") [13:13:10.709] }, finally = { [13:13:10.709] if (!identical(...future.workdir, getwd())) [13:13:10.709] setwd(...future.workdir) [13:13:10.709] { [13:13:10.709] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:10.709] ...future.oldOptions$nwarnings <- NULL [13:13:10.709] } [13:13:10.709] base::options(...future.oldOptions) [13:13:10.709] if (.Platform$OS.type == "windows") { [13:13:10.709] old_names <- names(...future.oldEnvVars) [13:13:10.709] envs <- base::Sys.getenv() [13:13:10.709] names <- names(envs) [13:13:10.709] common <- intersect(names, old_names) [13:13:10.709] added <- setdiff(names, old_names) [13:13:10.709] removed <- setdiff(old_names, names) [13:13:10.709] changed <- common[...future.oldEnvVars[common] != [13:13:10.709] envs[common]] [13:13:10.709] NAMES <- toupper(changed) [13:13:10.709] args <- list() [13:13:10.709] for (kk in seq_along(NAMES)) { [13:13:10.709] name <- changed[[kk]] [13:13:10.709] NAME <- NAMES[[kk]] [13:13:10.709] if (name != NAME && is.element(NAME, old_names)) [13:13:10.709] next [13:13:10.709] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.709] } [13:13:10.709] NAMES <- toupper(added) [13:13:10.709] for (kk in seq_along(NAMES)) { [13:13:10.709] name <- added[[kk]] [13:13:10.709] NAME <- NAMES[[kk]] [13:13:10.709] if (name != NAME && is.element(NAME, old_names)) [13:13:10.709] next [13:13:10.709] args[[name]] <- "" [13:13:10.709] } [13:13:10.709] NAMES <- toupper(removed) [13:13:10.709] for (kk in seq_along(NAMES)) { [13:13:10.709] name <- removed[[kk]] [13:13:10.709] NAME <- NAMES[[kk]] [13:13:10.709] if (name != NAME && is.element(NAME, old_names)) [13:13:10.709] next [13:13:10.709] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.709] } [13:13:10.709] if (length(args) > 0) [13:13:10.709] base::do.call(base::Sys.setenv, args = args) [13:13:10.709] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:10.709] } [13:13:10.709] else { [13:13:10.709] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:10.709] } [13:13:10.709] { [13:13:10.709] if (base::length(...future.futureOptionsAdded) > [13:13:10.709] 0L) { [13:13:10.709] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:10.709] base::names(opts) <- ...future.futureOptionsAdded [13:13:10.709] base::options(opts) [13:13:10.709] } [13:13:10.709] { [13:13:10.709] { [13:13:10.709] NULL [13:13:10.709] RNGkind("Mersenne-Twister") [13:13:10.709] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:10.709] inherits = FALSE) [13:13:10.709] } [13:13:10.709] options(future.plan = NULL) [13:13:10.709] if (is.na(NA_character_)) [13:13:10.709] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.709] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:10.709] future::plan(list(function (..., envir = parent.frame()) [13:13:10.709] { [13:13:10.709] future <- SequentialFuture(..., envir = envir) [13:13:10.709] if (!future$lazy) [13:13:10.709] future <- run(future) [13:13:10.709] invisible(future) [13:13:10.709] }), .cleanup = FALSE, .init = FALSE) [13:13:10.709] } [13:13:10.709] } [13:13:10.709] } [13:13:10.709] }) [13:13:10.709] if (TRUE) { [13:13:10.709] base::sink(type = "output", split = FALSE) [13:13:10.709] if (TRUE) { [13:13:10.709] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:10.709] } [13:13:10.709] else { [13:13:10.709] ...future.result["stdout"] <- base::list(NULL) [13:13:10.709] } [13:13:10.709] base::close(...future.stdout) [13:13:10.709] ...future.stdout <- NULL [13:13:10.709] } [13:13:10.709] ...future.result$conditions <- ...future.conditions [13:13:10.709] ...future.result$finished <- base::Sys.time() [13:13:10.709] ...future.result [13:13:10.709] } [13:13:10.713] assign_globals() ... [13:13:10.713] List of 5 [13:13:10.713] $ future.call.arguments : list() [13:13:10.713] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.713] $ ...future.FUN :function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:10.713] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:10.713] $ ...future.elements_ii :List of 2 [13:13:10.713] ..$ : num [1:4] 1 3 1 7 [13:13:10.713] ..$ : num [1:4] 2 4 6 8 [13:13:10.713] $ ...future.seeds_ii : NULL [13:13:10.713] $ ...future.globals.maxSize: num Inf [13:13:10.713] - attr(*, "resolved")= logi FALSE [13:13:10.713] - attr(*, "total_size")= num NA [13:13:10.713] - attr(*, "where")=List of 5 [13:13:10.713] ..$ future.call.arguments : [13:13:10.713] ..$ ...future.FUN : [13:13:10.713] ..$ ...future.elements_ii : [13:13:10.713] ..$ ...future.seeds_ii : [13:13:10.713] ..$ ...future.globals.maxSize: [13:13:10.713] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.713] - attr(*, "already-done")= logi TRUE [13:13:10.720] - copied 'future.call.arguments' to environment [13:13:10.720] - copied '...future.FUN' to environment [13:13:10.720] - copied '...future.elements_ii' to environment [13:13:10.720] - copied '...future.seeds_ii' to environment [13:13:10.721] - copied '...future.globals.maxSize' to environment [13:13:10.721] assign_globals() ... done [13:13:10.721] plan(): Setting new future strategy stack: [13:13:10.721] List of future strategies: [13:13:10.721] 1. sequential: [13:13:10.721] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.721] - tweaked: FALSE [13:13:10.721] - call: NULL [13:13:10.722] plan(): nbrOfWorkers() = 1 [13:13:10.723] plan(): Setting new future strategy stack: [13:13:10.723] List of future strategies: [13:13:10.723] 1. sequential: [13:13:10.723] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.723] - tweaked: FALSE [13:13:10.723] - call: plan(strategy) [13:13:10.724] plan(): nbrOfWorkers() = 1 [13:13:10.724] SequentialFuture started (and completed) [13:13:10.724] - Launch lazy future ... done [13:13:10.725] run() for 'SequentialFuture' ... done [13:13:10.725] Created future: [13:13:10.725] SequentialFuture: [13:13:10.725] Label: 'future_apply-1' [13:13:10.725] Expression: [13:13:10.725] { [13:13:10.725] do.call(function(...) { [13:13:10.725] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.725] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.725] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.725] on.exit(options(oopts), add = TRUE) [13:13:10.725] } [13:13:10.725] { [13:13:10.725] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.725] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.725] ...future.FUN(...future.X_jj, ...) [13:13:10.725] }) [13:13:10.725] } [13:13:10.725] }, args = future.call.arguments) [13:13:10.725] } [13:13:10.725] Lazy evaluation: FALSE [13:13:10.725] Asynchronous evaluation: FALSE [13:13:10.725] Local evaluation: TRUE [13:13:10.725] Environment: R_GlobalEnv [13:13:10.725] Capture standard output: TRUE [13:13:10.725] Capture condition classes: 'condition' (excluding 'nothing') [13:13:10.725] Globals: 5 objects totaling 346.13 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 345.92 KiB, list '...future.elements_ii' of 160 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:10.725] Packages: [13:13:10.725] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:10.725] Resolved: TRUE [13:13:10.725] Value: 2.21 KiB of class 'list' [13:13:10.725] Early signaling: FALSE [13:13:10.725] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:10.725] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.726] Chunk #1 of 1 ... DONE [13:13:10.726] Launching 1 futures (chunks) ... DONE [13:13:10.727] Resolving 1 futures (chunks) ... [13:13:10.727] resolve() on list ... [13:13:10.727] recursive: 0 [13:13:10.727] length: 1 [13:13:10.727] [13:13:10.727] resolved() for 'SequentialFuture' ... [13:13:10.728] - state: 'finished' [13:13:10.728] - run: TRUE [13:13:10.728] - result: 'FutureResult' [13:13:10.728] resolved() for 'SequentialFuture' ... done [13:13:10.728] Future #1 [13:13:10.729] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:10.729] - nx: 1 [13:13:10.729] - relay: TRUE [13:13:10.729] - stdout: TRUE [13:13:10.729] - signal: TRUE [13:13:10.729] - resignal: FALSE [13:13:10.729] - force: TRUE [13:13:10.730] - relayed: [n=1] FALSE [13:13:10.730] - queued futures: [n=1] FALSE [13:13:10.730] - until=1 [13:13:10.730] - relaying element #1 [13:13:10.730] - relayed: [n=1] TRUE [13:13:10.731] - queued futures: [n=1] TRUE [13:13:10.731] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:10.731] length: 0 (resolved future 1) [13:13:10.731] Relaying remaining futures [13:13:10.731] signalConditionsASAP(NULL, pos=0) ... [13:13:10.731] - nx: 1 [13:13:10.731] - relay: TRUE [13:13:10.732] - stdout: TRUE [13:13:10.732] - signal: TRUE [13:13:10.732] - resignal: FALSE [13:13:10.732] - force: TRUE [13:13:10.732] - relayed: [n=1] TRUE [13:13:10.732] - queued futures: [n=1] TRUE - flush all [13:13:10.733] - relayed: [n=1] TRUE [13:13:10.733] - queued futures: [n=1] TRUE [13:13:10.733] signalConditionsASAP(NULL, pos=0) ... done [13:13:10.733] resolve() on list ... DONE [13:13:10.733] - Number of value chunks collected: 1 [13:13:10.734] Resolving 1 futures (chunks) ... DONE [13:13:10.734] Reducing values from 1 chunks ... [13:13:10.734] - Number of values collected after concatenation: 2 [13:13:10.734] - Number of values expected: 2 [13:13:10.734] Reducing values from 1 chunks ... DONE [13:13:10.734] future_lapply() ... DONE [[1]] ...future.X_jj 1 3 7 2 1 1 [[2]] ...future.X_jj 2 4 6 8 1 1 1 1 [13:13:10.737] getGlobalsAndPackagesXApply() ... [13:13:10.737] - future.globals: TRUE [13:13:10.737] getGlobalsAndPackages() ... [13:13:10.737] Searching for globals... [13:13:10.739] - globals found: [2] 'FUN', 'UseMethod' [13:13:10.739] Searching for globals ... DONE [13:13:10.739] Resolving globals: FALSE [13:13:10.740] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:13:10.740] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(1, 2, 3, 4, 1, 6, 7, 8), dim = c(2L, 4L)))') 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:13:10.740] - globals: [1] 'FUN' [13:13:10.740] - packages: [1] 'stats' [13:13:10.741] getGlobalsAndPackages() ... DONE [13:13:10.741] - globals found/used: [n=1] 'FUN' [13:13:10.741] - needed namespaces: [n=1] 'stats' [13:13:10.741] Finding globals ... DONE [13:13:10.741] - use_args: TRUE [13:13:10.741] - Getting '...' globals ... [13:13:10.742] resolve() on list ... [13:13:10.742] recursive: 0 [13:13:10.742] length: 1 [13:13:10.742] elements: '...' [13:13:10.742] length: 0 (resolved future 1) [13:13:10.743] resolve() on list ... DONE [13:13:10.743] - '...' content: [n=0] [13:13:10.743] List of 1 [13:13:10.743] $ ...: list() [13:13:10.743] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.743] - attr(*, "where")=List of 1 [13:13:10.743] ..$ ...: [13:13:10.743] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.743] - attr(*, "resolved")= logi TRUE [13:13:10.743] - attr(*, "total_size")= num NA [13:13:10.747] - Getting '...' globals ... DONE [13:13:10.747] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:10.747] List of 2 [13:13:10.747] $ ...future.FUN:function (x, ...) [13:13:10.747] $ ... : list() [13:13:10.747] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.747] - attr(*, "where")=List of 2 [13:13:10.747] ..$ ...future.FUN: [13:13:10.747] ..$ ... : [13:13:10.747] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.747] - attr(*, "resolved")= logi FALSE [13:13:10.747] - attr(*, "total_size")= num 1248 [13:13:10.750] Packages to be attached in all futures: [n=1] 'stats' [13:13:10.751] getGlobalsAndPackagesXApply() ... DONE [13:13:10.751] future_lapply() ... [13:13:10.751] Number of chunks: 1 [13:13:10.752] getGlobalsAndPackagesXApply() ... [13:13:10.752] - future.globals: with names 'list()' [13:13:10.752] - use_args: TRUE [13:13:10.752] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:10.752] List of 2 [13:13:10.752] $ ... : list() [13:13:10.752] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.752] $ ...future.FUN:function (x, ...) [13:13:10.752] - attr(*, "where")=List of 2 [13:13:10.752] ..$ ... : [13:13:10.752] ..$ ...future.FUN: [13:13:10.752] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.752] - attr(*, "resolved")= logi FALSE [13:13:10.752] - attr(*, "total_size")= num NA [13:13:10.756] Packages to be attached in all futures: [n=1] 'stats' [13:13:10.756] getGlobalsAndPackagesXApply() ... DONE [13:13:10.756] Number of futures (= number of chunks): 1 [13:13:10.756] Launching 1 futures (chunks) ... [13:13:10.756] Chunk #1 of 1 ... [13:13:10.757] - seeds: [13:13:10.757] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.757] getGlobalsAndPackages() ... [13:13:10.757] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.757] Resolving globals: FALSE [13:13:10.758] Tweak future expression to call with '...' arguments ... [13:13:10.758] { [13:13:10.758] do.call(function(...) { [13:13:10.758] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.758] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.758] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.758] on.exit(options(oopts), add = TRUE) [13:13:10.758] } [13:13:10.758] { [13:13:10.758] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.758] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.758] ...future.FUN(...future.X_jj, ...) [13:13:10.758] }) [13:13:10.758] } [13:13:10.758] }, args = future.call.arguments) [13:13:10.758] } [13:13:10.758] Tweak future expression to call with '...' arguments ... DONE [13:13:10.759] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.759] - packages: [1] 'stats' [13:13:10.759] getGlobalsAndPackages() ... DONE [13:13:10.759] run() for 'Future' ... [13:13:10.760] - state: 'created' [13:13:10.760] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:10.760] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.760] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:10.761] - Field: 'label' [13:13:10.761] - Field: 'local' [13:13:10.761] - Field: 'owner' [13:13:10.761] - Field: 'envir' [13:13:10.761] - Field: 'packages' [13:13:10.761] - Field: 'gc' [13:13:10.762] - Field: 'conditions' [13:13:10.762] - Field: 'expr' [13:13:10.762] - Field: 'uuid' [13:13:10.762] - Field: 'seed' [13:13:10.762] - Field: 'version' [13:13:10.762] - Field: 'result' [13:13:10.763] - Field: 'asynchronous' [13:13:10.763] - Field: 'calls' [13:13:10.763] - Field: 'globals' [13:13:10.763] - Field: 'stdout' [13:13:10.763] - Field: 'earlySignal' [13:13:10.764] - Field: 'lazy' [13:13:10.764] - Field: 'state' [13:13:10.764] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:10.764] - Launch lazy future ... [13:13:10.764] Packages needed by the future expression (n = 1): 'stats' [13:13:10.764] Packages needed by future strategies (n = 0): [13:13:10.765] { [13:13:10.765] { [13:13:10.765] { [13:13:10.765] ...future.startTime <- base::Sys.time() [13:13:10.765] { [13:13:10.765] { [13:13:10.765] { [13:13:10.765] { [13:13:10.765] base::local({ [13:13:10.765] has_future <- base::requireNamespace("future", [13:13:10.765] quietly = TRUE) [13:13:10.765] if (has_future) { [13:13:10.765] ns <- base::getNamespace("future") [13:13:10.765] version <- ns[[".package"]][["version"]] [13:13:10.765] if (is.null(version)) [13:13:10.765] version <- utils::packageVersion("future") [13:13:10.765] } [13:13:10.765] else { [13:13:10.765] version <- NULL [13:13:10.765] } [13:13:10.765] if (!has_future || version < "1.8.0") { [13:13:10.765] info <- base::c(r_version = base::gsub("R version ", [13:13:10.765] "", base::R.version$version.string), [13:13:10.765] platform = base::sprintf("%s (%s-bit)", [13:13:10.765] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:10.765] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:10.765] "release", "version")], collapse = " "), [13:13:10.765] hostname = base::Sys.info()[["nodename"]]) [13:13:10.765] info <- base::sprintf("%s: %s", base::names(info), [13:13:10.765] info) [13:13:10.765] info <- base::paste(info, collapse = "; ") [13:13:10.765] if (!has_future) { [13:13:10.765] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:10.765] info) [13:13:10.765] } [13:13:10.765] else { [13:13:10.765] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:10.765] info, version) [13:13:10.765] } [13:13:10.765] base::stop(msg) [13:13:10.765] } [13:13:10.765] }) [13:13:10.765] } [13:13:10.765] base::local({ [13:13:10.765] for (pkg in "stats") { [13:13:10.765] base::loadNamespace(pkg) [13:13:10.765] base::library(pkg, character.only = TRUE) [13:13:10.765] } [13:13:10.765] }) [13:13:10.765] } [13:13:10.765] options(future.plan = NULL) [13:13:10.765] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.765] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:10.765] } [13:13:10.765] ...future.workdir <- getwd() [13:13:10.765] } [13:13:10.765] ...future.oldOptions <- base::as.list(base::.Options) [13:13:10.765] ...future.oldEnvVars <- base::Sys.getenv() [13:13:10.765] } [13:13:10.765] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:10.765] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:10.765] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:10.765] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:10.765] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:10.765] future.stdout.windows.reencode = NULL, width = 80L) [13:13:10.765] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:10.765] base::names(...future.oldOptions)) [13:13:10.765] } [13:13:10.765] if (FALSE) { [13:13:10.765] } [13:13:10.765] else { [13:13:10.765] if (TRUE) { [13:13:10.765] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:10.765] open = "w") [13:13:10.765] } [13:13:10.765] else { [13:13:10.765] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:10.765] windows = "NUL", "/dev/null"), open = "w") [13:13:10.765] } [13:13:10.765] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:10.765] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:10.765] base::sink(type = "output", split = FALSE) [13:13:10.765] base::close(...future.stdout) [13:13:10.765] }, add = TRUE) [13:13:10.765] } [13:13:10.765] ...future.frame <- base::sys.nframe() [13:13:10.765] ...future.conditions <- base::list() [13:13:10.765] ...future.rng <- base::globalenv()$.Random.seed [13:13:10.765] if (FALSE) { [13:13:10.765] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:10.765] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:10.765] } [13:13:10.765] ...future.result <- base::tryCatch({ [13:13:10.765] base::withCallingHandlers({ [13:13:10.765] ...future.value <- base::withVisible(base::local({ [13:13:10.765] do.call(function(...) { [13:13:10.765] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.765] if (!identical(...future.globals.maxSize.org, [13:13:10.765] ...future.globals.maxSize)) { [13:13:10.765] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.765] on.exit(options(oopts), add = TRUE) [13:13:10.765] } [13:13:10.765] { [13:13:10.765] lapply(seq_along(...future.elements_ii), [13:13:10.765] FUN = function(jj) { [13:13:10.765] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.765] ...future.FUN(...future.X_jj, ...) [13:13:10.765] }) [13:13:10.765] } [13:13:10.765] }, args = future.call.arguments) [13:13:10.765] })) [13:13:10.765] future::FutureResult(value = ...future.value$value, [13:13:10.765] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.765] ...future.rng), globalenv = if (FALSE) [13:13:10.765] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:10.765] ...future.globalenv.names)) [13:13:10.765] else NULL, started = ...future.startTime, version = "1.8") [13:13:10.765] }, condition = base::local({ [13:13:10.765] c <- base::c [13:13:10.765] inherits <- base::inherits [13:13:10.765] invokeRestart <- base::invokeRestart [13:13:10.765] length <- base::length [13:13:10.765] list <- base::list [13:13:10.765] seq.int <- base::seq.int [13:13:10.765] signalCondition <- base::signalCondition [13:13:10.765] sys.calls <- base::sys.calls [13:13:10.765] `[[` <- base::`[[` [13:13:10.765] `+` <- base::`+` [13:13:10.765] `<<-` <- base::`<<-` [13:13:10.765] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:10.765] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:10.765] 3L)] [13:13:10.765] } [13:13:10.765] function(cond) { [13:13:10.765] is_error <- inherits(cond, "error") [13:13:10.765] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:10.765] NULL) [13:13:10.765] if (is_error) { [13:13:10.765] sessionInformation <- function() { [13:13:10.765] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:10.765] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:10.765] search = base::search(), system = base::Sys.info()) [13:13:10.765] } [13:13:10.765] ...future.conditions[[length(...future.conditions) + [13:13:10.765] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:10.765] cond$call), session = sessionInformation(), [13:13:10.765] timestamp = base::Sys.time(), signaled = 0L) [13:13:10.765] signalCondition(cond) [13:13:10.765] } [13:13:10.765] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:10.765] "immediateCondition"))) { [13:13:10.765] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:10.765] ...future.conditions[[length(...future.conditions) + [13:13:10.765] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:10.765] if (TRUE && !signal) { [13:13:10.765] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.765] { [13:13:10.765] inherits <- base::inherits [13:13:10.765] invokeRestart <- base::invokeRestart [13:13:10.765] is.null <- base::is.null [13:13:10.765] muffled <- FALSE [13:13:10.765] if (inherits(cond, "message")) { [13:13:10.765] muffled <- grepl(pattern, "muffleMessage") [13:13:10.765] if (muffled) [13:13:10.765] invokeRestart("muffleMessage") [13:13:10.765] } [13:13:10.765] else if (inherits(cond, "warning")) { [13:13:10.765] muffled <- grepl(pattern, "muffleWarning") [13:13:10.765] if (muffled) [13:13:10.765] invokeRestart("muffleWarning") [13:13:10.765] } [13:13:10.765] else if (inherits(cond, "condition")) { [13:13:10.765] if (!is.null(pattern)) { [13:13:10.765] computeRestarts <- base::computeRestarts [13:13:10.765] grepl <- base::grepl [13:13:10.765] restarts <- computeRestarts(cond) [13:13:10.765] for (restart in restarts) { [13:13:10.765] name <- restart$name [13:13:10.765] if (is.null(name)) [13:13:10.765] next [13:13:10.765] if (!grepl(pattern, name)) [13:13:10.765] next [13:13:10.765] invokeRestart(restart) [13:13:10.765] muffled <- TRUE [13:13:10.765] break [13:13:10.765] } [13:13:10.765] } [13:13:10.765] } [13:13:10.765] invisible(muffled) [13:13:10.765] } [13:13:10.765] muffleCondition(cond, pattern = "^muffle") [13:13:10.765] } [13:13:10.765] } [13:13:10.765] else { [13:13:10.765] if (TRUE) { [13:13:10.765] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.765] { [13:13:10.765] inherits <- base::inherits [13:13:10.765] invokeRestart <- base::invokeRestart [13:13:10.765] is.null <- base::is.null [13:13:10.765] muffled <- FALSE [13:13:10.765] if (inherits(cond, "message")) { [13:13:10.765] muffled <- grepl(pattern, "muffleMessage") [13:13:10.765] if (muffled) [13:13:10.765] invokeRestart("muffleMessage") [13:13:10.765] } [13:13:10.765] else if (inherits(cond, "warning")) { [13:13:10.765] muffled <- grepl(pattern, "muffleWarning") [13:13:10.765] if (muffled) [13:13:10.765] invokeRestart("muffleWarning") [13:13:10.765] } [13:13:10.765] else if (inherits(cond, "condition")) { [13:13:10.765] if (!is.null(pattern)) { [13:13:10.765] computeRestarts <- base::computeRestarts [13:13:10.765] grepl <- base::grepl [13:13:10.765] restarts <- computeRestarts(cond) [13:13:10.765] for (restart in restarts) { [13:13:10.765] name <- restart$name [13:13:10.765] if (is.null(name)) [13:13:10.765] next [13:13:10.765] if (!grepl(pattern, name)) [13:13:10.765] next [13:13:10.765] invokeRestart(restart) [13:13:10.765] muffled <- TRUE [13:13:10.765] break [13:13:10.765] } [13:13:10.765] } [13:13:10.765] } [13:13:10.765] invisible(muffled) [13:13:10.765] } [13:13:10.765] muffleCondition(cond, pattern = "^muffle") [13:13:10.765] } [13:13:10.765] } [13:13:10.765] } [13:13:10.765] })) [13:13:10.765] }, error = function(ex) { [13:13:10.765] base::structure(base::list(value = NULL, visible = NULL, [13:13:10.765] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.765] ...future.rng), started = ...future.startTime, [13:13:10.765] finished = Sys.time(), session_uuid = NA_character_, [13:13:10.765] version = "1.8"), class = "FutureResult") [13:13:10.765] }, finally = { [13:13:10.765] if (!identical(...future.workdir, getwd())) [13:13:10.765] setwd(...future.workdir) [13:13:10.765] { [13:13:10.765] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:10.765] ...future.oldOptions$nwarnings <- NULL [13:13:10.765] } [13:13:10.765] base::options(...future.oldOptions) [13:13:10.765] if (.Platform$OS.type == "windows") { [13:13:10.765] old_names <- names(...future.oldEnvVars) [13:13:10.765] envs <- base::Sys.getenv() [13:13:10.765] names <- names(envs) [13:13:10.765] common <- intersect(names, old_names) [13:13:10.765] added <- setdiff(names, old_names) [13:13:10.765] removed <- setdiff(old_names, names) [13:13:10.765] changed <- common[...future.oldEnvVars[common] != [13:13:10.765] envs[common]] [13:13:10.765] NAMES <- toupper(changed) [13:13:10.765] args <- list() [13:13:10.765] for (kk in seq_along(NAMES)) { [13:13:10.765] name <- changed[[kk]] [13:13:10.765] NAME <- NAMES[[kk]] [13:13:10.765] if (name != NAME && is.element(NAME, old_names)) [13:13:10.765] next [13:13:10.765] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.765] } [13:13:10.765] NAMES <- toupper(added) [13:13:10.765] for (kk in seq_along(NAMES)) { [13:13:10.765] name <- added[[kk]] [13:13:10.765] NAME <- NAMES[[kk]] [13:13:10.765] if (name != NAME && is.element(NAME, old_names)) [13:13:10.765] next [13:13:10.765] args[[name]] <- "" [13:13:10.765] } [13:13:10.765] NAMES <- toupper(removed) [13:13:10.765] for (kk in seq_along(NAMES)) { [13:13:10.765] name <- removed[[kk]] [13:13:10.765] NAME <- NAMES[[kk]] [13:13:10.765] if (name != NAME && is.element(NAME, old_names)) [13:13:10.765] next [13:13:10.765] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.765] } [13:13:10.765] if (length(args) > 0) [13:13:10.765] base::do.call(base::Sys.setenv, args = args) [13:13:10.765] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:10.765] } [13:13:10.765] else { [13:13:10.765] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:10.765] } [13:13:10.765] { [13:13:10.765] if (base::length(...future.futureOptionsAdded) > [13:13:10.765] 0L) { [13:13:10.765] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:10.765] base::names(opts) <- ...future.futureOptionsAdded [13:13:10.765] base::options(opts) [13:13:10.765] } [13:13:10.765] { [13:13:10.765] { [13:13:10.765] NULL [13:13:10.765] RNGkind("Mersenne-Twister") [13:13:10.765] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:10.765] inherits = FALSE) [13:13:10.765] } [13:13:10.765] options(future.plan = NULL) [13:13:10.765] if (is.na(NA_character_)) [13:13:10.765] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.765] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:10.765] future::plan(list(function (..., envir = parent.frame()) [13:13:10.765] { [13:13:10.765] future <- SequentialFuture(..., envir = envir) [13:13:10.765] if (!future$lazy) [13:13:10.765] future <- run(future) [13:13:10.765] invisible(future) [13:13:10.765] }), .cleanup = FALSE, .init = FALSE) [13:13:10.765] } [13:13:10.765] } [13:13:10.765] } [13:13:10.765] }) [13:13:10.765] if (TRUE) { [13:13:10.765] base::sink(type = "output", split = FALSE) [13:13:10.765] if (TRUE) { [13:13:10.765] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:10.765] } [13:13:10.765] else { [13:13:10.765] ...future.result["stdout"] <- base::list(NULL) [13:13:10.765] } [13:13:10.765] base::close(...future.stdout) [13:13:10.765] ...future.stdout <- NULL [13:13:10.765] } [13:13:10.765] ...future.result$conditions <- ...future.conditions [13:13:10.765] ...future.result$finished <- base::Sys.time() [13:13:10.765] ...future.result [13:13:10.765] } [13:13:10.769] assign_globals() ... [13:13:10.769] List of 5 [13:13:10.769] $ future.call.arguments : list() [13:13:10.769] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.769] $ ...future.FUN :function (x, ...) [13:13:10.769] $ ...future.elements_ii :List of 2 [13:13:10.769] ..$ : num [1:4] 1 3 1 7 [13:13:10.769] ..$ : num [1:4] 2 4 6 8 [13:13:10.769] $ ...future.seeds_ii : NULL [13:13:10.769] $ ...future.globals.maxSize: num Inf [13:13:10.769] - attr(*, "resolved")= logi FALSE [13:13:10.769] - attr(*, "total_size")= num NA [13:13:10.769] - attr(*, "where")=List of 5 [13:13:10.769] ..$ future.call.arguments : [13:13:10.769] ..$ ...future.FUN : [13:13:10.769] ..$ ...future.elements_ii : [13:13:10.769] ..$ ...future.seeds_ii : [13:13:10.769] ..$ ...future.globals.maxSize: [13:13:10.769] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.769] - attr(*, "already-done")= logi TRUE [13:13:10.776] - copied 'future.call.arguments' to environment [13:13:10.776] - copied '...future.FUN' to environment [13:13:10.776] - copied '...future.elements_ii' to environment [13:13:10.777] - copied '...future.seeds_ii' to environment [13:13:10.777] - copied '...future.globals.maxSize' to environment [13:13:10.777] assign_globals() ... done [13:13:10.778] plan(): Setting new future strategy stack: [13:13:10.778] List of future strategies: [13:13:10.778] 1. sequential: [13:13:10.778] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.778] - tweaked: FALSE [13:13:10.778] - call: NULL [13:13:10.778] plan(): nbrOfWorkers() = 1 [13:13:10.780] plan(): Setting new future strategy stack: [13:13:10.780] List of future strategies: [13:13:10.780] 1. sequential: [13:13:10.780] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.780] - tweaked: FALSE [13:13:10.780] - call: plan(strategy) [13:13:10.781] plan(): nbrOfWorkers() = 1 [13:13:10.781] SequentialFuture started (and completed) [13:13:10.781] - Launch lazy future ... done [13:13:10.781] run() for 'SequentialFuture' ... done [13:13:10.781] Created future: [13:13:10.782] SequentialFuture: [13:13:10.782] Label: 'future_apply-1' [13:13:10.782] Expression: [13:13:10.782] { [13:13:10.782] do.call(function(...) { [13:13:10.782] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.782] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.782] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.782] on.exit(options(oopts), add = TRUE) [13:13:10.782] } [13:13:10.782] { [13:13:10.782] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.782] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.782] ...future.FUN(...future.X_jj, ...) [13:13:10.782] }) [13:13:10.782] } [13:13:10.782] }, args = future.call.arguments) [13:13:10.782] } [13:13:10.782] Lazy evaluation: FALSE [13:13:10.782] Asynchronous evaluation: FALSE [13:13:10.782] Local evaluation: TRUE [13:13:10.782] Environment: R_GlobalEnv [13:13:10.782] Capture standard output: TRUE [13:13:10.782] Capture condition classes: 'condition' (excluding 'nothing') [13:13:10.782] Globals: 5 objects totaling 1.43 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 1.22 KiB, list '...future.elements_ii' of 160 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:10.782] Packages: 1 packages ('stats') [13:13:10.782] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:10.782] Resolved: TRUE [13:13:10.782] Value: 1.14 KiB of class 'list' [13:13:10.782] Early signaling: FALSE [13:13:10.782] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:10.782] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.783] Chunk #1 of 1 ... DONE [13:13:10.783] Launching 1 futures (chunks) ... DONE [13:13:10.783] Resolving 1 futures (chunks) ... [13:13:10.783] resolve() on list ... [13:13:10.783] recursive: 0 [13:13:10.784] length: 1 [13:13:10.784] [13:13:10.784] resolved() for 'SequentialFuture' ... [13:13:10.784] - state: 'finished' [13:13:10.784] - run: TRUE [13:13:10.784] - result: 'FutureResult' [13:13:10.785] resolved() for 'SequentialFuture' ... done [13:13:10.785] Future #1 [13:13:10.785] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:10.785] - nx: 1 [13:13:10.785] - relay: TRUE [13:13:10.786] - stdout: TRUE [13:13:10.786] - signal: TRUE [13:13:10.786] - resignal: FALSE [13:13:10.786] - force: TRUE [13:13:10.786] - relayed: [n=1] FALSE [13:13:10.786] - queued futures: [n=1] FALSE [13:13:10.786] - until=1 [13:13:10.787] - relaying element #1 [13:13:10.787] - relayed: [n=1] TRUE [13:13:10.787] - queued futures: [n=1] TRUE [13:13:10.787] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:10.787] length: 0 (resolved future 1) [13:13:10.787] Relaying remaining futures [13:13:10.788] signalConditionsASAP(NULL, pos=0) ... [13:13:10.788] - nx: 1 [13:13:10.788] - relay: TRUE [13:13:10.788] - stdout: TRUE [13:13:10.788] - signal: TRUE [13:13:10.788] - resignal: FALSE [13:13:10.789] - force: TRUE [13:13:10.789] - relayed: [n=1] TRUE [13:13:10.789] - queued futures: [n=1] TRUE - flush all [13:13:10.789] - relayed: [n=1] TRUE [13:13:10.789] - queued futures: [n=1] TRUE [13:13:10.789] signalConditionsASAP(NULL, pos=0) ... done [13:13:10.790] resolve() on list ... DONE [13:13:10.790] - Number of value chunks collected: 1 [13:13:10.790] Resolving 1 futures (chunks) ... DONE [13:13:10.790] Reducing values from 1 chunks ... [13:13:10.790] - Number of values collected after concatenation: 2 [13:13:10.790] - Number of values expected: 2 [13:13:10.791] Reducing values from 1 chunks ... DONE [13:13:10.791] future_lapply() ... DONE [,1] [,2] 0% 1 2.0 25% 1 3.5 50% 2 5.0 75% 4 6.5 100% 7 8.0 [13:13:10.792] getGlobalsAndPackagesXApply() ... [13:13:10.792] - future.globals: TRUE [13:13:10.792] getGlobalsAndPackages() ... [13:13:10.792] Searching for globals... [13:13:10.793] - globals found: [1] 'FUN' [13:13:10.793] Searching for globals ... DONE [13:13:10.794] Resolving globals: FALSE [13:13:10.794] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:10.795] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3,; 4, 5), dim = c(8L, 2L), dimnames = list(row = NULL, col = c("x1",; "x2"))))') 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:13:10.795] - globals: [1] 'FUN' [13:13:10.796] [13:13:10.796] getGlobalsAndPackages() ... DONE [13:13:10.796] - globals found/used: [n=1] 'FUN' [13:13:10.796] - needed namespaces: [n=0] [13:13:10.796] Finding globals ... DONE [13:13:10.796] - use_args: TRUE [13:13:10.796] - Getting '...' globals ... [13:13:10.797] resolve() on list ... [13:13:10.797] recursive: 0 [13:13:10.797] length: 1 [13:13:10.797] elements: '...' [13:13:10.798] length: 0 (resolved future 1) [13:13:10.798] resolve() on list ... DONE [13:13:10.798] - '...' content: [n=0] [13:13:10.798] List of 1 [13:13:10.798] $ ...: list() [13:13:10.798] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.798] - attr(*, "where")=List of 1 [13:13:10.798] ..$ ...: [13:13:10.798] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.798] - attr(*, "resolved")= logi TRUE [13:13:10.798] - attr(*, "total_size")= num NA [13:13:10.801] - Getting '...' globals ... DONE [13:13:10.801] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:10.801] List of 2 [13:13:10.801] $ ...future.FUN:function (x) [13:13:10.801] $ ... : list() [13:13:10.801] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.801] - attr(*, "where")=List of 2 [13:13:10.801] ..$ ...future.FUN: [13:13:10.801] ..$ ... : [13:13:10.801] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.801] - attr(*, "resolved")= logi FALSE [13:13:10.801] - attr(*, "total_size")= num 848 [13:13:10.805] Packages to be attached in all futures: [n=0] [13:13:10.805] getGlobalsAndPackagesXApply() ... DONE [13:13:10.805] future_lapply() ... [13:13:10.806] Number of chunks: 1 [13:13:10.806] getGlobalsAndPackagesXApply() ... [13:13:10.806] - future.globals: with names 'list()' [13:13:10.806] - use_args: TRUE [13:13:10.807] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:10.807] List of 2 [13:13:10.807] $ ... : list() [13:13:10.807] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.807] $ ...future.FUN:function (x) [13:13:10.807] - attr(*, "where")=List of 2 [13:13:10.807] ..$ ... : [13:13:10.807] ..$ ...future.FUN: [13:13:10.807] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.807] - attr(*, "resolved")= logi FALSE [13:13:10.807] - attr(*, "total_size")= num NA [13:13:10.810] Packages to be attached in all futures: [n=0] [13:13:10.811] getGlobalsAndPackagesXApply() ... DONE [13:13:10.811] Number of futures (= number of chunks): 1 [13:13:10.811] Launching 1 futures (chunks) ... [13:13:10.811] Chunk #1 of 1 ... [13:13:10.811] - seeds: [13:13:10.812] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.812] getGlobalsAndPackages() ... [13:13:10.812] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.812] Resolving globals: FALSE [13:13:10.812] Tweak future expression to call with '...' arguments ... [13:13:10.812] { [13:13:10.812] do.call(function(...) { [13:13:10.812] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.812] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.812] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.812] on.exit(options(oopts), add = TRUE) [13:13:10.812] } [13:13:10.812] { [13:13:10.812] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.812] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.812] ...future.FUN(...future.X_jj, ...) [13:13:10.812] }) [13:13:10.812] } [13:13:10.812] }, args = future.call.arguments) [13:13:10.812] } [13:13:10.813] Tweak future expression to call with '...' arguments ... DONE [13:13:10.813] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.814] [13:13:10.814] getGlobalsAndPackages() ... DONE [13:13:10.814] run() for 'Future' ... [13:13:10.814] - state: 'created' [13:13:10.814] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:10.815] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.815] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:10.815] - Field: 'label' [13:13:10.815] - Field: 'local' [13:13:10.816] - Field: 'owner' [13:13:10.816] - Field: 'envir' [13:13:10.816] - Field: 'packages' [13:13:10.816] - Field: 'gc' [13:13:10.816] - Field: 'conditions' [13:13:10.816] - Field: 'expr' [13:13:10.840] - Field: 'uuid' [13:13:10.840] - Field: 'seed' [13:13:10.840] - Field: 'version' [13:13:10.841] - Field: 'result' [13:13:10.841] - Field: 'asynchronous' [13:13:10.841] - Field: 'calls' [13:13:10.841] - Field: 'globals' [13:13:10.841] - Field: 'stdout' [13:13:10.841] - Field: 'earlySignal' [13:13:10.842] - Field: 'lazy' [13:13:10.842] - Field: 'state' [13:13:10.842] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:10.842] - Launch lazy future ... [13:13:10.843] Packages needed by the future expression (n = 0): [13:13:10.843] Packages needed by future strategies (n = 0): [13:13:10.843] { [13:13:10.843] { [13:13:10.843] { [13:13:10.843] ...future.startTime <- base::Sys.time() [13:13:10.843] { [13:13:10.843] { [13:13:10.843] { [13:13:10.843] base::local({ [13:13:10.843] has_future <- base::requireNamespace("future", [13:13:10.843] quietly = TRUE) [13:13:10.843] if (has_future) { [13:13:10.843] ns <- base::getNamespace("future") [13:13:10.843] version <- ns[[".package"]][["version"]] [13:13:10.843] if (is.null(version)) [13:13:10.843] version <- utils::packageVersion("future") [13:13:10.843] } [13:13:10.843] else { [13:13:10.843] version <- NULL [13:13:10.843] } [13:13:10.843] if (!has_future || version < "1.8.0") { [13:13:10.843] info <- base::c(r_version = base::gsub("R version ", [13:13:10.843] "", base::R.version$version.string), [13:13:10.843] platform = base::sprintf("%s (%s-bit)", [13:13:10.843] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:10.843] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:10.843] "release", "version")], collapse = " "), [13:13:10.843] hostname = base::Sys.info()[["nodename"]]) [13:13:10.843] info <- base::sprintf("%s: %s", base::names(info), [13:13:10.843] info) [13:13:10.843] info <- base::paste(info, collapse = "; ") [13:13:10.843] if (!has_future) { [13:13:10.843] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:10.843] info) [13:13:10.843] } [13:13:10.843] else { [13:13:10.843] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:10.843] info, version) [13:13:10.843] } [13:13:10.843] base::stop(msg) [13:13:10.843] } [13:13:10.843] }) [13:13:10.843] } [13:13:10.843] options(future.plan = NULL) [13:13:10.843] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.843] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:10.843] } [13:13:10.843] ...future.workdir <- getwd() [13:13:10.843] } [13:13:10.843] ...future.oldOptions <- base::as.list(base::.Options) [13:13:10.843] ...future.oldEnvVars <- base::Sys.getenv() [13:13:10.843] } [13:13:10.843] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:10.843] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:10.843] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:10.843] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:10.843] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:10.843] future.stdout.windows.reencode = NULL, width = 80L) [13:13:10.843] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:10.843] base::names(...future.oldOptions)) [13:13:10.843] } [13:13:10.843] if (FALSE) { [13:13:10.843] } [13:13:10.843] else { [13:13:10.843] if (TRUE) { [13:13:10.843] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:10.843] open = "w") [13:13:10.843] } [13:13:10.843] else { [13:13:10.843] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:10.843] windows = "NUL", "/dev/null"), open = "w") [13:13:10.843] } [13:13:10.843] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:10.843] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:10.843] base::sink(type = "output", split = FALSE) [13:13:10.843] base::close(...future.stdout) [13:13:10.843] }, add = TRUE) [13:13:10.843] } [13:13:10.843] ...future.frame <- base::sys.nframe() [13:13:10.843] ...future.conditions <- base::list() [13:13:10.843] ...future.rng <- base::globalenv()$.Random.seed [13:13:10.843] if (FALSE) { [13:13:10.843] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:10.843] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:10.843] } [13:13:10.843] ...future.result <- base::tryCatch({ [13:13:10.843] base::withCallingHandlers({ [13:13:10.843] ...future.value <- base::withVisible(base::local({ [13:13:10.843] do.call(function(...) { [13:13:10.843] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.843] if (!identical(...future.globals.maxSize.org, [13:13:10.843] ...future.globals.maxSize)) { [13:13:10.843] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.843] on.exit(options(oopts), add = TRUE) [13:13:10.843] } [13:13:10.843] { [13:13:10.843] lapply(seq_along(...future.elements_ii), [13:13:10.843] FUN = function(jj) { [13:13:10.843] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.843] ...future.FUN(...future.X_jj, ...) [13:13:10.843] }) [13:13:10.843] } [13:13:10.843] }, args = future.call.arguments) [13:13:10.843] })) [13:13:10.843] future::FutureResult(value = ...future.value$value, [13:13:10.843] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.843] ...future.rng), globalenv = if (FALSE) [13:13:10.843] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:10.843] ...future.globalenv.names)) [13:13:10.843] else NULL, started = ...future.startTime, version = "1.8") [13:13:10.843] }, condition = base::local({ [13:13:10.843] c <- base::c [13:13:10.843] inherits <- base::inherits [13:13:10.843] invokeRestart <- base::invokeRestart [13:13:10.843] length <- base::length [13:13:10.843] list <- base::list [13:13:10.843] seq.int <- base::seq.int [13:13:10.843] signalCondition <- base::signalCondition [13:13:10.843] sys.calls <- base::sys.calls [13:13:10.843] `[[` <- base::`[[` [13:13:10.843] `+` <- base::`+` [13:13:10.843] `<<-` <- base::`<<-` [13:13:10.843] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:10.843] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:10.843] 3L)] [13:13:10.843] } [13:13:10.843] function(cond) { [13:13:10.843] is_error <- inherits(cond, "error") [13:13:10.843] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:10.843] NULL) [13:13:10.843] if (is_error) { [13:13:10.843] sessionInformation <- function() { [13:13:10.843] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:10.843] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:10.843] search = base::search(), system = base::Sys.info()) [13:13:10.843] } [13:13:10.843] ...future.conditions[[length(...future.conditions) + [13:13:10.843] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:10.843] cond$call), session = sessionInformation(), [13:13:10.843] timestamp = base::Sys.time(), signaled = 0L) [13:13:10.843] signalCondition(cond) [13:13:10.843] } [13:13:10.843] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:10.843] "immediateCondition"))) { [13:13:10.843] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:10.843] ...future.conditions[[length(...future.conditions) + [13:13:10.843] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:10.843] if (TRUE && !signal) { [13:13:10.843] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.843] { [13:13:10.843] inherits <- base::inherits [13:13:10.843] invokeRestart <- base::invokeRestart [13:13:10.843] is.null <- base::is.null [13:13:10.843] muffled <- FALSE [13:13:10.843] if (inherits(cond, "message")) { [13:13:10.843] muffled <- grepl(pattern, "muffleMessage") [13:13:10.843] if (muffled) [13:13:10.843] invokeRestart("muffleMessage") [13:13:10.843] } [13:13:10.843] else if (inherits(cond, "warning")) { [13:13:10.843] muffled <- grepl(pattern, "muffleWarning") [13:13:10.843] if (muffled) [13:13:10.843] invokeRestart("muffleWarning") [13:13:10.843] } [13:13:10.843] else if (inherits(cond, "condition")) { [13:13:10.843] if (!is.null(pattern)) { [13:13:10.843] computeRestarts <- base::computeRestarts [13:13:10.843] grepl <- base::grepl [13:13:10.843] restarts <- computeRestarts(cond) [13:13:10.843] for (restart in restarts) { [13:13:10.843] name <- restart$name [13:13:10.843] if (is.null(name)) [13:13:10.843] next [13:13:10.843] if (!grepl(pattern, name)) [13:13:10.843] next [13:13:10.843] invokeRestart(restart) [13:13:10.843] muffled <- TRUE [13:13:10.843] break [13:13:10.843] } [13:13:10.843] } [13:13:10.843] } [13:13:10.843] invisible(muffled) [13:13:10.843] } [13:13:10.843] muffleCondition(cond, pattern = "^muffle") [13:13:10.843] } [13:13:10.843] } [13:13:10.843] else { [13:13:10.843] if (TRUE) { [13:13:10.843] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.843] { [13:13:10.843] inherits <- base::inherits [13:13:10.843] invokeRestart <- base::invokeRestart [13:13:10.843] is.null <- base::is.null [13:13:10.843] muffled <- FALSE [13:13:10.843] if (inherits(cond, "message")) { [13:13:10.843] muffled <- grepl(pattern, "muffleMessage") [13:13:10.843] if (muffled) [13:13:10.843] invokeRestart("muffleMessage") [13:13:10.843] } [13:13:10.843] else if (inherits(cond, "warning")) { [13:13:10.843] muffled <- grepl(pattern, "muffleWarning") [13:13:10.843] if (muffled) [13:13:10.843] invokeRestart("muffleWarning") [13:13:10.843] } [13:13:10.843] else if (inherits(cond, "condition")) { [13:13:10.843] if (!is.null(pattern)) { [13:13:10.843] computeRestarts <- base::computeRestarts [13:13:10.843] grepl <- base::grepl [13:13:10.843] restarts <- computeRestarts(cond) [13:13:10.843] for (restart in restarts) { [13:13:10.843] name <- restart$name [13:13:10.843] if (is.null(name)) [13:13:10.843] next [13:13:10.843] if (!grepl(pattern, name)) [13:13:10.843] next [13:13:10.843] invokeRestart(restart) [13:13:10.843] muffled <- TRUE [13:13:10.843] break [13:13:10.843] } [13:13:10.843] } [13:13:10.843] } [13:13:10.843] invisible(muffled) [13:13:10.843] } [13:13:10.843] muffleCondition(cond, pattern = "^muffle") [13:13:10.843] } [13:13:10.843] } [13:13:10.843] } [13:13:10.843] })) [13:13:10.843] }, error = function(ex) { [13:13:10.843] base::structure(base::list(value = NULL, visible = NULL, [13:13:10.843] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.843] ...future.rng), started = ...future.startTime, [13:13:10.843] finished = Sys.time(), session_uuid = NA_character_, [13:13:10.843] version = "1.8"), class = "FutureResult") [13:13:10.843] }, finally = { [13:13:10.843] if (!identical(...future.workdir, getwd())) [13:13:10.843] setwd(...future.workdir) [13:13:10.843] { [13:13:10.843] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:10.843] ...future.oldOptions$nwarnings <- NULL [13:13:10.843] } [13:13:10.843] base::options(...future.oldOptions) [13:13:10.843] if (.Platform$OS.type == "windows") { [13:13:10.843] old_names <- names(...future.oldEnvVars) [13:13:10.843] envs <- base::Sys.getenv() [13:13:10.843] names <- names(envs) [13:13:10.843] common <- intersect(names, old_names) [13:13:10.843] added <- setdiff(names, old_names) [13:13:10.843] removed <- setdiff(old_names, names) [13:13:10.843] changed <- common[...future.oldEnvVars[common] != [13:13:10.843] envs[common]] [13:13:10.843] NAMES <- toupper(changed) [13:13:10.843] args <- list() [13:13:10.843] for (kk in seq_along(NAMES)) { [13:13:10.843] name <- changed[[kk]] [13:13:10.843] NAME <- NAMES[[kk]] [13:13:10.843] if (name != NAME && is.element(NAME, old_names)) [13:13:10.843] next [13:13:10.843] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.843] } [13:13:10.843] NAMES <- toupper(added) [13:13:10.843] for (kk in seq_along(NAMES)) { [13:13:10.843] name <- added[[kk]] [13:13:10.843] NAME <- NAMES[[kk]] [13:13:10.843] if (name != NAME && is.element(NAME, old_names)) [13:13:10.843] next [13:13:10.843] args[[name]] <- "" [13:13:10.843] } [13:13:10.843] NAMES <- toupper(removed) [13:13:10.843] for (kk in seq_along(NAMES)) { [13:13:10.843] name <- removed[[kk]] [13:13:10.843] NAME <- NAMES[[kk]] [13:13:10.843] if (name != NAME && is.element(NAME, old_names)) [13:13:10.843] next [13:13:10.843] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.843] } [13:13:10.843] if (length(args) > 0) [13:13:10.843] base::do.call(base::Sys.setenv, args = args) [13:13:10.843] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:10.843] } [13:13:10.843] else { [13:13:10.843] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:10.843] } [13:13:10.843] { [13:13:10.843] if (base::length(...future.futureOptionsAdded) > [13:13:10.843] 0L) { [13:13:10.843] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:10.843] base::names(opts) <- ...future.futureOptionsAdded [13:13:10.843] base::options(opts) [13:13:10.843] } [13:13:10.843] { [13:13:10.843] { [13:13:10.843] NULL [13:13:10.843] RNGkind("Mersenne-Twister") [13:13:10.843] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:10.843] inherits = FALSE) [13:13:10.843] } [13:13:10.843] options(future.plan = NULL) [13:13:10.843] if (is.na(NA_character_)) [13:13:10.843] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.843] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:10.843] future::plan(list(function (..., envir = parent.frame()) [13:13:10.843] { [13:13:10.843] future <- SequentialFuture(..., envir = envir) [13:13:10.843] if (!future$lazy) [13:13:10.843] future <- run(future) [13:13:10.843] invisible(future) [13:13:10.843] }), .cleanup = FALSE, .init = FALSE) [13:13:10.843] } [13:13:10.843] } [13:13:10.843] } [13:13:10.843] }) [13:13:10.843] if (TRUE) { [13:13:10.843] base::sink(type = "output", split = FALSE) [13:13:10.843] if (TRUE) { [13:13:10.843] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:10.843] } [13:13:10.843] else { [13:13:10.843] ...future.result["stdout"] <- base::list(NULL) [13:13:10.843] } [13:13:10.843] base::close(...future.stdout) [13:13:10.843] ...future.stdout <- NULL [13:13:10.843] } [13:13:10.843] ...future.result$conditions <- ...future.conditions [13:13:10.843] ...future.result$finished <- base::Sys.time() [13:13:10.843] ...future.result [13:13:10.843] } [13:13:10.847] assign_globals() ... [13:13:10.847] List of 5 [13:13:10.847] $ future.call.arguments : list() [13:13:10.847] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.847] $ ...future.FUN :function (x) [13:13:10.847] $ ...future.elements_ii :List of 2 [13:13:10.847] ..$ : num [1:8] 3 3 3 3 3 3 3 3 [13:13:10.847] ..$ : num [1:8] 4 3 2 1 2 3 4 5 [13:13:10.847] $ ...future.seeds_ii : NULL [13:13:10.847] $ ...future.globals.maxSize: num Inf [13:13:10.847] - attr(*, "resolved")= logi FALSE [13:13:10.847] - attr(*, "total_size")= num NA [13:13:10.847] - attr(*, "where")=List of 5 [13:13:10.847] ..$ future.call.arguments : [13:13:10.847] ..$ ...future.FUN : [13:13:10.847] ..$ ...future.elements_ii : [13:13:10.847] ..$ ...future.seeds_ii : [13:13:10.847] ..$ ...future.globals.maxSize: [13:13:10.847] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.847] - attr(*, "already-done")= logi TRUE [13:13:10.854] - copied 'future.call.arguments' to environment [13:13:10.854] - copied '...future.FUN' to environment [13:13:10.854] - copied '...future.elements_ii' to environment [13:13:10.854] - copied '...future.seeds_ii' to environment [13:13:10.854] - copied '...future.globals.maxSize' to environment [13:13:10.855] assign_globals() ... done [13:13:10.855] plan(): Setting new future strategy stack: [13:13:10.855] List of future strategies: [13:13:10.855] 1. sequential: [13:13:10.855] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.855] - tweaked: FALSE [13:13:10.855] - call: NULL [13:13:10.856] plan(): nbrOfWorkers() = 1 [13:13:10.857] plan(): Setting new future strategy stack: [13:13:10.857] List of future strategies: [13:13:10.857] 1. sequential: [13:13:10.857] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.857] - tweaked: FALSE [13:13:10.857] - call: plan(strategy) [13:13:10.858] plan(): nbrOfWorkers() = 1 [13:13:10.858] SequentialFuture started (and completed) [13:13:10.858] - Launch lazy future ... done [13:13:10.858] run() for 'SequentialFuture' ... done [13:13:10.859] Created future: [13:13:10.859] SequentialFuture: [13:13:10.859] Label: 'future_apply-1' [13:13:10.859] Expression: [13:13:10.859] { [13:13:10.859] do.call(function(...) { [13:13:10.859] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.859] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.859] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.859] on.exit(options(oopts), add = TRUE) [13:13:10.859] } [13:13:10.859] { [13:13:10.859] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.859] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.859] ...future.FUN(...future.X_jj, ...) [13:13:10.859] }) [13:13:10.859] } [13:13:10.859] }, args = future.call.arguments) [13:13:10.859] } [13:13:10.859] Lazy evaluation: FALSE [13:13:10.859] Asynchronous evaluation: FALSE [13:13:10.859] Local evaluation: TRUE [13:13:10.859] Environment: R_GlobalEnv [13:13:10.859] Capture standard output: TRUE [13:13:10.859] Capture condition classes: 'condition' (excluding 'nothing') [13:13:10.859] Globals: 5 objects totaling 1.10 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 224 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:10.859] Packages: [13:13:10.859] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:10.859] Resolved: TRUE [13:13:10.859] Value: 224 bytes of class 'list' [13:13:10.859] Early signaling: FALSE [13:13:10.859] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:10.859] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.860] Chunk #1 of 1 ... DONE [13:13:10.860] Launching 1 futures (chunks) ... DONE [13:13:10.860] Resolving 1 futures (chunks) ... [13:13:10.861] resolve() on list ... [13:13:10.861] recursive: 0 [13:13:10.861] length: 1 [13:13:10.861] [13:13:10.861] resolved() for 'SequentialFuture' ... [13:13:10.861] - state: 'finished' [13:13:10.862] - run: TRUE [13:13:10.862] - result: 'FutureResult' [13:13:10.862] resolved() for 'SequentialFuture' ... done [13:13:10.862] Future #1 [13:13:10.862] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:10.863] - nx: 1 [13:13:10.863] - relay: TRUE [13:13:10.863] - stdout: TRUE [13:13:10.863] - signal: TRUE [13:13:10.863] - resignal: FALSE [13:13:10.863] - force: TRUE [13:13:10.863] - relayed: [n=1] FALSE [13:13:10.864] - queued futures: [n=1] FALSE [13:13:10.864] - until=1 [13:13:10.864] - relaying element #1 [13:13:10.864] - relayed: [n=1] TRUE [13:13:10.864] - queued futures: [n=1] TRUE [13:13:10.865] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:10.865] length: 0 (resolved future 1) [13:13:10.865] Relaying remaining futures [13:13:10.865] signalConditionsASAP(NULL, pos=0) ... [13:13:10.865] - nx: 1 [13:13:10.865] - relay: TRUE [13:13:10.865] - stdout: TRUE [13:13:10.866] - signal: TRUE [13:13:10.866] - resignal: FALSE [13:13:10.866] - force: TRUE [13:13:10.866] - relayed: [n=1] TRUE [13:13:10.866] - queued futures: [n=1] TRUE - flush all [13:13:10.866] - relayed: [n=1] TRUE [13:13:10.867] - queued futures: [n=1] TRUE [13:13:10.867] signalConditionsASAP(NULL, pos=0) ... done [13:13:10.867] resolve() on list ... DONE [13:13:10.867] - Number of value chunks collected: 1 [13:13:10.867] Resolving 1 futures (chunks) ... DONE [13:13:10.868] Reducing values from 1 chunks ... [13:13:10.868] - Number of values collected after concatenation: 2 [13:13:10.868] - Number of values expected: 2 [13:13:10.868] Reducing values from 1 chunks ... DONE [13:13:10.868] future_lapply() ... DONE col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 [13:13:10.869] getGlobalsAndPackagesXApply() ... [13:13:10.869] - future.globals: TRUE [13:13:10.869] getGlobalsAndPackages() ... [13:13:10.869] Searching for globals... [13:13:10.871] - globals found: [1] 'FUN' [13:13:10.871] Searching for globals ... DONE [13:13:10.871] Resolving globals: FALSE [13:13:10.872] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:10.872] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3,; 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5, 3, 3, 3,; 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5), dim = c(8L, 2L, 3L), dimnames = list(; row = NULL, col = c("x1", "x2"), C = c("cop.1", "cop.2",; "cop.3"))))') 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:13:10.873] - globals: [1] 'FUN' [13:13:10.873] [13:13:10.873] getGlobalsAndPackages() ... DONE [13:13:10.873] - globals found/used: [n=1] 'FUN' [13:13:10.873] - needed namespaces: [n=0] [13:13:10.874] Finding globals ... DONE [13:13:10.874] - use_args: TRUE [13:13:10.874] - Getting '...' globals ... [13:13:10.874] resolve() on list ... [13:13:10.874] recursive: 0 [13:13:10.875] length: 1 [13:13:10.875] elements: '...' [13:13:10.875] length: 0 (resolved future 1) [13:13:10.875] resolve() on list ... DONE [13:13:10.875] - '...' content: [n=0] [13:13:10.875] List of 1 [13:13:10.875] $ ...: list() [13:13:10.875] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.875] - attr(*, "where")=List of 1 [13:13:10.875] ..$ ...: [13:13:10.875] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.875] - attr(*, "resolved")= logi TRUE [13:13:10.875] - attr(*, "total_size")= num NA [13:13:10.878] - Getting '...' globals ... DONE [13:13:10.879] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:10.879] List of 2 [13:13:10.879] $ ...future.FUN:function (x) [13:13:10.879] $ ... : list() [13:13:10.879] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.879] - attr(*, "where")=List of 2 [13:13:10.879] ..$ ...future.FUN: [13:13:10.879] ..$ ... : [13:13:10.879] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.879] - attr(*, "resolved")= logi FALSE [13:13:10.879] - attr(*, "total_size")= num 848 [13:13:10.882] Packages to be attached in all futures: [n=0] [13:13:10.882] getGlobalsAndPackagesXApply() ... DONE [13:13:10.882] future_lapply() ... [13:13:10.883] Number of chunks: 1 [13:13:10.883] getGlobalsAndPackagesXApply() ... [13:13:10.883] - future.globals: with names 'list()' [13:13:10.884] - use_args: TRUE [13:13:10.884] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:10.884] List of 2 [13:13:10.884] $ ... : list() [13:13:10.884] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.884] $ ...future.FUN:function (x) [13:13:10.884] - attr(*, "where")=List of 2 [13:13:10.884] ..$ ... : [13:13:10.884] ..$ ...future.FUN: [13:13:10.884] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.884] - attr(*, "resolved")= logi FALSE [13:13:10.884] - attr(*, "total_size")= num NA [13:13:10.888] Packages to be attached in all futures: [n=0] [13:13:10.888] getGlobalsAndPackagesXApply() ... DONE [13:13:10.888] Number of futures (= number of chunks): 1 [13:13:10.888] Launching 1 futures (chunks) ... [13:13:10.888] Chunk #1 of 1 ... [13:13:10.889] - seeds: [13:13:10.889] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.889] getGlobalsAndPackages() ... [13:13:10.889] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.889] Resolving globals: FALSE [13:13:10.890] Tweak future expression to call with '...' arguments ... [13:13:10.890] { [13:13:10.890] do.call(function(...) { [13:13:10.890] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.890] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.890] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.890] on.exit(options(oopts), add = TRUE) [13:13:10.890] } [13:13:10.890] { [13:13:10.890] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.890] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.890] ...future.FUN(...future.X_jj, ...) [13:13:10.890] }) [13:13:10.890] } [13:13:10.890] }, args = future.call.arguments) [13:13:10.890] } [13:13:10.890] Tweak future expression to call with '...' arguments ... DONE [13:13:10.891] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.891] [13:13:10.891] getGlobalsAndPackages() ... DONE [13:13:10.891] run() for 'Future' ... [13:13:10.892] - state: 'created' [13:13:10.892] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:10.892] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.892] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:10.893] - Field: 'label' [13:13:10.893] - Field: 'local' [13:13:10.893] - Field: 'owner' [13:13:10.893] - Field: 'envir' [13:13:10.893] - Field: 'packages' [13:13:10.893] - Field: 'gc' [13:13:10.894] - Field: 'conditions' [13:13:10.894] - Field: 'expr' [13:13:10.894] - Field: 'uuid' [13:13:10.894] - Field: 'seed' [13:13:10.894] - Field: 'version' [13:13:10.894] - Field: 'result' [13:13:10.895] - Field: 'asynchronous' [13:13:10.895] - Field: 'calls' [13:13:10.895] - Field: 'globals' [13:13:10.895] - Field: 'stdout' [13:13:10.895] - Field: 'earlySignal' [13:13:10.895] - Field: 'lazy' [13:13:10.896] - Field: 'state' [13:13:10.896] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:10.897] - Launch lazy future ... [13:13:10.897] Packages needed by the future expression (n = 0): [13:13:10.897] Packages needed by future strategies (n = 0): [13:13:10.898] { [13:13:10.898] { [13:13:10.898] { [13:13:10.898] ...future.startTime <- base::Sys.time() [13:13:10.898] { [13:13:10.898] { [13:13:10.898] { [13:13:10.898] base::local({ [13:13:10.898] has_future <- base::requireNamespace("future", [13:13:10.898] quietly = TRUE) [13:13:10.898] if (has_future) { [13:13:10.898] ns <- base::getNamespace("future") [13:13:10.898] version <- ns[[".package"]][["version"]] [13:13:10.898] if (is.null(version)) [13:13:10.898] version <- utils::packageVersion("future") [13:13:10.898] } [13:13:10.898] else { [13:13:10.898] version <- NULL [13:13:10.898] } [13:13:10.898] if (!has_future || version < "1.8.0") { [13:13:10.898] info <- base::c(r_version = base::gsub("R version ", [13:13:10.898] "", base::R.version$version.string), [13:13:10.898] platform = base::sprintf("%s (%s-bit)", [13:13:10.898] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:10.898] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:10.898] "release", "version")], collapse = " "), [13:13:10.898] hostname = base::Sys.info()[["nodename"]]) [13:13:10.898] info <- base::sprintf("%s: %s", base::names(info), [13:13:10.898] info) [13:13:10.898] info <- base::paste(info, collapse = "; ") [13:13:10.898] if (!has_future) { [13:13:10.898] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:10.898] info) [13:13:10.898] } [13:13:10.898] else { [13:13:10.898] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:10.898] info, version) [13:13:10.898] } [13:13:10.898] base::stop(msg) [13:13:10.898] } [13:13:10.898] }) [13:13:10.898] } [13:13:10.898] options(future.plan = NULL) [13:13:10.898] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.898] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:10.898] } [13:13:10.898] ...future.workdir <- getwd() [13:13:10.898] } [13:13:10.898] ...future.oldOptions <- base::as.list(base::.Options) [13:13:10.898] ...future.oldEnvVars <- base::Sys.getenv() [13:13:10.898] } [13:13:10.898] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:10.898] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:10.898] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:10.898] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:10.898] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:10.898] future.stdout.windows.reencode = NULL, width = 80L) [13:13:10.898] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:10.898] base::names(...future.oldOptions)) [13:13:10.898] } [13:13:10.898] if (FALSE) { [13:13:10.898] } [13:13:10.898] else { [13:13:10.898] if (TRUE) { [13:13:10.898] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:10.898] open = "w") [13:13:10.898] } [13:13:10.898] else { [13:13:10.898] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:10.898] windows = "NUL", "/dev/null"), open = "w") [13:13:10.898] } [13:13:10.898] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:10.898] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:10.898] base::sink(type = "output", split = FALSE) [13:13:10.898] base::close(...future.stdout) [13:13:10.898] }, add = TRUE) [13:13:10.898] } [13:13:10.898] ...future.frame <- base::sys.nframe() [13:13:10.898] ...future.conditions <- base::list() [13:13:10.898] ...future.rng <- base::globalenv()$.Random.seed [13:13:10.898] if (FALSE) { [13:13:10.898] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:10.898] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:10.898] } [13:13:10.898] ...future.result <- base::tryCatch({ [13:13:10.898] base::withCallingHandlers({ [13:13:10.898] ...future.value <- base::withVisible(base::local({ [13:13:10.898] do.call(function(...) { [13:13:10.898] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.898] if (!identical(...future.globals.maxSize.org, [13:13:10.898] ...future.globals.maxSize)) { [13:13:10.898] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.898] on.exit(options(oopts), add = TRUE) [13:13:10.898] } [13:13:10.898] { [13:13:10.898] lapply(seq_along(...future.elements_ii), [13:13:10.898] FUN = function(jj) { [13:13:10.898] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.898] ...future.FUN(...future.X_jj, ...) [13:13:10.898] }) [13:13:10.898] } [13:13:10.898] }, args = future.call.arguments) [13:13:10.898] })) [13:13:10.898] future::FutureResult(value = ...future.value$value, [13:13:10.898] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.898] ...future.rng), globalenv = if (FALSE) [13:13:10.898] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:10.898] ...future.globalenv.names)) [13:13:10.898] else NULL, started = ...future.startTime, version = "1.8") [13:13:10.898] }, condition = base::local({ [13:13:10.898] c <- base::c [13:13:10.898] inherits <- base::inherits [13:13:10.898] invokeRestart <- base::invokeRestart [13:13:10.898] length <- base::length [13:13:10.898] list <- base::list [13:13:10.898] seq.int <- base::seq.int [13:13:10.898] signalCondition <- base::signalCondition [13:13:10.898] sys.calls <- base::sys.calls [13:13:10.898] `[[` <- base::`[[` [13:13:10.898] `+` <- base::`+` [13:13:10.898] `<<-` <- base::`<<-` [13:13:10.898] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:10.898] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:10.898] 3L)] [13:13:10.898] } [13:13:10.898] function(cond) { [13:13:10.898] is_error <- inherits(cond, "error") [13:13:10.898] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:10.898] NULL) [13:13:10.898] if (is_error) { [13:13:10.898] sessionInformation <- function() { [13:13:10.898] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:10.898] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:10.898] search = base::search(), system = base::Sys.info()) [13:13:10.898] } [13:13:10.898] ...future.conditions[[length(...future.conditions) + [13:13:10.898] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:10.898] cond$call), session = sessionInformation(), [13:13:10.898] timestamp = base::Sys.time(), signaled = 0L) [13:13:10.898] signalCondition(cond) [13:13:10.898] } [13:13:10.898] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:10.898] "immediateCondition"))) { [13:13:10.898] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:10.898] ...future.conditions[[length(...future.conditions) + [13:13:10.898] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:10.898] if (TRUE && !signal) { [13:13:10.898] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.898] { [13:13:10.898] inherits <- base::inherits [13:13:10.898] invokeRestart <- base::invokeRestart [13:13:10.898] is.null <- base::is.null [13:13:10.898] muffled <- FALSE [13:13:10.898] if (inherits(cond, "message")) { [13:13:10.898] muffled <- grepl(pattern, "muffleMessage") [13:13:10.898] if (muffled) [13:13:10.898] invokeRestart("muffleMessage") [13:13:10.898] } [13:13:10.898] else if (inherits(cond, "warning")) { [13:13:10.898] muffled <- grepl(pattern, "muffleWarning") [13:13:10.898] if (muffled) [13:13:10.898] invokeRestart("muffleWarning") [13:13:10.898] } [13:13:10.898] else if (inherits(cond, "condition")) { [13:13:10.898] if (!is.null(pattern)) { [13:13:10.898] computeRestarts <- base::computeRestarts [13:13:10.898] grepl <- base::grepl [13:13:10.898] restarts <- computeRestarts(cond) [13:13:10.898] for (restart in restarts) { [13:13:10.898] name <- restart$name [13:13:10.898] if (is.null(name)) [13:13:10.898] next [13:13:10.898] if (!grepl(pattern, name)) [13:13:10.898] next [13:13:10.898] invokeRestart(restart) [13:13:10.898] muffled <- TRUE [13:13:10.898] break [13:13:10.898] } [13:13:10.898] } [13:13:10.898] } [13:13:10.898] invisible(muffled) [13:13:10.898] } [13:13:10.898] muffleCondition(cond, pattern = "^muffle") [13:13:10.898] } [13:13:10.898] } [13:13:10.898] else { [13:13:10.898] if (TRUE) { [13:13:10.898] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.898] { [13:13:10.898] inherits <- base::inherits [13:13:10.898] invokeRestart <- base::invokeRestart [13:13:10.898] is.null <- base::is.null [13:13:10.898] muffled <- FALSE [13:13:10.898] if (inherits(cond, "message")) { [13:13:10.898] muffled <- grepl(pattern, "muffleMessage") [13:13:10.898] if (muffled) [13:13:10.898] invokeRestart("muffleMessage") [13:13:10.898] } [13:13:10.898] else if (inherits(cond, "warning")) { [13:13:10.898] muffled <- grepl(pattern, "muffleWarning") [13:13:10.898] if (muffled) [13:13:10.898] invokeRestart("muffleWarning") [13:13:10.898] } [13:13:10.898] else if (inherits(cond, "condition")) { [13:13:10.898] if (!is.null(pattern)) { [13:13:10.898] computeRestarts <- base::computeRestarts [13:13:10.898] grepl <- base::grepl [13:13:10.898] restarts <- computeRestarts(cond) [13:13:10.898] for (restart in restarts) { [13:13:10.898] name <- restart$name [13:13:10.898] if (is.null(name)) [13:13:10.898] next [13:13:10.898] if (!grepl(pattern, name)) [13:13:10.898] next [13:13:10.898] invokeRestart(restart) [13:13:10.898] muffled <- TRUE [13:13:10.898] break [13:13:10.898] } [13:13:10.898] } [13:13:10.898] } [13:13:10.898] invisible(muffled) [13:13:10.898] } [13:13:10.898] muffleCondition(cond, pattern = "^muffle") [13:13:10.898] } [13:13:10.898] } [13:13:10.898] } [13:13:10.898] })) [13:13:10.898] }, error = function(ex) { [13:13:10.898] base::structure(base::list(value = NULL, visible = NULL, [13:13:10.898] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.898] ...future.rng), started = ...future.startTime, [13:13:10.898] finished = Sys.time(), session_uuid = NA_character_, [13:13:10.898] version = "1.8"), class = "FutureResult") [13:13:10.898] }, finally = { [13:13:10.898] if (!identical(...future.workdir, getwd())) [13:13:10.898] setwd(...future.workdir) [13:13:10.898] { [13:13:10.898] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:10.898] ...future.oldOptions$nwarnings <- NULL [13:13:10.898] } [13:13:10.898] base::options(...future.oldOptions) [13:13:10.898] if (.Platform$OS.type == "windows") { [13:13:10.898] old_names <- names(...future.oldEnvVars) [13:13:10.898] envs <- base::Sys.getenv() [13:13:10.898] names <- names(envs) [13:13:10.898] common <- intersect(names, old_names) [13:13:10.898] added <- setdiff(names, old_names) [13:13:10.898] removed <- setdiff(old_names, names) [13:13:10.898] changed <- common[...future.oldEnvVars[common] != [13:13:10.898] envs[common]] [13:13:10.898] NAMES <- toupper(changed) [13:13:10.898] args <- list() [13:13:10.898] for (kk in seq_along(NAMES)) { [13:13:10.898] name <- changed[[kk]] [13:13:10.898] NAME <- NAMES[[kk]] [13:13:10.898] if (name != NAME && is.element(NAME, old_names)) [13:13:10.898] next [13:13:10.898] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.898] } [13:13:10.898] NAMES <- toupper(added) [13:13:10.898] for (kk in seq_along(NAMES)) { [13:13:10.898] name <- added[[kk]] [13:13:10.898] NAME <- NAMES[[kk]] [13:13:10.898] if (name != NAME && is.element(NAME, old_names)) [13:13:10.898] next [13:13:10.898] args[[name]] <- "" [13:13:10.898] } [13:13:10.898] NAMES <- toupper(removed) [13:13:10.898] for (kk in seq_along(NAMES)) { [13:13:10.898] name <- removed[[kk]] [13:13:10.898] NAME <- NAMES[[kk]] [13:13:10.898] if (name != NAME && is.element(NAME, old_names)) [13:13:10.898] next [13:13:10.898] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.898] } [13:13:10.898] if (length(args) > 0) [13:13:10.898] base::do.call(base::Sys.setenv, args = args) [13:13:10.898] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:10.898] } [13:13:10.898] else { [13:13:10.898] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:10.898] } [13:13:10.898] { [13:13:10.898] if (base::length(...future.futureOptionsAdded) > [13:13:10.898] 0L) { [13:13:10.898] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:10.898] base::names(opts) <- ...future.futureOptionsAdded [13:13:10.898] base::options(opts) [13:13:10.898] } [13:13:10.898] { [13:13:10.898] { [13:13:10.898] NULL [13:13:10.898] RNGkind("Mersenne-Twister") [13:13:10.898] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:10.898] inherits = FALSE) [13:13:10.898] } [13:13:10.898] options(future.plan = NULL) [13:13:10.898] if (is.na(NA_character_)) [13:13:10.898] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.898] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:10.898] future::plan(list(function (..., envir = parent.frame()) [13:13:10.898] { [13:13:10.898] future <- SequentialFuture(..., envir = envir) [13:13:10.898] if (!future$lazy) [13:13:10.898] future <- run(future) [13:13:10.898] invisible(future) [13:13:10.898] }), .cleanup = FALSE, .init = FALSE) [13:13:10.898] } [13:13:10.898] } [13:13:10.898] } [13:13:10.898] }) [13:13:10.898] if (TRUE) { [13:13:10.898] base::sink(type = "output", split = FALSE) [13:13:10.898] if (TRUE) { [13:13:10.898] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:10.898] } [13:13:10.898] else { [13:13:10.898] ...future.result["stdout"] <- base::list(NULL) [13:13:10.898] } [13:13:10.898] base::close(...future.stdout) [13:13:10.898] ...future.stdout <- NULL [13:13:10.898] } [13:13:10.898] ...future.result$conditions <- ...future.conditions [13:13:10.898] ...future.result$finished <- base::Sys.time() [13:13:10.898] ...future.result [13:13:10.898] } [13:13:10.901] assign_globals() ... [13:13:10.902] List of 5 [13:13:10.902] $ future.call.arguments : list() [13:13:10.902] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.902] $ ...future.FUN :function (x) [13:13:10.902] $ ...future.elements_ii :List of 6 [13:13:10.902] ..$ : num [1:8] 3 3 3 3 3 3 3 3 [13:13:10.902] ..$ : num [1:8] 4 3 2 1 2 3 4 5 [13:13:10.902] ..$ : num [1:8] 3 3 3 3 3 3 3 3 [13:13:10.902] ..$ : num [1:8] 4 3 2 1 2 3 4 5 [13:13:10.902] ..$ : num [1:8] 3 3 3 3 3 3 3 3 [13:13:10.902] ..$ : num [1:8] 4 3 2 1 2 3 4 5 [13:13:10.902] $ ...future.seeds_ii : NULL [13:13:10.902] $ ...future.globals.maxSize: num Inf [13:13:10.902] - attr(*, "resolved")= logi FALSE [13:13:10.902] - attr(*, "total_size")= num NA [13:13:10.902] - attr(*, "where")=List of 5 [13:13:10.902] ..$ future.call.arguments : [13:13:10.902] ..$ ...future.FUN : [13:13:10.902] ..$ ...future.elements_ii : [13:13:10.902] ..$ ...future.seeds_ii : [13:13:10.902] ..$ ...future.globals.maxSize: [13:13:10.902] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.902] - attr(*, "already-done")= logi TRUE [13:13:10.909] - copied 'future.call.arguments' to environment [13:13:10.909] - copied '...future.FUN' to environment [13:13:10.909] - copied '...future.elements_ii' to environment [13:13:10.910] - copied '...future.seeds_ii' to environment [13:13:10.910] - copied '...future.globals.maxSize' to environment [13:13:10.910] assign_globals() ... done [13:13:10.910] plan(): Setting new future strategy stack: [13:13:10.910] List of future strategies: [13:13:10.910] 1. sequential: [13:13:10.910] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.910] - tweaked: FALSE [13:13:10.910] - call: NULL [13:13:10.911] plan(): nbrOfWorkers() = 1 [13:13:10.912] plan(): Setting new future strategy stack: [13:13:10.912] List of future strategies: [13:13:10.912] 1. sequential: [13:13:10.912] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.912] - tweaked: FALSE [13:13:10.912] - call: plan(strategy) [13:13:10.913] plan(): nbrOfWorkers() = 1 [13:13:10.913] SequentialFuture started (and completed) [13:13:10.913] - Launch lazy future ... done [13:13:10.913] run() for 'SequentialFuture' ... done [13:13:10.914] Created future: [13:13:10.914] SequentialFuture: [13:13:10.914] Label: 'future_apply-1' [13:13:10.914] Expression: [13:13:10.914] { [13:13:10.914] do.call(function(...) { [13:13:10.914] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.914] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.914] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.914] on.exit(options(oopts), add = TRUE) [13:13:10.914] } [13:13:10.914] { [13:13:10.914] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.914] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.914] ...future.FUN(...future.X_jj, ...) [13:13:10.914] }) [13:13:10.914] } [13:13:10.914] }, args = future.call.arguments) [13:13:10.914] } [13:13:10.914] Lazy evaluation: FALSE [13:13:10.914] Asynchronous evaluation: FALSE [13:13:10.914] Local evaluation: TRUE [13:13:10.914] Environment: R_GlobalEnv [13:13:10.914] Capture standard output: TRUE [13:13:10.914] Capture condition classes: 'condition' (excluding 'nothing') [13:13:10.914] Globals: 5 objects totaling 1.54 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 672 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:10.914] Packages: [13:13:10.914] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:10.914] Resolved: TRUE [13:13:10.914] Value: 672 bytes of class 'list' [13:13:10.914] Early signaling: FALSE [13:13:10.914] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:10.914] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.915] Chunk #1 of 1 ... DONE [13:13:10.915] Launching 1 futures (chunks) ... DONE [13:13:10.915] Resolving 1 futures (chunks) ... [13:13:10.916] resolve() on list ... [13:13:10.916] recursive: 0 [13:13:10.916] length: 1 [13:13:10.916] [13:13:10.916] resolved() for 'SequentialFuture' ... [13:13:10.916] - state: 'finished' [13:13:10.917] - run: TRUE [13:13:10.917] - result: 'FutureResult' [13:13:10.917] resolved() for 'SequentialFuture' ... done [13:13:10.917] Future #1 [13:13:10.917] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:10.918] - nx: 1 [13:13:10.918] - relay: TRUE [13:13:10.918] - stdout: TRUE [13:13:10.918] - signal: TRUE [13:13:10.918] - resignal: FALSE [13:13:10.918] - force: TRUE [13:13:10.918] - relayed: [n=1] FALSE [13:13:10.919] - queued futures: [n=1] FALSE [13:13:10.919] - until=1 [13:13:10.919] - relaying element #1 [13:13:10.919] - relayed: [n=1] TRUE [13:13:10.919] - queued futures: [n=1] TRUE [13:13:10.919] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:10.920] length: 0 (resolved future 1) [13:13:10.920] Relaying remaining futures [13:13:10.920] signalConditionsASAP(NULL, pos=0) ... [13:13:10.920] - nx: 1 [13:13:10.920] - relay: TRUE [13:13:10.921] - stdout: TRUE [13:13:10.921] - signal: TRUE [13:13:10.921] - resignal: FALSE [13:13:10.921] - force: TRUE [13:13:10.921] - relayed: [n=1] TRUE [13:13:10.921] - queued futures: [n=1] TRUE - flush all [13:13:10.922] - relayed: [n=1] TRUE [13:13:10.922] - queued futures: [n=1] TRUE [13:13:10.922] signalConditionsASAP(NULL, pos=0) ... done [13:13:10.922] resolve() on list ... DONE [13:13:10.922] - Number of value chunks collected: 1 [13:13:10.922] Resolving 1 futures (chunks) ... DONE [13:13:10.923] Reducing values from 1 chunks ... [13:13:10.923] - Number of values collected after concatenation: 6 [13:13:10.923] - Number of values expected: 6 [13:13:10.923] Reducing values from 1 chunks ... DONE [13:13:10.923] future_lapply() ... DONE , , C = cop.1 col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 , , C = cop.2 col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 , , C = cop.3 col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 [13:13:10.924] getGlobalsAndPackagesXApply() ... [13:13:10.924] - future.globals: TRUE [13:13:10.924] getGlobalsAndPackages() ... [13:13:10.924] Searching for globals... [13:13:10.926] - globals found: [3] 'FUN', 'seq_len', 'max' [13:13:10.927] Searching for globals ... DONE [13:13:10.927] Resolving globals: FALSE [13:13:10.927] The total size of the 1 globals is 1.73 KiB (1768 bytes) [13:13:10.928] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:24, dim = 2:4))') is 1.73 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.73 KiB of class 'function') [13:13:10.928] - globals: [1] 'FUN' [13:13:10.928] [13:13:10.928] getGlobalsAndPackages() ... DONE [13:13:10.928] - globals found/used: [n=1] 'FUN' [13:13:10.928] - needed namespaces: [n=0] [13:13:10.929] Finding globals ... DONE [13:13:10.929] - use_args: TRUE [13:13:10.929] - Getting '...' globals ... [13:13:10.929] resolve() on list ... [13:13:10.929] recursive: 0 [13:13:10.930] length: 1 [13:13:10.930] elements: '...' [13:13:10.930] length: 0 (resolved future 1) [13:13:10.930] resolve() on list ... DONE [13:13:10.930] - '...' content: [n=0] [13:13:10.930] List of 1 [13:13:10.930] $ ...: list() [13:13:10.930] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.930] - attr(*, "where")=List of 1 [13:13:10.930] ..$ ...: [13:13:10.930] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.930] - attr(*, "resolved")= logi TRUE [13:13:10.930] - attr(*, "total_size")= num NA [13:13:10.933] - Getting '...' globals ... DONE [13:13:10.933] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:10.934] List of 2 [13:13:10.934] $ ...future.FUN:function (x) [13:13:10.934] $ ... : list() [13:13:10.934] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.934] - attr(*, "where")=List of 2 [13:13:10.934] ..$ ...future.FUN: [13:13:10.934] ..$ ... : [13:13:10.934] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.934] - attr(*, "resolved")= logi FALSE [13:13:10.934] - attr(*, "total_size")= num 1768 [13:13:10.937] Packages to be attached in all futures: [n=0] [13:13:10.937] getGlobalsAndPackagesXApply() ... DONE [13:13:10.937] future_lapply() ... [13:13:10.938] Number of chunks: 1 [13:13:10.938] getGlobalsAndPackagesXApply() ... [13:13:10.938] - future.globals: with names 'list()' [13:13:10.938] - use_args: TRUE [13:13:10.939] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:10.939] List of 2 [13:13:10.939] $ ... : list() [13:13:10.939] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.939] $ ...future.FUN:function (x) [13:13:10.939] - attr(*, "where")=List of 2 [13:13:10.939] ..$ ... : [13:13:10.939] ..$ ...future.FUN: [13:13:10.939] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.939] - attr(*, "resolved")= logi FALSE [13:13:10.939] - attr(*, "total_size")= num NA [13:13:10.942] Packages to be attached in all futures: [n=0] [13:13:10.942] getGlobalsAndPackagesXApply() ... DONE [13:13:10.942] Number of futures (= number of chunks): 1 [13:13:10.942] Launching 1 futures (chunks) ... [13:13:10.942] Chunk #1 of 1 ... [13:13:10.943] - seeds: [13:13:10.943] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.943] getGlobalsAndPackages() ... [13:13:10.943] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.943] Resolving globals: FALSE [13:13:10.944] Tweak future expression to call with '...' arguments ... [13:13:10.944] { [13:13:10.944] do.call(function(...) { [13:13:10.944] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.944] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.944] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.944] on.exit(options(oopts), add = TRUE) [13:13:10.944] } [13:13:10.944] { [13:13:10.944] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.944] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.944] ...future.FUN(...future.X_jj, ...) [13:13:10.944] }) [13:13:10.944] } [13:13:10.944] }, args = future.call.arguments) [13:13:10.944] } [13:13:10.944] Tweak future expression to call with '...' arguments ... DONE [13:13:10.945] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.945] [13:13:10.945] getGlobalsAndPackages() ... DONE [13:13:10.945] run() for 'Future' ... [13:13:10.945] - state: 'created' [13:13:10.946] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:10.946] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.946] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:10.946] - Field: 'label' [13:13:10.946] - Field: 'local' [13:13:10.947] - Field: 'owner' [13:13:10.947] - Field: 'envir' [13:13:10.948] - Field: 'packages' [13:13:10.948] - Field: 'gc' [13:13:10.948] - Field: 'conditions' [13:13:10.948] - Field: 'expr' [13:13:10.948] - Field: 'uuid' [13:13:10.948] - Field: 'seed' [13:13:10.949] - Field: 'version' [13:13:10.949] - Field: 'result' [13:13:10.949] - Field: 'asynchronous' [13:13:10.949] - Field: 'calls' [13:13:10.949] - Field: 'globals' [13:13:10.949] - Field: 'stdout' [13:13:10.950] - Field: 'earlySignal' [13:13:10.950] - Field: 'lazy' [13:13:10.950] - Field: 'state' [13:13:10.950] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:10.950] - Launch lazy future ... [13:13:10.951] Packages needed by the future expression (n = 0): [13:13:10.951] Packages needed by future strategies (n = 0): [13:13:10.951] { [13:13:10.951] { [13:13:10.951] { [13:13:10.951] ...future.startTime <- base::Sys.time() [13:13:10.951] { [13:13:10.951] { [13:13:10.951] { [13:13:10.951] base::local({ [13:13:10.951] has_future <- base::requireNamespace("future", [13:13:10.951] quietly = TRUE) [13:13:10.951] if (has_future) { [13:13:10.951] ns <- base::getNamespace("future") [13:13:10.951] version <- ns[[".package"]][["version"]] [13:13:10.951] if (is.null(version)) [13:13:10.951] version <- utils::packageVersion("future") [13:13:10.951] } [13:13:10.951] else { [13:13:10.951] version <- NULL [13:13:10.951] } [13:13:10.951] if (!has_future || version < "1.8.0") { [13:13:10.951] info <- base::c(r_version = base::gsub("R version ", [13:13:10.951] "", base::R.version$version.string), [13:13:10.951] platform = base::sprintf("%s (%s-bit)", [13:13:10.951] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:10.951] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:10.951] "release", "version")], collapse = " "), [13:13:10.951] hostname = base::Sys.info()[["nodename"]]) [13:13:10.951] info <- base::sprintf("%s: %s", base::names(info), [13:13:10.951] info) [13:13:10.951] info <- base::paste(info, collapse = "; ") [13:13:10.951] if (!has_future) { [13:13:10.951] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:10.951] info) [13:13:10.951] } [13:13:10.951] else { [13:13:10.951] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:10.951] info, version) [13:13:10.951] } [13:13:10.951] base::stop(msg) [13:13:10.951] } [13:13:10.951] }) [13:13:10.951] } [13:13:10.951] options(future.plan = NULL) [13:13:10.951] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.951] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:10.951] } [13:13:10.951] ...future.workdir <- getwd() [13:13:10.951] } [13:13:10.951] ...future.oldOptions <- base::as.list(base::.Options) [13:13:10.951] ...future.oldEnvVars <- base::Sys.getenv() [13:13:10.951] } [13:13:10.951] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:10.951] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:10.951] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:10.951] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:10.951] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:10.951] future.stdout.windows.reencode = NULL, width = 80L) [13:13:10.951] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:10.951] base::names(...future.oldOptions)) [13:13:10.951] } [13:13:10.951] if (FALSE) { [13:13:10.951] } [13:13:10.951] else { [13:13:10.951] if (TRUE) { [13:13:10.951] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:10.951] open = "w") [13:13:10.951] } [13:13:10.951] else { [13:13:10.951] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:10.951] windows = "NUL", "/dev/null"), open = "w") [13:13:10.951] } [13:13:10.951] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:10.951] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:10.951] base::sink(type = "output", split = FALSE) [13:13:10.951] base::close(...future.stdout) [13:13:10.951] }, add = TRUE) [13:13:10.951] } [13:13:10.951] ...future.frame <- base::sys.nframe() [13:13:10.951] ...future.conditions <- base::list() [13:13:10.951] ...future.rng <- base::globalenv()$.Random.seed [13:13:10.951] if (FALSE) { [13:13:10.951] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:10.951] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:10.951] } [13:13:10.951] ...future.result <- base::tryCatch({ [13:13:10.951] base::withCallingHandlers({ [13:13:10.951] ...future.value <- base::withVisible(base::local({ [13:13:10.951] do.call(function(...) { [13:13:10.951] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.951] if (!identical(...future.globals.maxSize.org, [13:13:10.951] ...future.globals.maxSize)) { [13:13:10.951] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.951] on.exit(options(oopts), add = TRUE) [13:13:10.951] } [13:13:10.951] { [13:13:10.951] lapply(seq_along(...future.elements_ii), [13:13:10.951] FUN = function(jj) { [13:13:10.951] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.951] ...future.FUN(...future.X_jj, ...) [13:13:10.951] }) [13:13:10.951] } [13:13:10.951] }, args = future.call.arguments) [13:13:10.951] })) [13:13:10.951] future::FutureResult(value = ...future.value$value, [13:13:10.951] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.951] ...future.rng), globalenv = if (FALSE) [13:13:10.951] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:10.951] ...future.globalenv.names)) [13:13:10.951] else NULL, started = ...future.startTime, version = "1.8") [13:13:10.951] }, condition = base::local({ [13:13:10.951] c <- base::c [13:13:10.951] inherits <- base::inherits [13:13:10.951] invokeRestart <- base::invokeRestart [13:13:10.951] length <- base::length [13:13:10.951] list <- base::list [13:13:10.951] seq.int <- base::seq.int [13:13:10.951] signalCondition <- base::signalCondition [13:13:10.951] sys.calls <- base::sys.calls [13:13:10.951] `[[` <- base::`[[` [13:13:10.951] `+` <- base::`+` [13:13:10.951] `<<-` <- base::`<<-` [13:13:10.951] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:10.951] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:10.951] 3L)] [13:13:10.951] } [13:13:10.951] function(cond) { [13:13:10.951] is_error <- inherits(cond, "error") [13:13:10.951] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:10.951] NULL) [13:13:10.951] if (is_error) { [13:13:10.951] sessionInformation <- function() { [13:13:10.951] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:10.951] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:10.951] search = base::search(), system = base::Sys.info()) [13:13:10.951] } [13:13:10.951] ...future.conditions[[length(...future.conditions) + [13:13:10.951] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:10.951] cond$call), session = sessionInformation(), [13:13:10.951] timestamp = base::Sys.time(), signaled = 0L) [13:13:10.951] signalCondition(cond) [13:13:10.951] } [13:13:10.951] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:10.951] "immediateCondition"))) { [13:13:10.951] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:10.951] ...future.conditions[[length(...future.conditions) + [13:13:10.951] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:10.951] if (TRUE && !signal) { [13:13:10.951] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.951] { [13:13:10.951] inherits <- base::inherits [13:13:10.951] invokeRestart <- base::invokeRestart [13:13:10.951] is.null <- base::is.null [13:13:10.951] muffled <- FALSE [13:13:10.951] if (inherits(cond, "message")) { [13:13:10.951] muffled <- grepl(pattern, "muffleMessage") [13:13:10.951] if (muffled) [13:13:10.951] invokeRestart("muffleMessage") [13:13:10.951] } [13:13:10.951] else if (inherits(cond, "warning")) { [13:13:10.951] muffled <- grepl(pattern, "muffleWarning") [13:13:10.951] if (muffled) [13:13:10.951] invokeRestart("muffleWarning") [13:13:10.951] } [13:13:10.951] else if (inherits(cond, "condition")) { [13:13:10.951] if (!is.null(pattern)) { [13:13:10.951] computeRestarts <- base::computeRestarts [13:13:10.951] grepl <- base::grepl [13:13:10.951] restarts <- computeRestarts(cond) [13:13:10.951] for (restart in restarts) { [13:13:10.951] name <- restart$name [13:13:10.951] if (is.null(name)) [13:13:10.951] next [13:13:10.951] if (!grepl(pattern, name)) [13:13:10.951] next [13:13:10.951] invokeRestart(restart) [13:13:10.951] muffled <- TRUE [13:13:10.951] break [13:13:10.951] } [13:13:10.951] } [13:13:10.951] } [13:13:10.951] invisible(muffled) [13:13:10.951] } [13:13:10.951] muffleCondition(cond, pattern = "^muffle") [13:13:10.951] } [13:13:10.951] } [13:13:10.951] else { [13:13:10.951] if (TRUE) { [13:13:10.951] muffleCondition <- function (cond, pattern = "^muffle") [13:13:10.951] { [13:13:10.951] inherits <- base::inherits [13:13:10.951] invokeRestart <- base::invokeRestart [13:13:10.951] is.null <- base::is.null [13:13:10.951] muffled <- FALSE [13:13:10.951] if (inherits(cond, "message")) { [13:13:10.951] muffled <- grepl(pattern, "muffleMessage") [13:13:10.951] if (muffled) [13:13:10.951] invokeRestart("muffleMessage") [13:13:10.951] } [13:13:10.951] else if (inherits(cond, "warning")) { [13:13:10.951] muffled <- grepl(pattern, "muffleWarning") [13:13:10.951] if (muffled) [13:13:10.951] invokeRestart("muffleWarning") [13:13:10.951] } [13:13:10.951] else if (inherits(cond, "condition")) { [13:13:10.951] if (!is.null(pattern)) { [13:13:10.951] computeRestarts <- base::computeRestarts [13:13:10.951] grepl <- base::grepl [13:13:10.951] restarts <- computeRestarts(cond) [13:13:10.951] for (restart in restarts) { [13:13:10.951] name <- restart$name [13:13:10.951] if (is.null(name)) [13:13:10.951] next [13:13:10.951] if (!grepl(pattern, name)) [13:13:10.951] next [13:13:10.951] invokeRestart(restart) [13:13:10.951] muffled <- TRUE [13:13:10.951] break [13:13:10.951] } [13:13:10.951] } [13:13:10.951] } [13:13:10.951] invisible(muffled) [13:13:10.951] } [13:13:10.951] muffleCondition(cond, pattern = "^muffle") [13:13:10.951] } [13:13:10.951] } [13:13:10.951] } [13:13:10.951] })) [13:13:10.951] }, error = function(ex) { [13:13:10.951] base::structure(base::list(value = NULL, visible = NULL, [13:13:10.951] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:10.951] ...future.rng), started = ...future.startTime, [13:13:10.951] finished = Sys.time(), session_uuid = NA_character_, [13:13:10.951] version = "1.8"), class = "FutureResult") [13:13:10.951] }, finally = { [13:13:10.951] if (!identical(...future.workdir, getwd())) [13:13:10.951] setwd(...future.workdir) [13:13:10.951] { [13:13:10.951] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:10.951] ...future.oldOptions$nwarnings <- NULL [13:13:10.951] } [13:13:10.951] base::options(...future.oldOptions) [13:13:10.951] if (.Platform$OS.type == "windows") { [13:13:10.951] old_names <- names(...future.oldEnvVars) [13:13:10.951] envs <- base::Sys.getenv() [13:13:10.951] names <- names(envs) [13:13:10.951] common <- intersect(names, old_names) [13:13:10.951] added <- setdiff(names, old_names) [13:13:10.951] removed <- setdiff(old_names, names) [13:13:10.951] changed <- common[...future.oldEnvVars[common] != [13:13:10.951] envs[common]] [13:13:10.951] NAMES <- toupper(changed) [13:13:10.951] args <- list() [13:13:10.951] for (kk in seq_along(NAMES)) { [13:13:10.951] name <- changed[[kk]] [13:13:10.951] NAME <- NAMES[[kk]] [13:13:10.951] if (name != NAME && is.element(NAME, old_names)) [13:13:10.951] next [13:13:10.951] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.951] } [13:13:10.951] NAMES <- toupper(added) [13:13:10.951] for (kk in seq_along(NAMES)) { [13:13:10.951] name <- added[[kk]] [13:13:10.951] NAME <- NAMES[[kk]] [13:13:10.951] if (name != NAME && is.element(NAME, old_names)) [13:13:10.951] next [13:13:10.951] args[[name]] <- "" [13:13:10.951] } [13:13:10.951] NAMES <- toupper(removed) [13:13:10.951] for (kk in seq_along(NAMES)) { [13:13:10.951] name <- removed[[kk]] [13:13:10.951] NAME <- NAMES[[kk]] [13:13:10.951] if (name != NAME && is.element(NAME, old_names)) [13:13:10.951] next [13:13:10.951] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:10.951] } [13:13:10.951] if (length(args) > 0) [13:13:10.951] base::do.call(base::Sys.setenv, args = args) [13:13:10.951] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:10.951] } [13:13:10.951] else { [13:13:10.951] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:10.951] } [13:13:10.951] { [13:13:10.951] if (base::length(...future.futureOptionsAdded) > [13:13:10.951] 0L) { [13:13:10.951] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:10.951] base::names(opts) <- ...future.futureOptionsAdded [13:13:10.951] base::options(opts) [13:13:10.951] } [13:13:10.951] { [13:13:10.951] { [13:13:10.951] NULL [13:13:10.951] RNGkind("Mersenne-Twister") [13:13:10.951] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:10.951] inherits = FALSE) [13:13:10.951] } [13:13:10.951] options(future.plan = NULL) [13:13:10.951] if (is.na(NA_character_)) [13:13:10.951] Sys.unsetenv("R_FUTURE_PLAN") [13:13:10.951] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:10.951] future::plan(list(function (..., envir = parent.frame()) [13:13:10.951] { [13:13:10.951] future <- SequentialFuture(..., envir = envir) [13:13:10.951] if (!future$lazy) [13:13:10.951] future <- run(future) [13:13:10.951] invisible(future) [13:13:10.951] }), .cleanup = FALSE, .init = FALSE) [13:13:10.951] } [13:13:10.951] } [13:13:10.951] } [13:13:10.951] }) [13:13:10.951] if (TRUE) { [13:13:10.951] base::sink(type = "output", split = FALSE) [13:13:10.951] if (TRUE) { [13:13:10.951] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:10.951] } [13:13:10.951] else { [13:13:10.951] ...future.result["stdout"] <- base::list(NULL) [13:13:10.951] } [13:13:10.951] base::close(...future.stdout) [13:13:10.951] ...future.stdout <- NULL [13:13:10.951] } [13:13:10.951] ...future.result$conditions <- ...future.conditions [13:13:10.951] ...future.result$finished <- base::Sys.time() [13:13:10.951] ...future.result [13:13:10.951] } [13:13:10.955] assign_globals() ... [13:13:10.955] List of 5 [13:13:10.955] $ future.call.arguments : list() [13:13:10.955] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.955] $ ...future.FUN :function (x) [13:13:10.955] $ ...future.elements_ii :List of 6 [13:13:10.955] ..$ : int [1:4] 1 7 13 19 [13:13:10.955] ..$ : int [1:4] 2 8 14 20 [13:13:10.955] ..$ : int [1:4] 3 9 15 21 [13:13:10.955] ..$ : int [1:4] 4 10 16 22 [13:13:10.955] ..$ : int [1:4] 5 11 17 23 [13:13:10.955] ..$ : int [1:4] 6 12 18 24 [13:13:10.955] $ ...future.seeds_ii : NULL [13:13:10.955] $ ...future.globals.maxSize: num Inf [13:13:10.955] - attr(*, "resolved")= logi FALSE [13:13:10.955] - attr(*, "total_size")= num NA [13:13:10.955] - attr(*, "where")=List of 5 [13:13:10.955] ..$ future.call.arguments : [13:13:10.955] ..$ ...future.FUN : [13:13:10.955] ..$ ...future.elements_ii : [13:13:10.955] ..$ ...future.seeds_ii : [13:13:10.955] ..$ ...future.globals.maxSize: [13:13:10.955] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.955] - attr(*, "already-done")= logi TRUE [13:13:10.962] - copied 'future.call.arguments' to environment [13:13:10.962] - reassign environment for '...future.FUN' [13:13:10.963] - copied '...future.FUN' to environment [13:13:10.963] - copied '...future.elements_ii' to environment [13:13:10.963] - copied '...future.seeds_ii' to environment [13:13:10.963] - copied '...future.globals.maxSize' to environment [13:13:10.963] assign_globals() ... done [13:13:10.964] plan(): Setting new future strategy stack: [13:13:10.964] List of future strategies: [13:13:10.964] 1. sequential: [13:13:10.964] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.964] - tweaked: FALSE [13:13:10.964] - call: NULL [13:13:10.964] plan(): nbrOfWorkers() = 1 [13:13:10.965] plan(): Setting new future strategy stack: [13:13:10.965] List of future strategies: [13:13:10.965] 1. sequential: [13:13:10.965] - args: function (..., envir = parent.frame(), workers = "") [13:13:10.965] - tweaked: FALSE [13:13:10.965] - call: plan(strategy) [13:13:10.966] plan(): nbrOfWorkers() = 1 [13:13:10.966] SequentialFuture started (and completed) [13:13:10.966] - Launch lazy future ... done [13:13:10.967] run() for 'SequentialFuture' ... done [13:13:10.967] Created future: [13:13:10.967] SequentialFuture: [13:13:10.967] Label: 'future_apply-1' [13:13:10.967] Expression: [13:13:10.967] { [13:13:10.967] do.call(function(...) { [13:13:10.967] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.967] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.967] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.967] on.exit(options(oopts), add = TRUE) [13:13:10.967] } [13:13:10.967] { [13:13:10.967] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.967] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.967] ...future.FUN(...future.X_jj, ...) [13:13:10.967] }) [13:13:10.967] } [13:13:10.967] }, args = future.call.arguments) [13:13:10.967] } [13:13:10.967] Lazy evaluation: FALSE [13:13:10.967] Asynchronous evaluation: FALSE [13:13:10.967] Local evaluation: TRUE [13:13:10.967] Environment: R_GlobalEnv [13:13:10.967] Capture standard output: TRUE [13:13:10.967] Capture condition classes: 'condition' (excluding 'nothing') [13:13:10.967] Globals: 5 objects totaling 2.16 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 1.73 KiB, list '...future.elements_ii' of 384 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:10.967] Packages: [13:13:10.967] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:10.967] Resolved: TRUE [13:13:10.967] Value: 1.03 KiB of class 'list' [13:13:10.967] Early signaling: FALSE [13:13:10.967] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:10.967] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.968] Chunk #1 of 1 ... DONE [13:13:10.968] Launching 1 futures (chunks) ... DONE [13:13:10.969] Resolving 1 futures (chunks) ... [13:13:10.969] resolve() on list ... [13:13:10.969] recursive: 0 [13:13:10.969] length: 1 [13:13:10.969] [13:13:10.969] resolved() for 'SequentialFuture' ... [13:13:10.970] - state: 'finished' [13:13:10.970] - run: TRUE [13:13:10.970] - result: 'FutureResult' [13:13:10.970] resolved() for 'SequentialFuture' ... done [13:13:10.970] Future #1 [13:13:10.970] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:10.971] - nx: 1 [13:13:10.971] - relay: TRUE [13:13:10.971] - stdout: TRUE [13:13:10.971] - signal: TRUE [13:13:10.971] - resignal: FALSE [13:13:10.971] - force: TRUE [13:13:10.971] - relayed: [n=1] FALSE [13:13:10.972] - queued futures: [n=1] FALSE [13:13:10.972] - until=1 [13:13:10.972] - relaying element #1 [13:13:10.972] - relayed: [n=1] TRUE [13:13:10.972] - queued futures: [n=1] TRUE [13:13:10.972] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:10.973] length: 0 (resolved future 1) [13:13:10.973] Relaying remaining futures [13:13:10.973] signalConditionsASAP(NULL, pos=0) ... [13:13:10.973] - nx: 1 [13:13:10.973] - relay: TRUE [13:13:10.973] - stdout: TRUE [13:13:10.973] - signal: TRUE [13:13:10.974] - resignal: FALSE [13:13:10.974] - force: TRUE [13:13:10.974] - relayed: [n=1] TRUE [13:13:10.974] - queued futures: [n=1] TRUE - flush all [13:13:10.975] - relayed: [n=1] TRUE [13:13:10.975] - queued futures: [n=1] TRUE [13:13:10.975] signalConditionsASAP(NULL, pos=0) ... done [13:13:10.975] resolve() on list ... DONE [13:13:10.976] - Number of value chunks collected: 1 [13:13:10.976] Resolving 1 futures (chunks) ... DONE [13:13:10.976] Reducing values from 1 chunks ... [13:13:10.976] - Number of values collected after concatenation: 6 [13:13:10.976] - Number of values expected: 6 [13:13:10.976] Reducing values from 1 chunks ... DONE [13:13:10.977] future_lapply() ... DONE [,1] [,2] [,3] [1,] integer,19 integer,21 integer,23 [2,] integer,20 integer,22 integer,24 - apply(X, MARGIN = , ...) ... [13:13:10.977] getGlobalsAndPackagesXApply() ... [13:13:10.977] - future.globals: TRUE [13:13:10.977] getGlobalsAndPackages() ... [13:13:10.977] Searching for globals... [13:13:10.979] - globals found: [1] 'FUN' [13:13:10.979] Searching for globals ... DONE [13:13:10.979] Resolving globals: FALSE [13:13:10.979] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:10.980] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:2, dim = 2:1, dimnames = list(rows = c("a",; "b"), NULL)))') 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:13:10.980] - globals: [1] 'FUN' [13:13:10.980] [13:13:10.980] getGlobalsAndPackages() ... DONE [13:13:10.980] - globals found/used: [n=1] 'FUN' [13:13:10.980] - needed namespaces: [n=0] [13:13:10.981] Finding globals ... DONE [13:13:10.981] - use_args: TRUE [13:13:10.981] - Getting '...' globals ... [13:13:10.981] resolve() on list ... [13:13:10.981] recursive: 0 [13:13:10.982] length: 1 [13:13:10.982] elements: '...' [13:13:10.982] length: 0 (resolved future 1) [13:13:10.982] resolve() on list ... DONE [13:13:10.982] - '...' content: [n=0] [13:13:10.982] List of 1 [13:13:10.982] $ ...: list() [13:13:10.982] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.982] - attr(*, "where")=List of 1 [13:13:10.982] ..$ ...: [13:13:10.982] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.982] - attr(*, "resolved")= logi TRUE [13:13:10.982] - attr(*, "total_size")= num NA [13:13:10.985] - Getting '...' globals ... DONE [13:13:10.985] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:10.986] List of 2 [13:13:10.986] $ ...future.FUN:function (x) [13:13:10.986] $ ... : list() [13:13:10.986] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.986] - attr(*, "where")=List of 2 [13:13:10.986] ..$ ...future.FUN: [13:13:10.986] ..$ ... : [13:13:10.986] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.986] - attr(*, "resolved")= logi FALSE [13:13:10.986] - attr(*, "total_size")= num 848 [13:13:10.988] Packages to be attached in all futures: [n=0] [13:13:10.989] getGlobalsAndPackagesXApply() ... DONE [13:13:10.989] future_lapply() ... [13:13:10.989] Number of chunks: 1 [13:13:10.990] getGlobalsAndPackagesXApply() ... [13:13:10.990] - future.globals: with names 'list()' [13:13:10.990] - use_args: TRUE [13:13:10.990] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:10.990] List of 2 [13:13:10.990] $ ... : list() [13:13:10.990] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:10.990] $ ...future.FUN:function (x) [13:13:10.990] - attr(*, "where")=List of 2 [13:13:10.990] ..$ ... : [13:13:10.990] ..$ ...future.FUN: [13:13:10.990] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:10.990] - attr(*, "resolved")= logi FALSE [13:13:10.990] - attr(*, "total_size")= num NA [13:13:10.994] Packages to be attached in all futures: [n=0] [13:13:10.994] getGlobalsAndPackagesXApply() ... DONE [13:13:10.994] Number of futures (= number of chunks): 1 [13:13:10.994] Launching 1 futures (chunks) ... [13:13:10.994] Chunk #1 of 1 ... [13:13:10.995] - seeds: [13:13:10.995] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.995] getGlobalsAndPackages() ... [13:13:10.995] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.995] Resolving globals: FALSE [13:13:10.995] Tweak future expression to call with '...' arguments ... [13:13:10.996] { [13:13:10.996] do.call(function(...) { [13:13:10.996] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:10.996] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:10.996] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:10.996] on.exit(options(oopts), add = TRUE) [13:13:10.996] } [13:13:10.996] { [13:13:10.996] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:10.996] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:10.996] ...future.FUN(...future.X_jj, ...) [13:13:10.996] }) [13:13:10.996] } [13:13:10.996] }, args = future.call.arguments) [13:13:10.996] } [13:13:10.996] Tweak future expression to call with '...' arguments ... DONE [13:13:10.996] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:10.997] [13:13:10.997] getGlobalsAndPackages() ... DONE [13:13:10.998] run() for 'Future' ... [13:13:10.998] - state: 'created' [13:13:10.998] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:10.998] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:10.999] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:10.999] - Field: 'label' [13:13:10.999] - Field: 'local' [13:13:10.999] - Field: 'owner' [13:13:10.999] - Field: 'envir' [13:13:10.999] - Field: 'packages' [13:13:11.000] - Field: 'gc' [13:13:11.000] - Field: 'conditions' [13:13:11.000] - Field: 'expr' [13:13:11.000] - Field: 'uuid' [13:13:11.000] - Field: 'seed' [13:13:11.000] - Field: 'version' [13:13:11.001] - Field: 'result' [13:13:11.001] - Field: 'asynchronous' [13:13:11.001] - Field: 'calls' [13:13:11.001] - Field: 'globals' [13:13:11.001] - Field: 'stdout' [13:13:11.001] - Field: 'earlySignal' [13:13:11.002] - Field: 'lazy' [13:13:11.002] - Field: 'state' [13:13:11.002] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:11.002] - Launch lazy future ... [13:13:11.002] Packages needed by the future expression (n = 0): [13:13:11.002] Packages needed by future strategies (n = 0): [13:13:11.003] { [13:13:11.003] { [13:13:11.003] { [13:13:11.003] ...future.startTime <- base::Sys.time() [13:13:11.003] { [13:13:11.003] { [13:13:11.003] { [13:13:11.003] base::local({ [13:13:11.003] has_future <- base::requireNamespace("future", [13:13:11.003] quietly = TRUE) [13:13:11.003] if (has_future) { [13:13:11.003] ns <- base::getNamespace("future") [13:13:11.003] version <- ns[[".package"]][["version"]] [13:13:11.003] if (is.null(version)) [13:13:11.003] version <- utils::packageVersion("future") [13:13:11.003] } [13:13:11.003] else { [13:13:11.003] version <- NULL [13:13:11.003] } [13:13:11.003] if (!has_future || version < "1.8.0") { [13:13:11.003] info <- base::c(r_version = base::gsub("R version ", [13:13:11.003] "", base::R.version$version.string), [13:13:11.003] platform = base::sprintf("%s (%s-bit)", [13:13:11.003] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:11.003] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:11.003] "release", "version")], collapse = " "), [13:13:11.003] hostname = base::Sys.info()[["nodename"]]) [13:13:11.003] info <- base::sprintf("%s: %s", base::names(info), [13:13:11.003] info) [13:13:11.003] info <- base::paste(info, collapse = "; ") [13:13:11.003] if (!has_future) { [13:13:11.003] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:11.003] info) [13:13:11.003] } [13:13:11.003] else { [13:13:11.003] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:11.003] info, version) [13:13:11.003] } [13:13:11.003] base::stop(msg) [13:13:11.003] } [13:13:11.003] }) [13:13:11.003] } [13:13:11.003] options(future.plan = NULL) [13:13:11.003] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.003] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:11.003] } [13:13:11.003] ...future.workdir <- getwd() [13:13:11.003] } [13:13:11.003] ...future.oldOptions <- base::as.list(base::.Options) [13:13:11.003] ...future.oldEnvVars <- base::Sys.getenv() [13:13:11.003] } [13:13:11.003] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:11.003] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:11.003] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:11.003] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:11.003] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:11.003] future.stdout.windows.reencode = NULL, width = 80L) [13:13:11.003] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:11.003] base::names(...future.oldOptions)) [13:13:11.003] } [13:13:11.003] if (FALSE) { [13:13:11.003] } [13:13:11.003] else { [13:13:11.003] if (TRUE) { [13:13:11.003] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:11.003] open = "w") [13:13:11.003] } [13:13:11.003] else { [13:13:11.003] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:11.003] windows = "NUL", "/dev/null"), open = "w") [13:13:11.003] } [13:13:11.003] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:11.003] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:11.003] base::sink(type = "output", split = FALSE) [13:13:11.003] base::close(...future.stdout) [13:13:11.003] }, add = TRUE) [13:13:11.003] } [13:13:11.003] ...future.frame <- base::sys.nframe() [13:13:11.003] ...future.conditions <- base::list() [13:13:11.003] ...future.rng <- base::globalenv()$.Random.seed [13:13:11.003] if (FALSE) { [13:13:11.003] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:11.003] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:11.003] } [13:13:11.003] ...future.result <- base::tryCatch({ [13:13:11.003] base::withCallingHandlers({ [13:13:11.003] ...future.value <- base::withVisible(base::local({ [13:13:11.003] do.call(function(...) { [13:13:11.003] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.003] if (!identical(...future.globals.maxSize.org, [13:13:11.003] ...future.globals.maxSize)) { [13:13:11.003] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.003] on.exit(options(oopts), add = TRUE) [13:13:11.003] } [13:13:11.003] { [13:13:11.003] lapply(seq_along(...future.elements_ii), [13:13:11.003] FUN = function(jj) { [13:13:11.003] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.003] ...future.FUN(...future.X_jj, ...) [13:13:11.003] }) [13:13:11.003] } [13:13:11.003] }, args = future.call.arguments) [13:13:11.003] })) [13:13:11.003] future::FutureResult(value = ...future.value$value, [13:13:11.003] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.003] ...future.rng), globalenv = if (FALSE) [13:13:11.003] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:11.003] ...future.globalenv.names)) [13:13:11.003] else NULL, started = ...future.startTime, version = "1.8") [13:13:11.003] }, condition = base::local({ [13:13:11.003] c <- base::c [13:13:11.003] inherits <- base::inherits [13:13:11.003] invokeRestart <- base::invokeRestart [13:13:11.003] length <- base::length [13:13:11.003] list <- base::list [13:13:11.003] seq.int <- base::seq.int [13:13:11.003] signalCondition <- base::signalCondition [13:13:11.003] sys.calls <- base::sys.calls [13:13:11.003] `[[` <- base::`[[` [13:13:11.003] `+` <- base::`+` [13:13:11.003] `<<-` <- base::`<<-` [13:13:11.003] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:11.003] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:11.003] 3L)] [13:13:11.003] } [13:13:11.003] function(cond) { [13:13:11.003] is_error <- inherits(cond, "error") [13:13:11.003] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:11.003] NULL) [13:13:11.003] if (is_error) { [13:13:11.003] sessionInformation <- function() { [13:13:11.003] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:11.003] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:11.003] search = base::search(), system = base::Sys.info()) [13:13:11.003] } [13:13:11.003] ...future.conditions[[length(...future.conditions) + [13:13:11.003] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:11.003] cond$call), session = sessionInformation(), [13:13:11.003] timestamp = base::Sys.time(), signaled = 0L) [13:13:11.003] signalCondition(cond) [13:13:11.003] } [13:13:11.003] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:11.003] "immediateCondition"))) { [13:13:11.003] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:11.003] ...future.conditions[[length(...future.conditions) + [13:13:11.003] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:11.003] if (TRUE && !signal) { [13:13:11.003] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.003] { [13:13:11.003] inherits <- base::inherits [13:13:11.003] invokeRestart <- base::invokeRestart [13:13:11.003] is.null <- base::is.null [13:13:11.003] muffled <- FALSE [13:13:11.003] if (inherits(cond, "message")) { [13:13:11.003] muffled <- grepl(pattern, "muffleMessage") [13:13:11.003] if (muffled) [13:13:11.003] invokeRestart("muffleMessage") [13:13:11.003] } [13:13:11.003] else if (inherits(cond, "warning")) { [13:13:11.003] muffled <- grepl(pattern, "muffleWarning") [13:13:11.003] if (muffled) [13:13:11.003] invokeRestart("muffleWarning") [13:13:11.003] } [13:13:11.003] else if (inherits(cond, "condition")) { [13:13:11.003] if (!is.null(pattern)) { [13:13:11.003] computeRestarts <- base::computeRestarts [13:13:11.003] grepl <- base::grepl [13:13:11.003] restarts <- computeRestarts(cond) [13:13:11.003] for (restart in restarts) { [13:13:11.003] name <- restart$name [13:13:11.003] if (is.null(name)) [13:13:11.003] next [13:13:11.003] if (!grepl(pattern, name)) [13:13:11.003] next [13:13:11.003] invokeRestart(restart) [13:13:11.003] muffled <- TRUE [13:13:11.003] break [13:13:11.003] } [13:13:11.003] } [13:13:11.003] } [13:13:11.003] invisible(muffled) [13:13:11.003] } [13:13:11.003] muffleCondition(cond, pattern = "^muffle") [13:13:11.003] } [13:13:11.003] } [13:13:11.003] else { [13:13:11.003] if (TRUE) { [13:13:11.003] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.003] { [13:13:11.003] inherits <- base::inherits [13:13:11.003] invokeRestart <- base::invokeRestart [13:13:11.003] is.null <- base::is.null [13:13:11.003] muffled <- FALSE [13:13:11.003] if (inherits(cond, "message")) { [13:13:11.003] muffled <- grepl(pattern, "muffleMessage") [13:13:11.003] if (muffled) [13:13:11.003] invokeRestart("muffleMessage") [13:13:11.003] } [13:13:11.003] else if (inherits(cond, "warning")) { [13:13:11.003] muffled <- grepl(pattern, "muffleWarning") [13:13:11.003] if (muffled) [13:13:11.003] invokeRestart("muffleWarning") [13:13:11.003] } [13:13:11.003] else if (inherits(cond, "condition")) { [13:13:11.003] if (!is.null(pattern)) { [13:13:11.003] computeRestarts <- base::computeRestarts [13:13:11.003] grepl <- base::grepl [13:13:11.003] restarts <- computeRestarts(cond) [13:13:11.003] for (restart in restarts) { [13:13:11.003] name <- restart$name [13:13:11.003] if (is.null(name)) [13:13:11.003] next [13:13:11.003] if (!grepl(pattern, name)) [13:13:11.003] next [13:13:11.003] invokeRestart(restart) [13:13:11.003] muffled <- TRUE [13:13:11.003] break [13:13:11.003] } [13:13:11.003] } [13:13:11.003] } [13:13:11.003] invisible(muffled) [13:13:11.003] } [13:13:11.003] muffleCondition(cond, pattern = "^muffle") [13:13:11.003] } [13:13:11.003] } [13:13:11.003] } [13:13:11.003] })) [13:13:11.003] }, error = function(ex) { [13:13:11.003] base::structure(base::list(value = NULL, visible = NULL, [13:13:11.003] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.003] ...future.rng), started = ...future.startTime, [13:13:11.003] finished = Sys.time(), session_uuid = NA_character_, [13:13:11.003] version = "1.8"), class = "FutureResult") [13:13:11.003] }, finally = { [13:13:11.003] if (!identical(...future.workdir, getwd())) [13:13:11.003] setwd(...future.workdir) [13:13:11.003] { [13:13:11.003] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:11.003] ...future.oldOptions$nwarnings <- NULL [13:13:11.003] } [13:13:11.003] base::options(...future.oldOptions) [13:13:11.003] if (.Platform$OS.type == "windows") { [13:13:11.003] old_names <- names(...future.oldEnvVars) [13:13:11.003] envs <- base::Sys.getenv() [13:13:11.003] names <- names(envs) [13:13:11.003] common <- intersect(names, old_names) [13:13:11.003] added <- setdiff(names, old_names) [13:13:11.003] removed <- setdiff(old_names, names) [13:13:11.003] changed <- common[...future.oldEnvVars[common] != [13:13:11.003] envs[common]] [13:13:11.003] NAMES <- toupper(changed) [13:13:11.003] args <- list() [13:13:11.003] for (kk in seq_along(NAMES)) { [13:13:11.003] name <- changed[[kk]] [13:13:11.003] NAME <- NAMES[[kk]] [13:13:11.003] if (name != NAME && is.element(NAME, old_names)) [13:13:11.003] next [13:13:11.003] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.003] } [13:13:11.003] NAMES <- toupper(added) [13:13:11.003] for (kk in seq_along(NAMES)) { [13:13:11.003] name <- added[[kk]] [13:13:11.003] NAME <- NAMES[[kk]] [13:13:11.003] if (name != NAME && is.element(NAME, old_names)) [13:13:11.003] next [13:13:11.003] args[[name]] <- "" [13:13:11.003] } [13:13:11.003] NAMES <- toupper(removed) [13:13:11.003] for (kk in seq_along(NAMES)) { [13:13:11.003] name <- removed[[kk]] [13:13:11.003] NAME <- NAMES[[kk]] [13:13:11.003] if (name != NAME && is.element(NAME, old_names)) [13:13:11.003] next [13:13:11.003] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.003] } [13:13:11.003] if (length(args) > 0) [13:13:11.003] base::do.call(base::Sys.setenv, args = args) [13:13:11.003] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:11.003] } [13:13:11.003] else { [13:13:11.003] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:11.003] } [13:13:11.003] { [13:13:11.003] if (base::length(...future.futureOptionsAdded) > [13:13:11.003] 0L) { [13:13:11.003] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:11.003] base::names(opts) <- ...future.futureOptionsAdded [13:13:11.003] base::options(opts) [13:13:11.003] } [13:13:11.003] { [13:13:11.003] { [13:13:11.003] NULL [13:13:11.003] RNGkind("Mersenne-Twister") [13:13:11.003] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:11.003] inherits = FALSE) [13:13:11.003] } [13:13:11.003] options(future.plan = NULL) [13:13:11.003] if (is.na(NA_character_)) [13:13:11.003] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.003] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:11.003] future::plan(list(function (..., envir = parent.frame()) [13:13:11.003] { [13:13:11.003] future <- SequentialFuture(..., envir = envir) [13:13:11.003] if (!future$lazy) [13:13:11.003] future <- run(future) [13:13:11.003] invisible(future) [13:13:11.003] }), .cleanup = FALSE, .init = FALSE) [13:13:11.003] } [13:13:11.003] } [13:13:11.003] } [13:13:11.003] }) [13:13:11.003] if (TRUE) { [13:13:11.003] base::sink(type = "output", split = FALSE) [13:13:11.003] if (TRUE) { [13:13:11.003] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:11.003] } [13:13:11.003] else { [13:13:11.003] ...future.result["stdout"] <- base::list(NULL) [13:13:11.003] } [13:13:11.003] base::close(...future.stdout) [13:13:11.003] ...future.stdout <- NULL [13:13:11.003] } [13:13:11.003] ...future.result$conditions <- ...future.conditions [13:13:11.003] ...future.result$finished <- base::Sys.time() [13:13:11.003] ...future.result [13:13:11.003] } [13:13:11.006] assign_globals() ... [13:13:11.007] List of 5 [13:13:11.007] $ future.call.arguments : list() [13:13:11.007] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.007] $ ...future.FUN :function (x) [13:13:11.007] $ ...future.elements_ii :List of 2 [13:13:11.007] ..$ : int 1 [13:13:11.007] ..$ : int 2 [13:13:11.007] $ ...future.seeds_ii : NULL [13:13:11.007] $ ...future.globals.maxSize: num Inf [13:13:11.007] - attr(*, "resolved")= logi FALSE [13:13:11.007] - attr(*, "total_size")= num NA [13:13:11.007] - attr(*, "where")=List of 5 [13:13:11.007] ..$ future.call.arguments : [13:13:11.007] ..$ ...future.FUN : [13:13:11.007] ..$ ...future.elements_ii : [13:13:11.007] ..$ ...future.seeds_ii : [13:13:11.007] ..$ ...future.globals.maxSize: [13:13:11.007] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.007] - attr(*, "already-done")= logi TRUE [13:13:11.012] - copied 'future.call.arguments' to environment [13:13:11.012] - copied '...future.FUN' to environment [13:13:11.012] - copied '...future.elements_ii' to environment [13:13:11.012] - copied '...future.seeds_ii' to environment [13:13:11.013] - copied '...future.globals.maxSize' to environment [13:13:11.013] assign_globals() ... done [13:13:11.013] plan(): Setting new future strategy stack: [13:13:11.013] List of future strategies: [13:13:11.013] 1. sequential: [13:13:11.013] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.013] - tweaked: FALSE [13:13:11.013] - call: NULL [13:13:11.014] plan(): nbrOfWorkers() = 1 [13:13:11.015] plan(): Setting new future strategy stack: [13:13:11.015] List of future strategies: [13:13:11.015] 1. sequential: [13:13:11.015] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.015] - tweaked: FALSE [13:13:11.015] - call: plan(strategy) [13:13:11.016] plan(): nbrOfWorkers() = 1 [13:13:11.016] SequentialFuture started (and completed) [13:13:11.016] - Launch lazy future ... done [13:13:11.016] run() for 'SequentialFuture' ... done [13:13:11.016] Created future: [13:13:11.016] SequentialFuture: [13:13:11.016] Label: 'future_apply-1' [13:13:11.016] Expression: [13:13:11.016] { [13:13:11.016] do.call(function(...) { [13:13:11.016] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.016] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:11.016] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.016] on.exit(options(oopts), add = TRUE) [13:13:11.016] } [13:13:11.016] { [13:13:11.016] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:11.016] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.016] ...future.FUN(...future.X_jj, ...) [13:13:11.016] }) [13:13:11.016] } [13:13:11.016] }, args = future.call.arguments) [13:13:11.016] } [13:13:11.016] Lazy evaluation: FALSE [13:13:11.016] Asynchronous evaluation: FALSE [13:13:11.016] Local evaluation: TRUE [13:13:11.016] Environment: R_GlobalEnv [13:13:11.016] Capture standard output: TRUE [13:13:11.016] Capture condition classes: 'condition' (excluding 'nothing') [13:13:11.016] Globals: 5 objects totaling 0.99 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:11.016] Packages: [13:13:11.016] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:11.016] Resolved: TRUE [13:13:11.016] Value: 112 bytes of class 'list' [13:13:11.016] Early signaling: FALSE [13:13:11.016] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:11.016] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:11.018] Chunk #1 of 1 ... DONE [13:13:11.018] Launching 1 futures (chunks) ... DONE [13:13:11.018] Resolving 1 futures (chunks) ... [13:13:11.018] resolve() on list ... [13:13:11.018] recursive: 0 [13:13:11.018] length: 1 [13:13:11.018] [13:13:11.019] resolved() for 'SequentialFuture' ... [13:13:11.019] - state: 'finished' [13:13:11.019] - run: TRUE [13:13:11.019] - result: 'FutureResult' [13:13:11.019] resolved() for 'SequentialFuture' ... done [13:13:11.019] Future #1 [13:13:11.020] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:11.020] - nx: 1 [13:13:11.020] - relay: TRUE [13:13:11.020] - stdout: TRUE [13:13:11.020] - signal: TRUE [13:13:11.020] - resignal: FALSE [13:13:11.020] - force: TRUE [13:13:11.021] - relayed: [n=1] FALSE [13:13:11.021] - queued futures: [n=1] FALSE [13:13:11.021] - until=1 [13:13:11.021] - relaying element #1 [13:13:11.021] - relayed: [n=1] TRUE [13:13:11.021] - queued futures: [n=1] TRUE [13:13:11.022] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:11.022] length: 0 (resolved future 1) [13:13:11.022] Relaying remaining futures [13:13:11.022] signalConditionsASAP(NULL, pos=0) ... [13:13:11.022] - nx: 1 [13:13:11.022] - relay: TRUE [13:13:11.022] - stdout: TRUE [13:13:11.023] - signal: TRUE [13:13:11.023] - resignal: FALSE [13:13:11.023] - force: TRUE [13:13:11.023] - relayed: [n=1] TRUE [13:13:11.024] - queued futures: [n=1] TRUE - flush all [13:13:11.024] - relayed: [n=1] TRUE [13:13:11.024] - queued futures: [n=1] TRUE [13:13:11.024] signalConditionsASAP(NULL, pos=0) ... done [13:13:11.025] resolve() on list ... DONE [13:13:11.025] - Number of value chunks collected: 1 [13:13:11.025] Resolving 1 futures (chunks) ... DONE [13:13:11.025] Reducing values from 1 chunks ... [13:13:11.025] - Number of values collected after concatenation: 2 [13:13:11.025] - Number of values expected: 2 [13:13:11.025] Reducing values from 1 chunks ... DONE [13:13:11.026] future_lapply() ... DONE a b 1 2 - apply(X, ...) - dim(X) > 2 ... [13:13:11.026] getGlobalsAndPackagesXApply() ... [13:13:11.026] - future.globals: TRUE [13:13:11.026] getGlobalsAndPackages() ... [13:13:11.026] Searching for globals... [13:13:11.027] - globals found: [1] 'FUN' [13:13:11.028] Searching for globals ... DONE [13:13:11.028] Resolving globals: FALSE [13:13:11.028] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:11.029] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:12, dim = c(2L, 2L, 3L)))') 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:13:11.029] - globals: [1] 'FUN' [13:13:11.029] [13:13:11.029] getGlobalsAndPackages() ... DONE [13:13:11.029] - globals found/used: [n=1] 'FUN' [13:13:11.029] - needed namespaces: [n=0] [13:13:11.029] Finding globals ... DONE [13:13:11.030] - use_args: TRUE [13:13:11.030] - Getting '...' globals ... [13:13:11.030] resolve() on list ... [13:13:11.030] recursive: 0 [13:13:11.030] length: 1 [13:13:11.031] elements: '...' [13:13:11.031] length: 0 (resolved future 1) [13:13:11.031] resolve() on list ... DONE [13:13:11.031] - '...' content: [n=0] [13:13:11.031] List of 1 [13:13:11.031] $ ...: list() [13:13:11.031] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.031] - attr(*, "where")=List of 1 [13:13:11.031] ..$ ...: [13:13:11.031] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.031] - attr(*, "resolved")= logi TRUE [13:13:11.031] - attr(*, "total_size")= num NA [13:13:11.034] - Getting '...' globals ... DONE [13:13:11.034] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:11.034] List of 2 [13:13:11.034] $ ...future.FUN:function (x) [13:13:11.034] $ ... : list() [13:13:11.034] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.034] - attr(*, "where")=List of 2 [13:13:11.034] ..$ ...future.FUN: [13:13:11.034] ..$ ... : [13:13:11.034] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.034] - attr(*, "resolved")= logi FALSE [13:13:11.034] - attr(*, "total_size")= num 848 [13:13:11.037] Packages to be attached in all futures: [n=0] [13:13:11.037] getGlobalsAndPackagesXApply() ... DONE [13:13:11.037] future_lapply() ... [13:13:11.038] Number of chunks: 1 [13:13:11.038] getGlobalsAndPackagesXApply() ... [13:13:11.038] - future.globals: with names 'list()' [13:13:11.038] - use_args: TRUE [13:13:11.039] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:11.039] List of 2 [13:13:11.039] $ ... : list() [13:13:11.039] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.039] $ ...future.FUN:function (x) [13:13:11.039] - attr(*, "where")=List of 2 [13:13:11.039] ..$ ... : [13:13:11.039] ..$ ...future.FUN: [13:13:11.039] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.039] - attr(*, "resolved")= logi FALSE [13:13:11.039] - attr(*, "total_size")= num NA [13:13:11.042] Packages to be attached in all futures: [n=0] [13:13:11.042] getGlobalsAndPackagesXApply() ... DONE [13:13:11.042] Number of futures (= number of chunks): 1 [13:13:11.042] Launching 1 futures (chunks) ... [13:13:11.043] Chunk #1 of 1 ... [13:13:11.043] - seeds: [13:13:11.043] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.043] getGlobalsAndPackages() ... [13:13:11.043] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.043] Resolving globals: FALSE [13:13:11.043] Tweak future expression to call with '...' arguments ... [13:13:11.044] { [13:13:11.044] do.call(function(...) { [13:13:11.044] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.044] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:11.044] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.044] on.exit(options(oopts), add = TRUE) [13:13:11.044] } [13:13:11.044] { [13:13:11.044] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:11.044] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.044] ...future.FUN(...future.X_jj, ...) [13:13:11.044] }) [13:13:11.044] } [13:13:11.044] }, args = future.call.arguments) [13:13:11.044] } [13:13:11.044] Tweak future expression to call with '...' arguments ... DONE [13:13:11.045] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.045] [13:13:11.045] getGlobalsAndPackages() ... DONE [13:13:11.046] run() for 'Future' ... [13:13:11.046] - state: 'created' [13:13:11.046] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:11.046] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:11.047] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:11.047] - Field: 'label' [13:13:11.047] - Field: 'local' [13:13:11.047] - Field: 'owner' [13:13:11.047] - Field: 'envir' [13:13:11.047] - Field: 'packages' [13:13:11.047] - Field: 'gc' [13:13:11.048] - Field: 'conditions' [13:13:11.048] - Field: 'expr' [13:13:11.048] - Field: 'uuid' [13:13:11.048] - Field: 'seed' [13:13:11.048] - Field: 'version' [13:13:11.048] - Field: 'result' [13:13:11.049] - Field: 'asynchronous' [13:13:11.049] - Field: 'calls' [13:13:11.049] - Field: 'globals' [13:13:11.049] - Field: 'stdout' [13:13:11.049] - Field: 'earlySignal' [13:13:11.049] - Field: 'lazy' [13:13:11.049] - Field: 'state' [13:13:11.050] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:11.050] - Launch lazy future ... [13:13:11.050] Packages needed by the future expression (n = 0): [13:13:11.050] Packages needed by future strategies (n = 0): [13:13:11.051] { [13:13:11.051] { [13:13:11.051] { [13:13:11.051] ...future.startTime <- base::Sys.time() [13:13:11.051] { [13:13:11.051] { [13:13:11.051] { [13:13:11.051] base::local({ [13:13:11.051] has_future <- base::requireNamespace("future", [13:13:11.051] quietly = TRUE) [13:13:11.051] if (has_future) { [13:13:11.051] ns <- base::getNamespace("future") [13:13:11.051] version <- ns[[".package"]][["version"]] [13:13:11.051] if (is.null(version)) [13:13:11.051] version <- utils::packageVersion("future") [13:13:11.051] } [13:13:11.051] else { [13:13:11.051] version <- NULL [13:13:11.051] } [13:13:11.051] if (!has_future || version < "1.8.0") { [13:13:11.051] info <- base::c(r_version = base::gsub("R version ", [13:13:11.051] "", base::R.version$version.string), [13:13:11.051] platform = base::sprintf("%s (%s-bit)", [13:13:11.051] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:11.051] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:11.051] "release", "version")], collapse = " "), [13:13:11.051] hostname = base::Sys.info()[["nodename"]]) [13:13:11.051] info <- base::sprintf("%s: %s", base::names(info), [13:13:11.051] info) [13:13:11.051] info <- base::paste(info, collapse = "; ") [13:13:11.051] if (!has_future) { [13:13:11.051] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:11.051] info) [13:13:11.051] } [13:13:11.051] else { [13:13:11.051] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:11.051] info, version) [13:13:11.051] } [13:13:11.051] base::stop(msg) [13:13:11.051] } [13:13:11.051] }) [13:13:11.051] } [13:13:11.051] options(future.plan = NULL) [13:13:11.051] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.051] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:11.051] } [13:13:11.051] ...future.workdir <- getwd() [13:13:11.051] } [13:13:11.051] ...future.oldOptions <- base::as.list(base::.Options) [13:13:11.051] ...future.oldEnvVars <- base::Sys.getenv() [13:13:11.051] } [13:13:11.051] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:11.051] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:11.051] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:11.051] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:11.051] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:11.051] future.stdout.windows.reencode = NULL, width = 80L) [13:13:11.051] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:11.051] base::names(...future.oldOptions)) [13:13:11.051] } [13:13:11.051] if (FALSE) { [13:13:11.051] } [13:13:11.051] else { [13:13:11.051] if (TRUE) { [13:13:11.051] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:11.051] open = "w") [13:13:11.051] } [13:13:11.051] else { [13:13:11.051] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:11.051] windows = "NUL", "/dev/null"), open = "w") [13:13:11.051] } [13:13:11.051] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:11.051] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:11.051] base::sink(type = "output", split = FALSE) [13:13:11.051] base::close(...future.stdout) [13:13:11.051] }, add = TRUE) [13:13:11.051] } [13:13:11.051] ...future.frame <- base::sys.nframe() [13:13:11.051] ...future.conditions <- base::list() [13:13:11.051] ...future.rng <- base::globalenv()$.Random.seed [13:13:11.051] if (FALSE) { [13:13:11.051] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:11.051] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:11.051] } [13:13:11.051] ...future.result <- base::tryCatch({ [13:13:11.051] base::withCallingHandlers({ [13:13:11.051] ...future.value <- base::withVisible(base::local({ [13:13:11.051] do.call(function(...) { [13:13:11.051] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.051] if (!identical(...future.globals.maxSize.org, [13:13:11.051] ...future.globals.maxSize)) { [13:13:11.051] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.051] on.exit(options(oopts), add = TRUE) [13:13:11.051] } [13:13:11.051] { [13:13:11.051] lapply(seq_along(...future.elements_ii), [13:13:11.051] FUN = function(jj) { [13:13:11.051] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.051] ...future.FUN(...future.X_jj, ...) [13:13:11.051] }) [13:13:11.051] } [13:13:11.051] }, args = future.call.arguments) [13:13:11.051] })) [13:13:11.051] future::FutureResult(value = ...future.value$value, [13:13:11.051] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.051] ...future.rng), globalenv = if (FALSE) [13:13:11.051] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:11.051] ...future.globalenv.names)) [13:13:11.051] else NULL, started = ...future.startTime, version = "1.8") [13:13:11.051] }, condition = base::local({ [13:13:11.051] c <- base::c [13:13:11.051] inherits <- base::inherits [13:13:11.051] invokeRestart <- base::invokeRestart [13:13:11.051] length <- base::length [13:13:11.051] list <- base::list [13:13:11.051] seq.int <- base::seq.int [13:13:11.051] signalCondition <- base::signalCondition [13:13:11.051] sys.calls <- base::sys.calls [13:13:11.051] `[[` <- base::`[[` [13:13:11.051] `+` <- base::`+` [13:13:11.051] `<<-` <- base::`<<-` [13:13:11.051] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:11.051] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:11.051] 3L)] [13:13:11.051] } [13:13:11.051] function(cond) { [13:13:11.051] is_error <- inherits(cond, "error") [13:13:11.051] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:11.051] NULL) [13:13:11.051] if (is_error) { [13:13:11.051] sessionInformation <- function() { [13:13:11.051] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:11.051] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:11.051] search = base::search(), system = base::Sys.info()) [13:13:11.051] } [13:13:11.051] ...future.conditions[[length(...future.conditions) + [13:13:11.051] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:11.051] cond$call), session = sessionInformation(), [13:13:11.051] timestamp = base::Sys.time(), signaled = 0L) [13:13:11.051] signalCondition(cond) [13:13:11.051] } [13:13:11.051] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:11.051] "immediateCondition"))) { [13:13:11.051] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:11.051] ...future.conditions[[length(...future.conditions) + [13:13:11.051] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:11.051] if (TRUE && !signal) { [13:13:11.051] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.051] { [13:13:11.051] inherits <- base::inherits [13:13:11.051] invokeRestart <- base::invokeRestart [13:13:11.051] is.null <- base::is.null [13:13:11.051] muffled <- FALSE [13:13:11.051] if (inherits(cond, "message")) { [13:13:11.051] muffled <- grepl(pattern, "muffleMessage") [13:13:11.051] if (muffled) [13:13:11.051] invokeRestart("muffleMessage") [13:13:11.051] } [13:13:11.051] else if (inherits(cond, "warning")) { [13:13:11.051] muffled <- grepl(pattern, "muffleWarning") [13:13:11.051] if (muffled) [13:13:11.051] invokeRestart("muffleWarning") [13:13:11.051] } [13:13:11.051] else if (inherits(cond, "condition")) { [13:13:11.051] if (!is.null(pattern)) { [13:13:11.051] computeRestarts <- base::computeRestarts [13:13:11.051] grepl <- base::grepl [13:13:11.051] restarts <- computeRestarts(cond) [13:13:11.051] for (restart in restarts) { [13:13:11.051] name <- restart$name [13:13:11.051] if (is.null(name)) [13:13:11.051] next [13:13:11.051] if (!grepl(pattern, name)) [13:13:11.051] next [13:13:11.051] invokeRestart(restart) [13:13:11.051] muffled <- TRUE [13:13:11.051] break [13:13:11.051] } [13:13:11.051] } [13:13:11.051] } [13:13:11.051] invisible(muffled) [13:13:11.051] } [13:13:11.051] muffleCondition(cond, pattern = "^muffle") [13:13:11.051] } [13:13:11.051] } [13:13:11.051] else { [13:13:11.051] if (TRUE) { [13:13:11.051] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.051] { [13:13:11.051] inherits <- base::inherits [13:13:11.051] invokeRestart <- base::invokeRestart [13:13:11.051] is.null <- base::is.null [13:13:11.051] muffled <- FALSE [13:13:11.051] if (inherits(cond, "message")) { [13:13:11.051] muffled <- grepl(pattern, "muffleMessage") [13:13:11.051] if (muffled) [13:13:11.051] invokeRestart("muffleMessage") [13:13:11.051] } [13:13:11.051] else if (inherits(cond, "warning")) { [13:13:11.051] muffled <- grepl(pattern, "muffleWarning") [13:13:11.051] if (muffled) [13:13:11.051] invokeRestart("muffleWarning") [13:13:11.051] } [13:13:11.051] else if (inherits(cond, "condition")) { [13:13:11.051] if (!is.null(pattern)) { [13:13:11.051] computeRestarts <- base::computeRestarts [13:13:11.051] grepl <- base::grepl [13:13:11.051] restarts <- computeRestarts(cond) [13:13:11.051] for (restart in restarts) { [13:13:11.051] name <- restart$name [13:13:11.051] if (is.null(name)) [13:13:11.051] next [13:13:11.051] if (!grepl(pattern, name)) [13:13:11.051] next [13:13:11.051] invokeRestart(restart) [13:13:11.051] muffled <- TRUE [13:13:11.051] break [13:13:11.051] } [13:13:11.051] } [13:13:11.051] } [13:13:11.051] invisible(muffled) [13:13:11.051] } [13:13:11.051] muffleCondition(cond, pattern = "^muffle") [13:13:11.051] } [13:13:11.051] } [13:13:11.051] } [13:13:11.051] })) [13:13:11.051] }, error = function(ex) { [13:13:11.051] base::structure(base::list(value = NULL, visible = NULL, [13:13:11.051] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.051] ...future.rng), started = ...future.startTime, [13:13:11.051] finished = Sys.time(), session_uuid = NA_character_, [13:13:11.051] version = "1.8"), class = "FutureResult") [13:13:11.051] }, finally = { [13:13:11.051] if (!identical(...future.workdir, getwd())) [13:13:11.051] setwd(...future.workdir) [13:13:11.051] { [13:13:11.051] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:11.051] ...future.oldOptions$nwarnings <- NULL [13:13:11.051] } [13:13:11.051] base::options(...future.oldOptions) [13:13:11.051] if (.Platform$OS.type == "windows") { [13:13:11.051] old_names <- names(...future.oldEnvVars) [13:13:11.051] envs <- base::Sys.getenv() [13:13:11.051] names <- names(envs) [13:13:11.051] common <- intersect(names, old_names) [13:13:11.051] added <- setdiff(names, old_names) [13:13:11.051] removed <- setdiff(old_names, names) [13:13:11.051] changed <- common[...future.oldEnvVars[common] != [13:13:11.051] envs[common]] [13:13:11.051] NAMES <- toupper(changed) [13:13:11.051] args <- list() [13:13:11.051] for (kk in seq_along(NAMES)) { [13:13:11.051] name <- changed[[kk]] [13:13:11.051] NAME <- NAMES[[kk]] [13:13:11.051] if (name != NAME && is.element(NAME, old_names)) [13:13:11.051] next [13:13:11.051] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.051] } [13:13:11.051] NAMES <- toupper(added) [13:13:11.051] for (kk in seq_along(NAMES)) { [13:13:11.051] name <- added[[kk]] [13:13:11.051] NAME <- NAMES[[kk]] [13:13:11.051] if (name != NAME && is.element(NAME, old_names)) [13:13:11.051] next [13:13:11.051] args[[name]] <- "" [13:13:11.051] } [13:13:11.051] NAMES <- toupper(removed) [13:13:11.051] for (kk in seq_along(NAMES)) { [13:13:11.051] name <- removed[[kk]] [13:13:11.051] NAME <- NAMES[[kk]] [13:13:11.051] if (name != NAME && is.element(NAME, old_names)) [13:13:11.051] next [13:13:11.051] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.051] } [13:13:11.051] if (length(args) > 0) [13:13:11.051] base::do.call(base::Sys.setenv, args = args) [13:13:11.051] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:11.051] } [13:13:11.051] else { [13:13:11.051] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:11.051] } [13:13:11.051] { [13:13:11.051] if (base::length(...future.futureOptionsAdded) > [13:13:11.051] 0L) { [13:13:11.051] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:11.051] base::names(opts) <- ...future.futureOptionsAdded [13:13:11.051] base::options(opts) [13:13:11.051] } [13:13:11.051] { [13:13:11.051] { [13:13:11.051] NULL [13:13:11.051] RNGkind("Mersenne-Twister") [13:13:11.051] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:11.051] inherits = FALSE) [13:13:11.051] } [13:13:11.051] options(future.plan = NULL) [13:13:11.051] if (is.na(NA_character_)) [13:13:11.051] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.051] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:11.051] future::plan(list(function (..., envir = parent.frame()) [13:13:11.051] { [13:13:11.051] future <- SequentialFuture(..., envir = envir) [13:13:11.051] if (!future$lazy) [13:13:11.051] future <- run(future) [13:13:11.051] invisible(future) [13:13:11.051] }), .cleanup = FALSE, .init = FALSE) [13:13:11.051] } [13:13:11.051] } [13:13:11.051] } [13:13:11.051] }) [13:13:11.051] if (TRUE) { [13:13:11.051] base::sink(type = "output", split = FALSE) [13:13:11.051] if (TRUE) { [13:13:11.051] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:11.051] } [13:13:11.051] else { [13:13:11.051] ...future.result["stdout"] <- base::list(NULL) [13:13:11.051] } [13:13:11.051] base::close(...future.stdout) [13:13:11.051] ...future.stdout <- NULL [13:13:11.051] } [13:13:11.051] ...future.result$conditions <- ...future.conditions [13:13:11.051] ...future.result$finished <- base::Sys.time() [13:13:11.051] ...future.result [13:13:11.051] } [13:13:11.054] assign_globals() ... [13:13:11.054] List of 5 [13:13:11.054] $ future.call.arguments : list() [13:13:11.054] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.054] $ ...future.FUN :function (x) [13:13:11.054] $ ...future.elements_ii :List of 2 [13:13:11.054] ..$ : int [1:2, 1:3] 1 3 5 7 9 11 [13:13:11.054] ..$ : int [1:2, 1:3] 2 4 6 8 10 12 [13:13:11.054] $ ...future.seeds_ii : NULL [13:13:11.054] $ ...future.globals.maxSize: num Inf [13:13:11.054] - attr(*, "resolved")= logi FALSE [13:13:11.054] - attr(*, "total_size")= num NA [13:13:11.054] - attr(*, "where")=List of 5 [13:13:11.054] ..$ future.call.arguments : [13:13:11.054] ..$ ...future.FUN : [13:13:11.054] ..$ ...future.elements_ii : [13:13:11.054] ..$ ...future.seeds_ii : [13:13:11.054] ..$ ...future.globals.maxSize: [13:13:11.054] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.054] - attr(*, "already-done")= logi TRUE [13:13:11.060] - copied 'future.call.arguments' to environment [13:13:11.060] - copied '...future.FUN' to environment [13:13:11.060] - copied '...future.elements_ii' to environment [13:13:11.060] - copied '...future.seeds_ii' to environment [13:13:11.060] - copied '...future.globals.maxSize' to environment [13:13:11.060] assign_globals() ... done [13:13:11.061] plan(): Setting new future strategy stack: [13:13:11.061] List of future strategies: [13:13:11.061] 1. sequential: [13:13:11.061] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.061] - tweaked: FALSE [13:13:11.061] - call: NULL [13:13:11.061] plan(): nbrOfWorkers() = 1 [13:13:11.062] plan(): Setting new future strategy stack: [13:13:11.063] List of future strategies: [13:13:11.063] 1. sequential: [13:13:11.063] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.063] - tweaked: FALSE [13:13:11.063] - call: plan(strategy) [13:13:11.063] plan(): nbrOfWorkers() = 1 [13:13:11.063] SequentialFuture started (and completed) [13:13:11.063] - Launch lazy future ... done [13:13:11.064] run() for 'SequentialFuture' ... done [13:13:11.064] Created future: [13:13:11.064] SequentialFuture: [13:13:11.064] Label: 'future_apply-1' [13:13:11.064] Expression: [13:13:11.064] { [13:13:11.064] do.call(function(...) { [13:13:11.064] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.064] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:11.064] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.064] on.exit(options(oopts), add = TRUE) [13:13:11.064] } [13:13:11.064] { [13:13:11.064] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:11.064] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.064] ...future.FUN(...future.X_jj, ...) [13:13:11.064] }) [13:13:11.064] } [13:13:11.064] }, args = future.call.arguments) [13:13:11.064] } [13:13:11.064] Lazy evaluation: FALSE [13:13:11.064] Asynchronous evaluation: FALSE [13:13:11.064] Local evaluation: TRUE [13:13:11.064] Environment: R_GlobalEnv [13:13:11.064] Capture standard output: TRUE [13:13:11.064] Capture condition classes: 'condition' (excluding 'nothing') [13:13:11.064] Globals: 5 objects totaling 1.37 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 496 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:11.064] Packages: [13:13:11.064] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:11.064] Resolved: TRUE [13:13:11.064] Value: 496 bytes of class 'list' [13:13:11.064] Early signaling: FALSE [13:13:11.064] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:11.064] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:11.065] Chunk #1 of 1 ... DONE [13:13:11.065] Launching 1 futures (chunks) ... DONE [13:13:11.065] Resolving 1 futures (chunks) ... [13:13:11.065] resolve() on list ... [13:13:11.066] recursive: 0 [13:13:11.066] length: 1 [13:13:11.066] [13:13:11.066] resolved() for 'SequentialFuture' ... [13:13:11.066] - state: 'finished' [13:13:11.066] - run: TRUE [13:13:11.066] - result: 'FutureResult' [13:13:11.067] resolved() for 'SequentialFuture' ... done [13:13:11.067] Future #1 [13:13:11.067] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:11.067] - nx: 1 [13:13:11.067] - relay: TRUE [13:13:11.067] - stdout: TRUE [13:13:11.068] - signal: TRUE [13:13:11.068] - resignal: FALSE [13:13:11.068] - force: TRUE [13:13:11.068] - relayed: [n=1] FALSE [13:13:11.068] - queued futures: [n=1] FALSE [13:13:11.068] - until=1 [13:13:11.068] - relaying element #1 [13:13:11.069] - relayed: [n=1] TRUE [13:13:11.069] - queued futures: [n=1] TRUE [13:13:11.069] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:11.069] length: 0 (resolved future 1) [13:13:11.069] Relaying remaining futures [13:13:11.069] signalConditionsASAP(NULL, pos=0) ... [13:13:11.069] - nx: 1 [13:13:11.070] - relay: TRUE [13:13:11.070] - stdout: TRUE [13:13:11.070] - signal: TRUE [13:13:11.071] - resignal: FALSE [13:13:11.071] - force: TRUE [13:13:11.071] - relayed: [n=1] TRUE [13:13:11.071] - queued futures: [n=1] TRUE - flush all [13:13:11.071] - relayed: [n=1] TRUE [13:13:11.071] - queued futures: [n=1] TRUE [13:13:11.072] signalConditionsASAP(NULL, pos=0) ... done [13:13:11.072] resolve() on list ... DONE [13:13:11.072] - Number of value chunks collected: 1 [13:13:11.072] Resolving 1 futures (chunks) ... DONE [13:13:11.072] Reducing values from 1 chunks ... [13:13:11.072] - Number of values collected after concatenation: 2 [13:13:11.072] - Number of values expected: 2 [13:13:11.073] Reducing values from 1 chunks ... DONE [13:13:11.073] future_lapply() ... DONE [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 5 6 [4,] 7 8 [5,] 9 10 [6,] 11 12 - apply(X, ...) - not all same names ... [13:13:11.073] getGlobalsAndPackagesXApply() ... [13:13:11.073] - future.globals: TRUE [13:13:11.073] getGlobalsAndPackages() ... [13:13:11.074] Searching for globals... [13:13:11.076] - globals found: [10] 'FUN', '{', 'if', '==', '[', '<-', 'names', 'names<-', 'letters', 'seq_along' [13:13:11.076] Searching for globals ... DONE [13:13:11.077] Resolving globals: FALSE [13:13:11.077] The total size of the 1 globals is 9.66 KiB (9888 bytes) [13:13:11.078] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:4, dim = c(2L, 2L)))') is 9.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (9.66 KiB of class 'function') [13:13:11.078] - globals: [1] 'FUN' [13:13:11.078] [13:13:11.078] getGlobalsAndPackages() ... DONE [13:13:11.079] - globals found/used: [n=1] 'FUN' [13:13:11.079] - needed namespaces: [n=0] [13:13:11.079] Finding globals ... DONE [13:13:11.079] - use_args: TRUE [13:13:11.079] - Getting '...' globals ... [13:13:11.080] resolve() on list ... [13:13:11.080] recursive: 0 [13:13:11.080] length: 1 [13:13:11.080] elements: '...' [13:13:11.080] length: 0 (resolved future 1) [13:13:11.080] resolve() on list ... DONE [13:13:11.081] - '...' content: [n=0] [13:13:11.081] List of 1 [13:13:11.081] $ ...: list() [13:13:11.081] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.081] - attr(*, "where")=List of 1 [13:13:11.081] ..$ ...: [13:13:11.081] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.081] - attr(*, "resolved")= logi TRUE [13:13:11.081] - attr(*, "total_size")= num NA [13:13:11.084] - Getting '...' globals ... DONE [13:13:11.084] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:11.084] List of 2 [13:13:11.084] $ ...future.FUN:function (x) [13:13:11.084] $ ... : list() [13:13:11.084] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.084] - attr(*, "where")=List of 2 [13:13:11.084] ..$ ...future.FUN: [13:13:11.084] ..$ ... : [13:13:11.084] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.084] - attr(*, "resolved")= logi FALSE [13:13:11.084] - attr(*, "total_size")= num 9888 [13:13:11.087] Packages to be attached in all futures: [n=0] [13:13:11.087] getGlobalsAndPackagesXApply() ... DONE [13:13:11.088] future_lapply() ... [13:13:11.090] Number of chunks: 1 [13:13:11.090] getGlobalsAndPackagesXApply() ... [13:13:11.090] - future.globals: with names 'list()' [13:13:11.090] - use_args: TRUE [13:13:11.090] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:11.091] List of 2 [13:13:11.091] $ ... : list() [13:13:11.091] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.091] $ ...future.FUN:function (x) [13:13:11.091] - attr(*, "where")=List of 2 [13:13:11.091] ..$ ... : [13:13:11.091] ..$ ...future.FUN: [13:13:11.091] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.091] - attr(*, "resolved")= logi FALSE [13:13:11.091] - attr(*, "total_size")= num NA [13:13:11.095] Packages to be attached in all futures: [n=0] [13:13:11.095] getGlobalsAndPackagesXApply() ... DONE [13:13:11.095] Number of futures (= number of chunks): 1 [13:13:11.095] Launching 1 futures (chunks) ... [13:13:11.095] Chunk #1 of 1 ... [13:13:11.096] - seeds: [13:13:11.096] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.096] getGlobalsAndPackages() ... [13:13:11.096] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.096] Resolving globals: FALSE [13:13:11.097] Tweak future expression to call with '...' arguments ... [13:13:11.097] { [13:13:11.097] do.call(function(...) { [13:13:11.097] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.097] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:11.097] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.097] on.exit(options(oopts), add = TRUE) [13:13:11.097] } [13:13:11.097] { [13:13:11.097] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:11.097] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.097] ...future.FUN(...future.X_jj, ...) [13:13:11.097] }) [13:13:11.097] } [13:13:11.097] }, args = future.call.arguments) [13:13:11.097] } [13:13:11.097] Tweak future expression to call with '...' arguments ... DONE [13:13:11.098] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.098] [13:13:11.098] getGlobalsAndPackages() ... DONE [13:13:11.098] run() for 'Future' ... [13:13:11.098] - state: 'created' [13:13:11.099] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:11.099] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:11.099] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:11.099] - Field: 'label' [13:13:11.100] - Field: 'local' [13:13:11.100] - Field: 'owner' [13:13:11.100] - Field: 'envir' [13:13:11.100] - Field: 'packages' [13:13:11.100] - Field: 'gc' [13:13:11.100] - Field: 'conditions' [13:13:11.101] - Field: 'expr' [13:13:11.101] - Field: 'uuid' [13:13:11.101] - Field: 'seed' [13:13:11.101] - Field: 'version' [13:13:11.101] - Field: 'result' [13:13:11.101] - Field: 'asynchronous' [13:13:11.102] - Field: 'calls' [13:13:11.102] - Field: 'globals' [13:13:11.102] - Field: 'stdout' [13:13:11.102] - Field: 'earlySignal' [13:13:11.102] - Field: 'lazy' [13:13:11.102] - Field: 'state' [13:13:11.103] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:11.103] - Launch lazy future ... [13:13:11.103] Packages needed by the future expression (n = 0): [13:13:11.103] Packages needed by future strategies (n = 0): [13:13:11.104] { [13:13:11.104] { [13:13:11.104] { [13:13:11.104] ...future.startTime <- base::Sys.time() [13:13:11.104] { [13:13:11.104] { [13:13:11.104] { [13:13:11.104] base::local({ [13:13:11.104] has_future <- base::requireNamespace("future", [13:13:11.104] quietly = TRUE) [13:13:11.104] if (has_future) { [13:13:11.104] ns <- base::getNamespace("future") [13:13:11.104] version <- ns[[".package"]][["version"]] [13:13:11.104] if (is.null(version)) [13:13:11.104] version <- utils::packageVersion("future") [13:13:11.104] } [13:13:11.104] else { [13:13:11.104] version <- NULL [13:13:11.104] } [13:13:11.104] if (!has_future || version < "1.8.0") { [13:13:11.104] info <- base::c(r_version = base::gsub("R version ", [13:13:11.104] "", base::R.version$version.string), [13:13:11.104] platform = base::sprintf("%s (%s-bit)", [13:13:11.104] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:11.104] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:11.104] "release", "version")], collapse = " "), [13:13:11.104] hostname = base::Sys.info()[["nodename"]]) [13:13:11.104] info <- base::sprintf("%s: %s", base::names(info), [13:13:11.104] info) [13:13:11.104] info <- base::paste(info, collapse = "; ") [13:13:11.104] if (!has_future) { [13:13:11.104] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:11.104] info) [13:13:11.104] } [13:13:11.104] else { [13:13:11.104] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:11.104] info, version) [13:13:11.104] } [13:13:11.104] base::stop(msg) [13:13:11.104] } [13:13:11.104] }) [13:13:11.104] } [13:13:11.104] options(future.plan = NULL) [13:13:11.104] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.104] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:11.104] } [13:13:11.104] ...future.workdir <- getwd() [13:13:11.104] } [13:13:11.104] ...future.oldOptions <- base::as.list(base::.Options) [13:13:11.104] ...future.oldEnvVars <- base::Sys.getenv() [13:13:11.104] } [13:13:11.104] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:11.104] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:11.104] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:11.104] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:11.104] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:11.104] future.stdout.windows.reencode = NULL, width = 80L) [13:13:11.104] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:11.104] base::names(...future.oldOptions)) [13:13:11.104] } [13:13:11.104] if (FALSE) { [13:13:11.104] } [13:13:11.104] else { [13:13:11.104] if (TRUE) { [13:13:11.104] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:11.104] open = "w") [13:13:11.104] } [13:13:11.104] else { [13:13:11.104] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:11.104] windows = "NUL", "/dev/null"), open = "w") [13:13:11.104] } [13:13:11.104] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:11.104] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:11.104] base::sink(type = "output", split = FALSE) [13:13:11.104] base::close(...future.stdout) [13:13:11.104] }, add = TRUE) [13:13:11.104] } [13:13:11.104] ...future.frame <- base::sys.nframe() [13:13:11.104] ...future.conditions <- base::list() [13:13:11.104] ...future.rng <- base::globalenv()$.Random.seed [13:13:11.104] if (FALSE) { [13:13:11.104] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:11.104] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:11.104] } [13:13:11.104] ...future.result <- base::tryCatch({ [13:13:11.104] base::withCallingHandlers({ [13:13:11.104] ...future.value <- base::withVisible(base::local({ [13:13:11.104] do.call(function(...) { [13:13:11.104] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.104] if (!identical(...future.globals.maxSize.org, [13:13:11.104] ...future.globals.maxSize)) { [13:13:11.104] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.104] on.exit(options(oopts), add = TRUE) [13:13:11.104] } [13:13:11.104] { [13:13:11.104] lapply(seq_along(...future.elements_ii), [13:13:11.104] FUN = function(jj) { [13:13:11.104] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.104] ...future.FUN(...future.X_jj, ...) [13:13:11.104] }) [13:13:11.104] } [13:13:11.104] }, args = future.call.arguments) [13:13:11.104] })) [13:13:11.104] future::FutureResult(value = ...future.value$value, [13:13:11.104] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.104] ...future.rng), globalenv = if (FALSE) [13:13:11.104] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:11.104] ...future.globalenv.names)) [13:13:11.104] else NULL, started = ...future.startTime, version = "1.8") [13:13:11.104] }, condition = base::local({ [13:13:11.104] c <- base::c [13:13:11.104] inherits <- base::inherits [13:13:11.104] invokeRestart <- base::invokeRestart [13:13:11.104] length <- base::length [13:13:11.104] list <- base::list [13:13:11.104] seq.int <- base::seq.int [13:13:11.104] signalCondition <- base::signalCondition [13:13:11.104] sys.calls <- base::sys.calls [13:13:11.104] `[[` <- base::`[[` [13:13:11.104] `+` <- base::`+` [13:13:11.104] `<<-` <- base::`<<-` [13:13:11.104] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:11.104] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:11.104] 3L)] [13:13:11.104] } [13:13:11.104] function(cond) { [13:13:11.104] is_error <- inherits(cond, "error") [13:13:11.104] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:11.104] NULL) [13:13:11.104] if (is_error) { [13:13:11.104] sessionInformation <- function() { [13:13:11.104] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:11.104] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:11.104] search = base::search(), system = base::Sys.info()) [13:13:11.104] } [13:13:11.104] ...future.conditions[[length(...future.conditions) + [13:13:11.104] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:11.104] cond$call), session = sessionInformation(), [13:13:11.104] timestamp = base::Sys.time(), signaled = 0L) [13:13:11.104] signalCondition(cond) [13:13:11.104] } [13:13:11.104] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:11.104] "immediateCondition"))) { [13:13:11.104] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:11.104] ...future.conditions[[length(...future.conditions) + [13:13:11.104] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:11.104] if (TRUE && !signal) { [13:13:11.104] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.104] { [13:13:11.104] inherits <- base::inherits [13:13:11.104] invokeRestart <- base::invokeRestart [13:13:11.104] is.null <- base::is.null [13:13:11.104] muffled <- FALSE [13:13:11.104] if (inherits(cond, "message")) { [13:13:11.104] muffled <- grepl(pattern, "muffleMessage") [13:13:11.104] if (muffled) [13:13:11.104] invokeRestart("muffleMessage") [13:13:11.104] } [13:13:11.104] else if (inherits(cond, "warning")) { [13:13:11.104] muffled <- grepl(pattern, "muffleWarning") [13:13:11.104] if (muffled) [13:13:11.104] invokeRestart("muffleWarning") [13:13:11.104] } [13:13:11.104] else if (inherits(cond, "condition")) { [13:13:11.104] if (!is.null(pattern)) { [13:13:11.104] computeRestarts <- base::computeRestarts [13:13:11.104] grepl <- base::grepl [13:13:11.104] restarts <- computeRestarts(cond) [13:13:11.104] for (restart in restarts) { [13:13:11.104] name <- restart$name [13:13:11.104] if (is.null(name)) [13:13:11.104] next [13:13:11.104] if (!grepl(pattern, name)) [13:13:11.104] next [13:13:11.104] invokeRestart(restart) [13:13:11.104] muffled <- TRUE [13:13:11.104] break [13:13:11.104] } [13:13:11.104] } [13:13:11.104] } [13:13:11.104] invisible(muffled) [13:13:11.104] } [13:13:11.104] muffleCondition(cond, pattern = "^muffle") [13:13:11.104] } [13:13:11.104] } [13:13:11.104] else { [13:13:11.104] if (TRUE) { [13:13:11.104] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.104] { [13:13:11.104] inherits <- base::inherits [13:13:11.104] invokeRestart <- base::invokeRestart [13:13:11.104] is.null <- base::is.null [13:13:11.104] muffled <- FALSE [13:13:11.104] if (inherits(cond, "message")) { [13:13:11.104] muffled <- grepl(pattern, "muffleMessage") [13:13:11.104] if (muffled) [13:13:11.104] invokeRestart("muffleMessage") [13:13:11.104] } [13:13:11.104] else if (inherits(cond, "warning")) { [13:13:11.104] muffled <- grepl(pattern, "muffleWarning") [13:13:11.104] if (muffled) [13:13:11.104] invokeRestart("muffleWarning") [13:13:11.104] } [13:13:11.104] else if (inherits(cond, "condition")) { [13:13:11.104] if (!is.null(pattern)) { [13:13:11.104] computeRestarts <- base::computeRestarts [13:13:11.104] grepl <- base::grepl [13:13:11.104] restarts <- computeRestarts(cond) [13:13:11.104] for (restart in restarts) { [13:13:11.104] name <- restart$name [13:13:11.104] if (is.null(name)) [13:13:11.104] next [13:13:11.104] if (!grepl(pattern, name)) [13:13:11.104] next [13:13:11.104] invokeRestart(restart) [13:13:11.104] muffled <- TRUE [13:13:11.104] break [13:13:11.104] } [13:13:11.104] } [13:13:11.104] } [13:13:11.104] invisible(muffled) [13:13:11.104] } [13:13:11.104] muffleCondition(cond, pattern = "^muffle") [13:13:11.104] } [13:13:11.104] } [13:13:11.104] } [13:13:11.104] })) [13:13:11.104] }, error = function(ex) { [13:13:11.104] base::structure(base::list(value = NULL, visible = NULL, [13:13:11.104] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.104] ...future.rng), started = ...future.startTime, [13:13:11.104] finished = Sys.time(), session_uuid = NA_character_, [13:13:11.104] version = "1.8"), class = "FutureResult") [13:13:11.104] }, finally = { [13:13:11.104] if (!identical(...future.workdir, getwd())) [13:13:11.104] setwd(...future.workdir) [13:13:11.104] { [13:13:11.104] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:11.104] ...future.oldOptions$nwarnings <- NULL [13:13:11.104] } [13:13:11.104] base::options(...future.oldOptions) [13:13:11.104] if (.Platform$OS.type == "windows") { [13:13:11.104] old_names <- names(...future.oldEnvVars) [13:13:11.104] envs <- base::Sys.getenv() [13:13:11.104] names <- names(envs) [13:13:11.104] common <- intersect(names, old_names) [13:13:11.104] added <- setdiff(names, old_names) [13:13:11.104] removed <- setdiff(old_names, names) [13:13:11.104] changed <- common[...future.oldEnvVars[common] != [13:13:11.104] envs[common]] [13:13:11.104] NAMES <- toupper(changed) [13:13:11.104] args <- list() [13:13:11.104] for (kk in seq_along(NAMES)) { [13:13:11.104] name <- changed[[kk]] [13:13:11.104] NAME <- NAMES[[kk]] [13:13:11.104] if (name != NAME && is.element(NAME, old_names)) [13:13:11.104] next [13:13:11.104] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.104] } [13:13:11.104] NAMES <- toupper(added) [13:13:11.104] for (kk in seq_along(NAMES)) { [13:13:11.104] name <- added[[kk]] [13:13:11.104] NAME <- NAMES[[kk]] [13:13:11.104] if (name != NAME && is.element(NAME, old_names)) [13:13:11.104] next [13:13:11.104] args[[name]] <- "" [13:13:11.104] } [13:13:11.104] NAMES <- toupper(removed) [13:13:11.104] for (kk in seq_along(NAMES)) { [13:13:11.104] name <- removed[[kk]] [13:13:11.104] NAME <- NAMES[[kk]] [13:13:11.104] if (name != NAME && is.element(NAME, old_names)) [13:13:11.104] next [13:13:11.104] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.104] } [13:13:11.104] if (length(args) > 0) [13:13:11.104] base::do.call(base::Sys.setenv, args = args) [13:13:11.104] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:11.104] } [13:13:11.104] else { [13:13:11.104] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:11.104] } [13:13:11.104] { [13:13:11.104] if (base::length(...future.futureOptionsAdded) > [13:13:11.104] 0L) { [13:13:11.104] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:11.104] base::names(opts) <- ...future.futureOptionsAdded [13:13:11.104] base::options(opts) [13:13:11.104] } [13:13:11.104] { [13:13:11.104] { [13:13:11.104] NULL [13:13:11.104] RNGkind("Mersenne-Twister") [13:13:11.104] base::rm(list = ".Random.seed", envir = base::globalenv(), [13:13:11.104] inherits = FALSE) [13:13:11.104] } [13:13:11.104] options(future.plan = NULL) [13:13:11.104] if (is.na(NA_character_)) [13:13:11.104] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.104] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:11.104] future::plan(list(function (..., envir = parent.frame()) [13:13:11.104] { [13:13:11.104] future <- SequentialFuture(..., envir = envir) [13:13:11.104] if (!future$lazy) [13:13:11.104] future <- run(future) [13:13:11.104] invisible(future) [13:13:11.104] }), .cleanup = FALSE, .init = FALSE) [13:13:11.104] } [13:13:11.104] } [13:13:11.104] } [13:13:11.104] }) [13:13:11.104] if (TRUE) { [13:13:11.104] base::sink(type = "output", split = FALSE) [13:13:11.104] if (TRUE) { [13:13:11.104] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:11.104] } [13:13:11.104] else { [13:13:11.104] ...future.result["stdout"] <- base::list(NULL) [13:13:11.104] } [13:13:11.104] base::close(...future.stdout) [13:13:11.104] ...future.stdout <- NULL [13:13:11.104] } [13:13:11.104] ...future.result$conditions <- ...future.conditions [13:13:11.104] ...future.result$finished <- base::Sys.time() [13:13:11.104] ...future.result [13:13:11.104] } [13:13:11.108] assign_globals() ... [13:13:11.108] List of 5 [13:13:11.108] $ future.call.arguments : list() [13:13:11.108] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.108] $ ...future.FUN :function (x) [13:13:11.108] $ ...future.elements_ii :List of 2 [13:13:11.108] ..$ : int [1:2] 1 3 [13:13:11.108] ..$ : int [1:2] 2 4 [13:13:11.108] $ ...future.seeds_ii : NULL [13:13:11.108] $ ...future.globals.maxSize: num Inf [13:13:11.108] - attr(*, "resolved")= logi FALSE [13:13:11.108] - attr(*, "total_size")= num NA [13:13:11.108] - attr(*, "where")=List of 5 [13:13:11.108] ..$ future.call.arguments : [13:13:11.108] ..$ ...future.FUN : [13:13:11.108] ..$ ...future.elements_ii : [13:13:11.108] ..$ ...future.seeds_ii : [13:13:11.108] ..$ ...future.globals.maxSize: [13:13:11.108] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.108] - attr(*, "already-done")= logi TRUE [13:13:11.114] - copied 'future.call.arguments' to environment [13:13:11.114] - reassign environment for '...future.FUN' [13:13:11.114] - copied '...future.FUN' to environment [13:13:11.114] - copied '...future.elements_ii' to environment [13:13:11.114] - copied '...future.seeds_ii' to environment [13:13:11.115] - copied '...future.globals.maxSize' to environment [13:13:11.115] assign_globals() ... done [13:13:11.115] plan(): Setting new future strategy stack: [13:13:11.115] List of future strategies: [13:13:11.115] 1. sequential: [13:13:11.115] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.115] - tweaked: FALSE [13:13:11.115] - call: NULL [13:13:11.116] plan(): nbrOfWorkers() = 1 [13:13:11.117] plan(): Setting new future strategy stack: [13:13:11.117] List of future strategies: [13:13:11.117] 1. sequential: [13:13:11.117] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.117] - tweaked: FALSE [13:13:11.117] - call: plan(strategy) [13:13:11.118] plan(): nbrOfWorkers() = 1 [13:13:11.119] SequentialFuture started (and completed) [13:13:11.119] - Launch lazy future ... done [13:13:11.119] run() for 'SequentialFuture' ... done [13:13:11.119] Created future: [13:13:11.119] SequentialFuture: [13:13:11.119] Label: 'future_apply-1' [13:13:11.119] Expression: [13:13:11.119] { [13:13:11.119] do.call(function(...) { [13:13:11.119] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.119] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:11.119] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.119] on.exit(options(oopts), add = TRUE) [13:13:11.119] } [13:13:11.119] { [13:13:11.119] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:11.119] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.119] ...future.FUN(...future.X_jj, ...) [13:13:11.119] }) [13:13:11.119] } [13:13:11.119] }, args = future.call.arguments) [13:13:11.119] } [13:13:11.119] Lazy evaluation: FALSE [13:13:11.119] Asynchronous evaluation: FALSE [13:13:11.119] Local evaluation: TRUE [13:13:11.119] Environment: R_GlobalEnv [13:13:11.119] Capture standard output: TRUE [13:13:11.119] Capture condition classes: 'condition' (excluding 'nothing') [13:13:11.119] Globals: 5 objects totaling 9.82 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 9.66 KiB, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:11.119] Packages: [13:13:11.119] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:11.119] Resolved: TRUE [13:13:11.119] Value: 400 bytes of class 'list' [13:13:11.119] Early signaling: FALSE [13:13:11.119] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:11.119] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:11.121] Chunk #1 of 1 ... DONE [13:13:11.121] Launching 1 futures (chunks) ... DONE [13:13:11.121] Resolving 1 futures (chunks) ... [13:13:11.121] resolve() on list ... [13:13:11.121] recursive: 0 [13:13:11.122] length: 1 [13:13:11.122] [13:13:11.122] resolved() for 'SequentialFuture' ... [13:13:11.122] - state: 'finished' [13:13:11.122] - run: TRUE [13:13:11.122] - result: 'FutureResult' [13:13:11.123] resolved() for 'SequentialFuture' ... done [13:13:11.123] Future #1 [13:13:11.123] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:11.123] - nx: 1 [13:13:11.123] - relay: TRUE [13:13:11.124] - stdout: TRUE [13:13:11.124] - signal: TRUE [13:13:11.124] - resignal: FALSE [13:13:11.124] - force: TRUE [13:13:11.124] - relayed: [n=1] FALSE [13:13:11.124] - queued futures: [n=1] FALSE [13:13:11.125] - until=1 [13:13:11.125] - relaying element #1 [13:13:11.125] - relayed: [n=1] TRUE [13:13:11.125] - queued futures: [n=1] TRUE [13:13:11.125] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:11.126] length: 0 (resolved future 1) [13:13:11.126] Relaying remaining futures [13:13:11.126] signalConditionsASAP(NULL, pos=0) ... [13:13:11.126] - nx: 1 [13:13:11.126] - relay: TRUE [13:13:11.126] - stdout: TRUE [13:13:11.126] - signal: TRUE [13:13:11.127] - resignal: FALSE [13:13:11.127] - force: TRUE [13:13:11.127] - relayed: [n=1] TRUE [13:13:11.127] - queued futures: [n=1] TRUE - flush all [13:13:11.127] - relayed: [n=1] TRUE [13:13:11.127] - queued futures: [n=1] TRUE [13:13:11.128] signalConditionsASAP(NULL, pos=0) ... done [13:13:11.128] resolve() on list ... DONE [13:13:11.128] - Number of value chunks collected: 1 [13:13:11.128] Resolving 1 futures (chunks) ... DONE [13:13:11.128] Reducing values from 1 chunks ... [13:13:11.128] - Number of values collected after concatenation: 2 [13:13:11.129] - Number of values expected: 2 [13:13:11.129] Reducing values from 1 chunks ... DONE [13:13:11.129] future_lapply() ... DONE [,1] [,2] [1,] 1 2 [2,] 3 4 - example(future_apply) - reproducible RNG ... [13:13:11.129] getGlobalsAndPackagesXApply() ... [13:13:11.129] - future.globals: TRUE [13:13:11.130] getGlobalsAndPackages() ... [13:13:11.130] Searching for globals... [13:13:11.133] - globals found: [13] 'FUN', '{', 'if', '&&', '==', 'length', 'is.numeric', 'is.finite', '>=', 'missing', '<-', 'sample.int', '[' [13:13:11.134] Searching for globals ... DONE [13:13:11.134] Resolving globals: FALSE [13:13:11.135] The total size of the 1 globals is 35.45 KiB (36296 bytes) [13:13:11.135] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:4, dim = c(2L, 2L)))') is 35.45 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (35.45 KiB of class 'function') [13:13:11.135] - globals: [1] 'FUN' [13:13:11.135] [13:13:11.136] getGlobalsAndPackages() ... DONE [13:13:11.136] - globals found/used: [n=1] 'FUN' [13:13:11.136] - needed namespaces: [n=0] [13:13:11.136] Finding globals ... DONE [13:13:11.136] - use_args: TRUE [13:13:11.136] - Getting '...' globals ... [13:13:11.137] resolve() on list ... [13:13:11.137] recursive: 0 [13:13:11.137] length: 1 [13:13:11.137] elements: '...' [13:13:11.137] length: 0 (resolved future 1) [13:13:11.138] resolve() on list ... DONE [13:13:11.138] - '...' content: [n=0] [13:13:11.138] List of 1 [13:13:11.138] $ ...: list() [13:13:11.138] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.138] - attr(*, "where")=List of 1 [13:13:11.138] ..$ ...: [13:13:11.138] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.138] - attr(*, "resolved")= logi TRUE [13:13:11.138] - attr(*, "total_size")= num NA [13:13:11.141] - Getting '...' globals ... DONE [13:13:11.141] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:11.141] List of 2 [13:13:11.141] $ ...future.FUN:function (x, size, replace = FALSE, prob = NULL) [13:13:11.141] $ ... : list() [13:13:11.141] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.141] - attr(*, "where")=List of 2 [13:13:11.141] ..$ ...future.FUN: [13:13:11.141] ..$ ... : [13:13:11.141] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.141] - attr(*, "resolved")= logi FALSE [13:13:11.141] - attr(*, "total_size")= num 36296 [13:13:11.145] Packages to be attached in all futures: [n=0] [13:13:11.145] getGlobalsAndPackagesXApply() ... DONE [13:13:11.146] future_lapply() ... [13:13:11.148] Generating random seeds ... [13:13:11.149] Generating random seed streams for 2 elements ... [13:13:11.149] Generating random seed streams for 2 elements ... DONE [13:13:11.149] Generating random seeds ... DONE [13:13:11.149] Will set RNG state on exit: 10407, 1392758856, 157718585, -1544705793, 14690271, -971284260, -1767403433 [13:13:11.150] Number of chunks: 1 [13:13:11.150] getGlobalsAndPackagesXApply() ... [13:13:11.150] - future.globals: with names 'list()' [13:13:11.150] - use_args: TRUE [13:13:11.150] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:11.151] List of 2 [13:13:11.151] $ ... : list() [13:13:11.151] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.151] $ ...future.FUN:function (x, size, replace = FALSE, prob = NULL) [13:13:11.151] - attr(*, "where")=List of 2 [13:13:11.151] ..$ ... : [13:13:11.151] ..$ ...future.FUN: [13:13:11.151] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.151] - attr(*, "resolved")= logi FALSE [13:13:11.151] - attr(*, "total_size")= num NA [13:13:11.154] Packages to be attached in all futures: [n=0] [13:13:11.154] getGlobalsAndPackagesXApply() ... DONE [13:13:11.155] Number of futures (= number of chunks): 1 [13:13:11.155] Launching 1 futures (chunks) ... [13:13:11.155] Chunk #1 of 1 ... [13:13:11.155] - seeds: [2] [13:13:11.155] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.156] getGlobalsAndPackages() ... [13:13:11.156] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.156] Resolving globals: FALSE [13:13:11.156] Tweak future expression to call with '...' arguments ... [13:13:11.156] { [13:13:11.156] do.call(function(...) { [13:13:11.156] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.156] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:11.156] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.156] on.exit(options(oopts), add = TRUE) [13:13:11.156] } [13:13:11.156] { [13:13:11.156] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:11.156] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.156] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:11.156] envir = globalenv(), inherits = FALSE) [13:13:11.156] ...future.FUN(...future.X_jj, ...) [13:13:11.156] }) [13:13:11.156] } [13:13:11.156] }, args = future.call.arguments) [13:13:11.156] } [13:13:11.157] Tweak future expression to call with '...' arguments ... DONE [13:13:11.157] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:11.158] [13:13:11.158] getGlobalsAndPackages() ... DONE [13:13:11.158] run() for 'Future' ... [13:13:11.158] - state: 'created' [13:13:11.159] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [13:13:11.159] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:11.159] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [13:13:11.159] - Field: 'label' [13:13:11.159] - Field: 'local' [13:13:11.160] - Field: 'owner' [13:13:11.160] - Field: 'envir' [13:13:11.160] - Field: 'packages' [13:13:11.160] - Field: 'gc' [13:13:11.160] - Field: 'conditions' [13:13:11.160] - Field: 'expr' [13:13:11.161] - Field: 'uuid' [13:13:11.161] - Field: 'seed' [13:13:11.161] - Field: 'version' [13:13:11.161] - Field: 'result' [13:13:11.161] - Field: 'asynchronous' [13:13:11.161] - Field: 'calls' [13:13:11.162] - Field: 'globals' [13:13:11.162] - Field: 'stdout' [13:13:11.162] - Field: 'earlySignal' [13:13:11.162] - Field: 'lazy' [13:13:11.162] - Field: 'state' [13:13:11.163] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [13:13:11.163] - Launch lazy future ... [13:13:11.163] Packages needed by the future expression (n = 0): [13:13:11.163] Packages needed by future strategies (n = 0): [13:13:11.164] { [13:13:11.164] { [13:13:11.164] { [13:13:11.164] ...future.startTime <- base::Sys.time() [13:13:11.164] { [13:13:11.164] { [13:13:11.164] { [13:13:11.164] base::local({ [13:13:11.164] has_future <- base::requireNamespace("future", [13:13:11.164] quietly = TRUE) [13:13:11.164] if (has_future) { [13:13:11.164] ns <- base::getNamespace("future") [13:13:11.164] version <- ns[[".package"]][["version"]] [13:13:11.164] if (is.null(version)) [13:13:11.164] version <- utils::packageVersion("future") [13:13:11.164] } [13:13:11.164] else { [13:13:11.164] version <- NULL [13:13:11.164] } [13:13:11.164] if (!has_future || version < "1.8.0") { [13:13:11.164] info <- base::c(r_version = base::gsub("R version ", [13:13:11.164] "", base::R.version$version.string), [13:13:11.164] platform = base::sprintf("%s (%s-bit)", [13:13:11.164] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:11.164] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:11.164] "release", "version")], collapse = " "), [13:13:11.164] hostname = base::Sys.info()[["nodename"]]) [13:13:11.164] info <- base::sprintf("%s: %s", base::names(info), [13:13:11.164] info) [13:13:11.164] info <- base::paste(info, collapse = "; ") [13:13:11.164] if (!has_future) { [13:13:11.164] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:11.164] info) [13:13:11.164] } [13:13:11.164] else { [13:13:11.164] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:11.164] info, version) [13:13:11.164] } [13:13:11.164] base::stop(msg) [13:13:11.164] } [13:13:11.164] }) [13:13:11.164] } [13:13:11.164] options(future.plan = NULL) [13:13:11.164] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.164] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:11.164] } [13:13:11.164] ...future.workdir <- getwd() [13:13:11.164] } [13:13:11.164] ...future.oldOptions <- base::as.list(base::.Options) [13:13:11.164] ...future.oldEnvVars <- base::Sys.getenv() [13:13:11.164] } [13:13:11.164] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:11.164] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:11.164] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:11.164] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:11.164] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:11.164] future.stdout.windows.reencode = NULL, width = 80L) [13:13:11.164] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:11.164] base::names(...future.oldOptions)) [13:13:11.164] } [13:13:11.164] if (FALSE) { [13:13:11.164] } [13:13:11.164] else { [13:13:11.164] if (TRUE) { [13:13:11.164] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:11.164] open = "w") [13:13:11.164] } [13:13:11.164] else { [13:13:11.164] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:11.164] windows = "NUL", "/dev/null"), open = "w") [13:13:11.164] } [13:13:11.164] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:11.164] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:11.164] base::sink(type = "output", split = FALSE) [13:13:11.164] base::close(...future.stdout) [13:13:11.164] }, add = TRUE) [13:13:11.164] } [13:13:11.164] ...future.frame <- base::sys.nframe() [13:13:11.164] ...future.conditions <- base::list() [13:13:11.164] ...future.rng <- base::globalenv()$.Random.seed [13:13:11.164] if (FALSE) { [13:13:11.164] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:11.164] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:11.164] } [13:13:11.164] ...future.result <- base::tryCatch({ [13:13:11.164] base::withCallingHandlers({ [13:13:11.164] ...future.value <- base::withVisible(base::local({ [13:13:11.164] do.call(function(...) { [13:13:11.164] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.164] if (!identical(...future.globals.maxSize.org, [13:13:11.164] ...future.globals.maxSize)) { [13:13:11.164] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.164] on.exit(options(oopts), add = TRUE) [13:13:11.164] } [13:13:11.164] { [13:13:11.164] lapply(seq_along(...future.elements_ii), [13:13:11.164] FUN = function(jj) { [13:13:11.164] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.164] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:11.164] envir = globalenv(), inherits = FALSE) [13:13:11.164] ...future.FUN(...future.X_jj, ...) [13:13:11.164] }) [13:13:11.164] } [13:13:11.164] }, args = future.call.arguments) [13:13:11.164] })) [13:13:11.164] future::FutureResult(value = ...future.value$value, [13:13:11.164] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.164] ...future.rng), globalenv = if (FALSE) [13:13:11.164] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:11.164] ...future.globalenv.names)) [13:13:11.164] else NULL, started = ...future.startTime, version = "1.8") [13:13:11.164] }, condition = base::local({ [13:13:11.164] c <- base::c [13:13:11.164] inherits <- base::inherits [13:13:11.164] invokeRestart <- base::invokeRestart [13:13:11.164] length <- base::length [13:13:11.164] list <- base::list [13:13:11.164] seq.int <- base::seq.int [13:13:11.164] signalCondition <- base::signalCondition [13:13:11.164] sys.calls <- base::sys.calls [13:13:11.164] `[[` <- base::`[[` [13:13:11.164] `+` <- base::`+` [13:13:11.164] `<<-` <- base::`<<-` [13:13:11.164] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:11.164] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:11.164] 3L)] [13:13:11.164] } [13:13:11.164] function(cond) { [13:13:11.164] is_error <- inherits(cond, "error") [13:13:11.164] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:11.164] NULL) [13:13:11.164] if (is_error) { [13:13:11.164] sessionInformation <- function() { [13:13:11.164] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:11.164] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:11.164] search = base::search(), system = base::Sys.info()) [13:13:11.164] } [13:13:11.164] ...future.conditions[[length(...future.conditions) + [13:13:11.164] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:11.164] cond$call), session = sessionInformation(), [13:13:11.164] timestamp = base::Sys.time(), signaled = 0L) [13:13:11.164] signalCondition(cond) [13:13:11.164] } [13:13:11.164] else if (!ignore && FALSE && inherits(cond, NULL)) { [13:13:11.164] signal <- TRUE && inherits(cond, character(0)) [13:13:11.164] ...future.conditions[[length(...future.conditions) + [13:13:11.164] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:11.164] if (TRUE && !signal) { [13:13:11.164] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.164] { [13:13:11.164] inherits <- base::inherits [13:13:11.164] invokeRestart <- base::invokeRestart [13:13:11.164] is.null <- base::is.null [13:13:11.164] muffled <- FALSE [13:13:11.164] if (inherits(cond, "message")) { [13:13:11.164] muffled <- grepl(pattern, "muffleMessage") [13:13:11.164] if (muffled) [13:13:11.164] invokeRestart("muffleMessage") [13:13:11.164] } [13:13:11.164] else if (inherits(cond, "warning")) { [13:13:11.164] muffled <- grepl(pattern, "muffleWarning") [13:13:11.164] if (muffled) [13:13:11.164] invokeRestart("muffleWarning") [13:13:11.164] } [13:13:11.164] else if (inherits(cond, "condition")) { [13:13:11.164] if (!is.null(pattern)) { [13:13:11.164] computeRestarts <- base::computeRestarts [13:13:11.164] grepl <- base::grepl [13:13:11.164] restarts <- computeRestarts(cond) [13:13:11.164] for (restart in restarts) { [13:13:11.164] name <- restart$name [13:13:11.164] if (is.null(name)) [13:13:11.164] next [13:13:11.164] if (!grepl(pattern, name)) [13:13:11.164] next [13:13:11.164] invokeRestart(restart) [13:13:11.164] muffled <- TRUE [13:13:11.164] break [13:13:11.164] } [13:13:11.164] } [13:13:11.164] } [13:13:11.164] invisible(muffled) [13:13:11.164] } [13:13:11.164] muffleCondition(cond, pattern = "^muffle") [13:13:11.164] } [13:13:11.164] } [13:13:11.164] else { [13:13:11.164] if (FALSE) { [13:13:11.164] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.164] { [13:13:11.164] inherits <- base::inherits [13:13:11.164] invokeRestart <- base::invokeRestart [13:13:11.164] is.null <- base::is.null [13:13:11.164] muffled <- FALSE [13:13:11.164] if (inherits(cond, "message")) { [13:13:11.164] muffled <- grepl(pattern, "muffleMessage") [13:13:11.164] if (muffled) [13:13:11.164] invokeRestart("muffleMessage") [13:13:11.164] } [13:13:11.164] else if (inherits(cond, "warning")) { [13:13:11.164] muffled <- grepl(pattern, "muffleWarning") [13:13:11.164] if (muffled) [13:13:11.164] invokeRestart("muffleWarning") [13:13:11.164] } [13:13:11.164] else if (inherits(cond, "condition")) { [13:13:11.164] if (!is.null(pattern)) { [13:13:11.164] computeRestarts <- base::computeRestarts [13:13:11.164] grepl <- base::grepl [13:13:11.164] restarts <- computeRestarts(cond) [13:13:11.164] for (restart in restarts) { [13:13:11.164] name <- restart$name [13:13:11.164] if (is.null(name)) [13:13:11.164] next [13:13:11.164] if (!grepl(pattern, name)) [13:13:11.164] next [13:13:11.164] invokeRestart(restart) [13:13:11.164] muffled <- TRUE [13:13:11.164] break [13:13:11.164] } [13:13:11.164] } [13:13:11.164] } [13:13:11.164] invisible(muffled) [13:13:11.164] } [13:13:11.164] muffleCondition(cond, pattern = "^muffle") [13:13:11.164] } [13:13:11.164] } [13:13:11.164] } [13:13:11.164] })) [13:13:11.164] }, error = function(ex) { [13:13:11.164] base::structure(base::list(value = NULL, visible = NULL, [13:13:11.164] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.164] ...future.rng), started = ...future.startTime, [13:13:11.164] finished = Sys.time(), session_uuid = NA_character_, [13:13:11.164] version = "1.8"), class = "FutureResult") [13:13:11.164] }, finally = { [13:13:11.164] if (!identical(...future.workdir, getwd())) [13:13:11.164] setwd(...future.workdir) [13:13:11.164] { [13:13:11.164] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:11.164] ...future.oldOptions$nwarnings <- NULL [13:13:11.164] } [13:13:11.164] base::options(...future.oldOptions) [13:13:11.164] if (.Platform$OS.type == "windows") { [13:13:11.164] old_names <- names(...future.oldEnvVars) [13:13:11.164] envs <- base::Sys.getenv() [13:13:11.164] names <- names(envs) [13:13:11.164] common <- intersect(names, old_names) [13:13:11.164] added <- setdiff(names, old_names) [13:13:11.164] removed <- setdiff(old_names, names) [13:13:11.164] changed <- common[...future.oldEnvVars[common] != [13:13:11.164] envs[common]] [13:13:11.164] NAMES <- toupper(changed) [13:13:11.164] args <- list() [13:13:11.164] for (kk in seq_along(NAMES)) { [13:13:11.164] name <- changed[[kk]] [13:13:11.164] NAME <- NAMES[[kk]] [13:13:11.164] if (name != NAME && is.element(NAME, old_names)) [13:13:11.164] next [13:13:11.164] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.164] } [13:13:11.164] NAMES <- toupper(added) [13:13:11.164] for (kk in seq_along(NAMES)) { [13:13:11.164] name <- added[[kk]] [13:13:11.164] NAME <- NAMES[[kk]] [13:13:11.164] if (name != NAME && is.element(NAME, old_names)) [13:13:11.164] next [13:13:11.164] args[[name]] <- "" [13:13:11.164] } [13:13:11.164] NAMES <- toupper(removed) [13:13:11.164] for (kk in seq_along(NAMES)) { [13:13:11.164] name <- removed[[kk]] [13:13:11.164] NAME <- NAMES[[kk]] [13:13:11.164] if (name != NAME && is.element(NAME, old_names)) [13:13:11.164] next [13:13:11.164] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.164] } [13:13:11.164] if (length(args) > 0) [13:13:11.164] base::do.call(base::Sys.setenv, args = args) [13:13:11.164] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:11.164] } [13:13:11.164] else { [13:13:11.164] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:11.164] } [13:13:11.164] { [13:13:11.164] if (base::length(...future.futureOptionsAdded) > [13:13:11.164] 0L) { [13:13:11.164] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:11.164] base::names(opts) <- ...future.futureOptionsAdded [13:13:11.164] base::options(opts) [13:13:11.164] } [13:13:11.164] { [13:13:11.164] { [13:13:11.164] base::assign(".Random.seed", c(10407L, 1392758856L, [13:13:11.164] 157718585L, -1544705793L, 14690271L, -971284260L, [13:13:11.164] -1767403433L), envir = base::globalenv(), [13:13:11.164] inherits = FALSE) [13:13:11.164] NULL [13:13:11.164] } [13:13:11.164] options(future.plan = NULL) [13:13:11.164] if (is.na(NA_character_)) [13:13:11.164] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.164] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:11.164] future::plan(list(function (..., envir = parent.frame()) [13:13:11.164] { [13:13:11.164] future <- SequentialFuture(..., envir = envir) [13:13:11.164] if (!future$lazy) [13:13:11.164] future <- run(future) [13:13:11.164] invisible(future) [13:13:11.164] }), .cleanup = FALSE, .init = FALSE) [13:13:11.164] } [13:13:11.164] } [13:13:11.164] } [13:13:11.164] }) [13:13:11.164] if (TRUE) { [13:13:11.164] base::sink(type = "output", split = FALSE) [13:13:11.164] if (TRUE) { [13:13:11.164] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:11.164] } [13:13:11.164] else { [13:13:11.164] ...future.result["stdout"] <- base::list(NULL) [13:13:11.164] } [13:13:11.164] base::close(...future.stdout) [13:13:11.164] ...future.stdout <- NULL [13:13:11.164] } [13:13:11.164] ...future.result$conditions <- ...future.conditions [13:13:11.164] ...future.result$finished <- base::Sys.time() [13:13:11.164] ...future.result [13:13:11.164] } [13:13:11.168] assign_globals() ... [13:13:11.168] List of 5 [13:13:11.168] $ future.call.arguments : list() [13:13:11.168] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:11.168] $ ...future.FUN :function (x, size, replace = FALSE, prob = NULL) [13:13:11.168] $ ...future.elements_ii :List of 2 [13:13:11.168] ..$ : int [1:2] 1 3 [13:13:11.168] ..$ : int [1:2] 2 4 [13:13:11.168] $ ...future.seeds_ii :List of 2 [13:13:11.168] ..$ : int [1:7] 10407 1242173061 -1150840343 -834448425 701050094 -1369558043 -650964284 [13:13:11.168] ..$ : int [1:7] 10407 859061261 1088872332 -1371790091 -942478768 -889560561 1393381402 [13:13:11.168] $ ...future.globals.maxSize: num Inf [13:13:11.168] - attr(*, "resolved")= logi FALSE [13:13:11.168] - attr(*, "total_size")= num NA [13:13:11.168] - attr(*, "where")=List of 5 [13:13:11.168] ..$ future.call.arguments : [13:13:11.168] ..$ ...future.FUN : [13:13:11.168] ..$ ...future.elements_ii : [13:13:11.168] ..$ ...future.seeds_ii : [13:13:11.168] ..$ ...future.globals.maxSize: [13:13:11.168] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:11.168] - attr(*, "already-done")= logi TRUE [13:13:11.176] - copied 'future.call.arguments' to environment [13:13:11.176] - copied '...future.FUN' to environment [13:13:11.176] - copied '...future.elements_ii' to environment [13:13:11.176] - copied '...future.seeds_ii' to environment [13:13:11.176] - copied '...future.globals.maxSize' to environment [13:13:11.176] assign_globals() ... done [13:13:11.177] plan(): Setting new future strategy stack: [13:13:11.177] List of future strategies: [13:13:11.177] 1. sequential: [13:13:11.177] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.177] - tweaked: FALSE [13:13:11.177] - call: NULL [13:13:11.178] plan(): nbrOfWorkers() = 1 [13:13:11.179] plan(): Setting new future strategy stack: [13:13:11.179] List of future strategies: [13:13:11.179] 1. sequential: [13:13:11.179] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.179] - tweaked: FALSE [13:13:11.179] - call: plan(strategy) [13:13:11.179] plan(): nbrOfWorkers() = 1 [13:13:11.180] SequentialFuture started (and completed) [13:13:11.180] - Launch lazy future ... done [13:13:11.180] run() for 'SequentialFuture' ... done [13:13:11.180] Created future: [13:13:11.180] SequentialFuture: [13:13:11.180] Label: 'future_apply-1' [13:13:11.180] Expression: [13:13:11.180] { [13:13:11.180] do.call(function(...) { [13:13:11.180] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:11.180] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:11.180] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:11.180] on.exit(options(oopts), add = TRUE) [13:13:11.180] } [13:13:11.180] { [13:13:11.180] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:11.180] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:11.180] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:11.180] envir = globalenv(), inherits = FALSE) [13:13:11.180] ...future.FUN(...future.X_jj, ...) [13:13:11.180] }) [13:13:11.180] } [13:13:11.180] }, args = future.call.arguments) [13:13:11.180] } [13:13:11.180] Lazy evaluation: FALSE [13:13:11.180] Asynchronous evaluation: FALSE [13:13:11.180] Local evaluation: TRUE [13:13:11.180] Environment: R_GlobalEnv [13:13:11.180] Capture standard output: TRUE [13:13:11.180] Capture condition classes: [13:13:11.180] Globals: 5 objects totaling 35.77 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 35.45 KiB, list '...future.elements_ii' of 112 bytes, list '...future.seeds_ii' of 160 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:11.180] Packages: [13:13:11.180] L'Ecuyer-CMRG RNG seed: (seed = NULL) [13:13:11.180] Resolved: TRUE [13:13:11.180] Value: 112 bytes of class 'list' [13:13:11.180] Early signaling: FALSE [13:13:11.180] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:11.180] Class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [13:13:11.182] Chunk #1 of 1 ... DONE [13:13:11.182] Launching 1 futures (chunks) ... DONE [13:13:11.182] Resolving 1 futures (chunks) ... [13:13:11.182] resolve() on list ... [13:13:11.182] recursive: 0 [13:13:11.182] length: 1 [13:13:11.183] [13:13:11.183] resolved() for 'SequentialFuture' ... [13:13:11.183] - state: 'finished' [13:13:11.183] - run: TRUE [13:13:11.183] - result: 'FutureResult' [13:13:11.183] resolved() for 'SequentialFuture' ... done [13:13:11.184] Future #1 [13:13:11.184] signalConditionsASAP(SequentialFuture, pos=1) ... [13:13:11.184] - nx: 1 [13:13:11.184] - relay: TRUE [13:13:11.184] - stdout: TRUE [13:13:11.184] - signal: TRUE [13:13:11.185] - resignal: FALSE [13:13:11.185] - force: TRUE [13:13:11.185] - relayed: [n=1] FALSE [13:13:11.185] - queued futures: [n=1] FALSE [13:13:11.185] - until=1 [13:13:11.185] - relaying element #1 [13:13:11.186] - relayed: [n=1] TRUE [13:13:11.186] - queued futures: [n=1] TRUE [13:13:11.186] signalConditionsASAP(SequentialFuture, pos=1) ... done [13:13:11.186] length: 0 (resolved future 1) [13:13:11.186] Relaying remaining futures [13:13:11.186] signalConditionsASAP(NULL, pos=0) ... [13:13:11.187] - nx: 1 [13:13:11.187] - relay: TRUE [13:13:11.187] - stdout: TRUE [13:13:11.187] - signal: TRUE [13:13:11.187] - resignal: FALSE [13:13:11.187] - force: TRUE [13:13:11.188] - relayed: [n=1] TRUE [13:13:11.188] - queued futures: [n=1] TRUE - flush all [13:13:11.188] - relayed: [n=1] TRUE [13:13:11.188] - queued futures: [n=1] TRUE [13:13:11.188] signalConditionsASAP(NULL, pos=0) ... done [13:13:11.188] resolve() on list ... DONE [13:13:11.189] - Number of value chunks collected: 1 [13:13:11.189] Resolving 1 futures (chunks) ... DONE [13:13:11.189] Reducing values from 1 chunks ... [13:13:11.189] - Number of values collected after concatenation: 2 [13:13:11.189] - Number of values expected: 2 [13:13:11.189] Reducing values from 1 chunks ... DONE [13:13:11.190] future_lapply() ... DONE [,1] [,2] [1,] 3 2 [2,] 1 4 [13:13:11.190] plan(): Setting new future strategy stack: [13:13:11.190] List of future strategies: [13:13:11.190] 1. sequential: [13:13:11.190] - args: function (..., envir = parent.frame(), workers = "") [13:13:11.190] - tweaked: FALSE [13:13:11.190] - call: plan(sequential) [13:13:11.191] plan(): nbrOfWorkers() = 1 *** strategy = 'sequential' ... done *** strategy = 'multisession' ... [13:13:11.191] plan(): Setting new future strategy stack: [13:13:11.191] List of future strategies: [13:13:11.191] 1. multisession: [13:13:11.191] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [13:13:11.191] - tweaked: FALSE [13:13:11.191] - call: plan(strategy) [13:13:11.192] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [13:13:11.192] multisession: [13:13:11.192] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [13:13:11.192] - tweaked: FALSE [13:13:11.192] - call: plan(strategy) [13:13:11.197] getGlobalsAndPackages() ... [13:13:11.198] Not searching for globals [13:13:11.198] - globals: [0] [13:13:11.198] getGlobalsAndPackages() ... DONE [13:13:11.199] [local output] makeClusterPSOCK() ... [13:13:11.230] [local output] Workers: [n = 2] 'localhost', 'localhost' [13:13:11.237] [local output] Base port: 27243 [13:13:11.237] [local output] Getting setup options for 2 cluster nodes ... [13:13:11.238] [local output] - Node 1 of 2 ... [13:13:11.238] [local output] localMachine=TRUE => revtunnel=FALSE [13:13:11.239] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpSk2yiH/worker.rank=1.parallelly.parent=4368.1110d4444a5.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpSk2yiH/worker.rank=1.parallelly.parent=4368.1110d4444a5.pid\")"' [13:13:11.686] - Possible to infer worker's PID: TRUE [13:13:11.687] [local output] Rscript port: 27243 [13:13:11.687] [local output] - Node 2 of 2 ... [13:13:11.688] [local output] localMachine=TRUE => revtunnel=FALSE [13:13:11.689] [local output] Rscript port: 27243 [13:13:11.689] [local output] Getting setup options for 2 cluster nodes ... done [13:13:11.690] [local output] - Parallel setup requested for some PSOCK nodes [13:13:11.690] [local output] Setting up PSOCK nodes in parallel [13:13:11.691] List of 36 [13:13:11.691] $ worker : chr "localhost" [13:13:11.691] ..- attr(*, "localhost")= logi TRUE [13:13:11.691] $ master : chr "localhost" [13:13:11.691] $ port : int 27243 [13:13:11.691] $ connectTimeout : num 120 [13:13:11.691] $ timeout : num 120 [13:13:11.691] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [13:13:11.691] $ homogeneous : logi TRUE [13:13:11.691] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=future_apply.R:4368:CRANWIN3:CRA"| __truncated__ [13:13:11.691] $ rscript_envs : NULL [13:13:11.691] $ rscript_libs : chr [1:2] "D:/temp/RtmpKkFYYg/RLIBS_20dc214b714b" "D:/RCompile/recent/R/library" [13:13:11.691] $ rscript_startup : NULL [13:13:11.691] $ rscript_sh : chr "cmd" [13:13:11.691] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [13:13:11.691] $ methods : logi TRUE [13:13:11.691] $ socketOptions : chr "no-delay" [13:13:11.691] $ useXDR : logi FALSE [13:13:11.691] $ outfile : chr "/dev/null" [13:13:11.691] $ renice : int NA [13:13:11.691] $ rshcmd : NULL [13:13:11.691] $ user : chr(0) [13:13:11.691] $ revtunnel : logi FALSE [13:13:11.691] $ rshlogfile : NULL [13:13:11.691] $ rshopts : chr(0) [13:13:11.691] $ rank : int 1 [13:13:11.691] $ manual : logi FALSE [13:13:11.691] $ dryrun : logi FALSE [13:13:11.691] $ quiet : logi FALSE [13:13:11.691] $ setup_strategy : chr "parallel" [13:13:11.691] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [13:13:11.691] $ pidfile : chr "D:/temp/RtmpSk2yiH/worker.rank=1.parallelly.parent=4368.1110d4444a5.pid" [13:13:11.691] $ rshcmd_label : NULL [13:13:11.691] $ rsh_call : NULL [13:13:11.691] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [13:13:11.691] $ localMachine : logi TRUE [13:13:11.691] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [13:13:11.691] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [13:13:11.691] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [13:13:11.691] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [13:13:11.691] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [13:13:11.691] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [13:13:11.691] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [13:13:11.691] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [13:13:11.691] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [13:13:11.691] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [13:13:11.691] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [13:13:11.691] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [13:13:11.691] "parallel"), action = c("launch", "options"), verbose = FALSE) [13:13:11.691] $ arguments :List of 28 [13:13:11.691] ..$ worker : chr "localhost" [13:13:11.691] ..$ master : NULL [13:13:11.691] ..$ port : int 27243 [13:13:11.691] ..$ connectTimeout : num 120 [13:13:11.691] ..$ timeout : num 120 [13:13:11.691] ..$ rscript : NULL [13:13:11.691] ..$ homogeneous : NULL [13:13:11.691] ..$ rscript_args : NULL [13:13:11.691] ..$ rscript_envs : NULL [13:13:11.691] ..$ rscript_libs : chr [1:2] "D:/temp/RtmpKkFYYg/RLIBS_20dc214b714b" "D:/RCompile/recent/R/library" [13:13:11.691] ..$ rscript_startup : NULL [13:13:11.691] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [13:13:11.691] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [13:13:11.691] ..$ methods : logi TRUE [13:13:11.691] ..$ socketOptions : chr "no-delay" [13:13:11.691] ..$ useXDR : logi FALSE [13:13:11.691] ..$ outfile : chr "/dev/null" [13:13:11.691] ..$ renice : int NA [13:13:11.691] ..$ rshcmd : NULL [13:13:11.691] ..$ user : NULL [13:13:11.691] ..$ revtunnel : logi NA [13:13:11.691] ..$ rshlogfile : NULL [13:13:11.691] ..$ rshopts : NULL [13:13:11.691] ..$ rank : int 1 [13:13:11.691] ..$ manual : logi FALSE [13:13:11.691] ..$ dryrun : logi FALSE [13:13:11.691] ..$ quiet : logi FALSE [13:13:11.691] ..$ setup_strategy : chr "parallel" [13:13:11.691] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [13:13:11.713] [local output] System call to launch all workers: [13:13:11.713] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=future_apply.R:4368:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpSk2yiH/worker.rank=1.parallelly.parent=4368.1110d4444a5.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=27243 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [13:13:11.713] [local output] Starting PSOCK main server [13:13:11.719] [local output] Workers launched [13:13:11.719] [local output] Waiting for workers to connect back [13:13:11.719] - [local output] 0 workers out of 2 ready [13:13:11.885] - [local output] 0 workers out of 2 ready [13:13:11.886] - [local output] 1 workers out of 2 ready [13:13:11.887] - [local output] 1 workers out of 2 ready [13:13:11.887] - [local output] 2 workers out of 2 ready [13:13:11.888] [local output] Launching of workers completed [13:13:11.888] [local output] Collecting session information from workers [13:13:11.889] [local output] - Worker #1 of 2 [13:13:11.889] [local output] - Worker #2 of 2 [13:13:11.890] [local output] makeClusterPSOCK() ... done [13:13:11.903] Packages needed by the future expression (n = 0): [13:13:11.904] Packages needed by future strategies (n = 0): [13:13:11.904] { [13:13:11.904] { [13:13:11.904] { [13:13:11.904] ...future.startTime <- base::Sys.time() [13:13:11.904] { [13:13:11.904] { [13:13:11.904] { [13:13:11.904] { [13:13:11.904] base::local({ [13:13:11.904] has_future <- base::requireNamespace("future", [13:13:11.904] quietly = TRUE) [13:13:11.904] if (has_future) { [13:13:11.904] ns <- base::getNamespace("future") [13:13:11.904] version <- ns[[".package"]][["version"]] [13:13:11.904] if (is.null(version)) [13:13:11.904] version <- utils::packageVersion("future") [13:13:11.904] } [13:13:11.904] else { [13:13:11.904] version <- NULL [13:13:11.904] } [13:13:11.904] if (!has_future || version < "1.8.0") { [13:13:11.904] info <- base::c(r_version = base::gsub("R version ", [13:13:11.904] "", base::R.version$version.string), [13:13:11.904] platform = base::sprintf("%s (%s-bit)", [13:13:11.904] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:11.904] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:11.904] "release", "version")], collapse = " "), [13:13:11.904] hostname = base::Sys.info()[["nodename"]]) [13:13:11.904] info <- base::sprintf("%s: %s", base::names(info), [13:13:11.904] info) [13:13:11.904] info <- base::paste(info, collapse = "; ") [13:13:11.904] if (!has_future) { [13:13:11.904] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:11.904] info) [13:13:11.904] } [13:13:11.904] else { [13:13:11.904] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:11.904] info, version) [13:13:11.904] } [13:13:11.904] base::stop(msg) [13:13:11.904] } [13:13:11.904] }) [13:13:11.904] } [13:13:11.904] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:11.904] base::options(mc.cores = 1L) [13:13:11.904] } [13:13:11.904] options(future.plan = NULL) [13:13:11.904] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.904] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:11.904] } [13:13:11.904] ...future.workdir <- getwd() [13:13:11.904] } [13:13:11.904] ...future.oldOptions <- base::as.list(base::.Options) [13:13:11.904] ...future.oldEnvVars <- base::Sys.getenv() [13:13:11.904] } [13:13:11.904] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:11.904] future.globals.maxSize = NULL, future.globals.method = NULL, [13:13:11.904] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:11.904] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:11.904] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:11.904] future.stdout.windows.reencode = NULL, width = 80L) [13:13:11.904] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:11.904] base::names(...future.oldOptions)) [13:13:11.904] } [13:13:11.904] if (FALSE) { [13:13:11.904] } [13:13:11.904] else { [13:13:11.904] if (TRUE) { [13:13:11.904] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:11.904] open = "w") [13:13:11.904] } [13:13:11.904] else { [13:13:11.904] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:11.904] windows = "NUL", "/dev/null"), open = "w") [13:13:11.904] } [13:13:11.904] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:11.904] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:11.904] base::sink(type = "output", split = FALSE) [13:13:11.904] base::close(...future.stdout) [13:13:11.904] }, add = TRUE) [13:13:11.904] } [13:13:11.904] ...future.frame <- base::sys.nframe() [13:13:11.904] ...future.conditions <- base::list() [13:13:11.904] ...future.rng <- base::globalenv()$.Random.seed [13:13:11.904] if (FALSE) { [13:13:11.904] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:11.904] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:11.904] } [13:13:11.904] ...future.result <- base::tryCatch({ [13:13:11.904] base::withCallingHandlers({ [13:13:11.904] ...future.value <- base::withVisible(base::local({ [13:13:11.904] ...future.makeSendCondition <- local({ [13:13:11.904] sendCondition <- NULL [13:13:11.904] function(frame = 1L) { [13:13:11.904] if (is.function(sendCondition)) [13:13:11.904] return(sendCondition) [13:13:11.904] ns <- getNamespace("parallel") [13:13:11.904] if (exists("sendData", mode = "function", [13:13:11.904] envir = ns)) { [13:13:11.904] parallel_sendData <- get("sendData", mode = "function", [13:13:11.904] envir = ns) [13:13:11.904] envir <- sys.frame(frame) [13:13:11.904] master <- NULL [13:13:11.904] while (!identical(envir, .GlobalEnv) && [13:13:11.904] !identical(envir, emptyenv())) { [13:13:11.904] if (exists("master", mode = "list", envir = envir, [13:13:11.904] inherits = FALSE)) { [13:13:11.904] master <- get("master", mode = "list", [13:13:11.904] envir = envir, inherits = FALSE) [13:13:11.904] if (inherits(master, c("SOCKnode", [13:13:11.904] "SOCK0node"))) { [13:13:11.904] sendCondition <<- function(cond) { [13:13:11.904] data <- list(type = "VALUE", value = cond, [13:13:11.904] success = TRUE) [13:13:11.904] parallel_sendData(master, data) [13:13:11.904] } [13:13:11.904] return(sendCondition) [13:13:11.904] } [13:13:11.904] } [13:13:11.904] frame <- frame + 1L [13:13:11.904] envir <- sys.frame(frame) [13:13:11.904] } [13:13:11.904] } [13:13:11.904] sendCondition <<- function(cond) NULL [13:13:11.904] } [13:13:11.904] }) [13:13:11.904] withCallingHandlers({ [13:13:11.904] NA [13:13:11.904] }, immediateCondition = function(cond) { [13:13:11.904] sendCondition <- ...future.makeSendCondition() [13:13:11.904] sendCondition(cond) [13:13:11.904] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.904] { [13:13:11.904] inherits <- base::inherits [13:13:11.904] invokeRestart <- base::invokeRestart [13:13:11.904] is.null <- base::is.null [13:13:11.904] muffled <- FALSE [13:13:11.904] if (inherits(cond, "message")) { [13:13:11.904] muffled <- grepl(pattern, "muffleMessage") [13:13:11.904] if (muffled) [13:13:11.904] invokeRestart("muffleMessage") [13:13:11.904] } [13:13:11.904] else if (inherits(cond, "warning")) { [13:13:11.904] muffled <- grepl(pattern, "muffleWarning") [13:13:11.904] if (muffled) [13:13:11.904] invokeRestart("muffleWarning") [13:13:11.904] } [13:13:11.904] else if (inherits(cond, "condition")) { [13:13:11.904] if (!is.null(pattern)) { [13:13:11.904] computeRestarts <- base::computeRestarts [13:13:11.904] grepl <- base::grepl [13:13:11.904] restarts <- computeRestarts(cond) [13:13:11.904] for (restart in restarts) { [13:13:11.904] name <- restart$name [13:13:11.904] if (is.null(name)) [13:13:11.904] next [13:13:11.904] if (!grepl(pattern, name)) [13:13:11.904] next [13:13:11.904] invokeRestart(restart) [13:13:11.904] muffled <- TRUE [13:13:11.904] break [13:13:11.904] } [13:13:11.904] } [13:13:11.904] } [13:13:11.904] invisible(muffled) [13:13:11.904] } [13:13:11.904] muffleCondition(cond) [13:13:11.904] }) [13:13:11.904] })) [13:13:11.904] future::FutureResult(value = ...future.value$value, [13:13:11.904] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.904] ...future.rng), globalenv = if (FALSE) [13:13:11.904] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:11.904] ...future.globalenv.names)) [13:13:11.904] else NULL, started = ...future.startTime, version = "1.8") [13:13:11.904] }, condition = base::local({ [13:13:11.904] c <- base::c [13:13:11.904] inherits <- base::inherits [13:13:11.904] invokeRestart <- base::invokeRestart [13:13:11.904] length <- base::length [13:13:11.904] list <- base::list [13:13:11.904] seq.int <- base::seq.int [13:13:11.904] signalCondition <- base::signalCondition [13:13:11.904] sys.calls <- base::sys.calls [13:13:11.904] `[[` <- base::`[[` [13:13:11.904] `+` <- base::`+` [13:13:11.904] `<<-` <- base::`<<-` [13:13:11.904] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:11.904] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:11.904] 3L)] [13:13:11.904] } [13:13:11.904] function(cond) { [13:13:11.904] is_error <- inherits(cond, "error") [13:13:11.904] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:11.904] NULL) [13:13:11.904] if (is_error) { [13:13:11.904] sessionInformation <- function() { [13:13:11.904] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:11.904] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:11.904] search = base::search(), system = base::Sys.info()) [13:13:11.904] } [13:13:11.904] ...future.conditions[[length(...future.conditions) + [13:13:11.904] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:11.904] cond$call), session = sessionInformation(), [13:13:11.904] timestamp = base::Sys.time(), signaled = 0L) [13:13:11.904] signalCondition(cond) [13:13:11.904] } [13:13:11.904] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:11.904] "immediateCondition"))) { [13:13:11.904] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:11.904] ...future.conditions[[length(...future.conditions) + [13:13:11.904] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:11.904] if (TRUE && !signal) { [13:13:11.904] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.904] { [13:13:11.904] inherits <- base::inherits [13:13:11.904] invokeRestart <- base::invokeRestart [13:13:11.904] is.null <- base::is.null [13:13:11.904] muffled <- FALSE [13:13:11.904] if (inherits(cond, "message")) { [13:13:11.904] muffled <- grepl(pattern, "muffleMessage") [13:13:11.904] if (muffled) [13:13:11.904] invokeRestart("muffleMessage") [13:13:11.904] } [13:13:11.904] else if (inherits(cond, "warning")) { [13:13:11.904] muffled <- grepl(pattern, "muffleWarning") [13:13:11.904] if (muffled) [13:13:11.904] invokeRestart("muffleWarning") [13:13:11.904] } [13:13:11.904] else if (inherits(cond, "condition")) { [13:13:11.904] if (!is.null(pattern)) { [13:13:11.904] computeRestarts <- base::computeRestarts [13:13:11.904] grepl <- base::grepl [13:13:11.904] restarts <- computeRestarts(cond) [13:13:11.904] for (restart in restarts) { [13:13:11.904] name <- restart$name [13:13:11.904] if (is.null(name)) [13:13:11.904] next [13:13:11.904] if (!grepl(pattern, name)) [13:13:11.904] next [13:13:11.904] invokeRestart(restart) [13:13:11.904] muffled <- TRUE [13:13:11.904] break [13:13:11.904] } [13:13:11.904] } [13:13:11.904] } [13:13:11.904] invisible(muffled) [13:13:11.904] } [13:13:11.904] muffleCondition(cond, pattern = "^muffle") [13:13:11.904] } [13:13:11.904] } [13:13:11.904] else { [13:13:11.904] if (TRUE) { [13:13:11.904] muffleCondition <- function (cond, pattern = "^muffle") [13:13:11.904] { [13:13:11.904] inherits <- base::inherits [13:13:11.904] invokeRestart <- base::invokeRestart [13:13:11.904] is.null <- base::is.null [13:13:11.904] muffled <- FALSE [13:13:11.904] if (inherits(cond, "message")) { [13:13:11.904] muffled <- grepl(pattern, "muffleMessage") [13:13:11.904] if (muffled) [13:13:11.904] invokeRestart("muffleMessage") [13:13:11.904] } [13:13:11.904] else if (inherits(cond, "warning")) { [13:13:11.904] muffled <- grepl(pattern, "muffleWarning") [13:13:11.904] if (muffled) [13:13:11.904] invokeRestart("muffleWarning") [13:13:11.904] } [13:13:11.904] else if (inherits(cond, "condition")) { [13:13:11.904] if (!is.null(pattern)) { [13:13:11.904] computeRestarts <- base::computeRestarts [13:13:11.904] grepl <- base::grepl [13:13:11.904] restarts <- computeRestarts(cond) [13:13:11.904] for (restart in restarts) { [13:13:11.904] name <- restart$name [13:13:11.904] if (is.null(name)) [13:13:11.904] next [13:13:11.904] if (!grepl(pattern, name)) [13:13:11.904] next [13:13:11.904] invokeRestart(restart) [13:13:11.904] muffled <- TRUE [13:13:11.904] break [13:13:11.904] } [13:13:11.904] } [13:13:11.904] } [13:13:11.904] invisible(muffled) [13:13:11.904] } [13:13:11.904] muffleCondition(cond, pattern = "^muffle") [13:13:11.904] } [13:13:11.904] } [13:13:11.904] } [13:13:11.904] })) [13:13:11.904] }, error = function(ex) { [13:13:11.904] base::structure(base::list(value = NULL, visible = NULL, [13:13:11.904] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:11.904] ...future.rng), started = ...future.startTime, [13:13:11.904] finished = Sys.time(), session_uuid = NA_character_, [13:13:11.904] version = "1.8"), class = "FutureResult") [13:13:11.904] }, finally = { [13:13:11.904] if (!identical(...future.workdir, getwd())) [13:13:11.904] setwd(...future.workdir) [13:13:11.904] { [13:13:11.904] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:11.904] ...future.oldOptions$nwarnings <- NULL [13:13:11.904] } [13:13:11.904] base::options(...future.oldOptions) [13:13:11.904] if (.Platform$OS.type == "windows") { [13:13:11.904] old_names <- names(...future.oldEnvVars) [13:13:11.904] envs <- base::Sys.getenv() [13:13:11.904] names <- names(envs) [13:13:11.904] common <- intersect(names, old_names) [13:13:11.904] added <- setdiff(names, old_names) [13:13:11.904] removed <- setdiff(old_names, names) [13:13:11.904] changed <- common[...future.oldEnvVars[common] != [13:13:11.904] envs[common]] [13:13:11.904] NAMES <- toupper(changed) [13:13:11.904] args <- list() [13:13:11.904] for (kk in seq_along(NAMES)) { [13:13:11.904] name <- changed[[kk]] [13:13:11.904] NAME <- NAMES[[kk]] [13:13:11.904] if (name != NAME && is.element(NAME, old_names)) [13:13:11.904] next [13:13:11.904] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.904] } [13:13:11.904] NAMES <- toupper(added) [13:13:11.904] for (kk in seq_along(NAMES)) { [13:13:11.904] name <- added[[kk]] [13:13:11.904] NAME <- NAMES[[kk]] [13:13:11.904] if (name != NAME && is.element(NAME, old_names)) [13:13:11.904] next [13:13:11.904] args[[name]] <- "" [13:13:11.904] } [13:13:11.904] NAMES <- toupper(removed) [13:13:11.904] for (kk in seq_along(NAMES)) { [13:13:11.904] name <- removed[[kk]] [13:13:11.904] NAME <- NAMES[[kk]] [13:13:11.904] if (name != NAME && is.element(NAME, old_names)) [13:13:11.904] next [13:13:11.904] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:11.904] } [13:13:11.904] if (length(args) > 0) [13:13:11.904] base::do.call(base::Sys.setenv, args = args) [13:13:11.904] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:11.904] } [13:13:11.904] else { [13:13:11.904] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:11.904] } [13:13:11.904] { [13:13:11.904] if (base::length(...future.futureOptionsAdded) > [13:13:11.904] 0L) { [13:13:11.904] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:11.904] base::names(opts) <- ...future.futureOptionsAdded [13:13:11.904] base::options(opts) [13:13:11.904] } [13:13:11.904] { [13:13:11.904] { [13:13:11.904] base::options(mc.cores = ...future.mc.cores.old) [13:13:11.904] NULL [13:13:11.904] } [13:13:11.904] options(future.plan = NULL) [13:13:11.904] if (is.na(NA_character_)) [13:13:11.904] Sys.unsetenv("R_FUTURE_PLAN") [13:13:11.904] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:11.904] future::plan(list(function (..., workers = availableCores(), [13:13:11.904] lazy = FALSE, rscript_libs = .libPaths(), [13:13:11.904] envir = parent.frame()) [13:13:11.904] { [13:13:11.904] if (is.function(workers)) [13:13:11.904] workers <- workers() [13:13:11.904] workers <- structure(as.integer(workers), [13:13:11.904] class = class(workers)) [13:13:11.904] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:11.904] workers >= 1) [13:13:11.904] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:11.904] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:11.904] } [13:13:11.904] future <- MultisessionFuture(..., workers = workers, [13:13:11.904] lazy = lazy, rscript_libs = rscript_libs, [13:13:11.904] envir = envir) [13:13:11.904] if (!future$lazy) [13:13:11.904] future <- run(future) [13:13:11.904] invisible(future) [13:13:11.904] }), .cleanup = FALSE, .init = FALSE) [13:13:11.904] } [13:13:11.904] } [13:13:11.904] } [13:13:11.904] }) [13:13:11.904] if (TRUE) { [13:13:11.904] base::sink(type = "output", split = FALSE) [13:13:11.904] if (TRUE) { [13:13:11.904] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:11.904] } [13:13:11.904] else { [13:13:11.904] ...future.result["stdout"] <- base::list(NULL) [13:13:11.904] } [13:13:11.904] base::close(...future.stdout) [13:13:11.904] ...future.stdout <- NULL [13:13:11.904] } [13:13:11.904] ...future.result$conditions <- ...future.conditions [13:13:11.904] ...future.result$finished <- base::Sys.time() [13:13:11.904] ...future.result [13:13:11.904] } [13:13:11.996] MultisessionFuture started [13:13:11.997] result() for ClusterFuture ... [13:13:11.997] receiveMessageFromWorker() for ClusterFuture ... [13:13:11.998] - Validating connection of MultisessionFuture [13:13:12.074] - received message: FutureResult [13:13:12.074] - Received FutureResult [13:13:12.078] - Erased future from FutureRegistry [13:13:12.078] result() for ClusterFuture ... [13:13:12.078] - result already collected: FutureResult [13:13:12.079] result() for ClusterFuture ... done [13:13:12.079] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.079] result() for ClusterFuture ... done [13:13:12.079] result() for ClusterFuture ... [13:13:12.079] - result already collected: FutureResult [13:13:12.079] result() for ClusterFuture ... done [13:13:12.080] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [13:13:12.082] plan(): nbrOfWorkers() = 2 - From example(apply) ... [13:13:12.083] getGlobalsAndPackagesXApply() ... [13:13:12.083] - future.globals: TRUE [13:13:12.084] getGlobalsAndPackages() ... [13:13:12.084] Searching for globals... [13:13:12.141] - globals found: [59] 'FUN', 'if', '==', 'c', 'list.names', '{', '<-', '[', 'as.list', 'substitute', '-', '&&', 'length', 'is.list', '!', 'is.null', 'names', 'return', 'seq_along', 'vapply', 'switch', '+', 'is.symbol', 'as.character', 'deparse', '[<-', 'missing', 'match', 'match.arg', '!=', 'warning', 'list', '[[', 'paste', 'stop', 'integer', 'for', 'is.factor', 'anyNA', 'options', 'on.exit', 'factor', '(', '||', 'levels', 'as.integer', 'which', 'is.na', 'is.na<-', '>', 'prod', '$', '.Machine', '*', 'names<-', 'array', 'tabulate', 'class', 'class<-' [13:13:12.141] Searching for globals ... DONE [13:13:12.142] Resolving globals: FALSE [13:13:12.144] The total size of the 1 globals is 345.92 KiB (354224 bytes) [13:13:12.144] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(1, 2, 3, 4, 1, 6, 7, 8), dim = c(2L, 4L)))') is 345.92 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (345.92 KiB of class 'function') [13:13:12.144] - globals: [1] 'FUN' [13:13:12.145] [13:13:12.145] getGlobalsAndPackages() ... DONE [13:13:12.145] - globals found/used: [n=1] 'FUN' [13:13:12.145] - needed namespaces: [n=0] [13:13:12.145] Finding globals ... DONE [13:13:12.145] - use_args: TRUE [13:13:12.146] - Getting '...' globals ... [13:13:12.146] resolve() on list ... [13:13:12.146] recursive: 0 [13:13:12.146] length: 1 [13:13:12.146] elements: '...' [13:13:12.147] length: 0 (resolved future 1) [13:13:12.147] resolve() on list ... DONE [13:13:12.147] - '...' content: [n=0] [13:13:12.147] List of 1 [13:13:12.147] $ ...: list() [13:13:12.147] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.147] - attr(*, "where")=List of 1 [13:13:12.147] ..$ ...: [13:13:12.147] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.147] - attr(*, "resolved")= logi TRUE [13:13:12.147] - attr(*, "total_size")= num NA [13:13:12.150] - Getting '...' globals ... DONE [13:13:12.151] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:12.151] List of 2 [13:13:12.151] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:12.151] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:12.151] $ ... : list() [13:13:12.151] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.151] - attr(*, "where")=List of 2 [13:13:12.151] ..$ ...future.FUN: [13:13:12.151] ..$ ... : [13:13:12.151] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.151] - attr(*, "resolved")= logi FALSE [13:13:12.151] - attr(*, "total_size")= num 354224 [13:13:12.154] Packages to be attached in all futures: [n=0] [13:13:12.154] getGlobalsAndPackagesXApply() ... DONE [13:13:12.157] future_lapply() ... [13:13:12.204] Number of chunks: 2 [13:13:12.204] getGlobalsAndPackagesXApply() ... [13:13:12.204] - future.globals: with names 'list()' [13:13:12.205] - use_args: TRUE [13:13:12.205] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:12.205] List of 2 [13:13:12.205] $ ... : list() [13:13:12.205] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.205] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:12.205] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:12.205] - attr(*, "where")=List of 2 [13:13:12.205] ..$ ... : [13:13:12.205] ..$ ...future.FUN: [13:13:12.205] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.205] - attr(*, "resolved")= logi FALSE [13:13:12.205] - attr(*, "total_size")= num NA [13:13:12.209] Packages to be attached in all futures: [n=0] [13:13:12.209] getGlobalsAndPackagesXApply() ... DONE [13:13:12.210] Number of futures (= number of chunks): 2 [13:13:12.210] Launching 2 futures (chunks) ... [13:13:12.210] Chunk #1 of 2 ... [13:13:12.210] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.210] - seeds: [13:13:12.211] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.211] getGlobalsAndPackages() ... [13:13:12.211] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.211] Resolving globals: FALSE [13:13:12.211] Tweak future expression to call with '...' arguments ... [13:13:12.211] { [13:13:12.211] do.call(function(...) { [13:13:12.211] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.211] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.211] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.211] on.exit(options(oopts), add = TRUE) [13:13:12.211] } [13:13:12.211] { [13:13:12.211] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.211] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.211] ...future.FUN(...future.X_jj, ...) [13:13:12.211] }) [13:13:12.211] } [13:13:12.211] }, args = future.call.arguments) [13:13:12.211] } [13:13:12.212] Tweak future expression to call with '...' arguments ... DONE [13:13:12.212] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.213] [13:13:12.213] getGlobalsAndPackages() ... DONE [13:13:12.213] run() for 'Future' ... [13:13:12.213] - state: 'created' [13:13:12.214] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.228] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.228] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.228] - Field: 'node' [13:13:12.229] - Field: 'label' [13:13:12.229] - Field: 'local' [13:13:12.229] - Field: 'owner' [13:13:12.229] - Field: 'envir' [13:13:12.229] - Field: 'workers' [13:13:12.230] - Field: 'packages' [13:13:12.230] - Field: 'gc' [13:13:12.230] - Field: 'conditions' [13:13:12.230] - Field: 'persistent' [13:13:12.230] - Field: 'expr' [13:13:12.230] - Field: 'uuid' [13:13:12.231] - Field: 'seed' [13:13:12.231] - Field: 'version' [13:13:12.231] - Field: 'result' [13:13:12.231] - Field: 'asynchronous' [13:13:12.231] - Field: 'calls' [13:13:12.231] - Field: 'globals' [13:13:12.232] - Field: 'stdout' [13:13:12.232] - Field: 'earlySignal' [13:13:12.232] - Field: 'lazy' [13:13:12.232] - Field: 'state' [13:13:12.232] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.233] - Launch lazy future ... [13:13:12.233] Packages needed by the future expression (n = 0): [13:13:12.233] Packages needed by future strategies (n = 0): [13:13:12.234] { [13:13:12.234] { [13:13:12.234] { [13:13:12.234] ...future.startTime <- base::Sys.time() [13:13:12.234] { [13:13:12.234] { [13:13:12.234] { [13:13:12.234] { [13:13:12.234] base::local({ [13:13:12.234] has_future <- base::requireNamespace("future", [13:13:12.234] quietly = TRUE) [13:13:12.234] if (has_future) { [13:13:12.234] ns <- base::getNamespace("future") [13:13:12.234] version <- ns[[".package"]][["version"]] [13:13:12.234] if (is.null(version)) [13:13:12.234] version <- utils::packageVersion("future") [13:13:12.234] } [13:13:12.234] else { [13:13:12.234] version <- NULL [13:13:12.234] } [13:13:12.234] if (!has_future || version < "1.8.0") { [13:13:12.234] info <- base::c(r_version = base::gsub("R version ", [13:13:12.234] "", base::R.version$version.string), [13:13:12.234] platform = base::sprintf("%s (%s-bit)", [13:13:12.234] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.234] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.234] "release", "version")], collapse = " "), [13:13:12.234] hostname = base::Sys.info()[["nodename"]]) [13:13:12.234] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.234] info) [13:13:12.234] info <- base::paste(info, collapse = "; ") [13:13:12.234] if (!has_future) { [13:13:12.234] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.234] info) [13:13:12.234] } [13:13:12.234] else { [13:13:12.234] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.234] info, version) [13:13:12.234] } [13:13:12.234] base::stop(msg) [13:13:12.234] } [13:13:12.234] }) [13:13:12.234] } [13:13:12.234] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.234] base::options(mc.cores = 1L) [13:13:12.234] } [13:13:12.234] options(future.plan = NULL) [13:13:12.234] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.234] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.234] } [13:13:12.234] ...future.workdir <- getwd() [13:13:12.234] } [13:13:12.234] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.234] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.234] } [13:13:12.234] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.234] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.234] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.234] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.234] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.234] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.234] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.234] base::names(...future.oldOptions)) [13:13:12.234] } [13:13:12.234] if (FALSE) { [13:13:12.234] } [13:13:12.234] else { [13:13:12.234] if (TRUE) { [13:13:12.234] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.234] open = "w") [13:13:12.234] } [13:13:12.234] else { [13:13:12.234] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.234] windows = "NUL", "/dev/null"), open = "w") [13:13:12.234] } [13:13:12.234] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.234] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.234] base::sink(type = "output", split = FALSE) [13:13:12.234] base::close(...future.stdout) [13:13:12.234] }, add = TRUE) [13:13:12.234] } [13:13:12.234] ...future.frame <- base::sys.nframe() [13:13:12.234] ...future.conditions <- base::list() [13:13:12.234] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.234] if (FALSE) { [13:13:12.234] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.234] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.234] } [13:13:12.234] ...future.result <- base::tryCatch({ [13:13:12.234] base::withCallingHandlers({ [13:13:12.234] ...future.value <- base::withVisible(base::local({ [13:13:12.234] ...future.makeSendCondition <- local({ [13:13:12.234] sendCondition <- NULL [13:13:12.234] function(frame = 1L) { [13:13:12.234] if (is.function(sendCondition)) [13:13:12.234] return(sendCondition) [13:13:12.234] ns <- getNamespace("parallel") [13:13:12.234] if (exists("sendData", mode = "function", [13:13:12.234] envir = ns)) { [13:13:12.234] parallel_sendData <- get("sendData", mode = "function", [13:13:12.234] envir = ns) [13:13:12.234] envir <- sys.frame(frame) [13:13:12.234] master <- NULL [13:13:12.234] while (!identical(envir, .GlobalEnv) && [13:13:12.234] !identical(envir, emptyenv())) { [13:13:12.234] if (exists("master", mode = "list", envir = envir, [13:13:12.234] inherits = FALSE)) { [13:13:12.234] master <- get("master", mode = "list", [13:13:12.234] envir = envir, inherits = FALSE) [13:13:12.234] if (inherits(master, c("SOCKnode", [13:13:12.234] "SOCK0node"))) { [13:13:12.234] sendCondition <<- function(cond) { [13:13:12.234] data <- list(type = "VALUE", value = cond, [13:13:12.234] success = TRUE) [13:13:12.234] parallel_sendData(master, data) [13:13:12.234] } [13:13:12.234] return(sendCondition) [13:13:12.234] } [13:13:12.234] } [13:13:12.234] frame <- frame + 1L [13:13:12.234] envir <- sys.frame(frame) [13:13:12.234] } [13:13:12.234] } [13:13:12.234] sendCondition <<- function(cond) NULL [13:13:12.234] } [13:13:12.234] }) [13:13:12.234] withCallingHandlers({ [13:13:12.234] { [13:13:12.234] do.call(function(...) { [13:13:12.234] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.234] if (!identical(...future.globals.maxSize.org, [13:13:12.234] ...future.globals.maxSize)) { [13:13:12.234] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.234] on.exit(options(oopts), add = TRUE) [13:13:12.234] } [13:13:12.234] { [13:13:12.234] lapply(seq_along(...future.elements_ii), [13:13:12.234] FUN = function(jj) { [13:13:12.234] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.234] ...future.FUN(...future.X_jj, ...) [13:13:12.234] }) [13:13:12.234] } [13:13:12.234] }, args = future.call.arguments) [13:13:12.234] } [13:13:12.234] }, immediateCondition = function(cond) { [13:13:12.234] sendCondition <- ...future.makeSendCondition() [13:13:12.234] sendCondition(cond) [13:13:12.234] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.234] { [13:13:12.234] inherits <- base::inherits [13:13:12.234] invokeRestart <- base::invokeRestart [13:13:12.234] is.null <- base::is.null [13:13:12.234] muffled <- FALSE [13:13:12.234] if (inherits(cond, "message")) { [13:13:12.234] muffled <- grepl(pattern, "muffleMessage") [13:13:12.234] if (muffled) [13:13:12.234] invokeRestart("muffleMessage") [13:13:12.234] } [13:13:12.234] else if (inherits(cond, "warning")) { [13:13:12.234] muffled <- grepl(pattern, "muffleWarning") [13:13:12.234] if (muffled) [13:13:12.234] invokeRestart("muffleWarning") [13:13:12.234] } [13:13:12.234] else if (inherits(cond, "condition")) { [13:13:12.234] if (!is.null(pattern)) { [13:13:12.234] computeRestarts <- base::computeRestarts [13:13:12.234] grepl <- base::grepl [13:13:12.234] restarts <- computeRestarts(cond) [13:13:12.234] for (restart in restarts) { [13:13:12.234] name <- restart$name [13:13:12.234] if (is.null(name)) [13:13:12.234] next [13:13:12.234] if (!grepl(pattern, name)) [13:13:12.234] next [13:13:12.234] invokeRestart(restart) [13:13:12.234] muffled <- TRUE [13:13:12.234] break [13:13:12.234] } [13:13:12.234] } [13:13:12.234] } [13:13:12.234] invisible(muffled) [13:13:12.234] } [13:13:12.234] muffleCondition(cond) [13:13:12.234] }) [13:13:12.234] })) [13:13:12.234] future::FutureResult(value = ...future.value$value, [13:13:12.234] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.234] ...future.rng), globalenv = if (FALSE) [13:13:12.234] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.234] ...future.globalenv.names)) [13:13:12.234] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.234] }, condition = base::local({ [13:13:12.234] c <- base::c [13:13:12.234] inherits <- base::inherits [13:13:12.234] invokeRestart <- base::invokeRestart [13:13:12.234] length <- base::length [13:13:12.234] list <- base::list [13:13:12.234] seq.int <- base::seq.int [13:13:12.234] signalCondition <- base::signalCondition [13:13:12.234] sys.calls <- base::sys.calls [13:13:12.234] `[[` <- base::`[[` [13:13:12.234] `+` <- base::`+` [13:13:12.234] `<<-` <- base::`<<-` [13:13:12.234] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.234] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.234] 3L)] [13:13:12.234] } [13:13:12.234] function(cond) { [13:13:12.234] is_error <- inherits(cond, "error") [13:13:12.234] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.234] NULL) [13:13:12.234] if (is_error) { [13:13:12.234] sessionInformation <- function() { [13:13:12.234] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.234] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.234] search = base::search(), system = base::Sys.info()) [13:13:12.234] } [13:13:12.234] ...future.conditions[[length(...future.conditions) + [13:13:12.234] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.234] cond$call), session = sessionInformation(), [13:13:12.234] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.234] signalCondition(cond) [13:13:12.234] } [13:13:12.234] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.234] "immediateCondition"))) { [13:13:12.234] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.234] ...future.conditions[[length(...future.conditions) + [13:13:12.234] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.234] if (TRUE && !signal) { [13:13:12.234] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.234] { [13:13:12.234] inherits <- base::inherits [13:13:12.234] invokeRestart <- base::invokeRestart [13:13:12.234] is.null <- base::is.null [13:13:12.234] muffled <- FALSE [13:13:12.234] if (inherits(cond, "message")) { [13:13:12.234] muffled <- grepl(pattern, "muffleMessage") [13:13:12.234] if (muffled) [13:13:12.234] invokeRestart("muffleMessage") [13:13:12.234] } [13:13:12.234] else if (inherits(cond, "warning")) { [13:13:12.234] muffled <- grepl(pattern, "muffleWarning") [13:13:12.234] if (muffled) [13:13:12.234] invokeRestart("muffleWarning") [13:13:12.234] } [13:13:12.234] else if (inherits(cond, "condition")) { [13:13:12.234] if (!is.null(pattern)) { [13:13:12.234] computeRestarts <- base::computeRestarts [13:13:12.234] grepl <- base::grepl [13:13:12.234] restarts <- computeRestarts(cond) [13:13:12.234] for (restart in restarts) { [13:13:12.234] name <- restart$name [13:13:12.234] if (is.null(name)) [13:13:12.234] next [13:13:12.234] if (!grepl(pattern, name)) [13:13:12.234] next [13:13:12.234] invokeRestart(restart) [13:13:12.234] muffled <- TRUE [13:13:12.234] break [13:13:12.234] } [13:13:12.234] } [13:13:12.234] } [13:13:12.234] invisible(muffled) [13:13:12.234] } [13:13:12.234] muffleCondition(cond, pattern = "^muffle") [13:13:12.234] } [13:13:12.234] } [13:13:12.234] else { [13:13:12.234] if (TRUE) { [13:13:12.234] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.234] { [13:13:12.234] inherits <- base::inherits [13:13:12.234] invokeRestart <- base::invokeRestart [13:13:12.234] is.null <- base::is.null [13:13:12.234] muffled <- FALSE [13:13:12.234] if (inherits(cond, "message")) { [13:13:12.234] muffled <- grepl(pattern, "muffleMessage") [13:13:12.234] if (muffled) [13:13:12.234] invokeRestart("muffleMessage") [13:13:12.234] } [13:13:12.234] else if (inherits(cond, "warning")) { [13:13:12.234] muffled <- grepl(pattern, "muffleWarning") [13:13:12.234] if (muffled) [13:13:12.234] invokeRestart("muffleWarning") [13:13:12.234] } [13:13:12.234] else if (inherits(cond, "condition")) { [13:13:12.234] if (!is.null(pattern)) { [13:13:12.234] computeRestarts <- base::computeRestarts [13:13:12.234] grepl <- base::grepl [13:13:12.234] restarts <- computeRestarts(cond) [13:13:12.234] for (restart in restarts) { [13:13:12.234] name <- restart$name [13:13:12.234] if (is.null(name)) [13:13:12.234] next [13:13:12.234] if (!grepl(pattern, name)) [13:13:12.234] next [13:13:12.234] invokeRestart(restart) [13:13:12.234] muffled <- TRUE [13:13:12.234] break [13:13:12.234] } [13:13:12.234] } [13:13:12.234] } [13:13:12.234] invisible(muffled) [13:13:12.234] } [13:13:12.234] muffleCondition(cond, pattern = "^muffle") [13:13:12.234] } [13:13:12.234] } [13:13:12.234] } [13:13:12.234] })) [13:13:12.234] }, error = function(ex) { [13:13:12.234] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.234] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.234] ...future.rng), started = ...future.startTime, [13:13:12.234] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.234] version = "1.8"), class = "FutureResult") [13:13:12.234] }, finally = { [13:13:12.234] if (!identical(...future.workdir, getwd())) [13:13:12.234] setwd(...future.workdir) [13:13:12.234] { [13:13:12.234] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.234] ...future.oldOptions$nwarnings <- NULL [13:13:12.234] } [13:13:12.234] base::options(...future.oldOptions) [13:13:12.234] if (.Platform$OS.type == "windows") { [13:13:12.234] old_names <- names(...future.oldEnvVars) [13:13:12.234] envs <- base::Sys.getenv() [13:13:12.234] names <- names(envs) [13:13:12.234] common <- intersect(names, old_names) [13:13:12.234] added <- setdiff(names, old_names) [13:13:12.234] removed <- setdiff(old_names, names) [13:13:12.234] changed <- common[...future.oldEnvVars[common] != [13:13:12.234] envs[common]] [13:13:12.234] NAMES <- toupper(changed) [13:13:12.234] args <- list() [13:13:12.234] for (kk in seq_along(NAMES)) { [13:13:12.234] name <- changed[[kk]] [13:13:12.234] NAME <- NAMES[[kk]] [13:13:12.234] if (name != NAME && is.element(NAME, old_names)) [13:13:12.234] next [13:13:12.234] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.234] } [13:13:12.234] NAMES <- toupper(added) [13:13:12.234] for (kk in seq_along(NAMES)) { [13:13:12.234] name <- added[[kk]] [13:13:12.234] NAME <- NAMES[[kk]] [13:13:12.234] if (name != NAME && is.element(NAME, old_names)) [13:13:12.234] next [13:13:12.234] args[[name]] <- "" [13:13:12.234] } [13:13:12.234] NAMES <- toupper(removed) [13:13:12.234] for (kk in seq_along(NAMES)) { [13:13:12.234] name <- removed[[kk]] [13:13:12.234] NAME <- NAMES[[kk]] [13:13:12.234] if (name != NAME && is.element(NAME, old_names)) [13:13:12.234] next [13:13:12.234] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.234] } [13:13:12.234] if (length(args) > 0) [13:13:12.234] base::do.call(base::Sys.setenv, args = args) [13:13:12.234] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.234] } [13:13:12.234] else { [13:13:12.234] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.234] } [13:13:12.234] { [13:13:12.234] if (base::length(...future.futureOptionsAdded) > [13:13:12.234] 0L) { [13:13:12.234] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.234] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.234] base::options(opts) [13:13:12.234] } [13:13:12.234] { [13:13:12.234] { [13:13:12.234] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.234] NULL [13:13:12.234] } [13:13:12.234] options(future.plan = NULL) [13:13:12.234] if (is.na(NA_character_)) [13:13:12.234] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.234] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.234] future::plan(list(function (..., workers = availableCores(), [13:13:12.234] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.234] envir = parent.frame()) [13:13:12.234] { [13:13:12.234] if (is.function(workers)) [13:13:12.234] workers <- workers() [13:13:12.234] workers <- structure(as.integer(workers), [13:13:12.234] class = class(workers)) [13:13:12.234] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.234] workers >= 1) [13:13:12.234] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.234] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.234] } [13:13:12.234] future <- MultisessionFuture(..., workers = workers, [13:13:12.234] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.234] envir = envir) [13:13:12.234] if (!future$lazy) [13:13:12.234] future <- run(future) [13:13:12.234] invisible(future) [13:13:12.234] }), .cleanup = FALSE, .init = FALSE) [13:13:12.234] } [13:13:12.234] } [13:13:12.234] } [13:13:12.234] }) [13:13:12.234] if (TRUE) { [13:13:12.234] base::sink(type = "output", split = FALSE) [13:13:12.234] if (TRUE) { [13:13:12.234] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.234] } [13:13:12.234] else { [13:13:12.234] ...future.result["stdout"] <- base::list(NULL) [13:13:12.234] } [13:13:12.234] base::close(...future.stdout) [13:13:12.234] ...future.stdout <- NULL [13:13:12.234] } [13:13:12.234] ...future.result$conditions <- ...future.conditions [13:13:12.234] ...future.result$finished <- base::Sys.time() [13:13:12.234] ...future.result [13:13:12.234] } [13:13:12.240] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... [13:13:12.240] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.241] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.241] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... [13:13:12.242] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... DONE [13:13:12.242] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... [13:13:12.243] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... DONE [13:13:12.243] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.244] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.244] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.244] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.244] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... DONE [13:13:12.245] MultisessionFuture started [13:13:12.245] - Launch lazy future ... done [13:13:12.245] run() for 'MultisessionFuture' ... done [13:13:12.246] Created future: [13:13:12.264] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.264] - Validating connection of MultisessionFuture [13:13:12.265] - received message: FutureResult [13:13:12.265] - Received FutureResult [13:13:12.265] - Erased future from FutureRegistry [13:13:12.265] result() for ClusterFuture ... [13:13:12.265] - result already collected: FutureResult [13:13:12.265] result() for ClusterFuture ... done [13:13:12.266] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.246] MultisessionFuture: [13:13:12.246] Label: 'future_apply-1' [13:13:12.246] Expression: [13:13:12.246] { [13:13:12.246] do.call(function(...) { [13:13:12.246] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.246] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.246] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.246] on.exit(options(oopts), add = TRUE) [13:13:12.246] } [13:13:12.246] { [13:13:12.246] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.246] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.246] ...future.FUN(...future.X_jj, ...) [13:13:12.246] }) [13:13:12.246] } [13:13:12.246] }, args = future.call.arguments) [13:13:12.246] } [13:13:12.246] Lazy evaluation: FALSE [13:13:12.246] Asynchronous evaluation: TRUE [13:13:12.246] Local evaluation: TRUE [13:13:12.246] Environment: R_GlobalEnv [13:13:12.246] Capture standard output: TRUE [13:13:12.246] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.246] Globals: 5 objects totaling 346.05 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 345.92 KiB, list '...future.elements_ii' of 80 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.246] Packages: [13:13:12.246] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.246] Resolved: TRUE [13:13:12.246] Value: [13:13:12.246] Conditions captured: [13:13:12.246] Early signaling: FALSE [13:13:12.246] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.246] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.266] Chunk #1 of 2 ... DONE [13:13:12.266] Chunk #2 of 2 ... [13:13:12.266] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.267] - seeds: [13:13:12.267] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.267] getGlobalsAndPackages() ... [13:13:12.267] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.267] Resolving globals: FALSE [13:13:12.267] Tweak future expression to call with '...' arguments ... [13:13:12.268] { [13:13:12.268] do.call(function(...) { [13:13:12.268] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.268] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.268] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.268] on.exit(options(oopts), add = TRUE) [13:13:12.268] } [13:13:12.268] { [13:13:12.268] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.268] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.268] ...future.FUN(...future.X_jj, ...) [13:13:12.268] }) [13:13:12.268] } [13:13:12.268] }, args = future.call.arguments) [13:13:12.268] } [13:13:12.268] Tweak future expression to call with '...' arguments ... DONE [13:13:12.269] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.269] [13:13:12.269] getGlobalsAndPackages() ... DONE [13:13:12.269] run() for 'Future' ... [13:13:12.270] - state: 'created' [13:13:12.270] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.285] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.286] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.286] - Field: 'node' [13:13:12.286] - Field: 'label' [13:13:12.286] - Field: 'local' [13:13:12.286] - Field: 'owner' [13:13:12.287] - Field: 'envir' [13:13:12.287] - Field: 'workers' [13:13:12.287] - Field: 'packages' [13:13:12.287] - Field: 'gc' [13:13:12.287] - Field: 'conditions' [13:13:12.287] - Field: 'persistent' [13:13:12.288] - Field: 'expr' [13:13:12.288] - Field: 'uuid' [13:13:12.288] - Field: 'seed' [13:13:12.288] - Field: 'version' [13:13:12.288] - Field: 'result' [13:13:12.289] - Field: 'asynchronous' [13:13:12.289] - Field: 'calls' [13:13:12.289] - Field: 'globals' [13:13:12.289] - Field: 'stdout' [13:13:12.289] - Field: 'earlySignal' [13:13:12.289] - Field: 'lazy' [13:13:12.290] - Field: 'state' [13:13:12.290] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.290] - Launch lazy future ... [13:13:12.290] Packages needed by the future expression (n = 0): [13:13:12.290] Packages needed by future strategies (n = 0): [13:13:12.291] { [13:13:12.291] { [13:13:12.291] { [13:13:12.291] ...future.startTime <- base::Sys.time() [13:13:12.291] { [13:13:12.291] { [13:13:12.291] { [13:13:12.291] { [13:13:12.291] base::local({ [13:13:12.291] has_future <- base::requireNamespace("future", [13:13:12.291] quietly = TRUE) [13:13:12.291] if (has_future) { [13:13:12.291] ns <- base::getNamespace("future") [13:13:12.291] version <- ns[[".package"]][["version"]] [13:13:12.291] if (is.null(version)) [13:13:12.291] version <- utils::packageVersion("future") [13:13:12.291] } [13:13:12.291] else { [13:13:12.291] version <- NULL [13:13:12.291] } [13:13:12.291] if (!has_future || version < "1.8.0") { [13:13:12.291] info <- base::c(r_version = base::gsub("R version ", [13:13:12.291] "", base::R.version$version.string), [13:13:12.291] platform = base::sprintf("%s (%s-bit)", [13:13:12.291] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.291] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.291] "release", "version")], collapse = " "), [13:13:12.291] hostname = base::Sys.info()[["nodename"]]) [13:13:12.291] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.291] info) [13:13:12.291] info <- base::paste(info, collapse = "; ") [13:13:12.291] if (!has_future) { [13:13:12.291] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.291] info) [13:13:12.291] } [13:13:12.291] else { [13:13:12.291] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.291] info, version) [13:13:12.291] } [13:13:12.291] base::stop(msg) [13:13:12.291] } [13:13:12.291] }) [13:13:12.291] } [13:13:12.291] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.291] base::options(mc.cores = 1L) [13:13:12.291] } [13:13:12.291] options(future.plan = NULL) [13:13:12.291] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.291] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.291] } [13:13:12.291] ...future.workdir <- getwd() [13:13:12.291] } [13:13:12.291] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.291] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.291] } [13:13:12.291] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.291] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.291] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.291] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.291] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.291] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.291] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.291] base::names(...future.oldOptions)) [13:13:12.291] } [13:13:12.291] if (FALSE) { [13:13:12.291] } [13:13:12.291] else { [13:13:12.291] if (TRUE) { [13:13:12.291] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.291] open = "w") [13:13:12.291] } [13:13:12.291] else { [13:13:12.291] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.291] windows = "NUL", "/dev/null"), open = "w") [13:13:12.291] } [13:13:12.291] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.291] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.291] base::sink(type = "output", split = FALSE) [13:13:12.291] base::close(...future.stdout) [13:13:12.291] }, add = TRUE) [13:13:12.291] } [13:13:12.291] ...future.frame <- base::sys.nframe() [13:13:12.291] ...future.conditions <- base::list() [13:13:12.291] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.291] if (FALSE) { [13:13:12.291] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.291] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.291] } [13:13:12.291] ...future.result <- base::tryCatch({ [13:13:12.291] base::withCallingHandlers({ [13:13:12.291] ...future.value <- base::withVisible(base::local({ [13:13:12.291] ...future.makeSendCondition <- local({ [13:13:12.291] sendCondition <- NULL [13:13:12.291] function(frame = 1L) { [13:13:12.291] if (is.function(sendCondition)) [13:13:12.291] return(sendCondition) [13:13:12.291] ns <- getNamespace("parallel") [13:13:12.291] if (exists("sendData", mode = "function", [13:13:12.291] envir = ns)) { [13:13:12.291] parallel_sendData <- get("sendData", mode = "function", [13:13:12.291] envir = ns) [13:13:12.291] envir <- sys.frame(frame) [13:13:12.291] master <- NULL [13:13:12.291] while (!identical(envir, .GlobalEnv) && [13:13:12.291] !identical(envir, emptyenv())) { [13:13:12.291] if (exists("master", mode = "list", envir = envir, [13:13:12.291] inherits = FALSE)) { [13:13:12.291] master <- get("master", mode = "list", [13:13:12.291] envir = envir, inherits = FALSE) [13:13:12.291] if (inherits(master, c("SOCKnode", [13:13:12.291] "SOCK0node"))) { [13:13:12.291] sendCondition <<- function(cond) { [13:13:12.291] data <- list(type = "VALUE", value = cond, [13:13:12.291] success = TRUE) [13:13:12.291] parallel_sendData(master, data) [13:13:12.291] } [13:13:12.291] return(sendCondition) [13:13:12.291] } [13:13:12.291] } [13:13:12.291] frame <- frame + 1L [13:13:12.291] envir <- sys.frame(frame) [13:13:12.291] } [13:13:12.291] } [13:13:12.291] sendCondition <<- function(cond) NULL [13:13:12.291] } [13:13:12.291] }) [13:13:12.291] withCallingHandlers({ [13:13:12.291] { [13:13:12.291] do.call(function(...) { [13:13:12.291] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.291] if (!identical(...future.globals.maxSize.org, [13:13:12.291] ...future.globals.maxSize)) { [13:13:12.291] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.291] on.exit(options(oopts), add = TRUE) [13:13:12.291] } [13:13:12.291] { [13:13:12.291] lapply(seq_along(...future.elements_ii), [13:13:12.291] FUN = function(jj) { [13:13:12.291] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.291] ...future.FUN(...future.X_jj, ...) [13:13:12.291] }) [13:13:12.291] } [13:13:12.291] }, args = future.call.arguments) [13:13:12.291] } [13:13:12.291] }, immediateCondition = function(cond) { [13:13:12.291] sendCondition <- ...future.makeSendCondition() [13:13:12.291] sendCondition(cond) [13:13:12.291] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.291] { [13:13:12.291] inherits <- base::inherits [13:13:12.291] invokeRestart <- base::invokeRestart [13:13:12.291] is.null <- base::is.null [13:13:12.291] muffled <- FALSE [13:13:12.291] if (inherits(cond, "message")) { [13:13:12.291] muffled <- grepl(pattern, "muffleMessage") [13:13:12.291] if (muffled) [13:13:12.291] invokeRestart("muffleMessage") [13:13:12.291] } [13:13:12.291] else if (inherits(cond, "warning")) { [13:13:12.291] muffled <- grepl(pattern, "muffleWarning") [13:13:12.291] if (muffled) [13:13:12.291] invokeRestart("muffleWarning") [13:13:12.291] } [13:13:12.291] else if (inherits(cond, "condition")) { [13:13:12.291] if (!is.null(pattern)) { [13:13:12.291] computeRestarts <- base::computeRestarts [13:13:12.291] grepl <- base::grepl [13:13:12.291] restarts <- computeRestarts(cond) [13:13:12.291] for (restart in restarts) { [13:13:12.291] name <- restart$name [13:13:12.291] if (is.null(name)) [13:13:12.291] next [13:13:12.291] if (!grepl(pattern, name)) [13:13:12.291] next [13:13:12.291] invokeRestart(restart) [13:13:12.291] muffled <- TRUE [13:13:12.291] break [13:13:12.291] } [13:13:12.291] } [13:13:12.291] } [13:13:12.291] invisible(muffled) [13:13:12.291] } [13:13:12.291] muffleCondition(cond) [13:13:12.291] }) [13:13:12.291] })) [13:13:12.291] future::FutureResult(value = ...future.value$value, [13:13:12.291] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.291] ...future.rng), globalenv = if (FALSE) [13:13:12.291] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.291] ...future.globalenv.names)) [13:13:12.291] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.291] }, condition = base::local({ [13:13:12.291] c <- base::c [13:13:12.291] inherits <- base::inherits [13:13:12.291] invokeRestart <- base::invokeRestart [13:13:12.291] length <- base::length [13:13:12.291] list <- base::list [13:13:12.291] seq.int <- base::seq.int [13:13:12.291] signalCondition <- base::signalCondition [13:13:12.291] sys.calls <- base::sys.calls [13:13:12.291] `[[` <- base::`[[` [13:13:12.291] `+` <- base::`+` [13:13:12.291] `<<-` <- base::`<<-` [13:13:12.291] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.291] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.291] 3L)] [13:13:12.291] } [13:13:12.291] function(cond) { [13:13:12.291] is_error <- inherits(cond, "error") [13:13:12.291] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.291] NULL) [13:13:12.291] if (is_error) { [13:13:12.291] sessionInformation <- function() { [13:13:12.291] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.291] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.291] search = base::search(), system = base::Sys.info()) [13:13:12.291] } [13:13:12.291] ...future.conditions[[length(...future.conditions) + [13:13:12.291] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.291] cond$call), session = sessionInformation(), [13:13:12.291] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.291] signalCondition(cond) [13:13:12.291] } [13:13:12.291] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.291] "immediateCondition"))) { [13:13:12.291] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.291] ...future.conditions[[length(...future.conditions) + [13:13:12.291] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.291] if (TRUE && !signal) { [13:13:12.291] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.291] { [13:13:12.291] inherits <- base::inherits [13:13:12.291] invokeRestart <- base::invokeRestart [13:13:12.291] is.null <- base::is.null [13:13:12.291] muffled <- FALSE [13:13:12.291] if (inherits(cond, "message")) { [13:13:12.291] muffled <- grepl(pattern, "muffleMessage") [13:13:12.291] if (muffled) [13:13:12.291] invokeRestart("muffleMessage") [13:13:12.291] } [13:13:12.291] else if (inherits(cond, "warning")) { [13:13:12.291] muffled <- grepl(pattern, "muffleWarning") [13:13:12.291] if (muffled) [13:13:12.291] invokeRestart("muffleWarning") [13:13:12.291] } [13:13:12.291] else if (inherits(cond, "condition")) { [13:13:12.291] if (!is.null(pattern)) { [13:13:12.291] computeRestarts <- base::computeRestarts [13:13:12.291] grepl <- base::grepl [13:13:12.291] restarts <- computeRestarts(cond) [13:13:12.291] for (restart in restarts) { [13:13:12.291] name <- restart$name [13:13:12.291] if (is.null(name)) [13:13:12.291] next [13:13:12.291] if (!grepl(pattern, name)) [13:13:12.291] next [13:13:12.291] invokeRestart(restart) [13:13:12.291] muffled <- TRUE [13:13:12.291] break [13:13:12.291] } [13:13:12.291] } [13:13:12.291] } [13:13:12.291] invisible(muffled) [13:13:12.291] } [13:13:12.291] muffleCondition(cond, pattern = "^muffle") [13:13:12.291] } [13:13:12.291] } [13:13:12.291] else { [13:13:12.291] if (TRUE) { [13:13:12.291] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.291] { [13:13:12.291] inherits <- base::inherits [13:13:12.291] invokeRestart <- base::invokeRestart [13:13:12.291] is.null <- base::is.null [13:13:12.291] muffled <- FALSE [13:13:12.291] if (inherits(cond, "message")) { [13:13:12.291] muffled <- grepl(pattern, "muffleMessage") [13:13:12.291] if (muffled) [13:13:12.291] invokeRestart("muffleMessage") [13:13:12.291] } [13:13:12.291] else if (inherits(cond, "warning")) { [13:13:12.291] muffled <- grepl(pattern, "muffleWarning") [13:13:12.291] if (muffled) [13:13:12.291] invokeRestart("muffleWarning") [13:13:12.291] } [13:13:12.291] else if (inherits(cond, "condition")) { [13:13:12.291] if (!is.null(pattern)) { [13:13:12.291] computeRestarts <- base::computeRestarts [13:13:12.291] grepl <- base::grepl [13:13:12.291] restarts <- computeRestarts(cond) [13:13:12.291] for (restart in restarts) { [13:13:12.291] name <- restart$name [13:13:12.291] if (is.null(name)) [13:13:12.291] next [13:13:12.291] if (!grepl(pattern, name)) [13:13:12.291] next [13:13:12.291] invokeRestart(restart) [13:13:12.291] muffled <- TRUE [13:13:12.291] break [13:13:12.291] } [13:13:12.291] } [13:13:12.291] } [13:13:12.291] invisible(muffled) [13:13:12.291] } [13:13:12.291] muffleCondition(cond, pattern = "^muffle") [13:13:12.291] } [13:13:12.291] } [13:13:12.291] } [13:13:12.291] })) [13:13:12.291] }, error = function(ex) { [13:13:12.291] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.291] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.291] ...future.rng), started = ...future.startTime, [13:13:12.291] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.291] version = "1.8"), class = "FutureResult") [13:13:12.291] }, finally = { [13:13:12.291] if (!identical(...future.workdir, getwd())) [13:13:12.291] setwd(...future.workdir) [13:13:12.291] { [13:13:12.291] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.291] ...future.oldOptions$nwarnings <- NULL [13:13:12.291] } [13:13:12.291] base::options(...future.oldOptions) [13:13:12.291] if (.Platform$OS.type == "windows") { [13:13:12.291] old_names <- names(...future.oldEnvVars) [13:13:12.291] envs <- base::Sys.getenv() [13:13:12.291] names <- names(envs) [13:13:12.291] common <- intersect(names, old_names) [13:13:12.291] added <- setdiff(names, old_names) [13:13:12.291] removed <- setdiff(old_names, names) [13:13:12.291] changed <- common[...future.oldEnvVars[common] != [13:13:12.291] envs[common]] [13:13:12.291] NAMES <- toupper(changed) [13:13:12.291] args <- list() [13:13:12.291] for (kk in seq_along(NAMES)) { [13:13:12.291] name <- changed[[kk]] [13:13:12.291] NAME <- NAMES[[kk]] [13:13:12.291] if (name != NAME && is.element(NAME, old_names)) [13:13:12.291] next [13:13:12.291] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.291] } [13:13:12.291] NAMES <- toupper(added) [13:13:12.291] for (kk in seq_along(NAMES)) { [13:13:12.291] name <- added[[kk]] [13:13:12.291] NAME <- NAMES[[kk]] [13:13:12.291] if (name != NAME && is.element(NAME, old_names)) [13:13:12.291] next [13:13:12.291] args[[name]] <- "" [13:13:12.291] } [13:13:12.291] NAMES <- toupper(removed) [13:13:12.291] for (kk in seq_along(NAMES)) { [13:13:12.291] name <- removed[[kk]] [13:13:12.291] NAME <- NAMES[[kk]] [13:13:12.291] if (name != NAME && is.element(NAME, old_names)) [13:13:12.291] next [13:13:12.291] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.291] } [13:13:12.291] if (length(args) > 0) [13:13:12.291] base::do.call(base::Sys.setenv, args = args) [13:13:12.291] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.291] } [13:13:12.291] else { [13:13:12.291] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.291] } [13:13:12.291] { [13:13:12.291] if (base::length(...future.futureOptionsAdded) > [13:13:12.291] 0L) { [13:13:12.291] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.291] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.291] base::options(opts) [13:13:12.291] } [13:13:12.291] { [13:13:12.291] { [13:13:12.291] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.291] NULL [13:13:12.291] } [13:13:12.291] options(future.plan = NULL) [13:13:12.291] if (is.na(NA_character_)) [13:13:12.291] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.291] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.291] future::plan(list(function (..., workers = availableCores(), [13:13:12.291] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.291] envir = parent.frame()) [13:13:12.291] { [13:13:12.291] if (is.function(workers)) [13:13:12.291] workers <- workers() [13:13:12.291] workers <- structure(as.integer(workers), [13:13:12.291] class = class(workers)) [13:13:12.291] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.291] workers >= 1) [13:13:12.291] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.291] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.291] } [13:13:12.291] future <- MultisessionFuture(..., workers = workers, [13:13:12.291] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.291] envir = envir) [13:13:12.291] if (!future$lazy) [13:13:12.291] future <- run(future) [13:13:12.291] invisible(future) [13:13:12.291] }), .cleanup = FALSE, .init = FALSE) [13:13:12.291] } [13:13:12.291] } [13:13:12.291] } [13:13:12.291] }) [13:13:12.291] if (TRUE) { [13:13:12.291] base::sink(type = "output", split = FALSE) [13:13:12.291] if (TRUE) { [13:13:12.291] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.291] } [13:13:12.291] else { [13:13:12.291] ...future.result["stdout"] <- base::list(NULL) [13:13:12.291] } [13:13:12.291] base::close(...future.stdout) [13:13:12.291] ...future.stdout <- NULL [13:13:12.291] } [13:13:12.291] ...future.result$conditions <- ...future.conditions [13:13:12.291] ...future.result$finished <- base::Sys.time() [13:13:12.291] ...future.result [13:13:12.291] } [13:13:12.297] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... [13:13:12.297] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.297] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.298] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... [13:13:12.299] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... DONE [13:13:12.299] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... [13:13:12.299] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... DONE [13:13:12.300] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.300] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.300] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.301] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.301] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... DONE [13:13:12.301] MultisessionFuture started [13:13:12.302] - Launch lazy future ... done [13:13:12.302] run() for 'MultisessionFuture' ... done [13:13:12.302] Created future: [13:13:12.318] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.319] - Validating connection of MultisessionFuture [13:13:12.319] - received message: FutureResult [13:13:12.319] - Received FutureResult [13:13:12.319] - Erased future from FutureRegistry [13:13:12.319] result() for ClusterFuture ... [13:13:12.320] - result already collected: FutureResult [13:13:12.320] result() for ClusterFuture ... done [13:13:12.320] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.302] MultisessionFuture: [13:13:12.302] Label: 'future_apply-2' [13:13:12.302] Expression: [13:13:12.302] { [13:13:12.302] do.call(function(...) { [13:13:12.302] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.302] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.302] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.302] on.exit(options(oopts), add = TRUE) [13:13:12.302] } [13:13:12.302] { [13:13:12.302] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.302] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.302] ...future.FUN(...future.X_jj, ...) [13:13:12.302] }) [13:13:12.302] } [13:13:12.302] }, args = future.call.arguments) [13:13:12.302] } [13:13:12.302] Lazy evaluation: FALSE [13:13:12.302] Asynchronous evaluation: TRUE [13:13:12.302] Local evaluation: TRUE [13:13:12.302] Environment: R_GlobalEnv [13:13:12.302] Capture standard output: TRUE [13:13:12.302] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.302] Globals: 5 objects totaling 346.05 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 345.92 KiB, list '...future.elements_ii' of 80 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.302] Packages: [13:13:12.302] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.302] Resolved: TRUE [13:13:12.302] Value: [13:13:12.302] Conditions captured: [13:13:12.302] Early signaling: FALSE [13:13:12.302] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.302] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.320] Chunk #2 of 2 ... DONE [13:13:12.321] Launching 2 futures (chunks) ... DONE [13:13:12.321] Resolving 2 futures (chunks) ... [13:13:12.321] resolve() on list ... [13:13:12.321] recursive: 0 [13:13:12.321] length: 2 [13:13:12.321] [13:13:12.322] Future #1 [13:13:12.322] result() for ClusterFuture ... [13:13:12.322] - result already collected: FutureResult [13:13:12.322] result() for ClusterFuture ... done [13:13:12.322] result() for ClusterFuture ... [13:13:12.322] - result already collected: FutureResult [13:13:12.322] result() for ClusterFuture ... done [13:13:12.323] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:12.323] - nx: 2 [13:13:12.323] - relay: TRUE [13:13:12.323] - stdout: TRUE [13:13:12.323] - signal: TRUE [13:13:12.323] - resignal: FALSE [13:13:12.324] - force: TRUE [13:13:12.324] - relayed: [n=2] FALSE, FALSE [13:13:12.324] - queued futures: [n=2] FALSE, FALSE [13:13:12.324] - until=1 [13:13:12.324] - relaying element #1 [13:13:12.324] result() for ClusterFuture ... [13:13:12.325] - result already collected: FutureResult [13:13:12.325] result() for ClusterFuture ... done [13:13:12.325] result() for ClusterFuture ... [13:13:12.325] - result already collected: FutureResult [13:13:12.325] result() for ClusterFuture ... done [13:13:12.325] result() for ClusterFuture ... [13:13:12.325] - result already collected: FutureResult [13:13:12.326] result() for ClusterFuture ... done [13:13:12.326] result() for ClusterFuture ... [13:13:12.326] - result already collected: FutureResult [13:13:12.326] result() for ClusterFuture ... done [13:13:12.326] - relayed: [n=2] TRUE, FALSE [13:13:12.327] - queued futures: [n=2] TRUE, FALSE [13:13:12.327] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:12.327] length: 1 (resolved future 1) [13:13:12.327] Future #2 [13:13:12.328] result() for ClusterFuture ... [13:13:12.328] - result already collected: FutureResult [13:13:12.328] result() for ClusterFuture ... done [13:13:12.328] result() for ClusterFuture ... [13:13:12.328] - result already collected: FutureResult [13:13:12.328] result() for ClusterFuture ... done [13:13:12.329] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:12.329] - nx: 2 [13:13:12.329] - relay: TRUE [13:13:12.329] - stdout: TRUE [13:13:12.329] - signal: TRUE [13:13:12.329] - resignal: FALSE [13:13:12.330] - force: TRUE [13:13:12.330] - relayed: [n=2] TRUE, FALSE [13:13:12.330] - queued futures: [n=2] TRUE, FALSE [13:13:12.330] - until=2 [13:13:12.330] - relaying element #2 [13:13:12.330] result() for ClusterFuture ... [13:13:12.330] - result already collected: FutureResult [13:13:12.331] result() for ClusterFuture ... done [13:13:12.331] result() for ClusterFuture ... [13:13:12.331] - result already collected: FutureResult [13:13:12.331] result() for ClusterFuture ... done [13:13:12.331] result() for ClusterFuture ... [13:13:12.331] - result already collected: FutureResult [13:13:12.332] result() for ClusterFuture ... done [13:13:12.332] result() for ClusterFuture ... [13:13:12.332] - result already collected: FutureResult [13:13:12.332] result() for ClusterFuture ... done [13:13:12.332] - relayed: [n=2] TRUE, TRUE [13:13:12.332] - queued futures: [n=2] TRUE, TRUE [13:13:12.333] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:12.333] length: 0 (resolved future 2) [13:13:12.333] Relaying remaining futures [13:13:12.333] signalConditionsASAP(NULL, pos=0) ... [13:13:12.333] - nx: 2 [13:13:12.333] - relay: TRUE [13:13:12.334] - stdout: TRUE [13:13:12.334] - signal: TRUE [13:13:12.334] - resignal: FALSE [13:13:12.334] - force: TRUE [13:13:12.334] - relayed: [n=2] TRUE, TRUE [13:13:12.334] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:12.335] - relayed: [n=2] TRUE, TRUE [13:13:12.335] - queued futures: [n=2] TRUE, TRUE [13:13:12.335] signalConditionsASAP(NULL, pos=0) ... done [13:13:12.335] resolve() on list ... DONE [13:13:12.335] result() for ClusterFuture ... [13:13:12.335] - result already collected: FutureResult [13:13:12.336] result() for ClusterFuture ... done [13:13:12.336] result() for ClusterFuture ... [13:13:12.336] - result already collected: FutureResult [13:13:12.336] result() for ClusterFuture ... done [13:13:12.336] result() for ClusterFuture ... [13:13:12.336] - result already collected: FutureResult [13:13:12.336] result() for ClusterFuture ... done [13:13:12.337] result() for ClusterFuture ... [13:13:12.337] - result already collected: FutureResult [13:13:12.337] result() for ClusterFuture ... done [13:13:12.337] - Number of value chunks collected: 2 [13:13:12.337] Resolving 2 futures (chunks) ... DONE [13:13:12.337] Reducing values from 2 chunks ... [13:13:12.338] - Number of values collected after concatenation: 2 [13:13:12.338] - Number of values expected: 2 [13:13:12.338] Reducing values from 2 chunks ... DONE [13:13:12.338] future_lapply() ... DONE [[1]] ...future.X_jj 1 3 7 2 1 1 [[2]] ...future.X_jj 2 4 6 8 1 1 1 1 [13:13:12.339] getGlobalsAndPackagesXApply() ... [13:13:12.339] - future.globals: TRUE [13:13:12.339] getGlobalsAndPackages() ... [13:13:12.339] Searching for globals... [13:13:12.386] - globals found: [59] 'FUN', 'if', '==', 'c', 'list.names', '{', '<-', '[', 'as.list', 'substitute', '-', '&&', 'length', 'is.list', '!', 'is.null', 'names', 'return', 'seq_along', 'vapply', 'switch', '+', 'is.symbol', 'as.character', 'deparse', '[<-', 'missing', 'match', 'match.arg', '!=', 'warning', 'list', '[[', 'paste', 'stop', 'integer', 'for', 'is.factor', 'anyNA', 'options', 'on.exit', 'factor', '(', '||', 'levels', 'as.integer', 'which', 'is.na', 'is.na<-', '>', 'prod', '$', '.Machine', '*', 'names<-', 'array', 'tabulate', 'class', 'class<-' [13:13:12.386] Searching for globals ... DONE [13:13:12.386] Resolving globals: FALSE [13:13:12.388] The total size of the 1 globals is 345.92 KiB (354224 bytes) [13:13:12.389] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(1, 2, 3, 4, 1, 6, 7, 8), dim = c(2L, 4L)))') is 345.92 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (345.92 KiB of class 'function') [13:13:12.389] - globals: [1] 'FUN' [13:13:12.389] [13:13:12.389] getGlobalsAndPackages() ... DONE [13:13:12.390] - globals found/used: [n=1] 'FUN' [13:13:12.390] - needed namespaces: [n=0] [13:13:12.390] Finding globals ... DONE [13:13:12.390] - use_args: TRUE [13:13:12.390] - Getting '...' globals ... [13:13:12.391] resolve() on list ... [13:13:12.391] recursive: 0 [13:13:12.391] length: 1 [13:13:12.391] elements: '...' [13:13:12.391] length: 0 (resolved future 1) [13:13:12.392] resolve() on list ... DONE [13:13:12.392] - '...' content: [n=0] [13:13:12.392] List of 1 [13:13:12.392] $ ...: list() [13:13:12.392] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.392] - attr(*, "where")=List of 1 [13:13:12.392] ..$ ...: [13:13:12.392] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.392] - attr(*, "resolved")= logi TRUE [13:13:12.392] - attr(*, "total_size")= num NA [13:13:12.395] - Getting '...' globals ... DONE [13:13:12.395] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:12.396] List of 2 [13:13:12.396] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:12.396] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:12.396] $ ... : list() [13:13:12.396] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.396] - attr(*, "where")=List of 2 [13:13:12.396] ..$ ...future.FUN: [13:13:12.396] ..$ ... : [13:13:12.396] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.396] - attr(*, "resolved")= logi FALSE [13:13:12.396] - attr(*, "total_size")= num 354224 [13:13:12.399] Packages to be attached in all futures: [n=0] [13:13:12.399] getGlobalsAndPackagesXApply() ... DONE [13:13:12.401] future_lapply() ... [13:13:12.450] Number of chunks: 2 [13:13:12.450] getGlobalsAndPackagesXApply() ... [13:13:12.450] - future.globals: with names 'list()' [13:13:12.450] - use_args: TRUE [13:13:12.450] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:12.451] List of 2 [13:13:12.451] $ ... : list() [13:13:12.451] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.451] $ ...future.FUN:function (..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", [13:13:12.451] "ifany", "always"), dnn = list.names(...), deparse.level = 1) [13:13:12.451] - attr(*, "where")=List of 2 [13:13:12.451] ..$ ... : [13:13:12.451] ..$ ...future.FUN: [13:13:12.451] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.451] - attr(*, "resolved")= logi FALSE [13:13:12.451] - attr(*, "total_size")= num NA [13:13:12.455] Packages to be attached in all futures: [n=0] [13:13:12.455] getGlobalsAndPackagesXApply() ... DONE [13:13:12.455] Number of futures (= number of chunks): 2 [13:13:12.455] Launching 2 futures (chunks) ... [13:13:12.455] Chunk #1 of 2 ... [13:13:12.456] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.456] - seeds: [13:13:12.456] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.456] getGlobalsAndPackages() ... [13:13:12.456] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.457] Resolving globals: FALSE [13:13:12.457] Tweak future expression to call with '...' arguments ... [13:13:12.457] { [13:13:12.457] do.call(function(...) { [13:13:12.457] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.457] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.457] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.457] on.exit(options(oopts), add = TRUE) [13:13:12.457] } [13:13:12.457] { [13:13:12.457] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.457] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.457] ...future.FUN(...future.X_jj, ...) [13:13:12.457] }) [13:13:12.457] } [13:13:12.457] }, args = future.call.arguments) [13:13:12.457] } [13:13:12.457] Tweak future expression to call with '...' arguments ... DONE [13:13:12.458] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.458] [13:13:12.458] getGlobalsAndPackages() ... DONE [13:13:12.459] run() for 'Future' ... [13:13:12.459] - state: 'created' [13:13:12.459] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.473] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.474] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.474] - Field: 'node' [13:13:12.474] - Field: 'label' [13:13:12.474] - Field: 'local' [13:13:12.474] - Field: 'owner' [13:13:12.475] - Field: 'envir' [13:13:12.475] - Field: 'workers' [13:13:12.475] - Field: 'packages' [13:13:12.475] - Field: 'gc' [13:13:12.475] - Field: 'conditions' [13:13:12.475] - Field: 'persistent' [13:13:12.476] - Field: 'expr' [13:13:12.476] - Field: 'uuid' [13:13:12.476] - Field: 'seed' [13:13:12.476] - Field: 'version' [13:13:12.476] - Field: 'result' [13:13:12.477] - Field: 'asynchronous' [13:13:12.477] - Field: 'calls' [13:13:12.477] - Field: 'globals' [13:13:12.477] - Field: 'stdout' [13:13:12.477] - Field: 'earlySignal' [13:13:12.477] - Field: 'lazy' [13:13:12.478] - Field: 'state' [13:13:12.478] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.478] - Launch lazy future ... [13:13:12.478] Packages needed by the future expression (n = 0): [13:13:12.478] Packages needed by future strategies (n = 0): [13:13:12.479] { [13:13:12.479] { [13:13:12.479] { [13:13:12.479] ...future.startTime <- base::Sys.time() [13:13:12.479] { [13:13:12.479] { [13:13:12.479] { [13:13:12.479] { [13:13:12.479] base::local({ [13:13:12.479] has_future <- base::requireNamespace("future", [13:13:12.479] quietly = TRUE) [13:13:12.479] if (has_future) { [13:13:12.479] ns <- base::getNamespace("future") [13:13:12.479] version <- ns[[".package"]][["version"]] [13:13:12.479] if (is.null(version)) [13:13:12.479] version <- utils::packageVersion("future") [13:13:12.479] } [13:13:12.479] else { [13:13:12.479] version <- NULL [13:13:12.479] } [13:13:12.479] if (!has_future || version < "1.8.0") { [13:13:12.479] info <- base::c(r_version = base::gsub("R version ", [13:13:12.479] "", base::R.version$version.string), [13:13:12.479] platform = base::sprintf("%s (%s-bit)", [13:13:12.479] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.479] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.479] "release", "version")], collapse = " "), [13:13:12.479] hostname = base::Sys.info()[["nodename"]]) [13:13:12.479] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.479] info) [13:13:12.479] info <- base::paste(info, collapse = "; ") [13:13:12.479] if (!has_future) { [13:13:12.479] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.479] info) [13:13:12.479] } [13:13:12.479] else { [13:13:12.479] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.479] info, version) [13:13:12.479] } [13:13:12.479] base::stop(msg) [13:13:12.479] } [13:13:12.479] }) [13:13:12.479] } [13:13:12.479] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.479] base::options(mc.cores = 1L) [13:13:12.479] } [13:13:12.479] options(future.plan = NULL) [13:13:12.479] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.479] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.479] } [13:13:12.479] ...future.workdir <- getwd() [13:13:12.479] } [13:13:12.479] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.479] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.479] } [13:13:12.479] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.479] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.479] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.479] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.479] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.479] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.479] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.479] base::names(...future.oldOptions)) [13:13:12.479] } [13:13:12.479] if (FALSE) { [13:13:12.479] } [13:13:12.479] else { [13:13:12.479] if (TRUE) { [13:13:12.479] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.479] open = "w") [13:13:12.479] } [13:13:12.479] else { [13:13:12.479] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.479] windows = "NUL", "/dev/null"), open = "w") [13:13:12.479] } [13:13:12.479] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.479] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.479] base::sink(type = "output", split = FALSE) [13:13:12.479] base::close(...future.stdout) [13:13:12.479] }, add = TRUE) [13:13:12.479] } [13:13:12.479] ...future.frame <- base::sys.nframe() [13:13:12.479] ...future.conditions <- base::list() [13:13:12.479] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.479] if (FALSE) { [13:13:12.479] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.479] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.479] } [13:13:12.479] ...future.result <- base::tryCatch({ [13:13:12.479] base::withCallingHandlers({ [13:13:12.479] ...future.value <- base::withVisible(base::local({ [13:13:12.479] ...future.makeSendCondition <- local({ [13:13:12.479] sendCondition <- NULL [13:13:12.479] function(frame = 1L) { [13:13:12.479] if (is.function(sendCondition)) [13:13:12.479] return(sendCondition) [13:13:12.479] ns <- getNamespace("parallel") [13:13:12.479] if (exists("sendData", mode = "function", [13:13:12.479] envir = ns)) { [13:13:12.479] parallel_sendData <- get("sendData", mode = "function", [13:13:12.479] envir = ns) [13:13:12.479] envir <- sys.frame(frame) [13:13:12.479] master <- NULL [13:13:12.479] while (!identical(envir, .GlobalEnv) && [13:13:12.479] !identical(envir, emptyenv())) { [13:13:12.479] if (exists("master", mode = "list", envir = envir, [13:13:12.479] inherits = FALSE)) { [13:13:12.479] master <- get("master", mode = "list", [13:13:12.479] envir = envir, inherits = FALSE) [13:13:12.479] if (inherits(master, c("SOCKnode", [13:13:12.479] "SOCK0node"))) { [13:13:12.479] sendCondition <<- function(cond) { [13:13:12.479] data <- list(type = "VALUE", value = cond, [13:13:12.479] success = TRUE) [13:13:12.479] parallel_sendData(master, data) [13:13:12.479] } [13:13:12.479] return(sendCondition) [13:13:12.479] } [13:13:12.479] } [13:13:12.479] frame <- frame + 1L [13:13:12.479] envir <- sys.frame(frame) [13:13:12.479] } [13:13:12.479] } [13:13:12.479] sendCondition <<- function(cond) NULL [13:13:12.479] } [13:13:12.479] }) [13:13:12.479] withCallingHandlers({ [13:13:12.479] { [13:13:12.479] do.call(function(...) { [13:13:12.479] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.479] if (!identical(...future.globals.maxSize.org, [13:13:12.479] ...future.globals.maxSize)) { [13:13:12.479] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.479] on.exit(options(oopts), add = TRUE) [13:13:12.479] } [13:13:12.479] { [13:13:12.479] lapply(seq_along(...future.elements_ii), [13:13:12.479] FUN = function(jj) { [13:13:12.479] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.479] ...future.FUN(...future.X_jj, ...) [13:13:12.479] }) [13:13:12.479] } [13:13:12.479] }, args = future.call.arguments) [13:13:12.479] } [13:13:12.479] }, immediateCondition = function(cond) { [13:13:12.479] sendCondition <- ...future.makeSendCondition() [13:13:12.479] sendCondition(cond) [13:13:12.479] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.479] { [13:13:12.479] inherits <- base::inherits [13:13:12.479] invokeRestart <- base::invokeRestart [13:13:12.479] is.null <- base::is.null [13:13:12.479] muffled <- FALSE [13:13:12.479] if (inherits(cond, "message")) { [13:13:12.479] muffled <- grepl(pattern, "muffleMessage") [13:13:12.479] if (muffled) [13:13:12.479] invokeRestart("muffleMessage") [13:13:12.479] } [13:13:12.479] else if (inherits(cond, "warning")) { [13:13:12.479] muffled <- grepl(pattern, "muffleWarning") [13:13:12.479] if (muffled) [13:13:12.479] invokeRestart("muffleWarning") [13:13:12.479] } [13:13:12.479] else if (inherits(cond, "condition")) { [13:13:12.479] if (!is.null(pattern)) { [13:13:12.479] computeRestarts <- base::computeRestarts [13:13:12.479] grepl <- base::grepl [13:13:12.479] restarts <- computeRestarts(cond) [13:13:12.479] for (restart in restarts) { [13:13:12.479] name <- restart$name [13:13:12.479] if (is.null(name)) [13:13:12.479] next [13:13:12.479] if (!grepl(pattern, name)) [13:13:12.479] next [13:13:12.479] invokeRestart(restart) [13:13:12.479] muffled <- TRUE [13:13:12.479] break [13:13:12.479] } [13:13:12.479] } [13:13:12.479] } [13:13:12.479] invisible(muffled) [13:13:12.479] } [13:13:12.479] muffleCondition(cond) [13:13:12.479] }) [13:13:12.479] })) [13:13:12.479] future::FutureResult(value = ...future.value$value, [13:13:12.479] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.479] ...future.rng), globalenv = if (FALSE) [13:13:12.479] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.479] ...future.globalenv.names)) [13:13:12.479] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.479] }, condition = base::local({ [13:13:12.479] c <- base::c [13:13:12.479] inherits <- base::inherits [13:13:12.479] invokeRestart <- base::invokeRestart [13:13:12.479] length <- base::length [13:13:12.479] list <- base::list [13:13:12.479] seq.int <- base::seq.int [13:13:12.479] signalCondition <- base::signalCondition [13:13:12.479] sys.calls <- base::sys.calls [13:13:12.479] `[[` <- base::`[[` [13:13:12.479] `+` <- base::`+` [13:13:12.479] `<<-` <- base::`<<-` [13:13:12.479] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.479] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.479] 3L)] [13:13:12.479] } [13:13:12.479] function(cond) { [13:13:12.479] is_error <- inherits(cond, "error") [13:13:12.479] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.479] NULL) [13:13:12.479] if (is_error) { [13:13:12.479] sessionInformation <- function() { [13:13:12.479] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.479] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.479] search = base::search(), system = base::Sys.info()) [13:13:12.479] } [13:13:12.479] ...future.conditions[[length(...future.conditions) + [13:13:12.479] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.479] cond$call), session = sessionInformation(), [13:13:12.479] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.479] signalCondition(cond) [13:13:12.479] } [13:13:12.479] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.479] "immediateCondition"))) { [13:13:12.479] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.479] ...future.conditions[[length(...future.conditions) + [13:13:12.479] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.479] if (TRUE && !signal) { [13:13:12.479] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.479] { [13:13:12.479] inherits <- base::inherits [13:13:12.479] invokeRestart <- base::invokeRestart [13:13:12.479] is.null <- base::is.null [13:13:12.479] muffled <- FALSE [13:13:12.479] if (inherits(cond, "message")) { [13:13:12.479] muffled <- grepl(pattern, "muffleMessage") [13:13:12.479] if (muffled) [13:13:12.479] invokeRestart("muffleMessage") [13:13:12.479] } [13:13:12.479] else if (inherits(cond, "warning")) { [13:13:12.479] muffled <- grepl(pattern, "muffleWarning") [13:13:12.479] if (muffled) [13:13:12.479] invokeRestart("muffleWarning") [13:13:12.479] } [13:13:12.479] else if (inherits(cond, "condition")) { [13:13:12.479] if (!is.null(pattern)) { [13:13:12.479] computeRestarts <- base::computeRestarts [13:13:12.479] grepl <- base::grepl [13:13:12.479] restarts <- computeRestarts(cond) [13:13:12.479] for (restart in restarts) { [13:13:12.479] name <- restart$name [13:13:12.479] if (is.null(name)) [13:13:12.479] next [13:13:12.479] if (!grepl(pattern, name)) [13:13:12.479] next [13:13:12.479] invokeRestart(restart) [13:13:12.479] muffled <- TRUE [13:13:12.479] break [13:13:12.479] } [13:13:12.479] } [13:13:12.479] } [13:13:12.479] invisible(muffled) [13:13:12.479] } [13:13:12.479] muffleCondition(cond, pattern = "^muffle") [13:13:12.479] } [13:13:12.479] } [13:13:12.479] else { [13:13:12.479] if (TRUE) { [13:13:12.479] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.479] { [13:13:12.479] inherits <- base::inherits [13:13:12.479] invokeRestart <- base::invokeRestart [13:13:12.479] is.null <- base::is.null [13:13:12.479] muffled <- FALSE [13:13:12.479] if (inherits(cond, "message")) { [13:13:12.479] muffled <- grepl(pattern, "muffleMessage") [13:13:12.479] if (muffled) [13:13:12.479] invokeRestart("muffleMessage") [13:13:12.479] } [13:13:12.479] else if (inherits(cond, "warning")) { [13:13:12.479] muffled <- grepl(pattern, "muffleWarning") [13:13:12.479] if (muffled) [13:13:12.479] invokeRestart("muffleWarning") [13:13:12.479] } [13:13:12.479] else if (inherits(cond, "condition")) { [13:13:12.479] if (!is.null(pattern)) { [13:13:12.479] computeRestarts <- base::computeRestarts [13:13:12.479] grepl <- base::grepl [13:13:12.479] restarts <- computeRestarts(cond) [13:13:12.479] for (restart in restarts) { [13:13:12.479] name <- restart$name [13:13:12.479] if (is.null(name)) [13:13:12.479] next [13:13:12.479] if (!grepl(pattern, name)) [13:13:12.479] next [13:13:12.479] invokeRestart(restart) [13:13:12.479] muffled <- TRUE [13:13:12.479] break [13:13:12.479] } [13:13:12.479] } [13:13:12.479] } [13:13:12.479] invisible(muffled) [13:13:12.479] } [13:13:12.479] muffleCondition(cond, pattern = "^muffle") [13:13:12.479] } [13:13:12.479] } [13:13:12.479] } [13:13:12.479] })) [13:13:12.479] }, error = function(ex) { [13:13:12.479] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.479] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.479] ...future.rng), started = ...future.startTime, [13:13:12.479] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.479] version = "1.8"), class = "FutureResult") [13:13:12.479] }, finally = { [13:13:12.479] if (!identical(...future.workdir, getwd())) [13:13:12.479] setwd(...future.workdir) [13:13:12.479] { [13:13:12.479] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.479] ...future.oldOptions$nwarnings <- NULL [13:13:12.479] } [13:13:12.479] base::options(...future.oldOptions) [13:13:12.479] if (.Platform$OS.type == "windows") { [13:13:12.479] old_names <- names(...future.oldEnvVars) [13:13:12.479] envs <- base::Sys.getenv() [13:13:12.479] names <- names(envs) [13:13:12.479] common <- intersect(names, old_names) [13:13:12.479] added <- setdiff(names, old_names) [13:13:12.479] removed <- setdiff(old_names, names) [13:13:12.479] changed <- common[...future.oldEnvVars[common] != [13:13:12.479] envs[common]] [13:13:12.479] NAMES <- toupper(changed) [13:13:12.479] args <- list() [13:13:12.479] for (kk in seq_along(NAMES)) { [13:13:12.479] name <- changed[[kk]] [13:13:12.479] NAME <- NAMES[[kk]] [13:13:12.479] if (name != NAME && is.element(NAME, old_names)) [13:13:12.479] next [13:13:12.479] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.479] } [13:13:12.479] NAMES <- toupper(added) [13:13:12.479] for (kk in seq_along(NAMES)) { [13:13:12.479] name <- added[[kk]] [13:13:12.479] NAME <- NAMES[[kk]] [13:13:12.479] if (name != NAME && is.element(NAME, old_names)) [13:13:12.479] next [13:13:12.479] args[[name]] <- "" [13:13:12.479] } [13:13:12.479] NAMES <- toupper(removed) [13:13:12.479] for (kk in seq_along(NAMES)) { [13:13:12.479] name <- removed[[kk]] [13:13:12.479] NAME <- NAMES[[kk]] [13:13:12.479] if (name != NAME && is.element(NAME, old_names)) [13:13:12.479] next [13:13:12.479] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.479] } [13:13:12.479] if (length(args) > 0) [13:13:12.479] base::do.call(base::Sys.setenv, args = args) [13:13:12.479] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.479] } [13:13:12.479] else { [13:13:12.479] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.479] } [13:13:12.479] { [13:13:12.479] if (base::length(...future.futureOptionsAdded) > [13:13:12.479] 0L) { [13:13:12.479] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.479] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.479] base::options(opts) [13:13:12.479] } [13:13:12.479] { [13:13:12.479] { [13:13:12.479] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.479] NULL [13:13:12.479] } [13:13:12.479] options(future.plan = NULL) [13:13:12.479] if (is.na(NA_character_)) [13:13:12.479] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.479] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.479] future::plan(list(function (..., workers = availableCores(), [13:13:12.479] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.479] envir = parent.frame()) [13:13:12.479] { [13:13:12.479] if (is.function(workers)) [13:13:12.479] workers <- workers() [13:13:12.479] workers <- structure(as.integer(workers), [13:13:12.479] class = class(workers)) [13:13:12.479] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.479] workers >= 1) [13:13:12.479] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.479] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.479] } [13:13:12.479] future <- MultisessionFuture(..., workers = workers, [13:13:12.479] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.479] envir = envir) [13:13:12.479] if (!future$lazy) [13:13:12.479] future <- run(future) [13:13:12.479] invisible(future) [13:13:12.479] }), .cleanup = FALSE, .init = FALSE) [13:13:12.479] } [13:13:12.479] } [13:13:12.479] } [13:13:12.479] }) [13:13:12.479] if (TRUE) { [13:13:12.479] base::sink(type = "output", split = FALSE) [13:13:12.479] if (TRUE) { [13:13:12.479] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.479] } [13:13:12.479] else { [13:13:12.479] ...future.result["stdout"] <- base::list(NULL) [13:13:12.479] } [13:13:12.479] base::close(...future.stdout) [13:13:12.479] ...future.stdout <- NULL [13:13:12.479] } [13:13:12.479] ...future.result$conditions <- ...future.conditions [13:13:12.479] ...future.result$finished <- base::Sys.time() [13:13:12.479] ...future.result [13:13:12.479] } [13:13:12.485] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... [13:13:12.485] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.486] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.486] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... [13:13:12.487] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... DONE [13:13:12.487] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... [13:13:12.488] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... DONE [13:13:12.488] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.489] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.489] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.489] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.489] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... DONE [13:13:12.490] MultisessionFuture started [13:13:12.490] - Launch lazy future ... done [13:13:12.490] run() for 'MultisessionFuture' ... done [13:13:12.491] Created future: [13:13:12.506] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.506] - Validating connection of MultisessionFuture [13:13:12.506] - received message: FutureResult [13:13:12.507] - Received FutureResult [13:13:12.507] - Erased future from FutureRegistry [13:13:12.507] result() for ClusterFuture ... [13:13:12.507] - result already collected: FutureResult [13:13:12.507] result() for ClusterFuture ... done [13:13:12.507] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.491] MultisessionFuture: [13:13:12.491] Label: 'future_apply-1' [13:13:12.491] Expression: [13:13:12.491] { [13:13:12.491] do.call(function(...) { [13:13:12.491] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.491] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.491] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.491] on.exit(options(oopts), add = TRUE) [13:13:12.491] } [13:13:12.491] { [13:13:12.491] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.491] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.491] ...future.FUN(...future.X_jj, ...) [13:13:12.491] }) [13:13:12.491] } [13:13:12.491] }, args = future.call.arguments) [13:13:12.491] } [13:13:12.491] Lazy evaluation: FALSE [13:13:12.491] Asynchronous evaluation: TRUE [13:13:12.491] Local evaluation: TRUE [13:13:12.491] Environment: R_GlobalEnv [13:13:12.491] Capture standard output: TRUE [13:13:12.491] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.491] Globals: 5 objects totaling 346.05 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 345.92 KiB, list '...future.elements_ii' of 80 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.491] Packages: [13:13:12.491] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.491] Resolved: TRUE [13:13:12.491] Value: [13:13:12.491] Conditions captured: [13:13:12.491] Early signaling: FALSE [13:13:12.491] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.491] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.508] Chunk #1 of 2 ... DONE [13:13:12.508] Chunk #2 of 2 ... [13:13:12.508] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.508] - seeds: [13:13:12.509] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.509] getGlobalsAndPackages() ... [13:13:12.509] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.509] Resolving globals: FALSE [13:13:12.509] Tweak future expression to call with '...' arguments ... [13:13:12.509] { [13:13:12.509] do.call(function(...) { [13:13:12.509] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.509] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.509] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.509] on.exit(options(oopts), add = TRUE) [13:13:12.509] } [13:13:12.509] { [13:13:12.509] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.509] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.509] ...future.FUN(...future.X_jj, ...) [13:13:12.509] }) [13:13:12.509] } [13:13:12.509] }, args = future.call.arguments) [13:13:12.509] } [13:13:12.510] Tweak future expression to call with '...' arguments ... DONE [13:13:12.510] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.511] [13:13:12.511] getGlobalsAndPackages() ... DONE [13:13:12.511] run() for 'Future' ... [13:13:12.511] - state: 'created' [13:13:12.511] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.526] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.526] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.526] - Field: 'node' [13:13:12.526] - Field: 'label' [13:13:12.527] - Field: 'local' [13:13:12.527] - Field: 'owner' [13:13:12.527] - Field: 'envir' [13:13:12.527] - Field: 'workers' [13:13:12.527] - Field: 'packages' [13:13:12.527] - Field: 'gc' [13:13:12.528] - Field: 'conditions' [13:13:12.528] - Field: 'persistent' [13:13:12.528] - Field: 'expr' [13:13:12.528] - Field: 'uuid' [13:13:12.528] - Field: 'seed' [13:13:12.528] - Field: 'version' [13:13:12.529] - Field: 'result' [13:13:12.529] - Field: 'asynchronous' [13:13:12.529] - Field: 'calls' [13:13:12.529] - Field: 'globals' [13:13:12.529] - Field: 'stdout' [13:13:12.530] - Field: 'earlySignal' [13:13:12.530] - Field: 'lazy' [13:13:12.530] - Field: 'state' [13:13:12.530] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.530] - Launch lazy future ... [13:13:12.531] Packages needed by the future expression (n = 0): [13:13:12.531] Packages needed by future strategies (n = 0): [13:13:12.531] { [13:13:12.531] { [13:13:12.531] { [13:13:12.531] ...future.startTime <- base::Sys.time() [13:13:12.531] { [13:13:12.531] { [13:13:12.531] { [13:13:12.531] { [13:13:12.531] base::local({ [13:13:12.531] has_future <- base::requireNamespace("future", [13:13:12.531] quietly = TRUE) [13:13:12.531] if (has_future) { [13:13:12.531] ns <- base::getNamespace("future") [13:13:12.531] version <- ns[[".package"]][["version"]] [13:13:12.531] if (is.null(version)) [13:13:12.531] version <- utils::packageVersion("future") [13:13:12.531] } [13:13:12.531] else { [13:13:12.531] version <- NULL [13:13:12.531] } [13:13:12.531] if (!has_future || version < "1.8.0") { [13:13:12.531] info <- base::c(r_version = base::gsub("R version ", [13:13:12.531] "", base::R.version$version.string), [13:13:12.531] platform = base::sprintf("%s (%s-bit)", [13:13:12.531] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.531] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.531] "release", "version")], collapse = " "), [13:13:12.531] hostname = base::Sys.info()[["nodename"]]) [13:13:12.531] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.531] info) [13:13:12.531] info <- base::paste(info, collapse = "; ") [13:13:12.531] if (!has_future) { [13:13:12.531] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.531] info) [13:13:12.531] } [13:13:12.531] else { [13:13:12.531] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.531] info, version) [13:13:12.531] } [13:13:12.531] base::stop(msg) [13:13:12.531] } [13:13:12.531] }) [13:13:12.531] } [13:13:12.531] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.531] base::options(mc.cores = 1L) [13:13:12.531] } [13:13:12.531] options(future.plan = NULL) [13:13:12.531] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.531] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.531] } [13:13:12.531] ...future.workdir <- getwd() [13:13:12.531] } [13:13:12.531] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.531] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.531] } [13:13:12.531] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.531] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.531] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.531] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.531] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.531] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.531] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.531] base::names(...future.oldOptions)) [13:13:12.531] } [13:13:12.531] if (FALSE) { [13:13:12.531] } [13:13:12.531] else { [13:13:12.531] if (TRUE) { [13:13:12.531] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.531] open = "w") [13:13:12.531] } [13:13:12.531] else { [13:13:12.531] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.531] windows = "NUL", "/dev/null"), open = "w") [13:13:12.531] } [13:13:12.531] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.531] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.531] base::sink(type = "output", split = FALSE) [13:13:12.531] base::close(...future.stdout) [13:13:12.531] }, add = TRUE) [13:13:12.531] } [13:13:12.531] ...future.frame <- base::sys.nframe() [13:13:12.531] ...future.conditions <- base::list() [13:13:12.531] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.531] if (FALSE) { [13:13:12.531] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.531] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.531] } [13:13:12.531] ...future.result <- base::tryCatch({ [13:13:12.531] base::withCallingHandlers({ [13:13:12.531] ...future.value <- base::withVisible(base::local({ [13:13:12.531] ...future.makeSendCondition <- local({ [13:13:12.531] sendCondition <- NULL [13:13:12.531] function(frame = 1L) { [13:13:12.531] if (is.function(sendCondition)) [13:13:12.531] return(sendCondition) [13:13:12.531] ns <- getNamespace("parallel") [13:13:12.531] if (exists("sendData", mode = "function", [13:13:12.531] envir = ns)) { [13:13:12.531] parallel_sendData <- get("sendData", mode = "function", [13:13:12.531] envir = ns) [13:13:12.531] envir <- sys.frame(frame) [13:13:12.531] master <- NULL [13:13:12.531] while (!identical(envir, .GlobalEnv) && [13:13:12.531] !identical(envir, emptyenv())) { [13:13:12.531] if (exists("master", mode = "list", envir = envir, [13:13:12.531] inherits = FALSE)) { [13:13:12.531] master <- get("master", mode = "list", [13:13:12.531] envir = envir, inherits = FALSE) [13:13:12.531] if (inherits(master, c("SOCKnode", [13:13:12.531] "SOCK0node"))) { [13:13:12.531] sendCondition <<- function(cond) { [13:13:12.531] data <- list(type = "VALUE", value = cond, [13:13:12.531] success = TRUE) [13:13:12.531] parallel_sendData(master, data) [13:13:12.531] } [13:13:12.531] return(sendCondition) [13:13:12.531] } [13:13:12.531] } [13:13:12.531] frame <- frame + 1L [13:13:12.531] envir <- sys.frame(frame) [13:13:12.531] } [13:13:12.531] } [13:13:12.531] sendCondition <<- function(cond) NULL [13:13:12.531] } [13:13:12.531] }) [13:13:12.531] withCallingHandlers({ [13:13:12.531] { [13:13:12.531] do.call(function(...) { [13:13:12.531] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.531] if (!identical(...future.globals.maxSize.org, [13:13:12.531] ...future.globals.maxSize)) { [13:13:12.531] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.531] on.exit(options(oopts), add = TRUE) [13:13:12.531] } [13:13:12.531] { [13:13:12.531] lapply(seq_along(...future.elements_ii), [13:13:12.531] FUN = function(jj) { [13:13:12.531] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.531] ...future.FUN(...future.X_jj, ...) [13:13:12.531] }) [13:13:12.531] } [13:13:12.531] }, args = future.call.arguments) [13:13:12.531] } [13:13:12.531] }, immediateCondition = function(cond) { [13:13:12.531] sendCondition <- ...future.makeSendCondition() [13:13:12.531] sendCondition(cond) [13:13:12.531] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.531] { [13:13:12.531] inherits <- base::inherits [13:13:12.531] invokeRestart <- base::invokeRestart [13:13:12.531] is.null <- base::is.null [13:13:12.531] muffled <- FALSE [13:13:12.531] if (inherits(cond, "message")) { [13:13:12.531] muffled <- grepl(pattern, "muffleMessage") [13:13:12.531] if (muffled) [13:13:12.531] invokeRestart("muffleMessage") [13:13:12.531] } [13:13:12.531] else if (inherits(cond, "warning")) { [13:13:12.531] muffled <- grepl(pattern, "muffleWarning") [13:13:12.531] if (muffled) [13:13:12.531] invokeRestart("muffleWarning") [13:13:12.531] } [13:13:12.531] else if (inherits(cond, "condition")) { [13:13:12.531] if (!is.null(pattern)) { [13:13:12.531] computeRestarts <- base::computeRestarts [13:13:12.531] grepl <- base::grepl [13:13:12.531] restarts <- computeRestarts(cond) [13:13:12.531] for (restart in restarts) { [13:13:12.531] name <- restart$name [13:13:12.531] if (is.null(name)) [13:13:12.531] next [13:13:12.531] if (!grepl(pattern, name)) [13:13:12.531] next [13:13:12.531] invokeRestart(restart) [13:13:12.531] muffled <- TRUE [13:13:12.531] break [13:13:12.531] } [13:13:12.531] } [13:13:12.531] } [13:13:12.531] invisible(muffled) [13:13:12.531] } [13:13:12.531] muffleCondition(cond) [13:13:12.531] }) [13:13:12.531] })) [13:13:12.531] future::FutureResult(value = ...future.value$value, [13:13:12.531] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.531] ...future.rng), globalenv = if (FALSE) [13:13:12.531] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.531] ...future.globalenv.names)) [13:13:12.531] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.531] }, condition = base::local({ [13:13:12.531] c <- base::c [13:13:12.531] inherits <- base::inherits [13:13:12.531] invokeRestart <- base::invokeRestart [13:13:12.531] length <- base::length [13:13:12.531] list <- base::list [13:13:12.531] seq.int <- base::seq.int [13:13:12.531] signalCondition <- base::signalCondition [13:13:12.531] sys.calls <- base::sys.calls [13:13:12.531] `[[` <- base::`[[` [13:13:12.531] `+` <- base::`+` [13:13:12.531] `<<-` <- base::`<<-` [13:13:12.531] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.531] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.531] 3L)] [13:13:12.531] } [13:13:12.531] function(cond) { [13:13:12.531] is_error <- inherits(cond, "error") [13:13:12.531] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.531] NULL) [13:13:12.531] if (is_error) { [13:13:12.531] sessionInformation <- function() { [13:13:12.531] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.531] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.531] search = base::search(), system = base::Sys.info()) [13:13:12.531] } [13:13:12.531] ...future.conditions[[length(...future.conditions) + [13:13:12.531] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.531] cond$call), session = sessionInformation(), [13:13:12.531] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.531] signalCondition(cond) [13:13:12.531] } [13:13:12.531] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.531] "immediateCondition"))) { [13:13:12.531] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.531] ...future.conditions[[length(...future.conditions) + [13:13:12.531] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.531] if (TRUE && !signal) { [13:13:12.531] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.531] { [13:13:12.531] inherits <- base::inherits [13:13:12.531] invokeRestart <- base::invokeRestart [13:13:12.531] is.null <- base::is.null [13:13:12.531] muffled <- FALSE [13:13:12.531] if (inherits(cond, "message")) { [13:13:12.531] muffled <- grepl(pattern, "muffleMessage") [13:13:12.531] if (muffled) [13:13:12.531] invokeRestart("muffleMessage") [13:13:12.531] } [13:13:12.531] else if (inherits(cond, "warning")) { [13:13:12.531] muffled <- grepl(pattern, "muffleWarning") [13:13:12.531] if (muffled) [13:13:12.531] invokeRestart("muffleWarning") [13:13:12.531] } [13:13:12.531] else if (inherits(cond, "condition")) { [13:13:12.531] if (!is.null(pattern)) { [13:13:12.531] computeRestarts <- base::computeRestarts [13:13:12.531] grepl <- base::grepl [13:13:12.531] restarts <- computeRestarts(cond) [13:13:12.531] for (restart in restarts) { [13:13:12.531] name <- restart$name [13:13:12.531] if (is.null(name)) [13:13:12.531] next [13:13:12.531] if (!grepl(pattern, name)) [13:13:12.531] next [13:13:12.531] invokeRestart(restart) [13:13:12.531] muffled <- TRUE [13:13:12.531] break [13:13:12.531] } [13:13:12.531] } [13:13:12.531] } [13:13:12.531] invisible(muffled) [13:13:12.531] } [13:13:12.531] muffleCondition(cond, pattern = "^muffle") [13:13:12.531] } [13:13:12.531] } [13:13:12.531] else { [13:13:12.531] if (TRUE) { [13:13:12.531] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.531] { [13:13:12.531] inherits <- base::inherits [13:13:12.531] invokeRestart <- base::invokeRestart [13:13:12.531] is.null <- base::is.null [13:13:12.531] muffled <- FALSE [13:13:12.531] if (inherits(cond, "message")) { [13:13:12.531] muffled <- grepl(pattern, "muffleMessage") [13:13:12.531] if (muffled) [13:13:12.531] invokeRestart("muffleMessage") [13:13:12.531] } [13:13:12.531] else if (inherits(cond, "warning")) { [13:13:12.531] muffled <- grepl(pattern, "muffleWarning") [13:13:12.531] if (muffled) [13:13:12.531] invokeRestart("muffleWarning") [13:13:12.531] } [13:13:12.531] else if (inherits(cond, "condition")) { [13:13:12.531] if (!is.null(pattern)) { [13:13:12.531] computeRestarts <- base::computeRestarts [13:13:12.531] grepl <- base::grepl [13:13:12.531] restarts <- computeRestarts(cond) [13:13:12.531] for (restart in restarts) { [13:13:12.531] name <- restart$name [13:13:12.531] if (is.null(name)) [13:13:12.531] next [13:13:12.531] if (!grepl(pattern, name)) [13:13:12.531] next [13:13:12.531] invokeRestart(restart) [13:13:12.531] muffled <- TRUE [13:13:12.531] break [13:13:12.531] } [13:13:12.531] } [13:13:12.531] } [13:13:12.531] invisible(muffled) [13:13:12.531] } [13:13:12.531] muffleCondition(cond, pattern = "^muffle") [13:13:12.531] } [13:13:12.531] } [13:13:12.531] } [13:13:12.531] })) [13:13:12.531] }, error = function(ex) { [13:13:12.531] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.531] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.531] ...future.rng), started = ...future.startTime, [13:13:12.531] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.531] version = "1.8"), class = "FutureResult") [13:13:12.531] }, finally = { [13:13:12.531] if (!identical(...future.workdir, getwd())) [13:13:12.531] setwd(...future.workdir) [13:13:12.531] { [13:13:12.531] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.531] ...future.oldOptions$nwarnings <- NULL [13:13:12.531] } [13:13:12.531] base::options(...future.oldOptions) [13:13:12.531] if (.Platform$OS.type == "windows") { [13:13:12.531] old_names <- names(...future.oldEnvVars) [13:13:12.531] envs <- base::Sys.getenv() [13:13:12.531] names <- names(envs) [13:13:12.531] common <- intersect(names, old_names) [13:13:12.531] added <- setdiff(names, old_names) [13:13:12.531] removed <- setdiff(old_names, names) [13:13:12.531] changed <- common[...future.oldEnvVars[common] != [13:13:12.531] envs[common]] [13:13:12.531] NAMES <- toupper(changed) [13:13:12.531] args <- list() [13:13:12.531] for (kk in seq_along(NAMES)) { [13:13:12.531] name <- changed[[kk]] [13:13:12.531] NAME <- NAMES[[kk]] [13:13:12.531] if (name != NAME && is.element(NAME, old_names)) [13:13:12.531] next [13:13:12.531] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.531] } [13:13:12.531] NAMES <- toupper(added) [13:13:12.531] for (kk in seq_along(NAMES)) { [13:13:12.531] name <- added[[kk]] [13:13:12.531] NAME <- NAMES[[kk]] [13:13:12.531] if (name != NAME && is.element(NAME, old_names)) [13:13:12.531] next [13:13:12.531] args[[name]] <- "" [13:13:12.531] } [13:13:12.531] NAMES <- toupper(removed) [13:13:12.531] for (kk in seq_along(NAMES)) { [13:13:12.531] name <- removed[[kk]] [13:13:12.531] NAME <- NAMES[[kk]] [13:13:12.531] if (name != NAME && is.element(NAME, old_names)) [13:13:12.531] next [13:13:12.531] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.531] } [13:13:12.531] if (length(args) > 0) [13:13:12.531] base::do.call(base::Sys.setenv, args = args) [13:13:12.531] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.531] } [13:13:12.531] else { [13:13:12.531] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.531] } [13:13:12.531] { [13:13:12.531] if (base::length(...future.futureOptionsAdded) > [13:13:12.531] 0L) { [13:13:12.531] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.531] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.531] base::options(opts) [13:13:12.531] } [13:13:12.531] { [13:13:12.531] { [13:13:12.531] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.531] NULL [13:13:12.531] } [13:13:12.531] options(future.plan = NULL) [13:13:12.531] if (is.na(NA_character_)) [13:13:12.531] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.531] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.531] future::plan(list(function (..., workers = availableCores(), [13:13:12.531] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.531] envir = parent.frame()) [13:13:12.531] { [13:13:12.531] if (is.function(workers)) [13:13:12.531] workers <- workers() [13:13:12.531] workers <- structure(as.integer(workers), [13:13:12.531] class = class(workers)) [13:13:12.531] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.531] workers >= 1) [13:13:12.531] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.531] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.531] } [13:13:12.531] future <- MultisessionFuture(..., workers = workers, [13:13:12.531] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.531] envir = envir) [13:13:12.531] if (!future$lazy) [13:13:12.531] future <- run(future) [13:13:12.531] invisible(future) [13:13:12.531] }), .cleanup = FALSE, .init = FALSE) [13:13:12.531] } [13:13:12.531] } [13:13:12.531] } [13:13:12.531] }) [13:13:12.531] if (TRUE) { [13:13:12.531] base::sink(type = "output", split = FALSE) [13:13:12.531] if (TRUE) { [13:13:12.531] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.531] } [13:13:12.531] else { [13:13:12.531] ...future.result["stdout"] <- base::list(NULL) [13:13:12.531] } [13:13:12.531] base::close(...future.stdout) [13:13:12.531] ...future.stdout <- NULL [13:13:12.531] } [13:13:12.531] ...future.result$conditions <- ...future.conditions [13:13:12.531] ...future.result$finished <- base::Sys.time() [13:13:12.531] ...future.result [13:13:12.531] } [13:13:12.537] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... [13:13:12.537] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.538] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.538] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... [13:13:12.539] Exporting '...future.FUN' (345.92 KiB) to cluster node #1 ... DONE [13:13:12.539] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... [13:13:12.540] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... DONE [13:13:12.540] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.540] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.540] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.541] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.541] Exporting 5 global objects (346.05 KiB) to cluster node #1 ... DONE [13:13:12.542] MultisessionFuture started [13:13:12.542] - Launch lazy future ... done [13:13:12.542] run() for 'MultisessionFuture' ... done [13:13:12.542] Created future: [13:13:12.559] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.559] - Validating connection of MultisessionFuture [13:13:12.560] - received message: FutureResult [13:13:12.560] - Received FutureResult [13:13:12.560] - Erased future from FutureRegistry [13:13:12.560] result() for ClusterFuture ... [13:13:12.560] - result already collected: FutureResult [13:13:12.560] result() for ClusterFuture ... done [13:13:12.561] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.543] MultisessionFuture: [13:13:12.543] Label: 'future_apply-2' [13:13:12.543] Expression: [13:13:12.543] { [13:13:12.543] do.call(function(...) { [13:13:12.543] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.543] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.543] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.543] on.exit(options(oopts), add = TRUE) [13:13:12.543] } [13:13:12.543] { [13:13:12.543] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.543] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.543] ...future.FUN(...future.X_jj, ...) [13:13:12.543] }) [13:13:12.543] } [13:13:12.543] }, args = future.call.arguments) [13:13:12.543] } [13:13:12.543] Lazy evaluation: FALSE [13:13:12.543] Asynchronous evaluation: TRUE [13:13:12.543] Local evaluation: TRUE [13:13:12.543] Environment: R_GlobalEnv [13:13:12.543] Capture standard output: TRUE [13:13:12.543] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.543] Globals: 5 objects totaling 346.05 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 345.92 KiB, list '...future.elements_ii' of 80 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.543] Packages: [13:13:12.543] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.543] Resolved: TRUE [13:13:12.543] Value: [13:13:12.543] Conditions captured: [13:13:12.543] Early signaling: FALSE [13:13:12.543] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.543] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.561] Chunk #2 of 2 ... DONE [13:13:12.561] Launching 2 futures (chunks) ... DONE [13:13:12.561] Resolving 2 futures (chunks) ... [13:13:12.562] resolve() on list ... [13:13:12.562] recursive: 0 [13:13:12.562] length: 2 [13:13:12.562] [13:13:12.562] Future #1 [13:13:12.562] result() for ClusterFuture ... [13:13:12.563] - result already collected: FutureResult [13:13:12.563] result() for ClusterFuture ... done [13:13:12.563] result() for ClusterFuture ... [13:13:12.563] - result already collected: FutureResult [13:13:12.563] result() for ClusterFuture ... done [13:13:12.563] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:12.564] - nx: 2 [13:13:12.564] - relay: TRUE [13:13:12.564] - stdout: TRUE [13:13:12.564] - signal: TRUE [13:13:12.564] - resignal: FALSE [13:13:12.564] - force: TRUE [13:13:12.564] - relayed: [n=2] FALSE, FALSE [13:13:12.565] - queued futures: [n=2] FALSE, FALSE [13:13:12.565] - until=1 [13:13:12.565] - relaying element #1 [13:13:12.565] result() for ClusterFuture ... [13:13:12.565] - result already collected: FutureResult [13:13:12.565] result() for ClusterFuture ... done [13:13:12.566] result() for ClusterFuture ... [13:13:12.566] - result already collected: FutureResult [13:13:12.566] result() for ClusterFuture ... done [13:13:12.566] result() for ClusterFuture ... [13:13:12.566] - result already collected: FutureResult [13:13:12.566] result() for ClusterFuture ... done [13:13:12.567] result() for ClusterFuture ... [13:13:12.567] - result already collected: FutureResult [13:13:12.567] result() for ClusterFuture ... done [13:13:12.567] - relayed: [n=2] TRUE, FALSE [13:13:12.567] - queued futures: [n=2] TRUE, FALSE [13:13:12.567] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:12.567] length: 1 (resolved future 1) [13:13:12.568] Future #2 [13:13:12.568] result() for ClusterFuture ... [13:13:12.568] - result already collected: FutureResult [13:13:12.568] result() for ClusterFuture ... done [13:13:12.568] result() for ClusterFuture ... [13:13:12.568] - result already collected: FutureResult [13:13:12.569] result() for ClusterFuture ... done [13:13:12.569] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:12.569] - nx: 2 [13:13:12.571] - relay: TRUE [13:13:12.571] - stdout: TRUE [13:13:12.571] - signal: TRUE [13:13:12.571] - resignal: FALSE [13:13:12.571] - force: TRUE [13:13:12.571] - relayed: [n=2] TRUE, FALSE [13:13:12.571] - queued futures: [n=2] TRUE, FALSE [13:13:12.572] - until=2 [13:13:12.572] - relaying element #2 [13:13:12.572] result() for ClusterFuture ... [13:13:12.572] - result already collected: FutureResult [13:13:12.572] result() for ClusterFuture ... done [13:13:12.572] result() for ClusterFuture ... [13:13:12.573] - result already collected: FutureResult [13:13:12.573] result() for ClusterFuture ... done [13:13:12.573] result() for ClusterFuture ... [13:13:12.573] - result already collected: FutureResult [13:13:12.573] result() for ClusterFuture ... done [13:13:12.573] result() for ClusterFuture ... [13:13:12.574] - result already collected: FutureResult [13:13:12.574] result() for ClusterFuture ... done [13:13:12.574] - relayed: [n=2] TRUE, TRUE [13:13:12.574] - queued futures: [n=2] TRUE, TRUE [13:13:12.574] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:12.574] length: 0 (resolved future 2) [13:13:12.575] Relaying remaining futures [13:13:12.575] signalConditionsASAP(NULL, pos=0) ... [13:13:12.575] - nx: 2 [13:13:12.575] - relay: TRUE [13:13:12.575] - stdout: TRUE [13:13:12.575] - signal: TRUE [13:13:12.575] - resignal: FALSE [13:13:12.576] - force: TRUE [13:13:12.576] - relayed: [n=2] TRUE, TRUE [13:13:12.576] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:12.576] - relayed: [n=2] TRUE, TRUE [13:13:12.576] - queued futures: [n=2] TRUE, TRUE [13:13:12.577] signalConditionsASAP(NULL, pos=0) ... done [13:13:12.577] resolve() on list ... DONE [13:13:12.577] result() for ClusterFuture ... [13:13:12.577] - result already collected: FutureResult [13:13:12.578] result() for ClusterFuture ... done [13:13:12.578] result() for ClusterFuture ... [13:13:12.578] - result already collected: FutureResult [13:13:12.578] result() for ClusterFuture ... done [13:13:12.578] result() for ClusterFuture ... [13:13:12.578] - result already collected: FutureResult [13:13:12.578] result() for ClusterFuture ... done [13:13:12.579] result() for ClusterFuture ... [13:13:12.579] - result already collected: FutureResult [13:13:12.579] result() for ClusterFuture ... done [13:13:12.579] - Number of value chunks collected: 2 [13:13:12.579] Resolving 2 futures (chunks) ... DONE [13:13:12.579] Reducing values from 2 chunks ... [13:13:12.580] - Number of values collected after concatenation: 2 [13:13:12.580] - Number of values expected: 2 [13:13:12.580] Reducing values from 2 chunks ... DONE [13:13:12.580] future_lapply() ... DONE [[1]] ...future.X_jj 1 3 7 2 1 1 [[2]] ...future.X_jj 2 4 6 8 1 1 1 1 [13:13:12.581] getGlobalsAndPackagesXApply() ... [13:13:12.581] - future.globals: TRUE [13:13:12.581] getGlobalsAndPackages() ... [13:13:12.582] Searching for globals... [13:13:12.583] - globals found: [2] 'FUN', 'UseMethod' [13:13:12.583] Searching for globals ... DONE [13:13:12.583] Resolving globals: FALSE [13:13:12.584] The total size of the 1 globals is 1.22 KiB (1248 bytes) [13:13:12.584] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(1, 2, 3, 4, 1, 6, 7, 8), dim = c(2L, 4L)))') 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:13:12.584] - globals: [1] 'FUN' [13:13:12.585] - packages: [1] 'stats' [13:13:12.585] getGlobalsAndPackages() ... DONE [13:13:12.585] - globals found/used: [n=1] 'FUN' [13:13:12.585] - needed namespaces: [n=1] 'stats' [13:13:12.585] Finding globals ... DONE [13:13:12.586] - use_args: TRUE [13:13:12.586] - Getting '...' globals ... [13:13:12.586] resolve() on list ... [13:13:12.586] recursive: 0 [13:13:12.586] length: 1 [13:13:12.587] elements: '...' [13:13:12.587] length: 0 (resolved future 1) [13:13:12.587] resolve() on list ... DONE [13:13:12.587] - '...' content: [n=0] [13:13:12.587] List of 1 [13:13:12.587] $ ...: list() [13:13:12.587] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.587] - attr(*, "where")=List of 1 [13:13:12.587] ..$ ...: [13:13:12.587] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.587] - attr(*, "resolved")= logi TRUE [13:13:12.587] - attr(*, "total_size")= num NA [13:13:12.590] - Getting '...' globals ... DONE [13:13:12.591] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:12.591] List of 2 [13:13:12.591] $ ...future.FUN:function (x, ...) [13:13:12.591] $ ... : list() [13:13:12.591] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.591] - attr(*, "where")=List of 2 [13:13:12.591] ..$ ...future.FUN: [13:13:12.591] ..$ ... : [13:13:12.591] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.591] - attr(*, "resolved")= logi FALSE [13:13:12.591] - attr(*, "total_size")= num 1248 [13:13:12.594] Packages to be attached in all futures: [n=1] 'stats' [13:13:12.594] getGlobalsAndPackagesXApply() ... DONE [13:13:12.597] future_lapply() ... [13:13:12.599] Number of chunks: 2 [13:13:12.600] getGlobalsAndPackagesXApply() ... [13:13:12.600] - future.globals: with names 'list()' [13:13:12.600] - use_args: TRUE [13:13:12.600] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:12.600] List of 2 [13:13:12.600] $ ... : list() [13:13:12.600] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.600] $ ...future.FUN:function (x, ...) [13:13:12.600] - attr(*, "where")=List of 2 [13:13:12.600] ..$ ... : [13:13:12.600] ..$ ...future.FUN: [13:13:12.600] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.600] - attr(*, "resolved")= logi FALSE [13:13:12.600] - attr(*, "total_size")= num NA [13:13:12.604] Packages to be attached in all futures: [n=1] 'stats' [13:13:12.604] getGlobalsAndPackagesXApply() ... DONE [13:13:12.604] Number of futures (= number of chunks): 2 [13:13:12.605] Launching 2 futures (chunks) ... [13:13:12.605] Chunk #1 of 2 ... [13:13:12.605] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.605] - seeds: [13:13:12.605] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.605] getGlobalsAndPackages() ... [13:13:12.606] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.606] Resolving globals: FALSE [13:13:12.606] Tweak future expression to call with '...' arguments ... [13:13:12.606] { [13:13:12.606] do.call(function(...) { [13:13:12.606] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.606] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.606] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.606] on.exit(options(oopts), add = TRUE) [13:13:12.606] } [13:13:12.606] { [13:13:12.606] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.606] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.606] ...future.FUN(...future.X_jj, ...) [13:13:12.606] }) [13:13:12.606] } [13:13:12.606] }, args = future.call.arguments) [13:13:12.606] } [13:13:12.607] Tweak future expression to call with '...' arguments ... DONE [13:13:12.607] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.607] - packages: [1] 'stats' [13:13:12.608] getGlobalsAndPackages() ... DONE [13:13:12.608] run() for 'Future' ... [13:13:12.608] - state: 'created' [13:13:12.608] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.623] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.623] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.623] - Field: 'node' [13:13:12.623] - Field: 'label' [13:13:12.623] - Field: 'local' [13:13:12.624] - Field: 'owner' [13:13:12.624] - Field: 'envir' [13:13:12.624] - Field: 'workers' [13:13:12.624] - Field: 'packages' [13:13:12.624] - Field: 'gc' [13:13:12.625] - Field: 'conditions' [13:13:12.625] - Field: 'persistent' [13:13:12.625] - Field: 'expr' [13:13:12.625] - Field: 'uuid' [13:13:12.625] - Field: 'seed' [13:13:12.625] - Field: 'version' [13:13:12.626] - Field: 'result' [13:13:12.626] - Field: 'asynchronous' [13:13:12.626] - Field: 'calls' [13:13:12.626] - Field: 'globals' [13:13:12.626] - Field: 'stdout' [13:13:12.626] - Field: 'earlySignal' [13:13:12.627] - Field: 'lazy' [13:13:12.627] - Field: 'state' [13:13:12.627] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.627] - Launch lazy future ... [13:13:12.628] Packages needed by the future expression (n = 1): 'stats' [13:13:12.628] Packages needed by future strategies (n = 0): [13:13:12.628] { [13:13:12.628] { [13:13:12.628] { [13:13:12.628] ...future.startTime <- base::Sys.time() [13:13:12.628] { [13:13:12.628] { [13:13:12.628] { [13:13:12.628] { [13:13:12.628] { [13:13:12.628] base::local({ [13:13:12.628] has_future <- base::requireNamespace("future", [13:13:12.628] quietly = TRUE) [13:13:12.628] if (has_future) { [13:13:12.628] ns <- base::getNamespace("future") [13:13:12.628] version <- ns[[".package"]][["version"]] [13:13:12.628] if (is.null(version)) [13:13:12.628] version <- utils::packageVersion("future") [13:13:12.628] } [13:13:12.628] else { [13:13:12.628] version <- NULL [13:13:12.628] } [13:13:12.628] if (!has_future || version < "1.8.0") { [13:13:12.628] info <- base::c(r_version = base::gsub("R version ", [13:13:12.628] "", base::R.version$version.string), [13:13:12.628] platform = base::sprintf("%s (%s-bit)", [13:13:12.628] base::R.version$platform, 8 * [13:13:12.628] base::.Machine$sizeof.pointer), [13:13:12.628] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.628] "release", "version")], collapse = " "), [13:13:12.628] hostname = base::Sys.info()[["nodename"]]) [13:13:12.628] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.628] info) [13:13:12.628] info <- base::paste(info, collapse = "; ") [13:13:12.628] if (!has_future) { [13:13:12.628] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.628] info) [13:13:12.628] } [13:13:12.628] else { [13:13:12.628] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.628] info, version) [13:13:12.628] } [13:13:12.628] base::stop(msg) [13:13:12.628] } [13:13:12.628] }) [13:13:12.628] } [13:13:12.628] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.628] base::options(mc.cores = 1L) [13:13:12.628] } [13:13:12.628] base::local({ [13:13:12.628] for (pkg in "stats") { [13:13:12.628] base::loadNamespace(pkg) [13:13:12.628] base::library(pkg, character.only = TRUE) [13:13:12.628] } [13:13:12.628] }) [13:13:12.628] } [13:13:12.628] options(future.plan = NULL) [13:13:12.628] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.628] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.628] } [13:13:12.628] ...future.workdir <- getwd() [13:13:12.628] } [13:13:12.628] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.628] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.628] } [13:13:12.628] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.628] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.628] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.628] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.628] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.628] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.628] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.628] base::names(...future.oldOptions)) [13:13:12.628] } [13:13:12.628] if (FALSE) { [13:13:12.628] } [13:13:12.628] else { [13:13:12.628] if (TRUE) { [13:13:12.628] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.628] open = "w") [13:13:12.628] } [13:13:12.628] else { [13:13:12.628] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.628] windows = "NUL", "/dev/null"), open = "w") [13:13:12.628] } [13:13:12.628] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.628] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.628] base::sink(type = "output", split = FALSE) [13:13:12.628] base::close(...future.stdout) [13:13:12.628] }, add = TRUE) [13:13:12.628] } [13:13:12.628] ...future.frame <- base::sys.nframe() [13:13:12.628] ...future.conditions <- base::list() [13:13:12.628] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.628] if (FALSE) { [13:13:12.628] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.628] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.628] } [13:13:12.628] ...future.result <- base::tryCatch({ [13:13:12.628] base::withCallingHandlers({ [13:13:12.628] ...future.value <- base::withVisible(base::local({ [13:13:12.628] ...future.makeSendCondition <- local({ [13:13:12.628] sendCondition <- NULL [13:13:12.628] function(frame = 1L) { [13:13:12.628] if (is.function(sendCondition)) [13:13:12.628] return(sendCondition) [13:13:12.628] ns <- getNamespace("parallel") [13:13:12.628] if (exists("sendData", mode = "function", [13:13:12.628] envir = ns)) { [13:13:12.628] parallel_sendData <- get("sendData", mode = "function", [13:13:12.628] envir = ns) [13:13:12.628] envir <- sys.frame(frame) [13:13:12.628] master <- NULL [13:13:12.628] while (!identical(envir, .GlobalEnv) && [13:13:12.628] !identical(envir, emptyenv())) { [13:13:12.628] if (exists("master", mode = "list", envir = envir, [13:13:12.628] inherits = FALSE)) { [13:13:12.628] master <- get("master", mode = "list", [13:13:12.628] envir = envir, inherits = FALSE) [13:13:12.628] if (inherits(master, c("SOCKnode", [13:13:12.628] "SOCK0node"))) { [13:13:12.628] sendCondition <<- function(cond) { [13:13:12.628] data <- list(type = "VALUE", value = cond, [13:13:12.628] success = TRUE) [13:13:12.628] parallel_sendData(master, data) [13:13:12.628] } [13:13:12.628] return(sendCondition) [13:13:12.628] } [13:13:12.628] } [13:13:12.628] frame <- frame + 1L [13:13:12.628] envir <- sys.frame(frame) [13:13:12.628] } [13:13:12.628] } [13:13:12.628] sendCondition <<- function(cond) NULL [13:13:12.628] } [13:13:12.628] }) [13:13:12.628] withCallingHandlers({ [13:13:12.628] { [13:13:12.628] do.call(function(...) { [13:13:12.628] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.628] if (!identical(...future.globals.maxSize.org, [13:13:12.628] ...future.globals.maxSize)) { [13:13:12.628] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.628] on.exit(options(oopts), add = TRUE) [13:13:12.628] } [13:13:12.628] { [13:13:12.628] lapply(seq_along(...future.elements_ii), [13:13:12.628] FUN = function(jj) { [13:13:12.628] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.628] ...future.FUN(...future.X_jj, ...) [13:13:12.628] }) [13:13:12.628] } [13:13:12.628] }, args = future.call.arguments) [13:13:12.628] } [13:13:12.628] }, immediateCondition = function(cond) { [13:13:12.628] sendCondition <- ...future.makeSendCondition() [13:13:12.628] sendCondition(cond) [13:13:12.628] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.628] { [13:13:12.628] inherits <- base::inherits [13:13:12.628] invokeRestart <- base::invokeRestart [13:13:12.628] is.null <- base::is.null [13:13:12.628] muffled <- FALSE [13:13:12.628] if (inherits(cond, "message")) { [13:13:12.628] muffled <- grepl(pattern, "muffleMessage") [13:13:12.628] if (muffled) [13:13:12.628] invokeRestart("muffleMessage") [13:13:12.628] } [13:13:12.628] else if (inherits(cond, "warning")) { [13:13:12.628] muffled <- grepl(pattern, "muffleWarning") [13:13:12.628] if (muffled) [13:13:12.628] invokeRestart("muffleWarning") [13:13:12.628] } [13:13:12.628] else if (inherits(cond, "condition")) { [13:13:12.628] if (!is.null(pattern)) { [13:13:12.628] computeRestarts <- base::computeRestarts [13:13:12.628] grepl <- base::grepl [13:13:12.628] restarts <- computeRestarts(cond) [13:13:12.628] for (restart in restarts) { [13:13:12.628] name <- restart$name [13:13:12.628] if (is.null(name)) [13:13:12.628] next [13:13:12.628] if (!grepl(pattern, name)) [13:13:12.628] next [13:13:12.628] invokeRestart(restart) [13:13:12.628] muffled <- TRUE [13:13:12.628] break [13:13:12.628] } [13:13:12.628] } [13:13:12.628] } [13:13:12.628] invisible(muffled) [13:13:12.628] } [13:13:12.628] muffleCondition(cond) [13:13:12.628] }) [13:13:12.628] })) [13:13:12.628] future::FutureResult(value = ...future.value$value, [13:13:12.628] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.628] ...future.rng), globalenv = if (FALSE) [13:13:12.628] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.628] ...future.globalenv.names)) [13:13:12.628] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.628] }, condition = base::local({ [13:13:12.628] c <- base::c [13:13:12.628] inherits <- base::inherits [13:13:12.628] invokeRestart <- base::invokeRestart [13:13:12.628] length <- base::length [13:13:12.628] list <- base::list [13:13:12.628] seq.int <- base::seq.int [13:13:12.628] signalCondition <- base::signalCondition [13:13:12.628] sys.calls <- base::sys.calls [13:13:12.628] `[[` <- base::`[[` [13:13:12.628] `+` <- base::`+` [13:13:12.628] `<<-` <- base::`<<-` [13:13:12.628] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.628] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.628] 3L)] [13:13:12.628] } [13:13:12.628] function(cond) { [13:13:12.628] is_error <- inherits(cond, "error") [13:13:12.628] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.628] NULL) [13:13:12.628] if (is_error) { [13:13:12.628] sessionInformation <- function() { [13:13:12.628] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.628] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.628] search = base::search(), system = base::Sys.info()) [13:13:12.628] } [13:13:12.628] ...future.conditions[[length(...future.conditions) + [13:13:12.628] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.628] cond$call), session = sessionInformation(), [13:13:12.628] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.628] signalCondition(cond) [13:13:12.628] } [13:13:12.628] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.628] "immediateCondition"))) { [13:13:12.628] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.628] ...future.conditions[[length(...future.conditions) + [13:13:12.628] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.628] if (TRUE && !signal) { [13:13:12.628] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.628] { [13:13:12.628] inherits <- base::inherits [13:13:12.628] invokeRestart <- base::invokeRestart [13:13:12.628] is.null <- base::is.null [13:13:12.628] muffled <- FALSE [13:13:12.628] if (inherits(cond, "message")) { [13:13:12.628] muffled <- grepl(pattern, "muffleMessage") [13:13:12.628] if (muffled) [13:13:12.628] invokeRestart("muffleMessage") [13:13:12.628] } [13:13:12.628] else if (inherits(cond, "warning")) { [13:13:12.628] muffled <- grepl(pattern, "muffleWarning") [13:13:12.628] if (muffled) [13:13:12.628] invokeRestart("muffleWarning") [13:13:12.628] } [13:13:12.628] else if (inherits(cond, "condition")) { [13:13:12.628] if (!is.null(pattern)) { [13:13:12.628] computeRestarts <- base::computeRestarts [13:13:12.628] grepl <- base::grepl [13:13:12.628] restarts <- computeRestarts(cond) [13:13:12.628] for (restart in restarts) { [13:13:12.628] name <- restart$name [13:13:12.628] if (is.null(name)) [13:13:12.628] next [13:13:12.628] if (!grepl(pattern, name)) [13:13:12.628] next [13:13:12.628] invokeRestart(restart) [13:13:12.628] muffled <- TRUE [13:13:12.628] break [13:13:12.628] } [13:13:12.628] } [13:13:12.628] } [13:13:12.628] invisible(muffled) [13:13:12.628] } [13:13:12.628] muffleCondition(cond, pattern = "^muffle") [13:13:12.628] } [13:13:12.628] } [13:13:12.628] else { [13:13:12.628] if (TRUE) { [13:13:12.628] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.628] { [13:13:12.628] inherits <- base::inherits [13:13:12.628] invokeRestart <- base::invokeRestart [13:13:12.628] is.null <- base::is.null [13:13:12.628] muffled <- FALSE [13:13:12.628] if (inherits(cond, "message")) { [13:13:12.628] muffled <- grepl(pattern, "muffleMessage") [13:13:12.628] if (muffled) [13:13:12.628] invokeRestart("muffleMessage") [13:13:12.628] } [13:13:12.628] else if (inherits(cond, "warning")) { [13:13:12.628] muffled <- grepl(pattern, "muffleWarning") [13:13:12.628] if (muffled) [13:13:12.628] invokeRestart("muffleWarning") [13:13:12.628] } [13:13:12.628] else if (inherits(cond, "condition")) { [13:13:12.628] if (!is.null(pattern)) { [13:13:12.628] computeRestarts <- base::computeRestarts [13:13:12.628] grepl <- base::grepl [13:13:12.628] restarts <- computeRestarts(cond) [13:13:12.628] for (restart in restarts) { [13:13:12.628] name <- restart$name [13:13:12.628] if (is.null(name)) [13:13:12.628] next [13:13:12.628] if (!grepl(pattern, name)) [13:13:12.628] next [13:13:12.628] invokeRestart(restart) [13:13:12.628] muffled <- TRUE [13:13:12.628] break [13:13:12.628] } [13:13:12.628] } [13:13:12.628] } [13:13:12.628] invisible(muffled) [13:13:12.628] } [13:13:12.628] muffleCondition(cond, pattern = "^muffle") [13:13:12.628] } [13:13:12.628] } [13:13:12.628] } [13:13:12.628] })) [13:13:12.628] }, error = function(ex) { [13:13:12.628] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.628] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.628] ...future.rng), started = ...future.startTime, [13:13:12.628] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.628] version = "1.8"), class = "FutureResult") [13:13:12.628] }, finally = { [13:13:12.628] if (!identical(...future.workdir, getwd())) [13:13:12.628] setwd(...future.workdir) [13:13:12.628] { [13:13:12.628] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.628] ...future.oldOptions$nwarnings <- NULL [13:13:12.628] } [13:13:12.628] base::options(...future.oldOptions) [13:13:12.628] if (.Platform$OS.type == "windows") { [13:13:12.628] old_names <- names(...future.oldEnvVars) [13:13:12.628] envs <- base::Sys.getenv() [13:13:12.628] names <- names(envs) [13:13:12.628] common <- intersect(names, old_names) [13:13:12.628] added <- setdiff(names, old_names) [13:13:12.628] removed <- setdiff(old_names, names) [13:13:12.628] changed <- common[...future.oldEnvVars[common] != [13:13:12.628] envs[common]] [13:13:12.628] NAMES <- toupper(changed) [13:13:12.628] args <- list() [13:13:12.628] for (kk in seq_along(NAMES)) { [13:13:12.628] name <- changed[[kk]] [13:13:12.628] NAME <- NAMES[[kk]] [13:13:12.628] if (name != NAME && is.element(NAME, old_names)) [13:13:12.628] next [13:13:12.628] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.628] } [13:13:12.628] NAMES <- toupper(added) [13:13:12.628] for (kk in seq_along(NAMES)) { [13:13:12.628] name <- added[[kk]] [13:13:12.628] NAME <- NAMES[[kk]] [13:13:12.628] if (name != NAME && is.element(NAME, old_names)) [13:13:12.628] next [13:13:12.628] args[[name]] <- "" [13:13:12.628] } [13:13:12.628] NAMES <- toupper(removed) [13:13:12.628] for (kk in seq_along(NAMES)) { [13:13:12.628] name <- removed[[kk]] [13:13:12.628] NAME <- NAMES[[kk]] [13:13:12.628] if (name != NAME && is.element(NAME, old_names)) [13:13:12.628] next [13:13:12.628] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.628] } [13:13:12.628] if (length(args) > 0) [13:13:12.628] base::do.call(base::Sys.setenv, args = args) [13:13:12.628] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.628] } [13:13:12.628] else { [13:13:12.628] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.628] } [13:13:12.628] { [13:13:12.628] if (base::length(...future.futureOptionsAdded) > [13:13:12.628] 0L) { [13:13:12.628] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.628] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.628] base::options(opts) [13:13:12.628] } [13:13:12.628] { [13:13:12.628] { [13:13:12.628] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.628] NULL [13:13:12.628] } [13:13:12.628] options(future.plan = NULL) [13:13:12.628] if (is.na(NA_character_)) [13:13:12.628] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.628] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.628] future::plan(list(function (..., workers = availableCores(), [13:13:12.628] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.628] envir = parent.frame()) [13:13:12.628] { [13:13:12.628] if (is.function(workers)) [13:13:12.628] workers <- workers() [13:13:12.628] workers <- structure(as.integer(workers), [13:13:12.628] class = class(workers)) [13:13:12.628] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.628] workers >= 1) [13:13:12.628] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.628] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.628] } [13:13:12.628] future <- MultisessionFuture(..., workers = workers, [13:13:12.628] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.628] envir = envir) [13:13:12.628] if (!future$lazy) [13:13:12.628] future <- run(future) [13:13:12.628] invisible(future) [13:13:12.628] }), .cleanup = FALSE, .init = FALSE) [13:13:12.628] } [13:13:12.628] } [13:13:12.628] } [13:13:12.628] }) [13:13:12.628] if (TRUE) { [13:13:12.628] base::sink(type = "output", split = FALSE) [13:13:12.628] if (TRUE) { [13:13:12.628] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.628] } [13:13:12.628] else { [13:13:12.628] ...future.result["stdout"] <- base::list(NULL) [13:13:12.628] } [13:13:12.628] base::close(...future.stdout) [13:13:12.628] ...future.stdout <- NULL [13:13:12.628] } [13:13:12.628] ...future.result$conditions <- ...future.conditions [13:13:12.628] ...future.result$finished <- base::Sys.time() [13:13:12.628] ...future.result [13:13:12.628] } [13:13:12.634] Exporting 5 global objects (1.35 KiB) to cluster node #1 ... [13:13:12.634] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.635] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.635] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:13:12.635] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:13:12.636] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... [13:13:12.636] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... DONE [13:13:12.636] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.637] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.637] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.637] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.637] Exporting 5 global objects (1.35 KiB) to cluster node #1 ... DONE [13:13:12.638] MultisessionFuture started [13:13:12.638] - Launch lazy future ... done [13:13:12.639] run() for 'MultisessionFuture' ... done [13:13:12.639] Created future: [13:13:12.657] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.658] - Validating connection of MultisessionFuture [13:13:12.658] - received message: FutureResult [13:13:12.658] - Received FutureResult [13:13:12.658] - Erased future from FutureRegistry [13:13:12.658] result() for ClusterFuture ... [13:13:12.659] - result already collected: FutureResult [13:13:12.659] result() for ClusterFuture ... done [13:13:12.659] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.639] MultisessionFuture: [13:13:12.639] Label: 'future_apply-1' [13:13:12.639] Expression: [13:13:12.639] { [13:13:12.639] do.call(function(...) { [13:13:12.639] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.639] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.639] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.639] on.exit(options(oopts), add = TRUE) [13:13:12.639] } [13:13:12.639] { [13:13:12.639] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.639] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.639] ...future.FUN(...future.X_jj, ...) [13:13:12.639] }) [13:13:12.639] } [13:13:12.639] }, args = future.call.arguments) [13:13:12.639] } [13:13:12.639] Lazy evaluation: FALSE [13:13:12.639] Asynchronous evaluation: TRUE [13:13:12.639] Local evaluation: TRUE [13:13:12.639] Environment: R_GlobalEnv [13:13:12.639] Capture standard output: TRUE [13:13:12.639] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.639] Globals: 5 objects totaling 1.35 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 1.22 KiB, list '...future.elements_ii' of 80 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.639] Packages: 1 packages ('stats') [13:13:12.639] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.639] Resolved: TRUE [13:13:12.639] Value: [13:13:12.639] Conditions captured: [13:13:12.639] Early signaling: FALSE [13:13:12.639] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.639] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.659] Chunk #1 of 2 ... DONE [13:13:12.659] Chunk #2 of 2 ... [13:13:12.660] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.660] - seeds: [13:13:12.660] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.660] getGlobalsAndPackages() ... [13:13:12.660] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.661] Resolving globals: FALSE [13:13:12.661] Tweak future expression to call with '...' arguments ... [13:13:12.661] { [13:13:12.661] do.call(function(...) { [13:13:12.661] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.661] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.661] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.661] on.exit(options(oopts), add = TRUE) [13:13:12.661] } [13:13:12.661] { [13:13:12.661] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.661] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.661] ...future.FUN(...future.X_jj, ...) [13:13:12.661] }) [13:13:12.661] } [13:13:12.661] }, args = future.call.arguments) [13:13:12.661] } [13:13:12.661] Tweak future expression to call with '...' arguments ... DONE [13:13:12.662] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.662] - packages: [1] 'stats' [13:13:12.662] getGlobalsAndPackages() ... DONE [13:13:12.663] run() for 'Future' ... [13:13:12.663] - state: 'created' [13:13:12.663] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.677] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.677] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.678] - Field: 'node' [13:13:12.678] - Field: 'label' [13:13:12.678] - Field: 'local' [13:13:12.678] - Field: 'owner' [13:13:12.678] - Field: 'envir' [13:13:12.679] - Field: 'workers' [13:13:12.679] - Field: 'packages' [13:13:12.679] - Field: 'gc' [13:13:12.679] - Field: 'conditions' [13:13:12.679] - Field: 'persistent' [13:13:12.679] - Field: 'expr' [13:13:12.680] - Field: 'uuid' [13:13:12.680] - Field: 'seed' [13:13:12.680] - Field: 'version' [13:13:12.680] - Field: 'result' [13:13:12.680] - Field: 'asynchronous' [13:13:12.681] - Field: 'calls' [13:13:12.681] - Field: 'globals' [13:13:12.681] - Field: 'stdout' [13:13:12.681] - Field: 'earlySignal' [13:13:12.681] - Field: 'lazy' [13:13:12.681] - Field: 'state' [13:13:12.682] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.682] - Launch lazy future ... [13:13:12.682] Packages needed by the future expression (n = 1): 'stats' [13:13:12.682] Packages needed by future strategies (n = 0): [13:13:12.683] { [13:13:12.683] { [13:13:12.683] { [13:13:12.683] ...future.startTime <- base::Sys.time() [13:13:12.683] { [13:13:12.683] { [13:13:12.683] { [13:13:12.683] { [13:13:12.683] { [13:13:12.683] base::local({ [13:13:12.683] has_future <- base::requireNamespace("future", [13:13:12.683] quietly = TRUE) [13:13:12.683] if (has_future) { [13:13:12.683] ns <- base::getNamespace("future") [13:13:12.683] version <- ns[[".package"]][["version"]] [13:13:12.683] if (is.null(version)) [13:13:12.683] version <- utils::packageVersion("future") [13:13:12.683] } [13:13:12.683] else { [13:13:12.683] version <- NULL [13:13:12.683] } [13:13:12.683] if (!has_future || version < "1.8.0") { [13:13:12.683] info <- base::c(r_version = base::gsub("R version ", [13:13:12.683] "", base::R.version$version.string), [13:13:12.683] platform = base::sprintf("%s (%s-bit)", [13:13:12.683] base::R.version$platform, 8 * [13:13:12.683] base::.Machine$sizeof.pointer), [13:13:12.683] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.683] "release", "version")], collapse = " "), [13:13:12.683] hostname = base::Sys.info()[["nodename"]]) [13:13:12.683] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.683] info) [13:13:12.683] info <- base::paste(info, collapse = "; ") [13:13:12.683] if (!has_future) { [13:13:12.683] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.683] info) [13:13:12.683] } [13:13:12.683] else { [13:13:12.683] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.683] info, version) [13:13:12.683] } [13:13:12.683] base::stop(msg) [13:13:12.683] } [13:13:12.683] }) [13:13:12.683] } [13:13:12.683] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.683] base::options(mc.cores = 1L) [13:13:12.683] } [13:13:12.683] base::local({ [13:13:12.683] for (pkg in "stats") { [13:13:12.683] base::loadNamespace(pkg) [13:13:12.683] base::library(pkg, character.only = TRUE) [13:13:12.683] } [13:13:12.683] }) [13:13:12.683] } [13:13:12.683] options(future.plan = NULL) [13:13:12.683] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.683] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.683] } [13:13:12.683] ...future.workdir <- getwd() [13:13:12.683] } [13:13:12.683] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.683] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.683] } [13:13:12.683] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.683] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.683] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.683] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.683] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.683] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.683] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.683] base::names(...future.oldOptions)) [13:13:12.683] } [13:13:12.683] if (FALSE) { [13:13:12.683] } [13:13:12.683] else { [13:13:12.683] if (TRUE) { [13:13:12.683] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.683] open = "w") [13:13:12.683] } [13:13:12.683] else { [13:13:12.683] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.683] windows = "NUL", "/dev/null"), open = "w") [13:13:12.683] } [13:13:12.683] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.683] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.683] base::sink(type = "output", split = FALSE) [13:13:12.683] base::close(...future.stdout) [13:13:12.683] }, add = TRUE) [13:13:12.683] } [13:13:12.683] ...future.frame <- base::sys.nframe() [13:13:12.683] ...future.conditions <- base::list() [13:13:12.683] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.683] if (FALSE) { [13:13:12.683] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.683] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.683] } [13:13:12.683] ...future.result <- base::tryCatch({ [13:13:12.683] base::withCallingHandlers({ [13:13:12.683] ...future.value <- base::withVisible(base::local({ [13:13:12.683] ...future.makeSendCondition <- local({ [13:13:12.683] sendCondition <- NULL [13:13:12.683] function(frame = 1L) { [13:13:12.683] if (is.function(sendCondition)) [13:13:12.683] return(sendCondition) [13:13:12.683] ns <- getNamespace("parallel") [13:13:12.683] if (exists("sendData", mode = "function", [13:13:12.683] envir = ns)) { [13:13:12.683] parallel_sendData <- get("sendData", mode = "function", [13:13:12.683] envir = ns) [13:13:12.683] envir <- sys.frame(frame) [13:13:12.683] master <- NULL [13:13:12.683] while (!identical(envir, .GlobalEnv) && [13:13:12.683] !identical(envir, emptyenv())) { [13:13:12.683] if (exists("master", mode = "list", envir = envir, [13:13:12.683] inherits = FALSE)) { [13:13:12.683] master <- get("master", mode = "list", [13:13:12.683] envir = envir, inherits = FALSE) [13:13:12.683] if (inherits(master, c("SOCKnode", [13:13:12.683] "SOCK0node"))) { [13:13:12.683] sendCondition <<- function(cond) { [13:13:12.683] data <- list(type = "VALUE", value = cond, [13:13:12.683] success = TRUE) [13:13:12.683] parallel_sendData(master, data) [13:13:12.683] } [13:13:12.683] return(sendCondition) [13:13:12.683] } [13:13:12.683] } [13:13:12.683] frame <- frame + 1L [13:13:12.683] envir <- sys.frame(frame) [13:13:12.683] } [13:13:12.683] } [13:13:12.683] sendCondition <<- function(cond) NULL [13:13:12.683] } [13:13:12.683] }) [13:13:12.683] withCallingHandlers({ [13:13:12.683] { [13:13:12.683] do.call(function(...) { [13:13:12.683] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.683] if (!identical(...future.globals.maxSize.org, [13:13:12.683] ...future.globals.maxSize)) { [13:13:12.683] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.683] on.exit(options(oopts), add = TRUE) [13:13:12.683] } [13:13:12.683] { [13:13:12.683] lapply(seq_along(...future.elements_ii), [13:13:12.683] FUN = function(jj) { [13:13:12.683] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.683] ...future.FUN(...future.X_jj, ...) [13:13:12.683] }) [13:13:12.683] } [13:13:12.683] }, args = future.call.arguments) [13:13:12.683] } [13:13:12.683] }, immediateCondition = function(cond) { [13:13:12.683] sendCondition <- ...future.makeSendCondition() [13:13:12.683] sendCondition(cond) [13:13:12.683] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.683] { [13:13:12.683] inherits <- base::inherits [13:13:12.683] invokeRestart <- base::invokeRestart [13:13:12.683] is.null <- base::is.null [13:13:12.683] muffled <- FALSE [13:13:12.683] if (inherits(cond, "message")) { [13:13:12.683] muffled <- grepl(pattern, "muffleMessage") [13:13:12.683] if (muffled) [13:13:12.683] invokeRestart("muffleMessage") [13:13:12.683] } [13:13:12.683] else if (inherits(cond, "warning")) { [13:13:12.683] muffled <- grepl(pattern, "muffleWarning") [13:13:12.683] if (muffled) [13:13:12.683] invokeRestart("muffleWarning") [13:13:12.683] } [13:13:12.683] else if (inherits(cond, "condition")) { [13:13:12.683] if (!is.null(pattern)) { [13:13:12.683] computeRestarts <- base::computeRestarts [13:13:12.683] grepl <- base::grepl [13:13:12.683] restarts <- computeRestarts(cond) [13:13:12.683] for (restart in restarts) { [13:13:12.683] name <- restart$name [13:13:12.683] if (is.null(name)) [13:13:12.683] next [13:13:12.683] if (!grepl(pattern, name)) [13:13:12.683] next [13:13:12.683] invokeRestart(restart) [13:13:12.683] muffled <- TRUE [13:13:12.683] break [13:13:12.683] } [13:13:12.683] } [13:13:12.683] } [13:13:12.683] invisible(muffled) [13:13:12.683] } [13:13:12.683] muffleCondition(cond) [13:13:12.683] }) [13:13:12.683] })) [13:13:12.683] future::FutureResult(value = ...future.value$value, [13:13:12.683] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.683] ...future.rng), globalenv = if (FALSE) [13:13:12.683] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.683] ...future.globalenv.names)) [13:13:12.683] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.683] }, condition = base::local({ [13:13:12.683] c <- base::c [13:13:12.683] inherits <- base::inherits [13:13:12.683] invokeRestart <- base::invokeRestart [13:13:12.683] length <- base::length [13:13:12.683] list <- base::list [13:13:12.683] seq.int <- base::seq.int [13:13:12.683] signalCondition <- base::signalCondition [13:13:12.683] sys.calls <- base::sys.calls [13:13:12.683] `[[` <- base::`[[` [13:13:12.683] `+` <- base::`+` [13:13:12.683] `<<-` <- base::`<<-` [13:13:12.683] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.683] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.683] 3L)] [13:13:12.683] } [13:13:12.683] function(cond) { [13:13:12.683] is_error <- inherits(cond, "error") [13:13:12.683] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.683] NULL) [13:13:12.683] if (is_error) { [13:13:12.683] sessionInformation <- function() { [13:13:12.683] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.683] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.683] search = base::search(), system = base::Sys.info()) [13:13:12.683] } [13:13:12.683] ...future.conditions[[length(...future.conditions) + [13:13:12.683] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.683] cond$call), session = sessionInformation(), [13:13:12.683] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.683] signalCondition(cond) [13:13:12.683] } [13:13:12.683] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.683] "immediateCondition"))) { [13:13:12.683] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.683] ...future.conditions[[length(...future.conditions) + [13:13:12.683] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.683] if (TRUE && !signal) { [13:13:12.683] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.683] { [13:13:12.683] inherits <- base::inherits [13:13:12.683] invokeRestart <- base::invokeRestart [13:13:12.683] is.null <- base::is.null [13:13:12.683] muffled <- FALSE [13:13:12.683] if (inherits(cond, "message")) { [13:13:12.683] muffled <- grepl(pattern, "muffleMessage") [13:13:12.683] if (muffled) [13:13:12.683] invokeRestart("muffleMessage") [13:13:12.683] } [13:13:12.683] else if (inherits(cond, "warning")) { [13:13:12.683] muffled <- grepl(pattern, "muffleWarning") [13:13:12.683] if (muffled) [13:13:12.683] invokeRestart("muffleWarning") [13:13:12.683] } [13:13:12.683] else if (inherits(cond, "condition")) { [13:13:12.683] if (!is.null(pattern)) { [13:13:12.683] computeRestarts <- base::computeRestarts [13:13:12.683] grepl <- base::grepl [13:13:12.683] restarts <- computeRestarts(cond) [13:13:12.683] for (restart in restarts) { [13:13:12.683] name <- restart$name [13:13:12.683] if (is.null(name)) [13:13:12.683] next [13:13:12.683] if (!grepl(pattern, name)) [13:13:12.683] next [13:13:12.683] invokeRestart(restart) [13:13:12.683] muffled <- TRUE [13:13:12.683] break [13:13:12.683] } [13:13:12.683] } [13:13:12.683] } [13:13:12.683] invisible(muffled) [13:13:12.683] } [13:13:12.683] muffleCondition(cond, pattern = "^muffle") [13:13:12.683] } [13:13:12.683] } [13:13:12.683] else { [13:13:12.683] if (TRUE) { [13:13:12.683] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.683] { [13:13:12.683] inherits <- base::inherits [13:13:12.683] invokeRestart <- base::invokeRestart [13:13:12.683] is.null <- base::is.null [13:13:12.683] muffled <- FALSE [13:13:12.683] if (inherits(cond, "message")) { [13:13:12.683] muffled <- grepl(pattern, "muffleMessage") [13:13:12.683] if (muffled) [13:13:12.683] invokeRestart("muffleMessage") [13:13:12.683] } [13:13:12.683] else if (inherits(cond, "warning")) { [13:13:12.683] muffled <- grepl(pattern, "muffleWarning") [13:13:12.683] if (muffled) [13:13:12.683] invokeRestart("muffleWarning") [13:13:12.683] } [13:13:12.683] else if (inherits(cond, "condition")) { [13:13:12.683] if (!is.null(pattern)) { [13:13:12.683] computeRestarts <- base::computeRestarts [13:13:12.683] grepl <- base::grepl [13:13:12.683] restarts <- computeRestarts(cond) [13:13:12.683] for (restart in restarts) { [13:13:12.683] name <- restart$name [13:13:12.683] if (is.null(name)) [13:13:12.683] next [13:13:12.683] if (!grepl(pattern, name)) [13:13:12.683] next [13:13:12.683] invokeRestart(restart) [13:13:12.683] muffled <- TRUE [13:13:12.683] break [13:13:12.683] } [13:13:12.683] } [13:13:12.683] } [13:13:12.683] invisible(muffled) [13:13:12.683] } [13:13:12.683] muffleCondition(cond, pattern = "^muffle") [13:13:12.683] } [13:13:12.683] } [13:13:12.683] } [13:13:12.683] })) [13:13:12.683] }, error = function(ex) { [13:13:12.683] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.683] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.683] ...future.rng), started = ...future.startTime, [13:13:12.683] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.683] version = "1.8"), class = "FutureResult") [13:13:12.683] }, finally = { [13:13:12.683] if (!identical(...future.workdir, getwd())) [13:13:12.683] setwd(...future.workdir) [13:13:12.683] { [13:13:12.683] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.683] ...future.oldOptions$nwarnings <- NULL [13:13:12.683] } [13:13:12.683] base::options(...future.oldOptions) [13:13:12.683] if (.Platform$OS.type == "windows") { [13:13:12.683] old_names <- names(...future.oldEnvVars) [13:13:12.683] envs <- base::Sys.getenv() [13:13:12.683] names <- names(envs) [13:13:12.683] common <- intersect(names, old_names) [13:13:12.683] added <- setdiff(names, old_names) [13:13:12.683] removed <- setdiff(old_names, names) [13:13:12.683] changed <- common[...future.oldEnvVars[common] != [13:13:12.683] envs[common]] [13:13:12.683] NAMES <- toupper(changed) [13:13:12.683] args <- list() [13:13:12.683] for (kk in seq_along(NAMES)) { [13:13:12.683] name <- changed[[kk]] [13:13:12.683] NAME <- NAMES[[kk]] [13:13:12.683] if (name != NAME && is.element(NAME, old_names)) [13:13:12.683] next [13:13:12.683] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.683] } [13:13:12.683] NAMES <- toupper(added) [13:13:12.683] for (kk in seq_along(NAMES)) { [13:13:12.683] name <- added[[kk]] [13:13:12.683] NAME <- NAMES[[kk]] [13:13:12.683] if (name != NAME && is.element(NAME, old_names)) [13:13:12.683] next [13:13:12.683] args[[name]] <- "" [13:13:12.683] } [13:13:12.683] NAMES <- toupper(removed) [13:13:12.683] for (kk in seq_along(NAMES)) { [13:13:12.683] name <- removed[[kk]] [13:13:12.683] NAME <- NAMES[[kk]] [13:13:12.683] if (name != NAME && is.element(NAME, old_names)) [13:13:12.683] next [13:13:12.683] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.683] } [13:13:12.683] if (length(args) > 0) [13:13:12.683] base::do.call(base::Sys.setenv, args = args) [13:13:12.683] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.683] } [13:13:12.683] else { [13:13:12.683] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.683] } [13:13:12.683] { [13:13:12.683] if (base::length(...future.futureOptionsAdded) > [13:13:12.683] 0L) { [13:13:12.683] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.683] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.683] base::options(opts) [13:13:12.683] } [13:13:12.683] { [13:13:12.683] { [13:13:12.683] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.683] NULL [13:13:12.683] } [13:13:12.683] options(future.plan = NULL) [13:13:12.683] if (is.na(NA_character_)) [13:13:12.683] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.683] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.683] future::plan(list(function (..., workers = availableCores(), [13:13:12.683] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.683] envir = parent.frame()) [13:13:12.683] { [13:13:12.683] if (is.function(workers)) [13:13:12.683] workers <- workers() [13:13:12.683] workers <- structure(as.integer(workers), [13:13:12.683] class = class(workers)) [13:13:12.683] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.683] workers >= 1) [13:13:12.683] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.683] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.683] } [13:13:12.683] future <- MultisessionFuture(..., workers = workers, [13:13:12.683] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.683] envir = envir) [13:13:12.683] if (!future$lazy) [13:13:12.683] future <- run(future) [13:13:12.683] invisible(future) [13:13:12.683] }), .cleanup = FALSE, .init = FALSE) [13:13:12.683] } [13:13:12.683] } [13:13:12.683] } [13:13:12.683] }) [13:13:12.683] if (TRUE) { [13:13:12.683] base::sink(type = "output", split = FALSE) [13:13:12.683] if (TRUE) { [13:13:12.683] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.683] } [13:13:12.683] else { [13:13:12.683] ...future.result["stdout"] <- base::list(NULL) [13:13:12.683] } [13:13:12.683] base::close(...future.stdout) [13:13:12.683] ...future.stdout <- NULL [13:13:12.683] } [13:13:12.683] ...future.result$conditions <- ...future.conditions [13:13:12.683] ...future.result$finished <- base::Sys.time() [13:13:12.683] ...future.result [13:13:12.683] } [13:13:12.689] Exporting 5 global objects (1.35 KiB) to cluster node #1 ... [13:13:12.689] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.689] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.690] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... [13:13:12.690] Exporting '...future.FUN' (1.22 KiB) to cluster node #1 ... DONE [13:13:12.690] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... [13:13:12.691] Exporting '...future.elements_ii' (80 bytes) to cluster node #1 ... DONE [13:13:12.691] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.692] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.692] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.692] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.692] Exporting 5 global objects (1.35 KiB) to cluster node #1 ... DONE [13:13:12.693] MultisessionFuture started [13:13:12.693] - Launch lazy future ... done [13:13:12.694] run() for 'MultisessionFuture' ... done [13:13:12.694] Created future: [13:13:12.709] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.710] - Validating connection of MultisessionFuture [13:13:12.710] - received message: FutureResult [13:13:12.710] - Received FutureResult [13:13:12.710] - Erased future from FutureRegistry [13:13:12.710] result() for ClusterFuture ... [13:13:12.711] - result already collected: FutureResult [13:13:12.711] result() for ClusterFuture ... done [13:13:12.711] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.694] MultisessionFuture: [13:13:12.694] Label: 'future_apply-2' [13:13:12.694] Expression: [13:13:12.694] { [13:13:12.694] do.call(function(...) { [13:13:12.694] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.694] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.694] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.694] on.exit(options(oopts), add = TRUE) [13:13:12.694] } [13:13:12.694] { [13:13:12.694] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.694] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.694] ...future.FUN(...future.X_jj, ...) [13:13:12.694] }) [13:13:12.694] } [13:13:12.694] }, args = future.call.arguments) [13:13:12.694] } [13:13:12.694] Lazy evaluation: FALSE [13:13:12.694] Asynchronous evaluation: TRUE [13:13:12.694] Local evaluation: TRUE [13:13:12.694] Environment: R_GlobalEnv [13:13:12.694] Capture standard output: TRUE [13:13:12.694] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.694] Globals: 5 objects totaling 1.35 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 1.22 KiB, list '...future.elements_ii' of 80 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.694] Packages: 1 packages ('stats') [13:13:12.694] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.694] Resolved: TRUE [13:13:12.694] Value: [13:13:12.694] Conditions captured: [13:13:12.694] Early signaling: FALSE [13:13:12.694] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.694] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.711] Chunk #2 of 2 ... DONE [13:13:12.711] Launching 2 futures (chunks) ... DONE [13:13:12.712] Resolving 2 futures (chunks) ... [13:13:12.712] resolve() on list ... [13:13:12.712] recursive: 0 [13:13:12.712] length: 2 [13:13:12.712] [13:13:12.712] Future #1 [13:13:12.713] result() for ClusterFuture ... [13:13:12.713] - result already collected: FutureResult [13:13:12.713] result() for ClusterFuture ... done [13:13:12.713] result() for ClusterFuture ... [13:13:12.713] - result already collected: FutureResult [13:13:12.713] result() for ClusterFuture ... done [13:13:12.714] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:12.714] - nx: 2 [13:13:12.714] - relay: TRUE [13:13:12.714] - stdout: TRUE [13:13:12.714] - signal: TRUE [13:13:12.714] - resignal: FALSE [13:13:12.714] - force: TRUE [13:13:12.715] - relayed: [n=2] FALSE, FALSE [13:13:12.715] - queued futures: [n=2] FALSE, FALSE [13:13:12.715] - until=1 [13:13:12.715] - relaying element #1 [13:13:12.715] result() for ClusterFuture ... [13:13:12.715] - result already collected: FutureResult [13:13:12.716] result() for ClusterFuture ... done [13:13:12.716] result() for ClusterFuture ... [13:13:12.716] - result already collected: FutureResult [13:13:12.716] result() for ClusterFuture ... done [13:13:12.716] result() for ClusterFuture ... [13:13:12.716] - result already collected: FutureResult [13:13:12.717] result() for ClusterFuture ... done [13:13:12.717] result() for ClusterFuture ... [13:13:12.717] - result already collected: FutureResult [13:13:12.717] result() for ClusterFuture ... done [13:13:12.717] - relayed: [n=2] TRUE, FALSE [13:13:12.717] - queued futures: [n=2] TRUE, FALSE [13:13:12.718] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:12.718] length: 1 (resolved future 1) [13:13:12.718] Future #2 [13:13:12.718] result() for ClusterFuture ... [13:13:12.718] - result already collected: FutureResult [13:13:12.718] result() for ClusterFuture ... done [13:13:12.719] result() for ClusterFuture ... [13:13:12.719] - result already collected: FutureResult [13:13:12.719] result() for ClusterFuture ... done [13:13:12.719] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:12.719] - nx: 2 [13:13:12.719] - relay: TRUE [13:13:12.720] - stdout: TRUE [13:13:12.720] - signal: TRUE [13:13:12.720] - resignal: FALSE [13:13:12.720] - force: TRUE [13:13:12.720] - relayed: [n=2] TRUE, FALSE [13:13:12.720] - queued futures: [n=2] TRUE, FALSE [13:13:12.720] - until=2 [13:13:12.721] - relaying element #2 [13:13:12.721] result() for ClusterFuture ... [13:13:12.721] - result already collected: FutureResult [13:13:12.721] result() for ClusterFuture ... done [13:13:12.721] result() for ClusterFuture ... [13:13:12.721] - result already collected: FutureResult [13:13:12.722] result() for ClusterFuture ... done [13:13:12.722] result() for ClusterFuture ... [13:13:12.722] - result already collected: FutureResult [13:13:12.722] result() for ClusterFuture ... done [13:13:12.722] result() for ClusterFuture ... [13:13:12.722] - result already collected: FutureResult [13:13:12.722] result() for ClusterFuture ... done [13:13:12.723] - relayed: [n=2] TRUE, TRUE [13:13:12.723] - queued futures: [n=2] TRUE, TRUE [13:13:12.723] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:12.723] length: 0 (resolved future 2) [13:13:12.723] Relaying remaining futures [13:13:12.723] signalConditionsASAP(NULL, pos=0) ... [13:13:12.724] - nx: 2 [13:13:12.724] - relay: TRUE [13:13:12.724] - stdout: TRUE [13:13:12.724] - signal: TRUE [13:13:12.724] - resignal: FALSE [13:13:12.724] - force: TRUE [13:13:12.724] - relayed: [n=2] TRUE, TRUE [13:13:12.725] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:12.725] - relayed: [n=2] TRUE, TRUE [13:13:12.725] - queued futures: [n=2] TRUE, TRUE [13:13:12.725] signalConditionsASAP(NULL, pos=0) ... done [13:13:12.725] resolve() on list ... DONE [13:13:12.726] result() for ClusterFuture ... [13:13:12.726] - result already collected: FutureResult [13:13:12.726] result() for ClusterFuture ... done [13:13:12.726] result() for ClusterFuture ... [13:13:12.726] - result already collected: FutureResult [13:13:12.726] result() for ClusterFuture ... done [13:13:12.727] result() for ClusterFuture ... [13:13:12.727] - result already collected: FutureResult [13:13:12.727] result() for ClusterFuture ... done [13:13:12.727] result() for ClusterFuture ... [13:13:12.727] - result already collected: FutureResult [13:13:12.727] result() for ClusterFuture ... done [13:13:12.727] - Number of value chunks collected: 2 [13:13:12.728] Resolving 2 futures (chunks) ... DONE [13:13:12.728] Reducing values from 2 chunks ... [13:13:12.728] - Number of values collected after concatenation: 2 [13:13:12.728] - Number of values expected: 2 [13:13:12.728] Reducing values from 2 chunks ... DONE [13:13:12.728] future_lapply() ... DONE [,1] [,2] 0% 1 2.0 25% 1 3.5 50% 2 5.0 75% 4 6.5 100% 7 8.0 [13:13:12.729] getGlobalsAndPackagesXApply() ... [13:13:12.729] - future.globals: TRUE [13:13:12.729] getGlobalsAndPackages() ... [13:13:12.730] Searching for globals... [13:13:12.731] - globals found: [1] 'FUN' [13:13:12.731] Searching for globals ... DONE [13:13:12.731] Resolving globals: FALSE [13:13:12.732] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:12.732] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3,; 4, 5), dim = c(8L, 2L), dimnames = list(row = NULL, col = c("x1",; "x2"))))') 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:13:12.732] - globals: [1] 'FUN' [13:13:12.732] [13:13:12.733] getGlobalsAndPackages() ... DONE [13:13:12.733] - globals found/used: [n=1] 'FUN' [13:13:12.733] - needed namespaces: [n=0] [13:13:12.733] Finding globals ... DONE [13:13:12.733] - use_args: TRUE [13:13:12.734] - Getting '...' globals ... [13:13:12.734] resolve() on list ... [13:13:12.734] recursive: 0 [13:13:12.734] length: 1 [13:13:12.734] elements: '...' [13:13:12.735] length: 0 (resolved future 1) [13:13:12.735] resolve() on list ... DONE [13:13:12.735] - '...' content: [n=0] [13:13:12.735] List of 1 [13:13:12.735] $ ...: list() [13:13:12.735] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.735] - attr(*, "where")=List of 1 [13:13:12.735] ..$ ...: [13:13:12.735] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.735] - attr(*, "resolved")= logi TRUE [13:13:12.735] - attr(*, "total_size")= num NA [13:13:12.738] - Getting '...' globals ... DONE [13:13:12.739] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:12.739] List of 2 [13:13:12.739] $ ...future.FUN:function (x) [13:13:12.739] $ ... : list() [13:13:12.739] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.739] - attr(*, "where")=List of 2 [13:13:12.739] ..$ ...future.FUN: [13:13:12.739] ..$ ... : [13:13:12.739] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.739] - attr(*, "resolved")= logi FALSE [13:13:12.739] - attr(*, "total_size")= num 848 [13:13:12.742] Packages to be attached in all futures: [n=0] [13:13:12.742] getGlobalsAndPackagesXApply() ... DONE [13:13:12.745] future_lapply() ... [13:13:12.747] Number of chunks: 2 [13:13:12.748] getGlobalsAndPackagesXApply() ... [13:13:12.748] - future.globals: with names 'list()' [13:13:12.748] - use_args: TRUE [13:13:12.748] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:12.748] List of 2 [13:13:12.748] $ ... : list() [13:13:12.748] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.748] $ ...future.FUN:function (x) [13:13:12.748] - attr(*, "where")=List of 2 [13:13:12.748] ..$ ... : [13:13:12.748] ..$ ...future.FUN: [13:13:12.748] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.748] - attr(*, "resolved")= logi FALSE [13:13:12.748] - attr(*, "total_size")= num NA [13:13:12.754] Packages to be attached in all futures: [n=0] [13:13:12.754] getGlobalsAndPackagesXApply() ... DONE [13:13:12.755] Number of futures (= number of chunks): 2 [13:13:12.755] Launching 2 futures (chunks) ... [13:13:12.755] Chunk #1 of 2 ... [13:13:12.755] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.755] - seeds: [13:13:12.755] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.756] getGlobalsAndPackages() ... [13:13:12.756] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.756] Resolving globals: FALSE [13:13:12.756] Tweak future expression to call with '...' arguments ... [13:13:12.756] { [13:13:12.756] do.call(function(...) { [13:13:12.756] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.756] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.756] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.756] on.exit(options(oopts), add = TRUE) [13:13:12.756] } [13:13:12.756] { [13:13:12.756] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.756] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.756] ...future.FUN(...future.X_jj, ...) [13:13:12.756] }) [13:13:12.756] } [13:13:12.756] }, args = future.call.arguments) [13:13:12.756] } [13:13:12.757] Tweak future expression to call with '...' arguments ... DONE [13:13:12.757] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.758] [13:13:12.758] getGlobalsAndPackages() ... DONE [13:13:12.758] run() for 'Future' ... [13:13:12.758] - state: 'created' [13:13:12.758] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.773] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.773] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.773] - Field: 'node' [13:13:12.773] - Field: 'label' [13:13:12.773] - Field: 'local' [13:13:12.774] - Field: 'owner' [13:13:12.774] - Field: 'envir' [13:13:12.774] - Field: 'workers' [13:13:12.774] - Field: 'packages' [13:13:12.774] - Field: 'gc' [13:13:12.774] - Field: 'conditions' [13:13:12.775] - Field: 'persistent' [13:13:12.775] - Field: 'expr' [13:13:12.775] - Field: 'uuid' [13:13:12.775] - Field: 'seed' [13:13:12.775] - Field: 'version' [13:13:12.776] - Field: 'result' [13:13:12.776] - Field: 'asynchronous' [13:13:12.776] - Field: 'calls' [13:13:12.776] - Field: 'globals' [13:13:12.776] - Field: 'stdout' [13:13:12.776] - Field: 'earlySignal' [13:13:12.777] - Field: 'lazy' [13:13:12.777] - Field: 'state' [13:13:12.777] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.777] - Launch lazy future ... [13:13:12.777] Packages needed by the future expression (n = 0): [13:13:12.778] Packages needed by future strategies (n = 0): [13:13:12.778] { [13:13:12.778] { [13:13:12.778] { [13:13:12.778] ...future.startTime <- base::Sys.time() [13:13:12.778] { [13:13:12.778] { [13:13:12.778] { [13:13:12.778] { [13:13:12.778] base::local({ [13:13:12.778] has_future <- base::requireNamespace("future", [13:13:12.778] quietly = TRUE) [13:13:12.778] if (has_future) { [13:13:12.778] ns <- base::getNamespace("future") [13:13:12.778] version <- ns[[".package"]][["version"]] [13:13:12.778] if (is.null(version)) [13:13:12.778] version <- utils::packageVersion("future") [13:13:12.778] } [13:13:12.778] else { [13:13:12.778] version <- NULL [13:13:12.778] } [13:13:12.778] if (!has_future || version < "1.8.0") { [13:13:12.778] info <- base::c(r_version = base::gsub("R version ", [13:13:12.778] "", base::R.version$version.string), [13:13:12.778] platform = base::sprintf("%s (%s-bit)", [13:13:12.778] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.778] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.778] "release", "version")], collapse = " "), [13:13:12.778] hostname = base::Sys.info()[["nodename"]]) [13:13:12.778] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.778] info) [13:13:12.778] info <- base::paste(info, collapse = "; ") [13:13:12.778] if (!has_future) { [13:13:12.778] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.778] info) [13:13:12.778] } [13:13:12.778] else { [13:13:12.778] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.778] info, version) [13:13:12.778] } [13:13:12.778] base::stop(msg) [13:13:12.778] } [13:13:12.778] }) [13:13:12.778] } [13:13:12.778] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.778] base::options(mc.cores = 1L) [13:13:12.778] } [13:13:12.778] options(future.plan = NULL) [13:13:12.778] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.778] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.778] } [13:13:12.778] ...future.workdir <- getwd() [13:13:12.778] } [13:13:12.778] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.778] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.778] } [13:13:12.778] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.778] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.778] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.778] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.778] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.778] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.778] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.778] base::names(...future.oldOptions)) [13:13:12.778] } [13:13:12.778] if (FALSE) { [13:13:12.778] } [13:13:12.778] else { [13:13:12.778] if (TRUE) { [13:13:12.778] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.778] open = "w") [13:13:12.778] } [13:13:12.778] else { [13:13:12.778] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.778] windows = "NUL", "/dev/null"), open = "w") [13:13:12.778] } [13:13:12.778] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.778] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.778] base::sink(type = "output", split = FALSE) [13:13:12.778] base::close(...future.stdout) [13:13:12.778] }, add = TRUE) [13:13:12.778] } [13:13:12.778] ...future.frame <- base::sys.nframe() [13:13:12.778] ...future.conditions <- base::list() [13:13:12.778] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.778] if (FALSE) { [13:13:12.778] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.778] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.778] } [13:13:12.778] ...future.result <- base::tryCatch({ [13:13:12.778] base::withCallingHandlers({ [13:13:12.778] ...future.value <- base::withVisible(base::local({ [13:13:12.778] ...future.makeSendCondition <- local({ [13:13:12.778] sendCondition <- NULL [13:13:12.778] function(frame = 1L) { [13:13:12.778] if (is.function(sendCondition)) [13:13:12.778] return(sendCondition) [13:13:12.778] ns <- getNamespace("parallel") [13:13:12.778] if (exists("sendData", mode = "function", [13:13:12.778] envir = ns)) { [13:13:12.778] parallel_sendData <- get("sendData", mode = "function", [13:13:12.778] envir = ns) [13:13:12.778] envir <- sys.frame(frame) [13:13:12.778] master <- NULL [13:13:12.778] while (!identical(envir, .GlobalEnv) && [13:13:12.778] !identical(envir, emptyenv())) { [13:13:12.778] if (exists("master", mode = "list", envir = envir, [13:13:12.778] inherits = FALSE)) { [13:13:12.778] master <- get("master", mode = "list", [13:13:12.778] envir = envir, inherits = FALSE) [13:13:12.778] if (inherits(master, c("SOCKnode", [13:13:12.778] "SOCK0node"))) { [13:13:12.778] sendCondition <<- function(cond) { [13:13:12.778] data <- list(type = "VALUE", value = cond, [13:13:12.778] success = TRUE) [13:13:12.778] parallel_sendData(master, data) [13:13:12.778] } [13:13:12.778] return(sendCondition) [13:13:12.778] } [13:13:12.778] } [13:13:12.778] frame <- frame + 1L [13:13:12.778] envir <- sys.frame(frame) [13:13:12.778] } [13:13:12.778] } [13:13:12.778] sendCondition <<- function(cond) NULL [13:13:12.778] } [13:13:12.778] }) [13:13:12.778] withCallingHandlers({ [13:13:12.778] { [13:13:12.778] do.call(function(...) { [13:13:12.778] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.778] if (!identical(...future.globals.maxSize.org, [13:13:12.778] ...future.globals.maxSize)) { [13:13:12.778] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.778] on.exit(options(oopts), add = TRUE) [13:13:12.778] } [13:13:12.778] { [13:13:12.778] lapply(seq_along(...future.elements_ii), [13:13:12.778] FUN = function(jj) { [13:13:12.778] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.778] ...future.FUN(...future.X_jj, ...) [13:13:12.778] }) [13:13:12.778] } [13:13:12.778] }, args = future.call.arguments) [13:13:12.778] } [13:13:12.778] }, immediateCondition = function(cond) { [13:13:12.778] sendCondition <- ...future.makeSendCondition() [13:13:12.778] sendCondition(cond) [13:13:12.778] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.778] { [13:13:12.778] inherits <- base::inherits [13:13:12.778] invokeRestart <- base::invokeRestart [13:13:12.778] is.null <- base::is.null [13:13:12.778] muffled <- FALSE [13:13:12.778] if (inherits(cond, "message")) { [13:13:12.778] muffled <- grepl(pattern, "muffleMessage") [13:13:12.778] if (muffled) [13:13:12.778] invokeRestart("muffleMessage") [13:13:12.778] } [13:13:12.778] else if (inherits(cond, "warning")) { [13:13:12.778] muffled <- grepl(pattern, "muffleWarning") [13:13:12.778] if (muffled) [13:13:12.778] invokeRestart("muffleWarning") [13:13:12.778] } [13:13:12.778] else if (inherits(cond, "condition")) { [13:13:12.778] if (!is.null(pattern)) { [13:13:12.778] computeRestarts <- base::computeRestarts [13:13:12.778] grepl <- base::grepl [13:13:12.778] restarts <- computeRestarts(cond) [13:13:12.778] for (restart in restarts) { [13:13:12.778] name <- restart$name [13:13:12.778] if (is.null(name)) [13:13:12.778] next [13:13:12.778] if (!grepl(pattern, name)) [13:13:12.778] next [13:13:12.778] invokeRestart(restart) [13:13:12.778] muffled <- TRUE [13:13:12.778] break [13:13:12.778] } [13:13:12.778] } [13:13:12.778] } [13:13:12.778] invisible(muffled) [13:13:12.778] } [13:13:12.778] muffleCondition(cond) [13:13:12.778] }) [13:13:12.778] })) [13:13:12.778] future::FutureResult(value = ...future.value$value, [13:13:12.778] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.778] ...future.rng), globalenv = if (FALSE) [13:13:12.778] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.778] ...future.globalenv.names)) [13:13:12.778] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.778] }, condition = base::local({ [13:13:12.778] c <- base::c [13:13:12.778] inherits <- base::inherits [13:13:12.778] invokeRestart <- base::invokeRestart [13:13:12.778] length <- base::length [13:13:12.778] list <- base::list [13:13:12.778] seq.int <- base::seq.int [13:13:12.778] signalCondition <- base::signalCondition [13:13:12.778] sys.calls <- base::sys.calls [13:13:12.778] `[[` <- base::`[[` [13:13:12.778] `+` <- base::`+` [13:13:12.778] `<<-` <- base::`<<-` [13:13:12.778] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.778] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.778] 3L)] [13:13:12.778] } [13:13:12.778] function(cond) { [13:13:12.778] is_error <- inherits(cond, "error") [13:13:12.778] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.778] NULL) [13:13:12.778] if (is_error) { [13:13:12.778] sessionInformation <- function() { [13:13:12.778] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.778] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.778] search = base::search(), system = base::Sys.info()) [13:13:12.778] } [13:13:12.778] ...future.conditions[[length(...future.conditions) + [13:13:12.778] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.778] cond$call), session = sessionInformation(), [13:13:12.778] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.778] signalCondition(cond) [13:13:12.778] } [13:13:12.778] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.778] "immediateCondition"))) { [13:13:12.778] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.778] ...future.conditions[[length(...future.conditions) + [13:13:12.778] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.778] if (TRUE && !signal) { [13:13:12.778] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.778] { [13:13:12.778] inherits <- base::inherits [13:13:12.778] invokeRestart <- base::invokeRestart [13:13:12.778] is.null <- base::is.null [13:13:12.778] muffled <- FALSE [13:13:12.778] if (inherits(cond, "message")) { [13:13:12.778] muffled <- grepl(pattern, "muffleMessage") [13:13:12.778] if (muffled) [13:13:12.778] invokeRestart("muffleMessage") [13:13:12.778] } [13:13:12.778] else if (inherits(cond, "warning")) { [13:13:12.778] muffled <- grepl(pattern, "muffleWarning") [13:13:12.778] if (muffled) [13:13:12.778] invokeRestart("muffleWarning") [13:13:12.778] } [13:13:12.778] else if (inherits(cond, "condition")) { [13:13:12.778] if (!is.null(pattern)) { [13:13:12.778] computeRestarts <- base::computeRestarts [13:13:12.778] grepl <- base::grepl [13:13:12.778] restarts <- computeRestarts(cond) [13:13:12.778] for (restart in restarts) { [13:13:12.778] name <- restart$name [13:13:12.778] if (is.null(name)) [13:13:12.778] next [13:13:12.778] if (!grepl(pattern, name)) [13:13:12.778] next [13:13:12.778] invokeRestart(restart) [13:13:12.778] muffled <- TRUE [13:13:12.778] break [13:13:12.778] } [13:13:12.778] } [13:13:12.778] } [13:13:12.778] invisible(muffled) [13:13:12.778] } [13:13:12.778] muffleCondition(cond, pattern = "^muffle") [13:13:12.778] } [13:13:12.778] } [13:13:12.778] else { [13:13:12.778] if (TRUE) { [13:13:12.778] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.778] { [13:13:12.778] inherits <- base::inherits [13:13:12.778] invokeRestart <- base::invokeRestart [13:13:12.778] is.null <- base::is.null [13:13:12.778] muffled <- FALSE [13:13:12.778] if (inherits(cond, "message")) { [13:13:12.778] muffled <- grepl(pattern, "muffleMessage") [13:13:12.778] if (muffled) [13:13:12.778] invokeRestart("muffleMessage") [13:13:12.778] } [13:13:12.778] else if (inherits(cond, "warning")) { [13:13:12.778] muffled <- grepl(pattern, "muffleWarning") [13:13:12.778] if (muffled) [13:13:12.778] invokeRestart("muffleWarning") [13:13:12.778] } [13:13:12.778] else if (inherits(cond, "condition")) { [13:13:12.778] if (!is.null(pattern)) { [13:13:12.778] computeRestarts <- base::computeRestarts [13:13:12.778] grepl <- base::grepl [13:13:12.778] restarts <- computeRestarts(cond) [13:13:12.778] for (restart in restarts) { [13:13:12.778] name <- restart$name [13:13:12.778] if (is.null(name)) [13:13:12.778] next [13:13:12.778] if (!grepl(pattern, name)) [13:13:12.778] next [13:13:12.778] invokeRestart(restart) [13:13:12.778] muffled <- TRUE [13:13:12.778] break [13:13:12.778] } [13:13:12.778] } [13:13:12.778] } [13:13:12.778] invisible(muffled) [13:13:12.778] } [13:13:12.778] muffleCondition(cond, pattern = "^muffle") [13:13:12.778] } [13:13:12.778] } [13:13:12.778] } [13:13:12.778] })) [13:13:12.778] }, error = function(ex) { [13:13:12.778] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.778] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.778] ...future.rng), started = ...future.startTime, [13:13:12.778] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.778] version = "1.8"), class = "FutureResult") [13:13:12.778] }, finally = { [13:13:12.778] if (!identical(...future.workdir, getwd())) [13:13:12.778] setwd(...future.workdir) [13:13:12.778] { [13:13:12.778] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.778] ...future.oldOptions$nwarnings <- NULL [13:13:12.778] } [13:13:12.778] base::options(...future.oldOptions) [13:13:12.778] if (.Platform$OS.type == "windows") { [13:13:12.778] old_names <- names(...future.oldEnvVars) [13:13:12.778] envs <- base::Sys.getenv() [13:13:12.778] names <- names(envs) [13:13:12.778] common <- intersect(names, old_names) [13:13:12.778] added <- setdiff(names, old_names) [13:13:12.778] removed <- setdiff(old_names, names) [13:13:12.778] changed <- common[...future.oldEnvVars[common] != [13:13:12.778] envs[common]] [13:13:12.778] NAMES <- toupper(changed) [13:13:12.778] args <- list() [13:13:12.778] for (kk in seq_along(NAMES)) { [13:13:12.778] name <- changed[[kk]] [13:13:12.778] NAME <- NAMES[[kk]] [13:13:12.778] if (name != NAME && is.element(NAME, old_names)) [13:13:12.778] next [13:13:12.778] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.778] } [13:13:12.778] NAMES <- toupper(added) [13:13:12.778] for (kk in seq_along(NAMES)) { [13:13:12.778] name <- added[[kk]] [13:13:12.778] NAME <- NAMES[[kk]] [13:13:12.778] if (name != NAME && is.element(NAME, old_names)) [13:13:12.778] next [13:13:12.778] args[[name]] <- "" [13:13:12.778] } [13:13:12.778] NAMES <- toupper(removed) [13:13:12.778] for (kk in seq_along(NAMES)) { [13:13:12.778] name <- removed[[kk]] [13:13:12.778] NAME <- NAMES[[kk]] [13:13:12.778] if (name != NAME && is.element(NAME, old_names)) [13:13:12.778] next [13:13:12.778] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.778] } [13:13:12.778] if (length(args) > 0) [13:13:12.778] base::do.call(base::Sys.setenv, args = args) [13:13:12.778] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.778] } [13:13:12.778] else { [13:13:12.778] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.778] } [13:13:12.778] { [13:13:12.778] if (base::length(...future.futureOptionsAdded) > [13:13:12.778] 0L) { [13:13:12.778] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.778] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.778] base::options(opts) [13:13:12.778] } [13:13:12.778] { [13:13:12.778] { [13:13:12.778] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.778] NULL [13:13:12.778] } [13:13:12.778] options(future.plan = NULL) [13:13:12.778] if (is.na(NA_character_)) [13:13:12.778] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.778] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.778] future::plan(list(function (..., workers = availableCores(), [13:13:12.778] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.778] envir = parent.frame()) [13:13:12.778] { [13:13:12.778] if (is.function(workers)) [13:13:12.778] workers <- workers() [13:13:12.778] workers <- structure(as.integer(workers), [13:13:12.778] class = class(workers)) [13:13:12.778] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.778] workers >= 1) [13:13:12.778] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.778] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.778] } [13:13:12.778] future <- MultisessionFuture(..., workers = workers, [13:13:12.778] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.778] envir = envir) [13:13:12.778] if (!future$lazy) [13:13:12.778] future <- run(future) [13:13:12.778] invisible(future) [13:13:12.778] }), .cleanup = FALSE, .init = FALSE) [13:13:12.778] } [13:13:12.778] } [13:13:12.778] } [13:13:12.778] }) [13:13:12.778] if (TRUE) { [13:13:12.778] base::sink(type = "output", split = FALSE) [13:13:12.778] if (TRUE) { [13:13:12.778] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.778] } [13:13:12.778] else { [13:13:12.778] ...future.result["stdout"] <- base::list(NULL) [13:13:12.778] } [13:13:12.778] base::close(...future.stdout) [13:13:12.778] ...future.stdout <- NULL [13:13:12.778] } [13:13:12.778] ...future.result$conditions <- ...future.conditions [13:13:12.778] ...future.result$finished <- base::Sys.time() [13:13:12.778] ...future.result [13:13:12.778] } [13:13:12.784] Exporting 5 global objects (0.99 KiB) to cluster node #1 ... [13:13:12.784] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.785] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.785] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:12.785] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:12.786] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:13:12.786] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:13:12.786] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.787] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.787] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.787] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.788] Exporting 5 global objects (0.99 KiB) to cluster node #1 ... DONE [13:13:12.788] MultisessionFuture started [13:13:12.788] - Launch lazy future ... done [13:13:12.789] run() for 'MultisessionFuture' ... done [13:13:12.789] Created future: [13:13:12.805] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.805] - Validating connection of MultisessionFuture [13:13:12.805] - received message: FutureResult [13:13:12.806] - Received FutureResult [13:13:12.806] - Erased future from FutureRegistry [13:13:12.806] result() for ClusterFuture ... [13:13:12.806] - result already collected: FutureResult [13:13:12.806] result() for ClusterFuture ... done [13:13:12.806] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.789] MultisessionFuture: [13:13:12.789] Label: 'future_apply-1' [13:13:12.789] Expression: [13:13:12.789] { [13:13:12.789] do.call(function(...) { [13:13:12.789] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.789] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.789] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.789] on.exit(options(oopts), add = TRUE) [13:13:12.789] } [13:13:12.789] { [13:13:12.789] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.789] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.789] ...future.FUN(...future.X_jj, ...) [13:13:12.789] }) [13:13:12.789] } [13:13:12.789] }, args = future.call.arguments) [13:13:12.789] } [13:13:12.789] Lazy evaluation: FALSE [13:13:12.789] Asynchronous evaluation: TRUE [13:13:12.789] Local evaluation: TRUE [13:13:12.789] Environment: R_GlobalEnv [13:13:12.789] Capture standard output: TRUE [13:13:12.789] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.789] Globals: 5 objects totaling 0.99 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.789] Packages: [13:13:12.789] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.789] Resolved: TRUE [13:13:12.789] Value: [13:13:12.789] Conditions captured: [13:13:12.789] Early signaling: FALSE [13:13:12.789] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.789] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.807] Chunk #1 of 2 ... DONE [13:13:12.807] Chunk #2 of 2 ... [13:13:12.807] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.807] - seeds: [13:13:12.808] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.808] getGlobalsAndPackages() ... [13:13:12.808] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.808] Resolving globals: FALSE [13:13:12.808] Tweak future expression to call with '...' arguments ... [13:13:12.809] { [13:13:12.809] do.call(function(...) { [13:13:12.809] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.809] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.809] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.809] on.exit(options(oopts), add = TRUE) [13:13:12.809] } [13:13:12.809] { [13:13:12.809] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.809] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.809] ...future.FUN(...future.X_jj, ...) [13:13:12.809] }) [13:13:12.809] } [13:13:12.809] }, args = future.call.arguments) [13:13:12.809] } [13:13:12.809] Tweak future expression to call with '...' arguments ... DONE [13:13:12.810] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.810] [13:13:12.810] getGlobalsAndPackages() ... DONE [13:13:12.810] run() for 'Future' ... [13:13:12.810] - state: 'created' [13:13:12.811] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.825] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.825] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.825] - Field: 'node' [13:13:12.826] - Field: 'label' [13:13:12.826] - Field: 'local' [13:13:12.826] - Field: 'owner' [13:13:12.826] - Field: 'envir' [13:13:12.826] - Field: 'workers' [13:13:12.827] - Field: 'packages' [13:13:12.827] - Field: 'gc' [13:13:12.827] - Field: 'conditions' [13:13:12.827] - Field: 'persistent' [13:13:12.827] - Field: 'expr' [13:13:12.827] - Field: 'uuid' [13:13:12.828] - Field: 'seed' [13:13:12.828] - Field: 'version' [13:13:12.828] - Field: 'result' [13:13:12.828] - Field: 'asynchronous' [13:13:12.828] - Field: 'calls' [13:13:12.829] - Field: 'globals' [13:13:12.829] - Field: 'stdout' [13:13:12.829] - Field: 'earlySignal' [13:13:12.829] - Field: 'lazy' [13:13:12.829] - Field: 'state' [13:13:12.829] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.830] - Launch lazy future ... [13:13:12.830] Packages needed by the future expression (n = 0): [13:13:12.830] Packages needed by future strategies (n = 0): [13:13:12.831] { [13:13:12.831] { [13:13:12.831] { [13:13:12.831] ...future.startTime <- base::Sys.time() [13:13:12.831] { [13:13:12.831] { [13:13:12.831] { [13:13:12.831] { [13:13:12.831] base::local({ [13:13:12.831] has_future <- base::requireNamespace("future", [13:13:12.831] quietly = TRUE) [13:13:12.831] if (has_future) { [13:13:12.831] ns <- base::getNamespace("future") [13:13:12.831] version <- ns[[".package"]][["version"]] [13:13:12.831] if (is.null(version)) [13:13:12.831] version <- utils::packageVersion("future") [13:13:12.831] } [13:13:12.831] else { [13:13:12.831] version <- NULL [13:13:12.831] } [13:13:12.831] if (!has_future || version < "1.8.0") { [13:13:12.831] info <- base::c(r_version = base::gsub("R version ", [13:13:12.831] "", base::R.version$version.string), [13:13:12.831] platform = base::sprintf("%s (%s-bit)", [13:13:12.831] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.831] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.831] "release", "version")], collapse = " "), [13:13:12.831] hostname = base::Sys.info()[["nodename"]]) [13:13:12.831] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.831] info) [13:13:12.831] info <- base::paste(info, collapse = "; ") [13:13:12.831] if (!has_future) { [13:13:12.831] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.831] info) [13:13:12.831] } [13:13:12.831] else { [13:13:12.831] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.831] info, version) [13:13:12.831] } [13:13:12.831] base::stop(msg) [13:13:12.831] } [13:13:12.831] }) [13:13:12.831] } [13:13:12.831] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.831] base::options(mc.cores = 1L) [13:13:12.831] } [13:13:12.831] options(future.plan = NULL) [13:13:12.831] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.831] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.831] } [13:13:12.831] ...future.workdir <- getwd() [13:13:12.831] } [13:13:12.831] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.831] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.831] } [13:13:12.831] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.831] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.831] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.831] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.831] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.831] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.831] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.831] base::names(...future.oldOptions)) [13:13:12.831] } [13:13:12.831] if (FALSE) { [13:13:12.831] } [13:13:12.831] else { [13:13:12.831] if (TRUE) { [13:13:12.831] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.831] open = "w") [13:13:12.831] } [13:13:12.831] else { [13:13:12.831] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.831] windows = "NUL", "/dev/null"), open = "w") [13:13:12.831] } [13:13:12.831] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.831] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.831] base::sink(type = "output", split = FALSE) [13:13:12.831] base::close(...future.stdout) [13:13:12.831] }, add = TRUE) [13:13:12.831] } [13:13:12.831] ...future.frame <- base::sys.nframe() [13:13:12.831] ...future.conditions <- base::list() [13:13:12.831] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.831] if (FALSE) { [13:13:12.831] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.831] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.831] } [13:13:12.831] ...future.result <- base::tryCatch({ [13:13:12.831] base::withCallingHandlers({ [13:13:12.831] ...future.value <- base::withVisible(base::local({ [13:13:12.831] ...future.makeSendCondition <- local({ [13:13:12.831] sendCondition <- NULL [13:13:12.831] function(frame = 1L) { [13:13:12.831] if (is.function(sendCondition)) [13:13:12.831] return(sendCondition) [13:13:12.831] ns <- getNamespace("parallel") [13:13:12.831] if (exists("sendData", mode = "function", [13:13:12.831] envir = ns)) { [13:13:12.831] parallel_sendData <- get("sendData", mode = "function", [13:13:12.831] envir = ns) [13:13:12.831] envir <- sys.frame(frame) [13:13:12.831] master <- NULL [13:13:12.831] while (!identical(envir, .GlobalEnv) && [13:13:12.831] !identical(envir, emptyenv())) { [13:13:12.831] if (exists("master", mode = "list", envir = envir, [13:13:12.831] inherits = FALSE)) { [13:13:12.831] master <- get("master", mode = "list", [13:13:12.831] envir = envir, inherits = FALSE) [13:13:12.831] if (inherits(master, c("SOCKnode", [13:13:12.831] "SOCK0node"))) { [13:13:12.831] sendCondition <<- function(cond) { [13:13:12.831] data <- list(type = "VALUE", value = cond, [13:13:12.831] success = TRUE) [13:13:12.831] parallel_sendData(master, data) [13:13:12.831] } [13:13:12.831] return(sendCondition) [13:13:12.831] } [13:13:12.831] } [13:13:12.831] frame <- frame + 1L [13:13:12.831] envir <- sys.frame(frame) [13:13:12.831] } [13:13:12.831] } [13:13:12.831] sendCondition <<- function(cond) NULL [13:13:12.831] } [13:13:12.831] }) [13:13:12.831] withCallingHandlers({ [13:13:12.831] { [13:13:12.831] do.call(function(...) { [13:13:12.831] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.831] if (!identical(...future.globals.maxSize.org, [13:13:12.831] ...future.globals.maxSize)) { [13:13:12.831] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.831] on.exit(options(oopts), add = TRUE) [13:13:12.831] } [13:13:12.831] { [13:13:12.831] lapply(seq_along(...future.elements_ii), [13:13:12.831] FUN = function(jj) { [13:13:12.831] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.831] ...future.FUN(...future.X_jj, ...) [13:13:12.831] }) [13:13:12.831] } [13:13:12.831] }, args = future.call.arguments) [13:13:12.831] } [13:13:12.831] }, immediateCondition = function(cond) { [13:13:12.831] sendCondition <- ...future.makeSendCondition() [13:13:12.831] sendCondition(cond) [13:13:12.831] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.831] { [13:13:12.831] inherits <- base::inherits [13:13:12.831] invokeRestart <- base::invokeRestart [13:13:12.831] is.null <- base::is.null [13:13:12.831] muffled <- FALSE [13:13:12.831] if (inherits(cond, "message")) { [13:13:12.831] muffled <- grepl(pattern, "muffleMessage") [13:13:12.831] if (muffled) [13:13:12.831] invokeRestart("muffleMessage") [13:13:12.831] } [13:13:12.831] else if (inherits(cond, "warning")) { [13:13:12.831] muffled <- grepl(pattern, "muffleWarning") [13:13:12.831] if (muffled) [13:13:12.831] invokeRestart("muffleWarning") [13:13:12.831] } [13:13:12.831] else if (inherits(cond, "condition")) { [13:13:12.831] if (!is.null(pattern)) { [13:13:12.831] computeRestarts <- base::computeRestarts [13:13:12.831] grepl <- base::grepl [13:13:12.831] restarts <- computeRestarts(cond) [13:13:12.831] for (restart in restarts) { [13:13:12.831] name <- restart$name [13:13:12.831] if (is.null(name)) [13:13:12.831] next [13:13:12.831] if (!grepl(pattern, name)) [13:13:12.831] next [13:13:12.831] invokeRestart(restart) [13:13:12.831] muffled <- TRUE [13:13:12.831] break [13:13:12.831] } [13:13:12.831] } [13:13:12.831] } [13:13:12.831] invisible(muffled) [13:13:12.831] } [13:13:12.831] muffleCondition(cond) [13:13:12.831] }) [13:13:12.831] })) [13:13:12.831] future::FutureResult(value = ...future.value$value, [13:13:12.831] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.831] ...future.rng), globalenv = if (FALSE) [13:13:12.831] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.831] ...future.globalenv.names)) [13:13:12.831] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.831] }, condition = base::local({ [13:13:12.831] c <- base::c [13:13:12.831] inherits <- base::inherits [13:13:12.831] invokeRestart <- base::invokeRestart [13:13:12.831] length <- base::length [13:13:12.831] list <- base::list [13:13:12.831] seq.int <- base::seq.int [13:13:12.831] signalCondition <- base::signalCondition [13:13:12.831] sys.calls <- base::sys.calls [13:13:12.831] `[[` <- base::`[[` [13:13:12.831] `+` <- base::`+` [13:13:12.831] `<<-` <- base::`<<-` [13:13:12.831] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.831] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.831] 3L)] [13:13:12.831] } [13:13:12.831] function(cond) { [13:13:12.831] is_error <- inherits(cond, "error") [13:13:12.831] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.831] NULL) [13:13:12.831] if (is_error) { [13:13:12.831] sessionInformation <- function() { [13:13:12.831] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.831] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.831] search = base::search(), system = base::Sys.info()) [13:13:12.831] } [13:13:12.831] ...future.conditions[[length(...future.conditions) + [13:13:12.831] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.831] cond$call), session = sessionInformation(), [13:13:12.831] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.831] signalCondition(cond) [13:13:12.831] } [13:13:12.831] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.831] "immediateCondition"))) { [13:13:12.831] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.831] ...future.conditions[[length(...future.conditions) + [13:13:12.831] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.831] if (TRUE && !signal) { [13:13:12.831] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.831] { [13:13:12.831] inherits <- base::inherits [13:13:12.831] invokeRestart <- base::invokeRestart [13:13:12.831] is.null <- base::is.null [13:13:12.831] muffled <- FALSE [13:13:12.831] if (inherits(cond, "message")) { [13:13:12.831] muffled <- grepl(pattern, "muffleMessage") [13:13:12.831] if (muffled) [13:13:12.831] invokeRestart("muffleMessage") [13:13:12.831] } [13:13:12.831] else if (inherits(cond, "warning")) { [13:13:12.831] muffled <- grepl(pattern, "muffleWarning") [13:13:12.831] if (muffled) [13:13:12.831] invokeRestart("muffleWarning") [13:13:12.831] } [13:13:12.831] else if (inherits(cond, "condition")) { [13:13:12.831] if (!is.null(pattern)) { [13:13:12.831] computeRestarts <- base::computeRestarts [13:13:12.831] grepl <- base::grepl [13:13:12.831] restarts <- computeRestarts(cond) [13:13:12.831] for (restart in restarts) { [13:13:12.831] name <- restart$name [13:13:12.831] if (is.null(name)) [13:13:12.831] next [13:13:12.831] if (!grepl(pattern, name)) [13:13:12.831] next [13:13:12.831] invokeRestart(restart) [13:13:12.831] muffled <- TRUE [13:13:12.831] break [13:13:12.831] } [13:13:12.831] } [13:13:12.831] } [13:13:12.831] invisible(muffled) [13:13:12.831] } [13:13:12.831] muffleCondition(cond, pattern = "^muffle") [13:13:12.831] } [13:13:12.831] } [13:13:12.831] else { [13:13:12.831] if (TRUE) { [13:13:12.831] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.831] { [13:13:12.831] inherits <- base::inherits [13:13:12.831] invokeRestart <- base::invokeRestart [13:13:12.831] is.null <- base::is.null [13:13:12.831] muffled <- FALSE [13:13:12.831] if (inherits(cond, "message")) { [13:13:12.831] muffled <- grepl(pattern, "muffleMessage") [13:13:12.831] if (muffled) [13:13:12.831] invokeRestart("muffleMessage") [13:13:12.831] } [13:13:12.831] else if (inherits(cond, "warning")) { [13:13:12.831] muffled <- grepl(pattern, "muffleWarning") [13:13:12.831] if (muffled) [13:13:12.831] invokeRestart("muffleWarning") [13:13:12.831] } [13:13:12.831] else if (inherits(cond, "condition")) { [13:13:12.831] if (!is.null(pattern)) { [13:13:12.831] computeRestarts <- base::computeRestarts [13:13:12.831] grepl <- base::grepl [13:13:12.831] restarts <- computeRestarts(cond) [13:13:12.831] for (restart in restarts) { [13:13:12.831] name <- restart$name [13:13:12.831] if (is.null(name)) [13:13:12.831] next [13:13:12.831] if (!grepl(pattern, name)) [13:13:12.831] next [13:13:12.831] invokeRestart(restart) [13:13:12.831] muffled <- TRUE [13:13:12.831] break [13:13:12.831] } [13:13:12.831] } [13:13:12.831] } [13:13:12.831] invisible(muffled) [13:13:12.831] } [13:13:12.831] muffleCondition(cond, pattern = "^muffle") [13:13:12.831] } [13:13:12.831] } [13:13:12.831] } [13:13:12.831] })) [13:13:12.831] }, error = function(ex) { [13:13:12.831] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.831] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.831] ...future.rng), started = ...future.startTime, [13:13:12.831] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.831] version = "1.8"), class = "FutureResult") [13:13:12.831] }, finally = { [13:13:12.831] if (!identical(...future.workdir, getwd())) [13:13:12.831] setwd(...future.workdir) [13:13:12.831] { [13:13:12.831] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.831] ...future.oldOptions$nwarnings <- NULL [13:13:12.831] } [13:13:12.831] base::options(...future.oldOptions) [13:13:12.831] if (.Platform$OS.type == "windows") { [13:13:12.831] old_names <- names(...future.oldEnvVars) [13:13:12.831] envs <- base::Sys.getenv() [13:13:12.831] names <- names(envs) [13:13:12.831] common <- intersect(names, old_names) [13:13:12.831] added <- setdiff(names, old_names) [13:13:12.831] removed <- setdiff(old_names, names) [13:13:12.831] changed <- common[...future.oldEnvVars[common] != [13:13:12.831] envs[common]] [13:13:12.831] NAMES <- toupper(changed) [13:13:12.831] args <- list() [13:13:12.831] for (kk in seq_along(NAMES)) { [13:13:12.831] name <- changed[[kk]] [13:13:12.831] NAME <- NAMES[[kk]] [13:13:12.831] if (name != NAME && is.element(NAME, old_names)) [13:13:12.831] next [13:13:12.831] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.831] } [13:13:12.831] NAMES <- toupper(added) [13:13:12.831] for (kk in seq_along(NAMES)) { [13:13:12.831] name <- added[[kk]] [13:13:12.831] NAME <- NAMES[[kk]] [13:13:12.831] if (name != NAME && is.element(NAME, old_names)) [13:13:12.831] next [13:13:12.831] args[[name]] <- "" [13:13:12.831] } [13:13:12.831] NAMES <- toupper(removed) [13:13:12.831] for (kk in seq_along(NAMES)) { [13:13:12.831] name <- removed[[kk]] [13:13:12.831] NAME <- NAMES[[kk]] [13:13:12.831] if (name != NAME && is.element(NAME, old_names)) [13:13:12.831] next [13:13:12.831] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.831] } [13:13:12.831] if (length(args) > 0) [13:13:12.831] base::do.call(base::Sys.setenv, args = args) [13:13:12.831] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.831] } [13:13:12.831] else { [13:13:12.831] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.831] } [13:13:12.831] { [13:13:12.831] if (base::length(...future.futureOptionsAdded) > [13:13:12.831] 0L) { [13:13:12.831] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.831] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.831] base::options(opts) [13:13:12.831] } [13:13:12.831] { [13:13:12.831] { [13:13:12.831] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.831] NULL [13:13:12.831] } [13:13:12.831] options(future.plan = NULL) [13:13:12.831] if (is.na(NA_character_)) [13:13:12.831] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.831] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.831] future::plan(list(function (..., workers = availableCores(), [13:13:12.831] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.831] envir = parent.frame()) [13:13:12.831] { [13:13:12.831] if (is.function(workers)) [13:13:12.831] workers <- workers() [13:13:12.831] workers <- structure(as.integer(workers), [13:13:12.831] class = class(workers)) [13:13:12.831] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.831] workers >= 1) [13:13:12.831] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.831] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.831] } [13:13:12.831] future <- MultisessionFuture(..., workers = workers, [13:13:12.831] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.831] envir = envir) [13:13:12.831] if (!future$lazy) [13:13:12.831] future <- run(future) [13:13:12.831] invisible(future) [13:13:12.831] }), .cleanup = FALSE, .init = FALSE) [13:13:12.831] } [13:13:12.831] } [13:13:12.831] } [13:13:12.831] }) [13:13:12.831] if (TRUE) { [13:13:12.831] base::sink(type = "output", split = FALSE) [13:13:12.831] if (TRUE) { [13:13:12.831] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.831] } [13:13:12.831] else { [13:13:12.831] ...future.result["stdout"] <- base::list(NULL) [13:13:12.831] } [13:13:12.831] base::close(...future.stdout) [13:13:12.831] ...future.stdout <- NULL [13:13:12.831] } [13:13:12.831] ...future.result$conditions <- ...future.conditions [13:13:12.831] ...future.result$finished <- base::Sys.time() [13:13:12.831] ...future.result [13:13:12.831] } [13:13:12.836] Exporting 5 global objects (0.99 KiB) to cluster node #1 ... [13:13:12.837] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.837] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.837] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:12.838] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:12.838] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... [13:13:12.839] Exporting '...future.elements_ii' (112 bytes) to cluster node #1 ... DONE [13:13:12.839] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.839] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.839] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.840] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.840] Exporting 5 global objects (0.99 KiB) to cluster node #1 ... DONE [13:13:12.841] MultisessionFuture started [13:13:12.841] - Launch lazy future ... done [13:13:12.841] run() for 'MultisessionFuture' ... done [13:13:12.841] Created future: [13:13:12.857] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.857] - Validating connection of MultisessionFuture [13:13:12.858] - received message: FutureResult [13:13:12.858] - Received FutureResult [13:13:12.858] - Erased future from FutureRegistry [13:13:12.858] result() for ClusterFuture ... [13:13:12.858] - result already collected: FutureResult [13:13:12.859] result() for ClusterFuture ... done [13:13:12.859] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.842] MultisessionFuture: [13:13:12.842] Label: 'future_apply-2' [13:13:12.842] Expression: [13:13:12.842] { [13:13:12.842] do.call(function(...) { [13:13:12.842] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.842] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.842] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.842] on.exit(options(oopts), add = TRUE) [13:13:12.842] } [13:13:12.842] { [13:13:12.842] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.842] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.842] ...future.FUN(...future.X_jj, ...) [13:13:12.842] }) [13:13:12.842] } [13:13:12.842] }, args = future.call.arguments) [13:13:12.842] } [13:13:12.842] Lazy evaluation: FALSE [13:13:12.842] Asynchronous evaluation: TRUE [13:13:12.842] Local evaluation: TRUE [13:13:12.842] Environment: R_GlobalEnv [13:13:12.842] Capture standard output: TRUE [13:13:12.842] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.842] Globals: 5 objects totaling 0.99 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 112 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.842] Packages: [13:13:12.842] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.842] Resolved: TRUE [13:13:12.842] Value: [13:13:12.842] Conditions captured: [13:13:12.842] Early signaling: FALSE [13:13:12.842] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.842] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.859] Chunk #2 of 2 ... DONE [13:13:12.859] Launching 2 futures (chunks) ... DONE [13:13:12.859] Resolving 2 futures (chunks) ... [13:13:12.860] resolve() on list ... [13:13:12.860] recursive: 0 [13:13:12.860] length: 2 [13:13:12.860] [13:13:12.860] Future #1 [13:13:12.860] result() for ClusterFuture ... [13:13:12.861] - result already collected: FutureResult [13:13:12.861] result() for ClusterFuture ... done [13:13:12.861] result() for ClusterFuture ... [13:13:12.861] - result already collected: FutureResult [13:13:12.861] result() for ClusterFuture ... done [13:13:12.861] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:12.862] - nx: 2 [13:13:12.862] - relay: TRUE [13:13:12.862] - stdout: TRUE [13:13:12.862] - signal: TRUE [13:13:12.862] - resignal: FALSE [13:13:12.862] - force: TRUE [13:13:12.862] - relayed: [n=2] FALSE, FALSE [13:13:12.863] - queued futures: [n=2] FALSE, FALSE [13:13:12.863] - until=1 [13:13:12.863] - relaying element #1 [13:13:12.863] result() for ClusterFuture ... [13:13:12.863] - result already collected: FutureResult [13:13:12.863] result() for ClusterFuture ... done [13:13:12.864] result() for ClusterFuture ... [13:13:12.864] - result already collected: FutureResult [13:13:12.864] result() for ClusterFuture ... done [13:13:12.864] result() for ClusterFuture ... [13:13:12.864] - result already collected: FutureResult [13:13:12.864] result() for ClusterFuture ... done [13:13:12.865] result() for ClusterFuture ... [13:13:12.865] - result already collected: FutureResult [13:13:12.865] result() for ClusterFuture ... done [13:13:12.865] - relayed: [n=2] TRUE, FALSE [13:13:12.865] - queued futures: [n=2] TRUE, FALSE [13:13:12.865] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:12.866] length: 1 (resolved future 1) [13:13:12.866] Future #2 [13:13:12.866] result() for ClusterFuture ... [13:13:12.866] - result already collected: FutureResult [13:13:12.866] result() for ClusterFuture ... done [13:13:12.866] result() for ClusterFuture ... [13:13:12.867] - result already collected: FutureResult [13:13:12.867] result() for ClusterFuture ... done [13:13:12.867] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:12.867] - nx: 2 [13:13:12.867] - relay: TRUE [13:13:12.867] - stdout: TRUE [13:13:12.867] - signal: TRUE [13:13:12.868] - resignal: FALSE [13:13:12.868] - force: TRUE [13:13:12.868] - relayed: [n=2] TRUE, FALSE [13:13:12.868] - queued futures: [n=2] TRUE, FALSE [13:13:12.868] - until=2 [13:13:12.868] - relaying element #2 [13:13:12.869] result() for ClusterFuture ... [13:13:12.869] - result already collected: FutureResult [13:13:12.869] result() for ClusterFuture ... done [13:13:12.869] result() for ClusterFuture ... [13:13:12.869] - result already collected: FutureResult [13:13:12.869] result() for ClusterFuture ... done [13:13:12.870] result() for ClusterFuture ... [13:13:12.870] - result already collected: FutureResult [13:13:12.870] result() for ClusterFuture ... done [13:13:12.870] result() for ClusterFuture ... [13:13:12.870] - result already collected: FutureResult [13:13:12.870] result() for ClusterFuture ... done [13:13:12.870] - relayed: [n=2] TRUE, TRUE [13:13:12.871] - queued futures: [n=2] TRUE, TRUE [13:13:12.871] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:12.871] length: 0 (resolved future 2) [13:13:12.871] Relaying remaining futures [13:13:12.871] signalConditionsASAP(NULL, pos=0) ... [13:13:12.871] - nx: 2 [13:13:12.872] - relay: TRUE [13:13:12.872] - stdout: TRUE [13:13:12.872] - signal: TRUE [13:13:12.872] - resignal: FALSE [13:13:12.872] - force: TRUE [13:13:12.872] - relayed: [n=2] TRUE, TRUE [13:13:12.872] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:12.873] - relayed: [n=2] TRUE, TRUE [13:13:12.873] - queued futures: [n=2] TRUE, TRUE [13:13:12.873] signalConditionsASAP(NULL, pos=0) ... done [13:13:12.873] resolve() on list ... DONE [13:13:12.874] result() for ClusterFuture ... [13:13:12.874] - result already collected: FutureResult [13:13:12.874] result() for ClusterFuture ... done [13:13:12.874] result() for ClusterFuture ... [13:13:12.874] - result already collected: FutureResult [13:13:12.874] result() for ClusterFuture ... done [13:13:12.875] result() for ClusterFuture ... [13:13:12.875] - result already collected: FutureResult [13:13:12.875] result() for ClusterFuture ... done [13:13:12.875] result() for ClusterFuture ... [13:13:12.875] - result already collected: FutureResult [13:13:12.875] result() for ClusterFuture ... done [13:13:12.875] - Number of value chunks collected: 2 [13:13:12.876] Resolving 2 futures (chunks) ... DONE [13:13:12.876] Reducing values from 2 chunks ... [13:13:12.876] - Number of values collected after concatenation: 2 [13:13:12.876] - Number of values expected: 2 [13:13:12.876] Reducing values from 2 chunks ... DONE [13:13:12.876] future_lapply() ... DONE col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 [13:13:12.877] getGlobalsAndPackagesXApply() ... [13:13:12.877] - future.globals: TRUE [13:13:12.877] getGlobalsAndPackages() ... [13:13:12.877] Searching for globals... [13:13:12.879] - globals found: [1] 'FUN' [13:13:12.879] Searching for globals ... DONE [13:13:12.879] Resolving globals: FALSE [13:13:12.879] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:12.880] The total size of the 1 globals exported for future expression ('FUN(X = structure(c(3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3,; 4, 5, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5, 3, 3, 3,; 3, 3, 3, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5), dim = c(8L, 2L, 3L), dimnames = list(; row = NULL, col = c("x1", "x2"), C = c("cop.1", "cop.2",; "cop.3"))))') 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:13:12.880] - globals: [1] 'FUN' [13:13:12.880] [13:13:12.880] getGlobalsAndPackages() ... DONE [13:13:12.881] - globals found/used: [n=1] 'FUN' [13:13:12.881] - needed namespaces: [n=0] [13:13:12.881] Finding globals ... DONE [13:13:12.881] - use_args: TRUE [13:13:12.881] - Getting '...' globals ... [13:13:12.882] resolve() on list ... [13:13:12.882] recursive: 0 [13:13:12.882] length: 1 [13:13:12.882] elements: '...' [13:13:12.882] length: 0 (resolved future 1) [13:13:12.882] resolve() on list ... DONE [13:13:12.883] - '...' content: [n=0] [13:13:12.883] List of 1 [13:13:12.883] $ ...: list() [13:13:12.883] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.883] - attr(*, "where")=List of 1 [13:13:12.883] ..$ ...: [13:13:12.883] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.883] - attr(*, "resolved")= logi TRUE [13:13:12.883] - attr(*, "total_size")= num NA [13:13:12.886] - Getting '...' globals ... DONE [13:13:12.886] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:12.886] List of 2 [13:13:12.886] $ ...future.FUN:function (x) [13:13:12.886] $ ... : list() [13:13:12.886] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.886] - attr(*, "where")=List of 2 [13:13:12.886] ..$ ...future.FUN: [13:13:12.886] ..$ ... : [13:13:12.886] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.886] - attr(*, "resolved")= logi FALSE [13:13:12.886] - attr(*, "total_size")= num 848 [13:13:12.890] Packages to be attached in all futures: [n=0] [13:13:12.890] getGlobalsAndPackagesXApply() ... DONE [13:13:12.892] future_lapply() ... [13:13:12.895] Number of chunks: 2 [13:13:12.895] getGlobalsAndPackagesXApply() ... [13:13:12.895] - future.globals: with names 'list()' [13:13:12.895] - use_args: TRUE [13:13:12.896] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:12.896] List of 2 [13:13:12.896] $ ... : list() [13:13:12.896] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:12.896] $ ...future.FUN:function (x) [13:13:12.896] - attr(*, "where")=List of 2 [13:13:12.896] ..$ ... : [13:13:12.896] ..$ ...future.FUN: [13:13:12.896] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:12.896] - attr(*, "resolved")= logi FALSE [13:13:12.896] - attr(*, "total_size")= num NA [13:13:12.900] Packages to be attached in all futures: [n=0] [13:13:12.900] getGlobalsAndPackagesXApply() ... DONE [13:13:12.900] Number of futures (= number of chunks): 2 [13:13:12.900] Launching 2 futures (chunks) ... [13:13:12.900] Chunk #1 of 2 ... [13:13:12.901] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.901] - seeds: [13:13:12.901] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.901] getGlobalsAndPackages() ... [13:13:12.901] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.902] Resolving globals: FALSE [13:13:12.902] Tweak future expression to call with '...' arguments ... [13:13:12.902] { [13:13:12.902] do.call(function(...) { [13:13:12.902] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.902] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.902] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.902] on.exit(options(oopts), add = TRUE) [13:13:12.902] } [13:13:12.902] { [13:13:12.902] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.902] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.902] ...future.FUN(...future.X_jj, ...) [13:13:12.902] }) [13:13:12.902] } [13:13:12.902] }, args = future.call.arguments) [13:13:12.902] } [13:13:12.902] Tweak future expression to call with '...' arguments ... DONE [13:13:12.903] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.903] [13:13:12.903] getGlobalsAndPackages() ... DONE [13:13:12.904] run() for 'Future' ... [13:13:12.904] - state: 'created' [13:13:12.904] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.918] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.918] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.919] - Field: 'node' [13:13:12.919] - Field: 'label' [13:13:12.919] - Field: 'local' [13:13:12.919] - Field: 'owner' [13:13:12.919] - Field: 'envir' [13:13:12.919] - Field: 'workers' [13:13:12.920] - Field: 'packages' [13:13:12.920] - Field: 'gc' [13:13:12.920] - Field: 'conditions' [13:13:12.920] - Field: 'persistent' [13:13:12.920] - Field: 'expr' [13:13:12.921] - Field: 'uuid' [13:13:12.921] - Field: 'seed' [13:13:12.921] - Field: 'version' [13:13:12.921] - Field: 'result' [13:13:12.921] - Field: 'asynchronous' [13:13:12.922] - Field: 'calls' [13:13:12.922] - Field: 'globals' [13:13:12.922] - Field: 'stdout' [13:13:12.922] - Field: 'earlySignal' [13:13:12.922] - Field: 'lazy' [13:13:12.922] - Field: 'state' [13:13:12.923] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.923] - Launch lazy future ... [13:13:12.923] Packages needed by the future expression (n = 0): [13:13:12.923] Packages needed by future strategies (n = 0): [13:13:12.924] { [13:13:12.924] { [13:13:12.924] { [13:13:12.924] ...future.startTime <- base::Sys.time() [13:13:12.924] { [13:13:12.924] { [13:13:12.924] { [13:13:12.924] { [13:13:12.924] base::local({ [13:13:12.924] has_future <- base::requireNamespace("future", [13:13:12.924] quietly = TRUE) [13:13:12.924] if (has_future) { [13:13:12.924] ns <- base::getNamespace("future") [13:13:12.924] version <- ns[[".package"]][["version"]] [13:13:12.924] if (is.null(version)) [13:13:12.924] version <- utils::packageVersion("future") [13:13:12.924] } [13:13:12.924] else { [13:13:12.924] version <- NULL [13:13:12.924] } [13:13:12.924] if (!has_future || version < "1.8.0") { [13:13:12.924] info <- base::c(r_version = base::gsub("R version ", [13:13:12.924] "", base::R.version$version.string), [13:13:12.924] platform = base::sprintf("%s (%s-bit)", [13:13:12.924] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.924] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.924] "release", "version")], collapse = " "), [13:13:12.924] hostname = base::Sys.info()[["nodename"]]) [13:13:12.924] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.924] info) [13:13:12.924] info <- base::paste(info, collapse = "; ") [13:13:12.924] if (!has_future) { [13:13:12.924] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.924] info) [13:13:12.924] } [13:13:12.924] else { [13:13:12.924] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.924] info, version) [13:13:12.924] } [13:13:12.924] base::stop(msg) [13:13:12.924] } [13:13:12.924] }) [13:13:12.924] } [13:13:12.924] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.924] base::options(mc.cores = 1L) [13:13:12.924] } [13:13:12.924] options(future.plan = NULL) [13:13:12.924] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.924] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.924] } [13:13:12.924] ...future.workdir <- getwd() [13:13:12.924] } [13:13:12.924] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.924] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.924] } [13:13:12.924] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.924] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.924] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.924] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.924] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.924] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.924] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.924] base::names(...future.oldOptions)) [13:13:12.924] } [13:13:12.924] if (FALSE) { [13:13:12.924] } [13:13:12.924] else { [13:13:12.924] if (TRUE) { [13:13:12.924] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.924] open = "w") [13:13:12.924] } [13:13:12.924] else { [13:13:12.924] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.924] windows = "NUL", "/dev/null"), open = "w") [13:13:12.924] } [13:13:12.924] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.924] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.924] base::sink(type = "output", split = FALSE) [13:13:12.924] base::close(...future.stdout) [13:13:12.924] }, add = TRUE) [13:13:12.924] } [13:13:12.924] ...future.frame <- base::sys.nframe() [13:13:12.924] ...future.conditions <- base::list() [13:13:12.924] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.924] if (FALSE) { [13:13:12.924] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.924] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.924] } [13:13:12.924] ...future.result <- base::tryCatch({ [13:13:12.924] base::withCallingHandlers({ [13:13:12.924] ...future.value <- base::withVisible(base::local({ [13:13:12.924] ...future.makeSendCondition <- local({ [13:13:12.924] sendCondition <- NULL [13:13:12.924] function(frame = 1L) { [13:13:12.924] if (is.function(sendCondition)) [13:13:12.924] return(sendCondition) [13:13:12.924] ns <- getNamespace("parallel") [13:13:12.924] if (exists("sendData", mode = "function", [13:13:12.924] envir = ns)) { [13:13:12.924] parallel_sendData <- get("sendData", mode = "function", [13:13:12.924] envir = ns) [13:13:12.924] envir <- sys.frame(frame) [13:13:12.924] master <- NULL [13:13:12.924] while (!identical(envir, .GlobalEnv) && [13:13:12.924] !identical(envir, emptyenv())) { [13:13:12.924] if (exists("master", mode = "list", envir = envir, [13:13:12.924] inherits = FALSE)) { [13:13:12.924] master <- get("master", mode = "list", [13:13:12.924] envir = envir, inherits = FALSE) [13:13:12.924] if (inherits(master, c("SOCKnode", [13:13:12.924] "SOCK0node"))) { [13:13:12.924] sendCondition <<- function(cond) { [13:13:12.924] data <- list(type = "VALUE", value = cond, [13:13:12.924] success = TRUE) [13:13:12.924] parallel_sendData(master, data) [13:13:12.924] } [13:13:12.924] return(sendCondition) [13:13:12.924] } [13:13:12.924] } [13:13:12.924] frame <- frame + 1L [13:13:12.924] envir <- sys.frame(frame) [13:13:12.924] } [13:13:12.924] } [13:13:12.924] sendCondition <<- function(cond) NULL [13:13:12.924] } [13:13:12.924] }) [13:13:12.924] withCallingHandlers({ [13:13:12.924] { [13:13:12.924] do.call(function(...) { [13:13:12.924] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.924] if (!identical(...future.globals.maxSize.org, [13:13:12.924] ...future.globals.maxSize)) { [13:13:12.924] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.924] on.exit(options(oopts), add = TRUE) [13:13:12.924] } [13:13:12.924] { [13:13:12.924] lapply(seq_along(...future.elements_ii), [13:13:12.924] FUN = function(jj) { [13:13:12.924] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.924] ...future.FUN(...future.X_jj, ...) [13:13:12.924] }) [13:13:12.924] } [13:13:12.924] }, args = future.call.arguments) [13:13:12.924] } [13:13:12.924] }, immediateCondition = function(cond) { [13:13:12.924] sendCondition <- ...future.makeSendCondition() [13:13:12.924] sendCondition(cond) [13:13:12.924] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.924] { [13:13:12.924] inherits <- base::inherits [13:13:12.924] invokeRestart <- base::invokeRestart [13:13:12.924] is.null <- base::is.null [13:13:12.924] muffled <- FALSE [13:13:12.924] if (inherits(cond, "message")) { [13:13:12.924] muffled <- grepl(pattern, "muffleMessage") [13:13:12.924] if (muffled) [13:13:12.924] invokeRestart("muffleMessage") [13:13:12.924] } [13:13:12.924] else if (inherits(cond, "warning")) { [13:13:12.924] muffled <- grepl(pattern, "muffleWarning") [13:13:12.924] if (muffled) [13:13:12.924] invokeRestart("muffleWarning") [13:13:12.924] } [13:13:12.924] else if (inherits(cond, "condition")) { [13:13:12.924] if (!is.null(pattern)) { [13:13:12.924] computeRestarts <- base::computeRestarts [13:13:12.924] grepl <- base::grepl [13:13:12.924] restarts <- computeRestarts(cond) [13:13:12.924] for (restart in restarts) { [13:13:12.924] name <- restart$name [13:13:12.924] if (is.null(name)) [13:13:12.924] next [13:13:12.924] if (!grepl(pattern, name)) [13:13:12.924] next [13:13:12.924] invokeRestart(restart) [13:13:12.924] muffled <- TRUE [13:13:12.924] break [13:13:12.924] } [13:13:12.924] } [13:13:12.924] } [13:13:12.924] invisible(muffled) [13:13:12.924] } [13:13:12.924] muffleCondition(cond) [13:13:12.924] }) [13:13:12.924] })) [13:13:12.924] future::FutureResult(value = ...future.value$value, [13:13:12.924] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.924] ...future.rng), globalenv = if (FALSE) [13:13:12.924] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.924] ...future.globalenv.names)) [13:13:12.924] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.924] }, condition = base::local({ [13:13:12.924] c <- base::c [13:13:12.924] inherits <- base::inherits [13:13:12.924] invokeRestart <- base::invokeRestart [13:13:12.924] length <- base::length [13:13:12.924] list <- base::list [13:13:12.924] seq.int <- base::seq.int [13:13:12.924] signalCondition <- base::signalCondition [13:13:12.924] sys.calls <- base::sys.calls [13:13:12.924] `[[` <- base::`[[` [13:13:12.924] `+` <- base::`+` [13:13:12.924] `<<-` <- base::`<<-` [13:13:12.924] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.924] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.924] 3L)] [13:13:12.924] } [13:13:12.924] function(cond) { [13:13:12.924] is_error <- inherits(cond, "error") [13:13:12.924] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.924] NULL) [13:13:12.924] if (is_error) { [13:13:12.924] sessionInformation <- function() { [13:13:12.924] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.924] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.924] search = base::search(), system = base::Sys.info()) [13:13:12.924] } [13:13:12.924] ...future.conditions[[length(...future.conditions) + [13:13:12.924] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.924] cond$call), session = sessionInformation(), [13:13:12.924] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.924] signalCondition(cond) [13:13:12.924] } [13:13:12.924] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.924] "immediateCondition"))) { [13:13:12.924] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.924] ...future.conditions[[length(...future.conditions) + [13:13:12.924] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.924] if (TRUE && !signal) { [13:13:12.924] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.924] { [13:13:12.924] inherits <- base::inherits [13:13:12.924] invokeRestart <- base::invokeRestart [13:13:12.924] is.null <- base::is.null [13:13:12.924] muffled <- FALSE [13:13:12.924] if (inherits(cond, "message")) { [13:13:12.924] muffled <- grepl(pattern, "muffleMessage") [13:13:12.924] if (muffled) [13:13:12.924] invokeRestart("muffleMessage") [13:13:12.924] } [13:13:12.924] else if (inherits(cond, "warning")) { [13:13:12.924] muffled <- grepl(pattern, "muffleWarning") [13:13:12.924] if (muffled) [13:13:12.924] invokeRestart("muffleWarning") [13:13:12.924] } [13:13:12.924] else if (inherits(cond, "condition")) { [13:13:12.924] if (!is.null(pattern)) { [13:13:12.924] computeRestarts <- base::computeRestarts [13:13:12.924] grepl <- base::grepl [13:13:12.924] restarts <- computeRestarts(cond) [13:13:12.924] for (restart in restarts) { [13:13:12.924] name <- restart$name [13:13:12.924] if (is.null(name)) [13:13:12.924] next [13:13:12.924] if (!grepl(pattern, name)) [13:13:12.924] next [13:13:12.924] invokeRestart(restart) [13:13:12.924] muffled <- TRUE [13:13:12.924] break [13:13:12.924] } [13:13:12.924] } [13:13:12.924] } [13:13:12.924] invisible(muffled) [13:13:12.924] } [13:13:12.924] muffleCondition(cond, pattern = "^muffle") [13:13:12.924] } [13:13:12.924] } [13:13:12.924] else { [13:13:12.924] if (TRUE) { [13:13:12.924] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.924] { [13:13:12.924] inherits <- base::inherits [13:13:12.924] invokeRestart <- base::invokeRestart [13:13:12.924] is.null <- base::is.null [13:13:12.924] muffled <- FALSE [13:13:12.924] if (inherits(cond, "message")) { [13:13:12.924] muffled <- grepl(pattern, "muffleMessage") [13:13:12.924] if (muffled) [13:13:12.924] invokeRestart("muffleMessage") [13:13:12.924] } [13:13:12.924] else if (inherits(cond, "warning")) { [13:13:12.924] muffled <- grepl(pattern, "muffleWarning") [13:13:12.924] if (muffled) [13:13:12.924] invokeRestart("muffleWarning") [13:13:12.924] } [13:13:12.924] else if (inherits(cond, "condition")) { [13:13:12.924] if (!is.null(pattern)) { [13:13:12.924] computeRestarts <- base::computeRestarts [13:13:12.924] grepl <- base::grepl [13:13:12.924] restarts <- computeRestarts(cond) [13:13:12.924] for (restart in restarts) { [13:13:12.924] name <- restart$name [13:13:12.924] if (is.null(name)) [13:13:12.924] next [13:13:12.924] if (!grepl(pattern, name)) [13:13:12.924] next [13:13:12.924] invokeRestart(restart) [13:13:12.924] muffled <- TRUE [13:13:12.924] break [13:13:12.924] } [13:13:12.924] } [13:13:12.924] } [13:13:12.924] invisible(muffled) [13:13:12.924] } [13:13:12.924] muffleCondition(cond, pattern = "^muffle") [13:13:12.924] } [13:13:12.924] } [13:13:12.924] } [13:13:12.924] })) [13:13:12.924] }, error = function(ex) { [13:13:12.924] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.924] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.924] ...future.rng), started = ...future.startTime, [13:13:12.924] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.924] version = "1.8"), class = "FutureResult") [13:13:12.924] }, finally = { [13:13:12.924] if (!identical(...future.workdir, getwd())) [13:13:12.924] setwd(...future.workdir) [13:13:12.924] { [13:13:12.924] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.924] ...future.oldOptions$nwarnings <- NULL [13:13:12.924] } [13:13:12.924] base::options(...future.oldOptions) [13:13:12.924] if (.Platform$OS.type == "windows") { [13:13:12.924] old_names <- names(...future.oldEnvVars) [13:13:12.924] envs <- base::Sys.getenv() [13:13:12.924] names <- names(envs) [13:13:12.924] common <- intersect(names, old_names) [13:13:12.924] added <- setdiff(names, old_names) [13:13:12.924] removed <- setdiff(old_names, names) [13:13:12.924] changed <- common[...future.oldEnvVars[common] != [13:13:12.924] envs[common]] [13:13:12.924] NAMES <- toupper(changed) [13:13:12.924] args <- list() [13:13:12.924] for (kk in seq_along(NAMES)) { [13:13:12.924] name <- changed[[kk]] [13:13:12.924] NAME <- NAMES[[kk]] [13:13:12.924] if (name != NAME && is.element(NAME, old_names)) [13:13:12.924] next [13:13:12.924] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.924] } [13:13:12.924] NAMES <- toupper(added) [13:13:12.924] for (kk in seq_along(NAMES)) { [13:13:12.924] name <- added[[kk]] [13:13:12.924] NAME <- NAMES[[kk]] [13:13:12.924] if (name != NAME && is.element(NAME, old_names)) [13:13:12.924] next [13:13:12.924] args[[name]] <- "" [13:13:12.924] } [13:13:12.924] NAMES <- toupper(removed) [13:13:12.924] for (kk in seq_along(NAMES)) { [13:13:12.924] name <- removed[[kk]] [13:13:12.924] NAME <- NAMES[[kk]] [13:13:12.924] if (name != NAME && is.element(NAME, old_names)) [13:13:12.924] next [13:13:12.924] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.924] } [13:13:12.924] if (length(args) > 0) [13:13:12.924] base::do.call(base::Sys.setenv, args = args) [13:13:12.924] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.924] } [13:13:12.924] else { [13:13:12.924] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.924] } [13:13:12.924] { [13:13:12.924] if (base::length(...future.futureOptionsAdded) > [13:13:12.924] 0L) { [13:13:12.924] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.924] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.924] base::options(opts) [13:13:12.924] } [13:13:12.924] { [13:13:12.924] { [13:13:12.924] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.924] NULL [13:13:12.924] } [13:13:12.924] options(future.plan = NULL) [13:13:12.924] if (is.na(NA_character_)) [13:13:12.924] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.924] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.924] future::plan(list(function (..., workers = availableCores(), [13:13:12.924] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.924] envir = parent.frame()) [13:13:12.924] { [13:13:12.924] if (is.function(workers)) [13:13:12.924] workers <- workers() [13:13:12.924] workers <- structure(as.integer(workers), [13:13:12.924] class = class(workers)) [13:13:12.924] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.924] workers >= 1) [13:13:12.924] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.924] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.924] } [13:13:12.924] future <- MultisessionFuture(..., workers = workers, [13:13:12.924] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.924] envir = envir) [13:13:12.924] if (!future$lazy) [13:13:12.924] future <- run(future) [13:13:12.924] invisible(future) [13:13:12.924] }), .cleanup = FALSE, .init = FALSE) [13:13:12.924] } [13:13:12.924] } [13:13:12.924] } [13:13:12.924] }) [13:13:12.924] if (TRUE) { [13:13:12.924] base::sink(type = "output", split = FALSE) [13:13:12.924] if (TRUE) { [13:13:12.924] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.924] } [13:13:12.924] else { [13:13:12.924] ...future.result["stdout"] <- base::list(NULL) [13:13:12.924] } [13:13:12.924] base::close(...future.stdout) [13:13:12.924] ...future.stdout <- NULL [13:13:12.924] } [13:13:12.924] ...future.result$conditions <- ...future.conditions [13:13:12.924] ...future.result$finished <- base::Sys.time() [13:13:12.924] ...future.result [13:13:12.924] } [13:13:12.930] Exporting 5 global objects (1.21 KiB) to cluster node #1 ... [13:13:12.930] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.930] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.931] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:12.931] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:12.931] Exporting '...future.elements_ii' (336 bytes) to cluster node #1 ... [13:13:12.932] Exporting '...future.elements_ii' (336 bytes) to cluster node #1 ... DONE [13:13:12.932] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.932] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.932] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.933] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.933] Exporting 5 global objects (1.21 KiB) to cluster node #1 ... DONE [13:13:12.934] MultisessionFuture started [13:13:12.934] - Launch lazy future ... done [13:13:12.934] run() for 'MultisessionFuture' ... done [13:13:12.934] Created future: [13:13:12.950] receiveMessageFromWorker() for ClusterFuture ... [13:13:12.950] - Validating connection of MultisessionFuture [13:13:12.950] - received message: FutureResult [13:13:12.951] - Received FutureResult [13:13:12.951] - Erased future from FutureRegistry [13:13:12.951] result() for ClusterFuture ... [13:13:12.951] - result already collected: FutureResult [13:13:12.951] result() for ClusterFuture ... done [13:13:12.951] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.934] MultisessionFuture: [13:13:12.934] Label: 'future_apply-1' [13:13:12.934] Expression: [13:13:12.934] { [13:13:12.934] do.call(function(...) { [13:13:12.934] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.934] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.934] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.934] on.exit(options(oopts), add = TRUE) [13:13:12.934] } [13:13:12.934] { [13:13:12.934] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.934] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.934] ...future.FUN(...future.X_jj, ...) [13:13:12.934] }) [13:13:12.934] } [13:13:12.934] }, args = future.call.arguments) [13:13:12.934] } [13:13:12.934] Lazy evaluation: FALSE [13:13:12.934] Asynchronous evaluation: TRUE [13:13:12.934] Local evaluation: TRUE [13:13:12.934] Environment: R_GlobalEnv [13:13:12.934] Capture standard output: TRUE [13:13:12.934] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.934] Globals: 5 objects totaling 1.21 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.934] Packages: [13:13:12.934] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.934] Resolved: TRUE [13:13:12.934] Value: [13:13:12.934] Conditions captured: [13:13:12.934] Early signaling: FALSE [13:13:12.934] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.934] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.952] Chunk #1 of 2 ... DONE [13:13:12.952] Chunk #2 of 2 ... [13:13:12.952] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:12.952] - seeds: [13:13:12.953] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.953] getGlobalsAndPackages() ... [13:13:12.953] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.953] Resolving globals: FALSE [13:13:12.953] Tweak future expression to call with '...' arguments ... [13:13:12.953] { [13:13:12.953] do.call(function(...) { [13:13:12.953] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.953] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.953] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.953] on.exit(options(oopts), add = TRUE) [13:13:12.953] } [13:13:12.953] { [13:13:12.953] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.953] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.953] ...future.FUN(...future.X_jj, ...) [13:13:12.953] }) [13:13:12.953] } [13:13:12.953] }, args = future.call.arguments) [13:13:12.953] } [13:13:12.954] Tweak future expression to call with '...' arguments ... DONE [13:13:12.954] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:12.955] [13:13:12.955] getGlobalsAndPackages() ... DONE [13:13:12.955] run() for 'Future' ... [13:13:12.955] - state: 'created' [13:13:12.955] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:12.970] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:12.970] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:12.970] - Field: 'node' [13:13:12.970] - Field: 'label' [13:13:12.970] - Field: 'local' [13:13:12.971] - Field: 'owner' [13:13:12.971] - Field: 'envir' [13:13:12.971] - Field: 'workers' [13:13:12.971] - Field: 'packages' [13:13:12.971] - Field: 'gc' [13:13:12.972] - Field: 'conditions' [13:13:12.972] - Field: 'persistent' [13:13:12.973] - Field: 'expr' [13:13:12.974] - Field: 'uuid' [13:13:12.974] - Field: 'seed' [13:13:12.974] - Field: 'version' [13:13:12.974] - Field: 'result' [13:13:12.974] - Field: 'asynchronous' [13:13:12.975] - Field: 'calls' [13:13:12.975] - Field: 'globals' [13:13:12.975] - Field: 'stdout' [13:13:12.975] - Field: 'earlySignal' [13:13:12.975] - Field: 'lazy' [13:13:12.975] - Field: 'state' [13:13:12.976] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:12.976] - Launch lazy future ... [13:13:12.976] Packages needed by the future expression (n = 0): [13:13:12.976] Packages needed by future strategies (n = 0): [13:13:12.977] { [13:13:12.977] { [13:13:12.977] { [13:13:12.977] ...future.startTime <- base::Sys.time() [13:13:12.977] { [13:13:12.977] { [13:13:12.977] { [13:13:12.977] { [13:13:12.977] base::local({ [13:13:12.977] has_future <- base::requireNamespace("future", [13:13:12.977] quietly = TRUE) [13:13:12.977] if (has_future) { [13:13:12.977] ns <- base::getNamespace("future") [13:13:12.977] version <- ns[[".package"]][["version"]] [13:13:12.977] if (is.null(version)) [13:13:12.977] version <- utils::packageVersion("future") [13:13:12.977] } [13:13:12.977] else { [13:13:12.977] version <- NULL [13:13:12.977] } [13:13:12.977] if (!has_future || version < "1.8.0") { [13:13:12.977] info <- base::c(r_version = base::gsub("R version ", [13:13:12.977] "", base::R.version$version.string), [13:13:12.977] platform = base::sprintf("%s (%s-bit)", [13:13:12.977] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:12.977] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:12.977] "release", "version")], collapse = " "), [13:13:12.977] hostname = base::Sys.info()[["nodename"]]) [13:13:12.977] info <- base::sprintf("%s: %s", base::names(info), [13:13:12.977] info) [13:13:12.977] info <- base::paste(info, collapse = "; ") [13:13:12.977] if (!has_future) { [13:13:12.977] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:12.977] info) [13:13:12.977] } [13:13:12.977] else { [13:13:12.977] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:12.977] info, version) [13:13:12.977] } [13:13:12.977] base::stop(msg) [13:13:12.977] } [13:13:12.977] }) [13:13:12.977] } [13:13:12.977] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:12.977] base::options(mc.cores = 1L) [13:13:12.977] } [13:13:12.977] options(future.plan = NULL) [13:13:12.977] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.977] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:12.977] } [13:13:12.977] ...future.workdir <- getwd() [13:13:12.977] } [13:13:12.977] ...future.oldOptions <- base::as.list(base::.Options) [13:13:12.977] ...future.oldEnvVars <- base::Sys.getenv() [13:13:12.977] } [13:13:12.977] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:12.977] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:12.977] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:12.977] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:12.977] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:12.977] future.stdout.windows.reencode = NULL, width = 80L) [13:13:12.977] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:12.977] base::names(...future.oldOptions)) [13:13:12.977] } [13:13:12.977] if (FALSE) { [13:13:12.977] } [13:13:12.977] else { [13:13:12.977] if (TRUE) { [13:13:12.977] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:12.977] open = "w") [13:13:12.977] } [13:13:12.977] else { [13:13:12.977] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:12.977] windows = "NUL", "/dev/null"), open = "w") [13:13:12.977] } [13:13:12.977] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:12.977] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:12.977] base::sink(type = "output", split = FALSE) [13:13:12.977] base::close(...future.stdout) [13:13:12.977] }, add = TRUE) [13:13:12.977] } [13:13:12.977] ...future.frame <- base::sys.nframe() [13:13:12.977] ...future.conditions <- base::list() [13:13:12.977] ...future.rng <- base::globalenv()$.Random.seed [13:13:12.977] if (FALSE) { [13:13:12.977] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:12.977] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:12.977] } [13:13:12.977] ...future.result <- base::tryCatch({ [13:13:12.977] base::withCallingHandlers({ [13:13:12.977] ...future.value <- base::withVisible(base::local({ [13:13:12.977] ...future.makeSendCondition <- local({ [13:13:12.977] sendCondition <- NULL [13:13:12.977] function(frame = 1L) { [13:13:12.977] if (is.function(sendCondition)) [13:13:12.977] return(sendCondition) [13:13:12.977] ns <- getNamespace("parallel") [13:13:12.977] if (exists("sendData", mode = "function", [13:13:12.977] envir = ns)) { [13:13:12.977] parallel_sendData <- get("sendData", mode = "function", [13:13:12.977] envir = ns) [13:13:12.977] envir <- sys.frame(frame) [13:13:12.977] master <- NULL [13:13:12.977] while (!identical(envir, .GlobalEnv) && [13:13:12.977] !identical(envir, emptyenv())) { [13:13:12.977] if (exists("master", mode = "list", envir = envir, [13:13:12.977] inherits = FALSE)) { [13:13:12.977] master <- get("master", mode = "list", [13:13:12.977] envir = envir, inherits = FALSE) [13:13:12.977] if (inherits(master, c("SOCKnode", [13:13:12.977] "SOCK0node"))) { [13:13:12.977] sendCondition <<- function(cond) { [13:13:12.977] data <- list(type = "VALUE", value = cond, [13:13:12.977] success = TRUE) [13:13:12.977] parallel_sendData(master, data) [13:13:12.977] } [13:13:12.977] return(sendCondition) [13:13:12.977] } [13:13:12.977] } [13:13:12.977] frame <- frame + 1L [13:13:12.977] envir <- sys.frame(frame) [13:13:12.977] } [13:13:12.977] } [13:13:12.977] sendCondition <<- function(cond) NULL [13:13:12.977] } [13:13:12.977] }) [13:13:12.977] withCallingHandlers({ [13:13:12.977] { [13:13:12.977] do.call(function(...) { [13:13:12.977] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.977] if (!identical(...future.globals.maxSize.org, [13:13:12.977] ...future.globals.maxSize)) { [13:13:12.977] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.977] on.exit(options(oopts), add = TRUE) [13:13:12.977] } [13:13:12.977] { [13:13:12.977] lapply(seq_along(...future.elements_ii), [13:13:12.977] FUN = function(jj) { [13:13:12.977] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.977] ...future.FUN(...future.X_jj, ...) [13:13:12.977] }) [13:13:12.977] } [13:13:12.977] }, args = future.call.arguments) [13:13:12.977] } [13:13:12.977] }, immediateCondition = function(cond) { [13:13:12.977] sendCondition <- ...future.makeSendCondition() [13:13:12.977] sendCondition(cond) [13:13:12.977] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.977] { [13:13:12.977] inherits <- base::inherits [13:13:12.977] invokeRestart <- base::invokeRestart [13:13:12.977] is.null <- base::is.null [13:13:12.977] muffled <- FALSE [13:13:12.977] if (inherits(cond, "message")) { [13:13:12.977] muffled <- grepl(pattern, "muffleMessage") [13:13:12.977] if (muffled) [13:13:12.977] invokeRestart("muffleMessage") [13:13:12.977] } [13:13:12.977] else if (inherits(cond, "warning")) { [13:13:12.977] muffled <- grepl(pattern, "muffleWarning") [13:13:12.977] if (muffled) [13:13:12.977] invokeRestart("muffleWarning") [13:13:12.977] } [13:13:12.977] else if (inherits(cond, "condition")) { [13:13:12.977] if (!is.null(pattern)) { [13:13:12.977] computeRestarts <- base::computeRestarts [13:13:12.977] grepl <- base::grepl [13:13:12.977] restarts <- computeRestarts(cond) [13:13:12.977] for (restart in restarts) { [13:13:12.977] name <- restart$name [13:13:12.977] if (is.null(name)) [13:13:12.977] next [13:13:12.977] if (!grepl(pattern, name)) [13:13:12.977] next [13:13:12.977] invokeRestart(restart) [13:13:12.977] muffled <- TRUE [13:13:12.977] break [13:13:12.977] } [13:13:12.977] } [13:13:12.977] } [13:13:12.977] invisible(muffled) [13:13:12.977] } [13:13:12.977] muffleCondition(cond) [13:13:12.977] }) [13:13:12.977] })) [13:13:12.977] future::FutureResult(value = ...future.value$value, [13:13:12.977] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.977] ...future.rng), globalenv = if (FALSE) [13:13:12.977] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:12.977] ...future.globalenv.names)) [13:13:12.977] else NULL, started = ...future.startTime, version = "1.8") [13:13:12.977] }, condition = base::local({ [13:13:12.977] c <- base::c [13:13:12.977] inherits <- base::inherits [13:13:12.977] invokeRestart <- base::invokeRestart [13:13:12.977] length <- base::length [13:13:12.977] list <- base::list [13:13:12.977] seq.int <- base::seq.int [13:13:12.977] signalCondition <- base::signalCondition [13:13:12.977] sys.calls <- base::sys.calls [13:13:12.977] `[[` <- base::`[[` [13:13:12.977] `+` <- base::`+` [13:13:12.977] `<<-` <- base::`<<-` [13:13:12.977] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:12.977] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:12.977] 3L)] [13:13:12.977] } [13:13:12.977] function(cond) { [13:13:12.977] is_error <- inherits(cond, "error") [13:13:12.977] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:12.977] NULL) [13:13:12.977] if (is_error) { [13:13:12.977] sessionInformation <- function() { [13:13:12.977] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:12.977] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:12.977] search = base::search(), system = base::Sys.info()) [13:13:12.977] } [13:13:12.977] ...future.conditions[[length(...future.conditions) + [13:13:12.977] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:12.977] cond$call), session = sessionInformation(), [13:13:12.977] timestamp = base::Sys.time(), signaled = 0L) [13:13:12.977] signalCondition(cond) [13:13:12.977] } [13:13:12.977] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:12.977] "immediateCondition"))) { [13:13:12.977] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:12.977] ...future.conditions[[length(...future.conditions) + [13:13:12.977] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:12.977] if (TRUE && !signal) { [13:13:12.977] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.977] { [13:13:12.977] inherits <- base::inherits [13:13:12.977] invokeRestart <- base::invokeRestart [13:13:12.977] is.null <- base::is.null [13:13:12.977] muffled <- FALSE [13:13:12.977] if (inherits(cond, "message")) { [13:13:12.977] muffled <- grepl(pattern, "muffleMessage") [13:13:12.977] if (muffled) [13:13:12.977] invokeRestart("muffleMessage") [13:13:12.977] } [13:13:12.977] else if (inherits(cond, "warning")) { [13:13:12.977] muffled <- grepl(pattern, "muffleWarning") [13:13:12.977] if (muffled) [13:13:12.977] invokeRestart("muffleWarning") [13:13:12.977] } [13:13:12.977] else if (inherits(cond, "condition")) { [13:13:12.977] if (!is.null(pattern)) { [13:13:12.977] computeRestarts <- base::computeRestarts [13:13:12.977] grepl <- base::grepl [13:13:12.977] restarts <- computeRestarts(cond) [13:13:12.977] for (restart in restarts) { [13:13:12.977] name <- restart$name [13:13:12.977] if (is.null(name)) [13:13:12.977] next [13:13:12.977] if (!grepl(pattern, name)) [13:13:12.977] next [13:13:12.977] invokeRestart(restart) [13:13:12.977] muffled <- TRUE [13:13:12.977] break [13:13:12.977] } [13:13:12.977] } [13:13:12.977] } [13:13:12.977] invisible(muffled) [13:13:12.977] } [13:13:12.977] muffleCondition(cond, pattern = "^muffle") [13:13:12.977] } [13:13:12.977] } [13:13:12.977] else { [13:13:12.977] if (TRUE) { [13:13:12.977] muffleCondition <- function (cond, pattern = "^muffle") [13:13:12.977] { [13:13:12.977] inherits <- base::inherits [13:13:12.977] invokeRestart <- base::invokeRestart [13:13:12.977] is.null <- base::is.null [13:13:12.977] muffled <- FALSE [13:13:12.977] if (inherits(cond, "message")) { [13:13:12.977] muffled <- grepl(pattern, "muffleMessage") [13:13:12.977] if (muffled) [13:13:12.977] invokeRestart("muffleMessage") [13:13:12.977] } [13:13:12.977] else if (inherits(cond, "warning")) { [13:13:12.977] muffled <- grepl(pattern, "muffleWarning") [13:13:12.977] if (muffled) [13:13:12.977] invokeRestart("muffleWarning") [13:13:12.977] } [13:13:12.977] else if (inherits(cond, "condition")) { [13:13:12.977] if (!is.null(pattern)) { [13:13:12.977] computeRestarts <- base::computeRestarts [13:13:12.977] grepl <- base::grepl [13:13:12.977] restarts <- computeRestarts(cond) [13:13:12.977] for (restart in restarts) { [13:13:12.977] name <- restart$name [13:13:12.977] if (is.null(name)) [13:13:12.977] next [13:13:12.977] if (!grepl(pattern, name)) [13:13:12.977] next [13:13:12.977] invokeRestart(restart) [13:13:12.977] muffled <- TRUE [13:13:12.977] break [13:13:12.977] } [13:13:12.977] } [13:13:12.977] } [13:13:12.977] invisible(muffled) [13:13:12.977] } [13:13:12.977] muffleCondition(cond, pattern = "^muffle") [13:13:12.977] } [13:13:12.977] } [13:13:12.977] } [13:13:12.977] })) [13:13:12.977] }, error = function(ex) { [13:13:12.977] base::structure(base::list(value = NULL, visible = NULL, [13:13:12.977] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:12.977] ...future.rng), started = ...future.startTime, [13:13:12.977] finished = Sys.time(), session_uuid = NA_character_, [13:13:12.977] version = "1.8"), class = "FutureResult") [13:13:12.977] }, finally = { [13:13:12.977] if (!identical(...future.workdir, getwd())) [13:13:12.977] setwd(...future.workdir) [13:13:12.977] { [13:13:12.977] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:12.977] ...future.oldOptions$nwarnings <- NULL [13:13:12.977] } [13:13:12.977] base::options(...future.oldOptions) [13:13:12.977] if (.Platform$OS.type == "windows") { [13:13:12.977] old_names <- names(...future.oldEnvVars) [13:13:12.977] envs <- base::Sys.getenv() [13:13:12.977] names <- names(envs) [13:13:12.977] common <- intersect(names, old_names) [13:13:12.977] added <- setdiff(names, old_names) [13:13:12.977] removed <- setdiff(old_names, names) [13:13:12.977] changed <- common[...future.oldEnvVars[common] != [13:13:12.977] envs[common]] [13:13:12.977] NAMES <- toupper(changed) [13:13:12.977] args <- list() [13:13:12.977] for (kk in seq_along(NAMES)) { [13:13:12.977] name <- changed[[kk]] [13:13:12.977] NAME <- NAMES[[kk]] [13:13:12.977] if (name != NAME && is.element(NAME, old_names)) [13:13:12.977] next [13:13:12.977] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.977] } [13:13:12.977] NAMES <- toupper(added) [13:13:12.977] for (kk in seq_along(NAMES)) { [13:13:12.977] name <- added[[kk]] [13:13:12.977] NAME <- NAMES[[kk]] [13:13:12.977] if (name != NAME && is.element(NAME, old_names)) [13:13:12.977] next [13:13:12.977] args[[name]] <- "" [13:13:12.977] } [13:13:12.977] NAMES <- toupper(removed) [13:13:12.977] for (kk in seq_along(NAMES)) { [13:13:12.977] name <- removed[[kk]] [13:13:12.977] NAME <- NAMES[[kk]] [13:13:12.977] if (name != NAME && is.element(NAME, old_names)) [13:13:12.977] next [13:13:12.977] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:12.977] } [13:13:12.977] if (length(args) > 0) [13:13:12.977] base::do.call(base::Sys.setenv, args = args) [13:13:12.977] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:12.977] } [13:13:12.977] else { [13:13:12.977] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:12.977] } [13:13:12.977] { [13:13:12.977] if (base::length(...future.futureOptionsAdded) > [13:13:12.977] 0L) { [13:13:12.977] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:12.977] base::names(opts) <- ...future.futureOptionsAdded [13:13:12.977] base::options(opts) [13:13:12.977] } [13:13:12.977] { [13:13:12.977] { [13:13:12.977] base::options(mc.cores = ...future.mc.cores.old) [13:13:12.977] NULL [13:13:12.977] } [13:13:12.977] options(future.plan = NULL) [13:13:12.977] if (is.na(NA_character_)) [13:13:12.977] Sys.unsetenv("R_FUTURE_PLAN") [13:13:12.977] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:12.977] future::plan(list(function (..., workers = availableCores(), [13:13:12.977] lazy = FALSE, rscript_libs = .libPaths(), [13:13:12.977] envir = parent.frame()) [13:13:12.977] { [13:13:12.977] if (is.function(workers)) [13:13:12.977] workers <- workers() [13:13:12.977] workers <- structure(as.integer(workers), [13:13:12.977] class = class(workers)) [13:13:12.977] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:12.977] workers >= 1) [13:13:12.977] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:12.977] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:12.977] } [13:13:12.977] future <- MultisessionFuture(..., workers = workers, [13:13:12.977] lazy = lazy, rscript_libs = rscript_libs, [13:13:12.977] envir = envir) [13:13:12.977] if (!future$lazy) [13:13:12.977] future <- run(future) [13:13:12.977] invisible(future) [13:13:12.977] }), .cleanup = FALSE, .init = FALSE) [13:13:12.977] } [13:13:12.977] } [13:13:12.977] } [13:13:12.977] }) [13:13:12.977] if (TRUE) { [13:13:12.977] base::sink(type = "output", split = FALSE) [13:13:12.977] if (TRUE) { [13:13:12.977] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:12.977] } [13:13:12.977] else { [13:13:12.977] ...future.result["stdout"] <- base::list(NULL) [13:13:12.977] } [13:13:12.977] base::close(...future.stdout) [13:13:12.977] ...future.stdout <- NULL [13:13:12.977] } [13:13:12.977] ...future.result$conditions <- ...future.conditions [13:13:12.977] ...future.result$finished <- base::Sys.time() [13:13:12.977] ...future.result [13:13:12.977] } [13:13:12.983] Exporting 5 global objects (1.21 KiB) to cluster node #1 ... [13:13:12.983] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:12.983] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:12.984] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:12.984] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:12.984] Exporting '...future.elements_ii' (336 bytes) to cluster node #1 ... [13:13:12.985] Exporting '...future.elements_ii' (336 bytes) to cluster node #1 ... DONE [13:13:12.985] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:12.985] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:12.986] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:12.986] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:12.986] Exporting 5 global objects (1.21 KiB) to cluster node #1 ... DONE [13:13:12.987] MultisessionFuture started [13:13:12.987] - Launch lazy future ... done [13:13:12.987] run() for 'MultisessionFuture' ... done [13:13:12.987] Created future: [13:13:13.002] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.002] - Validating connection of MultisessionFuture [13:13:13.003] - received message: FutureResult [13:13:13.003] - Received FutureResult [13:13:13.003] - Erased future from FutureRegistry [13:13:13.003] result() for ClusterFuture ... [13:13:13.003] - result already collected: FutureResult [13:13:13.003] result() for ClusterFuture ... done [13:13:13.004] receiveMessageFromWorker() for ClusterFuture ... done [13:13:12.987] MultisessionFuture: [13:13:12.987] Label: 'future_apply-2' [13:13:12.987] Expression: [13:13:12.987] { [13:13:12.987] do.call(function(...) { [13:13:12.987] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:12.987] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:12.987] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:12.987] on.exit(options(oopts), add = TRUE) [13:13:12.987] } [13:13:12.987] { [13:13:12.987] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:12.987] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:12.987] ...future.FUN(...future.X_jj, ...) [13:13:12.987] }) [13:13:12.987] } [13:13:12.987] }, args = future.call.arguments) [13:13:12.987] } [13:13:12.987] Lazy evaluation: FALSE [13:13:12.987] Asynchronous evaluation: TRUE [13:13:12.987] Local evaluation: TRUE [13:13:12.987] Environment: R_GlobalEnv [13:13:12.987] Capture standard output: TRUE [13:13:12.987] Capture condition classes: 'condition' (excluding 'nothing') [13:13:12.987] Globals: 5 objects totaling 1.21 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 336 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:12.987] Packages: [13:13:12.987] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:12.987] Resolved: TRUE [13:13:12.987] Value: [13:13:12.987] Conditions captured: [13:13:12.987] Early signaling: FALSE [13:13:12.987] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:12.987] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.004] Chunk #2 of 2 ... DONE [13:13:13.004] Launching 2 futures (chunks) ... DONE [13:13:13.004] Resolving 2 futures (chunks) ... [13:13:13.004] resolve() on list ... [13:13:13.005] recursive: 0 [13:13:13.005] length: 2 [13:13:13.005] [13:13:13.005] Future #1 [13:13:13.005] result() for ClusterFuture ... [13:13:13.005] - result already collected: FutureResult [13:13:13.006] result() for ClusterFuture ... done [13:13:13.006] result() for ClusterFuture ... [13:13:13.006] - result already collected: FutureResult [13:13:13.006] result() for ClusterFuture ... done [13:13:13.006] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:13.006] - nx: 2 [13:13:13.007] - relay: TRUE [13:13:13.007] - stdout: TRUE [13:13:13.007] - signal: TRUE [13:13:13.007] - resignal: FALSE [13:13:13.007] - force: TRUE [13:13:13.007] - relayed: [n=2] FALSE, FALSE [13:13:13.007] - queued futures: [n=2] FALSE, FALSE [13:13:13.008] - until=1 [13:13:13.008] - relaying element #1 [13:13:13.008] result() for ClusterFuture ... [13:13:13.008] - result already collected: FutureResult [13:13:13.008] result() for ClusterFuture ... done [13:13:13.008] result() for ClusterFuture ... [13:13:13.009] - result already collected: FutureResult [13:13:13.009] result() for ClusterFuture ... done [13:13:13.009] result() for ClusterFuture ... [13:13:13.009] - result already collected: FutureResult [13:13:13.009] result() for ClusterFuture ... done [13:13:13.009] result() for ClusterFuture ... [13:13:13.010] - result already collected: FutureResult [13:13:13.010] result() for ClusterFuture ... done [13:13:13.010] - relayed: [n=2] TRUE, FALSE [13:13:13.010] - queued futures: [n=2] TRUE, FALSE [13:13:13.010] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:13.010] length: 1 (resolved future 1) [13:13:13.011] Future #2 [13:13:13.011] result() for ClusterFuture ... [13:13:13.011] - result already collected: FutureResult [13:13:13.011] result() for ClusterFuture ... done [13:13:13.011] result() for ClusterFuture ... [13:13:13.011] - result already collected: FutureResult [13:13:13.011] result() for ClusterFuture ... done [13:13:13.012] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:13.012] - nx: 2 [13:13:13.012] - relay: TRUE [13:13:13.012] - stdout: TRUE [13:13:13.012] - signal: TRUE [13:13:13.012] - resignal: FALSE [13:13:13.013] - force: TRUE [13:13:13.013] - relayed: [n=2] TRUE, FALSE [13:13:13.013] - queued futures: [n=2] TRUE, FALSE [13:13:13.013] - until=2 [13:13:13.013] - relaying element #2 [13:13:13.013] result() for ClusterFuture ... [13:13:13.013] - result already collected: FutureResult [13:13:13.014] result() for ClusterFuture ... done [13:13:13.014] result() for ClusterFuture ... [13:13:13.014] - result already collected: FutureResult [13:13:13.014] result() for ClusterFuture ... done [13:13:13.014] result() for ClusterFuture ... [13:13:13.014] - result already collected: FutureResult [13:13:13.015] result() for ClusterFuture ... done [13:13:13.015] result() for ClusterFuture ... [13:13:13.015] - result already collected: FutureResult [13:13:13.015] result() for ClusterFuture ... done [13:13:13.015] - relayed: [n=2] TRUE, TRUE [13:13:13.015] - queued futures: [n=2] TRUE, TRUE [13:13:13.016] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:13.016] length: 0 (resolved future 2) [13:13:13.016] Relaying remaining futures [13:13:13.016] signalConditionsASAP(NULL, pos=0) ... [13:13:13.016] - nx: 2 [13:13:13.016] - relay: TRUE [13:13:13.016] - stdout: TRUE [13:13:13.017] - signal: TRUE [13:13:13.017] - resignal: FALSE [13:13:13.017] - force: TRUE [13:13:13.017] - relayed: [n=2] TRUE, TRUE [13:13:13.017] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:13.017] - relayed: [n=2] TRUE, TRUE [13:13:13.018] - queued futures: [n=2] TRUE, TRUE [13:13:13.018] signalConditionsASAP(NULL, pos=0) ... done [13:13:13.018] resolve() on list ... DONE [13:13:13.018] result() for ClusterFuture ... [13:13:13.018] - result already collected: FutureResult [13:13:13.018] result() for ClusterFuture ... done [13:13:13.019] result() for ClusterFuture ... [13:13:13.019] - result already collected: FutureResult [13:13:13.019] result() for ClusterFuture ... done [13:13:13.019] result() for ClusterFuture ... [13:13:13.019] - result already collected: FutureResult [13:13:13.019] result() for ClusterFuture ... done [13:13:13.020] result() for ClusterFuture ... [13:13:13.020] - result already collected: FutureResult [13:13:13.020] result() for ClusterFuture ... done [13:13:13.020] - Number of value chunks collected: 2 [13:13:13.020] Resolving 2 futures (chunks) ... DONE [13:13:13.020] Reducing values from 2 chunks ... [13:13:13.021] - Number of values collected after concatenation: 6 [13:13:13.021] - Number of values expected: 6 [13:13:13.021] Reducing values from 2 chunks ... DONE [13:13:13.021] future_lapply() ... DONE , , C = cop.1 col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 , , C = cop.2 col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 , , C = cop.3 col row x1 x2 [1,] 3 4 [2,] 3 3 [3,] 3 2 [4,] 3 1 [5,] 3 2 [6,] 3 3 [7,] 3 4 [8,] 3 5 [13:13:13.022] getGlobalsAndPackagesXApply() ... [13:13:13.022] - future.globals: TRUE [13:13:13.022] getGlobalsAndPackages() ... [13:13:13.022] Searching for globals... [13:13:13.024] - globals found: [3] 'FUN', 'seq_len', 'max' [13:13:13.024] Searching for globals ... DONE [13:13:13.024] Resolving globals: FALSE [13:13:13.024] The total size of the 1 globals is 1.73 KiB (1768 bytes) [13:13:13.025] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:24, dim = 2:4))') is 1.73 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (1.73 KiB of class 'function') [13:13:13.025] - globals: [1] 'FUN' [13:13:13.025] [13:13:13.025] getGlobalsAndPackages() ... DONE [13:13:13.026] - globals found/used: [n=1] 'FUN' [13:13:13.026] - needed namespaces: [n=0] [13:13:13.026] Finding globals ... DONE [13:13:13.026] - use_args: TRUE [13:13:13.026] - Getting '...' globals ... [13:13:13.027] resolve() on list ... [13:13:13.027] recursive: 0 [13:13:13.027] length: 1 [13:13:13.027] elements: '...' [13:13:13.027] length: 0 (resolved future 1) [13:13:13.028] resolve() on list ... DONE [13:13:13.028] - '...' content: [n=0] [13:13:13.028] List of 1 [13:13:13.028] $ ...: list() [13:13:13.028] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.028] - attr(*, "where")=List of 1 [13:13:13.028] ..$ ...: [13:13:13.028] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.028] - attr(*, "resolved")= logi TRUE [13:13:13.028] - attr(*, "total_size")= num NA [13:13:13.031] - Getting '...' globals ... DONE [13:13:13.031] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:13.031] List of 2 [13:13:13.031] $ ...future.FUN:function (x) [13:13:13.031] $ ... : list() [13:13:13.031] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.031] - attr(*, "where")=List of 2 [13:13:13.031] ..$ ...future.FUN: [13:13:13.031] ..$ ... : [13:13:13.031] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.031] - attr(*, "resolved")= logi FALSE [13:13:13.031] - attr(*, "total_size")= num 1768 [13:13:13.035] Packages to be attached in all futures: [n=0] [13:13:13.035] getGlobalsAndPackagesXApply() ... DONE [13:13:13.037] future_lapply() ... [13:13:13.040] Number of chunks: 2 [13:13:13.040] getGlobalsAndPackagesXApply() ... [13:13:13.040] - future.globals: with names 'list()' [13:13:13.041] - use_args: TRUE [13:13:13.041] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:13.041] List of 2 [13:13:13.041] $ ... : list() [13:13:13.041] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.041] $ ...future.FUN:function (x) [13:13:13.041] - attr(*, "where")=List of 2 [13:13:13.041] ..$ ... : [13:13:13.041] ..$ ...future.FUN: [13:13:13.041] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.041] - attr(*, "resolved")= logi FALSE [13:13:13.041] - attr(*, "total_size")= num NA [13:13:13.044] Packages to be attached in all futures: [n=0] [13:13:13.044] getGlobalsAndPackagesXApply() ... DONE [13:13:13.045] Number of futures (= number of chunks): 2 [13:13:13.045] Launching 2 futures (chunks) ... [13:13:13.045] Chunk #1 of 2 ... [13:13:13.045] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.046] - seeds: [13:13:13.046] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.046] getGlobalsAndPackages() ... [13:13:13.046] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.046] Resolving globals: FALSE [13:13:13.046] Tweak future expression to call with '...' arguments ... [13:13:13.047] { [13:13:13.047] do.call(function(...) { [13:13:13.047] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.047] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.047] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.047] on.exit(options(oopts), add = TRUE) [13:13:13.047] } [13:13:13.047] { [13:13:13.047] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.047] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.047] ...future.FUN(...future.X_jj, ...) [13:13:13.047] }) [13:13:13.047] } [13:13:13.047] }, args = future.call.arguments) [13:13:13.047] } [13:13:13.047] Tweak future expression to call with '...' arguments ... DONE [13:13:13.047] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.048] [13:13:13.048] getGlobalsAndPackages() ... DONE [13:13:13.048] run() for 'Future' ... [13:13:13.048] - state: 'created' [13:13:13.049] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.063] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.063] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.063] - Field: 'node' [13:13:13.063] - Field: 'label' [13:13:13.063] - Field: 'local' [13:13:13.064] - Field: 'owner' [13:13:13.064] - Field: 'envir' [13:13:13.064] - Field: 'workers' [13:13:13.064] - Field: 'packages' [13:13:13.064] - Field: 'gc' [13:13:13.064] - Field: 'conditions' [13:13:13.065] - Field: 'persistent' [13:13:13.065] - Field: 'expr' [13:13:13.065] - Field: 'uuid' [13:13:13.065] - Field: 'seed' [13:13:13.065] - Field: 'version' [13:13:13.066] - Field: 'result' [13:13:13.066] - Field: 'asynchronous' [13:13:13.066] - Field: 'calls' [13:13:13.066] - Field: 'globals' [13:13:13.066] - Field: 'stdout' [13:13:13.066] - Field: 'earlySignal' [13:13:13.067] - Field: 'lazy' [13:13:13.067] - Field: 'state' [13:13:13.067] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.067] - Launch lazy future ... [13:13:13.067] Packages needed by the future expression (n = 0): [13:13:13.068] Packages needed by future strategies (n = 0): [13:13:13.068] { [13:13:13.068] { [13:13:13.068] { [13:13:13.068] ...future.startTime <- base::Sys.time() [13:13:13.068] { [13:13:13.068] { [13:13:13.068] { [13:13:13.068] { [13:13:13.068] base::local({ [13:13:13.068] has_future <- base::requireNamespace("future", [13:13:13.068] quietly = TRUE) [13:13:13.068] if (has_future) { [13:13:13.068] ns <- base::getNamespace("future") [13:13:13.068] version <- ns[[".package"]][["version"]] [13:13:13.068] if (is.null(version)) [13:13:13.068] version <- utils::packageVersion("future") [13:13:13.068] } [13:13:13.068] else { [13:13:13.068] version <- NULL [13:13:13.068] } [13:13:13.068] if (!has_future || version < "1.8.0") { [13:13:13.068] info <- base::c(r_version = base::gsub("R version ", [13:13:13.068] "", base::R.version$version.string), [13:13:13.068] platform = base::sprintf("%s (%s-bit)", [13:13:13.068] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.068] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.068] "release", "version")], collapse = " "), [13:13:13.068] hostname = base::Sys.info()[["nodename"]]) [13:13:13.068] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.068] info) [13:13:13.068] info <- base::paste(info, collapse = "; ") [13:13:13.068] if (!has_future) { [13:13:13.068] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.068] info) [13:13:13.068] } [13:13:13.068] else { [13:13:13.068] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.068] info, version) [13:13:13.068] } [13:13:13.068] base::stop(msg) [13:13:13.068] } [13:13:13.068] }) [13:13:13.068] } [13:13:13.068] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.068] base::options(mc.cores = 1L) [13:13:13.068] } [13:13:13.068] options(future.plan = NULL) [13:13:13.068] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.068] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.068] } [13:13:13.068] ...future.workdir <- getwd() [13:13:13.068] } [13:13:13.068] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.068] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.068] } [13:13:13.068] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.068] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.068] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.068] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.068] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.068] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.068] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.068] base::names(...future.oldOptions)) [13:13:13.068] } [13:13:13.068] if (FALSE) { [13:13:13.068] } [13:13:13.068] else { [13:13:13.068] if (TRUE) { [13:13:13.068] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.068] open = "w") [13:13:13.068] } [13:13:13.068] else { [13:13:13.068] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.068] windows = "NUL", "/dev/null"), open = "w") [13:13:13.068] } [13:13:13.068] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.068] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.068] base::sink(type = "output", split = FALSE) [13:13:13.068] base::close(...future.stdout) [13:13:13.068] }, add = TRUE) [13:13:13.068] } [13:13:13.068] ...future.frame <- base::sys.nframe() [13:13:13.068] ...future.conditions <- base::list() [13:13:13.068] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.068] if (FALSE) { [13:13:13.068] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.068] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.068] } [13:13:13.068] ...future.result <- base::tryCatch({ [13:13:13.068] base::withCallingHandlers({ [13:13:13.068] ...future.value <- base::withVisible(base::local({ [13:13:13.068] ...future.makeSendCondition <- local({ [13:13:13.068] sendCondition <- NULL [13:13:13.068] function(frame = 1L) { [13:13:13.068] if (is.function(sendCondition)) [13:13:13.068] return(sendCondition) [13:13:13.068] ns <- getNamespace("parallel") [13:13:13.068] if (exists("sendData", mode = "function", [13:13:13.068] envir = ns)) { [13:13:13.068] parallel_sendData <- get("sendData", mode = "function", [13:13:13.068] envir = ns) [13:13:13.068] envir <- sys.frame(frame) [13:13:13.068] master <- NULL [13:13:13.068] while (!identical(envir, .GlobalEnv) && [13:13:13.068] !identical(envir, emptyenv())) { [13:13:13.068] if (exists("master", mode = "list", envir = envir, [13:13:13.068] inherits = FALSE)) { [13:13:13.068] master <- get("master", mode = "list", [13:13:13.068] envir = envir, inherits = FALSE) [13:13:13.068] if (inherits(master, c("SOCKnode", [13:13:13.068] "SOCK0node"))) { [13:13:13.068] sendCondition <<- function(cond) { [13:13:13.068] data <- list(type = "VALUE", value = cond, [13:13:13.068] success = TRUE) [13:13:13.068] parallel_sendData(master, data) [13:13:13.068] } [13:13:13.068] return(sendCondition) [13:13:13.068] } [13:13:13.068] } [13:13:13.068] frame <- frame + 1L [13:13:13.068] envir <- sys.frame(frame) [13:13:13.068] } [13:13:13.068] } [13:13:13.068] sendCondition <<- function(cond) NULL [13:13:13.068] } [13:13:13.068] }) [13:13:13.068] withCallingHandlers({ [13:13:13.068] { [13:13:13.068] do.call(function(...) { [13:13:13.068] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.068] if (!identical(...future.globals.maxSize.org, [13:13:13.068] ...future.globals.maxSize)) { [13:13:13.068] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.068] on.exit(options(oopts), add = TRUE) [13:13:13.068] } [13:13:13.068] { [13:13:13.068] lapply(seq_along(...future.elements_ii), [13:13:13.068] FUN = function(jj) { [13:13:13.068] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.068] ...future.FUN(...future.X_jj, ...) [13:13:13.068] }) [13:13:13.068] } [13:13:13.068] }, args = future.call.arguments) [13:13:13.068] } [13:13:13.068] }, immediateCondition = function(cond) { [13:13:13.068] sendCondition <- ...future.makeSendCondition() [13:13:13.068] sendCondition(cond) [13:13:13.068] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.068] { [13:13:13.068] inherits <- base::inherits [13:13:13.068] invokeRestart <- base::invokeRestart [13:13:13.068] is.null <- base::is.null [13:13:13.068] muffled <- FALSE [13:13:13.068] if (inherits(cond, "message")) { [13:13:13.068] muffled <- grepl(pattern, "muffleMessage") [13:13:13.068] if (muffled) [13:13:13.068] invokeRestart("muffleMessage") [13:13:13.068] } [13:13:13.068] else if (inherits(cond, "warning")) { [13:13:13.068] muffled <- grepl(pattern, "muffleWarning") [13:13:13.068] if (muffled) [13:13:13.068] invokeRestart("muffleWarning") [13:13:13.068] } [13:13:13.068] else if (inherits(cond, "condition")) { [13:13:13.068] if (!is.null(pattern)) { [13:13:13.068] computeRestarts <- base::computeRestarts [13:13:13.068] grepl <- base::grepl [13:13:13.068] restarts <- computeRestarts(cond) [13:13:13.068] for (restart in restarts) { [13:13:13.068] name <- restart$name [13:13:13.068] if (is.null(name)) [13:13:13.068] next [13:13:13.068] if (!grepl(pattern, name)) [13:13:13.068] next [13:13:13.068] invokeRestart(restart) [13:13:13.068] muffled <- TRUE [13:13:13.068] break [13:13:13.068] } [13:13:13.068] } [13:13:13.068] } [13:13:13.068] invisible(muffled) [13:13:13.068] } [13:13:13.068] muffleCondition(cond) [13:13:13.068] }) [13:13:13.068] })) [13:13:13.068] future::FutureResult(value = ...future.value$value, [13:13:13.068] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.068] ...future.rng), globalenv = if (FALSE) [13:13:13.068] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.068] ...future.globalenv.names)) [13:13:13.068] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.068] }, condition = base::local({ [13:13:13.068] c <- base::c [13:13:13.068] inherits <- base::inherits [13:13:13.068] invokeRestart <- base::invokeRestart [13:13:13.068] length <- base::length [13:13:13.068] list <- base::list [13:13:13.068] seq.int <- base::seq.int [13:13:13.068] signalCondition <- base::signalCondition [13:13:13.068] sys.calls <- base::sys.calls [13:13:13.068] `[[` <- base::`[[` [13:13:13.068] `+` <- base::`+` [13:13:13.068] `<<-` <- base::`<<-` [13:13:13.068] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.068] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.068] 3L)] [13:13:13.068] } [13:13:13.068] function(cond) { [13:13:13.068] is_error <- inherits(cond, "error") [13:13:13.068] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.068] NULL) [13:13:13.068] if (is_error) { [13:13:13.068] sessionInformation <- function() { [13:13:13.068] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.068] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.068] search = base::search(), system = base::Sys.info()) [13:13:13.068] } [13:13:13.068] ...future.conditions[[length(...future.conditions) + [13:13:13.068] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.068] cond$call), session = sessionInformation(), [13:13:13.068] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.068] signalCondition(cond) [13:13:13.068] } [13:13:13.068] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.068] "immediateCondition"))) { [13:13:13.068] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.068] ...future.conditions[[length(...future.conditions) + [13:13:13.068] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.068] if (TRUE && !signal) { [13:13:13.068] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.068] { [13:13:13.068] inherits <- base::inherits [13:13:13.068] invokeRestart <- base::invokeRestart [13:13:13.068] is.null <- base::is.null [13:13:13.068] muffled <- FALSE [13:13:13.068] if (inherits(cond, "message")) { [13:13:13.068] muffled <- grepl(pattern, "muffleMessage") [13:13:13.068] if (muffled) [13:13:13.068] invokeRestart("muffleMessage") [13:13:13.068] } [13:13:13.068] else if (inherits(cond, "warning")) { [13:13:13.068] muffled <- grepl(pattern, "muffleWarning") [13:13:13.068] if (muffled) [13:13:13.068] invokeRestart("muffleWarning") [13:13:13.068] } [13:13:13.068] else if (inherits(cond, "condition")) { [13:13:13.068] if (!is.null(pattern)) { [13:13:13.068] computeRestarts <- base::computeRestarts [13:13:13.068] grepl <- base::grepl [13:13:13.068] restarts <- computeRestarts(cond) [13:13:13.068] for (restart in restarts) { [13:13:13.068] name <- restart$name [13:13:13.068] if (is.null(name)) [13:13:13.068] next [13:13:13.068] if (!grepl(pattern, name)) [13:13:13.068] next [13:13:13.068] invokeRestart(restart) [13:13:13.068] muffled <- TRUE [13:13:13.068] break [13:13:13.068] } [13:13:13.068] } [13:13:13.068] } [13:13:13.068] invisible(muffled) [13:13:13.068] } [13:13:13.068] muffleCondition(cond, pattern = "^muffle") [13:13:13.068] } [13:13:13.068] } [13:13:13.068] else { [13:13:13.068] if (TRUE) { [13:13:13.068] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.068] { [13:13:13.068] inherits <- base::inherits [13:13:13.068] invokeRestart <- base::invokeRestart [13:13:13.068] is.null <- base::is.null [13:13:13.068] muffled <- FALSE [13:13:13.068] if (inherits(cond, "message")) { [13:13:13.068] muffled <- grepl(pattern, "muffleMessage") [13:13:13.068] if (muffled) [13:13:13.068] invokeRestart("muffleMessage") [13:13:13.068] } [13:13:13.068] else if (inherits(cond, "warning")) { [13:13:13.068] muffled <- grepl(pattern, "muffleWarning") [13:13:13.068] if (muffled) [13:13:13.068] invokeRestart("muffleWarning") [13:13:13.068] } [13:13:13.068] else if (inherits(cond, "condition")) { [13:13:13.068] if (!is.null(pattern)) { [13:13:13.068] computeRestarts <- base::computeRestarts [13:13:13.068] grepl <- base::grepl [13:13:13.068] restarts <- computeRestarts(cond) [13:13:13.068] for (restart in restarts) { [13:13:13.068] name <- restart$name [13:13:13.068] if (is.null(name)) [13:13:13.068] next [13:13:13.068] if (!grepl(pattern, name)) [13:13:13.068] next [13:13:13.068] invokeRestart(restart) [13:13:13.068] muffled <- TRUE [13:13:13.068] break [13:13:13.068] } [13:13:13.068] } [13:13:13.068] } [13:13:13.068] invisible(muffled) [13:13:13.068] } [13:13:13.068] muffleCondition(cond, pattern = "^muffle") [13:13:13.068] } [13:13:13.068] } [13:13:13.068] } [13:13:13.068] })) [13:13:13.068] }, error = function(ex) { [13:13:13.068] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.068] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.068] ...future.rng), started = ...future.startTime, [13:13:13.068] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.068] version = "1.8"), class = "FutureResult") [13:13:13.068] }, finally = { [13:13:13.068] if (!identical(...future.workdir, getwd())) [13:13:13.068] setwd(...future.workdir) [13:13:13.068] { [13:13:13.068] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.068] ...future.oldOptions$nwarnings <- NULL [13:13:13.068] } [13:13:13.068] base::options(...future.oldOptions) [13:13:13.068] if (.Platform$OS.type == "windows") { [13:13:13.068] old_names <- names(...future.oldEnvVars) [13:13:13.068] envs <- base::Sys.getenv() [13:13:13.068] names <- names(envs) [13:13:13.068] common <- intersect(names, old_names) [13:13:13.068] added <- setdiff(names, old_names) [13:13:13.068] removed <- setdiff(old_names, names) [13:13:13.068] changed <- common[...future.oldEnvVars[common] != [13:13:13.068] envs[common]] [13:13:13.068] NAMES <- toupper(changed) [13:13:13.068] args <- list() [13:13:13.068] for (kk in seq_along(NAMES)) { [13:13:13.068] name <- changed[[kk]] [13:13:13.068] NAME <- NAMES[[kk]] [13:13:13.068] if (name != NAME && is.element(NAME, old_names)) [13:13:13.068] next [13:13:13.068] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.068] } [13:13:13.068] NAMES <- toupper(added) [13:13:13.068] for (kk in seq_along(NAMES)) { [13:13:13.068] name <- added[[kk]] [13:13:13.068] NAME <- NAMES[[kk]] [13:13:13.068] if (name != NAME && is.element(NAME, old_names)) [13:13:13.068] next [13:13:13.068] args[[name]] <- "" [13:13:13.068] } [13:13:13.068] NAMES <- toupper(removed) [13:13:13.068] for (kk in seq_along(NAMES)) { [13:13:13.068] name <- removed[[kk]] [13:13:13.068] NAME <- NAMES[[kk]] [13:13:13.068] if (name != NAME && is.element(NAME, old_names)) [13:13:13.068] next [13:13:13.068] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.068] } [13:13:13.068] if (length(args) > 0) [13:13:13.068] base::do.call(base::Sys.setenv, args = args) [13:13:13.068] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.068] } [13:13:13.068] else { [13:13:13.068] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.068] } [13:13:13.068] { [13:13:13.068] if (base::length(...future.futureOptionsAdded) > [13:13:13.068] 0L) { [13:13:13.068] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.068] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.068] base::options(opts) [13:13:13.068] } [13:13:13.068] { [13:13:13.068] { [13:13:13.068] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.068] NULL [13:13:13.068] } [13:13:13.068] options(future.plan = NULL) [13:13:13.068] if (is.na(NA_character_)) [13:13:13.068] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.068] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.068] future::plan(list(function (..., workers = availableCores(), [13:13:13.068] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.068] envir = parent.frame()) [13:13:13.068] { [13:13:13.068] if (is.function(workers)) [13:13:13.068] workers <- workers() [13:13:13.068] workers <- structure(as.integer(workers), [13:13:13.068] class = class(workers)) [13:13:13.068] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.068] workers >= 1) [13:13:13.068] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.068] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.068] } [13:13:13.068] future <- MultisessionFuture(..., workers = workers, [13:13:13.068] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.068] envir = envir) [13:13:13.068] if (!future$lazy) [13:13:13.068] future <- run(future) [13:13:13.068] invisible(future) [13:13:13.068] }), .cleanup = FALSE, .init = FALSE) [13:13:13.068] } [13:13:13.068] } [13:13:13.068] } [13:13:13.068] }) [13:13:13.068] if (TRUE) { [13:13:13.068] base::sink(type = "output", split = FALSE) [13:13:13.068] if (TRUE) { [13:13:13.068] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.068] } [13:13:13.068] else { [13:13:13.068] ...future.result["stdout"] <- base::list(NULL) [13:13:13.068] } [13:13:13.068] base::close(...future.stdout) [13:13:13.068] ...future.stdout <- NULL [13:13:13.068] } [13:13:13.068] ...future.result$conditions <- ...future.conditions [13:13:13.068] ...future.result$finished <- base::Sys.time() [13:13:13.068] ...future.result [13:13:13.068] } [13:13:13.074] Exporting 5 global objects (1.97 KiB) to cluster node #1 ... [13:13:13.074] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.075] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.075] Exporting '...future.FUN' (1.73 KiB) to cluster node #1 ... [13:13:13.075] Exporting '...future.FUN' (1.73 KiB) to cluster node #1 ... DONE [13:13:13.075] Exporting '...future.elements_ii' (192 bytes) to cluster node #1 ... [13:13:13.076] Exporting '...future.elements_ii' (192 bytes) to cluster node #1 ... DONE [13:13:13.076] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.077] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.077] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.077] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.077] Exporting 5 global objects (1.97 KiB) to cluster node #1 ... DONE [13:13:13.078] MultisessionFuture started [13:13:13.078] - Launch lazy future ... done [13:13:13.078] run() for 'MultisessionFuture' ... done [13:13:13.079] Created future: [13:13:13.094] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.095] - Validating connection of MultisessionFuture [13:13:13.095] - received message: FutureResult [13:13:13.095] - Received FutureResult [13:13:13.095] - Erased future from FutureRegistry [13:13:13.095] result() for ClusterFuture ... [13:13:13.096] - result already collected: FutureResult [13:13:13.096] result() for ClusterFuture ... done [13:13:13.096] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.079] MultisessionFuture: [13:13:13.079] Label: 'future_apply-1' [13:13:13.079] Expression: [13:13:13.079] { [13:13:13.079] do.call(function(...) { [13:13:13.079] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.079] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.079] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.079] on.exit(options(oopts), add = TRUE) [13:13:13.079] } [13:13:13.079] { [13:13:13.079] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.079] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.079] ...future.FUN(...future.X_jj, ...) [13:13:13.079] }) [13:13:13.079] } [13:13:13.079] }, args = future.call.arguments) [13:13:13.079] } [13:13:13.079] Lazy evaluation: FALSE [13:13:13.079] Asynchronous evaluation: TRUE [13:13:13.079] Local evaluation: TRUE [13:13:13.079] Environment: R_GlobalEnv [13:13:13.079] Capture standard output: TRUE [13:13:13.079] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.079] Globals: 5 objects totaling 1.97 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 1.73 KiB, list '...future.elements_ii' of 192 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.079] Packages: [13:13:13.079] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.079] Resolved: TRUE [13:13:13.079] Value: [13:13:13.079] Conditions captured: [13:13:13.079] Early signaling: FALSE [13:13:13.079] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.079] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.096] Chunk #1 of 2 ... DONE [13:13:13.097] Chunk #2 of 2 ... [13:13:13.097] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.097] - seeds: [13:13:13.097] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.097] getGlobalsAndPackages() ... [13:13:13.097] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.098] Resolving globals: FALSE [13:13:13.098] Tweak future expression to call with '...' arguments ... [13:13:13.098] { [13:13:13.098] do.call(function(...) { [13:13:13.098] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.098] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.098] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.098] on.exit(options(oopts), add = TRUE) [13:13:13.098] } [13:13:13.098] { [13:13:13.098] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.098] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.098] ...future.FUN(...future.X_jj, ...) [13:13:13.098] }) [13:13:13.098] } [13:13:13.098] }, args = future.call.arguments) [13:13:13.098] } [13:13:13.098] Tweak future expression to call with '...' arguments ... DONE [13:13:13.099] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.099] [13:13:13.099] getGlobalsAndPackages() ... DONE [13:13:13.100] run() for 'Future' ... [13:13:13.100] - state: 'created' [13:13:13.100] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.114] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.114] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.115] - Field: 'node' [13:13:13.115] - Field: 'label' [13:13:13.115] - Field: 'local' [13:13:13.115] - Field: 'owner' [13:13:13.115] - Field: 'envir' [13:13:13.115] - Field: 'workers' [13:13:13.116] - Field: 'packages' [13:13:13.116] - Field: 'gc' [13:13:13.116] - Field: 'conditions' [13:13:13.116] - Field: 'persistent' [13:13:13.116] - Field: 'expr' [13:13:13.117] - Field: 'uuid' [13:13:13.117] - Field: 'seed' [13:13:13.117] - Field: 'version' [13:13:13.117] - Field: 'result' [13:13:13.117] - Field: 'asynchronous' [13:13:13.117] - Field: 'calls' [13:13:13.118] - Field: 'globals' [13:13:13.118] - Field: 'stdout' [13:13:13.118] - Field: 'earlySignal' [13:13:13.118] - Field: 'lazy' [13:13:13.118] - Field: 'state' [13:13:13.118] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.119] - Launch lazy future ... [13:13:13.119] Packages needed by the future expression (n = 0): [13:13:13.119] Packages needed by future strategies (n = 0): [13:13:13.120] { [13:13:13.120] { [13:13:13.120] { [13:13:13.120] ...future.startTime <- base::Sys.time() [13:13:13.120] { [13:13:13.120] { [13:13:13.120] { [13:13:13.120] { [13:13:13.120] base::local({ [13:13:13.120] has_future <- base::requireNamespace("future", [13:13:13.120] quietly = TRUE) [13:13:13.120] if (has_future) { [13:13:13.120] ns <- base::getNamespace("future") [13:13:13.120] version <- ns[[".package"]][["version"]] [13:13:13.120] if (is.null(version)) [13:13:13.120] version <- utils::packageVersion("future") [13:13:13.120] } [13:13:13.120] else { [13:13:13.120] version <- NULL [13:13:13.120] } [13:13:13.120] if (!has_future || version < "1.8.0") { [13:13:13.120] info <- base::c(r_version = base::gsub("R version ", [13:13:13.120] "", base::R.version$version.string), [13:13:13.120] platform = base::sprintf("%s (%s-bit)", [13:13:13.120] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.120] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.120] "release", "version")], collapse = " "), [13:13:13.120] hostname = base::Sys.info()[["nodename"]]) [13:13:13.120] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.120] info) [13:13:13.120] info <- base::paste(info, collapse = "; ") [13:13:13.120] if (!has_future) { [13:13:13.120] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.120] info) [13:13:13.120] } [13:13:13.120] else { [13:13:13.120] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.120] info, version) [13:13:13.120] } [13:13:13.120] base::stop(msg) [13:13:13.120] } [13:13:13.120] }) [13:13:13.120] } [13:13:13.120] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.120] base::options(mc.cores = 1L) [13:13:13.120] } [13:13:13.120] options(future.plan = NULL) [13:13:13.120] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.120] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.120] } [13:13:13.120] ...future.workdir <- getwd() [13:13:13.120] } [13:13:13.120] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.120] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.120] } [13:13:13.120] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.120] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.120] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.120] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.120] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.120] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.120] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.120] base::names(...future.oldOptions)) [13:13:13.120] } [13:13:13.120] if (FALSE) { [13:13:13.120] } [13:13:13.120] else { [13:13:13.120] if (TRUE) { [13:13:13.120] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.120] open = "w") [13:13:13.120] } [13:13:13.120] else { [13:13:13.120] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.120] windows = "NUL", "/dev/null"), open = "w") [13:13:13.120] } [13:13:13.120] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.120] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.120] base::sink(type = "output", split = FALSE) [13:13:13.120] base::close(...future.stdout) [13:13:13.120] }, add = TRUE) [13:13:13.120] } [13:13:13.120] ...future.frame <- base::sys.nframe() [13:13:13.120] ...future.conditions <- base::list() [13:13:13.120] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.120] if (FALSE) { [13:13:13.120] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.120] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.120] } [13:13:13.120] ...future.result <- base::tryCatch({ [13:13:13.120] base::withCallingHandlers({ [13:13:13.120] ...future.value <- base::withVisible(base::local({ [13:13:13.120] ...future.makeSendCondition <- local({ [13:13:13.120] sendCondition <- NULL [13:13:13.120] function(frame = 1L) { [13:13:13.120] if (is.function(sendCondition)) [13:13:13.120] return(sendCondition) [13:13:13.120] ns <- getNamespace("parallel") [13:13:13.120] if (exists("sendData", mode = "function", [13:13:13.120] envir = ns)) { [13:13:13.120] parallel_sendData <- get("sendData", mode = "function", [13:13:13.120] envir = ns) [13:13:13.120] envir <- sys.frame(frame) [13:13:13.120] master <- NULL [13:13:13.120] while (!identical(envir, .GlobalEnv) && [13:13:13.120] !identical(envir, emptyenv())) { [13:13:13.120] if (exists("master", mode = "list", envir = envir, [13:13:13.120] inherits = FALSE)) { [13:13:13.120] master <- get("master", mode = "list", [13:13:13.120] envir = envir, inherits = FALSE) [13:13:13.120] if (inherits(master, c("SOCKnode", [13:13:13.120] "SOCK0node"))) { [13:13:13.120] sendCondition <<- function(cond) { [13:13:13.120] data <- list(type = "VALUE", value = cond, [13:13:13.120] success = TRUE) [13:13:13.120] parallel_sendData(master, data) [13:13:13.120] } [13:13:13.120] return(sendCondition) [13:13:13.120] } [13:13:13.120] } [13:13:13.120] frame <- frame + 1L [13:13:13.120] envir <- sys.frame(frame) [13:13:13.120] } [13:13:13.120] } [13:13:13.120] sendCondition <<- function(cond) NULL [13:13:13.120] } [13:13:13.120] }) [13:13:13.120] withCallingHandlers({ [13:13:13.120] { [13:13:13.120] do.call(function(...) { [13:13:13.120] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.120] if (!identical(...future.globals.maxSize.org, [13:13:13.120] ...future.globals.maxSize)) { [13:13:13.120] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.120] on.exit(options(oopts), add = TRUE) [13:13:13.120] } [13:13:13.120] { [13:13:13.120] lapply(seq_along(...future.elements_ii), [13:13:13.120] FUN = function(jj) { [13:13:13.120] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.120] ...future.FUN(...future.X_jj, ...) [13:13:13.120] }) [13:13:13.120] } [13:13:13.120] }, args = future.call.arguments) [13:13:13.120] } [13:13:13.120] }, immediateCondition = function(cond) { [13:13:13.120] sendCondition <- ...future.makeSendCondition() [13:13:13.120] sendCondition(cond) [13:13:13.120] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.120] { [13:13:13.120] inherits <- base::inherits [13:13:13.120] invokeRestart <- base::invokeRestart [13:13:13.120] is.null <- base::is.null [13:13:13.120] muffled <- FALSE [13:13:13.120] if (inherits(cond, "message")) { [13:13:13.120] muffled <- grepl(pattern, "muffleMessage") [13:13:13.120] if (muffled) [13:13:13.120] invokeRestart("muffleMessage") [13:13:13.120] } [13:13:13.120] else if (inherits(cond, "warning")) { [13:13:13.120] muffled <- grepl(pattern, "muffleWarning") [13:13:13.120] if (muffled) [13:13:13.120] invokeRestart("muffleWarning") [13:13:13.120] } [13:13:13.120] else if (inherits(cond, "condition")) { [13:13:13.120] if (!is.null(pattern)) { [13:13:13.120] computeRestarts <- base::computeRestarts [13:13:13.120] grepl <- base::grepl [13:13:13.120] restarts <- computeRestarts(cond) [13:13:13.120] for (restart in restarts) { [13:13:13.120] name <- restart$name [13:13:13.120] if (is.null(name)) [13:13:13.120] next [13:13:13.120] if (!grepl(pattern, name)) [13:13:13.120] next [13:13:13.120] invokeRestart(restart) [13:13:13.120] muffled <- TRUE [13:13:13.120] break [13:13:13.120] } [13:13:13.120] } [13:13:13.120] } [13:13:13.120] invisible(muffled) [13:13:13.120] } [13:13:13.120] muffleCondition(cond) [13:13:13.120] }) [13:13:13.120] })) [13:13:13.120] future::FutureResult(value = ...future.value$value, [13:13:13.120] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.120] ...future.rng), globalenv = if (FALSE) [13:13:13.120] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.120] ...future.globalenv.names)) [13:13:13.120] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.120] }, condition = base::local({ [13:13:13.120] c <- base::c [13:13:13.120] inherits <- base::inherits [13:13:13.120] invokeRestart <- base::invokeRestart [13:13:13.120] length <- base::length [13:13:13.120] list <- base::list [13:13:13.120] seq.int <- base::seq.int [13:13:13.120] signalCondition <- base::signalCondition [13:13:13.120] sys.calls <- base::sys.calls [13:13:13.120] `[[` <- base::`[[` [13:13:13.120] `+` <- base::`+` [13:13:13.120] `<<-` <- base::`<<-` [13:13:13.120] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.120] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.120] 3L)] [13:13:13.120] } [13:13:13.120] function(cond) { [13:13:13.120] is_error <- inherits(cond, "error") [13:13:13.120] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.120] NULL) [13:13:13.120] if (is_error) { [13:13:13.120] sessionInformation <- function() { [13:13:13.120] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.120] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.120] search = base::search(), system = base::Sys.info()) [13:13:13.120] } [13:13:13.120] ...future.conditions[[length(...future.conditions) + [13:13:13.120] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.120] cond$call), session = sessionInformation(), [13:13:13.120] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.120] signalCondition(cond) [13:13:13.120] } [13:13:13.120] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.120] "immediateCondition"))) { [13:13:13.120] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.120] ...future.conditions[[length(...future.conditions) + [13:13:13.120] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.120] if (TRUE && !signal) { [13:13:13.120] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.120] { [13:13:13.120] inherits <- base::inherits [13:13:13.120] invokeRestart <- base::invokeRestart [13:13:13.120] is.null <- base::is.null [13:13:13.120] muffled <- FALSE [13:13:13.120] if (inherits(cond, "message")) { [13:13:13.120] muffled <- grepl(pattern, "muffleMessage") [13:13:13.120] if (muffled) [13:13:13.120] invokeRestart("muffleMessage") [13:13:13.120] } [13:13:13.120] else if (inherits(cond, "warning")) { [13:13:13.120] muffled <- grepl(pattern, "muffleWarning") [13:13:13.120] if (muffled) [13:13:13.120] invokeRestart("muffleWarning") [13:13:13.120] } [13:13:13.120] else if (inherits(cond, "condition")) { [13:13:13.120] if (!is.null(pattern)) { [13:13:13.120] computeRestarts <- base::computeRestarts [13:13:13.120] grepl <- base::grepl [13:13:13.120] restarts <- computeRestarts(cond) [13:13:13.120] for (restart in restarts) { [13:13:13.120] name <- restart$name [13:13:13.120] if (is.null(name)) [13:13:13.120] next [13:13:13.120] if (!grepl(pattern, name)) [13:13:13.120] next [13:13:13.120] invokeRestart(restart) [13:13:13.120] muffled <- TRUE [13:13:13.120] break [13:13:13.120] } [13:13:13.120] } [13:13:13.120] } [13:13:13.120] invisible(muffled) [13:13:13.120] } [13:13:13.120] muffleCondition(cond, pattern = "^muffle") [13:13:13.120] } [13:13:13.120] } [13:13:13.120] else { [13:13:13.120] if (TRUE) { [13:13:13.120] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.120] { [13:13:13.120] inherits <- base::inherits [13:13:13.120] invokeRestart <- base::invokeRestart [13:13:13.120] is.null <- base::is.null [13:13:13.120] muffled <- FALSE [13:13:13.120] if (inherits(cond, "message")) { [13:13:13.120] muffled <- grepl(pattern, "muffleMessage") [13:13:13.120] if (muffled) [13:13:13.120] invokeRestart("muffleMessage") [13:13:13.120] } [13:13:13.120] else if (inherits(cond, "warning")) { [13:13:13.120] muffled <- grepl(pattern, "muffleWarning") [13:13:13.120] if (muffled) [13:13:13.120] invokeRestart("muffleWarning") [13:13:13.120] } [13:13:13.120] else if (inherits(cond, "condition")) { [13:13:13.120] if (!is.null(pattern)) { [13:13:13.120] computeRestarts <- base::computeRestarts [13:13:13.120] grepl <- base::grepl [13:13:13.120] restarts <- computeRestarts(cond) [13:13:13.120] for (restart in restarts) { [13:13:13.120] name <- restart$name [13:13:13.120] if (is.null(name)) [13:13:13.120] next [13:13:13.120] if (!grepl(pattern, name)) [13:13:13.120] next [13:13:13.120] invokeRestart(restart) [13:13:13.120] muffled <- TRUE [13:13:13.120] break [13:13:13.120] } [13:13:13.120] } [13:13:13.120] } [13:13:13.120] invisible(muffled) [13:13:13.120] } [13:13:13.120] muffleCondition(cond, pattern = "^muffle") [13:13:13.120] } [13:13:13.120] } [13:13:13.120] } [13:13:13.120] })) [13:13:13.120] }, error = function(ex) { [13:13:13.120] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.120] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.120] ...future.rng), started = ...future.startTime, [13:13:13.120] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.120] version = "1.8"), class = "FutureResult") [13:13:13.120] }, finally = { [13:13:13.120] if (!identical(...future.workdir, getwd())) [13:13:13.120] setwd(...future.workdir) [13:13:13.120] { [13:13:13.120] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.120] ...future.oldOptions$nwarnings <- NULL [13:13:13.120] } [13:13:13.120] base::options(...future.oldOptions) [13:13:13.120] if (.Platform$OS.type == "windows") { [13:13:13.120] old_names <- names(...future.oldEnvVars) [13:13:13.120] envs <- base::Sys.getenv() [13:13:13.120] names <- names(envs) [13:13:13.120] common <- intersect(names, old_names) [13:13:13.120] added <- setdiff(names, old_names) [13:13:13.120] removed <- setdiff(old_names, names) [13:13:13.120] changed <- common[...future.oldEnvVars[common] != [13:13:13.120] envs[common]] [13:13:13.120] NAMES <- toupper(changed) [13:13:13.120] args <- list() [13:13:13.120] for (kk in seq_along(NAMES)) { [13:13:13.120] name <- changed[[kk]] [13:13:13.120] NAME <- NAMES[[kk]] [13:13:13.120] if (name != NAME && is.element(NAME, old_names)) [13:13:13.120] next [13:13:13.120] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.120] } [13:13:13.120] NAMES <- toupper(added) [13:13:13.120] for (kk in seq_along(NAMES)) { [13:13:13.120] name <- added[[kk]] [13:13:13.120] NAME <- NAMES[[kk]] [13:13:13.120] if (name != NAME && is.element(NAME, old_names)) [13:13:13.120] next [13:13:13.120] args[[name]] <- "" [13:13:13.120] } [13:13:13.120] NAMES <- toupper(removed) [13:13:13.120] for (kk in seq_along(NAMES)) { [13:13:13.120] name <- removed[[kk]] [13:13:13.120] NAME <- NAMES[[kk]] [13:13:13.120] if (name != NAME && is.element(NAME, old_names)) [13:13:13.120] next [13:13:13.120] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.120] } [13:13:13.120] if (length(args) > 0) [13:13:13.120] base::do.call(base::Sys.setenv, args = args) [13:13:13.120] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.120] } [13:13:13.120] else { [13:13:13.120] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.120] } [13:13:13.120] { [13:13:13.120] if (base::length(...future.futureOptionsAdded) > [13:13:13.120] 0L) { [13:13:13.120] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.120] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.120] base::options(opts) [13:13:13.120] } [13:13:13.120] { [13:13:13.120] { [13:13:13.120] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.120] NULL [13:13:13.120] } [13:13:13.120] options(future.plan = NULL) [13:13:13.120] if (is.na(NA_character_)) [13:13:13.120] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.120] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.120] future::plan(list(function (..., workers = availableCores(), [13:13:13.120] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.120] envir = parent.frame()) [13:13:13.120] { [13:13:13.120] if (is.function(workers)) [13:13:13.120] workers <- workers() [13:13:13.120] workers <- structure(as.integer(workers), [13:13:13.120] class = class(workers)) [13:13:13.120] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.120] workers >= 1) [13:13:13.120] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.120] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.120] } [13:13:13.120] future <- MultisessionFuture(..., workers = workers, [13:13:13.120] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.120] envir = envir) [13:13:13.120] if (!future$lazy) [13:13:13.120] future <- run(future) [13:13:13.120] invisible(future) [13:13:13.120] }), .cleanup = FALSE, .init = FALSE) [13:13:13.120] } [13:13:13.120] } [13:13:13.120] } [13:13:13.120] }) [13:13:13.120] if (TRUE) { [13:13:13.120] base::sink(type = "output", split = FALSE) [13:13:13.120] if (TRUE) { [13:13:13.120] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.120] } [13:13:13.120] else { [13:13:13.120] ...future.result["stdout"] <- base::list(NULL) [13:13:13.120] } [13:13:13.120] base::close(...future.stdout) [13:13:13.120] ...future.stdout <- NULL [13:13:13.120] } [13:13:13.120] ...future.result$conditions <- ...future.conditions [13:13:13.120] ...future.result$finished <- base::Sys.time() [13:13:13.120] ...future.result [13:13:13.120] } [13:13:13.125] Exporting 5 global objects (1.97 KiB) to cluster node #1 ... [13:13:13.126] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.126] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.126] Exporting '...future.FUN' (1.73 KiB) to cluster node #1 ... [13:13:13.127] Exporting '...future.FUN' (1.73 KiB) to cluster node #1 ... DONE [13:13:13.127] Exporting '...future.elements_ii' (192 bytes) to cluster node #1 ... [13:13:13.127] Exporting '...future.elements_ii' (192 bytes) to cluster node #1 ... DONE [13:13:13.128] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.128] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.128] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.129] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.129] Exporting 5 global objects (1.97 KiB) to cluster node #1 ... DONE [13:13:13.130] MultisessionFuture started [13:13:13.130] - Launch lazy future ... done [13:13:13.130] run() for 'MultisessionFuture' ... done [13:13:13.130] Created future: [13:13:13.146] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.146] - Validating connection of MultisessionFuture [13:13:13.146] - received message: FutureResult [13:13:13.146] - Received FutureResult [13:13:13.146] - Erased future from FutureRegistry [13:13:13.147] result() for ClusterFuture ... [13:13:13.147] - result already collected: FutureResult [13:13:13.147] result() for ClusterFuture ... done [13:13:13.147] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.130] MultisessionFuture: [13:13:13.130] Label: 'future_apply-2' [13:13:13.130] Expression: [13:13:13.130] { [13:13:13.130] do.call(function(...) { [13:13:13.130] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.130] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.130] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.130] on.exit(options(oopts), add = TRUE) [13:13:13.130] } [13:13:13.130] { [13:13:13.130] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.130] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.130] ...future.FUN(...future.X_jj, ...) [13:13:13.130] }) [13:13:13.130] } [13:13:13.130] }, args = future.call.arguments) [13:13:13.130] } [13:13:13.130] Lazy evaluation: FALSE [13:13:13.130] Asynchronous evaluation: TRUE [13:13:13.130] Local evaluation: TRUE [13:13:13.130] Environment: R_GlobalEnv [13:13:13.130] Capture standard output: TRUE [13:13:13.130] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.130] Globals: 5 objects totaling 1.97 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 1.73 KiB, list '...future.elements_ii' of 192 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.130] Packages: [13:13:13.130] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.130] Resolved: TRUE [13:13:13.130] Value: [13:13:13.130] Conditions captured: [13:13:13.130] Early signaling: FALSE [13:13:13.130] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.130] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.148] Chunk #2 of 2 ... DONE [13:13:13.148] Launching 2 futures (chunks) ... DONE [13:13:13.148] Resolving 2 futures (chunks) ... [13:13:13.148] resolve() on list ... [13:13:13.148] recursive: 0 [13:13:13.148] length: 2 [13:13:13.149] [13:13:13.149] Future #1 [13:13:13.149] result() for ClusterFuture ... [13:13:13.149] - result already collected: FutureResult [13:13:13.149] result() for ClusterFuture ... done [13:13:13.149] result() for ClusterFuture ... [13:13:13.149] - result already collected: FutureResult [13:13:13.150] result() for ClusterFuture ... done [13:13:13.150] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:13.150] - nx: 2 [13:13:13.150] - relay: TRUE [13:13:13.150] - stdout: TRUE [13:13:13.150] - signal: TRUE [13:13:13.151] - resignal: FALSE [13:13:13.151] - force: TRUE [13:13:13.151] - relayed: [n=2] FALSE, FALSE [13:13:13.151] - queued futures: [n=2] FALSE, FALSE [13:13:13.151] - until=1 [13:13:13.151] - relaying element #1 [13:13:13.152] result() for ClusterFuture ... [13:13:13.152] - result already collected: FutureResult [13:13:13.152] result() for ClusterFuture ... done [13:13:13.152] result() for ClusterFuture ... [13:13:13.152] - result already collected: FutureResult [13:13:13.152] result() for ClusterFuture ... done [13:13:13.153] result() for ClusterFuture ... [13:13:13.153] - result already collected: FutureResult [13:13:13.153] result() for ClusterFuture ... done [13:13:13.153] result() for ClusterFuture ... [13:13:13.153] - result already collected: FutureResult [13:13:13.153] result() for ClusterFuture ... done [13:13:13.153] - relayed: [n=2] TRUE, FALSE [13:13:13.154] - queued futures: [n=2] TRUE, FALSE [13:13:13.154] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:13.154] length: 1 (resolved future 1) [13:13:13.154] Future #2 [13:13:13.154] result() for ClusterFuture ... [13:13:13.154] - result already collected: FutureResult [13:13:13.155] result() for ClusterFuture ... done [13:13:13.155] result() for ClusterFuture ... [13:13:13.155] - result already collected: FutureResult [13:13:13.155] result() for ClusterFuture ... done [13:13:13.155] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:13.155] - nx: 2 [13:13:13.156] - relay: TRUE [13:13:13.156] - stdout: TRUE [13:13:13.156] - signal: TRUE [13:13:13.156] - resignal: FALSE [13:13:13.156] - force: TRUE [13:13:13.156] - relayed: [n=2] TRUE, FALSE [13:13:13.156] - queued futures: [n=2] TRUE, FALSE [13:13:13.157] - until=2 [13:13:13.157] - relaying element #2 [13:13:13.157] result() for ClusterFuture ... [13:13:13.157] - result already collected: FutureResult [13:13:13.157] result() for ClusterFuture ... done [13:13:13.157] result() for ClusterFuture ... [13:13:13.158] - result already collected: FutureResult [13:13:13.158] result() for ClusterFuture ... done [13:13:13.158] result() for ClusterFuture ... [13:13:13.158] - result already collected: FutureResult [13:13:13.158] result() for ClusterFuture ... done [13:13:13.158] result() for ClusterFuture ... [13:13:13.159] - result already collected: FutureResult [13:13:13.159] result() for ClusterFuture ... done [13:13:13.159] - relayed: [n=2] TRUE, TRUE [13:13:13.159] - queued futures: [n=2] TRUE, TRUE [13:13:13.159] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:13.159] length: 0 (resolved future 2) [13:13:13.160] Relaying remaining futures [13:13:13.160] signalConditionsASAP(NULL, pos=0) ... [13:13:13.160] - nx: 2 [13:13:13.160] - relay: TRUE [13:13:13.160] - stdout: TRUE [13:13:13.160] - signal: TRUE [13:13:13.160] - resignal: FALSE [13:13:13.161] - force: TRUE [13:13:13.161] - relayed: [n=2] TRUE, TRUE [13:13:13.161] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:13.161] - relayed: [n=2] TRUE, TRUE [13:13:13.161] - queued futures: [n=2] TRUE, TRUE [13:13:13.161] signalConditionsASAP(NULL, pos=0) ... done [13:13:13.162] resolve() on list ... DONE [13:13:13.162] result() for ClusterFuture ... [13:13:13.162] - result already collected: FutureResult [13:13:13.162] result() for ClusterFuture ... done [13:13:13.162] result() for ClusterFuture ... [13:13:13.162] - result already collected: FutureResult [13:13:13.163] result() for ClusterFuture ... done [13:13:13.163] result() for ClusterFuture ... [13:13:13.163] - result already collected: FutureResult [13:13:13.163] result() for ClusterFuture ... done [13:13:13.163] result() for ClusterFuture ... [13:13:13.163] - result already collected: FutureResult [13:13:13.163] result() for ClusterFuture ... done [13:13:13.164] - Number of value chunks collected: 2 [13:13:13.164] Resolving 2 futures (chunks) ... DONE [13:13:13.164] Reducing values from 2 chunks ... [13:13:13.164] - Number of values collected after concatenation: 6 [13:13:13.164] - Number of values expected: 6 [13:13:13.164] Reducing values from 2 chunks ... DONE [13:13:13.165] future_lapply() ... DONE [,1] [,2] [,3] [1,] integer,19 integer,21 integer,23 [2,] integer,20 integer,22 integer,24 - apply(X, MARGIN = , ...) ... [13:13:13.165] getGlobalsAndPackagesXApply() ... [13:13:13.165] - future.globals: TRUE [13:13:13.165] getGlobalsAndPackages() ... [13:13:13.166] Searching for globals... [13:13:13.167] - globals found: [1] 'FUN' [13:13:13.167] Searching for globals ... DONE [13:13:13.167] Resolving globals: FALSE [13:13:13.167] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:13.168] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:2, dim = 2:1, dimnames = list(rows = c("a",; "b"), NULL)))') 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:13:13.168] - globals: [1] 'FUN' [13:13:13.172] [13:13:13.172] getGlobalsAndPackages() ... DONE [13:13:13.172] - globals found/used: [n=1] 'FUN' [13:13:13.173] - needed namespaces: [n=0] [13:13:13.173] Finding globals ... DONE [13:13:13.173] - use_args: TRUE [13:13:13.173] - Getting '...' globals ... [13:13:13.173] resolve() on list ... [13:13:13.174] recursive: 0 [13:13:13.174] length: 1 [13:13:13.174] elements: '...' [13:13:13.174] length: 0 (resolved future 1) [13:13:13.174] resolve() on list ... DONE [13:13:13.174] - '...' content: [n=0] [13:13:13.175] List of 1 [13:13:13.175] $ ...: list() [13:13:13.175] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.175] - attr(*, "where")=List of 1 [13:13:13.175] ..$ ...: [13:13:13.175] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.175] - attr(*, "resolved")= logi TRUE [13:13:13.175] - attr(*, "total_size")= num NA [13:13:13.178] - Getting '...' globals ... DONE [13:13:13.178] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:13.178] List of 2 [13:13:13.178] $ ...future.FUN:function (x) [13:13:13.178] $ ... : list() [13:13:13.178] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.178] - attr(*, "where")=List of 2 [13:13:13.178] ..$ ...future.FUN: [13:13:13.178] ..$ ... : [13:13:13.178] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.178] - attr(*, "resolved")= logi FALSE [13:13:13.178] - attr(*, "total_size")= num 848 [13:13:13.181] Packages to be attached in all futures: [n=0] [13:13:13.181] getGlobalsAndPackagesXApply() ... DONE [13:13:13.184] future_lapply() ... [13:13:13.186] Number of chunks: 2 [13:13:13.187] getGlobalsAndPackagesXApply() ... [13:13:13.187] - future.globals: with names 'list()' [13:13:13.187] - use_args: TRUE [13:13:13.187] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:13.187] List of 2 [13:13:13.187] $ ... : list() [13:13:13.187] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.187] $ ...future.FUN:function (x) [13:13:13.187] - attr(*, "where")=List of 2 [13:13:13.187] ..$ ... : [13:13:13.187] ..$ ...future.FUN: [13:13:13.187] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.187] - attr(*, "resolved")= logi FALSE [13:13:13.187] - attr(*, "total_size")= num NA [13:13:13.191] Packages to be attached in all futures: [n=0] [13:13:13.191] getGlobalsAndPackagesXApply() ... DONE [13:13:13.192] Number of futures (= number of chunks): 2 [13:13:13.192] Launching 2 futures (chunks) ... [13:13:13.192] Chunk #1 of 2 ... [13:13:13.192] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.192] - seeds: [13:13:13.193] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.193] getGlobalsAndPackages() ... [13:13:13.193] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.193] Resolving globals: FALSE [13:13:13.193] Tweak future expression to call with '...' arguments ... [13:13:13.194] { [13:13:13.194] do.call(function(...) { [13:13:13.194] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.194] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.194] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.194] on.exit(options(oopts), add = TRUE) [13:13:13.194] } [13:13:13.194] { [13:13:13.194] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.194] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.194] ...future.FUN(...future.X_jj, ...) [13:13:13.194] }) [13:13:13.194] } [13:13:13.194] }, args = future.call.arguments) [13:13:13.194] } [13:13:13.194] Tweak future expression to call with '...' arguments ... DONE [13:13:13.194] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.195] [13:13:13.195] getGlobalsAndPackages() ... DONE [13:13:13.195] run() for 'Future' ... [13:13:13.195] - state: 'created' [13:13:13.196] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.210] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.211] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.211] - Field: 'node' [13:13:13.211] - Field: 'label' [13:13:13.211] - Field: 'local' [13:13:13.211] - Field: 'owner' [13:13:13.212] - Field: 'envir' [13:13:13.212] - Field: 'workers' [13:13:13.212] - Field: 'packages' [13:13:13.212] - Field: 'gc' [13:13:13.212] - Field: 'conditions' [13:13:13.213] - Field: 'persistent' [13:13:13.213] - Field: 'expr' [13:13:13.213] - Field: 'uuid' [13:13:13.213] - Field: 'seed' [13:13:13.213] - Field: 'version' [13:13:13.213] - Field: 'result' [13:13:13.214] - Field: 'asynchronous' [13:13:13.214] - Field: 'calls' [13:13:13.214] - Field: 'globals' [13:13:13.214] - Field: 'stdout' [13:13:13.214] - Field: 'earlySignal' [13:13:13.214] - Field: 'lazy' [13:13:13.215] - Field: 'state' [13:13:13.215] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.215] - Launch lazy future ... [13:13:13.215] Packages needed by the future expression (n = 0): [13:13:13.216] Packages needed by future strategies (n = 0): [13:13:13.216] { [13:13:13.216] { [13:13:13.216] { [13:13:13.216] ...future.startTime <- base::Sys.time() [13:13:13.216] { [13:13:13.216] { [13:13:13.216] { [13:13:13.216] { [13:13:13.216] base::local({ [13:13:13.216] has_future <- base::requireNamespace("future", [13:13:13.216] quietly = TRUE) [13:13:13.216] if (has_future) { [13:13:13.216] ns <- base::getNamespace("future") [13:13:13.216] version <- ns[[".package"]][["version"]] [13:13:13.216] if (is.null(version)) [13:13:13.216] version <- utils::packageVersion("future") [13:13:13.216] } [13:13:13.216] else { [13:13:13.216] version <- NULL [13:13:13.216] } [13:13:13.216] if (!has_future || version < "1.8.0") { [13:13:13.216] info <- base::c(r_version = base::gsub("R version ", [13:13:13.216] "", base::R.version$version.string), [13:13:13.216] platform = base::sprintf("%s (%s-bit)", [13:13:13.216] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.216] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.216] "release", "version")], collapse = " "), [13:13:13.216] hostname = base::Sys.info()[["nodename"]]) [13:13:13.216] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.216] info) [13:13:13.216] info <- base::paste(info, collapse = "; ") [13:13:13.216] if (!has_future) { [13:13:13.216] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.216] info) [13:13:13.216] } [13:13:13.216] else { [13:13:13.216] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.216] info, version) [13:13:13.216] } [13:13:13.216] base::stop(msg) [13:13:13.216] } [13:13:13.216] }) [13:13:13.216] } [13:13:13.216] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.216] base::options(mc.cores = 1L) [13:13:13.216] } [13:13:13.216] options(future.plan = NULL) [13:13:13.216] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.216] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.216] } [13:13:13.216] ...future.workdir <- getwd() [13:13:13.216] } [13:13:13.216] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.216] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.216] } [13:13:13.216] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.216] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.216] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.216] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.216] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.216] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.216] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.216] base::names(...future.oldOptions)) [13:13:13.216] } [13:13:13.216] if (FALSE) { [13:13:13.216] } [13:13:13.216] else { [13:13:13.216] if (TRUE) { [13:13:13.216] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.216] open = "w") [13:13:13.216] } [13:13:13.216] else { [13:13:13.216] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.216] windows = "NUL", "/dev/null"), open = "w") [13:13:13.216] } [13:13:13.216] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.216] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.216] base::sink(type = "output", split = FALSE) [13:13:13.216] base::close(...future.stdout) [13:13:13.216] }, add = TRUE) [13:13:13.216] } [13:13:13.216] ...future.frame <- base::sys.nframe() [13:13:13.216] ...future.conditions <- base::list() [13:13:13.216] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.216] if (FALSE) { [13:13:13.216] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.216] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.216] } [13:13:13.216] ...future.result <- base::tryCatch({ [13:13:13.216] base::withCallingHandlers({ [13:13:13.216] ...future.value <- base::withVisible(base::local({ [13:13:13.216] ...future.makeSendCondition <- local({ [13:13:13.216] sendCondition <- NULL [13:13:13.216] function(frame = 1L) { [13:13:13.216] if (is.function(sendCondition)) [13:13:13.216] return(sendCondition) [13:13:13.216] ns <- getNamespace("parallel") [13:13:13.216] if (exists("sendData", mode = "function", [13:13:13.216] envir = ns)) { [13:13:13.216] parallel_sendData <- get("sendData", mode = "function", [13:13:13.216] envir = ns) [13:13:13.216] envir <- sys.frame(frame) [13:13:13.216] master <- NULL [13:13:13.216] while (!identical(envir, .GlobalEnv) && [13:13:13.216] !identical(envir, emptyenv())) { [13:13:13.216] if (exists("master", mode = "list", envir = envir, [13:13:13.216] inherits = FALSE)) { [13:13:13.216] master <- get("master", mode = "list", [13:13:13.216] envir = envir, inherits = FALSE) [13:13:13.216] if (inherits(master, c("SOCKnode", [13:13:13.216] "SOCK0node"))) { [13:13:13.216] sendCondition <<- function(cond) { [13:13:13.216] data <- list(type = "VALUE", value = cond, [13:13:13.216] success = TRUE) [13:13:13.216] parallel_sendData(master, data) [13:13:13.216] } [13:13:13.216] return(sendCondition) [13:13:13.216] } [13:13:13.216] } [13:13:13.216] frame <- frame + 1L [13:13:13.216] envir <- sys.frame(frame) [13:13:13.216] } [13:13:13.216] } [13:13:13.216] sendCondition <<- function(cond) NULL [13:13:13.216] } [13:13:13.216] }) [13:13:13.216] withCallingHandlers({ [13:13:13.216] { [13:13:13.216] do.call(function(...) { [13:13:13.216] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.216] if (!identical(...future.globals.maxSize.org, [13:13:13.216] ...future.globals.maxSize)) { [13:13:13.216] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.216] on.exit(options(oopts), add = TRUE) [13:13:13.216] } [13:13:13.216] { [13:13:13.216] lapply(seq_along(...future.elements_ii), [13:13:13.216] FUN = function(jj) { [13:13:13.216] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.216] ...future.FUN(...future.X_jj, ...) [13:13:13.216] }) [13:13:13.216] } [13:13:13.216] }, args = future.call.arguments) [13:13:13.216] } [13:13:13.216] }, immediateCondition = function(cond) { [13:13:13.216] sendCondition <- ...future.makeSendCondition() [13:13:13.216] sendCondition(cond) [13:13:13.216] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.216] { [13:13:13.216] inherits <- base::inherits [13:13:13.216] invokeRestart <- base::invokeRestart [13:13:13.216] is.null <- base::is.null [13:13:13.216] muffled <- FALSE [13:13:13.216] if (inherits(cond, "message")) { [13:13:13.216] muffled <- grepl(pattern, "muffleMessage") [13:13:13.216] if (muffled) [13:13:13.216] invokeRestart("muffleMessage") [13:13:13.216] } [13:13:13.216] else if (inherits(cond, "warning")) { [13:13:13.216] muffled <- grepl(pattern, "muffleWarning") [13:13:13.216] if (muffled) [13:13:13.216] invokeRestart("muffleWarning") [13:13:13.216] } [13:13:13.216] else if (inherits(cond, "condition")) { [13:13:13.216] if (!is.null(pattern)) { [13:13:13.216] computeRestarts <- base::computeRestarts [13:13:13.216] grepl <- base::grepl [13:13:13.216] restarts <- computeRestarts(cond) [13:13:13.216] for (restart in restarts) { [13:13:13.216] name <- restart$name [13:13:13.216] if (is.null(name)) [13:13:13.216] next [13:13:13.216] if (!grepl(pattern, name)) [13:13:13.216] next [13:13:13.216] invokeRestart(restart) [13:13:13.216] muffled <- TRUE [13:13:13.216] break [13:13:13.216] } [13:13:13.216] } [13:13:13.216] } [13:13:13.216] invisible(muffled) [13:13:13.216] } [13:13:13.216] muffleCondition(cond) [13:13:13.216] }) [13:13:13.216] })) [13:13:13.216] future::FutureResult(value = ...future.value$value, [13:13:13.216] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.216] ...future.rng), globalenv = if (FALSE) [13:13:13.216] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.216] ...future.globalenv.names)) [13:13:13.216] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.216] }, condition = base::local({ [13:13:13.216] c <- base::c [13:13:13.216] inherits <- base::inherits [13:13:13.216] invokeRestart <- base::invokeRestart [13:13:13.216] length <- base::length [13:13:13.216] list <- base::list [13:13:13.216] seq.int <- base::seq.int [13:13:13.216] signalCondition <- base::signalCondition [13:13:13.216] sys.calls <- base::sys.calls [13:13:13.216] `[[` <- base::`[[` [13:13:13.216] `+` <- base::`+` [13:13:13.216] `<<-` <- base::`<<-` [13:13:13.216] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.216] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.216] 3L)] [13:13:13.216] } [13:13:13.216] function(cond) { [13:13:13.216] is_error <- inherits(cond, "error") [13:13:13.216] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.216] NULL) [13:13:13.216] if (is_error) { [13:13:13.216] sessionInformation <- function() { [13:13:13.216] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.216] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.216] search = base::search(), system = base::Sys.info()) [13:13:13.216] } [13:13:13.216] ...future.conditions[[length(...future.conditions) + [13:13:13.216] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.216] cond$call), session = sessionInformation(), [13:13:13.216] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.216] signalCondition(cond) [13:13:13.216] } [13:13:13.216] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.216] "immediateCondition"))) { [13:13:13.216] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.216] ...future.conditions[[length(...future.conditions) + [13:13:13.216] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.216] if (TRUE && !signal) { [13:13:13.216] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.216] { [13:13:13.216] inherits <- base::inherits [13:13:13.216] invokeRestart <- base::invokeRestart [13:13:13.216] is.null <- base::is.null [13:13:13.216] muffled <- FALSE [13:13:13.216] if (inherits(cond, "message")) { [13:13:13.216] muffled <- grepl(pattern, "muffleMessage") [13:13:13.216] if (muffled) [13:13:13.216] invokeRestart("muffleMessage") [13:13:13.216] } [13:13:13.216] else if (inherits(cond, "warning")) { [13:13:13.216] muffled <- grepl(pattern, "muffleWarning") [13:13:13.216] if (muffled) [13:13:13.216] invokeRestart("muffleWarning") [13:13:13.216] } [13:13:13.216] else if (inherits(cond, "condition")) { [13:13:13.216] if (!is.null(pattern)) { [13:13:13.216] computeRestarts <- base::computeRestarts [13:13:13.216] grepl <- base::grepl [13:13:13.216] restarts <- computeRestarts(cond) [13:13:13.216] for (restart in restarts) { [13:13:13.216] name <- restart$name [13:13:13.216] if (is.null(name)) [13:13:13.216] next [13:13:13.216] if (!grepl(pattern, name)) [13:13:13.216] next [13:13:13.216] invokeRestart(restart) [13:13:13.216] muffled <- TRUE [13:13:13.216] break [13:13:13.216] } [13:13:13.216] } [13:13:13.216] } [13:13:13.216] invisible(muffled) [13:13:13.216] } [13:13:13.216] muffleCondition(cond, pattern = "^muffle") [13:13:13.216] } [13:13:13.216] } [13:13:13.216] else { [13:13:13.216] if (TRUE) { [13:13:13.216] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.216] { [13:13:13.216] inherits <- base::inherits [13:13:13.216] invokeRestart <- base::invokeRestart [13:13:13.216] is.null <- base::is.null [13:13:13.216] muffled <- FALSE [13:13:13.216] if (inherits(cond, "message")) { [13:13:13.216] muffled <- grepl(pattern, "muffleMessage") [13:13:13.216] if (muffled) [13:13:13.216] invokeRestart("muffleMessage") [13:13:13.216] } [13:13:13.216] else if (inherits(cond, "warning")) { [13:13:13.216] muffled <- grepl(pattern, "muffleWarning") [13:13:13.216] if (muffled) [13:13:13.216] invokeRestart("muffleWarning") [13:13:13.216] } [13:13:13.216] else if (inherits(cond, "condition")) { [13:13:13.216] if (!is.null(pattern)) { [13:13:13.216] computeRestarts <- base::computeRestarts [13:13:13.216] grepl <- base::grepl [13:13:13.216] restarts <- computeRestarts(cond) [13:13:13.216] for (restart in restarts) { [13:13:13.216] name <- restart$name [13:13:13.216] if (is.null(name)) [13:13:13.216] next [13:13:13.216] if (!grepl(pattern, name)) [13:13:13.216] next [13:13:13.216] invokeRestart(restart) [13:13:13.216] muffled <- TRUE [13:13:13.216] break [13:13:13.216] } [13:13:13.216] } [13:13:13.216] } [13:13:13.216] invisible(muffled) [13:13:13.216] } [13:13:13.216] muffleCondition(cond, pattern = "^muffle") [13:13:13.216] } [13:13:13.216] } [13:13:13.216] } [13:13:13.216] })) [13:13:13.216] }, error = function(ex) { [13:13:13.216] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.216] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.216] ...future.rng), started = ...future.startTime, [13:13:13.216] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.216] version = "1.8"), class = "FutureResult") [13:13:13.216] }, finally = { [13:13:13.216] if (!identical(...future.workdir, getwd())) [13:13:13.216] setwd(...future.workdir) [13:13:13.216] { [13:13:13.216] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.216] ...future.oldOptions$nwarnings <- NULL [13:13:13.216] } [13:13:13.216] base::options(...future.oldOptions) [13:13:13.216] if (.Platform$OS.type == "windows") { [13:13:13.216] old_names <- names(...future.oldEnvVars) [13:13:13.216] envs <- base::Sys.getenv() [13:13:13.216] names <- names(envs) [13:13:13.216] common <- intersect(names, old_names) [13:13:13.216] added <- setdiff(names, old_names) [13:13:13.216] removed <- setdiff(old_names, names) [13:13:13.216] changed <- common[...future.oldEnvVars[common] != [13:13:13.216] envs[common]] [13:13:13.216] NAMES <- toupper(changed) [13:13:13.216] args <- list() [13:13:13.216] for (kk in seq_along(NAMES)) { [13:13:13.216] name <- changed[[kk]] [13:13:13.216] NAME <- NAMES[[kk]] [13:13:13.216] if (name != NAME && is.element(NAME, old_names)) [13:13:13.216] next [13:13:13.216] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.216] } [13:13:13.216] NAMES <- toupper(added) [13:13:13.216] for (kk in seq_along(NAMES)) { [13:13:13.216] name <- added[[kk]] [13:13:13.216] NAME <- NAMES[[kk]] [13:13:13.216] if (name != NAME && is.element(NAME, old_names)) [13:13:13.216] next [13:13:13.216] args[[name]] <- "" [13:13:13.216] } [13:13:13.216] NAMES <- toupper(removed) [13:13:13.216] for (kk in seq_along(NAMES)) { [13:13:13.216] name <- removed[[kk]] [13:13:13.216] NAME <- NAMES[[kk]] [13:13:13.216] if (name != NAME && is.element(NAME, old_names)) [13:13:13.216] next [13:13:13.216] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.216] } [13:13:13.216] if (length(args) > 0) [13:13:13.216] base::do.call(base::Sys.setenv, args = args) [13:13:13.216] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.216] } [13:13:13.216] else { [13:13:13.216] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.216] } [13:13:13.216] { [13:13:13.216] if (base::length(...future.futureOptionsAdded) > [13:13:13.216] 0L) { [13:13:13.216] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.216] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.216] base::options(opts) [13:13:13.216] } [13:13:13.216] { [13:13:13.216] { [13:13:13.216] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.216] NULL [13:13:13.216] } [13:13:13.216] options(future.plan = NULL) [13:13:13.216] if (is.na(NA_character_)) [13:13:13.216] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.216] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.216] future::plan(list(function (..., workers = availableCores(), [13:13:13.216] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.216] envir = parent.frame()) [13:13:13.216] { [13:13:13.216] if (is.function(workers)) [13:13:13.216] workers <- workers() [13:13:13.216] workers <- structure(as.integer(workers), [13:13:13.216] class = class(workers)) [13:13:13.216] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.216] workers >= 1) [13:13:13.216] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.216] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.216] } [13:13:13.216] future <- MultisessionFuture(..., workers = workers, [13:13:13.216] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.216] envir = envir) [13:13:13.216] if (!future$lazy) [13:13:13.216] future <- run(future) [13:13:13.216] invisible(future) [13:13:13.216] }), .cleanup = FALSE, .init = FALSE) [13:13:13.216] } [13:13:13.216] } [13:13:13.216] } [13:13:13.216] }) [13:13:13.216] if (TRUE) { [13:13:13.216] base::sink(type = "output", split = FALSE) [13:13:13.216] if (TRUE) { [13:13:13.216] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.216] } [13:13:13.216] else { [13:13:13.216] ...future.result["stdout"] <- base::list(NULL) [13:13:13.216] } [13:13:13.216] base::close(...future.stdout) [13:13:13.216] ...future.stdout <- NULL [13:13:13.216] } [13:13:13.216] ...future.result$conditions <- ...future.conditions [13:13:13.216] ...future.result$finished <- base::Sys.time() [13:13:13.216] ...future.result [13:13:13.216] } [13:13:13.222] Exporting 5 global objects (960 bytes) to cluster node #1 ... [13:13:13.222] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.223] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.223] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:13.223] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:13.224] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:13:13.224] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:13:13.224] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.225] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.225] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.225] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.225] Exporting 5 global objects (960 bytes) to cluster node #1 ... DONE [13:13:13.226] MultisessionFuture started [13:13:13.226] - Launch lazy future ... done [13:13:13.227] run() for 'MultisessionFuture' ... done [13:13:13.227] Created future: [13:13:13.242] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.243] - Validating connection of MultisessionFuture [13:13:13.243] - received message: FutureResult [13:13:13.243] - Received FutureResult [13:13:13.243] - Erased future from FutureRegistry [13:13:13.243] result() for ClusterFuture ... [13:13:13.244] - result already collected: FutureResult [13:13:13.244] result() for ClusterFuture ... done [13:13:13.244] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.227] MultisessionFuture: [13:13:13.227] Label: 'future_apply-1' [13:13:13.227] Expression: [13:13:13.227] { [13:13:13.227] do.call(function(...) { [13:13:13.227] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.227] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.227] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.227] on.exit(options(oopts), add = TRUE) [13:13:13.227] } [13:13:13.227] { [13:13:13.227] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.227] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.227] ...future.FUN(...future.X_jj, ...) [13:13:13.227] }) [13:13:13.227] } [13:13:13.227] }, args = future.call.arguments) [13:13:13.227] } [13:13:13.227] Lazy evaluation: FALSE [13:13:13.227] Asynchronous evaluation: TRUE [13:13:13.227] Local evaluation: TRUE [13:13:13.227] Environment: R_GlobalEnv [13:13:13.227] Capture standard output: TRUE [13:13:13.227] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.227] Globals: 5 objects totaling 960 bytes (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.227] Packages: [13:13:13.227] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.227] Resolved: TRUE [13:13:13.227] Value: [13:13:13.227] Conditions captured: [13:13:13.227] Early signaling: FALSE [13:13:13.227] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.227] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.244] Chunk #1 of 2 ... DONE [13:13:13.245] Chunk #2 of 2 ... [13:13:13.245] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.245] - seeds: [13:13:13.245] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.245] getGlobalsAndPackages() ... [13:13:13.245] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.246] Resolving globals: FALSE [13:13:13.246] Tweak future expression to call with '...' arguments ... [13:13:13.246] { [13:13:13.246] do.call(function(...) { [13:13:13.246] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.246] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.246] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.246] on.exit(options(oopts), add = TRUE) [13:13:13.246] } [13:13:13.246] { [13:13:13.246] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.246] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.246] ...future.FUN(...future.X_jj, ...) [13:13:13.246] }) [13:13:13.246] } [13:13:13.246] }, args = future.call.arguments) [13:13:13.246] } [13:13:13.246] Tweak future expression to call with '...' arguments ... DONE [13:13:13.247] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.247] [13:13:13.247] getGlobalsAndPackages() ... DONE [13:13:13.248] run() for 'Future' ... [13:13:13.248] - state: 'created' [13:13:13.248] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.263] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.263] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.263] - Field: 'node' [13:13:13.263] - Field: 'label' [13:13:13.263] - Field: 'local' [13:13:13.264] - Field: 'owner' [13:13:13.264] - Field: 'envir' [13:13:13.264] - Field: 'workers' [13:13:13.264] - Field: 'packages' [13:13:13.264] - Field: 'gc' [13:13:13.264] - Field: 'conditions' [13:13:13.265] - Field: 'persistent' [13:13:13.265] - Field: 'expr' [13:13:13.265] - Field: 'uuid' [13:13:13.265] - Field: 'seed' [13:13:13.265] - Field: 'version' [13:13:13.266] - Field: 'result' [13:13:13.266] - Field: 'asynchronous' [13:13:13.266] - Field: 'calls' [13:13:13.266] - Field: 'globals' [13:13:13.266] - Field: 'stdout' [13:13:13.266] - Field: 'earlySignal' [13:13:13.267] - Field: 'lazy' [13:13:13.267] - Field: 'state' [13:13:13.267] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.267] - Launch lazy future ... [13:13:13.267] Packages needed by the future expression (n = 0): [13:13:13.268] Packages needed by future strategies (n = 0): [13:13:13.268] { [13:13:13.268] { [13:13:13.268] { [13:13:13.268] ...future.startTime <- base::Sys.time() [13:13:13.268] { [13:13:13.268] { [13:13:13.268] { [13:13:13.268] { [13:13:13.268] base::local({ [13:13:13.268] has_future <- base::requireNamespace("future", [13:13:13.268] quietly = TRUE) [13:13:13.268] if (has_future) { [13:13:13.268] ns <- base::getNamespace("future") [13:13:13.268] version <- ns[[".package"]][["version"]] [13:13:13.268] if (is.null(version)) [13:13:13.268] version <- utils::packageVersion("future") [13:13:13.268] } [13:13:13.268] else { [13:13:13.268] version <- NULL [13:13:13.268] } [13:13:13.268] if (!has_future || version < "1.8.0") { [13:13:13.268] info <- base::c(r_version = base::gsub("R version ", [13:13:13.268] "", base::R.version$version.string), [13:13:13.268] platform = base::sprintf("%s (%s-bit)", [13:13:13.268] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.268] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.268] "release", "version")], collapse = " "), [13:13:13.268] hostname = base::Sys.info()[["nodename"]]) [13:13:13.268] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.268] info) [13:13:13.268] info <- base::paste(info, collapse = "; ") [13:13:13.268] if (!has_future) { [13:13:13.268] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.268] info) [13:13:13.268] } [13:13:13.268] else { [13:13:13.268] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.268] info, version) [13:13:13.268] } [13:13:13.268] base::stop(msg) [13:13:13.268] } [13:13:13.268] }) [13:13:13.268] } [13:13:13.268] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.268] base::options(mc.cores = 1L) [13:13:13.268] } [13:13:13.268] options(future.plan = NULL) [13:13:13.268] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.268] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.268] } [13:13:13.268] ...future.workdir <- getwd() [13:13:13.268] } [13:13:13.268] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.268] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.268] } [13:13:13.268] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.268] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.268] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.268] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.268] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.268] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.268] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.268] base::names(...future.oldOptions)) [13:13:13.268] } [13:13:13.268] if (FALSE) { [13:13:13.268] } [13:13:13.268] else { [13:13:13.268] if (TRUE) { [13:13:13.268] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.268] open = "w") [13:13:13.268] } [13:13:13.268] else { [13:13:13.268] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.268] windows = "NUL", "/dev/null"), open = "w") [13:13:13.268] } [13:13:13.268] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.268] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.268] base::sink(type = "output", split = FALSE) [13:13:13.268] base::close(...future.stdout) [13:13:13.268] }, add = TRUE) [13:13:13.268] } [13:13:13.268] ...future.frame <- base::sys.nframe() [13:13:13.268] ...future.conditions <- base::list() [13:13:13.268] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.268] if (FALSE) { [13:13:13.268] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.268] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.268] } [13:13:13.268] ...future.result <- base::tryCatch({ [13:13:13.268] base::withCallingHandlers({ [13:13:13.268] ...future.value <- base::withVisible(base::local({ [13:13:13.268] ...future.makeSendCondition <- local({ [13:13:13.268] sendCondition <- NULL [13:13:13.268] function(frame = 1L) { [13:13:13.268] if (is.function(sendCondition)) [13:13:13.268] return(sendCondition) [13:13:13.268] ns <- getNamespace("parallel") [13:13:13.268] if (exists("sendData", mode = "function", [13:13:13.268] envir = ns)) { [13:13:13.268] parallel_sendData <- get("sendData", mode = "function", [13:13:13.268] envir = ns) [13:13:13.268] envir <- sys.frame(frame) [13:13:13.268] master <- NULL [13:13:13.268] while (!identical(envir, .GlobalEnv) && [13:13:13.268] !identical(envir, emptyenv())) { [13:13:13.268] if (exists("master", mode = "list", envir = envir, [13:13:13.268] inherits = FALSE)) { [13:13:13.268] master <- get("master", mode = "list", [13:13:13.268] envir = envir, inherits = FALSE) [13:13:13.268] if (inherits(master, c("SOCKnode", [13:13:13.268] "SOCK0node"))) { [13:13:13.268] sendCondition <<- function(cond) { [13:13:13.268] data <- list(type = "VALUE", value = cond, [13:13:13.268] success = TRUE) [13:13:13.268] parallel_sendData(master, data) [13:13:13.268] } [13:13:13.268] return(sendCondition) [13:13:13.268] } [13:13:13.268] } [13:13:13.268] frame <- frame + 1L [13:13:13.268] envir <- sys.frame(frame) [13:13:13.268] } [13:13:13.268] } [13:13:13.268] sendCondition <<- function(cond) NULL [13:13:13.268] } [13:13:13.268] }) [13:13:13.268] withCallingHandlers({ [13:13:13.268] { [13:13:13.268] do.call(function(...) { [13:13:13.268] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.268] if (!identical(...future.globals.maxSize.org, [13:13:13.268] ...future.globals.maxSize)) { [13:13:13.268] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.268] on.exit(options(oopts), add = TRUE) [13:13:13.268] } [13:13:13.268] { [13:13:13.268] lapply(seq_along(...future.elements_ii), [13:13:13.268] FUN = function(jj) { [13:13:13.268] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.268] ...future.FUN(...future.X_jj, ...) [13:13:13.268] }) [13:13:13.268] } [13:13:13.268] }, args = future.call.arguments) [13:13:13.268] } [13:13:13.268] }, immediateCondition = function(cond) { [13:13:13.268] sendCondition <- ...future.makeSendCondition() [13:13:13.268] sendCondition(cond) [13:13:13.268] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.268] { [13:13:13.268] inherits <- base::inherits [13:13:13.268] invokeRestart <- base::invokeRestart [13:13:13.268] is.null <- base::is.null [13:13:13.268] muffled <- FALSE [13:13:13.268] if (inherits(cond, "message")) { [13:13:13.268] muffled <- grepl(pattern, "muffleMessage") [13:13:13.268] if (muffled) [13:13:13.268] invokeRestart("muffleMessage") [13:13:13.268] } [13:13:13.268] else if (inherits(cond, "warning")) { [13:13:13.268] muffled <- grepl(pattern, "muffleWarning") [13:13:13.268] if (muffled) [13:13:13.268] invokeRestart("muffleWarning") [13:13:13.268] } [13:13:13.268] else if (inherits(cond, "condition")) { [13:13:13.268] if (!is.null(pattern)) { [13:13:13.268] computeRestarts <- base::computeRestarts [13:13:13.268] grepl <- base::grepl [13:13:13.268] restarts <- computeRestarts(cond) [13:13:13.268] for (restart in restarts) { [13:13:13.268] name <- restart$name [13:13:13.268] if (is.null(name)) [13:13:13.268] next [13:13:13.268] if (!grepl(pattern, name)) [13:13:13.268] next [13:13:13.268] invokeRestart(restart) [13:13:13.268] muffled <- TRUE [13:13:13.268] break [13:13:13.268] } [13:13:13.268] } [13:13:13.268] } [13:13:13.268] invisible(muffled) [13:13:13.268] } [13:13:13.268] muffleCondition(cond) [13:13:13.268] }) [13:13:13.268] })) [13:13:13.268] future::FutureResult(value = ...future.value$value, [13:13:13.268] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.268] ...future.rng), globalenv = if (FALSE) [13:13:13.268] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.268] ...future.globalenv.names)) [13:13:13.268] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.268] }, condition = base::local({ [13:13:13.268] c <- base::c [13:13:13.268] inherits <- base::inherits [13:13:13.268] invokeRestart <- base::invokeRestart [13:13:13.268] length <- base::length [13:13:13.268] list <- base::list [13:13:13.268] seq.int <- base::seq.int [13:13:13.268] signalCondition <- base::signalCondition [13:13:13.268] sys.calls <- base::sys.calls [13:13:13.268] `[[` <- base::`[[` [13:13:13.268] `+` <- base::`+` [13:13:13.268] `<<-` <- base::`<<-` [13:13:13.268] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.268] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.268] 3L)] [13:13:13.268] } [13:13:13.268] function(cond) { [13:13:13.268] is_error <- inherits(cond, "error") [13:13:13.268] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.268] NULL) [13:13:13.268] if (is_error) { [13:13:13.268] sessionInformation <- function() { [13:13:13.268] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.268] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.268] search = base::search(), system = base::Sys.info()) [13:13:13.268] } [13:13:13.268] ...future.conditions[[length(...future.conditions) + [13:13:13.268] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.268] cond$call), session = sessionInformation(), [13:13:13.268] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.268] signalCondition(cond) [13:13:13.268] } [13:13:13.268] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.268] "immediateCondition"))) { [13:13:13.268] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.268] ...future.conditions[[length(...future.conditions) + [13:13:13.268] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.268] if (TRUE && !signal) { [13:13:13.268] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.268] { [13:13:13.268] inherits <- base::inherits [13:13:13.268] invokeRestart <- base::invokeRestart [13:13:13.268] is.null <- base::is.null [13:13:13.268] muffled <- FALSE [13:13:13.268] if (inherits(cond, "message")) { [13:13:13.268] muffled <- grepl(pattern, "muffleMessage") [13:13:13.268] if (muffled) [13:13:13.268] invokeRestart("muffleMessage") [13:13:13.268] } [13:13:13.268] else if (inherits(cond, "warning")) { [13:13:13.268] muffled <- grepl(pattern, "muffleWarning") [13:13:13.268] if (muffled) [13:13:13.268] invokeRestart("muffleWarning") [13:13:13.268] } [13:13:13.268] else if (inherits(cond, "condition")) { [13:13:13.268] if (!is.null(pattern)) { [13:13:13.268] computeRestarts <- base::computeRestarts [13:13:13.268] grepl <- base::grepl [13:13:13.268] restarts <- computeRestarts(cond) [13:13:13.268] for (restart in restarts) { [13:13:13.268] name <- restart$name [13:13:13.268] if (is.null(name)) [13:13:13.268] next [13:13:13.268] if (!grepl(pattern, name)) [13:13:13.268] next [13:13:13.268] invokeRestart(restart) [13:13:13.268] muffled <- TRUE [13:13:13.268] break [13:13:13.268] } [13:13:13.268] } [13:13:13.268] } [13:13:13.268] invisible(muffled) [13:13:13.268] } [13:13:13.268] muffleCondition(cond, pattern = "^muffle") [13:13:13.268] } [13:13:13.268] } [13:13:13.268] else { [13:13:13.268] if (TRUE) { [13:13:13.268] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.268] { [13:13:13.268] inherits <- base::inherits [13:13:13.268] invokeRestart <- base::invokeRestart [13:13:13.268] is.null <- base::is.null [13:13:13.268] muffled <- FALSE [13:13:13.268] if (inherits(cond, "message")) { [13:13:13.268] muffled <- grepl(pattern, "muffleMessage") [13:13:13.268] if (muffled) [13:13:13.268] invokeRestart("muffleMessage") [13:13:13.268] } [13:13:13.268] else if (inherits(cond, "warning")) { [13:13:13.268] muffled <- grepl(pattern, "muffleWarning") [13:13:13.268] if (muffled) [13:13:13.268] invokeRestart("muffleWarning") [13:13:13.268] } [13:13:13.268] else if (inherits(cond, "condition")) { [13:13:13.268] if (!is.null(pattern)) { [13:13:13.268] computeRestarts <- base::computeRestarts [13:13:13.268] grepl <- base::grepl [13:13:13.268] restarts <- computeRestarts(cond) [13:13:13.268] for (restart in restarts) { [13:13:13.268] name <- restart$name [13:13:13.268] if (is.null(name)) [13:13:13.268] next [13:13:13.268] if (!grepl(pattern, name)) [13:13:13.268] next [13:13:13.268] invokeRestart(restart) [13:13:13.268] muffled <- TRUE [13:13:13.268] break [13:13:13.268] } [13:13:13.268] } [13:13:13.268] } [13:13:13.268] invisible(muffled) [13:13:13.268] } [13:13:13.268] muffleCondition(cond, pattern = "^muffle") [13:13:13.268] } [13:13:13.268] } [13:13:13.268] } [13:13:13.268] })) [13:13:13.268] }, error = function(ex) { [13:13:13.268] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.268] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.268] ...future.rng), started = ...future.startTime, [13:13:13.268] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.268] version = "1.8"), class = "FutureResult") [13:13:13.268] }, finally = { [13:13:13.268] if (!identical(...future.workdir, getwd())) [13:13:13.268] setwd(...future.workdir) [13:13:13.268] { [13:13:13.268] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.268] ...future.oldOptions$nwarnings <- NULL [13:13:13.268] } [13:13:13.268] base::options(...future.oldOptions) [13:13:13.268] if (.Platform$OS.type == "windows") { [13:13:13.268] old_names <- names(...future.oldEnvVars) [13:13:13.268] envs <- base::Sys.getenv() [13:13:13.268] names <- names(envs) [13:13:13.268] common <- intersect(names, old_names) [13:13:13.268] added <- setdiff(names, old_names) [13:13:13.268] removed <- setdiff(old_names, names) [13:13:13.268] changed <- common[...future.oldEnvVars[common] != [13:13:13.268] envs[common]] [13:13:13.268] NAMES <- toupper(changed) [13:13:13.268] args <- list() [13:13:13.268] for (kk in seq_along(NAMES)) { [13:13:13.268] name <- changed[[kk]] [13:13:13.268] NAME <- NAMES[[kk]] [13:13:13.268] if (name != NAME && is.element(NAME, old_names)) [13:13:13.268] next [13:13:13.268] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.268] } [13:13:13.268] NAMES <- toupper(added) [13:13:13.268] for (kk in seq_along(NAMES)) { [13:13:13.268] name <- added[[kk]] [13:13:13.268] NAME <- NAMES[[kk]] [13:13:13.268] if (name != NAME && is.element(NAME, old_names)) [13:13:13.268] next [13:13:13.268] args[[name]] <- "" [13:13:13.268] } [13:13:13.268] NAMES <- toupper(removed) [13:13:13.268] for (kk in seq_along(NAMES)) { [13:13:13.268] name <- removed[[kk]] [13:13:13.268] NAME <- NAMES[[kk]] [13:13:13.268] if (name != NAME && is.element(NAME, old_names)) [13:13:13.268] next [13:13:13.268] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.268] } [13:13:13.268] if (length(args) > 0) [13:13:13.268] base::do.call(base::Sys.setenv, args = args) [13:13:13.268] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.268] } [13:13:13.268] else { [13:13:13.268] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.268] } [13:13:13.268] { [13:13:13.268] if (base::length(...future.futureOptionsAdded) > [13:13:13.268] 0L) { [13:13:13.268] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.268] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.268] base::options(opts) [13:13:13.268] } [13:13:13.268] { [13:13:13.268] { [13:13:13.268] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.268] NULL [13:13:13.268] } [13:13:13.268] options(future.plan = NULL) [13:13:13.268] if (is.na(NA_character_)) [13:13:13.268] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.268] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.268] future::plan(list(function (..., workers = availableCores(), [13:13:13.268] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.268] envir = parent.frame()) [13:13:13.268] { [13:13:13.268] if (is.function(workers)) [13:13:13.268] workers <- workers() [13:13:13.268] workers <- structure(as.integer(workers), [13:13:13.268] class = class(workers)) [13:13:13.268] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.268] workers >= 1) [13:13:13.268] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.268] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.268] } [13:13:13.268] future <- MultisessionFuture(..., workers = workers, [13:13:13.268] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.268] envir = envir) [13:13:13.268] if (!future$lazy) [13:13:13.268] future <- run(future) [13:13:13.268] invisible(future) [13:13:13.268] }), .cleanup = FALSE, .init = FALSE) [13:13:13.268] } [13:13:13.268] } [13:13:13.268] } [13:13:13.268] }) [13:13:13.268] if (TRUE) { [13:13:13.268] base::sink(type = "output", split = FALSE) [13:13:13.268] if (TRUE) { [13:13:13.268] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.268] } [13:13:13.268] else { [13:13:13.268] ...future.result["stdout"] <- base::list(NULL) [13:13:13.268] } [13:13:13.268] base::close(...future.stdout) [13:13:13.268] ...future.stdout <- NULL [13:13:13.268] } [13:13:13.268] ...future.result$conditions <- ...future.conditions [13:13:13.268] ...future.result$finished <- base::Sys.time() [13:13:13.268] ...future.result [13:13:13.268] } [13:13:13.274] Exporting 5 global objects (960 bytes) to cluster node #1 ... [13:13:13.274] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.275] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.275] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:13.275] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:13.275] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:13:13.276] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:13:13.276] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.276] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.277] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.277] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.277] Exporting 5 global objects (960 bytes) to cluster node #1 ... DONE [13:13:13.278] MultisessionFuture started [13:13:13.278] - Launch lazy future ... done [13:13:13.278] run() for 'MultisessionFuture' ... done [13:13:13.279] Created future: [13:13:13.293] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.294] - Validating connection of MultisessionFuture [13:13:13.294] - received message: FutureResult [13:13:13.294] - Received FutureResult [13:13:13.294] - Erased future from FutureRegistry [13:13:13.294] result() for ClusterFuture ... [13:13:13.295] - result already collected: FutureResult [13:13:13.295] result() for ClusterFuture ... done [13:13:13.295] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.279] MultisessionFuture: [13:13:13.279] Label: 'future_apply-2' [13:13:13.279] Expression: [13:13:13.279] { [13:13:13.279] do.call(function(...) { [13:13:13.279] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.279] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.279] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.279] on.exit(options(oopts), add = TRUE) [13:13:13.279] } [13:13:13.279] { [13:13:13.279] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.279] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.279] ...future.FUN(...future.X_jj, ...) [13:13:13.279] }) [13:13:13.279] } [13:13:13.279] }, args = future.call.arguments) [13:13:13.279] } [13:13:13.279] Lazy evaluation: FALSE [13:13:13.279] Asynchronous evaluation: TRUE [13:13:13.279] Local evaluation: TRUE [13:13:13.279] Environment: R_GlobalEnv [13:13:13.279] Capture standard output: TRUE [13:13:13.279] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.279] Globals: 5 objects totaling 960 bytes (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.279] Packages: [13:13:13.279] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.279] Resolved: TRUE [13:13:13.279] Value: [13:13:13.279] Conditions captured: [13:13:13.279] Early signaling: FALSE [13:13:13.279] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.279] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.295] Chunk #2 of 2 ... DONE [13:13:13.295] Launching 2 futures (chunks) ... DONE [13:13:13.296] Resolving 2 futures (chunks) ... [13:13:13.296] resolve() on list ... [13:13:13.296] recursive: 0 [13:13:13.296] length: 2 [13:13:13.296] [13:13:13.296] Future #1 [13:13:13.297] result() for ClusterFuture ... [13:13:13.297] - result already collected: FutureResult [13:13:13.297] result() for ClusterFuture ... done [13:13:13.297] result() for ClusterFuture ... [13:13:13.297] - result already collected: FutureResult [13:13:13.297] result() for ClusterFuture ... done [13:13:13.298] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:13.298] - nx: 2 [13:13:13.298] - relay: TRUE [13:13:13.298] - stdout: TRUE [13:13:13.298] - signal: TRUE [13:13:13.298] - resignal: FALSE [13:13:13.299] - force: TRUE [13:13:13.299] - relayed: [n=2] FALSE, FALSE [13:13:13.299] - queued futures: [n=2] FALSE, FALSE [13:13:13.299] - until=1 [13:13:13.299] - relaying element #1 [13:13:13.299] result() for ClusterFuture ... [13:13:13.299] - result already collected: FutureResult [13:13:13.300] result() for ClusterFuture ... done [13:13:13.300] result() for ClusterFuture ... [13:13:13.300] - result already collected: FutureResult [13:13:13.300] result() for ClusterFuture ... done [13:13:13.300] result() for ClusterFuture ... [13:13:13.300] - result already collected: FutureResult [13:13:13.301] result() for ClusterFuture ... done [13:13:13.301] result() for ClusterFuture ... [13:13:13.301] - result already collected: FutureResult [13:13:13.301] result() for ClusterFuture ... done [13:13:13.301] - relayed: [n=2] TRUE, FALSE [13:13:13.301] - queued futures: [n=2] TRUE, FALSE [13:13:13.302] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:13.302] length: 1 (resolved future 1) [13:13:13.302] Future #2 [13:13:13.302] result() for ClusterFuture ... [13:13:13.302] - result already collected: FutureResult [13:13:13.302] result() for ClusterFuture ... done [13:13:13.303] result() for ClusterFuture ... [13:13:13.303] - result already collected: FutureResult [13:13:13.303] result() for ClusterFuture ... done [13:13:13.303] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:13.303] - nx: 2 [13:13:13.303] - relay: TRUE [13:13:13.304] - stdout: TRUE [13:13:13.304] - signal: TRUE [13:13:13.304] - resignal: FALSE [13:13:13.304] - force: TRUE [13:13:13.304] - relayed: [n=2] TRUE, FALSE [13:13:13.304] - queued futures: [n=2] TRUE, FALSE [13:13:13.304] - until=2 [13:13:13.305] - relaying element #2 [13:13:13.305] result() for ClusterFuture ... [13:13:13.305] - result already collected: FutureResult [13:13:13.305] result() for ClusterFuture ... done [13:13:13.305] result() for ClusterFuture ... [13:13:13.305] - result already collected: FutureResult [13:13:13.306] result() for ClusterFuture ... done [13:13:13.306] result() for ClusterFuture ... [13:13:13.306] - result already collected: FutureResult [13:13:13.306] result() for ClusterFuture ... done [13:13:13.306] result() for ClusterFuture ... [13:13:13.306] - result already collected: FutureResult [13:13:13.307] result() for ClusterFuture ... done [13:13:13.307] - relayed: [n=2] TRUE, TRUE [13:13:13.307] - queued futures: [n=2] TRUE, TRUE [13:13:13.307] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:13.307] length: 0 (resolved future 2) [13:13:13.307] Relaying remaining futures [13:13:13.307] signalConditionsASAP(NULL, pos=0) ... [13:13:13.308] - nx: 2 [13:13:13.308] - relay: TRUE [13:13:13.308] - stdout: TRUE [13:13:13.308] - signal: TRUE [13:13:13.308] - resignal: FALSE [13:13:13.308] - force: TRUE [13:13:13.309] - relayed: [n=2] TRUE, TRUE [13:13:13.309] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:13.309] - relayed: [n=2] TRUE, TRUE [13:13:13.309] - queued futures: [n=2] TRUE, TRUE [13:13:13.309] signalConditionsASAP(NULL, pos=0) ... done [13:13:13.309] resolve() on list ... DONE [13:13:13.310] result() for ClusterFuture ... [13:13:13.310] - result already collected: FutureResult [13:13:13.310] result() for ClusterFuture ... done [13:13:13.310] result() for ClusterFuture ... [13:13:13.310] - result already collected: FutureResult [13:13:13.310] result() for ClusterFuture ... done [13:13:13.311] result() for ClusterFuture ... [13:13:13.311] - result already collected: FutureResult [13:13:13.311] result() for ClusterFuture ... done [13:13:13.311] result() for ClusterFuture ... [13:13:13.311] - result already collected: FutureResult [13:13:13.311] result() for ClusterFuture ... done [13:13:13.312] - Number of value chunks collected: 2 [13:13:13.312] Resolving 2 futures (chunks) ... DONE [13:13:13.312] Reducing values from 2 chunks ... [13:13:13.312] - Number of values collected after concatenation: 2 [13:13:13.312] - Number of values expected: 2 [13:13:13.312] Reducing values from 2 chunks ... DONE [13:13:13.312] future_lapply() ... DONE a b 1 2 - apply(X, ...) - dim(X) > 2 ... [13:13:13.313] getGlobalsAndPackagesXApply() ... [13:13:13.313] - future.globals: TRUE [13:13:13.313] getGlobalsAndPackages() ... [13:13:13.313] Searching for globals... [13:13:13.315] - globals found: [1] 'FUN' [13:13:13.315] Searching for globals ... DONE [13:13:13.315] Resolving globals: FALSE [13:13:13.315] The total size of the 1 globals is 848 bytes (848 bytes) [13:13:13.316] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:12, dim = c(2L, 2L, 3L)))') 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:13:13.316] - globals: [1] 'FUN' [13:13:13.316] [13:13:13.316] getGlobalsAndPackages() ... DONE [13:13:13.317] - globals found/used: [n=1] 'FUN' [13:13:13.317] - needed namespaces: [n=0] [13:13:13.317] Finding globals ... DONE [13:13:13.317] - use_args: TRUE [13:13:13.317] - Getting '...' globals ... [13:13:13.318] resolve() on list ... [13:13:13.318] recursive: 0 [13:13:13.318] length: 1 [13:13:13.318] elements: '...' [13:13:13.318] length: 0 (resolved future 1) [13:13:13.318] resolve() on list ... DONE [13:13:13.319] - '...' content: [n=0] [13:13:13.319] List of 1 [13:13:13.319] $ ...: list() [13:13:13.319] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.319] - attr(*, "where")=List of 1 [13:13:13.319] ..$ ...: [13:13:13.319] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.319] - attr(*, "resolved")= logi TRUE [13:13:13.319] - attr(*, "total_size")= num NA [13:13:13.322] - Getting '...' globals ... DONE [13:13:13.322] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:13.322] List of 2 [13:13:13.322] $ ...future.FUN:function (x) [13:13:13.322] $ ... : list() [13:13:13.322] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.322] - attr(*, "where")=List of 2 [13:13:13.322] ..$ ...future.FUN: [13:13:13.322] ..$ ... : [13:13:13.322] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.322] - attr(*, "resolved")= logi FALSE [13:13:13.322] - attr(*, "total_size")= num 848 [13:13:13.326] Packages to be attached in all futures: [n=0] [13:13:13.326] getGlobalsAndPackagesXApply() ... DONE [13:13:13.328] future_lapply() ... [13:13:13.331] Number of chunks: 2 [13:13:13.332] getGlobalsAndPackagesXApply() ... [13:13:13.332] - future.globals: with names 'list()' [13:13:13.332] - use_args: TRUE [13:13:13.332] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:13.332] List of 2 [13:13:13.332] $ ... : list() [13:13:13.332] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.332] $ ...future.FUN:function (x) [13:13:13.332] - attr(*, "where")=List of 2 [13:13:13.332] ..$ ... : [13:13:13.332] ..$ ...future.FUN: [13:13:13.332] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.332] - attr(*, "resolved")= logi FALSE [13:13:13.332] - attr(*, "total_size")= num NA [13:13:13.336] Packages to be attached in all futures: [n=0] [13:13:13.336] getGlobalsAndPackagesXApply() ... DONE [13:13:13.337] Number of futures (= number of chunks): 2 [13:13:13.337] Launching 2 futures (chunks) ... [13:13:13.337] Chunk #1 of 2 ... [13:13:13.337] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.337] - seeds: [13:13:13.338] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.338] getGlobalsAndPackages() ... [13:13:13.338] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.338] Resolving globals: FALSE [13:13:13.338] Tweak future expression to call with '...' arguments ... [13:13:13.339] { [13:13:13.339] do.call(function(...) { [13:13:13.339] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.339] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.339] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.339] on.exit(options(oopts), add = TRUE) [13:13:13.339] } [13:13:13.339] { [13:13:13.339] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.339] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.339] ...future.FUN(...future.X_jj, ...) [13:13:13.339] }) [13:13:13.339] } [13:13:13.339] }, args = future.call.arguments) [13:13:13.339] } [13:13:13.339] Tweak future expression to call with '...' arguments ... DONE [13:13:13.340] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.340] [13:13:13.340] getGlobalsAndPackages() ... DONE [13:13:13.340] run() for 'Future' ... [13:13:13.340] - state: 'created' [13:13:13.341] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.355] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.355] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.355] - Field: 'node' [13:13:13.355] - Field: 'label' [13:13:13.356] - Field: 'local' [13:13:13.356] - Field: 'owner' [13:13:13.356] - Field: 'envir' [13:13:13.356] - Field: 'workers' [13:13:13.356] - Field: 'packages' [13:13:13.356] - Field: 'gc' [13:13:13.357] - Field: 'conditions' [13:13:13.357] - Field: 'persistent' [13:13:13.357] - Field: 'expr' [13:13:13.357] - Field: 'uuid' [13:13:13.357] - Field: 'seed' [13:13:13.358] - Field: 'version' [13:13:13.358] - Field: 'result' [13:13:13.358] - Field: 'asynchronous' [13:13:13.358] - Field: 'calls' [13:13:13.358] - Field: 'globals' [13:13:13.358] - Field: 'stdout' [13:13:13.359] - Field: 'earlySignal' [13:13:13.359] - Field: 'lazy' [13:13:13.359] - Field: 'state' [13:13:13.359] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.361] - Launch lazy future ... [13:13:13.361] Packages needed by the future expression (n = 0): [13:13:13.362] Packages needed by future strategies (n = 0): [13:13:13.362] { [13:13:13.362] { [13:13:13.362] { [13:13:13.362] ...future.startTime <- base::Sys.time() [13:13:13.362] { [13:13:13.362] { [13:13:13.362] { [13:13:13.362] { [13:13:13.362] base::local({ [13:13:13.362] has_future <- base::requireNamespace("future", [13:13:13.362] quietly = TRUE) [13:13:13.362] if (has_future) { [13:13:13.362] ns <- base::getNamespace("future") [13:13:13.362] version <- ns[[".package"]][["version"]] [13:13:13.362] if (is.null(version)) [13:13:13.362] version <- utils::packageVersion("future") [13:13:13.362] } [13:13:13.362] else { [13:13:13.362] version <- NULL [13:13:13.362] } [13:13:13.362] if (!has_future || version < "1.8.0") { [13:13:13.362] info <- base::c(r_version = base::gsub("R version ", [13:13:13.362] "", base::R.version$version.string), [13:13:13.362] platform = base::sprintf("%s (%s-bit)", [13:13:13.362] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.362] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.362] "release", "version")], collapse = " "), [13:13:13.362] hostname = base::Sys.info()[["nodename"]]) [13:13:13.362] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.362] info) [13:13:13.362] info <- base::paste(info, collapse = "; ") [13:13:13.362] if (!has_future) { [13:13:13.362] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.362] info) [13:13:13.362] } [13:13:13.362] else { [13:13:13.362] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.362] info, version) [13:13:13.362] } [13:13:13.362] base::stop(msg) [13:13:13.362] } [13:13:13.362] }) [13:13:13.362] } [13:13:13.362] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.362] base::options(mc.cores = 1L) [13:13:13.362] } [13:13:13.362] options(future.plan = NULL) [13:13:13.362] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.362] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.362] } [13:13:13.362] ...future.workdir <- getwd() [13:13:13.362] } [13:13:13.362] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.362] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.362] } [13:13:13.362] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.362] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.362] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.362] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.362] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.362] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.362] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.362] base::names(...future.oldOptions)) [13:13:13.362] } [13:13:13.362] if (FALSE) { [13:13:13.362] } [13:13:13.362] else { [13:13:13.362] if (TRUE) { [13:13:13.362] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.362] open = "w") [13:13:13.362] } [13:13:13.362] else { [13:13:13.362] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.362] windows = "NUL", "/dev/null"), open = "w") [13:13:13.362] } [13:13:13.362] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.362] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.362] base::sink(type = "output", split = FALSE) [13:13:13.362] base::close(...future.stdout) [13:13:13.362] }, add = TRUE) [13:13:13.362] } [13:13:13.362] ...future.frame <- base::sys.nframe() [13:13:13.362] ...future.conditions <- base::list() [13:13:13.362] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.362] if (FALSE) { [13:13:13.362] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.362] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.362] } [13:13:13.362] ...future.result <- base::tryCatch({ [13:13:13.362] base::withCallingHandlers({ [13:13:13.362] ...future.value <- base::withVisible(base::local({ [13:13:13.362] ...future.makeSendCondition <- local({ [13:13:13.362] sendCondition <- NULL [13:13:13.362] function(frame = 1L) { [13:13:13.362] if (is.function(sendCondition)) [13:13:13.362] return(sendCondition) [13:13:13.362] ns <- getNamespace("parallel") [13:13:13.362] if (exists("sendData", mode = "function", [13:13:13.362] envir = ns)) { [13:13:13.362] parallel_sendData <- get("sendData", mode = "function", [13:13:13.362] envir = ns) [13:13:13.362] envir <- sys.frame(frame) [13:13:13.362] master <- NULL [13:13:13.362] while (!identical(envir, .GlobalEnv) && [13:13:13.362] !identical(envir, emptyenv())) { [13:13:13.362] if (exists("master", mode = "list", envir = envir, [13:13:13.362] inherits = FALSE)) { [13:13:13.362] master <- get("master", mode = "list", [13:13:13.362] envir = envir, inherits = FALSE) [13:13:13.362] if (inherits(master, c("SOCKnode", [13:13:13.362] "SOCK0node"))) { [13:13:13.362] sendCondition <<- function(cond) { [13:13:13.362] data <- list(type = "VALUE", value = cond, [13:13:13.362] success = TRUE) [13:13:13.362] parallel_sendData(master, data) [13:13:13.362] } [13:13:13.362] return(sendCondition) [13:13:13.362] } [13:13:13.362] } [13:13:13.362] frame <- frame + 1L [13:13:13.362] envir <- sys.frame(frame) [13:13:13.362] } [13:13:13.362] } [13:13:13.362] sendCondition <<- function(cond) NULL [13:13:13.362] } [13:13:13.362] }) [13:13:13.362] withCallingHandlers({ [13:13:13.362] { [13:13:13.362] do.call(function(...) { [13:13:13.362] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.362] if (!identical(...future.globals.maxSize.org, [13:13:13.362] ...future.globals.maxSize)) { [13:13:13.362] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.362] on.exit(options(oopts), add = TRUE) [13:13:13.362] } [13:13:13.362] { [13:13:13.362] lapply(seq_along(...future.elements_ii), [13:13:13.362] FUN = function(jj) { [13:13:13.362] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.362] ...future.FUN(...future.X_jj, ...) [13:13:13.362] }) [13:13:13.362] } [13:13:13.362] }, args = future.call.arguments) [13:13:13.362] } [13:13:13.362] }, immediateCondition = function(cond) { [13:13:13.362] sendCondition <- ...future.makeSendCondition() [13:13:13.362] sendCondition(cond) [13:13:13.362] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.362] { [13:13:13.362] inherits <- base::inherits [13:13:13.362] invokeRestart <- base::invokeRestart [13:13:13.362] is.null <- base::is.null [13:13:13.362] muffled <- FALSE [13:13:13.362] if (inherits(cond, "message")) { [13:13:13.362] muffled <- grepl(pattern, "muffleMessage") [13:13:13.362] if (muffled) [13:13:13.362] invokeRestart("muffleMessage") [13:13:13.362] } [13:13:13.362] else if (inherits(cond, "warning")) { [13:13:13.362] muffled <- grepl(pattern, "muffleWarning") [13:13:13.362] if (muffled) [13:13:13.362] invokeRestart("muffleWarning") [13:13:13.362] } [13:13:13.362] else if (inherits(cond, "condition")) { [13:13:13.362] if (!is.null(pattern)) { [13:13:13.362] computeRestarts <- base::computeRestarts [13:13:13.362] grepl <- base::grepl [13:13:13.362] restarts <- computeRestarts(cond) [13:13:13.362] for (restart in restarts) { [13:13:13.362] name <- restart$name [13:13:13.362] if (is.null(name)) [13:13:13.362] next [13:13:13.362] if (!grepl(pattern, name)) [13:13:13.362] next [13:13:13.362] invokeRestart(restart) [13:13:13.362] muffled <- TRUE [13:13:13.362] break [13:13:13.362] } [13:13:13.362] } [13:13:13.362] } [13:13:13.362] invisible(muffled) [13:13:13.362] } [13:13:13.362] muffleCondition(cond) [13:13:13.362] }) [13:13:13.362] })) [13:13:13.362] future::FutureResult(value = ...future.value$value, [13:13:13.362] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.362] ...future.rng), globalenv = if (FALSE) [13:13:13.362] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.362] ...future.globalenv.names)) [13:13:13.362] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.362] }, condition = base::local({ [13:13:13.362] c <- base::c [13:13:13.362] inherits <- base::inherits [13:13:13.362] invokeRestart <- base::invokeRestart [13:13:13.362] length <- base::length [13:13:13.362] list <- base::list [13:13:13.362] seq.int <- base::seq.int [13:13:13.362] signalCondition <- base::signalCondition [13:13:13.362] sys.calls <- base::sys.calls [13:13:13.362] `[[` <- base::`[[` [13:13:13.362] `+` <- base::`+` [13:13:13.362] `<<-` <- base::`<<-` [13:13:13.362] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.362] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.362] 3L)] [13:13:13.362] } [13:13:13.362] function(cond) { [13:13:13.362] is_error <- inherits(cond, "error") [13:13:13.362] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.362] NULL) [13:13:13.362] if (is_error) { [13:13:13.362] sessionInformation <- function() { [13:13:13.362] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.362] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.362] search = base::search(), system = base::Sys.info()) [13:13:13.362] } [13:13:13.362] ...future.conditions[[length(...future.conditions) + [13:13:13.362] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.362] cond$call), session = sessionInformation(), [13:13:13.362] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.362] signalCondition(cond) [13:13:13.362] } [13:13:13.362] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.362] "immediateCondition"))) { [13:13:13.362] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.362] ...future.conditions[[length(...future.conditions) + [13:13:13.362] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.362] if (TRUE && !signal) { [13:13:13.362] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.362] { [13:13:13.362] inherits <- base::inherits [13:13:13.362] invokeRestart <- base::invokeRestart [13:13:13.362] is.null <- base::is.null [13:13:13.362] muffled <- FALSE [13:13:13.362] if (inherits(cond, "message")) { [13:13:13.362] muffled <- grepl(pattern, "muffleMessage") [13:13:13.362] if (muffled) [13:13:13.362] invokeRestart("muffleMessage") [13:13:13.362] } [13:13:13.362] else if (inherits(cond, "warning")) { [13:13:13.362] muffled <- grepl(pattern, "muffleWarning") [13:13:13.362] if (muffled) [13:13:13.362] invokeRestart("muffleWarning") [13:13:13.362] } [13:13:13.362] else if (inherits(cond, "condition")) { [13:13:13.362] if (!is.null(pattern)) { [13:13:13.362] computeRestarts <- base::computeRestarts [13:13:13.362] grepl <- base::grepl [13:13:13.362] restarts <- computeRestarts(cond) [13:13:13.362] for (restart in restarts) { [13:13:13.362] name <- restart$name [13:13:13.362] if (is.null(name)) [13:13:13.362] next [13:13:13.362] if (!grepl(pattern, name)) [13:13:13.362] next [13:13:13.362] invokeRestart(restart) [13:13:13.362] muffled <- TRUE [13:13:13.362] break [13:13:13.362] } [13:13:13.362] } [13:13:13.362] } [13:13:13.362] invisible(muffled) [13:13:13.362] } [13:13:13.362] muffleCondition(cond, pattern = "^muffle") [13:13:13.362] } [13:13:13.362] } [13:13:13.362] else { [13:13:13.362] if (TRUE) { [13:13:13.362] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.362] { [13:13:13.362] inherits <- base::inherits [13:13:13.362] invokeRestart <- base::invokeRestart [13:13:13.362] is.null <- base::is.null [13:13:13.362] muffled <- FALSE [13:13:13.362] if (inherits(cond, "message")) { [13:13:13.362] muffled <- grepl(pattern, "muffleMessage") [13:13:13.362] if (muffled) [13:13:13.362] invokeRestart("muffleMessage") [13:13:13.362] } [13:13:13.362] else if (inherits(cond, "warning")) { [13:13:13.362] muffled <- grepl(pattern, "muffleWarning") [13:13:13.362] if (muffled) [13:13:13.362] invokeRestart("muffleWarning") [13:13:13.362] } [13:13:13.362] else if (inherits(cond, "condition")) { [13:13:13.362] if (!is.null(pattern)) { [13:13:13.362] computeRestarts <- base::computeRestarts [13:13:13.362] grepl <- base::grepl [13:13:13.362] restarts <- computeRestarts(cond) [13:13:13.362] for (restart in restarts) { [13:13:13.362] name <- restart$name [13:13:13.362] if (is.null(name)) [13:13:13.362] next [13:13:13.362] if (!grepl(pattern, name)) [13:13:13.362] next [13:13:13.362] invokeRestart(restart) [13:13:13.362] muffled <- TRUE [13:13:13.362] break [13:13:13.362] } [13:13:13.362] } [13:13:13.362] } [13:13:13.362] invisible(muffled) [13:13:13.362] } [13:13:13.362] muffleCondition(cond, pattern = "^muffle") [13:13:13.362] } [13:13:13.362] } [13:13:13.362] } [13:13:13.362] })) [13:13:13.362] }, error = function(ex) { [13:13:13.362] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.362] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.362] ...future.rng), started = ...future.startTime, [13:13:13.362] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.362] version = "1.8"), class = "FutureResult") [13:13:13.362] }, finally = { [13:13:13.362] if (!identical(...future.workdir, getwd())) [13:13:13.362] setwd(...future.workdir) [13:13:13.362] { [13:13:13.362] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.362] ...future.oldOptions$nwarnings <- NULL [13:13:13.362] } [13:13:13.362] base::options(...future.oldOptions) [13:13:13.362] if (.Platform$OS.type == "windows") { [13:13:13.362] old_names <- names(...future.oldEnvVars) [13:13:13.362] envs <- base::Sys.getenv() [13:13:13.362] names <- names(envs) [13:13:13.362] common <- intersect(names, old_names) [13:13:13.362] added <- setdiff(names, old_names) [13:13:13.362] removed <- setdiff(old_names, names) [13:13:13.362] changed <- common[...future.oldEnvVars[common] != [13:13:13.362] envs[common]] [13:13:13.362] NAMES <- toupper(changed) [13:13:13.362] args <- list() [13:13:13.362] for (kk in seq_along(NAMES)) { [13:13:13.362] name <- changed[[kk]] [13:13:13.362] NAME <- NAMES[[kk]] [13:13:13.362] if (name != NAME && is.element(NAME, old_names)) [13:13:13.362] next [13:13:13.362] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.362] } [13:13:13.362] NAMES <- toupper(added) [13:13:13.362] for (kk in seq_along(NAMES)) { [13:13:13.362] name <- added[[kk]] [13:13:13.362] NAME <- NAMES[[kk]] [13:13:13.362] if (name != NAME && is.element(NAME, old_names)) [13:13:13.362] next [13:13:13.362] args[[name]] <- "" [13:13:13.362] } [13:13:13.362] NAMES <- toupper(removed) [13:13:13.362] for (kk in seq_along(NAMES)) { [13:13:13.362] name <- removed[[kk]] [13:13:13.362] NAME <- NAMES[[kk]] [13:13:13.362] if (name != NAME && is.element(NAME, old_names)) [13:13:13.362] next [13:13:13.362] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.362] } [13:13:13.362] if (length(args) > 0) [13:13:13.362] base::do.call(base::Sys.setenv, args = args) [13:13:13.362] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.362] } [13:13:13.362] else { [13:13:13.362] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.362] } [13:13:13.362] { [13:13:13.362] if (base::length(...future.futureOptionsAdded) > [13:13:13.362] 0L) { [13:13:13.362] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.362] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.362] base::options(opts) [13:13:13.362] } [13:13:13.362] { [13:13:13.362] { [13:13:13.362] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.362] NULL [13:13:13.362] } [13:13:13.362] options(future.plan = NULL) [13:13:13.362] if (is.na(NA_character_)) [13:13:13.362] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.362] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.362] future::plan(list(function (..., workers = availableCores(), [13:13:13.362] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.362] envir = parent.frame()) [13:13:13.362] { [13:13:13.362] if (is.function(workers)) [13:13:13.362] workers <- workers() [13:13:13.362] workers <- structure(as.integer(workers), [13:13:13.362] class = class(workers)) [13:13:13.362] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.362] workers >= 1) [13:13:13.362] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.362] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.362] } [13:13:13.362] future <- MultisessionFuture(..., workers = workers, [13:13:13.362] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.362] envir = envir) [13:13:13.362] if (!future$lazy) [13:13:13.362] future <- run(future) [13:13:13.362] invisible(future) [13:13:13.362] }), .cleanup = FALSE, .init = FALSE) [13:13:13.362] } [13:13:13.362] } [13:13:13.362] } [13:13:13.362] }) [13:13:13.362] if (TRUE) { [13:13:13.362] base::sink(type = "output", split = FALSE) [13:13:13.362] if (TRUE) { [13:13:13.362] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.362] } [13:13:13.362] else { [13:13:13.362] ...future.result["stdout"] <- base::list(NULL) [13:13:13.362] } [13:13:13.362] base::close(...future.stdout) [13:13:13.362] ...future.stdout <- NULL [13:13:13.362] } [13:13:13.362] ...future.result$conditions <- ...future.conditions [13:13:13.362] ...future.result$finished <- base::Sys.time() [13:13:13.362] ...future.result [13:13:13.362] } [13:13:13.368] Exporting 5 global objects (1.12 KiB) to cluster node #1 ... [13:13:13.368] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.369] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.369] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:13.369] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:13.370] Exporting '...future.elements_ii' (248 bytes) to cluster node #1 ... [13:13:13.370] Exporting '...future.elements_ii' (248 bytes) to cluster node #1 ... DONE [13:13:13.370] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.371] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.371] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.371] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.371] Exporting 5 global objects (1.12 KiB) to cluster node #1 ... DONE [13:13:13.372] MultisessionFuture started [13:13:13.372] - Launch lazy future ... done [13:13:13.372] run() for 'MultisessionFuture' ... done [13:13:13.373] Created future: [13:13:13.388] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.388] - Validating connection of MultisessionFuture [13:13:13.389] - received message: FutureResult [13:13:13.389] - Received FutureResult [13:13:13.389] - Erased future from FutureRegistry [13:13:13.389] result() for ClusterFuture ... [13:13:13.389] - result already collected: FutureResult [13:13:13.389] result() for ClusterFuture ... done [13:13:13.390] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.373] MultisessionFuture: [13:13:13.373] Label: 'future_apply-1' [13:13:13.373] Expression: [13:13:13.373] { [13:13:13.373] do.call(function(...) { [13:13:13.373] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.373] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.373] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.373] on.exit(options(oopts), add = TRUE) [13:13:13.373] } [13:13:13.373] { [13:13:13.373] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.373] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.373] ...future.FUN(...future.X_jj, ...) [13:13:13.373] }) [13:13:13.373] } [13:13:13.373] }, args = future.call.arguments) [13:13:13.373] } [13:13:13.373] Lazy evaluation: FALSE [13:13:13.373] Asynchronous evaluation: TRUE [13:13:13.373] Local evaluation: TRUE [13:13:13.373] Environment: R_GlobalEnv [13:13:13.373] Capture standard output: TRUE [13:13:13.373] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.373] Globals: 5 objects totaling 1.12 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 248 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.373] Packages: [13:13:13.373] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.373] Resolved: TRUE [13:13:13.373] Value: [13:13:13.373] Conditions captured: [13:13:13.373] Early signaling: FALSE [13:13:13.373] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.373] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.390] Chunk #1 of 2 ... DONE [13:13:13.390] Chunk #2 of 2 ... [13:13:13.390] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.391] - seeds: [13:13:13.391] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.391] getGlobalsAndPackages() ... [13:13:13.391] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.391] Resolving globals: FALSE [13:13:13.392] Tweak future expression to call with '...' arguments ... [13:13:13.392] { [13:13:13.392] do.call(function(...) { [13:13:13.392] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.392] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.392] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.392] on.exit(options(oopts), add = TRUE) [13:13:13.392] } [13:13:13.392] { [13:13:13.392] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.392] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.392] ...future.FUN(...future.X_jj, ...) [13:13:13.392] }) [13:13:13.392] } [13:13:13.392] }, args = future.call.arguments) [13:13:13.392] } [13:13:13.392] Tweak future expression to call with '...' arguments ... DONE [13:13:13.393] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.393] [13:13:13.393] getGlobalsAndPackages() ... DONE [13:13:13.393] run() for 'Future' ... [13:13:13.394] - state: 'created' [13:13:13.394] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.408] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.408] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.408] - Field: 'node' [13:13:13.408] - Field: 'label' [13:13:13.408] - Field: 'local' [13:13:13.409] - Field: 'owner' [13:13:13.409] - Field: 'envir' [13:13:13.409] - Field: 'workers' [13:13:13.409] - Field: 'packages' [13:13:13.409] - Field: 'gc' [13:13:13.409] - Field: 'conditions' [13:13:13.410] - Field: 'persistent' [13:13:13.410] - Field: 'expr' [13:13:13.410] - Field: 'uuid' [13:13:13.410] - Field: 'seed' [13:13:13.410] - Field: 'version' [13:13:13.410] - Field: 'result' [13:13:13.411] - Field: 'asynchronous' [13:13:13.411] - Field: 'calls' [13:13:13.411] - Field: 'globals' [13:13:13.411] - Field: 'stdout' [13:13:13.411] - Field: 'earlySignal' [13:13:13.412] - Field: 'lazy' [13:13:13.412] - Field: 'state' [13:13:13.412] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.412] - Launch lazy future ... [13:13:13.412] Packages needed by the future expression (n = 0): [13:13:13.413] Packages needed by future strategies (n = 0): [13:13:13.413] { [13:13:13.413] { [13:13:13.413] { [13:13:13.413] ...future.startTime <- base::Sys.time() [13:13:13.413] { [13:13:13.413] { [13:13:13.413] { [13:13:13.413] { [13:13:13.413] base::local({ [13:13:13.413] has_future <- base::requireNamespace("future", [13:13:13.413] quietly = TRUE) [13:13:13.413] if (has_future) { [13:13:13.413] ns <- base::getNamespace("future") [13:13:13.413] version <- ns[[".package"]][["version"]] [13:13:13.413] if (is.null(version)) [13:13:13.413] version <- utils::packageVersion("future") [13:13:13.413] } [13:13:13.413] else { [13:13:13.413] version <- NULL [13:13:13.413] } [13:13:13.413] if (!has_future || version < "1.8.0") { [13:13:13.413] info <- base::c(r_version = base::gsub("R version ", [13:13:13.413] "", base::R.version$version.string), [13:13:13.413] platform = base::sprintf("%s (%s-bit)", [13:13:13.413] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.413] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.413] "release", "version")], collapse = " "), [13:13:13.413] hostname = base::Sys.info()[["nodename"]]) [13:13:13.413] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.413] info) [13:13:13.413] info <- base::paste(info, collapse = "; ") [13:13:13.413] if (!has_future) { [13:13:13.413] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.413] info) [13:13:13.413] } [13:13:13.413] else { [13:13:13.413] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.413] info, version) [13:13:13.413] } [13:13:13.413] base::stop(msg) [13:13:13.413] } [13:13:13.413] }) [13:13:13.413] } [13:13:13.413] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.413] base::options(mc.cores = 1L) [13:13:13.413] } [13:13:13.413] options(future.plan = NULL) [13:13:13.413] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.413] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.413] } [13:13:13.413] ...future.workdir <- getwd() [13:13:13.413] } [13:13:13.413] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.413] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.413] } [13:13:13.413] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.413] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.413] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.413] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.413] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.413] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.413] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.413] base::names(...future.oldOptions)) [13:13:13.413] } [13:13:13.413] if (FALSE) { [13:13:13.413] } [13:13:13.413] else { [13:13:13.413] if (TRUE) { [13:13:13.413] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.413] open = "w") [13:13:13.413] } [13:13:13.413] else { [13:13:13.413] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.413] windows = "NUL", "/dev/null"), open = "w") [13:13:13.413] } [13:13:13.413] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.413] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.413] base::sink(type = "output", split = FALSE) [13:13:13.413] base::close(...future.stdout) [13:13:13.413] }, add = TRUE) [13:13:13.413] } [13:13:13.413] ...future.frame <- base::sys.nframe() [13:13:13.413] ...future.conditions <- base::list() [13:13:13.413] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.413] if (FALSE) { [13:13:13.413] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.413] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.413] } [13:13:13.413] ...future.result <- base::tryCatch({ [13:13:13.413] base::withCallingHandlers({ [13:13:13.413] ...future.value <- base::withVisible(base::local({ [13:13:13.413] ...future.makeSendCondition <- local({ [13:13:13.413] sendCondition <- NULL [13:13:13.413] function(frame = 1L) { [13:13:13.413] if (is.function(sendCondition)) [13:13:13.413] return(sendCondition) [13:13:13.413] ns <- getNamespace("parallel") [13:13:13.413] if (exists("sendData", mode = "function", [13:13:13.413] envir = ns)) { [13:13:13.413] parallel_sendData <- get("sendData", mode = "function", [13:13:13.413] envir = ns) [13:13:13.413] envir <- sys.frame(frame) [13:13:13.413] master <- NULL [13:13:13.413] while (!identical(envir, .GlobalEnv) && [13:13:13.413] !identical(envir, emptyenv())) { [13:13:13.413] if (exists("master", mode = "list", envir = envir, [13:13:13.413] inherits = FALSE)) { [13:13:13.413] master <- get("master", mode = "list", [13:13:13.413] envir = envir, inherits = FALSE) [13:13:13.413] if (inherits(master, c("SOCKnode", [13:13:13.413] "SOCK0node"))) { [13:13:13.413] sendCondition <<- function(cond) { [13:13:13.413] data <- list(type = "VALUE", value = cond, [13:13:13.413] success = TRUE) [13:13:13.413] parallel_sendData(master, data) [13:13:13.413] } [13:13:13.413] return(sendCondition) [13:13:13.413] } [13:13:13.413] } [13:13:13.413] frame <- frame + 1L [13:13:13.413] envir <- sys.frame(frame) [13:13:13.413] } [13:13:13.413] } [13:13:13.413] sendCondition <<- function(cond) NULL [13:13:13.413] } [13:13:13.413] }) [13:13:13.413] withCallingHandlers({ [13:13:13.413] { [13:13:13.413] do.call(function(...) { [13:13:13.413] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.413] if (!identical(...future.globals.maxSize.org, [13:13:13.413] ...future.globals.maxSize)) { [13:13:13.413] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.413] on.exit(options(oopts), add = TRUE) [13:13:13.413] } [13:13:13.413] { [13:13:13.413] lapply(seq_along(...future.elements_ii), [13:13:13.413] FUN = function(jj) { [13:13:13.413] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.413] ...future.FUN(...future.X_jj, ...) [13:13:13.413] }) [13:13:13.413] } [13:13:13.413] }, args = future.call.arguments) [13:13:13.413] } [13:13:13.413] }, immediateCondition = function(cond) { [13:13:13.413] sendCondition <- ...future.makeSendCondition() [13:13:13.413] sendCondition(cond) [13:13:13.413] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.413] { [13:13:13.413] inherits <- base::inherits [13:13:13.413] invokeRestart <- base::invokeRestart [13:13:13.413] is.null <- base::is.null [13:13:13.413] muffled <- FALSE [13:13:13.413] if (inherits(cond, "message")) { [13:13:13.413] muffled <- grepl(pattern, "muffleMessage") [13:13:13.413] if (muffled) [13:13:13.413] invokeRestart("muffleMessage") [13:13:13.413] } [13:13:13.413] else if (inherits(cond, "warning")) { [13:13:13.413] muffled <- grepl(pattern, "muffleWarning") [13:13:13.413] if (muffled) [13:13:13.413] invokeRestart("muffleWarning") [13:13:13.413] } [13:13:13.413] else if (inherits(cond, "condition")) { [13:13:13.413] if (!is.null(pattern)) { [13:13:13.413] computeRestarts <- base::computeRestarts [13:13:13.413] grepl <- base::grepl [13:13:13.413] restarts <- computeRestarts(cond) [13:13:13.413] for (restart in restarts) { [13:13:13.413] name <- restart$name [13:13:13.413] if (is.null(name)) [13:13:13.413] next [13:13:13.413] if (!grepl(pattern, name)) [13:13:13.413] next [13:13:13.413] invokeRestart(restart) [13:13:13.413] muffled <- TRUE [13:13:13.413] break [13:13:13.413] } [13:13:13.413] } [13:13:13.413] } [13:13:13.413] invisible(muffled) [13:13:13.413] } [13:13:13.413] muffleCondition(cond) [13:13:13.413] }) [13:13:13.413] })) [13:13:13.413] future::FutureResult(value = ...future.value$value, [13:13:13.413] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.413] ...future.rng), globalenv = if (FALSE) [13:13:13.413] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.413] ...future.globalenv.names)) [13:13:13.413] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.413] }, condition = base::local({ [13:13:13.413] c <- base::c [13:13:13.413] inherits <- base::inherits [13:13:13.413] invokeRestart <- base::invokeRestart [13:13:13.413] length <- base::length [13:13:13.413] list <- base::list [13:13:13.413] seq.int <- base::seq.int [13:13:13.413] signalCondition <- base::signalCondition [13:13:13.413] sys.calls <- base::sys.calls [13:13:13.413] `[[` <- base::`[[` [13:13:13.413] `+` <- base::`+` [13:13:13.413] `<<-` <- base::`<<-` [13:13:13.413] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.413] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.413] 3L)] [13:13:13.413] } [13:13:13.413] function(cond) { [13:13:13.413] is_error <- inherits(cond, "error") [13:13:13.413] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.413] NULL) [13:13:13.413] if (is_error) { [13:13:13.413] sessionInformation <- function() { [13:13:13.413] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.413] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.413] search = base::search(), system = base::Sys.info()) [13:13:13.413] } [13:13:13.413] ...future.conditions[[length(...future.conditions) + [13:13:13.413] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.413] cond$call), session = sessionInformation(), [13:13:13.413] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.413] signalCondition(cond) [13:13:13.413] } [13:13:13.413] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.413] "immediateCondition"))) { [13:13:13.413] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.413] ...future.conditions[[length(...future.conditions) + [13:13:13.413] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.413] if (TRUE && !signal) { [13:13:13.413] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.413] { [13:13:13.413] inherits <- base::inherits [13:13:13.413] invokeRestart <- base::invokeRestart [13:13:13.413] is.null <- base::is.null [13:13:13.413] muffled <- FALSE [13:13:13.413] if (inherits(cond, "message")) { [13:13:13.413] muffled <- grepl(pattern, "muffleMessage") [13:13:13.413] if (muffled) [13:13:13.413] invokeRestart("muffleMessage") [13:13:13.413] } [13:13:13.413] else if (inherits(cond, "warning")) { [13:13:13.413] muffled <- grepl(pattern, "muffleWarning") [13:13:13.413] if (muffled) [13:13:13.413] invokeRestart("muffleWarning") [13:13:13.413] } [13:13:13.413] else if (inherits(cond, "condition")) { [13:13:13.413] if (!is.null(pattern)) { [13:13:13.413] computeRestarts <- base::computeRestarts [13:13:13.413] grepl <- base::grepl [13:13:13.413] restarts <- computeRestarts(cond) [13:13:13.413] for (restart in restarts) { [13:13:13.413] name <- restart$name [13:13:13.413] if (is.null(name)) [13:13:13.413] next [13:13:13.413] if (!grepl(pattern, name)) [13:13:13.413] next [13:13:13.413] invokeRestart(restart) [13:13:13.413] muffled <- TRUE [13:13:13.413] break [13:13:13.413] } [13:13:13.413] } [13:13:13.413] } [13:13:13.413] invisible(muffled) [13:13:13.413] } [13:13:13.413] muffleCondition(cond, pattern = "^muffle") [13:13:13.413] } [13:13:13.413] } [13:13:13.413] else { [13:13:13.413] if (TRUE) { [13:13:13.413] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.413] { [13:13:13.413] inherits <- base::inherits [13:13:13.413] invokeRestart <- base::invokeRestart [13:13:13.413] is.null <- base::is.null [13:13:13.413] muffled <- FALSE [13:13:13.413] if (inherits(cond, "message")) { [13:13:13.413] muffled <- grepl(pattern, "muffleMessage") [13:13:13.413] if (muffled) [13:13:13.413] invokeRestart("muffleMessage") [13:13:13.413] } [13:13:13.413] else if (inherits(cond, "warning")) { [13:13:13.413] muffled <- grepl(pattern, "muffleWarning") [13:13:13.413] if (muffled) [13:13:13.413] invokeRestart("muffleWarning") [13:13:13.413] } [13:13:13.413] else if (inherits(cond, "condition")) { [13:13:13.413] if (!is.null(pattern)) { [13:13:13.413] computeRestarts <- base::computeRestarts [13:13:13.413] grepl <- base::grepl [13:13:13.413] restarts <- computeRestarts(cond) [13:13:13.413] for (restart in restarts) { [13:13:13.413] name <- restart$name [13:13:13.413] if (is.null(name)) [13:13:13.413] next [13:13:13.413] if (!grepl(pattern, name)) [13:13:13.413] next [13:13:13.413] invokeRestart(restart) [13:13:13.413] muffled <- TRUE [13:13:13.413] break [13:13:13.413] } [13:13:13.413] } [13:13:13.413] } [13:13:13.413] invisible(muffled) [13:13:13.413] } [13:13:13.413] muffleCondition(cond, pattern = "^muffle") [13:13:13.413] } [13:13:13.413] } [13:13:13.413] } [13:13:13.413] })) [13:13:13.413] }, error = function(ex) { [13:13:13.413] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.413] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.413] ...future.rng), started = ...future.startTime, [13:13:13.413] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.413] version = "1.8"), class = "FutureResult") [13:13:13.413] }, finally = { [13:13:13.413] if (!identical(...future.workdir, getwd())) [13:13:13.413] setwd(...future.workdir) [13:13:13.413] { [13:13:13.413] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.413] ...future.oldOptions$nwarnings <- NULL [13:13:13.413] } [13:13:13.413] base::options(...future.oldOptions) [13:13:13.413] if (.Platform$OS.type == "windows") { [13:13:13.413] old_names <- names(...future.oldEnvVars) [13:13:13.413] envs <- base::Sys.getenv() [13:13:13.413] names <- names(envs) [13:13:13.413] common <- intersect(names, old_names) [13:13:13.413] added <- setdiff(names, old_names) [13:13:13.413] removed <- setdiff(old_names, names) [13:13:13.413] changed <- common[...future.oldEnvVars[common] != [13:13:13.413] envs[common]] [13:13:13.413] NAMES <- toupper(changed) [13:13:13.413] args <- list() [13:13:13.413] for (kk in seq_along(NAMES)) { [13:13:13.413] name <- changed[[kk]] [13:13:13.413] NAME <- NAMES[[kk]] [13:13:13.413] if (name != NAME && is.element(NAME, old_names)) [13:13:13.413] next [13:13:13.413] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.413] } [13:13:13.413] NAMES <- toupper(added) [13:13:13.413] for (kk in seq_along(NAMES)) { [13:13:13.413] name <- added[[kk]] [13:13:13.413] NAME <- NAMES[[kk]] [13:13:13.413] if (name != NAME && is.element(NAME, old_names)) [13:13:13.413] next [13:13:13.413] args[[name]] <- "" [13:13:13.413] } [13:13:13.413] NAMES <- toupper(removed) [13:13:13.413] for (kk in seq_along(NAMES)) { [13:13:13.413] name <- removed[[kk]] [13:13:13.413] NAME <- NAMES[[kk]] [13:13:13.413] if (name != NAME && is.element(NAME, old_names)) [13:13:13.413] next [13:13:13.413] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.413] } [13:13:13.413] if (length(args) > 0) [13:13:13.413] base::do.call(base::Sys.setenv, args = args) [13:13:13.413] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.413] } [13:13:13.413] else { [13:13:13.413] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.413] } [13:13:13.413] { [13:13:13.413] if (base::length(...future.futureOptionsAdded) > [13:13:13.413] 0L) { [13:13:13.413] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.413] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.413] base::options(opts) [13:13:13.413] } [13:13:13.413] { [13:13:13.413] { [13:13:13.413] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.413] NULL [13:13:13.413] } [13:13:13.413] options(future.plan = NULL) [13:13:13.413] if (is.na(NA_character_)) [13:13:13.413] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.413] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.413] future::plan(list(function (..., workers = availableCores(), [13:13:13.413] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.413] envir = parent.frame()) [13:13:13.413] { [13:13:13.413] if (is.function(workers)) [13:13:13.413] workers <- workers() [13:13:13.413] workers <- structure(as.integer(workers), [13:13:13.413] class = class(workers)) [13:13:13.413] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.413] workers >= 1) [13:13:13.413] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.413] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.413] } [13:13:13.413] future <- MultisessionFuture(..., workers = workers, [13:13:13.413] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.413] envir = envir) [13:13:13.413] if (!future$lazy) [13:13:13.413] future <- run(future) [13:13:13.413] invisible(future) [13:13:13.413] }), .cleanup = FALSE, .init = FALSE) [13:13:13.413] } [13:13:13.413] } [13:13:13.413] } [13:13:13.413] }) [13:13:13.413] if (TRUE) { [13:13:13.413] base::sink(type = "output", split = FALSE) [13:13:13.413] if (TRUE) { [13:13:13.413] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.413] } [13:13:13.413] else { [13:13:13.413] ...future.result["stdout"] <- base::list(NULL) [13:13:13.413] } [13:13:13.413] base::close(...future.stdout) [13:13:13.413] ...future.stdout <- NULL [13:13:13.413] } [13:13:13.413] ...future.result$conditions <- ...future.conditions [13:13:13.413] ...future.result$finished <- base::Sys.time() [13:13:13.413] ...future.result [13:13:13.413] } [13:13:13.419] Exporting 5 global objects (1.12 KiB) to cluster node #1 ... [13:13:13.419] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.419] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.420] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... [13:13:13.420] Exporting '...future.FUN' (848 bytes) to cluster node #1 ... DONE [13:13:13.420] Exporting '...future.elements_ii' (248 bytes) to cluster node #1 ... [13:13:13.421] Exporting '...future.elements_ii' (248 bytes) to cluster node #1 ... DONE [13:13:13.421] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.422] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.422] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.422] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.422] Exporting 5 global objects (1.12 KiB) to cluster node #1 ... DONE [13:13:13.423] MultisessionFuture started [13:13:13.423] - Launch lazy future ... done [13:13:13.423] run() for 'MultisessionFuture' ... done [13:13:13.424] Created future: [13:13:13.439] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.439] - Validating connection of MultisessionFuture [13:13:13.439] - received message: FutureResult [13:13:13.440] - Received FutureResult [13:13:13.440] - Erased future from FutureRegistry [13:13:13.440] result() for ClusterFuture ... [13:13:13.440] - result already collected: FutureResult [13:13:13.440] result() for ClusterFuture ... done [13:13:13.440] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.424] MultisessionFuture: [13:13:13.424] Label: 'future_apply-2' [13:13:13.424] Expression: [13:13:13.424] { [13:13:13.424] do.call(function(...) { [13:13:13.424] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.424] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.424] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.424] on.exit(options(oopts), add = TRUE) [13:13:13.424] } [13:13:13.424] { [13:13:13.424] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.424] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.424] ...future.FUN(...future.X_jj, ...) [13:13:13.424] }) [13:13:13.424] } [13:13:13.424] }, args = future.call.arguments) [13:13:13.424] } [13:13:13.424] Lazy evaluation: FALSE [13:13:13.424] Asynchronous evaluation: TRUE [13:13:13.424] Local evaluation: TRUE [13:13:13.424] Environment: R_GlobalEnv [13:13:13.424] Capture standard output: TRUE [13:13:13.424] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.424] Globals: 5 objects totaling 1.12 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 848 bytes, list '...future.elements_ii' of 248 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.424] Packages: [13:13:13.424] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.424] Resolved: TRUE [13:13:13.424] Value: [13:13:13.424] Conditions captured: [13:13:13.424] Early signaling: FALSE [13:13:13.424] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.424] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.441] Chunk #2 of 2 ... DONE [13:13:13.441] Launching 2 futures (chunks) ... DONE [13:13:13.441] Resolving 2 futures (chunks) ... [13:13:13.441] resolve() on list ... [13:13:13.441] recursive: 0 [13:13:13.442] length: 2 [13:13:13.442] [13:13:13.442] Future #1 [13:13:13.442] result() for ClusterFuture ... [13:13:13.442] - result already collected: FutureResult [13:13:13.442] result() for ClusterFuture ... done [13:13:13.443] result() for ClusterFuture ... [13:13:13.443] - result already collected: FutureResult [13:13:13.443] result() for ClusterFuture ... done [13:13:13.443] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:13.443] - nx: 2 [13:13:13.443] - relay: TRUE [13:13:13.444] - stdout: TRUE [13:13:13.444] - signal: TRUE [13:13:13.444] - resignal: FALSE [13:13:13.444] - force: TRUE [13:13:13.444] - relayed: [n=2] FALSE, FALSE [13:13:13.444] - queued futures: [n=2] FALSE, FALSE [13:13:13.445] - until=1 [13:13:13.445] - relaying element #1 [13:13:13.445] result() for ClusterFuture ... [13:13:13.445] - result already collected: FutureResult [13:13:13.445] result() for ClusterFuture ... done [13:13:13.445] result() for ClusterFuture ... [13:13:13.445] - result already collected: FutureResult [13:13:13.446] result() for ClusterFuture ... done [13:13:13.446] result() for ClusterFuture ... [13:13:13.446] - result already collected: FutureResult [13:13:13.446] result() for ClusterFuture ... done [13:13:13.446] result() for ClusterFuture ... [13:13:13.446] - result already collected: FutureResult [13:13:13.447] result() for ClusterFuture ... done [13:13:13.447] - relayed: [n=2] TRUE, FALSE [13:13:13.447] - queued futures: [n=2] TRUE, FALSE [13:13:13.447] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:13.447] length: 1 (resolved future 1) [13:13:13.447] Future #2 [13:13:13.448] result() for ClusterFuture ... [13:13:13.448] - result already collected: FutureResult [13:13:13.448] result() for ClusterFuture ... done [13:13:13.448] result() for ClusterFuture ... [13:13:13.448] - result already collected: FutureResult [13:13:13.448] result() for ClusterFuture ... done [13:13:13.449] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:13.449] - nx: 2 [13:13:13.449] - relay: TRUE [13:13:13.449] - stdout: TRUE [13:13:13.449] - signal: TRUE [13:13:13.449] - resignal: FALSE [13:13:13.449] - force: TRUE [13:13:13.450] - relayed: [n=2] TRUE, FALSE [13:13:13.450] - queued futures: [n=2] TRUE, FALSE [13:13:13.450] - until=2 [13:13:13.450] - relaying element #2 [13:13:13.450] result() for ClusterFuture ... [13:13:13.450] - result already collected: FutureResult [13:13:13.451] result() for ClusterFuture ... done [13:13:13.451] result() for ClusterFuture ... [13:13:13.451] - result already collected: FutureResult [13:13:13.451] result() for ClusterFuture ... done [13:13:13.451] result() for ClusterFuture ... [13:13:13.451] - result already collected: FutureResult [13:13:13.452] result() for ClusterFuture ... done [13:13:13.452] result() for ClusterFuture ... [13:13:13.452] - result already collected: FutureResult [13:13:13.452] result() for ClusterFuture ... done [13:13:13.452] - relayed: [n=2] TRUE, TRUE [13:13:13.452] - queued futures: [n=2] TRUE, TRUE [13:13:13.453] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:13.453] length: 0 (resolved future 2) [13:13:13.453] Relaying remaining futures [13:13:13.453] signalConditionsASAP(NULL, pos=0) ... [13:13:13.453] - nx: 2 [13:13:13.453] - relay: TRUE [13:13:13.453] - stdout: TRUE [13:13:13.454] - signal: TRUE [13:13:13.454] - resignal: FALSE [13:13:13.454] - force: TRUE [13:13:13.454] - relayed: [n=2] TRUE, TRUE [13:13:13.454] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:13.454] - relayed: [n=2] TRUE, TRUE [13:13:13.455] - queued futures: [n=2] TRUE, TRUE [13:13:13.455] signalConditionsASAP(NULL, pos=0) ... done [13:13:13.455] resolve() on list ... DONE [13:13:13.455] result() for ClusterFuture ... [13:13:13.455] - result already collected: FutureResult [13:13:13.455] result() for ClusterFuture ... done [13:13:13.456] result() for ClusterFuture ... [13:13:13.456] - result already collected: FutureResult [13:13:13.456] result() for ClusterFuture ... done [13:13:13.456] result() for ClusterFuture ... [13:13:13.456] - result already collected: FutureResult [13:13:13.456] result() for ClusterFuture ... done [13:13:13.457] result() for ClusterFuture ... [13:13:13.457] - result already collected: FutureResult [13:13:13.457] result() for ClusterFuture ... done [13:13:13.457] - Number of value chunks collected: 2 [13:13:13.457] Resolving 2 futures (chunks) ... DONE [13:13:13.457] Reducing values from 2 chunks ... [13:13:13.458] - Number of values collected after concatenation: 2 [13:13:13.458] - Number of values expected: 2 [13:13:13.458] Reducing values from 2 chunks ... DONE [13:13:13.458] future_lapply() ... DONE [,1] [,2] [1,] 1 2 [2,] 3 4 [3,] 5 6 [4,] 7 8 [5,] 9 10 [6,] 11 12 - apply(X, ...) - not all same names ... [13:13:13.458] getGlobalsAndPackagesXApply() ... [13:13:13.459] - future.globals: TRUE [13:13:13.459] getGlobalsAndPackages() ... [13:13:13.459] Searching for globals... [13:13:13.462] - globals found: [10] 'FUN', '{', 'if', '==', '[', '<-', 'names', 'names<-', 'letters', 'seq_along' [13:13:13.462] Searching for globals ... DONE [13:13:13.462] Resolving globals: FALSE [13:13:13.463] The total size of the 1 globals is 9.66 KiB (9888 bytes) [13:13:13.464] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:4, dim = c(2L, 2L)))') is 9.66 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (9.66 KiB of class 'function') [13:13:13.464] - globals: [1] 'FUN' [13:13:13.464] [13:13:13.464] getGlobalsAndPackages() ... DONE [13:13:13.464] - globals found/used: [n=1] 'FUN' [13:13:13.464] - needed namespaces: [n=0] [13:13:13.465] Finding globals ... DONE [13:13:13.465] - use_args: TRUE [13:13:13.465] - Getting '...' globals ... [13:13:13.465] resolve() on list ... [13:13:13.465] recursive: 0 [13:13:13.466] length: 1 [13:13:13.466] elements: '...' [13:13:13.466] length: 0 (resolved future 1) [13:13:13.466] resolve() on list ... DONE [13:13:13.466] - '...' content: [n=0] [13:13:13.467] List of 1 [13:13:13.467] $ ...: list() [13:13:13.467] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.467] - attr(*, "where")=List of 1 [13:13:13.467] ..$ ...: [13:13:13.467] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.467] - attr(*, "resolved")= logi TRUE [13:13:13.467] - attr(*, "total_size")= num NA [13:13:13.470] - Getting '...' globals ... DONE [13:13:13.470] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:13.470] List of 2 [13:13:13.470] $ ...future.FUN:function (x) [13:13:13.470] $ ... : list() [13:13:13.470] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.470] - attr(*, "where")=List of 2 [13:13:13.470] ..$ ...future.FUN: [13:13:13.470] ..$ ... : [13:13:13.470] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.470] - attr(*, "resolved")= logi FALSE [13:13:13.470] - attr(*, "total_size")= num 9888 [13:13:13.473] Packages to be attached in all futures: [n=0] [13:13:13.474] getGlobalsAndPackagesXApply() ... DONE [13:13:13.476] future_lapply() ... [13:13:13.480] Number of chunks: 2 [13:13:13.480] getGlobalsAndPackagesXApply() ... [13:13:13.480] - future.globals: with names 'list()' [13:13:13.480] - use_args: TRUE [13:13:13.481] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:13.481] List of 2 [13:13:13.481] $ ... : list() [13:13:13.481] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.481] $ ...future.FUN:function (x) [13:13:13.481] - attr(*, "where")=List of 2 [13:13:13.481] ..$ ... : [13:13:13.481] ..$ ...future.FUN: [13:13:13.481] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.481] - attr(*, "resolved")= logi FALSE [13:13:13.481] - attr(*, "total_size")= num NA [13:13:13.484] Packages to be attached in all futures: [n=0] [13:13:13.485] getGlobalsAndPackagesXApply() ... DONE [13:13:13.485] Number of futures (= number of chunks): 2 [13:13:13.485] Launching 2 futures (chunks) ... [13:13:13.485] Chunk #1 of 2 ... [13:13:13.485] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.486] - seeds: [13:13:13.486] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.486] getGlobalsAndPackages() ... [13:13:13.486] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.486] Resolving globals: FALSE [13:13:13.486] Tweak future expression to call with '...' arguments ... [13:13:13.487] { [13:13:13.487] do.call(function(...) { [13:13:13.487] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.487] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.487] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.487] on.exit(options(oopts), add = TRUE) [13:13:13.487] } [13:13:13.487] { [13:13:13.487] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.487] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.487] ...future.FUN(...future.X_jj, ...) [13:13:13.487] }) [13:13:13.487] } [13:13:13.487] }, args = future.call.arguments) [13:13:13.487] } [13:13:13.487] Tweak future expression to call with '...' arguments ... DONE [13:13:13.488] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.488] [13:13:13.488] getGlobalsAndPackages() ... DONE [13:13:13.488] run() for 'Future' ... [13:13:13.489] - state: 'created' [13:13:13.489] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.503] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.503] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.503] - Field: 'node' [13:13:13.503] - Field: 'label' [13:13:13.503] - Field: 'local' [13:13:13.504] - Field: 'owner' [13:13:13.504] - Field: 'envir' [13:13:13.504] - Field: 'workers' [13:13:13.504] - Field: 'packages' [13:13:13.504] - Field: 'gc' [13:13:13.505] - Field: 'conditions' [13:13:13.505] - Field: 'persistent' [13:13:13.505] - Field: 'expr' [13:13:13.505] - Field: 'uuid' [13:13:13.505] - Field: 'seed' [13:13:13.505] - Field: 'version' [13:13:13.506] - Field: 'result' [13:13:13.506] - Field: 'asynchronous' [13:13:13.506] - Field: 'calls' [13:13:13.506] - Field: 'globals' [13:13:13.506] - Field: 'stdout' [13:13:13.507] - Field: 'earlySignal' [13:13:13.507] - Field: 'lazy' [13:13:13.507] - Field: 'state' [13:13:13.507] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.507] - Launch lazy future ... [13:13:13.508] Packages needed by the future expression (n = 0): [13:13:13.508] Packages needed by future strategies (n = 0): [13:13:13.508] { [13:13:13.508] { [13:13:13.508] { [13:13:13.508] ...future.startTime <- base::Sys.time() [13:13:13.508] { [13:13:13.508] { [13:13:13.508] { [13:13:13.508] { [13:13:13.508] base::local({ [13:13:13.508] has_future <- base::requireNamespace("future", [13:13:13.508] quietly = TRUE) [13:13:13.508] if (has_future) { [13:13:13.508] ns <- base::getNamespace("future") [13:13:13.508] version <- ns[[".package"]][["version"]] [13:13:13.508] if (is.null(version)) [13:13:13.508] version <- utils::packageVersion("future") [13:13:13.508] } [13:13:13.508] else { [13:13:13.508] version <- NULL [13:13:13.508] } [13:13:13.508] if (!has_future || version < "1.8.0") { [13:13:13.508] info <- base::c(r_version = base::gsub("R version ", [13:13:13.508] "", base::R.version$version.string), [13:13:13.508] platform = base::sprintf("%s (%s-bit)", [13:13:13.508] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.508] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.508] "release", "version")], collapse = " "), [13:13:13.508] hostname = base::Sys.info()[["nodename"]]) [13:13:13.508] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.508] info) [13:13:13.508] info <- base::paste(info, collapse = "; ") [13:13:13.508] if (!has_future) { [13:13:13.508] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.508] info) [13:13:13.508] } [13:13:13.508] else { [13:13:13.508] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.508] info, version) [13:13:13.508] } [13:13:13.508] base::stop(msg) [13:13:13.508] } [13:13:13.508] }) [13:13:13.508] } [13:13:13.508] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.508] base::options(mc.cores = 1L) [13:13:13.508] } [13:13:13.508] options(future.plan = NULL) [13:13:13.508] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.508] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.508] } [13:13:13.508] ...future.workdir <- getwd() [13:13:13.508] } [13:13:13.508] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.508] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.508] } [13:13:13.508] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.508] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.508] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.508] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.508] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.508] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.508] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.508] base::names(...future.oldOptions)) [13:13:13.508] } [13:13:13.508] if (FALSE) { [13:13:13.508] } [13:13:13.508] else { [13:13:13.508] if (TRUE) { [13:13:13.508] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.508] open = "w") [13:13:13.508] } [13:13:13.508] else { [13:13:13.508] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.508] windows = "NUL", "/dev/null"), open = "w") [13:13:13.508] } [13:13:13.508] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.508] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.508] base::sink(type = "output", split = FALSE) [13:13:13.508] base::close(...future.stdout) [13:13:13.508] }, add = TRUE) [13:13:13.508] } [13:13:13.508] ...future.frame <- base::sys.nframe() [13:13:13.508] ...future.conditions <- base::list() [13:13:13.508] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.508] if (FALSE) { [13:13:13.508] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.508] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.508] } [13:13:13.508] ...future.result <- base::tryCatch({ [13:13:13.508] base::withCallingHandlers({ [13:13:13.508] ...future.value <- base::withVisible(base::local({ [13:13:13.508] ...future.makeSendCondition <- local({ [13:13:13.508] sendCondition <- NULL [13:13:13.508] function(frame = 1L) { [13:13:13.508] if (is.function(sendCondition)) [13:13:13.508] return(sendCondition) [13:13:13.508] ns <- getNamespace("parallel") [13:13:13.508] if (exists("sendData", mode = "function", [13:13:13.508] envir = ns)) { [13:13:13.508] parallel_sendData <- get("sendData", mode = "function", [13:13:13.508] envir = ns) [13:13:13.508] envir <- sys.frame(frame) [13:13:13.508] master <- NULL [13:13:13.508] while (!identical(envir, .GlobalEnv) && [13:13:13.508] !identical(envir, emptyenv())) { [13:13:13.508] if (exists("master", mode = "list", envir = envir, [13:13:13.508] inherits = FALSE)) { [13:13:13.508] master <- get("master", mode = "list", [13:13:13.508] envir = envir, inherits = FALSE) [13:13:13.508] if (inherits(master, c("SOCKnode", [13:13:13.508] "SOCK0node"))) { [13:13:13.508] sendCondition <<- function(cond) { [13:13:13.508] data <- list(type = "VALUE", value = cond, [13:13:13.508] success = TRUE) [13:13:13.508] parallel_sendData(master, data) [13:13:13.508] } [13:13:13.508] return(sendCondition) [13:13:13.508] } [13:13:13.508] } [13:13:13.508] frame <- frame + 1L [13:13:13.508] envir <- sys.frame(frame) [13:13:13.508] } [13:13:13.508] } [13:13:13.508] sendCondition <<- function(cond) NULL [13:13:13.508] } [13:13:13.508] }) [13:13:13.508] withCallingHandlers({ [13:13:13.508] { [13:13:13.508] do.call(function(...) { [13:13:13.508] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.508] if (!identical(...future.globals.maxSize.org, [13:13:13.508] ...future.globals.maxSize)) { [13:13:13.508] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.508] on.exit(options(oopts), add = TRUE) [13:13:13.508] } [13:13:13.508] { [13:13:13.508] lapply(seq_along(...future.elements_ii), [13:13:13.508] FUN = function(jj) { [13:13:13.508] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.508] ...future.FUN(...future.X_jj, ...) [13:13:13.508] }) [13:13:13.508] } [13:13:13.508] }, args = future.call.arguments) [13:13:13.508] } [13:13:13.508] }, immediateCondition = function(cond) { [13:13:13.508] sendCondition <- ...future.makeSendCondition() [13:13:13.508] sendCondition(cond) [13:13:13.508] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.508] { [13:13:13.508] inherits <- base::inherits [13:13:13.508] invokeRestart <- base::invokeRestart [13:13:13.508] is.null <- base::is.null [13:13:13.508] muffled <- FALSE [13:13:13.508] if (inherits(cond, "message")) { [13:13:13.508] muffled <- grepl(pattern, "muffleMessage") [13:13:13.508] if (muffled) [13:13:13.508] invokeRestart("muffleMessage") [13:13:13.508] } [13:13:13.508] else if (inherits(cond, "warning")) { [13:13:13.508] muffled <- grepl(pattern, "muffleWarning") [13:13:13.508] if (muffled) [13:13:13.508] invokeRestart("muffleWarning") [13:13:13.508] } [13:13:13.508] else if (inherits(cond, "condition")) { [13:13:13.508] if (!is.null(pattern)) { [13:13:13.508] computeRestarts <- base::computeRestarts [13:13:13.508] grepl <- base::grepl [13:13:13.508] restarts <- computeRestarts(cond) [13:13:13.508] for (restart in restarts) { [13:13:13.508] name <- restart$name [13:13:13.508] if (is.null(name)) [13:13:13.508] next [13:13:13.508] if (!grepl(pattern, name)) [13:13:13.508] next [13:13:13.508] invokeRestart(restart) [13:13:13.508] muffled <- TRUE [13:13:13.508] break [13:13:13.508] } [13:13:13.508] } [13:13:13.508] } [13:13:13.508] invisible(muffled) [13:13:13.508] } [13:13:13.508] muffleCondition(cond) [13:13:13.508] }) [13:13:13.508] })) [13:13:13.508] future::FutureResult(value = ...future.value$value, [13:13:13.508] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.508] ...future.rng), globalenv = if (FALSE) [13:13:13.508] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.508] ...future.globalenv.names)) [13:13:13.508] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.508] }, condition = base::local({ [13:13:13.508] c <- base::c [13:13:13.508] inherits <- base::inherits [13:13:13.508] invokeRestart <- base::invokeRestart [13:13:13.508] length <- base::length [13:13:13.508] list <- base::list [13:13:13.508] seq.int <- base::seq.int [13:13:13.508] signalCondition <- base::signalCondition [13:13:13.508] sys.calls <- base::sys.calls [13:13:13.508] `[[` <- base::`[[` [13:13:13.508] `+` <- base::`+` [13:13:13.508] `<<-` <- base::`<<-` [13:13:13.508] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.508] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.508] 3L)] [13:13:13.508] } [13:13:13.508] function(cond) { [13:13:13.508] is_error <- inherits(cond, "error") [13:13:13.508] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.508] NULL) [13:13:13.508] if (is_error) { [13:13:13.508] sessionInformation <- function() { [13:13:13.508] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.508] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.508] search = base::search(), system = base::Sys.info()) [13:13:13.508] } [13:13:13.508] ...future.conditions[[length(...future.conditions) + [13:13:13.508] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.508] cond$call), session = sessionInformation(), [13:13:13.508] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.508] signalCondition(cond) [13:13:13.508] } [13:13:13.508] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.508] "immediateCondition"))) { [13:13:13.508] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.508] ...future.conditions[[length(...future.conditions) + [13:13:13.508] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.508] if (TRUE && !signal) { [13:13:13.508] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.508] { [13:13:13.508] inherits <- base::inherits [13:13:13.508] invokeRestart <- base::invokeRestart [13:13:13.508] is.null <- base::is.null [13:13:13.508] muffled <- FALSE [13:13:13.508] if (inherits(cond, "message")) { [13:13:13.508] muffled <- grepl(pattern, "muffleMessage") [13:13:13.508] if (muffled) [13:13:13.508] invokeRestart("muffleMessage") [13:13:13.508] } [13:13:13.508] else if (inherits(cond, "warning")) { [13:13:13.508] muffled <- grepl(pattern, "muffleWarning") [13:13:13.508] if (muffled) [13:13:13.508] invokeRestart("muffleWarning") [13:13:13.508] } [13:13:13.508] else if (inherits(cond, "condition")) { [13:13:13.508] if (!is.null(pattern)) { [13:13:13.508] computeRestarts <- base::computeRestarts [13:13:13.508] grepl <- base::grepl [13:13:13.508] restarts <- computeRestarts(cond) [13:13:13.508] for (restart in restarts) { [13:13:13.508] name <- restart$name [13:13:13.508] if (is.null(name)) [13:13:13.508] next [13:13:13.508] if (!grepl(pattern, name)) [13:13:13.508] next [13:13:13.508] invokeRestart(restart) [13:13:13.508] muffled <- TRUE [13:13:13.508] break [13:13:13.508] } [13:13:13.508] } [13:13:13.508] } [13:13:13.508] invisible(muffled) [13:13:13.508] } [13:13:13.508] muffleCondition(cond, pattern = "^muffle") [13:13:13.508] } [13:13:13.508] } [13:13:13.508] else { [13:13:13.508] if (TRUE) { [13:13:13.508] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.508] { [13:13:13.508] inherits <- base::inherits [13:13:13.508] invokeRestart <- base::invokeRestart [13:13:13.508] is.null <- base::is.null [13:13:13.508] muffled <- FALSE [13:13:13.508] if (inherits(cond, "message")) { [13:13:13.508] muffled <- grepl(pattern, "muffleMessage") [13:13:13.508] if (muffled) [13:13:13.508] invokeRestart("muffleMessage") [13:13:13.508] } [13:13:13.508] else if (inherits(cond, "warning")) { [13:13:13.508] muffled <- grepl(pattern, "muffleWarning") [13:13:13.508] if (muffled) [13:13:13.508] invokeRestart("muffleWarning") [13:13:13.508] } [13:13:13.508] else if (inherits(cond, "condition")) { [13:13:13.508] if (!is.null(pattern)) { [13:13:13.508] computeRestarts <- base::computeRestarts [13:13:13.508] grepl <- base::grepl [13:13:13.508] restarts <- computeRestarts(cond) [13:13:13.508] for (restart in restarts) { [13:13:13.508] name <- restart$name [13:13:13.508] if (is.null(name)) [13:13:13.508] next [13:13:13.508] if (!grepl(pattern, name)) [13:13:13.508] next [13:13:13.508] invokeRestart(restart) [13:13:13.508] muffled <- TRUE [13:13:13.508] break [13:13:13.508] } [13:13:13.508] } [13:13:13.508] } [13:13:13.508] invisible(muffled) [13:13:13.508] } [13:13:13.508] muffleCondition(cond, pattern = "^muffle") [13:13:13.508] } [13:13:13.508] } [13:13:13.508] } [13:13:13.508] })) [13:13:13.508] }, error = function(ex) { [13:13:13.508] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.508] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.508] ...future.rng), started = ...future.startTime, [13:13:13.508] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.508] version = "1.8"), class = "FutureResult") [13:13:13.508] }, finally = { [13:13:13.508] if (!identical(...future.workdir, getwd())) [13:13:13.508] setwd(...future.workdir) [13:13:13.508] { [13:13:13.508] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.508] ...future.oldOptions$nwarnings <- NULL [13:13:13.508] } [13:13:13.508] base::options(...future.oldOptions) [13:13:13.508] if (.Platform$OS.type == "windows") { [13:13:13.508] old_names <- names(...future.oldEnvVars) [13:13:13.508] envs <- base::Sys.getenv() [13:13:13.508] names <- names(envs) [13:13:13.508] common <- intersect(names, old_names) [13:13:13.508] added <- setdiff(names, old_names) [13:13:13.508] removed <- setdiff(old_names, names) [13:13:13.508] changed <- common[...future.oldEnvVars[common] != [13:13:13.508] envs[common]] [13:13:13.508] NAMES <- toupper(changed) [13:13:13.508] args <- list() [13:13:13.508] for (kk in seq_along(NAMES)) { [13:13:13.508] name <- changed[[kk]] [13:13:13.508] NAME <- NAMES[[kk]] [13:13:13.508] if (name != NAME && is.element(NAME, old_names)) [13:13:13.508] next [13:13:13.508] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.508] } [13:13:13.508] NAMES <- toupper(added) [13:13:13.508] for (kk in seq_along(NAMES)) { [13:13:13.508] name <- added[[kk]] [13:13:13.508] NAME <- NAMES[[kk]] [13:13:13.508] if (name != NAME && is.element(NAME, old_names)) [13:13:13.508] next [13:13:13.508] args[[name]] <- "" [13:13:13.508] } [13:13:13.508] NAMES <- toupper(removed) [13:13:13.508] for (kk in seq_along(NAMES)) { [13:13:13.508] name <- removed[[kk]] [13:13:13.508] NAME <- NAMES[[kk]] [13:13:13.508] if (name != NAME && is.element(NAME, old_names)) [13:13:13.508] next [13:13:13.508] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.508] } [13:13:13.508] if (length(args) > 0) [13:13:13.508] base::do.call(base::Sys.setenv, args = args) [13:13:13.508] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.508] } [13:13:13.508] else { [13:13:13.508] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.508] } [13:13:13.508] { [13:13:13.508] if (base::length(...future.futureOptionsAdded) > [13:13:13.508] 0L) { [13:13:13.508] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.508] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.508] base::options(opts) [13:13:13.508] } [13:13:13.508] { [13:13:13.508] { [13:13:13.508] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.508] NULL [13:13:13.508] } [13:13:13.508] options(future.plan = NULL) [13:13:13.508] if (is.na(NA_character_)) [13:13:13.508] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.508] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.508] future::plan(list(function (..., workers = availableCores(), [13:13:13.508] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.508] envir = parent.frame()) [13:13:13.508] { [13:13:13.508] if (is.function(workers)) [13:13:13.508] workers <- workers() [13:13:13.508] workers <- structure(as.integer(workers), [13:13:13.508] class = class(workers)) [13:13:13.508] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.508] workers >= 1) [13:13:13.508] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.508] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.508] } [13:13:13.508] future <- MultisessionFuture(..., workers = workers, [13:13:13.508] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.508] envir = envir) [13:13:13.508] if (!future$lazy) [13:13:13.508] future <- run(future) [13:13:13.508] invisible(future) [13:13:13.508] }), .cleanup = FALSE, .init = FALSE) [13:13:13.508] } [13:13:13.508] } [13:13:13.508] } [13:13:13.508] }) [13:13:13.508] if (TRUE) { [13:13:13.508] base::sink(type = "output", split = FALSE) [13:13:13.508] if (TRUE) { [13:13:13.508] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.508] } [13:13:13.508] else { [13:13:13.508] ...future.result["stdout"] <- base::list(NULL) [13:13:13.508] } [13:13:13.508] base::close(...future.stdout) [13:13:13.508] ...future.stdout <- NULL [13:13:13.508] } [13:13:13.508] ...future.result$conditions <- ...future.conditions [13:13:13.508] ...future.result$finished <- base::Sys.time() [13:13:13.508] ...future.result [13:13:13.508] } [13:13:13.514] Exporting 5 global objects (9.77 KiB) to cluster node #1 ... [13:13:13.514] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.515] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.515] Exporting '...future.FUN' (9.66 KiB) to cluster node #1 ... [13:13:13.516] Exporting '...future.FUN' (9.66 KiB) to cluster node #1 ... DONE [13:13:13.516] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:13:13.516] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:13:13.516] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.517] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.517] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.517] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.518] Exporting 5 global objects (9.77 KiB) to cluster node #1 ... DONE [13:13:13.518] MultisessionFuture started [13:13:13.518] - Launch lazy future ... done [13:13:13.519] run() for 'MultisessionFuture' ... done [13:13:13.519] Created future: [13:13:13.534] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.535] - Validating connection of MultisessionFuture [13:13:13.535] - received message: FutureResult [13:13:13.535] - Received FutureResult [13:13:13.535] - Erased future from FutureRegistry [13:13:13.536] result() for ClusterFuture ... [13:13:13.536] - result already collected: FutureResult [13:13:13.536] result() for ClusterFuture ... done [13:13:13.536] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.519] MultisessionFuture: [13:13:13.519] Label: 'future_apply-1' [13:13:13.519] Expression: [13:13:13.519] { [13:13:13.519] do.call(function(...) { [13:13:13.519] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.519] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.519] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.519] on.exit(options(oopts), add = TRUE) [13:13:13.519] } [13:13:13.519] { [13:13:13.519] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.519] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.519] ...future.FUN(...future.X_jj, ...) [13:13:13.519] }) [13:13:13.519] } [13:13:13.519] }, args = future.call.arguments) [13:13:13.519] } [13:13:13.519] Lazy evaluation: FALSE [13:13:13.519] Asynchronous evaluation: TRUE [13:13:13.519] Local evaluation: TRUE [13:13:13.519] Environment: R_GlobalEnv [13:13:13.519] Capture standard output: TRUE [13:13:13.519] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.519] Globals: 5 objects totaling 9.77 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 9.66 KiB, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.519] Packages: [13:13:13.519] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.519] Resolved: TRUE [13:13:13.519] Value: [13:13:13.519] Conditions captured: [13:13:13.519] Early signaling: FALSE [13:13:13.519] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.519] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.536] Chunk #1 of 2 ... DONE [13:13:13.537] Chunk #2 of 2 ... [13:13:13.537] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.537] - seeds: [13:13:13.537] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.537] getGlobalsAndPackages() ... [13:13:13.537] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.538] Resolving globals: FALSE [13:13:13.538] Tweak future expression to call with '...' arguments ... [13:13:13.538] { [13:13:13.538] do.call(function(...) { [13:13:13.538] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.538] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.538] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.538] on.exit(options(oopts), add = TRUE) [13:13:13.538] } [13:13:13.538] { [13:13:13.538] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.538] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.538] ...future.FUN(...future.X_jj, ...) [13:13:13.538] }) [13:13:13.538] } [13:13:13.538] }, args = future.call.arguments) [13:13:13.538] } [13:13:13.538] Tweak future expression to call with '...' arguments ... DONE [13:13:13.539] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.539] [13:13:13.539] getGlobalsAndPackages() ... DONE [13:13:13.540] run() for 'Future' ... [13:13:13.540] - state: 'created' [13:13:13.540] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.554] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.554] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.555] - Field: 'node' [13:13:13.555] - Field: 'label' [13:13:13.555] - Field: 'local' [13:13:13.555] - Field: 'owner' [13:13:13.555] - Field: 'envir' [13:13:13.555] - Field: 'workers' [13:13:13.556] - Field: 'packages' [13:13:13.556] - Field: 'gc' [13:13:13.556] - Field: 'conditions' [13:13:13.556] - Field: 'persistent' [13:13:13.556] - Field: 'expr' [13:13:13.557] - Field: 'uuid' [13:13:13.557] - Field: 'seed' [13:13:13.557] - Field: 'version' [13:13:13.557] - Field: 'result' [13:13:13.557] - Field: 'asynchronous' [13:13:13.557] - Field: 'calls' [13:13:13.558] - Field: 'globals' [13:13:13.558] - Field: 'stdout' [13:13:13.558] - Field: 'earlySignal' [13:13:13.558] - Field: 'lazy' [13:13:13.558] - Field: 'state' [13:13:13.559] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.559] - Launch lazy future ... [13:13:13.559] Packages needed by the future expression (n = 0): [13:13:13.559] Packages needed by future strategies (n = 0): [13:13:13.560] { [13:13:13.560] { [13:13:13.560] { [13:13:13.560] ...future.startTime <- base::Sys.time() [13:13:13.560] { [13:13:13.560] { [13:13:13.560] { [13:13:13.560] { [13:13:13.560] base::local({ [13:13:13.560] has_future <- base::requireNamespace("future", [13:13:13.560] quietly = TRUE) [13:13:13.560] if (has_future) { [13:13:13.560] ns <- base::getNamespace("future") [13:13:13.560] version <- ns[[".package"]][["version"]] [13:13:13.560] if (is.null(version)) [13:13:13.560] version <- utils::packageVersion("future") [13:13:13.560] } [13:13:13.560] else { [13:13:13.560] version <- NULL [13:13:13.560] } [13:13:13.560] if (!has_future || version < "1.8.0") { [13:13:13.560] info <- base::c(r_version = base::gsub("R version ", [13:13:13.560] "", base::R.version$version.string), [13:13:13.560] platform = base::sprintf("%s (%s-bit)", [13:13:13.560] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.560] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.560] "release", "version")], collapse = " "), [13:13:13.560] hostname = base::Sys.info()[["nodename"]]) [13:13:13.560] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.560] info) [13:13:13.560] info <- base::paste(info, collapse = "; ") [13:13:13.560] if (!has_future) { [13:13:13.560] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.560] info) [13:13:13.560] } [13:13:13.560] else { [13:13:13.560] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.560] info, version) [13:13:13.560] } [13:13:13.560] base::stop(msg) [13:13:13.560] } [13:13:13.560] }) [13:13:13.560] } [13:13:13.560] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.560] base::options(mc.cores = 1L) [13:13:13.560] } [13:13:13.560] options(future.plan = NULL) [13:13:13.560] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.560] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.560] } [13:13:13.560] ...future.workdir <- getwd() [13:13:13.560] } [13:13:13.560] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.560] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.560] } [13:13:13.560] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.560] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.560] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.560] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.560] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.560] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.560] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.560] base::names(...future.oldOptions)) [13:13:13.560] } [13:13:13.560] if (FALSE) { [13:13:13.560] } [13:13:13.560] else { [13:13:13.560] if (TRUE) { [13:13:13.560] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.560] open = "w") [13:13:13.560] } [13:13:13.560] else { [13:13:13.560] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.560] windows = "NUL", "/dev/null"), open = "w") [13:13:13.560] } [13:13:13.560] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.560] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.560] base::sink(type = "output", split = FALSE) [13:13:13.560] base::close(...future.stdout) [13:13:13.560] }, add = TRUE) [13:13:13.560] } [13:13:13.560] ...future.frame <- base::sys.nframe() [13:13:13.560] ...future.conditions <- base::list() [13:13:13.560] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.560] if (FALSE) { [13:13:13.560] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.560] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.560] } [13:13:13.560] ...future.result <- base::tryCatch({ [13:13:13.560] base::withCallingHandlers({ [13:13:13.560] ...future.value <- base::withVisible(base::local({ [13:13:13.560] ...future.makeSendCondition <- local({ [13:13:13.560] sendCondition <- NULL [13:13:13.560] function(frame = 1L) { [13:13:13.560] if (is.function(sendCondition)) [13:13:13.560] return(sendCondition) [13:13:13.560] ns <- getNamespace("parallel") [13:13:13.560] if (exists("sendData", mode = "function", [13:13:13.560] envir = ns)) { [13:13:13.560] parallel_sendData <- get("sendData", mode = "function", [13:13:13.560] envir = ns) [13:13:13.560] envir <- sys.frame(frame) [13:13:13.560] master <- NULL [13:13:13.560] while (!identical(envir, .GlobalEnv) && [13:13:13.560] !identical(envir, emptyenv())) { [13:13:13.560] if (exists("master", mode = "list", envir = envir, [13:13:13.560] inherits = FALSE)) { [13:13:13.560] master <- get("master", mode = "list", [13:13:13.560] envir = envir, inherits = FALSE) [13:13:13.560] if (inherits(master, c("SOCKnode", [13:13:13.560] "SOCK0node"))) { [13:13:13.560] sendCondition <<- function(cond) { [13:13:13.560] data <- list(type = "VALUE", value = cond, [13:13:13.560] success = TRUE) [13:13:13.560] parallel_sendData(master, data) [13:13:13.560] } [13:13:13.560] return(sendCondition) [13:13:13.560] } [13:13:13.560] } [13:13:13.560] frame <- frame + 1L [13:13:13.560] envir <- sys.frame(frame) [13:13:13.560] } [13:13:13.560] } [13:13:13.560] sendCondition <<- function(cond) NULL [13:13:13.560] } [13:13:13.560] }) [13:13:13.560] withCallingHandlers({ [13:13:13.560] { [13:13:13.560] do.call(function(...) { [13:13:13.560] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.560] if (!identical(...future.globals.maxSize.org, [13:13:13.560] ...future.globals.maxSize)) { [13:13:13.560] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.560] on.exit(options(oopts), add = TRUE) [13:13:13.560] } [13:13:13.560] { [13:13:13.560] lapply(seq_along(...future.elements_ii), [13:13:13.560] FUN = function(jj) { [13:13:13.560] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.560] ...future.FUN(...future.X_jj, ...) [13:13:13.560] }) [13:13:13.560] } [13:13:13.560] }, args = future.call.arguments) [13:13:13.560] } [13:13:13.560] }, immediateCondition = function(cond) { [13:13:13.560] sendCondition <- ...future.makeSendCondition() [13:13:13.560] sendCondition(cond) [13:13:13.560] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.560] { [13:13:13.560] inherits <- base::inherits [13:13:13.560] invokeRestart <- base::invokeRestart [13:13:13.560] is.null <- base::is.null [13:13:13.560] muffled <- FALSE [13:13:13.560] if (inherits(cond, "message")) { [13:13:13.560] muffled <- grepl(pattern, "muffleMessage") [13:13:13.560] if (muffled) [13:13:13.560] invokeRestart("muffleMessage") [13:13:13.560] } [13:13:13.560] else if (inherits(cond, "warning")) { [13:13:13.560] muffled <- grepl(pattern, "muffleWarning") [13:13:13.560] if (muffled) [13:13:13.560] invokeRestart("muffleWarning") [13:13:13.560] } [13:13:13.560] else if (inherits(cond, "condition")) { [13:13:13.560] if (!is.null(pattern)) { [13:13:13.560] computeRestarts <- base::computeRestarts [13:13:13.560] grepl <- base::grepl [13:13:13.560] restarts <- computeRestarts(cond) [13:13:13.560] for (restart in restarts) { [13:13:13.560] name <- restart$name [13:13:13.560] if (is.null(name)) [13:13:13.560] next [13:13:13.560] if (!grepl(pattern, name)) [13:13:13.560] next [13:13:13.560] invokeRestart(restart) [13:13:13.560] muffled <- TRUE [13:13:13.560] break [13:13:13.560] } [13:13:13.560] } [13:13:13.560] } [13:13:13.560] invisible(muffled) [13:13:13.560] } [13:13:13.560] muffleCondition(cond) [13:13:13.560] }) [13:13:13.560] })) [13:13:13.560] future::FutureResult(value = ...future.value$value, [13:13:13.560] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.560] ...future.rng), globalenv = if (FALSE) [13:13:13.560] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.560] ...future.globalenv.names)) [13:13:13.560] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.560] }, condition = base::local({ [13:13:13.560] c <- base::c [13:13:13.560] inherits <- base::inherits [13:13:13.560] invokeRestart <- base::invokeRestart [13:13:13.560] length <- base::length [13:13:13.560] list <- base::list [13:13:13.560] seq.int <- base::seq.int [13:13:13.560] signalCondition <- base::signalCondition [13:13:13.560] sys.calls <- base::sys.calls [13:13:13.560] `[[` <- base::`[[` [13:13:13.560] `+` <- base::`+` [13:13:13.560] `<<-` <- base::`<<-` [13:13:13.560] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.560] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.560] 3L)] [13:13:13.560] } [13:13:13.560] function(cond) { [13:13:13.560] is_error <- inherits(cond, "error") [13:13:13.560] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.560] NULL) [13:13:13.560] if (is_error) { [13:13:13.560] sessionInformation <- function() { [13:13:13.560] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.560] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.560] search = base::search(), system = base::Sys.info()) [13:13:13.560] } [13:13:13.560] ...future.conditions[[length(...future.conditions) + [13:13:13.560] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.560] cond$call), session = sessionInformation(), [13:13:13.560] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.560] signalCondition(cond) [13:13:13.560] } [13:13:13.560] else if (!ignore && TRUE && inherits(cond, c("condition", [13:13:13.560] "immediateCondition"))) { [13:13:13.560] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.560] ...future.conditions[[length(...future.conditions) + [13:13:13.560] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.560] if (TRUE && !signal) { [13:13:13.560] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.560] { [13:13:13.560] inherits <- base::inherits [13:13:13.560] invokeRestart <- base::invokeRestart [13:13:13.560] is.null <- base::is.null [13:13:13.560] muffled <- FALSE [13:13:13.560] if (inherits(cond, "message")) { [13:13:13.560] muffled <- grepl(pattern, "muffleMessage") [13:13:13.560] if (muffled) [13:13:13.560] invokeRestart("muffleMessage") [13:13:13.560] } [13:13:13.560] else if (inherits(cond, "warning")) { [13:13:13.560] muffled <- grepl(pattern, "muffleWarning") [13:13:13.560] if (muffled) [13:13:13.560] invokeRestart("muffleWarning") [13:13:13.560] } [13:13:13.560] else if (inherits(cond, "condition")) { [13:13:13.560] if (!is.null(pattern)) { [13:13:13.560] computeRestarts <- base::computeRestarts [13:13:13.560] grepl <- base::grepl [13:13:13.560] restarts <- computeRestarts(cond) [13:13:13.560] for (restart in restarts) { [13:13:13.560] name <- restart$name [13:13:13.560] if (is.null(name)) [13:13:13.560] next [13:13:13.560] if (!grepl(pattern, name)) [13:13:13.560] next [13:13:13.560] invokeRestart(restart) [13:13:13.560] muffled <- TRUE [13:13:13.560] break [13:13:13.560] } [13:13:13.560] } [13:13:13.560] } [13:13:13.560] invisible(muffled) [13:13:13.560] } [13:13:13.560] muffleCondition(cond, pattern = "^muffle") [13:13:13.560] } [13:13:13.560] } [13:13:13.560] else { [13:13:13.560] if (TRUE) { [13:13:13.560] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.560] { [13:13:13.560] inherits <- base::inherits [13:13:13.560] invokeRestart <- base::invokeRestart [13:13:13.560] is.null <- base::is.null [13:13:13.560] muffled <- FALSE [13:13:13.560] if (inherits(cond, "message")) { [13:13:13.560] muffled <- grepl(pattern, "muffleMessage") [13:13:13.560] if (muffled) [13:13:13.560] invokeRestart("muffleMessage") [13:13:13.560] } [13:13:13.560] else if (inherits(cond, "warning")) { [13:13:13.560] muffled <- grepl(pattern, "muffleWarning") [13:13:13.560] if (muffled) [13:13:13.560] invokeRestart("muffleWarning") [13:13:13.560] } [13:13:13.560] else if (inherits(cond, "condition")) { [13:13:13.560] if (!is.null(pattern)) { [13:13:13.560] computeRestarts <- base::computeRestarts [13:13:13.560] grepl <- base::grepl [13:13:13.560] restarts <- computeRestarts(cond) [13:13:13.560] for (restart in restarts) { [13:13:13.560] name <- restart$name [13:13:13.560] if (is.null(name)) [13:13:13.560] next [13:13:13.560] if (!grepl(pattern, name)) [13:13:13.560] next [13:13:13.560] invokeRestart(restart) [13:13:13.560] muffled <- TRUE [13:13:13.560] break [13:13:13.560] } [13:13:13.560] } [13:13:13.560] } [13:13:13.560] invisible(muffled) [13:13:13.560] } [13:13:13.560] muffleCondition(cond, pattern = "^muffle") [13:13:13.560] } [13:13:13.560] } [13:13:13.560] } [13:13:13.560] })) [13:13:13.560] }, error = function(ex) { [13:13:13.560] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.560] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.560] ...future.rng), started = ...future.startTime, [13:13:13.560] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.560] version = "1.8"), class = "FutureResult") [13:13:13.560] }, finally = { [13:13:13.560] if (!identical(...future.workdir, getwd())) [13:13:13.560] setwd(...future.workdir) [13:13:13.560] { [13:13:13.560] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.560] ...future.oldOptions$nwarnings <- NULL [13:13:13.560] } [13:13:13.560] base::options(...future.oldOptions) [13:13:13.560] if (.Platform$OS.type == "windows") { [13:13:13.560] old_names <- names(...future.oldEnvVars) [13:13:13.560] envs <- base::Sys.getenv() [13:13:13.560] names <- names(envs) [13:13:13.560] common <- intersect(names, old_names) [13:13:13.560] added <- setdiff(names, old_names) [13:13:13.560] removed <- setdiff(old_names, names) [13:13:13.560] changed <- common[...future.oldEnvVars[common] != [13:13:13.560] envs[common]] [13:13:13.560] NAMES <- toupper(changed) [13:13:13.560] args <- list() [13:13:13.560] for (kk in seq_along(NAMES)) { [13:13:13.560] name <- changed[[kk]] [13:13:13.560] NAME <- NAMES[[kk]] [13:13:13.560] if (name != NAME && is.element(NAME, old_names)) [13:13:13.560] next [13:13:13.560] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.560] } [13:13:13.560] NAMES <- toupper(added) [13:13:13.560] for (kk in seq_along(NAMES)) { [13:13:13.560] name <- added[[kk]] [13:13:13.560] NAME <- NAMES[[kk]] [13:13:13.560] if (name != NAME && is.element(NAME, old_names)) [13:13:13.560] next [13:13:13.560] args[[name]] <- "" [13:13:13.560] } [13:13:13.560] NAMES <- toupper(removed) [13:13:13.560] for (kk in seq_along(NAMES)) { [13:13:13.560] name <- removed[[kk]] [13:13:13.560] NAME <- NAMES[[kk]] [13:13:13.560] if (name != NAME && is.element(NAME, old_names)) [13:13:13.560] next [13:13:13.560] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.560] } [13:13:13.560] if (length(args) > 0) [13:13:13.560] base::do.call(base::Sys.setenv, args = args) [13:13:13.560] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.560] } [13:13:13.560] else { [13:13:13.560] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.560] } [13:13:13.560] { [13:13:13.560] if (base::length(...future.futureOptionsAdded) > [13:13:13.560] 0L) { [13:13:13.560] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.560] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.560] base::options(opts) [13:13:13.560] } [13:13:13.560] { [13:13:13.560] { [13:13:13.560] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.560] NULL [13:13:13.560] } [13:13:13.560] options(future.plan = NULL) [13:13:13.560] if (is.na(NA_character_)) [13:13:13.560] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.560] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.560] future::plan(list(function (..., workers = availableCores(), [13:13:13.560] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.560] envir = parent.frame()) [13:13:13.560] { [13:13:13.560] if (is.function(workers)) [13:13:13.560] workers <- workers() [13:13:13.560] workers <- structure(as.integer(workers), [13:13:13.560] class = class(workers)) [13:13:13.560] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.560] workers >= 1) [13:13:13.560] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.560] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.560] } [13:13:13.560] future <- MultisessionFuture(..., workers = workers, [13:13:13.560] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.560] envir = envir) [13:13:13.560] if (!future$lazy) [13:13:13.560] future <- run(future) [13:13:13.560] invisible(future) [13:13:13.560] }), .cleanup = FALSE, .init = FALSE) [13:13:13.560] } [13:13:13.560] } [13:13:13.560] } [13:13:13.560] }) [13:13:13.560] if (TRUE) { [13:13:13.560] base::sink(type = "output", split = FALSE) [13:13:13.560] if (TRUE) { [13:13:13.560] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.560] } [13:13:13.560] else { [13:13:13.560] ...future.result["stdout"] <- base::list(NULL) [13:13:13.560] } [13:13:13.560] base::close(...future.stdout) [13:13:13.560] ...future.stdout <- NULL [13:13:13.560] } [13:13:13.560] ...future.result$conditions <- ...future.conditions [13:13:13.560] ...future.result$finished <- base::Sys.time() [13:13:13.560] ...future.result [13:13:13.560] } [13:13:13.566] Exporting 5 global objects (9.77 KiB) to cluster node #1 ... [13:13:13.566] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.566] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.567] Exporting '...future.FUN' (9.66 KiB) to cluster node #1 ... [13:13:13.567] Exporting '...future.FUN' (9.66 KiB) to cluster node #1 ... DONE [13:13:13.567] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:13:13.568] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:13:13.568] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... [13:13:13.568] Exporting '...future.seeds_ii' (0 bytes) to cluster node #1 ... DONE [13:13:13.568] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.569] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.569] Exporting 5 global objects (9.77 KiB) to cluster node #1 ... DONE [13:13:13.570] MultisessionFuture started [13:13:13.570] - Launch lazy future ... done [13:13:13.570] run() for 'MultisessionFuture' ... done [13:13:13.570] Created future: [13:13:13.586] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.586] - Validating connection of MultisessionFuture [13:13:13.586] - received message: FutureResult [13:13:13.587] - Received FutureResult [13:13:13.587] - Erased future from FutureRegistry [13:13:13.587] result() for ClusterFuture ... [13:13:13.587] - result already collected: FutureResult [13:13:13.587] result() for ClusterFuture ... done [13:13:13.587] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.570] MultisessionFuture: [13:13:13.570] Label: 'future_apply-2' [13:13:13.570] Expression: [13:13:13.570] { [13:13:13.570] do.call(function(...) { [13:13:13.570] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.570] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.570] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.570] on.exit(options(oopts), add = TRUE) [13:13:13.570] } [13:13:13.570] { [13:13:13.570] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.570] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.570] ...future.FUN(...future.X_jj, ...) [13:13:13.570] }) [13:13:13.570] } [13:13:13.570] }, args = future.call.arguments) [13:13:13.570] } [13:13:13.570] Lazy evaluation: FALSE [13:13:13.570] Asynchronous evaluation: TRUE [13:13:13.570] Local evaluation: TRUE [13:13:13.570] Environment: R_GlobalEnv [13:13:13.570] Capture standard output: TRUE [13:13:13.570] Capture condition classes: 'condition' (excluding 'nothing') [13:13:13.570] Globals: 5 objects totaling 9.77 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 9.66 KiB, list '...future.elements_ii' of 56 bytes, NULL '...future.seeds_ii' of 0 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.570] Packages: [13:13:13.570] L'Ecuyer-CMRG RNG seed: (seed = FALSE) [13:13:13.570] Resolved: TRUE [13:13:13.570] Value: [13:13:13.570] Conditions captured: [13:13:13.570] Early signaling: FALSE [13:13:13.570] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.570] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.588] Chunk #2 of 2 ... DONE [13:13:13.588] Launching 2 futures (chunks) ... DONE [13:13:13.588] Resolving 2 futures (chunks) ... [13:13:13.588] resolve() on list ... [13:13:13.588] recursive: 0 [13:13:13.589] length: 2 [13:13:13.589] [13:13:13.589] Future #1 [13:13:13.589] result() for ClusterFuture ... [13:13:13.589] - result already collected: FutureResult [13:13:13.589] result() for ClusterFuture ... done [13:13:13.590] result() for ClusterFuture ... [13:13:13.590] - result already collected: FutureResult [13:13:13.590] result() for ClusterFuture ... done [13:13:13.590] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:13.590] - nx: 2 [13:13:13.590] - relay: TRUE [13:13:13.591] - stdout: TRUE [13:13:13.591] - signal: TRUE [13:13:13.591] - resignal: FALSE [13:13:13.591] - force: TRUE [13:13:13.591] - relayed: [n=2] FALSE, FALSE [13:13:13.591] - queued futures: [n=2] FALSE, FALSE [13:13:13.591] - until=1 [13:13:13.592] - relaying element #1 [13:13:13.592] result() for ClusterFuture ... [13:13:13.592] - result already collected: FutureResult [13:13:13.592] result() for ClusterFuture ... done [13:13:13.592] result() for ClusterFuture ... [13:13:13.592] - result already collected: FutureResult [13:13:13.593] result() for ClusterFuture ... done [13:13:13.593] result() for ClusterFuture ... [13:13:13.593] - result already collected: FutureResult [13:13:13.593] result() for ClusterFuture ... done [13:13:13.593] result() for ClusterFuture ... [13:13:13.593] - result already collected: FutureResult [13:13:13.594] result() for ClusterFuture ... done [13:13:13.594] - relayed: [n=2] TRUE, FALSE [13:13:13.594] - queued futures: [n=2] TRUE, FALSE [13:13:13.594] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:13.594] length: 1 (resolved future 1) [13:13:13.594] Future #2 [13:13:13.595] result() for ClusterFuture ... [13:13:13.595] - result already collected: FutureResult [13:13:13.595] result() for ClusterFuture ... done [13:13:13.595] result() for ClusterFuture ... [13:13:13.595] - result already collected: FutureResult [13:13:13.595] result() for ClusterFuture ... done [13:13:13.595] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:13.596] - nx: 2 [13:13:13.596] - relay: TRUE [13:13:13.596] - stdout: TRUE [13:13:13.596] - signal: TRUE [13:13:13.596] - resignal: FALSE [13:13:13.596] - force: TRUE [13:13:13.596] - relayed: [n=2] TRUE, FALSE [13:13:13.597] - queued futures: [n=2] TRUE, FALSE [13:13:13.597] - until=2 [13:13:13.597] - relaying element #2 [13:13:13.597] result() for ClusterFuture ... [13:13:13.597] - result already collected: FutureResult [13:13:13.597] result() for ClusterFuture ... done [13:13:13.598] result() for ClusterFuture ... [13:13:13.598] - result already collected: FutureResult [13:13:13.598] result() for ClusterFuture ... done [13:13:13.598] result() for ClusterFuture ... [13:13:13.598] - result already collected: FutureResult [13:13:13.598] result() for ClusterFuture ... done [13:13:13.599] result() for ClusterFuture ... [13:13:13.599] - result already collected: FutureResult [13:13:13.599] result() for ClusterFuture ... done [13:13:13.599] - relayed: [n=2] TRUE, TRUE [13:13:13.599] - queued futures: [n=2] TRUE, TRUE [13:13:13.599] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:13.599] length: 0 (resolved future 2) [13:13:13.600] Relaying remaining futures [13:13:13.600] signalConditionsASAP(NULL, pos=0) ... [13:13:13.600] - nx: 2 [13:13:13.600] - relay: TRUE [13:13:13.600] - stdout: TRUE [13:13:13.600] - signal: TRUE [13:13:13.601] - resignal: FALSE [13:13:13.601] - force: TRUE [13:13:13.601] - relayed: [n=2] TRUE, TRUE [13:13:13.601] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:13.601] - relayed: [n=2] TRUE, TRUE [13:13:13.601] - queued futures: [n=2] TRUE, TRUE [13:13:13.602] signalConditionsASAP(NULL, pos=0) ... done [13:13:13.602] resolve() on list ... DONE [13:13:13.602] result() for ClusterFuture ... [13:13:13.602] - result already collected: FutureResult [13:13:13.602] result() for ClusterFuture ... done [13:13:13.602] result() for ClusterFuture ... [13:13:13.603] - result already collected: FutureResult [13:13:13.603] result() for ClusterFuture ... done [13:13:13.603] result() for ClusterFuture ... [13:13:13.603] - result already collected: FutureResult [13:13:13.603] result() for ClusterFuture ... done [13:13:13.603] result() for ClusterFuture ... [13:13:13.603] - result already collected: FutureResult [13:13:13.604] result() for ClusterFuture ... done [13:13:13.604] - Number of value chunks collected: 2 [13:13:13.604] Resolving 2 futures (chunks) ... DONE [13:13:13.604] Reducing values from 2 chunks ... [13:13:13.604] - Number of values collected after concatenation: 2 [13:13:13.604] - Number of values expected: 2 [13:13:13.605] Reducing values from 2 chunks ... DONE [13:13:13.605] future_lapply() ... DONE [,1] [,2] [1,] 1 2 [2,] 3 4 - example(future_apply) - reproducible RNG ... [13:13:13.605] getGlobalsAndPackagesXApply() ... [13:13:13.605] - future.globals: TRUE [13:13:13.605] getGlobalsAndPackages() ... [13:13:13.606] Searching for globals... [13:13:13.609] - globals found: [13] 'FUN', '{', 'if', '&&', '==', 'length', 'is.numeric', 'is.finite', '>=', 'missing', '<-', 'sample.int', '[' [13:13:13.610] Searching for globals ... DONE [13:13:13.610] Resolving globals: FALSE [13:13:13.611] The total size of the 1 globals is 35.45 KiB (36296 bytes) [13:13:13.611] The total size of the 1 globals exported for future expression ('FUN(X = structure(1:4, dim = c(2L, 2L)))') is 35.45 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'FUN' (35.45 KiB of class 'function') [13:13:13.611] - globals: [1] 'FUN' [13:13:13.612] [13:13:13.612] getGlobalsAndPackages() ... DONE [13:13:13.612] - globals found/used: [n=1] 'FUN' [13:13:13.612] - needed namespaces: [n=0] [13:13:13.612] Finding globals ... DONE [13:13:13.612] - use_args: TRUE [13:13:13.613] - Getting '...' globals ... [13:13:13.613] resolve() on list ... [13:13:13.613] recursive: 0 [13:13:13.613] length: 1 [13:13:13.613] elements: '...' [13:13:13.614] length: 0 (resolved future 1) [13:13:13.614] resolve() on list ... DONE [13:13:13.614] - '...' content: [n=0] [13:13:13.614] List of 1 [13:13:13.614] $ ...: list() [13:13:13.614] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.614] - attr(*, "where")=List of 1 [13:13:13.614] ..$ ...: [13:13:13.614] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.614] - attr(*, "resolved")= logi TRUE [13:13:13.614] - attr(*, "total_size")= num NA [13:13:13.617] - Getting '...' globals ... DONE [13:13:13.617] Globals to be used in all futures (chunks): [n=2] '...future.FUN', '...' [13:13:13.618] List of 2 [13:13:13.618] $ ...future.FUN:function (x, size, replace = FALSE, prob = NULL) [13:13:13.618] $ ... : list() [13:13:13.618] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.618] - attr(*, "where")=List of 2 [13:13:13.618] ..$ ...future.FUN: [13:13:13.618] ..$ ... : [13:13:13.618] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.618] - attr(*, "resolved")= logi FALSE [13:13:13.618] - attr(*, "total_size")= num 36296 [13:13:13.621] Packages to be attached in all futures: [n=0] [13:13:13.621] getGlobalsAndPackagesXApply() ... DONE [13:13:13.624] future_lapply() ... [13:13:13.626] Generating random seeds ... [13:13:13.627] Generating random seed streams for 2 elements ... [13:13:13.627] Generating random seed streams for 2 elements ... DONE [13:13:13.627] Generating random seeds ... DONE [13:13:13.627] Will set RNG state on exit: 10407, -1544705793, 1998268365, 1588929512, -1767403433, 1740931707, 1811664577 [13:13:13.630] Number of chunks: 2 [13:13:13.630] getGlobalsAndPackagesXApply() ... [13:13:13.630] - future.globals: with names 'list()' [13:13:13.630] - use_args: TRUE [13:13:13.631] Globals to be used in all futures (chunks): [n=2] '...', '...future.FUN' [13:13:13.631] List of 2 [13:13:13.631] $ ... : list() [13:13:13.631] ..- attr(*, "class")= chr [1:2] "DotDotDotList" "list" [13:13:13.631] $ ...future.FUN:function (x, size, replace = FALSE, prob = NULL) [13:13:13.631] - attr(*, "where")=List of 2 [13:13:13.631] ..$ ... : [13:13:13.631] ..$ ...future.FUN: [13:13:13.631] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [13:13:13.631] - attr(*, "resolved")= logi FALSE [13:13:13.631] - attr(*, "total_size")= num NA [13:13:13.635] Packages to be attached in all futures: [n=0] [13:13:13.635] getGlobalsAndPackagesXApply() ... DONE [13:13:13.635] Number of futures (= number of chunks): 2 [13:13:13.635] Launching 2 futures (chunks) ... [13:13:13.635] Chunk #1 of 2 ... [13:13:13.636] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.636] - seeds: [1] [13:13:13.636] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.636] getGlobalsAndPackages() ... [13:13:13.636] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.637] Resolving globals: FALSE [13:13:13.637] Tweak future expression to call with '...' arguments ... [13:13:13.637] { [13:13:13.637] do.call(function(...) { [13:13:13.637] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.637] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.637] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.637] on.exit(options(oopts), add = TRUE) [13:13:13.637] } [13:13:13.637] { [13:13:13.637] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.637] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.637] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:13.637] envir = globalenv(), inherits = FALSE) [13:13:13.637] ...future.FUN(...future.X_jj, ...) [13:13:13.637] }) [13:13:13.637] } [13:13:13.637] }, args = future.call.arguments) [13:13:13.637] } [13:13:13.637] Tweak future expression to call with '...' arguments ... DONE [13:13:13.638] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.638] [13:13:13.638] getGlobalsAndPackages() ... DONE [13:13:13.639] run() for 'Future' ... [13:13:13.639] - state: 'created' [13:13:13.639] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.654] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.654] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.654] - Field: 'node' [13:13:13.654] - Field: 'label' [13:13:13.654] - Field: 'local' [13:13:13.655] - Field: 'owner' [13:13:13.655] - Field: 'envir' [13:13:13.655] - Field: 'workers' [13:13:13.655] - Field: 'packages' [13:13:13.655] - Field: 'gc' [13:13:13.655] - Field: 'conditions' [13:13:13.656] - Field: 'persistent' [13:13:13.656] - Field: 'expr' [13:13:13.656] - Field: 'uuid' [13:13:13.656] - Field: 'seed' [13:13:13.656] - Field: 'version' [13:13:13.656] - Field: 'result' [13:13:13.657] - Field: 'asynchronous' [13:13:13.657] - Field: 'calls' [13:13:13.657] - Field: 'globals' [13:13:13.657] - Field: 'stdout' [13:13:13.657] - Field: 'earlySignal' [13:13:13.658] - Field: 'lazy' [13:13:13.658] - Field: 'state' [13:13:13.658] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.658] - Launch lazy future ... [13:13:13.658] Packages needed by the future expression (n = 0): [13:13:13.659] Packages needed by future strategies (n = 0): [13:13:13.659] { [13:13:13.659] { [13:13:13.659] { [13:13:13.659] ...future.startTime <- base::Sys.time() [13:13:13.659] { [13:13:13.659] { [13:13:13.659] { [13:13:13.659] { [13:13:13.659] base::local({ [13:13:13.659] has_future <- base::requireNamespace("future", [13:13:13.659] quietly = TRUE) [13:13:13.659] if (has_future) { [13:13:13.659] ns <- base::getNamespace("future") [13:13:13.659] version <- ns[[".package"]][["version"]] [13:13:13.659] if (is.null(version)) [13:13:13.659] version <- utils::packageVersion("future") [13:13:13.659] } [13:13:13.659] else { [13:13:13.659] version <- NULL [13:13:13.659] } [13:13:13.659] if (!has_future || version < "1.8.0") { [13:13:13.659] info <- base::c(r_version = base::gsub("R version ", [13:13:13.659] "", base::R.version$version.string), [13:13:13.659] platform = base::sprintf("%s (%s-bit)", [13:13:13.659] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.659] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.659] "release", "version")], collapse = " "), [13:13:13.659] hostname = base::Sys.info()[["nodename"]]) [13:13:13.659] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.659] info) [13:13:13.659] info <- base::paste(info, collapse = "; ") [13:13:13.659] if (!has_future) { [13:13:13.659] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.659] info) [13:13:13.659] } [13:13:13.659] else { [13:13:13.659] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.659] info, version) [13:13:13.659] } [13:13:13.659] base::stop(msg) [13:13:13.659] } [13:13:13.659] }) [13:13:13.659] } [13:13:13.659] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.659] base::options(mc.cores = 1L) [13:13:13.659] } [13:13:13.659] options(future.plan = NULL) [13:13:13.659] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.659] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.659] } [13:13:13.659] ...future.workdir <- getwd() [13:13:13.659] } [13:13:13.659] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.659] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.659] } [13:13:13.659] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.659] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.659] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.659] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.659] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.659] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.659] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.659] base::names(...future.oldOptions)) [13:13:13.659] } [13:13:13.659] if (FALSE) { [13:13:13.659] } [13:13:13.659] else { [13:13:13.659] if (TRUE) { [13:13:13.659] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.659] open = "w") [13:13:13.659] } [13:13:13.659] else { [13:13:13.659] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.659] windows = "NUL", "/dev/null"), open = "w") [13:13:13.659] } [13:13:13.659] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.659] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.659] base::sink(type = "output", split = FALSE) [13:13:13.659] base::close(...future.stdout) [13:13:13.659] }, add = TRUE) [13:13:13.659] } [13:13:13.659] ...future.frame <- base::sys.nframe() [13:13:13.659] ...future.conditions <- base::list() [13:13:13.659] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.659] if (FALSE) { [13:13:13.659] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.659] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.659] } [13:13:13.659] ...future.result <- base::tryCatch({ [13:13:13.659] base::withCallingHandlers({ [13:13:13.659] ...future.value <- base::withVisible(base::local({ [13:13:13.659] ...future.makeSendCondition <- local({ [13:13:13.659] sendCondition <- NULL [13:13:13.659] function(frame = 1L) { [13:13:13.659] if (is.function(sendCondition)) [13:13:13.659] return(sendCondition) [13:13:13.659] ns <- getNamespace("parallel") [13:13:13.659] if (exists("sendData", mode = "function", [13:13:13.659] envir = ns)) { [13:13:13.659] parallel_sendData <- get("sendData", mode = "function", [13:13:13.659] envir = ns) [13:13:13.659] envir <- sys.frame(frame) [13:13:13.659] master <- NULL [13:13:13.659] while (!identical(envir, .GlobalEnv) && [13:13:13.659] !identical(envir, emptyenv())) { [13:13:13.659] if (exists("master", mode = "list", envir = envir, [13:13:13.659] inherits = FALSE)) { [13:13:13.659] master <- get("master", mode = "list", [13:13:13.659] envir = envir, inherits = FALSE) [13:13:13.659] if (inherits(master, c("SOCKnode", [13:13:13.659] "SOCK0node"))) { [13:13:13.659] sendCondition <<- function(cond) { [13:13:13.659] data <- list(type = "VALUE", value = cond, [13:13:13.659] success = TRUE) [13:13:13.659] parallel_sendData(master, data) [13:13:13.659] } [13:13:13.659] return(sendCondition) [13:13:13.659] } [13:13:13.659] } [13:13:13.659] frame <- frame + 1L [13:13:13.659] envir <- sys.frame(frame) [13:13:13.659] } [13:13:13.659] } [13:13:13.659] sendCondition <<- function(cond) NULL [13:13:13.659] } [13:13:13.659] }) [13:13:13.659] withCallingHandlers({ [13:13:13.659] { [13:13:13.659] do.call(function(...) { [13:13:13.659] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.659] if (!identical(...future.globals.maxSize.org, [13:13:13.659] ...future.globals.maxSize)) { [13:13:13.659] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.659] on.exit(options(oopts), add = TRUE) [13:13:13.659] } [13:13:13.659] { [13:13:13.659] lapply(seq_along(...future.elements_ii), [13:13:13.659] FUN = function(jj) { [13:13:13.659] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.659] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:13.659] envir = globalenv(), inherits = FALSE) [13:13:13.659] ...future.FUN(...future.X_jj, ...) [13:13:13.659] }) [13:13:13.659] } [13:13:13.659] }, args = future.call.arguments) [13:13:13.659] } [13:13:13.659] }, immediateCondition = function(cond) { [13:13:13.659] sendCondition <- ...future.makeSendCondition() [13:13:13.659] sendCondition(cond) [13:13:13.659] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.659] { [13:13:13.659] inherits <- base::inherits [13:13:13.659] invokeRestart <- base::invokeRestart [13:13:13.659] is.null <- base::is.null [13:13:13.659] muffled <- FALSE [13:13:13.659] if (inherits(cond, "message")) { [13:13:13.659] muffled <- grepl(pattern, "muffleMessage") [13:13:13.659] if (muffled) [13:13:13.659] invokeRestart("muffleMessage") [13:13:13.659] } [13:13:13.659] else if (inherits(cond, "warning")) { [13:13:13.659] muffled <- grepl(pattern, "muffleWarning") [13:13:13.659] if (muffled) [13:13:13.659] invokeRestart("muffleWarning") [13:13:13.659] } [13:13:13.659] else if (inherits(cond, "condition")) { [13:13:13.659] if (!is.null(pattern)) { [13:13:13.659] computeRestarts <- base::computeRestarts [13:13:13.659] grepl <- base::grepl [13:13:13.659] restarts <- computeRestarts(cond) [13:13:13.659] for (restart in restarts) { [13:13:13.659] name <- restart$name [13:13:13.659] if (is.null(name)) [13:13:13.659] next [13:13:13.659] if (!grepl(pattern, name)) [13:13:13.659] next [13:13:13.659] invokeRestart(restart) [13:13:13.659] muffled <- TRUE [13:13:13.659] break [13:13:13.659] } [13:13:13.659] } [13:13:13.659] } [13:13:13.659] invisible(muffled) [13:13:13.659] } [13:13:13.659] muffleCondition(cond) [13:13:13.659] }) [13:13:13.659] })) [13:13:13.659] future::FutureResult(value = ...future.value$value, [13:13:13.659] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.659] ...future.rng), globalenv = if (FALSE) [13:13:13.659] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.659] ...future.globalenv.names)) [13:13:13.659] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.659] }, condition = base::local({ [13:13:13.659] c <- base::c [13:13:13.659] inherits <- base::inherits [13:13:13.659] invokeRestart <- base::invokeRestart [13:13:13.659] length <- base::length [13:13:13.659] list <- base::list [13:13:13.659] seq.int <- base::seq.int [13:13:13.659] signalCondition <- base::signalCondition [13:13:13.659] sys.calls <- base::sys.calls [13:13:13.659] `[[` <- base::`[[` [13:13:13.659] `+` <- base::`+` [13:13:13.659] `<<-` <- base::`<<-` [13:13:13.659] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.659] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.659] 3L)] [13:13:13.659] } [13:13:13.659] function(cond) { [13:13:13.659] is_error <- inherits(cond, "error") [13:13:13.659] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.659] NULL) [13:13:13.659] if (is_error) { [13:13:13.659] sessionInformation <- function() { [13:13:13.659] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.659] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.659] search = base::search(), system = base::Sys.info()) [13:13:13.659] } [13:13:13.659] ...future.conditions[[length(...future.conditions) + [13:13:13.659] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.659] cond$call), session = sessionInformation(), [13:13:13.659] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.659] signalCondition(cond) [13:13:13.659] } [13:13:13.659] else if (!ignore && TRUE && inherits(cond, "immediateCondition")) { [13:13:13.659] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.659] ...future.conditions[[length(...future.conditions) + [13:13:13.659] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.659] if (TRUE && !signal) { [13:13:13.659] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.659] { [13:13:13.659] inherits <- base::inherits [13:13:13.659] invokeRestart <- base::invokeRestart [13:13:13.659] is.null <- base::is.null [13:13:13.659] muffled <- FALSE [13:13:13.659] if (inherits(cond, "message")) { [13:13:13.659] muffled <- grepl(pattern, "muffleMessage") [13:13:13.659] if (muffled) [13:13:13.659] invokeRestart("muffleMessage") [13:13:13.659] } [13:13:13.659] else if (inherits(cond, "warning")) { [13:13:13.659] muffled <- grepl(pattern, "muffleWarning") [13:13:13.659] if (muffled) [13:13:13.659] invokeRestart("muffleWarning") [13:13:13.659] } [13:13:13.659] else if (inherits(cond, "condition")) { [13:13:13.659] if (!is.null(pattern)) { [13:13:13.659] computeRestarts <- base::computeRestarts [13:13:13.659] grepl <- base::grepl [13:13:13.659] restarts <- computeRestarts(cond) [13:13:13.659] for (restart in restarts) { [13:13:13.659] name <- restart$name [13:13:13.659] if (is.null(name)) [13:13:13.659] next [13:13:13.659] if (!grepl(pattern, name)) [13:13:13.659] next [13:13:13.659] invokeRestart(restart) [13:13:13.659] muffled <- TRUE [13:13:13.659] break [13:13:13.659] } [13:13:13.659] } [13:13:13.659] } [13:13:13.659] invisible(muffled) [13:13:13.659] } [13:13:13.659] muffleCondition(cond, pattern = "^muffle") [13:13:13.659] } [13:13:13.659] } [13:13:13.659] else { [13:13:13.659] if (TRUE) { [13:13:13.659] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.659] { [13:13:13.659] inherits <- base::inherits [13:13:13.659] invokeRestart <- base::invokeRestart [13:13:13.659] is.null <- base::is.null [13:13:13.659] muffled <- FALSE [13:13:13.659] if (inherits(cond, "message")) { [13:13:13.659] muffled <- grepl(pattern, "muffleMessage") [13:13:13.659] if (muffled) [13:13:13.659] invokeRestart("muffleMessage") [13:13:13.659] } [13:13:13.659] else if (inherits(cond, "warning")) { [13:13:13.659] muffled <- grepl(pattern, "muffleWarning") [13:13:13.659] if (muffled) [13:13:13.659] invokeRestart("muffleWarning") [13:13:13.659] } [13:13:13.659] else if (inherits(cond, "condition")) { [13:13:13.659] if (!is.null(pattern)) { [13:13:13.659] computeRestarts <- base::computeRestarts [13:13:13.659] grepl <- base::grepl [13:13:13.659] restarts <- computeRestarts(cond) [13:13:13.659] for (restart in restarts) { [13:13:13.659] name <- restart$name [13:13:13.659] if (is.null(name)) [13:13:13.659] next [13:13:13.659] if (!grepl(pattern, name)) [13:13:13.659] next [13:13:13.659] invokeRestart(restart) [13:13:13.659] muffled <- TRUE [13:13:13.659] break [13:13:13.659] } [13:13:13.659] } [13:13:13.659] } [13:13:13.659] invisible(muffled) [13:13:13.659] } [13:13:13.659] muffleCondition(cond, pattern = "^muffle") [13:13:13.659] } [13:13:13.659] } [13:13:13.659] } [13:13:13.659] })) [13:13:13.659] }, error = function(ex) { [13:13:13.659] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.659] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.659] ...future.rng), started = ...future.startTime, [13:13:13.659] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.659] version = "1.8"), class = "FutureResult") [13:13:13.659] }, finally = { [13:13:13.659] if (!identical(...future.workdir, getwd())) [13:13:13.659] setwd(...future.workdir) [13:13:13.659] { [13:13:13.659] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.659] ...future.oldOptions$nwarnings <- NULL [13:13:13.659] } [13:13:13.659] base::options(...future.oldOptions) [13:13:13.659] if (.Platform$OS.type == "windows") { [13:13:13.659] old_names <- names(...future.oldEnvVars) [13:13:13.659] envs <- base::Sys.getenv() [13:13:13.659] names <- names(envs) [13:13:13.659] common <- intersect(names, old_names) [13:13:13.659] added <- setdiff(names, old_names) [13:13:13.659] removed <- setdiff(old_names, names) [13:13:13.659] changed <- common[...future.oldEnvVars[common] != [13:13:13.659] envs[common]] [13:13:13.659] NAMES <- toupper(changed) [13:13:13.659] args <- list() [13:13:13.659] for (kk in seq_along(NAMES)) { [13:13:13.659] name <- changed[[kk]] [13:13:13.659] NAME <- NAMES[[kk]] [13:13:13.659] if (name != NAME && is.element(NAME, old_names)) [13:13:13.659] next [13:13:13.659] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.659] } [13:13:13.659] NAMES <- toupper(added) [13:13:13.659] for (kk in seq_along(NAMES)) { [13:13:13.659] name <- added[[kk]] [13:13:13.659] NAME <- NAMES[[kk]] [13:13:13.659] if (name != NAME && is.element(NAME, old_names)) [13:13:13.659] next [13:13:13.659] args[[name]] <- "" [13:13:13.659] } [13:13:13.659] NAMES <- toupper(removed) [13:13:13.659] for (kk in seq_along(NAMES)) { [13:13:13.659] name <- removed[[kk]] [13:13:13.659] NAME <- NAMES[[kk]] [13:13:13.659] if (name != NAME && is.element(NAME, old_names)) [13:13:13.659] next [13:13:13.659] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.659] } [13:13:13.659] if (length(args) > 0) [13:13:13.659] base::do.call(base::Sys.setenv, args = args) [13:13:13.659] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.659] } [13:13:13.659] else { [13:13:13.659] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.659] } [13:13:13.659] { [13:13:13.659] if (base::length(...future.futureOptionsAdded) > [13:13:13.659] 0L) { [13:13:13.659] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.659] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.659] base::options(opts) [13:13:13.659] } [13:13:13.659] { [13:13:13.659] { [13:13:13.659] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.659] NULL [13:13:13.659] } [13:13:13.659] options(future.plan = NULL) [13:13:13.659] if (is.na(NA_character_)) [13:13:13.659] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.659] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.659] future::plan(list(function (..., workers = availableCores(), [13:13:13.659] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.659] envir = parent.frame()) [13:13:13.659] { [13:13:13.659] if (is.function(workers)) [13:13:13.659] workers <- workers() [13:13:13.659] workers <- structure(as.integer(workers), [13:13:13.659] class = class(workers)) [13:13:13.659] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.659] workers >= 1) [13:13:13.659] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.659] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.659] } [13:13:13.659] future <- MultisessionFuture(..., workers = workers, [13:13:13.659] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.659] envir = envir) [13:13:13.659] if (!future$lazy) [13:13:13.659] future <- run(future) [13:13:13.659] invisible(future) [13:13:13.659] }), .cleanup = FALSE, .init = FALSE) [13:13:13.659] } [13:13:13.659] } [13:13:13.659] } [13:13:13.659] }) [13:13:13.659] if (TRUE) { [13:13:13.659] base::sink(type = "output", split = FALSE) [13:13:13.659] if (TRUE) { [13:13:13.659] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.659] } [13:13:13.659] else { [13:13:13.659] ...future.result["stdout"] <- base::list(NULL) [13:13:13.659] } [13:13:13.659] base::close(...future.stdout) [13:13:13.659] ...future.stdout <- NULL [13:13:13.659] } [13:13:13.659] ...future.result$conditions <- ...future.conditions [13:13:13.659] ...future.result$finished <- base::Sys.time() [13:13:13.659] ...future.result [13:13:13.659] } [13:13:13.665] Exporting 5 global objects (35.63 KiB) to cluster node #1 ... [13:13:13.665] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.666] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.666] Exporting '...future.FUN' (35.45 KiB) to cluster node #1 ... [13:13:13.666] Exporting '...future.FUN' (35.45 KiB) to cluster node #1 ... DONE [13:13:13.666] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:13:13.667] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:13:13.667] Exporting '...future.seeds_ii' (80 bytes) to cluster node #1 ... [13:13:13.668] Exporting '...future.seeds_ii' (80 bytes) to cluster node #1 ... DONE [13:13:13.668] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.668] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.668] Exporting 5 global objects (35.63 KiB) to cluster node #1 ... DONE [13:13:13.669] MultisessionFuture started [13:13:13.669] - Launch lazy future ... done [13:13:13.669] run() for 'MultisessionFuture' ... done [13:13:13.670] Created future: [13:13:13.684] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.684] - Validating connection of MultisessionFuture [13:13:13.685] - received message: FutureResult [13:13:13.685] - Received FutureResult [13:13:13.685] - Erased future from FutureRegistry [13:13:13.685] result() for ClusterFuture ... [13:13:13.685] - result already collected: FutureResult [13:13:13.686] result() for ClusterFuture ... done [13:13:13.686] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.670] MultisessionFuture: [13:13:13.670] Label: 'future_apply-1' [13:13:13.670] Expression: [13:13:13.670] { [13:13:13.670] do.call(function(...) { [13:13:13.670] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.670] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.670] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.670] on.exit(options(oopts), add = TRUE) [13:13:13.670] } [13:13:13.670] { [13:13:13.670] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.670] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.670] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:13.670] envir = globalenv(), inherits = FALSE) [13:13:13.670] ...future.FUN(...future.X_jj, ...) [13:13:13.670] }) [13:13:13.670] } [13:13:13.670] }, args = future.call.arguments) [13:13:13.670] } [13:13:13.670] Lazy evaluation: FALSE [13:13:13.670] Asynchronous evaluation: TRUE [13:13:13.670] Local evaluation: TRUE [13:13:13.670] Environment: R_GlobalEnv [13:13:13.670] Capture standard output: TRUE [13:13:13.670] Capture condition classes: [13:13:13.670] Globals: 5 objects totaling 35.63 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 35.45 KiB, list '...future.elements_ii' of 56 bytes, list '...future.seeds_ii' of 80 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.670] Packages: [13:13:13.670] L'Ecuyer-CMRG RNG seed: (seed = NULL) [13:13:13.670] Resolved: TRUE [13:13:13.670] Value: [13:13:13.670] Conditions captured: [13:13:13.670] Early signaling: FALSE [13:13:13.670] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.670] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.686] Chunk #1 of 2 ... DONE [13:13:13.686] Chunk #2 of 2 ... [13:13:13.687] - Adjusted option 'future.globals.maxSize': Inf -> 2 * Inf = Inf (bytes) [13:13:13.687] - seeds: [1] [13:13:13.687] - All globals exported: [n=5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.687] getGlobalsAndPackages() ... [13:13:13.687] - globals passed as-is: [5] '...', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.688] Resolving globals: FALSE [13:13:13.688] Tweak future expression to call with '...' arguments ... [13:13:13.688] { [13:13:13.688] do.call(function(...) { [13:13:13.688] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.688] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.688] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.688] on.exit(options(oopts), add = TRUE) [13:13:13.688] } [13:13:13.688] { [13:13:13.688] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.688] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.688] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:13.688] envir = globalenv(), inherits = FALSE) [13:13:13.688] ...future.FUN(...future.X_jj, ...) [13:13:13.688] }) [13:13:13.688] } [13:13:13.688] }, args = future.call.arguments) [13:13:13.688] } [13:13:13.688] Tweak future expression to call with '...' arguments ... DONE [13:13:13.689] - globals: [5] 'future.call.arguments', '...future.FUN', '...future.elements_ii', '...future.seeds_ii', '...future.globals.maxSize' [13:13:13.689] [13:13:13.689] getGlobalsAndPackages() ... DONE [13:13:13.690] run() for 'Future' ... [13:13:13.690] - state: 'created' [13:13:13.690] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [13:13:13.704] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.704] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [13:13:13.705] - Field: 'node' [13:13:13.705] - Field: 'label' [13:13:13.705] - Field: 'local' [13:13:13.705] - Field: 'owner' [13:13:13.705] - Field: 'envir' [13:13:13.706] - Field: 'workers' [13:13:13.706] - Field: 'packages' [13:13:13.706] - Field: 'gc' [13:13:13.706] - Field: 'conditions' [13:13:13.706] - Field: 'persistent' [13:13:13.706] - Field: 'expr' [13:13:13.707] - Field: 'uuid' [13:13:13.707] - Field: 'seed' [13:13:13.707] - Field: 'version' [13:13:13.707] - Field: 'result' [13:13:13.707] - Field: 'asynchronous' [13:13:13.707] - Field: 'calls' [13:13:13.708] - Field: 'globals' [13:13:13.708] - Field: 'stdout' [13:13:13.708] - Field: 'earlySignal' [13:13:13.708] - Field: 'lazy' [13:13:13.708] - Field: 'state' [13:13:13.709] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [13:13:13.709] - Launch lazy future ... [13:13:13.709] Packages needed by the future expression (n = 0): [13:13:13.709] Packages needed by future strategies (n = 0): [13:13:13.710] { [13:13:13.710] { [13:13:13.710] { [13:13:13.710] ...future.startTime <- base::Sys.time() [13:13:13.710] { [13:13:13.710] { [13:13:13.710] { [13:13:13.710] { [13:13:13.710] base::local({ [13:13:13.710] has_future <- base::requireNamespace("future", [13:13:13.710] quietly = TRUE) [13:13:13.710] if (has_future) { [13:13:13.710] ns <- base::getNamespace("future") [13:13:13.710] version <- ns[[".package"]][["version"]] [13:13:13.710] if (is.null(version)) [13:13:13.710] version <- utils::packageVersion("future") [13:13:13.710] } [13:13:13.710] else { [13:13:13.710] version <- NULL [13:13:13.710] } [13:13:13.710] if (!has_future || version < "1.8.0") { [13:13:13.710] info <- base::c(r_version = base::gsub("R version ", [13:13:13.710] "", base::R.version$version.string), [13:13:13.710] platform = base::sprintf("%s (%s-bit)", [13:13:13.710] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:13:13.710] os = base::paste(base::Sys.info()[base::c("sysname", [13:13:13.710] "release", "version")], collapse = " "), [13:13:13.710] hostname = base::Sys.info()[["nodename"]]) [13:13:13.710] info <- base::sprintf("%s: %s", base::names(info), [13:13:13.710] info) [13:13:13.710] info <- base::paste(info, collapse = "; ") [13:13:13.710] if (!has_future) { [13:13:13.710] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:13:13.710] info) [13:13:13.710] } [13:13:13.710] else { [13:13:13.710] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:13:13.710] info, version) [13:13:13.710] } [13:13:13.710] base::stop(msg) [13:13:13.710] } [13:13:13.710] }) [13:13:13.710] } [13:13:13.710] ...future.mc.cores.old <- base::getOption("mc.cores") [13:13:13.710] base::options(mc.cores = 1L) [13:13:13.710] } [13:13:13.710] options(future.plan = NULL) [13:13:13.710] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.710] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:13:13.710] } [13:13:13.710] ...future.workdir <- getwd() [13:13:13.710] } [13:13:13.710] ...future.oldOptions <- base::as.list(base::.Options) [13:13:13.710] ...future.oldEnvVars <- base::Sys.getenv() [13:13:13.710] } [13:13:13.710] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:13:13.710] future.globals.maxSize = Inf, future.globals.method = NULL, [13:13:13.710] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:13:13.710] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:13:13.710] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:13:13.710] future.stdout.windows.reencode = NULL, width = 80L) [13:13:13.710] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:13:13.710] base::names(...future.oldOptions)) [13:13:13.710] } [13:13:13.710] if (FALSE) { [13:13:13.710] } [13:13:13.710] else { [13:13:13.710] if (TRUE) { [13:13:13.710] ...future.stdout <- base::rawConnection(base::raw(0L), [13:13:13.710] open = "w") [13:13:13.710] } [13:13:13.710] else { [13:13:13.710] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:13:13.710] windows = "NUL", "/dev/null"), open = "w") [13:13:13.710] } [13:13:13.710] base::sink(...future.stdout, type = "output", split = FALSE) [13:13:13.710] base::on.exit(if (!base::is.null(...future.stdout)) { [13:13:13.710] base::sink(type = "output", split = FALSE) [13:13:13.710] base::close(...future.stdout) [13:13:13.710] }, add = TRUE) [13:13:13.710] } [13:13:13.710] ...future.frame <- base::sys.nframe() [13:13:13.710] ...future.conditions <- base::list() [13:13:13.710] ...future.rng <- base::globalenv()$.Random.seed [13:13:13.710] if (FALSE) { [13:13:13.710] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:13:13.710] "...future.value", "...future.globalenv.names", ".Random.seed") [13:13:13.710] } [13:13:13.710] ...future.result <- base::tryCatch({ [13:13:13.710] base::withCallingHandlers({ [13:13:13.710] ...future.value <- base::withVisible(base::local({ [13:13:13.710] ...future.makeSendCondition <- local({ [13:13:13.710] sendCondition <- NULL [13:13:13.710] function(frame = 1L) { [13:13:13.710] if (is.function(sendCondition)) [13:13:13.710] return(sendCondition) [13:13:13.710] ns <- getNamespace("parallel") [13:13:13.710] if (exists("sendData", mode = "function", [13:13:13.710] envir = ns)) { [13:13:13.710] parallel_sendData <- get("sendData", mode = "function", [13:13:13.710] envir = ns) [13:13:13.710] envir <- sys.frame(frame) [13:13:13.710] master <- NULL [13:13:13.710] while (!identical(envir, .GlobalEnv) && [13:13:13.710] !identical(envir, emptyenv())) { [13:13:13.710] if (exists("master", mode = "list", envir = envir, [13:13:13.710] inherits = FALSE)) { [13:13:13.710] master <- get("master", mode = "list", [13:13:13.710] envir = envir, inherits = FALSE) [13:13:13.710] if (inherits(master, c("SOCKnode", [13:13:13.710] "SOCK0node"))) { [13:13:13.710] sendCondition <<- function(cond) { [13:13:13.710] data <- list(type = "VALUE", value = cond, [13:13:13.710] success = TRUE) [13:13:13.710] parallel_sendData(master, data) [13:13:13.710] } [13:13:13.710] return(sendCondition) [13:13:13.710] } [13:13:13.710] } [13:13:13.710] frame <- frame + 1L [13:13:13.710] envir <- sys.frame(frame) [13:13:13.710] } [13:13:13.710] } [13:13:13.710] sendCondition <<- function(cond) NULL [13:13:13.710] } [13:13:13.710] }) [13:13:13.710] withCallingHandlers({ [13:13:13.710] { [13:13:13.710] do.call(function(...) { [13:13:13.710] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.710] if (!identical(...future.globals.maxSize.org, [13:13:13.710] ...future.globals.maxSize)) { [13:13:13.710] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.710] on.exit(options(oopts), add = TRUE) [13:13:13.710] } [13:13:13.710] { [13:13:13.710] lapply(seq_along(...future.elements_ii), [13:13:13.710] FUN = function(jj) { [13:13:13.710] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.710] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:13.710] envir = globalenv(), inherits = FALSE) [13:13:13.710] ...future.FUN(...future.X_jj, ...) [13:13:13.710] }) [13:13:13.710] } [13:13:13.710] }, args = future.call.arguments) [13:13:13.710] } [13:13:13.710] }, immediateCondition = function(cond) { [13:13:13.710] sendCondition <- ...future.makeSendCondition() [13:13:13.710] sendCondition(cond) [13:13:13.710] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.710] { [13:13:13.710] inherits <- base::inherits [13:13:13.710] invokeRestart <- base::invokeRestart [13:13:13.710] is.null <- base::is.null [13:13:13.710] muffled <- FALSE [13:13:13.710] if (inherits(cond, "message")) { [13:13:13.710] muffled <- grepl(pattern, "muffleMessage") [13:13:13.710] if (muffled) [13:13:13.710] invokeRestart("muffleMessage") [13:13:13.710] } [13:13:13.710] else if (inherits(cond, "warning")) { [13:13:13.710] muffled <- grepl(pattern, "muffleWarning") [13:13:13.710] if (muffled) [13:13:13.710] invokeRestart("muffleWarning") [13:13:13.710] } [13:13:13.710] else if (inherits(cond, "condition")) { [13:13:13.710] if (!is.null(pattern)) { [13:13:13.710] computeRestarts <- base::computeRestarts [13:13:13.710] grepl <- base::grepl [13:13:13.710] restarts <- computeRestarts(cond) [13:13:13.710] for (restart in restarts) { [13:13:13.710] name <- restart$name [13:13:13.710] if (is.null(name)) [13:13:13.710] next [13:13:13.710] if (!grepl(pattern, name)) [13:13:13.710] next [13:13:13.710] invokeRestart(restart) [13:13:13.710] muffled <- TRUE [13:13:13.710] break [13:13:13.710] } [13:13:13.710] } [13:13:13.710] } [13:13:13.710] invisible(muffled) [13:13:13.710] } [13:13:13.710] muffleCondition(cond) [13:13:13.710] }) [13:13:13.710] })) [13:13:13.710] future::FutureResult(value = ...future.value$value, [13:13:13.710] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.710] ...future.rng), globalenv = if (FALSE) [13:13:13.710] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:13:13.710] ...future.globalenv.names)) [13:13:13.710] else NULL, started = ...future.startTime, version = "1.8") [13:13:13.710] }, condition = base::local({ [13:13:13.710] c <- base::c [13:13:13.710] inherits <- base::inherits [13:13:13.710] invokeRestart <- base::invokeRestart [13:13:13.710] length <- base::length [13:13:13.710] list <- base::list [13:13:13.710] seq.int <- base::seq.int [13:13:13.710] signalCondition <- base::signalCondition [13:13:13.710] sys.calls <- base::sys.calls [13:13:13.710] `[[` <- base::`[[` [13:13:13.710] `+` <- base::`+` [13:13:13.710] `<<-` <- base::`<<-` [13:13:13.710] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:13:13.710] calls[seq.int(from = from + 12L, to = length(calls) - [13:13:13.710] 3L)] [13:13:13.710] } [13:13:13.710] function(cond) { [13:13:13.710] is_error <- inherits(cond, "error") [13:13:13.710] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:13:13.710] NULL) [13:13:13.710] if (is_error) { [13:13:13.710] sessionInformation <- function() { [13:13:13.710] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:13:13.710] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:13:13.710] search = base::search(), system = base::Sys.info()) [13:13:13.710] } [13:13:13.710] ...future.conditions[[length(...future.conditions) + [13:13:13.710] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:13:13.710] cond$call), session = sessionInformation(), [13:13:13.710] timestamp = base::Sys.time(), signaled = 0L) [13:13:13.710] signalCondition(cond) [13:13:13.710] } [13:13:13.710] else if (!ignore && TRUE && inherits(cond, "immediateCondition")) { [13:13:13.710] signal <- TRUE && inherits(cond, "immediateCondition") [13:13:13.710] ...future.conditions[[length(...future.conditions) + [13:13:13.710] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:13:13.710] if (TRUE && !signal) { [13:13:13.710] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.710] { [13:13:13.710] inherits <- base::inherits [13:13:13.710] invokeRestart <- base::invokeRestart [13:13:13.710] is.null <- base::is.null [13:13:13.710] muffled <- FALSE [13:13:13.710] if (inherits(cond, "message")) { [13:13:13.710] muffled <- grepl(pattern, "muffleMessage") [13:13:13.710] if (muffled) [13:13:13.710] invokeRestart("muffleMessage") [13:13:13.710] } [13:13:13.710] else if (inherits(cond, "warning")) { [13:13:13.710] muffled <- grepl(pattern, "muffleWarning") [13:13:13.710] if (muffled) [13:13:13.710] invokeRestart("muffleWarning") [13:13:13.710] } [13:13:13.710] else if (inherits(cond, "condition")) { [13:13:13.710] if (!is.null(pattern)) { [13:13:13.710] computeRestarts <- base::computeRestarts [13:13:13.710] grepl <- base::grepl [13:13:13.710] restarts <- computeRestarts(cond) [13:13:13.710] for (restart in restarts) { [13:13:13.710] name <- restart$name [13:13:13.710] if (is.null(name)) [13:13:13.710] next [13:13:13.710] if (!grepl(pattern, name)) [13:13:13.710] next [13:13:13.710] invokeRestart(restart) [13:13:13.710] muffled <- TRUE [13:13:13.710] break [13:13:13.710] } [13:13:13.710] } [13:13:13.710] } [13:13:13.710] invisible(muffled) [13:13:13.710] } [13:13:13.710] muffleCondition(cond, pattern = "^muffle") [13:13:13.710] } [13:13:13.710] } [13:13:13.710] else { [13:13:13.710] if (TRUE) { [13:13:13.710] muffleCondition <- function (cond, pattern = "^muffle") [13:13:13.710] { [13:13:13.710] inherits <- base::inherits [13:13:13.710] invokeRestart <- base::invokeRestart [13:13:13.710] is.null <- base::is.null [13:13:13.710] muffled <- FALSE [13:13:13.710] if (inherits(cond, "message")) { [13:13:13.710] muffled <- grepl(pattern, "muffleMessage") [13:13:13.710] if (muffled) [13:13:13.710] invokeRestart("muffleMessage") [13:13:13.710] } [13:13:13.710] else if (inherits(cond, "warning")) { [13:13:13.710] muffled <- grepl(pattern, "muffleWarning") [13:13:13.710] if (muffled) [13:13:13.710] invokeRestart("muffleWarning") [13:13:13.710] } [13:13:13.710] else if (inherits(cond, "condition")) { [13:13:13.710] if (!is.null(pattern)) { [13:13:13.710] computeRestarts <- base::computeRestarts [13:13:13.710] grepl <- base::grepl [13:13:13.710] restarts <- computeRestarts(cond) [13:13:13.710] for (restart in restarts) { [13:13:13.710] name <- restart$name [13:13:13.710] if (is.null(name)) [13:13:13.710] next [13:13:13.710] if (!grepl(pattern, name)) [13:13:13.710] next [13:13:13.710] invokeRestart(restart) [13:13:13.710] muffled <- TRUE [13:13:13.710] break [13:13:13.710] } [13:13:13.710] } [13:13:13.710] } [13:13:13.710] invisible(muffled) [13:13:13.710] } [13:13:13.710] muffleCondition(cond, pattern = "^muffle") [13:13:13.710] } [13:13:13.710] } [13:13:13.710] } [13:13:13.710] })) [13:13:13.710] }, error = function(ex) { [13:13:13.710] base::structure(base::list(value = NULL, visible = NULL, [13:13:13.710] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:13:13.710] ...future.rng), started = ...future.startTime, [13:13:13.710] finished = Sys.time(), session_uuid = NA_character_, [13:13:13.710] version = "1.8"), class = "FutureResult") [13:13:13.710] }, finally = { [13:13:13.710] if (!identical(...future.workdir, getwd())) [13:13:13.710] setwd(...future.workdir) [13:13:13.710] { [13:13:13.710] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:13:13.710] ...future.oldOptions$nwarnings <- NULL [13:13:13.710] } [13:13:13.710] base::options(...future.oldOptions) [13:13:13.710] if (.Platform$OS.type == "windows") { [13:13:13.710] old_names <- names(...future.oldEnvVars) [13:13:13.710] envs <- base::Sys.getenv() [13:13:13.710] names <- names(envs) [13:13:13.710] common <- intersect(names, old_names) [13:13:13.710] added <- setdiff(names, old_names) [13:13:13.710] removed <- setdiff(old_names, names) [13:13:13.710] changed <- common[...future.oldEnvVars[common] != [13:13:13.710] envs[common]] [13:13:13.710] NAMES <- toupper(changed) [13:13:13.710] args <- list() [13:13:13.710] for (kk in seq_along(NAMES)) { [13:13:13.710] name <- changed[[kk]] [13:13:13.710] NAME <- NAMES[[kk]] [13:13:13.710] if (name != NAME && is.element(NAME, old_names)) [13:13:13.710] next [13:13:13.710] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.710] } [13:13:13.710] NAMES <- toupper(added) [13:13:13.710] for (kk in seq_along(NAMES)) { [13:13:13.710] name <- added[[kk]] [13:13:13.710] NAME <- NAMES[[kk]] [13:13:13.710] if (name != NAME && is.element(NAME, old_names)) [13:13:13.710] next [13:13:13.710] args[[name]] <- "" [13:13:13.710] } [13:13:13.710] NAMES <- toupper(removed) [13:13:13.710] for (kk in seq_along(NAMES)) { [13:13:13.710] name <- removed[[kk]] [13:13:13.710] NAME <- NAMES[[kk]] [13:13:13.710] if (name != NAME && is.element(NAME, old_names)) [13:13:13.710] next [13:13:13.710] args[[name]] <- ...future.oldEnvVars[[name]] [13:13:13.710] } [13:13:13.710] if (length(args) > 0) [13:13:13.710] base::do.call(base::Sys.setenv, args = args) [13:13:13.710] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:13:13.710] } [13:13:13.710] else { [13:13:13.710] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:13:13.710] } [13:13:13.710] { [13:13:13.710] if (base::length(...future.futureOptionsAdded) > [13:13:13.710] 0L) { [13:13:13.710] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:13:13.710] base::names(opts) <- ...future.futureOptionsAdded [13:13:13.710] base::options(opts) [13:13:13.710] } [13:13:13.710] { [13:13:13.710] { [13:13:13.710] base::options(mc.cores = ...future.mc.cores.old) [13:13:13.710] NULL [13:13:13.710] } [13:13:13.710] options(future.plan = NULL) [13:13:13.710] if (is.na(NA_character_)) [13:13:13.710] Sys.unsetenv("R_FUTURE_PLAN") [13:13:13.710] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:13:13.710] future::plan(list(function (..., workers = availableCores(), [13:13:13.710] lazy = FALSE, rscript_libs = .libPaths(), [13:13:13.710] envir = parent.frame()) [13:13:13.710] { [13:13:13.710] if (is.function(workers)) [13:13:13.710] workers <- workers() [13:13:13.710] workers <- structure(as.integer(workers), [13:13:13.710] class = class(workers)) [13:13:13.710] stop_if_not(length(workers) == 1, is.finite(workers), [13:13:13.710] workers >= 1) [13:13:13.710] if (workers == 1L && !inherits(workers, "AsIs")) { [13:13:13.710] return(sequential(..., lazy = TRUE, envir = envir)) [13:13:13.710] } [13:13:13.710] future <- MultisessionFuture(..., workers = workers, [13:13:13.710] lazy = lazy, rscript_libs = rscript_libs, [13:13:13.710] envir = envir) [13:13:13.710] if (!future$lazy) [13:13:13.710] future <- run(future) [13:13:13.710] invisible(future) [13:13:13.710] }), .cleanup = FALSE, .init = FALSE) [13:13:13.710] } [13:13:13.710] } [13:13:13.710] } [13:13:13.710] }) [13:13:13.710] if (TRUE) { [13:13:13.710] base::sink(type = "output", split = FALSE) [13:13:13.710] if (TRUE) { [13:13:13.710] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:13:13.710] } [13:13:13.710] else { [13:13:13.710] ...future.result["stdout"] <- base::list(NULL) [13:13:13.710] } [13:13:13.710] base::close(...future.stdout) [13:13:13.710] ...future.stdout <- NULL [13:13:13.710] } [13:13:13.710] ...future.result$conditions <- ...future.conditions [13:13:13.710] ...future.result$finished <- base::Sys.time() [13:13:13.710] ...future.result [13:13:13.710] } [13:13:13.715] Exporting 5 global objects (35.63 KiB) to cluster node #1 ... [13:13:13.716] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... [13:13:13.716] Exporting 'future.call.arguments' (0 bytes) to cluster node #1 ... DONE [13:13:13.716] Exporting '...future.FUN' (35.45 KiB) to cluster node #1 ... [13:13:13.717] Exporting '...future.FUN' (35.45 KiB) to cluster node #1 ... DONE [13:13:13.717] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... [13:13:13.717] Exporting '...future.elements_ii' (56 bytes) to cluster node #1 ... DONE [13:13:13.718] Exporting '...future.seeds_ii' (80 bytes) to cluster node #1 ... [13:13:13.718] Exporting '...future.seeds_ii' (80 bytes) to cluster node #1 ... DONE [13:13:13.718] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... [13:13:13.719] Exporting '...future.globals.maxSize' (56 bytes) to cluster node #1 ... DONE [13:13:13.719] Exporting 5 global objects (35.63 KiB) to cluster node #1 ... DONE [13:13:13.720] MultisessionFuture started [13:13:13.720] - Launch lazy future ... done [13:13:13.720] run() for 'MultisessionFuture' ... done [13:13:13.720] Created future: [13:13:13.736] receiveMessageFromWorker() for ClusterFuture ... [13:13:13.736] - Validating connection of MultisessionFuture [13:13:13.736] - received message: FutureResult [13:13:13.737] - Received FutureResult [13:13:13.737] - Erased future from FutureRegistry [13:13:13.737] result() for ClusterFuture ... [13:13:13.737] - result already collected: FutureResult [13:13:13.737] result() for ClusterFuture ... done [13:13:13.737] receiveMessageFromWorker() for ClusterFuture ... done [13:13:13.720] MultisessionFuture: [13:13:13.720] Label: 'future_apply-2' [13:13:13.720] Expression: [13:13:13.720] { [13:13:13.720] do.call(function(...) { [13:13:13.720] ...future.globals.maxSize.org <- getOption("future.globals.maxSize") [13:13:13.720] if (!identical(...future.globals.maxSize.org, ...future.globals.maxSize)) { [13:13:13.720] oopts <- options(future.globals.maxSize = ...future.globals.maxSize) [13:13:13.720] on.exit(options(oopts), add = TRUE) [13:13:13.720] } [13:13:13.720] { [13:13:13.720] lapply(seq_along(...future.elements_ii), FUN = function(jj) { [13:13:13.720] ...future.X_jj <- ...future.elements_ii[[jj]] [13:13:13.720] assign(".Random.seed", ...future.seeds_ii[[jj]], [13:13:13.720] envir = globalenv(), inherits = FALSE) [13:13:13.720] ...future.FUN(...future.X_jj, ...) [13:13:13.720] }) [13:13:13.720] } [13:13:13.720] }, args = future.call.arguments) [13:13:13.720] } [13:13:13.720] Lazy evaluation: FALSE [13:13:13.720] Asynchronous evaluation: TRUE [13:13:13.720] Local evaluation: TRUE [13:13:13.720] Environment: R_GlobalEnv [13:13:13.720] Capture standard output: TRUE [13:13:13.720] Capture condition classes: [13:13:13.720] Globals: 5 objects totaling 35.63 KiB (DotDotDotList 'future.call.arguments' of 0 bytes, function '...future.FUN' of 35.45 KiB, list '...future.elements_ii' of 56 bytes, list '...future.seeds_ii' of 80 bytes, numeric '...future.globals.maxSize' of 56 bytes) [13:13:13.720] Packages: [13:13:13.720] L'Ecuyer-CMRG RNG seed: (seed = NULL) [13:13:13.720] Resolved: TRUE [13:13:13.720] Value: [13:13:13.720] Conditions captured: [13:13:13.720] Early signaling: FALSE [13:13:13.720] Owner process: d3d31dc0-a123-527f-a551-125d5a137140 [13:13:13.720] Class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [13:13:13.738] Chunk #2 of 2 ... DONE [13:13:13.738] Launching 2 futures (chunks) ... DONE [13:13:13.738] Resolving 2 futures (chunks) ... [13:13:13.738] resolve() on list ... [13:13:13.738] recursive: 0 [13:13:13.739] length: 2 [13:13:13.739] [13:13:13.739] Future #1 [13:13:13.739] result() for ClusterFuture ... [13:13:13.739] - result already collected: FutureResult [13:13:13.739] result() for ClusterFuture ... done [13:13:13.740] result() for ClusterFuture ... [13:13:13.740] - result already collected: FutureResult [13:13:13.740] result() for ClusterFuture ... done [13:13:13.740] signalConditionsASAP(MultisessionFuture, pos=1) ... [13:13:13.740] - nx: 2 [13:13:13.740] - relay: TRUE [13:13:13.740] - stdout: TRUE [13:13:13.741] - signal: TRUE [13:13:13.741] - resignal: FALSE [13:13:13.741] - force: TRUE [13:13:13.741] - relayed: [n=2] FALSE, FALSE [13:13:13.741] - queued futures: [n=2] FALSE, FALSE [13:13:13.741] - until=1 [13:13:13.742] - relaying element #1 [13:13:13.742] result() for ClusterFuture ... [13:13:13.742] - result already collected: FutureResult [13:13:13.742] result() for ClusterFuture ... done [13:13:13.742] result() for ClusterFuture ... [13:13:13.742] - result already collected: FutureResult [13:13:13.743] result() for ClusterFuture ... done [13:13:13.743] result() for ClusterFuture ... [13:13:13.743] - result already collected: FutureResult [13:13:13.743] result() for ClusterFuture ... done [13:13:13.743] result() for ClusterFuture ... [13:13:13.743] - result already collected: FutureResult [13:13:13.744] result() for ClusterFuture ... done [13:13:13.744] - relayed: [n=2] TRUE, FALSE [13:13:13.744] - queued futures: [n=2] TRUE, FALSE [13:13:13.744] signalConditionsASAP(MultisessionFuture, pos=1) ... done [13:13:13.744] length: 1 (resolved future 1) [13:13:13.745] Future #2 [13:13:13.745] result() for ClusterFuture ... [13:13:13.745] - result already collected: FutureResult [13:13:13.745] result() for ClusterFuture ... done [13:13:13.745] result() for ClusterFuture ... [13:13:13.745] - result already collected: FutureResult [13:13:13.745] result() for ClusterFuture ... done [13:13:13.746] signalConditionsASAP(MultisessionFuture, pos=2) ... [13:13:13.746] - nx: 2 [13:13:13.746] - relay: TRUE [13:13:13.746] - stdout: TRUE [13:13:13.746] - signal: TRUE [13:13:13.746] - resignal: FALSE [13:13:13.747] - force: TRUE [13:13:13.747] - relayed: [n=2] TRUE, FALSE [13:13:13.747] - queued futures: [n=2] TRUE, FALSE [13:13:13.747] - until=2 [13:13:13.747] - relaying element #2 [13:13:13.747] result() for ClusterFuture ... [13:13:13.748] - result already collected: FutureResult [13:13:13.748] result() for ClusterFuture ... done [13:13:13.748] result() for ClusterFuture ... [13:13:13.748] - result already collected: FutureResult [13:13:13.748] result() for ClusterFuture ... done [13:13:13.748] result() for ClusterFuture ... [13:13:13.749] - result already collected: FutureResult [13:13:13.749] result() for ClusterFuture ... done [13:13:13.749] result() for ClusterFuture ... [13:13:13.749] - result already collected: FutureResult [13:13:13.749] result() for ClusterFuture ... done [13:13:13.749] - relayed: [n=2] TRUE, TRUE [13:13:13.749] - queued futures: [n=2] TRUE, TRUE [13:13:13.750] signalConditionsASAP(MultisessionFuture, pos=2) ... done [13:13:13.750] length: 0 (resolved future 2) [13:13:13.750] Relaying remaining futures [13:13:13.750] signalConditionsASAP(NULL, pos=0) ... [13:13:13.750] - nx: 2 [13:13:13.750] - relay: TRUE [13:13:13.751] - stdout: TRUE [13:13:13.751] - signal: TRUE [13:13:13.751] - resignal: FALSE [13:13:13.751] - force: TRUE [13:13:13.751] - relayed: [n=2] TRUE, TRUE [13:13:13.751] - queued futures: [n=2] TRUE, TRUE - flush all [13:13:13.752] - relayed: [n=2] TRUE, TRUE [13:13:13.752] - queued futures: [n=2] TRUE, TRUE [13:13:13.752] signalConditionsASAP(NULL, pos=0) ... done [13:13:13.752] resolve() on list ... DONE [13:13:13.752] result() for ClusterFuture ... [13:13:13.752] - result already collected: FutureResult [13:13:13.753] result() for ClusterFuture ... done [13:13:13.753] result() for ClusterFuture ... [13:13:13.753] - result already collected: FutureResult [13:13:13.753] result() for ClusterFuture ... done [13:13:13.753] result() for ClusterFuture ... [13:13:13.753] - result already collected: FutureResult [13:13:13.754] result() for ClusterFuture ... done [13:13:13.754] result() for ClusterFuture ... [13:13:13.754] - result already collected: FutureResult [13:13:13.754] result() for ClusterFuture ... done [13:13:13.754] - Number of value chunks collected: 2 [13:13:13.754] Resolving 2 futures (chunks) ... DONE [13:13:13.754] Reducing values from 2 chunks ... [13:13:13.755] - Number of values collected after concatenation: 2 [13:13:13.755] - Number of values expected: 2 [13:13:13.755] Reducing values from 2 chunks ... DONE [13:13:13.755] future_lapply() ... DONE [,1] [,2] [1,] 3 2 [2,] 1 4 [13:13:13.755] plan(): Setting new future strategy stack: [13:13:13.756] List of future strategies: [13:13:13.756] 1. sequential: [13:13:13.756] - args: function (..., envir = parent.frame(), workers = "") [13:13:13.756] - tweaked: FALSE [13:13:13.756] - call: plan(sequential) [13:13:13.757] plan(): nbrOfWorkers() = 1 *** strategy = 'multisession' ... done > > > message("*** apply(X, ...) - prod(dim(X)) == 0 [non-parallel] ...") *** apply(X, ...) - prod(dim(X)) == 0 [non-parallel] ... > X <- matrix(nrow = 0L, ncol = 2L) > y0 <- apply(X, MARGIN = 1L, FUN = identity) > y1 <- future_apply(X, MARGIN = 1L, FUN = identity) > print(y1) logical(0) > stopifnot(identical(y1, y0)) > > > message("*** exceptions ...") *** exceptions ... > > ## Error: dim(X) must have a positive length > res <- tryCatch({ + y <- future_apply(1L, MARGIN = 1L, FUN = identity) + }, error = identity) > stopifnot(inherits(res, "error")) > > ## Error: 'X' must have named dimnames > X <- matrix(1:2, nrow = 2L, ncol = 1L) > res <- tryCatch({ + y <- future_apply(X, MARGIN = "rows", FUN = identity) + }, error = identity) > stopifnot(inherits(res, "error")) > > ## Error: not all elements of 'MARGIN' are names of dimensions > X <- matrix(1:2, nrow = 2L, ncol = 1L, dimnames = list(rows = c("a", "b"))) > res <- tryCatch({ + y <- future_apply(X, MARGIN = "cols", FUN = identity) + }, error = identity) > stopifnot(inherits(res, "error")) > > > message("*** future_apply() ... DONE") *** future_apply() ... DONE > > source("incl/end.R") [13:13:13.759] plan(): Setting new future strategy stack: [13:13:13.759] List of future strategies: [13:13:13.759] 1. FutureStrategy: [13:13:13.759] - args: function (..., envir = parent.frame(), workers = "") [13:13:13.759] - tweaked: FALSE [13:13:13.759] - call: future::plan(oplan) [13:13:13.760] plan(): nbrOfWorkers() = 1 > > proc.time() user system elapsed 2.51 0.14 3.70