R Under development (unstable) (2023-06-30 r84625 ucrt) -- "Unsuffered Consequences" Copyright (C) 2023 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") [18:01:55.656] plan(): Setting new future strategy stack: [18:01:55.657] List of future strategies: [18:01:55.657] 1. sequential: [18:01:55.657] - args: function (..., envir = parent.frame()) [18:01:55.657] - tweaked: FALSE [18:01:55.657] - call: future::plan("sequential") [18:01:55.673] plan(): nbrOfWorkers() = 1 > > oopts <- c(oopts, options( + future.globals.resolve = TRUE, + future.globals.onMissing = "error" + )) > > message("*** Globals - subassignments ...") *** Globals - subassignments ... > > message("*** Globals - subassignments w/ x$a <- value ...") *** Globals - subassignments w/ x$a <- value ... > > ## Truth: > x <- x0 <- list() > y0 <- list(a = 1) > str(list(x = x, y0 = y0)) List of 2 $ x : list() $ y0:List of 1 ..$ a: num 1 > > y <- local({ + x$a <- 1 + x + }) > stopifnot(identical(y, y0)) > > y <- local({ + x[["a"]] <- 1 + x + }) > stopifnot(identical(y, y0)) > > y <- local({ + x["a"] <- list(1) + x + }) > stopifnot(identical(y, y0)) > > stopifnot(identical(x, list())) > > for (cores in 1:availCores) { + ## Speed up CRAN checks: Skip on CRAN Windows 32-bit + if (!fullTest && isWin32) next + + message(sprintf("Testing with %d cores ...", cores)) + options(mc.cores = cores) + + message("availableCores(): ", availableCores()) + + for (strategy in supportedStrategies(cores)) { + message(sprintf("- plan('%s') ...", strategy)) + plan(strategy) + + ## Explicit future + x <- list() + f <- future({ + x$a <- 1 + x + }) + rm(list = "x") + y <- value(f) + print(y) + stopifnot(identical(y, y0)) + + ## Explicit future (lazy) + x <- list() + f <- future({ + x$a <- 1 + x + }, lazy = TRUE) + rm(list = "x") + y <- value(f) + print(y) + stopifnot(identical(y, y0)) + + ## Future assignment + x <- list() + y %<-% { + x$a <- 1 + x + } + rm(list = "x") + print(y) + stopifnot(identical(y, y0)) + + ## Same with forced lazy evaluation + x <- list() + y %<-% { + x$a <- 1 + x + } %lazy% TRUE + rm(list = "x") + print(y) + stopifnot(identical(y, y0)) + + ## 'x' is _not_ a global variable here + x <- list() + y %<-% { + x <- list(b = 2) + x$a <- 1 + x + } + rm(list = "x") + print(y) + stopifnot(identical(y, list(b = 2, a = 1))) + + ## Explicit future + x <- list() + f <- future({ + x[["a"]] <- 1 + x + }) + rm(list = "x") + y <- value(f) + print(y) + stopifnot(identical(y, y0)) + + ## Explicit future (lazy) + x <- list() + f <- future({ + x[["a"]] <- 1 + x + }, lazy = TRUE) + rm(list = "x") + y <- value(f) + print(y) + stopifnot(identical(y, y0)) + + ## Future assignment + x <- list() + y %<-% { + x[["a"]] <- 1 + x + } + rm(list = "x") + print(y) + stopifnot(identical(y, y0)) + + ## Explicit future + x <- list() + f <- future({ + x["a"] <- list(1) + x + }) + rm(list = "x") + y <- value(f) + print(y) + stopifnot(identical(y, y0)) + + ## Explicit future (lazy) + x <- list() + f <- future({ + x["a"] <- list(1) + x + }, lazy = TRUE) + rm(list = "x") + y <- value(f) + print(y) + stopifnot(identical(y, y0)) + + ## Future assignment + x <- list() + y %<-% { + x["a"] <- list(1) + x + } + rm(list = "x") + print(y) + stopifnot(identical(y, y0)) + + ## Future assignment + x <- list() + name <- "a" + y %<-% { + x[name] <- list(1) + x + } + rm(list = c("x", "name")) + print(y) + stopifnot(identical(y, y0)) + } ## for (strategy ...) + + message(sprintf("Testing with %d cores ... DONE", cores)) + } ## for (cores ...) Testing with 1 cores ... availableCores(): 1 - plan('sequential') ... [18:01:55.754] plan(): Setting new future strategy stack: [18:01:55.755] List of future strategies: [18:01:55.755] 1. sequential: [18:01:55.755] - args: function (..., envir = parent.frame()) [18:01:55.755] - tweaked: FALSE [18:01:55.755] - call: plan(strategy) [18:01:55.767] plan(): nbrOfWorkers() = 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.768] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.769] Searching for globals... [18:01:55.779] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.779] Searching for globals ... DONE [18:01:55.779] Resolving globals: TRUE [18:01:55.779] Resolving any globals that are futures ... [18:01:55.780] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.780] Resolving any globals that are futures ... DONE [18:01:55.781] Resolving futures part of globals (recursively) ... [18:01:55.782] resolve() on list ... [18:01:55.782] recursive: 99 [18:01:55.782] length: 1 [18:01:55.782] elements: 'x' [18:01:55.782] length: 0 (resolved future 1) [18:01:55.783] resolve() on list ... DONE [18:01:55.783] - globals: [1] 'x' [18:01:55.783] Resolving futures part of globals (recursively) ... DONE [18:01:55.784] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.784] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.784] - globals: [1] 'x' [18:01:55.784] [18:01:55.785] getGlobalsAndPackages() ... DONE [18:01:55.785] run() for 'Future' ... [18:01:55.786] - state: 'created' [18:01:55.786] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.786] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.787] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.787] - Field: 'label' [18:01:55.787] - Field: 'local' [18:01:55.787] - Field: 'owner' [18:01:55.787] - Field: 'envir' [18:01:55.788] - Field: 'packages' [18:01:55.788] - Field: 'gc' [18:01:55.788] - Field: 'conditions' [18:01:55.788] - Field: 'expr' [18:01:55.788] - Field: 'uuid' [18:01:55.788] - Field: 'seed' [18:01:55.789] - Field: 'version' [18:01:55.789] - Field: 'result' [18:01:55.789] - Field: 'asynchronous' [18:01:55.789] - Field: 'calls' [18:01:55.789] - Field: 'globals' [18:01:55.789] - Field: 'stdout' [18:01:55.790] - Field: 'earlySignal' [18:01:55.790] - Field: 'lazy' [18:01:55.790] - Field: 'state' [18:01:55.790] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.790] - Launch lazy future ... [18:01:55.791] Packages needed by the future expression (n = 0): [18:01:55.792] Packages needed by future strategies (n = 0): [18:01:55.792] { [18:01:55.792] { [18:01:55.792] { [18:01:55.792] ...future.startTime <- base::Sys.time() [18:01:55.792] { [18:01:55.792] { [18:01:55.792] { [18:01:55.792] base::local({ [18:01:55.792] has_future <- base::requireNamespace("future", [18:01:55.792] quietly = TRUE) [18:01:55.792] if (has_future) { [18:01:55.792] ns <- base::getNamespace("future") [18:01:55.792] version <- ns[[".package"]][["version"]] [18:01:55.792] if (is.null(version)) [18:01:55.792] version <- utils::packageVersion("future") [18:01:55.792] } [18:01:55.792] else { [18:01:55.792] version <- NULL [18:01:55.792] } [18:01:55.792] if (!has_future || version < "1.8.0") { [18:01:55.792] info <- base::c(r_version = base::gsub("R version ", [18:01:55.792] "", base::R.version$version.string), [18:01:55.792] platform = base::sprintf("%s (%s-bit)", [18:01:55.792] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.792] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.792] "release", "version")], collapse = " "), [18:01:55.792] hostname = base::Sys.info()[["nodename"]]) [18:01:55.792] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.792] info) [18:01:55.792] info <- base::paste(info, collapse = "; ") [18:01:55.792] if (!has_future) { [18:01:55.792] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.792] info) [18:01:55.792] } [18:01:55.792] else { [18:01:55.792] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.792] info, version) [18:01:55.792] } [18:01:55.792] base::stop(msg) [18:01:55.792] } [18:01:55.792] }) [18:01:55.792] } [18:01:55.792] options(future.plan = NULL) [18:01:55.792] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.792] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.792] } [18:01:55.792] ...future.workdir <- getwd() [18:01:55.792] } [18:01:55.792] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.792] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.792] } [18:01:55.792] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.792] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.792] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.792] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.792] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.792] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.792] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.792] base::names(...future.oldOptions)) [18:01:55.792] } [18:01:55.792] if (FALSE) { [18:01:55.792] } [18:01:55.792] else { [18:01:55.792] if (TRUE) { [18:01:55.792] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.792] open = "w") [18:01:55.792] } [18:01:55.792] else { [18:01:55.792] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.792] windows = "NUL", "/dev/null"), open = "w") [18:01:55.792] } [18:01:55.792] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.792] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.792] base::sink(type = "output", split = FALSE) [18:01:55.792] base::close(...future.stdout) [18:01:55.792] }, add = TRUE) [18:01:55.792] } [18:01:55.792] ...future.frame <- base::sys.nframe() [18:01:55.792] ...future.conditions <- base::list() [18:01:55.792] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.792] if (FALSE) { [18:01:55.792] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.792] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.792] } [18:01:55.792] ...future.result <- base::tryCatch({ [18:01:55.792] base::withCallingHandlers({ [18:01:55.792] ...future.value <- base::withVisible(base::local({ [18:01:55.792] x$a <- 1 [18:01:55.792] x [18:01:55.792] })) [18:01:55.792] future::FutureResult(value = ...future.value$value, [18:01:55.792] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.792] ...future.rng), globalenv = if (FALSE) [18:01:55.792] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.792] ...future.globalenv.names)) [18:01:55.792] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.792] }, condition = base::local({ [18:01:55.792] c <- base::c [18:01:55.792] inherits <- base::inherits [18:01:55.792] invokeRestart <- base::invokeRestart [18:01:55.792] length <- base::length [18:01:55.792] list <- base::list [18:01:55.792] seq.int <- base::seq.int [18:01:55.792] signalCondition <- base::signalCondition [18:01:55.792] sys.calls <- base::sys.calls [18:01:55.792] `[[` <- base::`[[` [18:01:55.792] `+` <- base::`+` [18:01:55.792] `<<-` <- base::`<<-` [18:01:55.792] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.792] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.792] 3L)] [18:01:55.792] } [18:01:55.792] function(cond) { [18:01:55.792] is_error <- inherits(cond, "error") [18:01:55.792] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.792] NULL) [18:01:55.792] if (is_error) { [18:01:55.792] sessionInformation <- function() { [18:01:55.792] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.792] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.792] search = base::search(), system = base::Sys.info()) [18:01:55.792] } [18:01:55.792] ...future.conditions[[length(...future.conditions) + [18:01:55.792] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.792] cond$call), session = sessionInformation(), [18:01:55.792] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.792] signalCondition(cond) [18:01:55.792] } [18:01:55.792] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.792] "immediateCondition"))) { [18:01:55.792] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.792] ...future.conditions[[length(...future.conditions) + [18:01:55.792] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.792] if (TRUE && !signal) { [18:01:55.792] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.792] { [18:01:55.792] inherits <- base::inherits [18:01:55.792] invokeRestart <- base::invokeRestart [18:01:55.792] is.null <- base::is.null [18:01:55.792] muffled <- FALSE [18:01:55.792] if (inherits(cond, "message")) { [18:01:55.792] muffled <- grepl(pattern, "muffleMessage") [18:01:55.792] if (muffled) [18:01:55.792] invokeRestart("muffleMessage") [18:01:55.792] } [18:01:55.792] else if (inherits(cond, "warning")) { [18:01:55.792] muffled <- grepl(pattern, "muffleWarning") [18:01:55.792] if (muffled) [18:01:55.792] invokeRestart("muffleWarning") [18:01:55.792] } [18:01:55.792] else if (inherits(cond, "condition")) { [18:01:55.792] if (!is.null(pattern)) { [18:01:55.792] computeRestarts <- base::computeRestarts [18:01:55.792] grepl <- base::grepl [18:01:55.792] restarts <- computeRestarts(cond) [18:01:55.792] for (restart in restarts) { [18:01:55.792] name <- restart$name [18:01:55.792] if (is.null(name)) [18:01:55.792] next [18:01:55.792] if (!grepl(pattern, name)) [18:01:55.792] next [18:01:55.792] invokeRestart(restart) [18:01:55.792] muffled <- TRUE [18:01:55.792] break [18:01:55.792] } [18:01:55.792] } [18:01:55.792] } [18:01:55.792] invisible(muffled) [18:01:55.792] } [18:01:55.792] muffleCondition(cond, pattern = "^muffle") [18:01:55.792] } [18:01:55.792] } [18:01:55.792] else { [18:01:55.792] if (TRUE) { [18:01:55.792] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.792] { [18:01:55.792] inherits <- base::inherits [18:01:55.792] invokeRestart <- base::invokeRestart [18:01:55.792] is.null <- base::is.null [18:01:55.792] muffled <- FALSE [18:01:55.792] if (inherits(cond, "message")) { [18:01:55.792] muffled <- grepl(pattern, "muffleMessage") [18:01:55.792] if (muffled) [18:01:55.792] invokeRestart("muffleMessage") [18:01:55.792] } [18:01:55.792] else if (inherits(cond, "warning")) { [18:01:55.792] muffled <- grepl(pattern, "muffleWarning") [18:01:55.792] if (muffled) [18:01:55.792] invokeRestart("muffleWarning") [18:01:55.792] } [18:01:55.792] else if (inherits(cond, "condition")) { [18:01:55.792] if (!is.null(pattern)) { [18:01:55.792] computeRestarts <- base::computeRestarts [18:01:55.792] grepl <- base::grepl [18:01:55.792] restarts <- computeRestarts(cond) [18:01:55.792] for (restart in restarts) { [18:01:55.792] name <- restart$name [18:01:55.792] if (is.null(name)) [18:01:55.792] next [18:01:55.792] if (!grepl(pattern, name)) [18:01:55.792] next [18:01:55.792] invokeRestart(restart) [18:01:55.792] muffled <- TRUE [18:01:55.792] break [18:01:55.792] } [18:01:55.792] } [18:01:55.792] } [18:01:55.792] invisible(muffled) [18:01:55.792] } [18:01:55.792] muffleCondition(cond, pattern = "^muffle") [18:01:55.792] } [18:01:55.792] } [18:01:55.792] } [18:01:55.792] })) [18:01:55.792] }, error = function(ex) { [18:01:55.792] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.792] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.792] ...future.rng), started = ...future.startTime, [18:01:55.792] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.792] version = "1.8"), class = "FutureResult") [18:01:55.792] }, finally = { [18:01:55.792] if (!identical(...future.workdir, getwd())) [18:01:55.792] setwd(...future.workdir) [18:01:55.792] { [18:01:55.792] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.792] ...future.oldOptions$nwarnings <- NULL [18:01:55.792] } [18:01:55.792] base::options(...future.oldOptions) [18:01:55.792] if (.Platform$OS.type == "windows") { [18:01:55.792] old_names <- names(...future.oldEnvVars) [18:01:55.792] envs <- base::Sys.getenv() [18:01:55.792] names <- names(envs) [18:01:55.792] common <- intersect(names, old_names) [18:01:55.792] added <- setdiff(names, old_names) [18:01:55.792] removed <- setdiff(old_names, names) [18:01:55.792] changed <- common[...future.oldEnvVars[common] != [18:01:55.792] envs[common]] [18:01:55.792] NAMES <- toupper(changed) [18:01:55.792] args <- list() [18:01:55.792] for (kk in seq_along(NAMES)) { [18:01:55.792] name <- changed[[kk]] [18:01:55.792] NAME <- NAMES[[kk]] [18:01:55.792] if (name != NAME && is.element(NAME, old_names)) [18:01:55.792] next [18:01:55.792] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.792] } [18:01:55.792] NAMES <- toupper(added) [18:01:55.792] for (kk in seq_along(NAMES)) { [18:01:55.792] name <- added[[kk]] [18:01:55.792] NAME <- NAMES[[kk]] [18:01:55.792] if (name != NAME && is.element(NAME, old_names)) [18:01:55.792] next [18:01:55.792] args[[name]] <- "" [18:01:55.792] } [18:01:55.792] NAMES <- toupper(removed) [18:01:55.792] for (kk in seq_along(NAMES)) { [18:01:55.792] name <- removed[[kk]] [18:01:55.792] NAME <- NAMES[[kk]] [18:01:55.792] if (name != NAME && is.element(NAME, old_names)) [18:01:55.792] next [18:01:55.792] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.792] } [18:01:55.792] if (length(args) > 0) [18:01:55.792] base::do.call(base::Sys.setenv, args = args) [18:01:55.792] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.792] } [18:01:55.792] else { [18:01:55.792] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.792] } [18:01:55.792] { [18:01:55.792] if (base::length(...future.futureOptionsAdded) > [18:01:55.792] 0L) { [18:01:55.792] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.792] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.792] base::options(opts) [18:01:55.792] } [18:01:55.792] { [18:01:55.792] { [18:01:55.792] NULL [18:01:55.792] RNGkind("Mersenne-Twister") [18:01:55.792] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.792] inherits = FALSE) [18:01:55.792] } [18:01:55.792] options(future.plan = NULL) [18:01:55.792] if (is.na(NA_character_)) [18:01:55.792] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.792] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.792] future::plan(list(function (..., envir = parent.frame()) [18:01:55.792] { [18:01:55.792] future <- SequentialFuture(..., envir = envir) [18:01:55.792] if (!future$lazy) [18:01:55.792] future <- run(future) [18:01:55.792] invisible(future) [18:01:55.792] }), .cleanup = FALSE, .init = FALSE) [18:01:55.792] } [18:01:55.792] } [18:01:55.792] } [18:01:55.792] }) [18:01:55.792] if (TRUE) { [18:01:55.792] base::sink(type = "output", split = FALSE) [18:01:55.792] if (TRUE) { [18:01:55.792] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.792] } [18:01:55.792] else { [18:01:55.792] ...future.result["stdout"] <- base::list(NULL) [18:01:55.792] } [18:01:55.792] base::close(...future.stdout) [18:01:55.792] ...future.stdout <- NULL [18:01:55.792] } [18:01:55.792] ...future.result$conditions <- ...future.conditions [18:01:55.792] ...future.result$finished <- base::Sys.time() [18:01:55.792] ...future.result [18:01:55.792] } [18:01:55.797] assign_globals() ... [18:01:55.797] List of 1 [18:01:55.797] $ x: list() [18:01:55.797] - attr(*, "where")=List of 1 [18:01:55.797] ..$ x: [18:01:55.797] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.797] - attr(*, "resolved")= logi TRUE [18:01:55.797] - attr(*, "total_size")= num 0 [18:01:55.797] - attr(*, "already-done")= logi TRUE [18:01:55.800] - copied 'x' to environment [18:01:55.800] assign_globals() ... done [18:01:55.800] plan(): Setting new future strategy stack: [18:01:55.801] List of future strategies: [18:01:55.801] 1. sequential: [18:01:55.801] - args: function (..., envir = parent.frame()) [18:01:55.801] - tweaked: FALSE [18:01:55.801] - call: NULL [18:01:55.801] plan(): nbrOfWorkers() = 1 [18:01:55.803] plan(): Setting new future strategy stack: [18:01:55.803] List of future strategies: [18:01:55.803] 1. sequential: [18:01:55.803] - args: function (..., envir = parent.frame()) [18:01:55.803] - tweaked: FALSE [18:01:55.803] - call: plan(strategy) [18:01:55.804] plan(): nbrOfWorkers() = 1 [18:01:55.804] SequentialFuture started (and completed) [18:01:55.805] - Launch lazy future ... done [18:01:55.805] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.806] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.806] Searching for globals... [18:01:55.808] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.809] Searching for globals ... DONE [18:01:55.809] Resolving globals: TRUE [18:01:55.809] Resolving any globals that are futures ... [18:01:55.809] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.809] Resolving any globals that are futures ... DONE [18:01:55.810] Resolving futures part of globals (recursively) ... [18:01:55.810] resolve() on list ... [18:01:55.810] recursive: 99 [18:01:55.810] length: 1 [18:01:55.810] elements: 'x' [18:01:55.811] length: 0 (resolved future 1) [18:01:55.811] resolve() on list ... DONE [18:01:55.811] - globals: [1] 'x' [18:01:55.811] Resolving futures part of globals (recursively) ... DONE [18:01:55.811] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.812] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.812] - globals: [1] 'x' [18:01:55.812] [18:01:55.812] getGlobalsAndPackages() ... DONE [18:01:55.813] run() for 'Future' ... [18:01:55.813] - state: 'created' [18:01:55.813] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.813] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.814] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.814] - Field: 'label' [18:01:55.814] - Field: 'local' [18:01:55.814] - Field: 'owner' [18:01:55.814] - Field: 'envir' [18:01:55.815] - Field: 'packages' [18:01:55.815] - Field: 'gc' [18:01:55.815] - Field: 'conditions' [18:01:55.815] - Field: 'expr' [18:01:55.815] - Field: 'uuid' [18:01:55.815] - Field: 'seed' [18:01:55.816] - Field: 'version' [18:01:55.816] - Field: 'result' [18:01:55.816] - Field: 'asynchronous' [18:01:55.816] - Field: 'calls' [18:01:55.816] - Field: 'globals' [18:01:55.817] - Field: 'stdout' [18:01:55.817] - Field: 'earlySignal' [18:01:55.817] - Field: 'lazy' [18:01:55.817] - Field: 'state' [18:01:55.817] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.817] - Launch lazy future ... [18:01:55.818] Packages needed by the future expression (n = 0): [18:01:55.818] Packages needed by future strategies (n = 0): [18:01:55.820] { [18:01:55.820] { [18:01:55.820] { [18:01:55.820] ...future.startTime <- base::Sys.time() [18:01:55.820] { [18:01:55.820] { [18:01:55.820] { [18:01:55.820] base::local({ [18:01:55.820] has_future <- base::requireNamespace("future", [18:01:55.820] quietly = TRUE) [18:01:55.820] if (has_future) { [18:01:55.820] ns <- base::getNamespace("future") [18:01:55.820] version <- ns[[".package"]][["version"]] [18:01:55.820] if (is.null(version)) [18:01:55.820] version <- utils::packageVersion("future") [18:01:55.820] } [18:01:55.820] else { [18:01:55.820] version <- NULL [18:01:55.820] } [18:01:55.820] if (!has_future || version < "1.8.0") { [18:01:55.820] info <- base::c(r_version = base::gsub("R version ", [18:01:55.820] "", base::R.version$version.string), [18:01:55.820] platform = base::sprintf("%s (%s-bit)", [18:01:55.820] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.820] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.820] "release", "version")], collapse = " "), [18:01:55.820] hostname = base::Sys.info()[["nodename"]]) [18:01:55.820] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.820] info) [18:01:55.820] info <- base::paste(info, collapse = "; ") [18:01:55.820] if (!has_future) { [18:01:55.820] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.820] info) [18:01:55.820] } [18:01:55.820] else { [18:01:55.820] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.820] info, version) [18:01:55.820] } [18:01:55.820] base::stop(msg) [18:01:55.820] } [18:01:55.820] }) [18:01:55.820] } [18:01:55.820] options(future.plan = NULL) [18:01:55.820] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.820] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.820] } [18:01:55.820] ...future.workdir <- getwd() [18:01:55.820] } [18:01:55.820] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.820] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.820] } [18:01:55.820] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.820] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.820] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.820] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.820] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.820] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.820] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.820] base::names(...future.oldOptions)) [18:01:55.820] } [18:01:55.820] if (FALSE) { [18:01:55.820] } [18:01:55.820] else { [18:01:55.820] if (TRUE) { [18:01:55.820] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.820] open = "w") [18:01:55.820] } [18:01:55.820] else { [18:01:55.820] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.820] windows = "NUL", "/dev/null"), open = "w") [18:01:55.820] } [18:01:55.820] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.820] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.820] base::sink(type = "output", split = FALSE) [18:01:55.820] base::close(...future.stdout) [18:01:55.820] }, add = TRUE) [18:01:55.820] } [18:01:55.820] ...future.frame <- base::sys.nframe() [18:01:55.820] ...future.conditions <- base::list() [18:01:55.820] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.820] if (FALSE) { [18:01:55.820] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.820] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.820] } [18:01:55.820] ...future.result <- base::tryCatch({ [18:01:55.820] base::withCallingHandlers({ [18:01:55.820] ...future.value <- base::withVisible(base::local({ [18:01:55.820] x$a <- 1 [18:01:55.820] x [18:01:55.820] })) [18:01:55.820] future::FutureResult(value = ...future.value$value, [18:01:55.820] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.820] ...future.rng), globalenv = if (FALSE) [18:01:55.820] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.820] ...future.globalenv.names)) [18:01:55.820] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.820] }, condition = base::local({ [18:01:55.820] c <- base::c [18:01:55.820] inherits <- base::inherits [18:01:55.820] invokeRestart <- base::invokeRestart [18:01:55.820] length <- base::length [18:01:55.820] list <- base::list [18:01:55.820] seq.int <- base::seq.int [18:01:55.820] signalCondition <- base::signalCondition [18:01:55.820] sys.calls <- base::sys.calls [18:01:55.820] `[[` <- base::`[[` [18:01:55.820] `+` <- base::`+` [18:01:55.820] `<<-` <- base::`<<-` [18:01:55.820] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.820] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.820] 3L)] [18:01:55.820] } [18:01:55.820] function(cond) { [18:01:55.820] is_error <- inherits(cond, "error") [18:01:55.820] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.820] NULL) [18:01:55.820] if (is_error) { [18:01:55.820] sessionInformation <- function() { [18:01:55.820] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.820] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.820] search = base::search(), system = base::Sys.info()) [18:01:55.820] } [18:01:55.820] ...future.conditions[[length(...future.conditions) + [18:01:55.820] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.820] cond$call), session = sessionInformation(), [18:01:55.820] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.820] signalCondition(cond) [18:01:55.820] } [18:01:55.820] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.820] "immediateCondition"))) { [18:01:55.820] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.820] ...future.conditions[[length(...future.conditions) + [18:01:55.820] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.820] if (TRUE && !signal) { [18:01:55.820] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.820] { [18:01:55.820] inherits <- base::inherits [18:01:55.820] invokeRestart <- base::invokeRestart [18:01:55.820] is.null <- base::is.null [18:01:55.820] muffled <- FALSE [18:01:55.820] if (inherits(cond, "message")) { [18:01:55.820] muffled <- grepl(pattern, "muffleMessage") [18:01:55.820] if (muffled) [18:01:55.820] invokeRestart("muffleMessage") [18:01:55.820] } [18:01:55.820] else if (inherits(cond, "warning")) { [18:01:55.820] muffled <- grepl(pattern, "muffleWarning") [18:01:55.820] if (muffled) [18:01:55.820] invokeRestart("muffleWarning") [18:01:55.820] } [18:01:55.820] else if (inherits(cond, "condition")) { [18:01:55.820] if (!is.null(pattern)) { [18:01:55.820] computeRestarts <- base::computeRestarts [18:01:55.820] grepl <- base::grepl [18:01:55.820] restarts <- computeRestarts(cond) [18:01:55.820] for (restart in restarts) { [18:01:55.820] name <- restart$name [18:01:55.820] if (is.null(name)) [18:01:55.820] next [18:01:55.820] if (!grepl(pattern, name)) [18:01:55.820] next [18:01:55.820] invokeRestart(restart) [18:01:55.820] muffled <- TRUE [18:01:55.820] break [18:01:55.820] } [18:01:55.820] } [18:01:55.820] } [18:01:55.820] invisible(muffled) [18:01:55.820] } [18:01:55.820] muffleCondition(cond, pattern = "^muffle") [18:01:55.820] } [18:01:55.820] } [18:01:55.820] else { [18:01:55.820] if (TRUE) { [18:01:55.820] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.820] { [18:01:55.820] inherits <- base::inherits [18:01:55.820] invokeRestart <- base::invokeRestart [18:01:55.820] is.null <- base::is.null [18:01:55.820] muffled <- FALSE [18:01:55.820] if (inherits(cond, "message")) { [18:01:55.820] muffled <- grepl(pattern, "muffleMessage") [18:01:55.820] if (muffled) [18:01:55.820] invokeRestart("muffleMessage") [18:01:55.820] } [18:01:55.820] else if (inherits(cond, "warning")) { [18:01:55.820] muffled <- grepl(pattern, "muffleWarning") [18:01:55.820] if (muffled) [18:01:55.820] invokeRestart("muffleWarning") [18:01:55.820] } [18:01:55.820] else if (inherits(cond, "condition")) { [18:01:55.820] if (!is.null(pattern)) { [18:01:55.820] computeRestarts <- base::computeRestarts [18:01:55.820] grepl <- base::grepl [18:01:55.820] restarts <- computeRestarts(cond) [18:01:55.820] for (restart in restarts) { [18:01:55.820] name <- restart$name [18:01:55.820] if (is.null(name)) [18:01:55.820] next [18:01:55.820] if (!grepl(pattern, name)) [18:01:55.820] next [18:01:55.820] invokeRestart(restart) [18:01:55.820] muffled <- TRUE [18:01:55.820] break [18:01:55.820] } [18:01:55.820] } [18:01:55.820] } [18:01:55.820] invisible(muffled) [18:01:55.820] } [18:01:55.820] muffleCondition(cond, pattern = "^muffle") [18:01:55.820] } [18:01:55.820] } [18:01:55.820] } [18:01:55.820] })) [18:01:55.820] }, error = function(ex) { [18:01:55.820] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.820] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.820] ...future.rng), started = ...future.startTime, [18:01:55.820] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.820] version = "1.8"), class = "FutureResult") [18:01:55.820] }, finally = { [18:01:55.820] if (!identical(...future.workdir, getwd())) [18:01:55.820] setwd(...future.workdir) [18:01:55.820] { [18:01:55.820] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.820] ...future.oldOptions$nwarnings <- NULL [18:01:55.820] } [18:01:55.820] base::options(...future.oldOptions) [18:01:55.820] if (.Platform$OS.type == "windows") { [18:01:55.820] old_names <- names(...future.oldEnvVars) [18:01:55.820] envs <- base::Sys.getenv() [18:01:55.820] names <- names(envs) [18:01:55.820] common <- intersect(names, old_names) [18:01:55.820] added <- setdiff(names, old_names) [18:01:55.820] removed <- setdiff(old_names, names) [18:01:55.820] changed <- common[...future.oldEnvVars[common] != [18:01:55.820] envs[common]] [18:01:55.820] NAMES <- toupper(changed) [18:01:55.820] args <- list() [18:01:55.820] for (kk in seq_along(NAMES)) { [18:01:55.820] name <- changed[[kk]] [18:01:55.820] NAME <- NAMES[[kk]] [18:01:55.820] if (name != NAME && is.element(NAME, old_names)) [18:01:55.820] next [18:01:55.820] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.820] } [18:01:55.820] NAMES <- toupper(added) [18:01:55.820] for (kk in seq_along(NAMES)) { [18:01:55.820] name <- added[[kk]] [18:01:55.820] NAME <- NAMES[[kk]] [18:01:55.820] if (name != NAME && is.element(NAME, old_names)) [18:01:55.820] next [18:01:55.820] args[[name]] <- "" [18:01:55.820] } [18:01:55.820] NAMES <- toupper(removed) [18:01:55.820] for (kk in seq_along(NAMES)) { [18:01:55.820] name <- removed[[kk]] [18:01:55.820] NAME <- NAMES[[kk]] [18:01:55.820] if (name != NAME && is.element(NAME, old_names)) [18:01:55.820] next [18:01:55.820] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.820] } [18:01:55.820] if (length(args) > 0) [18:01:55.820] base::do.call(base::Sys.setenv, args = args) [18:01:55.820] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.820] } [18:01:55.820] else { [18:01:55.820] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.820] } [18:01:55.820] { [18:01:55.820] if (base::length(...future.futureOptionsAdded) > [18:01:55.820] 0L) { [18:01:55.820] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.820] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.820] base::options(opts) [18:01:55.820] } [18:01:55.820] { [18:01:55.820] { [18:01:55.820] NULL [18:01:55.820] RNGkind("Mersenne-Twister") [18:01:55.820] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.820] inherits = FALSE) [18:01:55.820] } [18:01:55.820] options(future.plan = NULL) [18:01:55.820] if (is.na(NA_character_)) [18:01:55.820] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.820] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.820] future::plan(list(function (..., envir = parent.frame()) [18:01:55.820] { [18:01:55.820] future <- SequentialFuture(..., envir = envir) [18:01:55.820] if (!future$lazy) [18:01:55.820] future <- run(future) [18:01:55.820] invisible(future) [18:01:55.820] }), .cleanup = FALSE, .init = FALSE) [18:01:55.820] } [18:01:55.820] } [18:01:55.820] } [18:01:55.820] }) [18:01:55.820] if (TRUE) { [18:01:55.820] base::sink(type = "output", split = FALSE) [18:01:55.820] if (TRUE) { [18:01:55.820] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.820] } [18:01:55.820] else { [18:01:55.820] ...future.result["stdout"] <- base::list(NULL) [18:01:55.820] } [18:01:55.820] base::close(...future.stdout) [18:01:55.820] ...future.stdout <- NULL [18:01:55.820] } [18:01:55.820] ...future.result$conditions <- ...future.conditions [18:01:55.820] ...future.result$finished <- base::Sys.time() [18:01:55.820] ...future.result [18:01:55.820] } [18:01:55.824] assign_globals() ... [18:01:55.824] List of 1 [18:01:55.824] $ x: list() [18:01:55.824] - attr(*, "where")=List of 1 [18:01:55.824] ..$ x: [18:01:55.824] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.824] - attr(*, "resolved")= logi TRUE [18:01:55.824] - attr(*, "total_size")= num 0 [18:01:55.824] - attr(*, "already-done")= logi TRUE [18:01:55.827] - copied 'x' to environment [18:01:55.827] assign_globals() ... done [18:01:55.827] plan(): Setting new future strategy stack: [18:01:55.827] List of future strategies: [18:01:55.827] 1. sequential: [18:01:55.827] - args: function (..., envir = parent.frame()) [18:01:55.827] - tweaked: FALSE [18:01:55.827] - call: NULL [18:01:55.828] plan(): nbrOfWorkers() = 1 [18:01:55.829] plan(): Setting new future strategy stack: [18:01:55.829] List of future strategies: [18:01:55.829] 1. sequential: [18:01:55.829] - args: function (..., envir = parent.frame()) [18:01:55.829] - tweaked: FALSE [18:01:55.829] - call: plan(strategy) [18:01:55.829] plan(): nbrOfWorkers() = 1 [18:01:55.830] SequentialFuture started (and completed) [18:01:55.830] - Launch lazy future ... done [18:01:55.830] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.832] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.832] Searching for globals... [18:01:55.834] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.834] Searching for globals ... DONE [18:01:55.835] Resolving globals: TRUE [18:01:55.835] Resolving any globals that are futures ... [18:01:55.835] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.835] Resolving any globals that are futures ... DONE [18:01:55.836] Resolving futures part of globals (recursively) ... [18:01:55.836] resolve() on list ... [18:01:55.836] recursive: 99 [18:01:55.836] length: 1 [18:01:55.836] elements: 'x' [18:01:55.837] length: 0 (resolved future 1) [18:01:55.837] resolve() on list ... DONE [18:01:55.837] - globals: [1] 'x' [18:01:55.837] Resolving futures part of globals (recursively) ... DONE [18:01:55.837] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.838] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.838] - globals: [1] 'x' [18:01:55.838] [18:01:55.838] getGlobalsAndPackages() ... DONE [18:01:55.839] run() for 'Future' ... [18:01:55.839] - state: 'created' [18:01:55.839] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.839] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.839] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.840] - Field: 'label' [18:01:55.840] - Field: 'local' [18:01:55.840] - Field: 'owner' [18:01:55.840] - Field: 'envir' [18:01:55.840] - Field: 'packages' [18:01:55.841] - Field: 'gc' [18:01:55.841] - Field: 'conditions' [18:01:55.841] - Field: 'expr' [18:01:55.841] - Field: 'uuid' [18:01:55.841] - Field: 'seed' [18:01:55.841] - Field: 'version' [18:01:55.842] - Field: 'result' [18:01:55.842] - Field: 'asynchronous' [18:01:55.842] - Field: 'calls' [18:01:55.842] - Field: 'globals' [18:01:55.842] - Field: 'stdout' [18:01:55.842] - Field: 'earlySignal' [18:01:55.843] - Field: 'lazy' [18:01:55.843] - Field: 'state' [18:01:55.843] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.843] - Launch lazy future ... [18:01:55.843] Packages needed by the future expression (n = 0): [18:01:55.844] Packages needed by future strategies (n = 0): [18:01:55.844] { [18:01:55.844] { [18:01:55.844] { [18:01:55.844] ...future.startTime <- base::Sys.time() [18:01:55.844] { [18:01:55.844] { [18:01:55.844] { [18:01:55.844] base::local({ [18:01:55.844] has_future <- base::requireNamespace("future", [18:01:55.844] quietly = TRUE) [18:01:55.844] if (has_future) { [18:01:55.844] ns <- base::getNamespace("future") [18:01:55.844] version <- ns[[".package"]][["version"]] [18:01:55.844] if (is.null(version)) [18:01:55.844] version <- utils::packageVersion("future") [18:01:55.844] } [18:01:55.844] else { [18:01:55.844] version <- NULL [18:01:55.844] } [18:01:55.844] if (!has_future || version < "1.8.0") { [18:01:55.844] info <- base::c(r_version = base::gsub("R version ", [18:01:55.844] "", base::R.version$version.string), [18:01:55.844] platform = base::sprintf("%s (%s-bit)", [18:01:55.844] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.844] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.844] "release", "version")], collapse = " "), [18:01:55.844] hostname = base::Sys.info()[["nodename"]]) [18:01:55.844] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.844] info) [18:01:55.844] info <- base::paste(info, collapse = "; ") [18:01:55.844] if (!has_future) { [18:01:55.844] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.844] info) [18:01:55.844] } [18:01:55.844] else { [18:01:55.844] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.844] info, version) [18:01:55.844] } [18:01:55.844] base::stop(msg) [18:01:55.844] } [18:01:55.844] }) [18:01:55.844] } [18:01:55.844] options(future.plan = NULL) [18:01:55.844] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.844] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.844] } [18:01:55.844] ...future.workdir <- getwd() [18:01:55.844] } [18:01:55.844] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.844] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.844] } [18:01:55.844] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.844] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.844] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.844] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.844] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.844] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.844] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.844] base::names(...future.oldOptions)) [18:01:55.844] } [18:01:55.844] if (FALSE) { [18:01:55.844] } [18:01:55.844] else { [18:01:55.844] if (TRUE) { [18:01:55.844] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.844] open = "w") [18:01:55.844] } [18:01:55.844] else { [18:01:55.844] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.844] windows = "NUL", "/dev/null"), open = "w") [18:01:55.844] } [18:01:55.844] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.844] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.844] base::sink(type = "output", split = FALSE) [18:01:55.844] base::close(...future.stdout) [18:01:55.844] }, add = TRUE) [18:01:55.844] } [18:01:55.844] ...future.frame <- base::sys.nframe() [18:01:55.844] ...future.conditions <- base::list() [18:01:55.844] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.844] if (FALSE) { [18:01:55.844] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.844] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.844] } [18:01:55.844] ...future.result <- base::tryCatch({ [18:01:55.844] base::withCallingHandlers({ [18:01:55.844] ...future.value <- base::withVisible(base::local({ [18:01:55.844] x$a <- 1 [18:01:55.844] x [18:01:55.844] })) [18:01:55.844] future::FutureResult(value = ...future.value$value, [18:01:55.844] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.844] ...future.rng), globalenv = if (FALSE) [18:01:55.844] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.844] ...future.globalenv.names)) [18:01:55.844] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.844] }, condition = base::local({ [18:01:55.844] c <- base::c [18:01:55.844] inherits <- base::inherits [18:01:55.844] invokeRestart <- base::invokeRestart [18:01:55.844] length <- base::length [18:01:55.844] list <- base::list [18:01:55.844] seq.int <- base::seq.int [18:01:55.844] signalCondition <- base::signalCondition [18:01:55.844] sys.calls <- base::sys.calls [18:01:55.844] `[[` <- base::`[[` [18:01:55.844] `+` <- base::`+` [18:01:55.844] `<<-` <- base::`<<-` [18:01:55.844] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.844] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.844] 3L)] [18:01:55.844] } [18:01:55.844] function(cond) { [18:01:55.844] is_error <- inherits(cond, "error") [18:01:55.844] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.844] NULL) [18:01:55.844] if (is_error) { [18:01:55.844] sessionInformation <- function() { [18:01:55.844] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.844] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.844] search = base::search(), system = base::Sys.info()) [18:01:55.844] } [18:01:55.844] ...future.conditions[[length(...future.conditions) + [18:01:55.844] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.844] cond$call), session = sessionInformation(), [18:01:55.844] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.844] signalCondition(cond) [18:01:55.844] } [18:01:55.844] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.844] "immediateCondition"))) { [18:01:55.844] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.844] ...future.conditions[[length(...future.conditions) + [18:01:55.844] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.844] if (TRUE && !signal) { [18:01:55.844] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.844] { [18:01:55.844] inherits <- base::inherits [18:01:55.844] invokeRestart <- base::invokeRestart [18:01:55.844] is.null <- base::is.null [18:01:55.844] muffled <- FALSE [18:01:55.844] if (inherits(cond, "message")) { [18:01:55.844] muffled <- grepl(pattern, "muffleMessage") [18:01:55.844] if (muffled) [18:01:55.844] invokeRestart("muffleMessage") [18:01:55.844] } [18:01:55.844] else if (inherits(cond, "warning")) { [18:01:55.844] muffled <- grepl(pattern, "muffleWarning") [18:01:55.844] if (muffled) [18:01:55.844] invokeRestart("muffleWarning") [18:01:55.844] } [18:01:55.844] else if (inherits(cond, "condition")) { [18:01:55.844] if (!is.null(pattern)) { [18:01:55.844] computeRestarts <- base::computeRestarts [18:01:55.844] grepl <- base::grepl [18:01:55.844] restarts <- computeRestarts(cond) [18:01:55.844] for (restart in restarts) { [18:01:55.844] name <- restart$name [18:01:55.844] if (is.null(name)) [18:01:55.844] next [18:01:55.844] if (!grepl(pattern, name)) [18:01:55.844] next [18:01:55.844] invokeRestart(restart) [18:01:55.844] muffled <- TRUE [18:01:55.844] break [18:01:55.844] } [18:01:55.844] } [18:01:55.844] } [18:01:55.844] invisible(muffled) [18:01:55.844] } [18:01:55.844] muffleCondition(cond, pattern = "^muffle") [18:01:55.844] } [18:01:55.844] } [18:01:55.844] else { [18:01:55.844] if (TRUE) { [18:01:55.844] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.844] { [18:01:55.844] inherits <- base::inherits [18:01:55.844] invokeRestart <- base::invokeRestart [18:01:55.844] is.null <- base::is.null [18:01:55.844] muffled <- FALSE [18:01:55.844] if (inherits(cond, "message")) { [18:01:55.844] muffled <- grepl(pattern, "muffleMessage") [18:01:55.844] if (muffled) [18:01:55.844] invokeRestart("muffleMessage") [18:01:55.844] } [18:01:55.844] else if (inherits(cond, "warning")) { [18:01:55.844] muffled <- grepl(pattern, "muffleWarning") [18:01:55.844] if (muffled) [18:01:55.844] invokeRestart("muffleWarning") [18:01:55.844] } [18:01:55.844] else if (inherits(cond, "condition")) { [18:01:55.844] if (!is.null(pattern)) { [18:01:55.844] computeRestarts <- base::computeRestarts [18:01:55.844] grepl <- base::grepl [18:01:55.844] restarts <- computeRestarts(cond) [18:01:55.844] for (restart in restarts) { [18:01:55.844] name <- restart$name [18:01:55.844] if (is.null(name)) [18:01:55.844] next [18:01:55.844] if (!grepl(pattern, name)) [18:01:55.844] next [18:01:55.844] invokeRestart(restart) [18:01:55.844] muffled <- TRUE [18:01:55.844] break [18:01:55.844] } [18:01:55.844] } [18:01:55.844] } [18:01:55.844] invisible(muffled) [18:01:55.844] } [18:01:55.844] muffleCondition(cond, pattern = "^muffle") [18:01:55.844] } [18:01:55.844] } [18:01:55.844] } [18:01:55.844] })) [18:01:55.844] }, error = function(ex) { [18:01:55.844] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.844] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.844] ...future.rng), started = ...future.startTime, [18:01:55.844] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.844] version = "1.8"), class = "FutureResult") [18:01:55.844] }, finally = { [18:01:55.844] if (!identical(...future.workdir, getwd())) [18:01:55.844] setwd(...future.workdir) [18:01:55.844] { [18:01:55.844] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.844] ...future.oldOptions$nwarnings <- NULL [18:01:55.844] } [18:01:55.844] base::options(...future.oldOptions) [18:01:55.844] if (.Platform$OS.type == "windows") { [18:01:55.844] old_names <- names(...future.oldEnvVars) [18:01:55.844] envs <- base::Sys.getenv() [18:01:55.844] names <- names(envs) [18:01:55.844] common <- intersect(names, old_names) [18:01:55.844] added <- setdiff(names, old_names) [18:01:55.844] removed <- setdiff(old_names, names) [18:01:55.844] changed <- common[...future.oldEnvVars[common] != [18:01:55.844] envs[common]] [18:01:55.844] NAMES <- toupper(changed) [18:01:55.844] args <- list() [18:01:55.844] for (kk in seq_along(NAMES)) { [18:01:55.844] name <- changed[[kk]] [18:01:55.844] NAME <- NAMES[[kk]] [18:01:55.844] if (name != NAME && is.element(NAME, old_names)) [18:01:55.844] next [18:01:55.844] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.844] } [18:01:55.844] NAMES <- toupper(added) [18:01:55.844] for (kk in seq_along(NAMES)) { [18:01:55.844] name <- added[[kk]] [18:01:55.844] NAME <- NAMES[[kk]] [18:01:55.844] if (name != NAME && is.element(NAME, old_names)) [18:01:55.844] next [18:01:55.844] args[[name]] <- "" [18:01:55.844] } [18:01:55.844] NAMES <- toupper(removed) [18:01:55.844] for (kk in seq_along(NAMES)) { [18:01:55.844] name <- removed[[kk]] [18:01:55.844] NAME <- NAMES[[kk]] [18:01:55.844] if (name != NAME && is.element(NAME, old_names)) [18:01:55.844] next [18:01:55.844] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.844] } [18:01:55.844] if (length(args) > 0) [18:01:55.844] base::do.call(base::Sys.setenv, args = args) [18:01:55.844] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.844] } [18:01:55.844] else { [18:01:55.844] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.844] } [18:01:55.844] { [18:01:55.844] if (base::length(...future.futureOptionsAdded) > [18:01:55.844] 0L) { [18:01:55.844] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.844] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.844] base::options(opts) [18:01:55.844] } [18:01:55.844] { [18:01:55.844] { [18:01:55.844] NULL [18:01:55.844] RNGkind("Mersenne-Twister") [18:01:55.844] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.844] inherits = FALSE) [18:01:55.844] } [18:01:55.844] options(future.plan = NULL) [18:01:55.844] if (is.na(NA_character_)) [18:01:55.844] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.844] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.844] future::plan(list(function (..., envir = parent.frame()) [18:01:55.844] { [18:01:55.844] future <- SequentialFuture(..., envir = envir) [18:01:55.844] if (!future$lazy) [18:01:55.844] future <- run(future) [18:01:55.844] invisible(future) [18:01:55.844] }), .cleanup = FALSE, .init = FALSE) [18:01:55.844] } [18:01:55.844] } [18:01:55.844] } [18:01:55.844] }) [18:01:55.844] if (TRUE) { [18:01:55.844] base::sink(type = "output", split = FALSE) [18:01:55.844] if (TRUE) { [18:01:55.844] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.844] } [18:01:55.844] else { [18:01:55.844] ...future.result["stdout"] <- base::list(NULL) [18:01:55.844] } [18:01:55.844] base::close(...future.stdout) [18:01:55.844] ...future.stdout <- NULL [18:01:55.844] } [18:01:55.844] ...future.result$conditions <- ...future.conditions [18:01:55.844] ...future.result$finished <- base::Sys.time() [18:01:55.844] ...future.result [18:01:55.844] } [18:01:55.848] assign_globals() ... [18:01:55.848] List of 1 [18:01:55.848] $ x: list() [18:01:55.848] - attr(*, "where")=List of 1 [18:01:55.848] ..$ x: [18:01:55.848] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.848] - attr(*, "resolved")= logi TRUE [18:01:55.848] - attr(*, "total_size")= num 0 [18:01:55.848] - attr(*, "already-done")= logi TRUE [18:01:55.851] - copied 'x' to environment [18:01:55.851] assign_globals() ... done [18:01:55.851] plan(): Setting new future strategy stack: [18:01:55.852] List of future strategies: [18:01:55.852] 1. sequential: [18:01:55.852] - args: function (..., envir = parent.frame()) [18:01:55.852] - tweaked: FALSE [18:01:55.852] - call: NULL [18:01:55.852] plan(): nbrOfWorkers() = 1 [18:01:55.853] plan(): Setting new future strategy stack: [18:01:55.853] List of future strategies: [18:01:55.853] 1. sequential: [18:01:55.853] - args: function (..., envir = parent.frame()) [18:01:55.853] - tweaked: FALSE [18:01:55.853] - call: plan(strategy) [18:01:55.854] plan(): nbrOfWorkers() = 1 [18:01:55.854] SequentialFuture started (and completed) [18:01:55.854] - Launch lazy future ... done [18:01:55.854] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.855] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.855] Searching for globals... [18:01:55.859] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.859] Searching for globals ... DONE [18:01:55.859] Resolving globals: TRUE [18:01:55.859] Resolving any globals that are futures ... [18:01:55.859] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:55.860] Resolving any globals that are futures ... DONE [18:01:55.860] Resolving futures part of globals (recursively) ... [18:01:55.860] resolve() on list ... [18:01:55.861] recursive: 99 [18:01:55.861] length: 1 [18:01:55.861] elements: 'x' [18:01:55.861] length: 0 (resolved future 1) [18:01:55.861] resolve() on list ... DONE [18:01:55.861] - globals: [1] 'x' [18:01:55.862] Resolving futures part of globals (recursively) ... DONE [18:01:55.862] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.862] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.862] - globals: [1] 'x' [18:01:55.863] [18:01:55.863] getGlobalsAndPackages() ... DONE [18:01:55.863] run() for 'Future' ... [18:01:55.863] - state: 'created' [18:01:55.863] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.864] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.864] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.864] - Field: 'label' [18:01:55.864] - Field: 'local' [18:01:55.865] - Field: 'owner' [18:01:55.865] - Field: 'envir' [18:01:55.865] - Field: 'packages' [18:01:55.865] - Field: 'gc' [18:01:55.865] - Field: 'conditions' [18:01:55.865] - Field: 'expr' [18:01:55.866] - Field: 'uuid' [18:01:55.866] - Field: 'seed' [18:01:55.866] - Field: 'version' [18:01:55.866] - Field: 'result' [18:01:55.866] - Field: 'asynchronous' [18:01:55.866] - Field: 'calls' [18:01:55.867] - Field: 'globals' [18:01:55.867] - Field: 'stdout' [18:01:55.867] - Field: 'earlySignal' [18:01:55.867] - Field: 'lazy' [18:01:55.867] - Field: 'state' [18:01:55.868] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.868] - Launch lazy future ... [18:01:55.868] Packages needed by the future expression (n = 0): [18:01:55.868] Packages needed by future strategies (n = 0): [18:01:55.869] { [18:01:55.869] { [18:01:55.869] { [18:01:55.869] ...future.startTime <- base::Sys.time() [18:01:55.869] { [18:01:55.869] { [18:01:55.869] { [18:01:55.869] base::local({ [18:01:55.869] has_future <- base::requireNamespace("future", [18:01:55.869] quietly = TRUE) [18:01:55.869] if (has_future) { [18:01:55.869] ns <- base::getNamespace("future") [18:01:55.869] version <- ns[[".package"]][["version"]] [18:01:55.869] if (is.null(version)) [18:01:55.869] version <- utils::packageVersion("future") [18:01:55.869] } [18:01:55.869] else { [18:01:55.869] version <- NULL [18:01:55.869] } [18:01:55.869] if (!has_future || version < "1.8.0") { [18:01:55.869] info <- base::c(r_version = base::gsub("R version ", [18:01:55.869] "", base::R.version$version.string), [18:01:55.869] platform = base::sprintf("%s (%s-bit)", [18:01:55.869] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.869] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.869] "release", "version")], collapse = " "), [18:01:55.869] hostname = base::Sys.info()[["nodename"]]) [18:01:55.869] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.869] info) [18:01:55.869] info <- base::paste(info, collapse = "; ") [18:01:55.869] if (!has_future) { [18:01:55.869] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.869] info) [18:01:55.869] } [18:01:55.869] else { [18:01:55.869] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.869] info, version) [18:01:55.869] } [18:01:55.869] base::stop(msg) [18:01:55.869] } [18:01:55.869] }) [18:01:55.869] } [18:01:55.869] options(future.plan = NULL) [18:01:55.869] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.869] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.869] } [18:01:55.869] ...future.workdir <- getwd() [18:01:55.869] } [18:01:55.869] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.869] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.869] } [18:01:55.869] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.869] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.869] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.869] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.869] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.869] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.869] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.869] base::names(...future.oldOptions)) [18:01:55.869] } [18:01:55.869] if (FALSE) { [18:01:55.869] } [18:01:55.869] else { [18:01:55.869] if (TRUE) { [18:01:55.869] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.869] open = "w") [18:01:55.869] } [18:01:55.869] else { [18:01:55.869] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.869] windows = "NUL", "/dev/null"), open = "w") [18:01:55.869] } [18:01:55.869] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.869] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.869] base::sink(type = "output", split = FALSE) [18:01:55.869] base::close(...future.stdout) [18:01:55.869] }, add = TRUE) [18:01:55.869] } [18:01:55.869] ...future.frame <- base::sys.nframe() [18:01:55.869] ...future.conditions <- base::list() [18:01:55.869] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.869] if (FALSE) { [18:01:55.869] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.869] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.869] } [18:01:55.869] ...future.result <- base::tryCatch({ [18:01:55.869] base::withCallingHandlers({ [18:01:55.869] ...future.value <- base::withVisible(base::local({ [18:01:55.869] x$a <- 1 [18:01:55.869] x [18:01:55.869] })) [18:01:55.869] future::FutureResult(value = ...future.value$value, [18:01:55.869] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.869] ...future.rng), globalenv = if (FALSE) [18:01:55.869] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.869] ...future.globalenv.names)) [18:01:55.869] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.869] }, condition = base::local({ [18:01:55.869] c <- base::c [18:01:55.869] inherits <- base::inherits [18:01:55.869] invokeRestart <- base::invokeRestart [18:01:55.869] length <- base::length [18:01:55.869] list <- base::list [18:01:55.869] seq.int <- base::seq.int [18:01:55.869] signalCondition <- base::signalCondition [18:01:55.869] sys.calls <- base::sys.calls [18:01:55.869] `[[` <- base::`[[` [18:01:55.869] `+` <- base::`+` [18:01:55.869] `<<-` <- base::`<<-` [18:01:55.869] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.869] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.869] 3L)] [18:01:55.869] } [18:01:55.869] function(cond) { [18:01:55.869] is_error <- inherits(cond, "error") [18:01:55.869] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.869] NULL) [18:01:55.869] if (is_error) { [18:01:55.869] sessionInformation <- function() { [18:01:55.869] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.869] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.869] search = base::search(), system = base::Sys.info()) [18:01:55.869] } [18:01:55.869] ...future.conditions[[length(...future.conditions) + [18:01:55.869] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.869] cond$call), session = sessionInformation(), [18:01:55.869] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.869] signalCondition(cond) [18:01:55.869] } [18:01:55.869] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.869] "immediateCondition"))) { [18:01:55.869] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.869] ...future.conditions[[length(...future.conditions) + [18:01:55.869] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.869] if (TRUE && !signal) { [18:01:55.869] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.869] { [18:01:55.869] inherits <- base::inherits [18:01:55.869] invokeRestart <- base::invokeRestart [18:01:55.869] is.null <- base::is.null [18:01:55.869] muffled <- FALSE [18:01:55.869] if (inherits(cond, "message")) { [18:01:55.869] muffled <- grepl(pattern, "muffleMessage") [18:01:55.869] if (muffled) [18:01:55.869] invokeRestart("muffleMessage") [18:01:55.869] } [18:01:55.869] else if (inherits(cond, "warning")) { [18:01:55.869] muffled <- grepl(pattern, "muffleWarning") [18:01:55.869] if (muffled) [18:01:55.869] invokeRestart("muffleWarning") [18:01:55.869] } [18:01:55.869] else if (inherits(cond, "condition")) { [18:01:55.869] if (!is.null(pattern)) { [18:01:55.869] computeRestarts <- base::computeRestarts [18:01:55.869] grepl <- base::grepl [18:01:55.869] restarts <- computeRestarts(cond) [18:01:55.869] for (restart in restarts) { [18:01:55.869] name <- restart$name [18:01:55.869] if (is.null(name)) [18:01:55.869] next [18:01:55.869] if (!grepl(pattern, name)) [18:01:55.869] next [18:01:55.869] invokeRestart(restart) [18:01:55.869] muffled <- TRUE [18:01:55.869] break [18:01:55.869] } [18:01:55.869] } [18:01:55.869] } [18:01:55.869] invisible(muffled) [18:01:55.869] } [18:01:55.869] muffleCondition(cond, pattern = "^muffle") [18:01:55.869] } [18:01:55.869] } [18:01:55.869] else { [18:01:55.869] if (TRUE) { [18:01:55.869] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.869] { [18:01:55.869] inherits <- base::inherits [18:01:55.869] invokeRestart <- base::invokeRestart [18:01:55.869] is.null <- base::is.null [18:01:55.869] muffled <- FALSE [18:01:55.869] if (inherits(cond, "message")) { [18:01:55.869] muffled <- grepl(pattern, "muffleMessage") [18:01:55.869] if (muffled) [18:01:55.869] invokeRestart("muffleMessage") [18:01:55.869] } [18:01:55.869] else if (inherits(cond, "warning")) { [18:01:55.869] muffled <- grepl(pattern, "muffleWarning") [18:01:55.869] if (muffled) [18:01:55.869] invokeRestart("muffleWarning") [18:01:55.869] } [18:01:55.869] else if (inherits(cond, "condition")) { [18:01:55.869] if (!is.null(pattern)) { [18:01:55.869] computeRestarts <- base::computeRestarts [18:01:55.869] grepl <- base::grepl [18:01:55.869] restarts <- computeRestarts(cond) [18:01:55.869] for (restart in restarts) { [18:01:55.869] name <- restart$name [18:01:55.869] if (is.null(name)) [18:01:55.869] next [18:01:55.869] if (!grepl(pattern, name)) [18:01:55.869] next [18:01:55.869] invokeRestart(restart) [18:01:55.869] muffled <- TRUE [18:01:55.869] break [18:01:55.869] } [18:01:55.869] } [18:01:55.869] } [18:01:55.869] invisible(muffled) [18:01:55.869] } [18:01:55.869] muffleCondition(cond, pattern = "^muffle") [18:01:55.869] } [18:01:55.869] } [18:01:55.869] } [18:01:55.869] })) [18:01:55.869] }, error = function(ex) { [18:01:55.869] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.869] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.869] ...future.rng), started = ...future.startTime, [18:01:55.869] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.869] version = "1.8"), class = "FutureResult") [18:01:55.869] }, finally = { [18:01:55.869] if (!identical(...future.workdir, getwd())) [18:01:55.869] setwd(...future.workdir) [18:01:55.869] { [18:01:55.869] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.869] ...future.oldOptions$nwarnings <- NULL [18:01:55.869] } [18:01:55.869] base::options(...future.oldOptions) [18:01:55.869] if (.Platform$OS.type == "windows") { [18:01:55.869] old_names <- names(...future.oldEnvVars) [18:01:55.869] envs <- base::Sys.getenv() [18:01:55.869] names <- names(envs) [18:01:55.869] common <- intersect(names, old_names) [18:01:55.869] added <- setdiff(names, old_names) [18:01:55.869] removed <- setdiff(old_names, names) [18:01:55.869] changed <- common[...future.oldEnvVars[common] != [18:01:55.869] envs[common]] [18:01:55.869] NAMES <- toupper(changed) [18:01:55.869] args <- list() [18:01:55.869] for (kk in seq_along(NAMES)) { [18:01:55.869] name <- changed[[kk]] [18:01:55.869] NAME <- NAMES[[kk]] [18:01:55.869] if (name != NAME && is.element(NAME, old_names)) [18:01:55.869] next [18:01:55.869] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.869] } [18:01:55.869] NAMES <- toupper(added) [18:01:55.869] for (kk in seq_along(NAMES)) { [18:01:55.869] name <- added[[kk]] [18:01:55.869] NAME <- NAMES[[kk]] [18:01:55.869] if (name != NAME && is.element(NAME, old_names)) [18:01:55.869] next [18:01:55.869] args[[name]] <- "" [18:01:55.869] } [18:01:55.869] NAMES <- toupper(removed) [18:01:55.869] for (kk in seq_along(NAMES)) { [18:01:55.869] name <- removed[[kk]] [18:01:55.869] NAME <- NAMES[[kk]] [18:01:55.869] if (name != NAME && is.element(NAME, old_names)) [18:01:55.869] next [18:01:55.869] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.869] } [18:01:55.869] if (length(args) > 0) [18:01:55.869] base::do.call(base::Sys.setenv, args = args) [18:01:55.869] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.869] } [18:01:55.869] else { [18:01:55.869] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.869] } [18:01:55.869] { [18:01:55.869] if (base::length(...future.futureOptionsAdded) > [18:01:55.869] 0L) { [18:01:55.869] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.869] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.869] base::options(opts) [18:01:55.869] } [18:01:55.869] { [18:01:55.869] { [18:01:55.869] NULL [18:01:55.869] RNGkind("Mersenne-Twister") [18:01:55.869] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.869] inherits = FALSE) [18:01:55.869] } [18:01:55.869] options(future.plan = NULL) [18:01:55.869] if (is.na(NA_character_)) [18:01:55.869] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.869] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.869] future::plan(list(function (..., envir = parent.frame()) [18:01:55.869] { [18:01:55.869] future <- SequentialFuture(..., envir = envir) [18:01:55.869] if (!future$lazy) [18:01:55.869] future <- run(future) [18:01:55.869] invisible(future) [18:01:55.869] }), .cleanup = FALSE, .init = FALSE) [18:01:55.869] } [18:01:55.869] } [18:01:55.869] } [18:01:55.869] }) [18:01:55.869] if (TRUE) { [18:01:55.869] base::sink(type = "output", split = FALSE) [18:01:55.869] if (TRUE) { [18:01:55.869] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.869] } [18:01:55.869] else { [18:01:55.869] ...future.result["stdout"] <- base::list(NULL) [18:01:55.869] } [18:01:55.869] base::close(...future.stdout) [18:01:55.869] ...future.stdout <- NULL [18:01:55.869] } [18:01:55.869] ...future.result$conditions <- ...future.conditions [18:01:55.869] ...future.result$finished <- base::Sys.time() [18:01:55.869] ...future.result [18:01:55.869] } [18:01:55.872] assign_globals() ... [18:01:55.872] List of 1 [18:01:55.872] $ x: list() [18:01:55.872] - attr(*, "where")=List of 1 [18:01:55.872] ..$ x: [18:01:55.872] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.872] - attr(*, "resolved")= logi TRUE [18:01:55.872] - attr(*, "total_size")= num 0 [18:01:55.872] - attr(*, "already-done")= logi TRUE [18:01:55.875] - copied 'x' to environment [18:01:55.875] assign_globals() ... done [18:01:55.876] plan(): Setting new future strategy stack: [18:01:55.876] List of future strategies: [18:01:55.876] 1. sequential: [18:01:55.876] - args: function (..., envir = parent.frame()) [18:01:55.876] - tweaked: FALSE [18:01:55.876] - call: NULL [18:01:55.876] plan(): nbrOfWorkers() = 1 [18:01:55.878] plan(): Setting new future strategy stack: [18:01:55.878] List of future strategies: [18:01:55.878] 1. sequential: [18:01:55.878] - args: function (..., envir = parent.frame()) [18:01:55.878] - tweaked: FALSE [18:01:55.878] - call: plan(strategy) [18:01:55.878] plan(): nbrOfWorkers() = 1 [18:01:55.878] SequentialFuture started (and completed) [18:01:55.879] - Launch lazy future ... done [18:01:55.879] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.879] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.880] Searching for globals... [18:01:55.883] - globals found: [5] '{', '<-', 'list', '$', '$<-' [18:01:55.883] Searching for globals ... DONE [18:01:55.883] Resolving globals: TRUE [18:01:55.883] Resolving any globals that are futures ... [18:01:55.883] - globals: [5] '{', '<-', 'list', '$', '$<-' [18:01:55.884] Resolving any globals that are futures ... DONE [18:01:55.884] [18:01:55.884] [18:01:55.884] getGlobalsAndPackages() ... DONE [18:01:55.885] run() for 'Future' ... [18:01:55.885] - state: 'created' [18:01:55.885] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.885] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.886] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.886] - Field: 'label' [18:01:55.886] - Field: 'local' [18:01:55.886] - Field: 'owner' [18:01:55.886] - Field: 'envir' [18:01:55.886] - Field: 'packages' [18:01:55.887] - Field: 'gc' [18:01:55.887] - Field: 'conditions' [18:01:55.887] - Field: 'expr' [18:01:55.887] - Field: 'uuid' [18:01:55.887] - Field: 'seed' [18:01:55.888] - Field: 'version' [18:01:55.888] - Field: 'result' [18:01:55.888] - Field: 'asynchronous' [18:01:55.888] - Field: 'calls' [18:01:55.888] - Field: 'globals' [18:01:55.888] - Field: 'stdout' [18:01:55.889] - Field: 'earlySignal' [18:01:55.889] - Field: 'lazy' [18:01:55.889] - Field: 'state' [18:01:55.889] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.889] - Launch lazy future ... [18:01:55.890] Packages needed by the future expression (n = 0): [18:01:55.890] Packages needed by future strategies (n = 0): [18:01:55.890] { [18:01:55.890] { [18:01:55.890] { [18:01:55.890] ...future.startTime <- base::Sys.time() [18:01:55.890] { [18:01:55.890] { [18:01:55.890] { [18:01:55.890] base::local({ [18:01:55.890] has_future <- base::requireNamespace("future", [18:01:55.890] quietly = TRUE) [18:01:55.890] if (has_future) { [18:01:55.890] ns <- base::getNamespace("future") [18:01:55.890] version <- ns[[".package"]][["version"]] [18:01:55.890] if (is.null(version)) [18:01:55.890] version <- utils::packageVersion("future") [18:01:55.890] } [18:01:55.890] else { [18:01:55.890] version <- NULL [18:01:55.890] } [18:01:55.890] if (!has_future || version < "1.8.0") { [18:01:55.890] info <- base::c(r_version = base::gsub("R version ", [18:01:55.890] "", base::R.version$version.string), [18:01:55.890] platform = base::sprintf("%s (%s-bit)", [18:01:55.890] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.890] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.890] "release", "version")], collapse = " "), [18:01:55.890] hostname = base::Sys.info()[["nodename"]]) [18:01:55.890] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.890] info) [18:01:55.890] info <- base::paste(info, collapse = "; ") [18:01:55.890] if (!has_future) { [18:01:55.890] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.890] info) [18:01:55.890] } [18:01:55.890] else { [18:01:55.890] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.890] info, version) [18:01:55.890] } [18:01:55.890] base::stop(msg) [18:01:55.890] } [18:01:55.890] }) [18:01:55.890] } [18:01:55.890] options(future.plan = NULL) [18:01:55.890] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.890] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.890] } [18:01:55.890] ...future.workdir <- getwd() [18:01:55.890] } [18:01:55.890] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.890] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.890] } [18:01:55.890] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.890] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.890] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.890] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.890] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.890] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.890] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.890] base::names(...future.oldOptions)) [18:01:55.890] } [18:01:55.890] if (FALSE) { [18:01:55.890] } [18:01:55.890] else { [18:01:55.890] if (TRUE) { [18:01:55.890] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.890] open = "w") [18:01:55.890] } [18:01:55.890] else { [18:01:55.890] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.890] windows = "NUL", "/dev/null"), open = "w") [18:01:55.890] } [18:01:55.890] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.890] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.890] base::sink(type = "output", split = FALSE) [18:01:55.890] base::close(...future.stdout) [18:01:55.890] }, add = TRUE) [18:01:55.890] } [18:01:55.890] ...future.frame <- base::sys.nframe() [18:01:55.890] ...future.conditions <- base::list() [18:01:55.890] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.890] if (FALSE) { [18:01:55.890] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.890] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.890] } [18:01:55.890] ...future.result <- base::tryCatch({ [18:01:55.890] base::withCallingHandlers({ [18:01:55.890] ...future.value <- base::withVisible(base::local({ [18:01:55.890] x <- list(b = 2) [18:01:55.890] x$a <- 1 [18:01:55.890] x [18:01:55.890] })) [18:01:55.890] future::FutureResult(value = ...future.value$value, [18:01:55.890] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.890] ...future.rng), globalenv = if (FALSE) [18:01:55.890] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.890] ...future.globalenv.names)) [18:01:55.890] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.890] }, condition = base::local({ [18:01:55.890] c <- base::c [18:01:55.890] inherits <- base::inherits [18:01:55.890] invokeRestart <- base::invokeRestart [18:01:55.890] length <- base::length [18:01:55.890] list <- base::list [18:01:55.890] seq.int <- base::seq.int [18:01:55.890] signalCondition <- base::signalCondition [18:01:55.890] sys.calls <- base::sys.calls [18:01:55.890] `[[` <- base::`[[` [18:01:55.890] `+` <- base::`+` [18:01:55.890] `<<-` <- base::`<<-` [18:01:55.890] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.890] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.890] 3L)] [18:01:55.890] } [18:01:55.890] function(cond) { [18:01:55.890] is_error <- inherits(cond, "error") [18:01:55.890] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.890] NULL) [18:01:55.890] if (is_error) { [18:01:55.890] sessionInformation <- function() { [18:01:55.890] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.890] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.890] search = base::search(), system = base::Sys.info()) [18:01:55.890] } [18:01:55.890] ...future.conditions[[length(...future.conditions) + [18:01:55.890] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.890] cond$call), session = sessionInformation(), [18:01:55.890] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.890] signalCondition(cond) [18:01:55.890] } [18:01:55.890] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.890] "immediateCondition"))) { [18:01:55.890] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.890] ...future.conditions[[length(...future.conditions) + [18:01:55.890] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.890] if (TRUE && !signal) { [18:01:55.890] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.890] { [18:01:55.890] inherits <- base::inherits [18:01:55.890] invokeRestart <- base::invokeRestart [18:01:55.890] is.null <- base::is.null [18:01:55.890] muffled <- FALSE [18:01:55.890] if (inherits(cond, "message")) { [18:01:55.890] muffled <- grepl(pattern, "muffleMessage") [18:01:55.890] if (muffled) [18:01:55.890] invokeRestart("muffleMessage") [18:01:55.890] } [18:01:55.890] else if (inherits(cond, "warning")) { [18:01:55.890] muffled <- grepl(pattern, "muffleWarning") [18:01:55.890] if (muffled) [18:01:55.890] invokeRestart("muffleWarning") [18:01:55.890] } [18:01:55.890] else if (inherits(cond, "condition")) { [18:01:55.890] if (!is.null(pattern)) { [18:01:55.890] computeRestarts <- base::computeRestarts [18:01:55.890] grepl <- base::grepl [18:01:55.890] restarts <- computeRestarts(cond) [18:01:55.890] for (restart in restarts) { [18:01:55.890] name <- restart$name [18:01:55.890] if (is.null(name)) [18:01:55.890] next [18:01:55.890] if (!grepl(pattern, name)) [18:01:55.890] next [18:01:55.890] invokeRestart(restart) [18:01:55.890] muffled <- TRUE [18:01:55.890] break [18:01:55.890] } [18:01:55.890] } [18:01:55.890] } [18:01:55.890] invisible(muffled) [18:01:55.890] } [18:01:55.890] muffleCondition(cond, pattern = "^muffle") [18:01:55.890] } [18:01:55.890] } [18:01:55.890] else { [18:01:55.890] if (TRUE) { [18:01:55.890] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.890] { [18:01:55.890] inherits <- base::inherits [18:01:55.890] invokeRestart <- base::invokeRestart [18:01:55.890] is.null <- base::is.null [18:01:55.890] muffled <- FALSE [18:01:55.890] if (inherits(cond, "message")) { [18:01:55.890] muffled <- grepl(pattern, "muffleMessage") [18:01:55.890] if (muffled) [18:01:55.890] invokeRestart("muffleMessage") [18:01:55.890] } [18:01:55.890] else if (inherits(cond, "warning")) { [18:01:55.890] muffled <- grepl(pattern, "muffleWarning") [18:01:55.890] if (muffled) [18:01:55.890] invokeRestart("muffleWarning") [18:01:55.890] } [18:01:55.890] else if (inherits(cond, "condition")) { [18:01:55.890] if (!is.null(pattern)) { [18:01:55.890] computeRestarts <- base::computeRestarts [18:01:55.890] grepl <- base::grepl [18:01:55.890] restarts <- computeRestarts(cond) [18:01:55.890] for (restart in restarts) { [18:01:55.890] name <- restart$name [18:01:55.890] if (is.null(name)) [18:01:55.890] next [18:01:55.890] if (!grepl(pattern, name)) [18:01:55.890] next [18:01:55.890] invokeRestart(restart) [18:01:55.890] muffled <- TRUE [18:01:55.890] break [18:01:55.890] } [18:01:55.890] } [18:01:55.890] } [18:01:55.890] invisible(muffled) [18:01:55.890] } [18:01:55.890] muffleCondition(cond, pattern = "^muffle") [18:01:55.890] } [18:01:55.890] } [18:01:55.890] } [18:01:55.890] })) [18:01:55.890] }, error = function(ex) { [18:01:55.890] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.890] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.890] ...future.rng), started = ...future.startTime, [18:01:55.890] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.890] version = "1.8"), class = "FutureResult") [18:01:55.890] }, finally = { [18:01:55.890] if (!identical(...future.workdir, getwd())) [18:01:55.890] setwd(...future.workdir) [18:01:55.890] { [18:01:55.890] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.890] ...future.oldOptions$nwarnings <- NULL [18:01:55.890] } [18:01:55.890] base::options(...future.oldOptions) [18:01:55.890] if (.Platform$OS.type == "windows") { [18:01:55.890] old_names <- names(...future.oldEnvVars) [18:01:55.890] envs <- base::Sys.getenv() [18:01:55.890] names <- names(envs) [18:01:55.890] common <- intersect(names, old_names) [18:01:55.890] added <- setdiff(names, old_names) [18:01:55.890] removed <- setdiff(old_names, names) [18:01:55.890] changed <- common[...future.oldEnvVars[common] != [18:01:55.890] envs[common]] [18:01:55.890] NAMES <- toupper(changed) [18:01:55.890] args <- list() [18:01:55.890] for (kk in seq_along(NAMES)) { [18:01:55.890] name <- changed[[kk]] [18:01:55.890] NAME <- NAMES[[kk]] [18:01:55.890] if (name != NAME && is.element(NAME, old_names)) [18:01:55.890] next [18:01:55.890] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.890] } [18:01:55.890] NAMES <- toupper(added) [18:01:55.890] for (kk in seq_along(NAMES)) { [18:01:55.890] name <- added[[kk]] [18:01:55.890] NAME <- NAMES[[kk]] [18:01:55.890] if (name != NAME && is.element(NAME, old_names)) [18:01:55.890] next [18:01:55.890] args[[name]] <- "" [18:01:55.890] } [18:01:55.890] NAMES <- toupper(removed) [18:01:55.890] for (kk in seq_along(NAMES)) { [18:01:55.890] name <- removed[[kk]] [18:01:55.890] NAME <- NAMES[[kk]] [18:01:55.890] if (name != NAME && is.element(NAME, old_names)) [18:01:55.890] next [18:01:55.890] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.890] } [18:01:55.890] if (length(args) > 0) [18:01:55.890] base::do.call(base::Sys.setenv, args = args) [18:01:55.890] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.890] } [18:01:55.890] else { [18:01:55.890] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.890] } [18:01:55.890] { [18:01:55.890] if (base::length(...future.futureOptionsAdded) > [18:01:55.890] 0L) { [18:01:55.890] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.890] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.890] base::options(opts) [18:01:55.890] } [18:01:55.890] { [18:01:55.890] { [18:01:55.890] NULL [18:01:55.890] RNGkind("Mersenne-Twister") [18:01:55.890] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.890] inherits = FALSE) [18:01:55.890] } [18:01:55.890] options(future.plan = NULL) [18:01:55.890] if (is.na(NA_character_)) [18:01:55.890] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.890] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.890] future::plan(list(function (..., envir = parent.frame()) [18:01:55.890] { [18:01:55.890] future <- SequentialFuture(..., envir = envir) [18:01:55.890] if (!future$lazy) [18:01:55.890] future <- run(future) [18:01:55.890] invisible(future) [18:01:55.890] }), .cleanup = FALSE, .init = FALSE) [18:01:55.890] } [18:01:55.890] } [18:01:55.890] } [18:01:55.890] }) [18:01:55.890] if (TRUE) { [18:01:55.890] base::sink(type = "output", split = FALSE) [18:01:55.890] if (TRUE) { [18:01:55.890] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.890] } [18:01:55.890] else { [18:01:55.890] ...future.result["stdout"] <- base::list(NULL) [18:01:55.890] } [18:01:55.890] base::close(...future.stdout) [18:01:55.890] ...future.stdout <- NULL [18:01:55.890] } [18:01:55.890] ...future.result$conditions <- ...future.conditions [18:01:55.890] ...future.result$finished <- base::Sys.time() [18:01:55.890] ...future.result [18:01:55.890] } [18:01:55.894] plan(): Setting new future strategy stack: [18:01:55.894] List of future strategies: [18:01:55.894] 1. sequential: [18:01:55.894] - args: function (..., envir = parent.frame()) [18:01:55.894] - tweaked: FALSE [18:01:55.894] - call: NULL [18:01:55.895] plan(): nbrOfWorkers() = 1 [18:01:55.896] plan(): Setting new future strategy stack: [18:01:55.896] List of future strategies: [18:01:55.896] 1. sequential: [18:01:55.896] - args: function (..., envir = parent.frame()) [18:01:55.896] - tweaked: FALSE [18:01:55.896] - call: plan(strategy) [18:01:55.897] plan(): nbrOfWorkers() = 1 [18:01:55.897] SequentialFuture started (and completed) [18:01:55.897] - Launch lazy future ... done [18:01:55.897] run() for 'SequentialFuture' ... done $b [1] 2 $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.898] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.899] Searching for globals... [18:01:55.901] - globals found: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:55.901] Searching for globals ... DONE [18:01:55.902] Resolving globals: TRUE [18:01:55.902] Resolving any globals that are futures ... [18:01:55.902] - globals: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:55.902] Resolving any globals that are futures ... DONE [18:01:55.903] Resolving futures part of globals (recursively) ... [18:01:55.903] resolve() on list ... [18:01:55.903] recursive: 99 [18:01:55.903] length: 1 [18:01:55.903] elements: 'x' [18:01:55.904] length: 0 (resolved future 1) [18:01:55.904] resolve() on list ... DONE [18:01:55.904] - globals: [1] 'x' [18:01:55.904] Resolving futures part of globals (recursively) ... DONE [18:01:55.904] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.905] The total size of the 1 globals exported for future expression ('{; x[["a"]] <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.905] - globals: [1] 'x' [18:01:55.905] [18:01:55.905] getGlobalsAndPackages() ... DONE [18:01:55.906] run() for 'Future' ... [18:01:55.906] - state: 'created' [18:01:55.906] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.906] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.906] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.907] - Field: 'label' [18:01:55.907] - Field: 'local' [18:01:55.907] - Field: 'owner' [18:01:55.907] - Field: 'envir' [18:01:55.907] - Field: 'packages' [18:01:55.908] - Field: 'gc' [18:01:55.908] - Field: 'conditions' [18:01:55.908] - Field: 'expr' [18:01:55.908] - Field: 'uuid' [18:01:55.908] - Field: 'seed' [18:01:55.908] - Field: 'version' [18:01:55.909] - Field: 'result' [18:01:55.909] - Field: 'asynchronous' [18:01:55.909] - Field: 'calls' [18:01:55.909] - Field: 'globals' [18:01:55.909] - Field: 'stdout' [18:01:55.909] - Field: 'earlySignal' [18:01:55.910] - Field: 'lazy' [18:01:55.910] - Field: 'state' [18:01:55.910] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.910] - Launch lazy future ... [18:01:55.910] Packages needed by the future expression (n = 0): [18:01:55.911] Packages needed by future strategies (n = 0): [18:01:55.911] { [18:01:55.911] { [18:01:55.911] { [18:01:55.911] ...future.startTime <- base::Sys.time() [18:01:55.911] { [18:01:55.911] { [18:01:55.911] { [18:01:55.911] base::local({ [18:01:55.911] has_future <- base::requireNamespace("future", [18:01:55.911] quietly = TRUE) [18:01:55.911] if (has_future) { [18:01:55.911] ns <- base::getNamespace("future") [18:01:55.911] version <- ns[[".package"]][["version"]] [18:01:55.911] if (is.null(version)) [18:01:55.911] version <- utils::packageVersion("future") [18:01:55.911] } [18:01:55.911] else { [18:01:55.911] version <- NULL [18:01:55.911] } [18:01:55.911] if (!has_future || version < "1.8.0") { [18:01:55.911] info <- base::c(r_version = base::gsub("R version ", [18:01:55.911] "", base::R.version$version.string), [18:01:55.911] platform = base::sprintf("%s (%s-bit)", [18:01:55.911] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.911] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.911] "release", "version")], collapse = " "), [18:01:55.911] hostname = base::Sys.info()[["nodename"]]) [18:01:55.911] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.911] info) [18:01:55.911] info <- base::paste(info, collapse = "; ") [18:01:55.911] if (!has_future) { [18:01:55.911] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.911] info) [18:01:55.911] } [18:01:55.911] else { [18:01:55.911] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.911] info, version) [18:01:55.911] } [18:01:55.911] base::stop(msg) [18:01:55.911] } [18:01:55.911] }) [18:01:55.911] } [18:01:55.911] options(future.plan = NULL) [18:01:55.911] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.911] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.911] } [18:01:55.911] ...future.workdir <- getwd() [18:01:55.911] } [18:01:55.911] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.911] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.911] } [18:01:55.911] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.911] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.911] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.911] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.911] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.911] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.911] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.911] base::names(...future.oldOptions)) [18:01:55.911] } [18:01:55.911] if (FALSE) { [18:01:55.911] } [18:01:55.911] else { [18:01:55.911] if (TRUE) { [18:01:55.911] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.911] open = "w") [18:01:55.911] } [18:01:55.911] else { [18:01:55.911] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.911] windows = "NUL", "/dev/null"), open = "w") [18:01:55.911] } [18:01:55.911] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.911] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.911] base::sink(type = "output", split = FALSE) [18:01:55.911] base::close(...future.stdout) [18:01:55.911] }, add = TRUE) [18:01:55.911] } [18:01:55.911] ...future.frame <- base::sys.nframe() [18:01:55.911] ...future.conditions <- base::list() [18:01:55.911] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.911] if (FALSE) { [18:01:55.911] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.911] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.911] } [18:01:55.911] ...future.result <- base::tryCatch({ [18:01:55.911] base::withCallingHandlers({ [18:01:55.911] ...future.value <- base::withVisible(base::local({ [18:01:55.911] x[["a"]] <- 1 [18:01:55.911] x [18:01:55.911] })) [18:01:55.911] future::FutureResult(value = ...future.value$value, [18:01:55.911] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.911] ...future.rng), globalenv = if (FALSE) [18:01:55.911] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.911] ...future.globalenv.names)) [18:01:55.911] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.911] }, condition = base::local({ [18:01:55.911] c <- base::c [18:01:55.911] inherits <- base::inherits [18:01:55.911] invokeRestart <- base::invokeRestart [18:01:55.911] length <- base::length [18:01:55.911] list <- base::list [18:01:55.911] seq.int <- base::seq.int [18:01:55.911] signalCondition <- base::signalCondition [18:01:55.911] sys.calls <- base::sys.calls [18:01:55.911] `[[` <- base::`[[` [18:01:55.911] `+` <- base::`+` [18:01:55.911] `<<-` <- base::`<<-` [18:01:55.911] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.911] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.911] 3L)] [18:01:55.911] } [18:01:55.911] function(cond) { [18:01:55.911] is_error <- inherits(cond, "error") [18:01:55.911] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.911] NULL) [18:01:55.911] if (is_error) { [18:01:55.911] sessionInformation <- function() { [18:01:55.911] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.911] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.911] search = base::search(), system = base::Sys.info()) [18:01:55.911] } [18:01:55.911] ...future.conditions[[length(...future.conditions) + [18:01:55.911] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.911] cond$call), session = sessionInformation(), [18:01:55.911] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.911] signalCondition(cond) [18:01:55.911] } [18:01:55.911] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.911] "immediateCondition"))) { [18:01:55.911] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.911] ...future.conditions[[length(...future.conditions) + [18:01:55.911] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.911] if (TRUE && !signal) { [18:01:55.911] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.911] { [18:01:55.911] inherits <- base::inherits [18:01:55.911] invokeRestart <- base::invokeRestart [18:01:55.911] is.null <- base::is.null [18:01:55.911] muffled <- FALSE [18:01:55.911] if (inherits(cond, "message")) { [18:01:55.911] muffled <- grepl(pattern, "muffleMessage") [18:01:55.911] if (muffled) [18:01:55.911] invokeRestart("muffleMessage") [18:01:55.911] } [18:01:55.911] else if (inherits(cond, "warning")) { [18:01:55.911] muffled <- grepl(pattern, "muffleWarning") [18:01:55.911] if (muffled) [18:01:55.911] invokeRestart("muffleWarning") [18:01:55.911] } [18:01:55.911] else if (inherits(cond, "condition")) { [18:01:55.911] if (!is.null(pattern)) { [18:01:55.911] computeRestarts <- base::computeRestarts [18:01:55.911] grepl <- base::grepl [18:01:55.911] restarts <- computeRestarts(cond) [18:01:55.911] for (restart in restarts) { [18:01:55.911] name <- restart$name [18:01:55.911] if (is.null(name)) [18:01:55.911] next [18:01:55.911] if (!grepl(pattern, name)) [18:01:55.911] next [18:01:55.911] invokeRestart(restart) [18:01:55.911] muffled <- TRUE [18:01:55.911] break [18:01:55.911] } [18:01:55.911] } [18:01:55.911] } [18:01:55.911] invisible(muffled) [18:01:55.911] } [18:01:55.911] muffleCondition(cond, pattern = "^muffle") [18:01:55.911] } [18:01:55.911] } [18:01:55.911] else { [18:01:55.911] if (TRUE) { [18:01:55.911] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.911] { [18:01:55.911] inherits <- base::inherits [18:01:55.911] invokeRestart <- base::invokeRestart [18:01:55.911] is.null <- base::is.null [18:01:55.911] muffled <- FALSE [18:01:55.911] if (inherits(cond, "message")) { [18:01:55.911] muffled <- grepl(pattern, "muffleMessage") [18:01:55.911] if (muffled) [18:01:55.911] invokeRestart("muffleMessage") [18:01:55.911] } [18:01:55.911] else if (inherits(cond, "warning")) { [18:01:55.911] muffled <- grepl(pattern, "muffleWarning") [18:01:55.911] if (muffled) [18:01:55.911] invokeRestart("muffleWarning") [18:01:55.911] } [18:01:55.911] else if (inherits(cond, "condition")) { [18:01:55.911] if (!is.null(pattern)) { [18:01:55.911] computeRestarts <- base::computeRestarts [18:01:55.911] grepl <- base::grepl [18:01:55.911] restarts <- computeRestarts(cond) [18:01:55.911] for (restart in restarts) { [18:01:55.911] name <- restart$name [18:01:55.911] if (is.null(name)) [18:01:55.911] next [18:01:55.911] if (!grepl(pattern, name)) [18:01:55.911] next [18:01:55.911] invokeRestart(restart) [18:01:55.911] muffled <- TRUE [18:01:55.911] break [18:01:55.911] } [18:01:55.911] } [18:01:55.911] } [18:01:55.911] invisible(muffled) [18:01:55.911] } [18:01:55.911] muffleCondition(cond, pattern = "^muffle") [18:01:55.911] } [18:01:55.911] } [18:01:55.911] } [18:01:55.911] })) [18:01:55.911] }, error = function(ex) { [18:01:55.911] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.911] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.911] ...future.rng), started = ...future.startTime, [18:01:55.911] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.911] version = "1.8"), class = "FutureResult") [18:01:55.911] }, finally = { [18:01:55.911] if (!identical(...future.workdir, getwd())) [18:01:55.911] setwd(...future.workdir) [18:01:55.911] { [18:01:55.911] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.911] ...future.oldOptions$nwarnings <- NULL [18:01:55.911] } [18:01:55.911] base::options(...future.oldOptions) [18:01:55.911] if (.Platform$OS.type == "windows") { [18:01:55.911] old_names <- names(...future.oldEnvVars) [18:01:55.911] envs <- base::Sys.getenv() [18:01:55.911] names <- names(envs) [18:01:55.911] common <- intersect(names, old_names) [18:01:55.911] added <- setdiff(names, old_names) [18:01:55.911] removed <- setdiff(old_names, names) [18:01:55.911] changed <- common[...future.oldEnvVars[common] != [18:01:55.911] envs[common]] [18:01:55.911] NAMES <- toupper(changed) [18:01:55.911] args <- list() [18:01:55.911] for (kk in seq_along(NAMES)) { [18:01:55.911] name <- changed[[kk]] [18:01:55.911] NAME <- NAMES[[kk]] [18:01:55.911] if (name != NAME && is.element(NAME, old_names)) [18:01:55.911] next [18:01:55.911] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.911] } [18:01:55.911] NAMES <- toupper(added) [18:01:55.911] for (kk in seq_along(NAMES)) { [18:01:55.911] name <- added[[kk]] [18:01:55.911] NAME <- NAMES[[kk]] [18:01:55.911] if (name != NAME && is.element(NAME, old_names)) [18:01:55.911] next [18:01:55.911] args[[name]] <- "" [18:01:55.911] } [18:01:55.911] NAMES <- toupper(removed) [18:01:55.911] for (kk in seq_along(NAMES)) { [18:01:55.911] name <- removed[[kk]] [18:01:55.911] NAME <- NAMES[[kk]] [18:01:55.911] if (name != NAME && is.element(NAME, old_names)) [18:01:55.911] next [18:01:55.911] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.911] } [18:01:55.911] if (length(args) > 0) [18:01:55.911] base::do.call(base::Sys.setenv, args = args) [18:01:55.911] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.911] } [18:01:55.911] else { [18:01:55.911] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.911] } [18:01:55.911] { [18:01:55.911] if (base::length(...future.futureOptionsAdded) > [18:01:55.911] 0L) { [18:01:55.911] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.911] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.911] base::options(opts) [18:01:55.911] } [18:01:55.911] { [18:01:55.911] { [18:01:55.911] NULL [18:01:55.911] RNGkind("Mersenne-Twister") [18:01:55.911] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.911] inherits = FALSE) [18:01:55.911] } [18:01:55.911] options(future.plan = NULL) [18:01:55.911] if (is.na(NA_character_)) [18:01:55.911] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.911] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.911] future::plan(list(function (..., envir = parent.frame()) [18:01:55.911] { [18:01:55.911] future <- SequentialFuture(..., envir = envir) [18:01:55.911] if (!future$lazy) [18:01:55.911] future <- run(future) [18:01:55.911] invisible(future) [18:01:55.911] }), .cleanup = FALSE, .init = FALSE) [18:01:55.911] } [18:01:55.911] } [18:01:55.911] } [18:01:55.911] }) [18:01:55.911] if (TRUE) { [18:01:55.911] base::sink(type = "output", split = FALSE) [18:01:55.911] if (TRUE) { [18:01:55.911] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.911] } [18:01:55.911] else { [18:01:55.911] ...future.result["stdout"] <- base::list(NULL) [18:01:55.911] } [18:01:55.911] base::close(...future.stdout) [18:01:55.911] ...future.stdout <- NULL [18:01:55.911] } [18:01:55.911] ...future.result$conditions <- ...future.conditions [18:01:55.911] ...future.result$finished <- base::Sys.time() [18:01:55.911] ...future.result [18:01:55.911] } [18:01:55.915] assign_globals() ... [18:01:55.916] List of 1 [18:01:55.916] $ x: list() [18:01:55.916] - attr(*, "where")=List of 1 [18:01:55.916] ..$ x: [18:01:55.916] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.916] - attr(*, "resolved")= logi TRUE [18:01:55.916] - attr(*, "total_size")= num 0 [18:01:55.916] - attr(*, "already-done")= logi TRUE [18:01:55.919] - copied 'x' to environment [18:01:55.920] assign_globals() ... done [18:01:55.920] plan(): Setting new future strategy stack: [18:01:55.920] List of future strategies: [18:01:55.920] 1. sequential: [18:01:55.920] - args: function (..., envir = parent.frame()) [18:01:55.920] - tweaked: FALSE [18:01:55.920] - call: NULL [18:01:55.921] plan(): nbrOfWorkers() = 1 [18:01:55.922] plan(): Setting new future strategy stack: [18:01:55.923] List of future strategies: [18:01:55.923] 1. sequential: [18:01:55.923] - args: function (..., envir = parent.frame()) [18:01:55.923] - tweaked: FALSE [18:01:55.923] - call: plan(strategy) [18:01:55.923] plan(): nbrOfWorkers() = 1 [18:01:55.923] SequentialFuture started (and completed) [18:01:55.924] - Launch lazy future ... done [18:01:55.924] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.925] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.925] Searching for globals... [18:01:55.928] - globals found: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:55.928] Searching for globals ... DONE [18:01:55.929] Resolving globals: TRUE [18:01:55.929] Resolving any globals that are futures ... [18:01:55.929] - globals: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:55.929] Resolving any globals that are futures ... DONE [18:01:55.930] Resolving futures part of globals (recursively) ... [18:01:55.930] resolve() on list ... [18:01:55.930] recursive: 99 [18:01:55.931] length: 1 [18:01:55.931] elements: 'x' [18:01:55.931] length: 0 (resolved future 1) [18:01:55.931] resolve() on list ... DONE [18:01:55.932] - globals: [1] 'x' [18:01:55.932] Resolving futures part of globals (recursively) ... DONE [18:01:55.932] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.933] The total size of the 1 globals exported for future expression ('{; x[["a"]] <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.933] - globals: [1] 'x' [18:01:55.933] [18:01:55.933] getGlobalsAndPackages() ... DONE [18:01:55.934] run() for 'Future' ... [18:01:55.934] - state: 'created' [18:01:55.934] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.935] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.935] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.935] - Field: 'label' [18:01:55.935] - Field: 'local' [18:01:55.936] - Field: 'owner' [18:01:55.936] - Field: 'envir' [18:01:55.936] - Field: 'packages' [18:01:55.936] - Field: 'gc' [18:01:55.936] - Field: 'conditions' [18:01:55.936] - Field: 'expr' [18:01:55.937] - Field: 'uuid' [18:01:55.937] - Field: 'seed' [18:01:55.937] - Field: 'version' [18:01:55.937] - Field: 'result' [18:01:55.937] - Field: 'asynchronous' [18:01:55.938] - Field: 'calls' [18:01:55.938] - Field: 'globals' [18:01:55.938] - Field: 'stdout' [18:01:55.938] - Field: 'earlySignal' [18:01:55.938] - Field: 'lazy' [18:01:55.938] - Field: 'state' [18:01:55.939] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.939] - Launch lazy future ... [18:01:55.940] Packages needed by the future expression (n = 0): [18:01:55.940] Packages needed by future strategies (n = 0): [18:01:55.941] { [18:01:55.941] { [18:01:55.941] { [18:01:55.941] ...future.startTime <- base::Sys.time() [18:01:55.941] { [18:01:55.941] { [18:01:55.941] { [18:01:55.941] base::local({ [18:01:55.941] has_future <- base::requireNamespace("future", [18:01:55.941] quietly = TRUE) [18:01:55.941] if (has_future) { [18:01:55.941] ns <- base::getNamespace("future") [18:01:55.941] version <- ns[[".package"]][["version"]] [18:01:55.941] if (is.null(version)) [18:01:55.941] version <- utils::packageVersion("future") [18:01:55.941] } [18:01:55.941] else { [18:01:55.941] version <- NULL [18:01:55.941] } [18:01:55.941] if (!has_future || version < "1.8.0") { [18:01:55.941] info <- base::c(r_version = base::gsub("R version ", [18:01:55.941] "", base::R.version$version.string), [18:01:55.941] platform = base::sprintf("%s (%s-bit)", [18:01:55.941] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.941] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.941] "release", "version")], collapse = " "), [18:01:55.941] hostname = base::Sys.info()[["nodename"]]) [18:01:55.941] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.941] info) [18:01:55.941] info <- base::paste(info, collapse = "; ") [18:01:55.941] if (!has_future) { [18:01:55.941] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.941] info) [18:01:55.941] } [18:01:55.941] else { [18:01:55.941] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.941] info, version) [18:01:55.941] } [18:01:55.941] base::stop(msg) [18:01:55.941] } [18:01:55.941] }) [18:01:55.941] } [18:01:55.941] options(future.plan = NULL) [18:01:55.941] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.941] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.941] } [18:01:55.941] ...future.workdir <- getwd() [18:01:55.941] } [18:01:55.941] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.941] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.941] } [18:01:55.941] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.941] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.941] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.941] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.941] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.941] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.941] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.941] base::names(...future.oldOptions)) [18:01:55.941] } [18:01:55.941] if (FALSE) { [18:01:55.941] } [18:01:55.941] else { [18:01:55.941] if (TRUE) { [18:01:55.941] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.941] open = "w") [18:01:55.941] } [18:01:55.941] else { [18:01:55.941] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.941] windows = "NUL", "/dev/null"), open = "w") [18:01:55.941] } [18:01:55.941] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.941] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.941] base::sink(type = "output", split = FALSE) [18:01:55.941] base::close(...future.stdout) [18:01:55.941] }, add = TRUE) [18:01:55.941] } [18:01:55.941] ...future.frame <- base::sys.nframe() [18:01:55.941] ...future.conditions <- base::list() [18:01:55.941] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.941] if (FALSE) { [18:01:55.941] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.941] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.941] } [18:01:55.941] ...future.result <- base::tryCatch({ [18:01:55.941] base::withCallingHandlers({ [18:01:55.941] ...future.value <- base::withVisible(base::local({ [18:01:55.941] x[["a"]] <- 1 [18:01:55.941] x [18:01:55.941] })) [18:01:55.941] future::FutureResult(value = ...future.value$value, [18:01:55.941] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.941] ...future.rng), globalenv = if (FALSE) [18:01:55.941] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.941] ...future.globalenv.names)) [18:01:55.941] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.941] }, condition = base::local({ [18:01:55.941] c <- base::c [18:01:55.941] inherits <- base::inherits [18:01:55.941] invokeRestart <- base::invokeRestart [18:01:55.941] length <- base::length [18:01:55.941] list <- base::list [18:01:55.941] seq.int <- base::seq.int [18:01:55.941] signalCondition <- base::signalCondition [18:01:55.941] sys.calls <- base::sys.calls [18:01:55.941] `[[` <- base::`[[` [18:01:55.941] `+` <- base::`+` [18:01:55.941] `<<-` <- base::`<<-` [18:01:55.941] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.941] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.941] 3L)] [18:01:55.941] } [18:01:55.941] function(cond) { [18:01:55.941] is_error <- inherits(cond, "error") [18:01:55.941] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.941] NULL) [18:01:55.941] if (is_error) { [18:01:55.941] sessionInformation <- function() { [18:01:55.941] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.941] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.941] search = base::search(), system = base::Sys.info()) [18:01:55.941] } [18:01:55.941] ...future.conditions[[length(...future.conditions) + [18:01:55.941] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.941] cond$call), session = sessionInformation(), [18:01:55.941] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.941] signalCondition(cond) [18:01:55.941] } [18:01:55.941] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.941] "immediateCondition"))) { [18:01:55.941] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.941] ...future.conditions[[length(...future.conditions) + [18:01:55.941] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.941] if (TRUE && !signal) { [18:01:55.941] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.941] { [18:01:55.941] inherits <- base::inherits [18:01:55.941] invokeRestart <- base::invokeRestart [18:01:55.941] is.null <- base::is.null [18:01:55.941] muffled <- FALSE [18:01:55.941] if (inherits(cond, "message")) { [18:01:55.941] muffled <- grepl(pattern, "muffleMessage") [18:01:55.941] if (muffled) [18:01:55.941] invokeRestart("muffleMessage") [18:01:55.941] } [18:01:55.941] else if (inherits(cond, "warning")) { [18:01:55.941] muffled <- grepl(pattern, "muffleWarning") [18:01:55.941] if (muffled) [18:01:55.941] invokeRestart("muffleWarning") [18:01:55.941] } [18:01:55.941] else if (inherits(cond, "condition")) { [18:01:55.941] if (!is.null(pattern)) { [18:01:55.941] computeRestarts <- base::computeRestarts [18:01:55.941] grepl <- base::grepl [18:01:55.941] restarts <- computeRestarts(cond) [18:01:55.941] for (restart in restarts) { [18:01:55.941] name <- restart$name [18:01:55.941] if (is.null(name)) [18:01:55.941] next [18:01:55.941] if (!grepl(pattern, name)) [18:01:55.941] next [18:01:55.941] invokeRestart(restart) [18:01:55.941] muffled <- TRUE [18:01:55.941] break [18:01:55.941] } [18:01:55.941] } [18:01:55.941] } [18:01:55.941] invisible(muffled) [18:01:55.941] } [18:01:55.941] muffleCondition(cond, pattern = "^muffle") [18:01:55.941] } [18:01:55.941] } [18:01:55.941] else { [18:01:55.941] if (TRUE) { [18:01:55.941] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.941] { [18:01:55.941] inherits <- base::inherits [18:01:55.941] invokeRestart <- base::invokeRestart [18:01:55.941] is.null <- base::is.null [18:01:55.941] muffled <- FALSE [18:01:55.941] if (inherits(cond, "message")) { [18:01:55.941] muffled <- grepl(pattern, "muffleMessage") [18:01:55.941] if (muffled) [18:01:55.941] invokeRestart("muffleMessage") [18:01:55.941] } [18:01:55.941] else if (inherits(cond, "warning")) { [18:01:55.941] muffled <- grepl(pattern, "muffleWarning") [18:01:55.941] if (muffled) [18:01:55.941] invokeRestart("muffleWarning") [18:01:55.941] } [18:01:55.941] else if (inherits(cond, "condition")) { [18:01:55.941] if (!is.null(pattern)) { [18:01:55.941] computeRestarts <- base::computeRestarts [18:01:55.941] grepl <- base::grepl [18:01:55.941] restarts <- computeRestarts(cond) [18:01:55.941] for (restart in restarts) { [18:01:55.941] name <- restart$name [18:01:55.941] if (is.null(name)) [18:01:55.941] next [18:01:55.941] if (!grepl(pattern, name)) [18:01:55.941] next [18:01:55.941] invokeRestart(restart) [18:01:55.941] muffled <- TRUE [18:01:55.941] break [18:01:55.941] } [18:01:55.941] } [18:01:55.941] } [18:01:55.941] invisible(muffled) [18:01:55.941] } [18:01:55.941] muffleCondition(cond, pattern = "^muffle") [18:01:55.941] } [18:01:55.941] } [18:01:55.941] } [18:01:55.941] })) [18:01:55.941] }, error = function(ex) { [18:01:55.941] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.941] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.941] ...future.rng), started = ...future.startTime, [18:01:55.941] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.941] version = "1.8"), class = "FutureResult") [18:01:55.941] }, finally = { [18:01:55.941] if (!identical(...future.workdir, getwd())) [18:01:55.941] setwd(...future.workdir) [18:01:55.941] { [18:01:55.941] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.941] ...future.oldOptions$nwarnings <- NULL [18:01:55.941] } [18:01:55.941] base::options(...future.oldOptions) [18:01:55.941] if (.Platform$OS.type == "windows") { [18:01:55.941] old_names <- names(...future.oldEnvVars) [18:01:55.941] envs <- base::Sys.getenv() [18:01:55.941] names <- names(envs) [18:01:55.941] common <- intersect(names, old_names) [18:01:55.941] added <- setdiff(names, old_names) [18:01:55.941] removed <- setdiff(old_names, names) [18:01:55.941] changed <- common[...future.oldEnvVars[common] != [18:01:55.941] envs[common]] [18:01:55.941] NAMES <- toupper(changed) [18:01:55.941] args <- list() [18:01:55.941] for (kk in seq_along(NAMES)) { [18:01:55.941] name <- changed[[kk]] [18:01:55.941] NAME <- NAMES[[kk]] [18:01:55.941] if (name != NAME && is.element(NAME, old_names)) [18:01:55.941] next [18:01:55.941] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.941] } [18:01:55.941] NAMES <- toupper(added) [18:01:55.941] for (kk in seq_along(NAMES)) { [18:01:55.941] name <- added[[kk]] [18:01:55.941] NAME <- NAMES[[kk]] [18:01:55.941] if (name != NAME && is.element(NAME, old_names)) [18:01:55.941] next [18:01:55.941] args[[name]] <- "" [18:01:55.941] } [18:01:55.941] NAMES <- toupper(removed) [18:01:55.941] for (kk in seq_along(NAMES)) { [18:01:55.941] name <- removed[[kk]] [18:01:55.941] NAME <- NAMES[[kk]] [18:01:55.941] if (name != NAME && is.element(NAME, old_names)) [18:01:55.941] next [18:01:55.941] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.941] } [18:01:55.941] if (length(args) > 0) [18:01:55.941] base::do.call(base::Sys.setenv, args = args) [18:01:55.941] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.941] } [18:01:55.941] else { [18:01:55.941] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.941] } [18:01:55.941] { [18:01:55.941] if (base::length(...future.futureOptionsAdded) > [18:01:55.941] 0L) { [18:01:55.941] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.941] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.941] base::options(opts) [18:01:55.941] } [18:01:55.941] { [18:01:55.941] { [18:01:55.941] NULL [18:01:55.941] RNGkind("Mersenne-Twister") [18:01:55.941] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.941] inherits = FALSE) [18:01:55.941] } [18:01:55.941] options(future.plan = NULL) [18:01:55.941] if (is.na(NA_character_)) [18:01:55.941] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.941] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.941] future::plan(list(function (..., envir = parent.frame()) [18:01:55.941] { [18:01:55.941] future <- SequentialFuture(..., envir = envir) [18:01:55.941] if (!future$lazy) [18:01:55.941] future <- run(future) [18:01:55.941] invisible(future) [18:01:55.941] }), .cleanup = FALSE, .init = FALSE) [18:01:55.941] } [18:01:55.941] } [18:01:55.941] } [18:01:55.941] }) [18:01:55.941] if (TRUE) { [18:01:55.941] base::sink(type = "output", split = FALSE) [18:01:55.941] if (TRUE) { [18:01:55.941] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.941] } [18:01:55.941] else { [18:01:55.941] ...future.result["stdout"] <- base::list(NULL) [18:01:55.941] } [18:01:55.941] base::close(...future.stdout) [18:01:55.941] ...future.stdout <- NULL [18:01:55.941] } [18:01:55.941] ...future.result$conditions <- ...future.conditions [18:01:55.941] ...future.result$finished <- base::Sys.time() [18:01:55.941] ...future.result [18:01:55.941] } [18:01:55.945] assign_globals() ... [18:01:55.945] List of 1 [18:01:55.945] $ x: list() [18:01:55.945] - attr(*, "where")=List of 1 [18:01:55.945] ..$ x: [18:01:55.945] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.945] - attr(*, "resolved")= logi TRUE [18:01:55.945] - attr(*, "total_size")= num 0 [18:01:55.945] - attr(*, "already-done")= logi TRUE [18:01:55.948] - copied 'x' to environment [18:01:55.948] assign_globals() ... done [18:01:55.948] plan(): Setting new future strategy stack: [18:01:55.948] List of future strategies: [18:01:55.948] 1. sequential: [18:01:55.948] - args: function (..., envir = parent.frame()) [18:01:55.948] - tweaked: FALSE [18:01:55.948] - call: NULL [18:01:55.949] plan(): nbrOfWorkers() = 1 [18:01:55.950] plan(): Setting new future strategy stack: [18:01:55.950] List of future strategies: [18:01:55.950] 1. sequential: [18:01:55.950] - args: function (..., envir = parent.frame()) [18:01:55.950] - tweaked: FALSE [18:01:55.950] - call: plan(strategy) [18:01:55.950] plan(): nbrOfWorkers() = 1 [18:01:55.951] SequentialFuture started (and completed) [18:01:55.951] - Launch lazy future ... done [18:01:55.951] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.952] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.952] Searching for globals... [18:01:55.954] - globals found: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:55.955] Searching for globals ... DONE [18:01:55.955] Resolving globals: TRUE [18:01:55.955] Resolving any globals that are futures ... [18:01:55.955] - globals: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:55.955] Resolving any globals that are futures ... DONE [18:01:55.956] Resolving futures part of globals (recursively) ... [18:01:55.956] resolve() on list ... [18:01:55.956] recursive: 99 [18:01:55.956] length: 1 [18:01:55.957] elements: 'x' [18:01:55.957] length: 0 (resolved future 1) [18:01:55.957] resolve() on list ... DONE [18:01:55.957] - globals: [1] 'x' [18:01:55.957] Resolving futures part of globals (recursively) ... DONE [18:01:55.957] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.958] The total size of the 1 globals exported for future expression ('{; x[["a"]] <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.958] - globals: [1] 'x' [18:01:55.958] [18:01:55.958] getGlobalsAndPackages() ... DONE [18:01:55.959] run() for 'Future' ... [18:01:55.959] - state: 'created' [18:01:55.959] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.959] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.960] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.960] - Field: 'label' [18:01:55.960] - Field: 'local' [18:01:55.960] - Field: 'owner' [18:01:55.960] - Field: 'envir' [18:01:55.961] - Field: 'packages' [18:01:55.961] - Field: 'gc' [18:01:55.961] - Field: 'conditions' [18:01:55.961] - Field: 'expr' [18:01:55.961] - Field: 'uuid' [18:01:55.961] - Field: 'seed' [18:01:55.962] - Field: 'version' [18:01:55.962] - Field: 'result' [18:01:55.962] - Field: 'asynchronous' [18:01:55.962] - Field: 'calls' [18:01:55.962] - Field: 'globals' [18:01:55.962] - Field: 'stdout' [18:01:55.963] - Field: 'earlySignal' [18:01:55.963] - Field: 'lazy' [18:01:55.963] - Field: 'state' [18:01:55.963] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.963] - Launch lazy future ... [18:01:55.964] Packages needed by the future expression (n = 0): [18:01:55.964] Packages needed by future strategies (n = 0): [18:01:55.964] { [18:01:55.964] { [18:01:55.964] { [18:01:55.964] ...future.startTime <- base::Sys.time() [18:01:55.964] { [18:01:55.964] { [18:01:55.964] { [18:01:55.964] base::local({ [18:01:55.964] has_future <- base::requireNamespace("future", [18:01:55.964] quietly = TRUE) [18:01:55.964] if (has_future) { [18:01:55.964] ns <- base::getNamespace("future") [18:01:55.964] version <- ns[[".package"]][["version"]] [18:01:55.964] if (is.null(version)) [18:01:55.964] version <- utils::packageVersion("future") [18:01:55.964] } [18:01:55.964] else { [18:01:55.964] version <- NULL [18:01:55.964] } [18:01:55.964] if (!has_future || version < "1.8.0") { [18:01:55.964] info <- base::c(r_version = base::gsub("R version ", [18:01:55.964] "", base::R.version$version.string), [18:01:55.964] platform = base::sprintf("%s (%s-bit)", [18:01:55.964] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.964] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.964] "release", "version")], collapse = " "), [18:01:55.964] hostname = base::Sys.info()[["nodename"]]) [18:01:55.964] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.964] info) [18:01:55.964] info <- base::paste(info, collapse = "; ") [18:01:55.964] if (!has_future) { [18:01:55.964] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.964] info) [18:01:55.964] } [18:01:55.964] else { [18:01:55.964] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.964] info, version) [18:01:55.964] } [18:01:55.964] base::stop(msg) [18:01:55.964] } [18:01:55.964] }) [18:01:55.964] } [18:01:55.964] options(future.plan = NULL) [18:01:55.964] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.964] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.964] } [18:01:55.964] ...future.workdir <- getwd() [18:01:55.964] } [18:01:55.964] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.964] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.964] } [18:01:55.964] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.964] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.964] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.964] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.964] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.964] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.964] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.964] base::names(...future.oldOptions)) [18:01:55.964] } [18:01:55.964] if (FALSE) { [18:01:55.964] } [18:01:55.964] else { [18:01:55.964] if (TRUE) { [18:01:55.964] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.964] open = "w") [18:01:55.964] } [18:01:55.964] else { [18:01:55.964] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.964] windows = "NUL", "/dev/null"), open = "w") [18:01:55.964] } [18:01:55.964] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.964] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.964] base::sink(type = "output", split = FALSE) [18:01:55.964] base::close(...future.stdout) [18:01:55.964] }, add = TRUE) [18:01:55.964] } [18:01:55.964] ...future.frame <- base::sys.nframe() [18:01:55.964] ...future.conditions <- base::list() [18:01:55.964] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.964] if (FALSE) { [18:01:55.964] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.964] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.964] } [18:01:55.964] ...future.result <- base::tryCatch({ [18:01:55.964] base::withCallingHandlers({ [18:01:55.964] ...future.value <- base::withVisible(base::local({ [18:01:55.964] x[["a"]] <- 1 [18:01:55.964] x [18:01:55.964] })) [18:01:55.964] future::FutureResult(value = ...future.value$value, [18:01:55.964] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.964] ...future.rng), globalenv = if (FALSE) [18:01:55.964] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.964] ...future.globalenv.names)) [18:01:55.964] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.964] }, condition = base::local({ [18:01:55.964] c <- base::c [18:01:55.964] inherits <- base::inherits [18:01:55.964] invokeRestart <- base::invokeRestart [18:01:55.964] length <- base::length [18:01:55.964] list <- base::list [18:01:55.964] seq.int <- base::seq.int [18:01:55.964] signalCondition <- base::signalCondition [18:01:55.964] sys.calls <- base::sys.calls [18:01:55.964] `[[` <- base::`[[` [18:01:55.964] `+` <- base::`+` [18:01:55.964] `<<-` <- base::`<<-` [18:01:55.964] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.964] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.964] 3L)] [18:01:55.964] } [18:01:55.964] function(cond) { [18:01:55.964] is_error <- inherits(cond, "error") [18:01:55.964] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.964] NULL) [18:01:55.964] if (is_error) { [18:01:55.964] sessionInformation <- function() { [18:01:55.964] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.964] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.964] search = base::search(), system = base::Sys.info()) [18:01:55.964] } [18:01:55.964] ...future.conditions[[length(...future.conditions) + [18:01:55.964] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.964] cond$call), session = sessionInformation(), [18:01:55.964] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.964] signalCondition(cond) [18:01:55.964] } [18:01:55.964] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.964] "immediateCondition"))) { [18:01:55.964] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.964] ...future.conditions[[length(...future.conditions) + [18:01:55.964] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.964] if (TRUE && !signal) { [18:01:55.964] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.964] { [18:01:55.964] inherits <- base::inherits [18:01:55.964] invokeRestart <- base::invokeRestart [18:01:55.964] is.null <- base::is.null [18:01:55.964] muffled <- FALSE [18:01:55.964] if (inherits(cond, "message")) { [18:01:55.964] muffled <- grepl(pattern, "muffleMessage") [18:01:55.964] if (muffled) [18:01:55.964] invokeRestart("muffleMessage") [18:01:55.964] } [18:01:55.964] else if (inherits(cond, "warning")) { [18:01:55.964] muffled <- grepl(pattern, "muffleWarning") [18:01:55.964] if (muffled) [18:01:55.964] invokeRestart("muffleWarning") [18:01:55.964] } [18:01:55.964] else if (inherits(cond, "condition")) { [18:01:55.964] if (!is.null(pattern)) { [18:01:55.964] computeRestarts <- base::computeRestarts [18:01:55.964] grepl <- base::grepl [18:01:55.964] restarts <- computeRestarts(cond) [18:01:55.964] for (restart in restarts) { [18:01:55.964] name <- restart$name [18:01:55.964] if (is.null(name)) [18:01:55.964] next [18:01:55.964] if (!grepl(pattern, name)) [18:01:55.964] next [18:01:55.964] invokeRestart(restart) [18:01:55.964] muffled <- TRUE [18:01:55.964] break [18:01:55.964] } [18:01:55.964] } [18:01:55.964] } [18:01:55.964] invisible(muffled) [18:01:55.964] } [18:01:55.964] muffleCondition(cond, pattern = "^muffle") [18:01:55.964] } [18:01:55.964] } [18:01:55.964] else { [18:01:55.964] if (TRUE) { [18:01:55.964] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.964] { [18:01:55.964] inherits <- base::inherits [18:01:55.964] invokeRestart <- base::invokeRestart [18:01:55.964] is.null <- base::is.null [18:01:55.964] muffled <- FALSE [18:01:55.964] if (inherits(cond, "message")) { [18:01:55.964] muffled <- grepl(pattern, "muffleMessage") [18:01:55.964] if (muffled) [18:01:55.964] invokeRestart("muffleMessage") [18:01:55.964] } [18:01:55.964] else if (inherits(cond, "warning")) { [18:01:55.964] muffled <- grepl(pattern, "muffleWarning") [18:01:55.964] if (muffled) [18:01:55.964] invokeRestart("muffleWarning") [18:01:55.964] } [18:01:55.964] else if (inherits(cond, "condition")) { [18:01:55.964] if (!is.null(pattern)) { [18:01:55.964] computeRestarts <- base::computeRestarts [18:01:55.964] grepl <- base::grepl [18:01:55.964] restarts <- computeRestarts(cond) [18:01:55.964] for (restart in restarts) { [18:01:55.964] name <- restart$name [18:01:55.964] if (is.null(name)) [18:01:55.964] next [18:01:55.964] if (!grepl(pattern, name)) [18:01:55.964] next [18:01:55.964] invokeRestart(restart) [18:01:55.964] muffled <- TRUE [18:01:55.964] break [18:01:55.964] } [18:01:55.964] } [18:01:55.964] } [18:01:55.964] invisible(muffled) [18:01:55.964] } [18:01:55.964] muffleCondition(cond, pattern = "^muffle") [18:01:55.964] } [18:01:55.964] } [18:01:55.964] } [18:01:55.964] })) [18:01:55.964] }, error = function(ex) { [18:01:55.964] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.964] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.964] ...future.rng), started = ...future.startTime, [18:01:55.964] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.964] version = "1.8"), class = "FutureResult") [18:01:55.964] }, finally = { [18:01:55.964] if (!identical(...future.workdir, getwd())) [18:01:55.964] setwd(...future.workdir) [18:01:55.964] { [18:01:55.964] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.964] ...future.oldOptions$nwarnings <- NULL [18:01:55.964] } [18:01:55.964] base::options(...future.oldOptions) [18:01:55.964] if (.Platform$OS.type == "windows") { [18:01:55.964] old_names <- names(...future.oldEnvVars) [18:01:55.964] envs <- base::Sys.getenv() [18:01:55.964] names <- names(envs) [18:01:55.964] common <- intersect(names, old_names) [18:01:55.964] added <- setdiff(names, old_names) [18:01:55.964] removed <- setdiff(old_names, names) [18:01:55.964] changed <- common[...future.oldEnvVars[common] != [18:01:55.964] envs[common]] [18:01:55.964] NAMES <- toupper(changed) [18:01:55.964] args <- list() [18:01:55.964] for (kk in seq_along(NAMES)) { [18:01:55.964] name <- changed[[kk]] [18:01:55.964] NAME <- NAMES[[kk]] [18:01:55.964] if (name != NAME && is.element(NAME, old_names)) [18:01:55.964] next [18:01:55.964] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.964] } [18:01:55.964] NAMES <- toupper(added) [18:01:55.964] for (kk in seq_along(NAMES)) { [18:01:55.964] name <- added[[kk]] [18:01:55.964] NAME <- NAMES[[kk]] [18:01:55.964] if (name != NAME && is.element(NAME, old_names)) [18:01:55.964] next [18:01:55.964] args[[name]] <- "" [18:01:55.964] } [18:01:55.964] NAMES <- toupper(removed) [18:01:55.964] for (kk in seq_along(NAMES)) { [18:01:55.964] name <- removed[[kk]] [18:01:55.964] NAME <- NAMES[[kk]] [18:01:55.964] if (name != NAME && is.element(NAME, old_names)) [18:01:55.964] next [18:01:55.964] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.964] } [18:01:55.964] if (length(args) > 0) [18:01:55.964] base::do.call(base::Sys.setenv, args = args) [18:01:55.964] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.964] } [18:01:55.964] else { [18:01:55.964] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.964] } [18:01:55.964] { [18:01:55.964] if (base::length(...future.futureOptionsAdded) > [18:01:55.964] 0L) { [18:01:55.964] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.964] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.964] base::options(opts) [18:01:55.964] } [18:01:55.964] { [18:01:55.964] { [18:01:55.964] NULL [18:01:55.964] RNGkind("Mersenne-Twister") [18:01:55.964] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.964] inherits = FALSE) [18:01:55.964] } [18:01:55.964] options(future.plan = NULL) [18:01:55.964] if (is.na(NA_character_)) [18:01:55.964] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.964] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.964] future::plan(list(function (..., envir = parent.frame()) [18:01:55.964] { [18:01:55.964] future <- SequentialFuture(..., envir = envir) [18:01:55.964] if (!future$lazy) [18:01:55.964] future <- run(future) [18:01:55.964] invisible(future) [18:01:55.964] }), .cleanup = FALSE, .init = FALSE) [18:01:55.964] } [18:01:55.964] } [18:01:55.964] } [18:01:55.964] }) [18:01:55.964] if (TRUE) { [18:01:55.964] base::sink(type = "output", split = FALSE) [18:01:55.964] if (TRUE) { [18:01:55.964] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.964] } [18:01:55.964] else { [18:01:55.964] ...future.result["stdout"] <- base::list(NULL) [18:01:55.964] } [18:01:55.964] base::close(...future.stdout) [18:01:55.964] ...future.stdout <- NULL [18:01:55.964] } [18:01:55.964] ...future.result$conditions <- ...future.conditions [18:01:55.964] ...future.result$finished <- base::Sys.time() [18:01:55.964] ...future.result [18:01:55.964] } [18:01:55.968] assign_globals() ... [18:01:55.968] List of 1 [18:01:55.968] $ x: list() [18:01:55.968] - attr(*, "where")=List of 1 [18:01:55.968] ..$ x: [18:01:55.968] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.968] - attr(*, "resolved")= logi TRUE [18:01:55.968] - attr(*, "total_size")= num 0 [18:01:55.968] - attr(*, "already-done")= logi TRUE [18:01:55.971] - copied 'x' to environment [18:01:55.971] assign_globals() ... done [18:01:55.972] plan(): Setting new future strategy stack: [18:01:55.972] List of future strategies: [18:01:55.972] 1. sequential: [18:01:55.972] - args: function (..., envir = parent.frame()) [18:01:55.972] - tweaked: FALSE [18:01:55.972] - call: NULL [18:01:55.972] plan(): nbrOfWorkers() = 1 [18:01:55.973] plan(): Setting new future strategy stack: [18:01:55.974] List of future strategies: [18:01:55.974] 1. sequential: [18:01:55.974] - args: function (..., envir = parent.frame()) [18:01:55.974] - tweaked: FALSE [18:01:55.974] - call: plan(strategy) [18:01:55.974] plan(): nbrOfWorkers() = 1 [18:01:55.974] SequentialFuture started (and completed) [18:01:55.975] - Launch lazy future ... done [18:01:55.975] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:55.975] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:55.976] Searching for globals... [18:01:55.979] - globals found: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:55.979] Searching for globals ... DONE [18:01:55.979] Resolving globals: TRUE [18:01:55.980] Resolving any globals that are futures ... [18:01:55.980] - globals: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:55.980] Resolving any globals that are futures ... DONE [18:01:55.980] Resolving futures part of globals (recursively) ... [18:01:55.981] resolve() on list ... [18:01:55.981] recursive: 99 [18:01:55.981] length: 1 [18:01:55.981] elements: 'x' [18:01:55.981] length: 0 (resolved future 1) [18:01:55.982] resolve() on list ... DONE [18:01:55.982] - globals: [1] 'x' [18:01:55.982] Resolving futures part of globals (recursively) ... DONE [18:01:55.982] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:55.983] The total size of the 1 globals exported for future expression ('{; x["a"] <- list(1); x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:55.983] - globals: [1] 'x' [18:01:55.983] [18:01:55.983] getGlobalsAndPackages() ... DONE [18:01:55.983] run() for 'Future' ... [18:01:55.984] - state: 'created' [18:01:55.984] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:55.984] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:55.984] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:55.984] - Field: 'label' [18:01:55.985] - Field: 'local' [18:01:55.985] - Field: 'owner' [18:01:55.985] - Field: 'envir' [18:01:55.985] - Field: 'packages' [18:01:55.985] - Field: 'gc' [18:01:55.986] - Field: 'conditions' [18:01:55.986] - Field: 'expr' [18:01:55.986] - Field: 'uuid' [18:01:55.986] - Field: 'seed' [18:01:55.986] - Field: 'version' [18:01:55.986] - Field: 'result' [18:01:55.987] - Field: 'asynchronous' [18:01:55.987] - Field: 'calls' [18:01:55.987] - Field: 'globals' [18:01:55.987] - Field: 'stdout' [18:01:55.987] - Field: 'earlySignal' [18:01:55.987] - Field: 'lazy' [18:01:55.988] - Field: 'state' [18:01:55.988] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:55.988] - Launch lazy future ... [18:01:55.988] Packages needed by the future expression (n = 0): [18:01:55.988] Packages needed by future strategies (n = 0): [18:01:55.989] { [18:01:55.989] { [18:01:55.989] { [18:01:55.989] ...future.startTime <- base::Sys.time() [18:01:55.989] { [18:01:55.989] { [18:01:55.989] { [18:01:55.989] base::local({ [18:01:55.989] has_future <- base::requireNamespace("future", [18:01:55.989] quietly = TRUE) [18:01:55.989] if (has_future) { [18:01:55.989] ns <- base::getNamespace("future") [18:01:55.989] version <- ns[[".package"]][["version"]] [18:01:55.989] if (is.null(version)) [18:01:55.989] version <- utils::packageVersion("future") [18:01:55.989] } [18:01:55.989] else { [18:01:55.989] version <- NULL [18:01:55.989] } [18:01:55.989] if (!has_future || version < "1.8.0") { [18:01:55.989] info <- base::c(r_version = base::gsub("R version ", [18:01:55.989] "", base::R.version$version.string), [18:01:55.989] platform = base::sprintf("%s (%s-bit)", [18:01:55.989] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:55.989] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:55.989] "release", "version")], collapse = " "), [18:01:55.989] hostname = base::Sys.info()[["nodename"]]) [18:01:55.989] info <- base::sprintf("%s: %s", base::names(info), [18:01:55.989] info) [18:01:55.989] info <- base::paste(info, collapse = "; ") [18:01:55.989] if (!has_future) { [18:01:55.989] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:55.989] info) [18:01:55.989] } [18:01:55.989] else { [18:01:55.989] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:55.989] info, version) [18:01:55.989] } [18:01:55.989] base::stop(msg) [18:01:55.989] } [18:01:55.989] }) [18:01:55.989] } [18:01:55.989] options(future.plan = NULL) [18:01:55.989] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.989] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:55.989] } [18:01:55.989] ...future.workdir <- getwd() [18:01:55.989] } [18:01:55.989] ...future.oldOptions <- base::as.list(base::.Options) [18:01:55.989] ...future.oldEnvVars <- base::Sys.getenv() [18:01:55.989] } [18:01:55.989] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:55.989] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:55.989] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:55.989] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:55.989] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:55.989] future.stdout.windows.reencode = NULL, width = 80L) [18:01:55.989] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:55.989] base::names(...future.oldOptions)) [18:01:55.989] } [18:01:55.989] if (FALSE) { [18:01:55.989] } [18:01:55.989] else { [18:01:55.989] if (TRUE) { [18:01:55.989] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:55.989] open = "w") [18:01:55.989] } [18:01:55.989] else { [18:01:55.989] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:55.989] windows = "NUL", "/dev/null"), open = "w") [18:01:55.989] } [18:01:55.989] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:55.989] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:55.989] base::sink(type = "output", split = FALSE) [18:01:55.989] base::close(...future.stdout) [18:01:55.989] }, add = TRUE) [18:01:55.989] } [18:01:55.989] ...future.frame <- base::sys.nframe() [18:01:55.989] ...future.conditions <- base::list() [18:01:55.989] ...future.rng <- base::globalenv()$.Random.seed [18:01:55.989] if (FALSE) { [18:01:55.989] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:55.989] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:55.989] } [18:01:55.989] ...future.result <- base::tryCatch({ [18:01:55.989] base::withCallingHandlers({ [18:01:55.989] ...future.value <- base::withVisible(base::local({ [18:01:55.989] x["a"] <- list(1) [18:01:55.989] x [18:01:55.989] })) [18:01:55.989] future::FutureResult(value = ...future.value$value, [18:01:55.989] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.989] ...future.rng), globalenv = if (FALSE) [18:01:55.989] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:55.989] ...future.globalenv.names)) [18:01:55.989] else NULL, started = ...future.startTime, version = "1.8") [18:01:55.989] }, condition = base::local({ [18:01:55.989] c <- base::c [18:01:55.989] inherits <- base::inherits [18:01:55.989] invokeRestart <- base::invokeRestart [18:01:55.989] length <- base::length [18:01:55.989] list <- base::list [18:01:55.989] seq.int <- base::seq.int [18:01:55.989] signalCondition <- base::signalCondition [18:01:55.989] sys.calls <- base::sys.calls [18:01:55.989] `[[` <- base::`[[` [18:01:55.989] `+` <- base::`+` [18:01:55.989] `<<-` <- base::`<<-` [18:01:55.989] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:55.989] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:55.989] 3L)] [18:01:55.989] } [18:01:55.989] function(cond) { [18:01:55.989] is_error <- inherits(cond, "error") [18:01:55.989] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:55.989] NULL) [18:01:55.989] if (is_error) { [18:01:55.989] sessionInformation <- function() { [18:01:55.989] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:55.989] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:55.989] search = base::search(), system = base::Sys.info()) [18:01:55.989] } [18:01:55.989] ...future.conditions[[length(...future.conditions) + [18:01:55.989] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:55.989] cond$call), session = sessionInformation(), [18:01:55.989] timestamp = base::Sys.time(), signaled = 0L) [18:01:55.989] signalCondition(cond) [18:01:55.989] } [18:01:55.989] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:55.989] "immediateCondition"))) { [18:01:55.989] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:55.989] ...future.conditions[[length(...future.conditions) + [18:01:55.989] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:55.989] if (TRUE && !signal) { [18:01:55.989] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.989] { [18:01:55.989] inherits <- base::inherits [18:01:55.989] invokeRestart <- base::invokeRestart [18:01:55.989] is.null <- base::is.null [18:01:55.989] muffled <- FALSE [18:01:55.989] if (inherits(cond, "message")) { [18:01:55.989] muffled <- grepl(pattern, "muffleMessage") [18:01:55.989] if (muffled) [18:01:55.989] invokeRestart("muffleMessage") [18:01:55.989] } [18:01:55.989] else if (inherits(cond, "warning")) { [18:01:55.989] muffled <- grepl(pattern, "muffleWarning") [18:01:55.989] if (muffled) [18:01:55.989] invokeRestart("muffleWarning") [18:01:55.989] } [18:01:55.989] else if (inherits(cond, "condition")) { [18:01:55.989] if (!is.null(pattern)) { [18:01:55.989] computeRestarts <- base::computeRestarts [18:01:55.989] grepl <- base::grepl [18:01:55.989] restarts <- computeRestarts(cond) [18:01:55.989] for (restart in restarts) { [18:01:55.989] name <- restart$name [18:01:55.989] if (is.null(name)) [18:01:55.989] next [18:01:55.989] if (!grepl(pattern, name)) [18:01:55.989] next [18:01:55.989] invokeRestart(restart) [18:01:55.989] muffled <- TRUE [18:01:55.989] break [18:01:55.989] } [18:01:55.989] } [18:01:55.989] } [18:01:55.989] invisible(muffled) [18:01:55.989] } [18:01:55.989] muffleCondition(cond, pattern = "^muffle") [18:01:55.989] } [18:01:55.989] } [18:01:55.989] else { [18:01:55.989] if (TRUE) { [18:01:55.989] muffleCondition <- function (cond, pattern = "^muffle") [18:01:55.989] { [18:01:55.989] inherits <- base::inherits [18:01:55.989] invokeRestart <- base::invokeRestart [18:01:55.989] is.null <- base::is.null [18:01:55.989] muffled <- FALSE [18:01:55.989] if (inherits(cond, "message")) { [18:01:55.989] muffled <- grepl(pattern, "muffleMessage") [18:01:55.989] if (muffled) [18:01:55.989] invokeRestart("muffleMessage") [18:01:55.989] } [18:01:55.989] else if (inherits(cond, "warning")) { [18:01:55.989] muffled <- grepl(pattern, "muffleWarning") [18:01:55.989] if (muffled) [18:01:55.989] invokeRestart("muffleWarning") [18:01:55.989] } [18:01:55.989] else if (inherits(cond, "condition")) { [18:01:55.989] if (!is.null(pattern)) { [18:01:55.989] computeRestarts <- base::computeRestarts [18:01:55.989] grepl <- base::grepl [18:01:55.989] restarts <- computeRestarts(cond) [18:01:55.989] for (restart in restarts) { [18:01:55.989] name <- restart$name [18:01:55.989] if (is.null(name)) [18:01:55.989] next [18:01:55.989] if (!grepl(pattern, name)) [18:01:55.989] next [18:01:55.989] invokeRestart(restart) [18:01:55.989] muffled <- TRUE [18:01:55.989] break [18:01:55.989] } [18:01:55.989] } [18:01:55.989] } [18:01:55.989] invisible(muffled) [18:01:55.989] } [18:01:55.989] muffleCondition(cond, pattern = "^muffle") [18:01:55.989] } [18:01:55.989] } [18:01:55.989] } [18:01:55.989] })) [18:01:55.989] }, error = function(ex) { [18:01:55.989] base::structure(base::list(value = NULL, visible = NULL, [18:01:55.989] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:55.989] ...future.rng), started = ...future.startTime, [18:01:55.989] finished = Sys.time(), session_uuid = NA_character_, [18:01:55.989] version = "1.8"), class = "FutureResult") [18:01:55.989] }, finally = { [18:01:55.989] if (!identical(...future.workdir, getwd())) [18:01:55.989] setwd(...future.workdir) [18:01:55.989] { [18:01:55.989] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:55.989] ...future.oldOptions$nwarnings <- NULL [18:01:55.989] } [18:01:55.989] base::options(...future.oldOptions) [18:01:55.989] if (.Platform$OS.type == "windows") { [18:01:55.989] old_names <- names(...future.oldEnvVars) [18:01:55.989] envs <- base::Sys.getenv() [18:01:55.989] names <- names(envs) [18:01:55.989] common <- intersect(names, old_names) [18:01:55.989] added <- setdiff(names, old_names) [18:01:55.989] removed <- setdiff(old_names, names) [18:01:55.989] changed <- common[...future.oldEnvVars[common] != [18:01:55.989] envs[common]] [18:01:55.989] NAMES <- toupper(changed) [18:01:55.989] args <- list() [18:01:55.989] for (kk in seq_along(NAMES)) { [18:01:55.989] name <- changed[[kk]] [18:01:55.989] NAME <- NAMES[[kk]] [18:01:55.989] if (name != NAME && is.element(NAME, old_names)) [18:01:55.989] next [18:01:55.989] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.989] } [18:01:55.989] NAMES <- toupper(added) [18:01:55.989] for (kk in seq_along(NAMES)) { [18:01:55.989] name <- added[[kk]] [18:01:55.989] NAME <- NAMES[[kk]] [18:01:55.989] if (name != NAME && is.element(NAME, old_names)) [18:01:55.989] next [18:01:55.989] args[[name]] <- "" [18:01:55.989] } [18:01:55.989] NAMES <- toupper(removed) [18:01:55.989] for (kk in seq_along(NAMES)) { [18:01:55.989] name <- removed[[kk]] [18:01:55.989] NAME <- NAMES[[kk]] [18:01:55.989] if (name != NAME && is.element(NAME, old_names)) [18:01:55.989] next [18:01:55.989] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:55.989] } [18:01:55.989] if (length(args) > 0) [18:01:55.989] base::do.call(base::Sys.setenv, args = args) [18:01:55.989] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:55.989] } [18:01:55.989] else { [18:01:55.989] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:55.989] } [18:01:55.989] { [18:01:55.989] if (base::length(...future.futureOptionsAdded) > [18:01:55.989] 0L) { [18:01:55.989] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:55.989] base::names(opts) <- ...future.futureOptionsAdded [18:01:55.989] base::options(opts) [18:01:55.989] } [18:01:55.989] { [18:01:55.989] { [18:01:55.989] NULL [18:01:55.989] RNGkind("Mersenne-Twister") [18:01:55.989] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:55.989] inherits = FALSE) [18:01:55.989] } [18:01:55.989] options(future.plan = NULL) [18:01:55.989] if (is.na(NA_character_)) [18:01:55.989] Sys.unsetenv("R_FUTURE_PLAN") [18:01:55.989] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:55.989] future::plan(list(function (..., envir = parent.frame()) [18:01:55.989] { [18:01:55.989] future <- SequentialFuture(..., envir = envir) [18:01:55.989] if (!future$lazy) [18:01:55.989] future <- run(future) [18:01:55.989] invisible(future) [18:01:55.989] }), .cleanup = FALSE, .init = FALSE) [18:01:55.989] } [18:01:55.989] } [18:01:55.989] } [18:01:55.989] }) [18:01:55.989] if (TRUE) { [18:01:55.989] base::sink(type = "output", split = FALSE) [18:01:55.989] if (TRUE) { [18:01:55.989] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:55.989] } [18:01:55.989] else { [18:01:55.989] ...future.result["stdout"] <- base::list(NULL) [18:01:55.989] } [18:01:55.989] base::close(...future.stdout) [18:01:55.989] ...future.stdout <- NULL [18:01:55.989] } [18:01:55.989] ...future.result$conditions <- ...future.conditions [18:01:55.989] ...future.result$finished <- base::Sys.time() [18:01:55.989] ...future.result [18:01:55.989] } [18:01:55.993] assign_globals() ... [18:01:55.993] List of 1 [18:01:55.993] $ x: list() [18:01:55.993] - attr(*, "where")=List of 1 [18:01:55.993] ..$ x: [18:01:55.993] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:55.993] - attr(*, "resolved")= logi TRUE [18:01:55.993] - attr(*, "total_size")= num 0 [18:01:55.993] - attr(*, "already-done")= logi TRUE [18:01:55.996] - copied 'x' to environment [18:01:55.996] assign_globals() ... done [18:01:55.996] plan(): Setting new future strategy stack: [18:01:55.996] List of future strategies: [18:01:55.996] 1. sequential: [18:01:55.996] - args: function (..., envir = parent.frame()) [18:01:55.996] - tweaked: FALSE [18:01:55.996] - call: NULL [18:01:55.997] plan(): nbrOfWorkers() = 1 [18:01:55.998] plan(): Setting new future strategy stack: [18:01:55.998] List of future strategies: [18:01:55.998] 1. sequential: [18:01:55.998] - args: function (..., envir = parent.frame()) [18:01:55.998] - tweaked: FALSE [18:01:55.998] - call: plan(strategy) [18:01:55.999] plan(): nbrOfWorkers() = 1 [18:01:55.999] SequentialFuture started (and completed) [18:01:55.999] - Launch lazy future ... done [18:01:55.999] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:56.000] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:56.000] Searching for globals... [18:01:56.002] - globals found: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:56.003] Searching for globals ... DONE [18:01:56.003] Resolving globals: TRUE [18:01:56.003] Resolving any globals that are futures ... [18:01:56.003] - globals: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:56.003] Resolving any globals that are futures ... DONE [18:01:56.004] Resolving futures part of globals (recursively) ... [18:01:56.004] resolve() on list ... [18:01:56.004] recursive: 99 [18:01:56.004] length: 1 [18:01:56.005] elements: 'x' [18:01:56.005] length: 0 (resolved future 1) [18:01:56.005] resolve() on list ... DONE [18:01:56.005] - globals: [1] 'x' [18:01:56.005] Resolving futures part of globals (recursively) ... DONE [18:01:56.006] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:56.006] The total size of the 1 globals exported for future expression ('{; x["a"] <- list(1); x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:56.006] - globals: [1] 'x' [18:01:56.006] [18:01:56.006] getGlobalsAndPackages() ... DONE [18:01:56.007] run() for 'Future' ... [18:01:56.007] - state: 'created' [18:01:56.007] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:56.008] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:56.008] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:56.008] - Field: 'label' [18:01:56.008] - Field: 'local' [18:01:56.008] - Field: 'owner' [18:01:56.008] - Field: 'envir' [18:01:56.009] - Field: 'packages' [18:01:56.009] - Field: 'gc' [18:01:56.009] - Field: 'conditions' [18:01:56.009] - Field: 'expr' [18:01:56.009] - Field: 'uuid' [18:01:56.010] - Field: 'seed' [18:01:56.010] - Field: 'version' [18:01:56.010] - Field: 'result' [18:01:56.010] - Field: 'asynchronous' [18:01:56.010] - Field: 'calls' [18:01:56.010] - Field: 'globals' [18:01:56.011] - Field: 'stdout' [18:01:56.011] - Field: 'earlySignal' [18:01:56.011] - Field: 'lazy' [18:01:56.011] - Field: 'state' [18:01:56.011] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:56.011] - Launch lazy future ... [18:01:56.012] Packages needed by the future expression (n = 0): [18:01:56.012] Packages needed by future strategies (n = 0): [18:01:56.012] { [18:01:56.012] { [18:01:56.012] { [18:01:56.012] ...future.startTime <- base::Sys.time() [18:01:56.012] { [18:01:56.012] { [18:01:56.012] { [18:01:56.012] base::local({ [18:01:56.012] has_future <- base::requireNamespace("future", [18:01:56.012] quietly = TRUE) [18:01:56.012] if (has_future) { [18:01:56.012] ns <- base::getNamespace("future") [18:01:56.012] version <- ns[[".package"]][["version"]] [18:01:56.012] if (is.null(version)) [18:01:56.012] version <- utils::packageVersion("future") [18:01:56.012] } [18:01:56.012] else { [18:01:56.012] version <- NULL [18:01:56.012] } [18:01:56.012] if (!has_future || version < "1.8.0") { [18:01:56.012] info <- base::c(r_version = base::gsub("R version ", [18:01:56.012] "", base::R.version$version.string), [18:01:56.012] platform = base::sprintf("%s (%s-bit)", [18:01:56.012] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:56.012] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:56.012] "release", "version")], collapse = " "), [18:01:56.012] hostname = base::Sys.info()[["nodename"]]) [18:01:56.012] info <- base::sprintf("%s: %s", base::names(info), [18:01:56.012] info) [18:01:56.012] info <- base::paste(info, collapse = "; ") [18:01:56.012] if (!has_future) { [18:01:56.012] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:56.012] info) [18:01:56.012] } [18:01:56.012] else { [18:01:56.012] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:56.012] info, version) [18:01:56.012] } [18:01:56.012] base::stop(msg) [18:01:56.012] } [18:01:56.012] }) [18:01:56.012] } [18:01:56.012] options(future.plan = NULL) [18:01:56.012] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.012] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:56.012] } [18:01:56.012] ...future.workdir <- getwd() [18:01:56.012] } [18:01:56.012] ...future.oldOptions <- base::as.list(base::.Options) [18:01:56.012] ...future.oldEnvVars <- base::Sys.getenv() [18:01:56.012] } [18:01:56.012] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:56.012] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:56.012] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:56.012] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:56.012] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:56.012] future.stdout.windows.reencode = NULL, width = 80L) [18:01:56.012] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:56.012] base::names(...future.oldOptions)) [18:01:56.012] } [18:01:56.012] if (FALSE) { [18:01:56.012] } [18:01:56.012] else { [18:01:56.012] if (TRUE) { [18:01:56.012] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:56.012] open = "w") [18:01:56.012] } [18:01:56.012] else { [18:01:56.012] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:56.012] windows = "NUL", "/dev/null"), open = "w") [18:01:56.012] } [18:01:56.012] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:56.012] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:56.012] base::sink(type = "output", split = FALSE) [18:01:56.012] base::close(...future.stdout) [18:01:56.012] }, add = TRUE) [18:01:56.012] } [18:01:56.012] ...future.frame <- base::sys.nframe() [18:01:56.012] ...future.conditions <- base::list() [18:01:56.012] ...future.rng <- base::globalenv()$.Random.seed [18:01:56.012] if (FALSE) { [18:01:56.012] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:56.012] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:56.012] } [18:01:56.012] ...future.result <- base::tryCatch({ [18:01:56.012] base::withCallingHandlers({ [18:01:56.012] ...future.value <- base::withVisible(base::local({ [18:01:56.012] x["a"] <- list(1) [18:01:56.012] x [18:01:56.012] })) [18:01:56.012] future::FutureResult(value = ...future.value$value, [18:01:56.012] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.012] ...future.rng), globalenv = if (FALSE) [18:01:56.012] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:56.012] ...future.globalenv.names)) [18:01:56.012] else NULL, started = ...future.startTime, version = "1.8") [18:01:56.012] }, condition = base::local({ [18:01:56.012] c <- base::c [18:01:56.012] inherits <- base::inherits [18:01:56.012] invokeRestart <- base::invokeRestart [18:01:56.012] length <- base::length [18:01:56.012] list <- base::list [18:01:56.012] seq.int <- base::seq.int [18:01:56.012] signalCondition <- base::signalCondition [18:01:56.012] sys.calls <- base::sys.calls [18:01:56.012] `[[` <- base::`[[` [18:01:56.012] `+` <- base::`+` [18:01:56.012] `<<-` <- base::`<<-` [18:01:56.012] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:56.012] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:56.012] 3L)] [18:01:56.012] } [18:01:56.012] function(cond) { [18:01:56.012] is_error <- inherits(cond, "error") [18:01:56.012] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:56.012] NULL) [18:01:56.012] if (is_error) { [18:01:56.012] sessionInformation <- function() { [18:01:56.012] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:56.012] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:56.012] search = base::search(), system = base::Sys.info()) [18:01:56.012] } [18:01:56.012] ...future.conditions[[length(...future.conditions) + [18:01:56.012] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:56.012] cond$call), session = sessionInformation(), [18:01:56.012] timestamp = base::Sys.time(), signaled = 0L) [18:01:56.012] signalCondition(cond) [18:01:56.012] } [18:01:56.012] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:56.012] "immediateCondition"))) { [18:01:56.012] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:56.012] ...future.conditions[[length(...future.conditions) + [18:01:56.012] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:56.012] if (TRUE && !signal) { [18:01:56.012] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.012] { [18:01:56.012] inherits <- base::inherits [18:01:56.012] invokeRestart <- base::invokeRestart [18:01:56.012] is.null <- base::is.null [18:01:56.012] muffled <- FALSE [18:01:56.012] if (inherits(cond, "message")) { [18:01:56.012] muffled <- grepl(pattern, "muffleMessage") [18:01:56.012] if (muffled) [18:01:56.012] invokeRestart("muffleMessage") [18:01:56.012] } [18:01:56.012] else if (inherits(cond, "warning")) { [18:01:56.012] muffled <- grepl(pattern, "muffleWarning") [18:01:56.012] if (muffled) [18:01:56.012] invokeRestart("muffleWarning") [18:01:56.012] } [18:01:56.012] else if (inherits(cond, "condition")) { [18:01:56.012] if (!is.null(pattern)) { [18:01:56.012] computeRestarts <- base::computeRestarts [18:01:56.012] grepl <- base::grepl [18:01:56.012] restarts <- computeRestarts(cond) [18:01:56.012] for (restart in restarts) { [18:01:56.012] name <- restart$name [18:01:56.012] if (is.null(name)) [18:01:56.012] next [18:01:56.012] if (!grepl(pattern, name)) [18:01:56.012] next [18:01:56.012] invokeRestart(restart) [18:01:56.012] muffled <- TRUE [18:01:56.012] break [18:01:56.012] } [18:01:56.012] } [18:01:56.012] } [18:01:56.012] invisible(muffled) [18:01:56.012] } [18:01:56.012] muffleCondition(cond, pattern = "^muffle") [18:01:56.012] } [18:01:56.012] } [18:01:56.012] else { [18:01:56.012] if (TRUE) { [18:01:56.012] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.012] { [18:01:56.012] inherits <- base::inherits [18:01:56.012] invokeRestart <- base::invokeRestart [18:01:56.012] is.null <- base::is.null [18:01:56.012] muffled <- FALSE [18:01:56.012] if (inherits(cond, "message")) { [18:01:56.012] muffled <- grepl(pattern, "muffleMessage") [18:01:56.012] if (muffled) [18:01:56.012] invokeRestart("muffleMessage") [18:01:56.012] } [18:01:56.012] else if (inherits(cond, "warning")) { [18:01:56.012] muffled <- grepl(pattern, "muffleWarning") [18:01:56.012] if (muffled) [18:01:56.012] invokeRestart("muffleWarning") [18:01:56.012] } [18:01:56.012] else if (inherits(cond, "condition")) { [18:01:56.012] if (!is.null(pattern)) { [18:01:56.012] computeRestarts <- base::computeRestarts [18:01:56.012] grepl <- base::grepl [18:01:56.012] restarts <- computeRestarts(cond) [18:01:56.012] for (restart in restarts) { [18:01:56.012] name <- restart$name [18:01:56.012] if (is.null(name)) [18:01:56.012] next [18:01:56.012] if (!grepl(pattern, name)) [18:01:56.012] next [18:01:56.012] invokeRestart(restart) [18:01:56.012] muffled <- TRUE [18:01:56.012] break [18:01:56.012] } [18:01:56.012] } [18:01:56.012] } [18:01:56.012] invisible(muffled) [18:01:56.012] } [18:01:56.012] muffleCondition(cond, pattern = "^muffle") [18:01:56.012] } [18:01:56.012] } [18:01:56.012] } [18:01:56.012] })) [18:01:56.012] }, error = function(ex) { [18:01:56.012] base::structure(base::list(value = NULL, visible = NULL, [18:01:56.012] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.012] ...future.rng), started = ...future.startTime, [18:01:56.012] finished = Sys.time(), session_uuid = NA_character_, [18:01:56.012] version = "1.8"), class = "FutureResult") [18:01:56.012] }, finally = { [18:01:56.012] if (!identical(...future.workdir, getwd())) [18:01:56.012] setwd(...future.workdir) [18:01:56.012] { [18:01:56.012] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:56.012] ...future.oldOptions$nwarnings <- NULL [18:01:56.012] } [18:01:56.012] base::options(...future.oldOptions) [18:01:56.012] if (.Platform$OS.type == "windows") { [18:01:56.012] old_names <- names(...future.oldEnvVars) [18:01:56.012] envs <- base::Sys.getenv() [18:01:56.012] names <- names(envs) [18:01:56.012] common <- intersect(names, old_names) [18:01:56.012] added <- setdiff(names, old_names) [18:01:56.012] removed <- setdiff(old_names, names) [18:01:56.012] changed <- common[...future.oldEnvVars[common] != [18:01:56.012] envs[common]] [18:01:56.012] NAMES <- toupper(changed) [18:01:56.012] args <- list() [18:01:56.012] for (kk in seq_along(NAMES)) { [18:01:56.012] name <- changed[[kk]] [18:01:56.012] NAME <- NAMES[[kk]] [18:01:56.012] if (name != NAME && is.element(NAME, old_names)) [18:01:56.012] next [18:01:56.012] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.012] } [18:01:56.012] NAMES <- toupper(added) [18:01:56.012] for (kk in seq_along(NAMES)) { [18:01:56.012] name <- added[[kk]] [18:01:56.012] NAME <- NAMES[[kk]] [18:01:56.012] if (name != NAME && is.element(NAME, old_names)) [18:01:56.012] next [18:01:56.012] args[[name]] <- "" [18:01:56.012] } [18:01:56.012] NAMES <- toupper(removed) [18:01:56.012] for (kk in seq_along(NAMES)) { [18:01:56.012] name <- removed[[kk]] [18:01:56.012] NAME <- NAMES[[kk]] [18:01:56.012] if (name != NAME && is.element(NAME, old_names)) [18:01:56.012] next [18:01:56.012] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.012] } [18:01:56.012] if (length(args) > 0) [18:01:56.012] base::do.call(base::Sys.setenv, args = args) [18:01:56.012] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:56.012] } [18:01:56.012] else { [18:01:56.012] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:56.012] } [18:01:56.012] { [18:01:56.012] if (base::length(...future.futureOptionsAdded) > [18:01:56.012] 0L) { [18:01:56.012] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:56.012] base::names(opts) <- ...future.futureOptionsAdded [18:01:56.012] base::options(opts) [18:01:56.012] } [18:01:56.012] { [18:01:56.012] { [18:01:56.012] NULL [18:01:56.012] RNGkind("Mersenne-Twister") [18:01:56.012] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:56.012] inherits = FALSE) [18:01:56.012] } [18:01:56.012] options(future.plan = NULL) [18:01:56.012] if (is.na(NA_character_)) [18:01:56.012] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.012] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:56.012] future::plan(list(function (..., envir = parent.frame()) [18:01:56.012] { [18:01:56.012] future <- SequentialFuture(..., envir = envir) [18:01:56.012] if (!future$lazy) [18:01:56.012] future <- run(future) [18:01:56.012] invisible(future) [18:01:56.012] }), .cleanup = FALSE, .init = FALSE) [18:01:56.012] } [18:01:56.012] } [18:01:56.012] } [18:01:56.012] }) [18:01:56.012] if (TRUE) { [18:01:56.012] base::sink(type = "output", split = FALSE) [18:01:56.012] if (TRUE) { [18:01:56.012] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:56.012] } [18:01:56.012] else { [18:01:56.012] ...future.result["stdout"] <- base::list(NULL) [18:01:56.012] } [18:01:56.012] base::close(...future.stdout) [18:01:56.012] ...future.stdout <- NULL [18:01:56.012] } [18:01:56.012] ...future.result$conditions <- ...future.conditions [18:01:56.012] ...future.result$finished <- base::Sys.time() [18:01:56.012] ...future.result [18:01:56.012] } [18:01:56.016] assign_globals() ... [18:01:56.017] List of 1 [18:01:56.017] $ x: list() [18:01:56.017] - attr(*, "where")=List of 1 [18:01:56.017] ..$ x: [18:01:56.017] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:56.017] - attr(*, "resolved")= logi TRUE [18:01:56.017] - attr(*, "total_size")= num 0 [18:01:56.017] - attr(*, "already-done")= logi TRUE [18:01:56.020] - copied 'x' to environment [18:01:56.020] assign_globals() ... done [18:01:56.021] plan(): Setting new future strategy stack: [18:01:56.021] List of future strategies: [18:01:56.021] 1. sequential: [18:01:56.021] - args: function (..., envir = parent.frame()) [18:01:56.021] - tweaked: FALSE [18:01:56.021] - call: NULL [18:01:56.021] plan(): nbrOfWorkers() = 1 [18:01:56.022] plan(): Setting new future strategy stack: [18:01:56.023] List of future strategies: [18:01:56.023] 1. sequential: [18:01:56.023] - args: function (..., envir = parent.frame()) [18:01:56.023] - tweaked: FALSE [18:01:56.023] - call: plan(strategy) [18:01:56.023] plan(): nbrOfWorkers() = 1 [18:01:56.023] SequentialFuture started (and completed) [18:01:56.024] - Launch lazy future ... done [18:01:56.024] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:56.024] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:56.025] Searching for globals... [18:01:56.027] - globals found: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:56.027] Searching for globals ... DONE [18:01:56.028] Resolving globals: TRUE [18:01:56.028] Resolving any globals that are futures ... [18:01:56.028] - globals: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:56.028] Resolving any globals that are futures ... DONE [18:01:56.029] Resolving futures part of globals (recursively) ... [18:01:56.029] resolve() on list ... [18:01:56.029] recursive: 99 [18:01:56.029] length: 1 [18:01:56.029] elements: 'x' [18:01:56.030] length: 0 (resolved future 1) [18:01:56.030] resolve() on list ... DONE [18:01:56.030] - globals: [1] 'x' [18:01:56.030] Resolving futures part of globals (recursively) ... DONE [18:01:56.030] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:56.031] The total size of the 1 globals exported for future expression ('{; x["a"] <- list(1); x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:56.031] - globals: [1] 'x' [18:01:56.031] [18:01:56.031] getGlobalsAndPackages() ... DONE [18:01:56.032] run() for 'Future' ... [18:01:56.032] - state: 'created' [18:01:56.032] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:56.032] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:56.033] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:56.033] - Field: 'label' [18:01:56.033] - Field: 'local' [18:01:56.033] - Field: 'owner' [18:01:56.033] - Field: 'envir' [18:01:56.033] - Field: 'packages' [18:01:56.034] - Field: 'gc' [18:01:56.034] - Field: 'conditions' [18:01:56.034] - Field: 'expr' [18:01:56.034] - Field: 'uuid' [18:01:56.034] - Field: 'seed' [18:01:56.034] - Field: 'version' [18:01:56.035] - Field: 'result' [18:01:56.035] - Field: 'asynchronous' [18:01:56.035] - Field: 'calls' [18:01:56.035] - Field: 'globals' [18:01:56.035] - Field: 'stdout' [18:01:56.036] - Field: 'earlySignal' [18:01:56.036] - Field: 'lazy' [18:01:56.036] - Field: 'state' [18:01:56.036] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:56.036] - Launch lazy future ... [18:01:56.037] Packages needed by the future expression (n = 0): [18:01:56.037] Packages needed by future strategies (n = 0): [18:01:56.037] { [18:01:56.037] { [18:01:56.037] { [18:01:56.037] ...future.startTime <- base::Sys.time() [18:01:56.037] { [18:01:56.037] { [18:01:56.037] { [18:01:56.037] base::local({ [18:01:56.037] has_future <- base::requireNamespace("future", [18:01:56.037] quietly = TRUE) [18:01:56.037] if (has_future) { [18:01:56.037] ns <- base::getNamespace("future") [18:01:56.037] version <- ns[[".package"]][["version"]] [18:01:56.037] if (is.null(version)) [18:01:56.037] version <- utils::packageVersion("future") [18:01:56.037] } [18:01:56.037] else { [18:01:56.037] version <- NULL [18:01:56.037] } [18:01:56.037] if (!has_future || version < "1.8.0") { [18:01:56.037] info <- base::c(r_version = base::gsub("R version ", [18:01:56.037] "", base::R.version$version.string), [18:01:56.037] platform = base::sprintf("%s (%s-bit)", [18:01:56.037] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:56.037] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:56.037] "release", "version")], collapse = " "), [18:01:56.037] hostname = base::Sys.info()[["nodename"]]) [18:01:56.037] info <- base::sprintf("%s: %s", base::names(info), [18:01:56.037] info) [18:01:56.037] info <- base::paste(info, collapse = "; ") [18:01:56.037] if (!has_future) { [18:01:56.037] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:56.037] info) [18:01:56.037] } [18:01:56.037] else { [18:01:56.037] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:56.037] info, version) [18:01:56.037] } [18:01:56.037] base::stop(msg) [18:01:56.037] } [18:01:56.037] }) [18:01:56.037] } [18:01:56.037] options(future.plan = NULL) [18:01:56.037] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.037] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:56.037] } [18:01:56.037] ...future.workdir <- getwd() [18:01:56.037] } [18:01:56.037] ...future.oldOptions <- base::as.list(base::.Options) [18:01:56.037] ...future.oldEnvVars <- base::Sys.getenv() [18:01:56.037] } [18:01:56.037] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:56.037] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:56.037] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:56.037] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:56.037] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:56.037] future.stdout.windows.reencode = NULL, width = 80L) [18:01:56.037] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:56.037] base::names(...future.oldOptions)) [18:01:56.037] } [18:01:56.037] if (FALSE) { [18:01:56.037] } [18:01:56.037] else { [18:01:56.037] if (TRUE) { [18:01:56.037] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:56.037] open = "w") [18:01:56.037] } [18:01:56.037] else { [18:01:56.037] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:56.037] windows = "NUL", "/dev/null"), open = "w") [18:01:56.037] } [18:01:56.037] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:56.037] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:56.037] base::sink(type = "output", split = FALSE) [18:01:56.037] base::close(...future.stdout) [18:01:56.037] }, add = TRUE) [18:01:56.037] } [18:01:56.037] ...future.frame <- base::sys.nframe() [18:01:56.037] ...future.conditions <- base::list() [18:01:56.037] ...future.rng <- base::globalenv()$.Random.seed [18:01:56.037] if (FALSE) { [18:01:56.037] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:56.037] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:56.037] } [18:01:56.037] ...future.result <- base::tryCatch({ [18:01:56.037] base::withCallingHandlers({ [18:01:56.037] ...future.value <- base::withVisible(base::local({ [18:01:56.037] x["a"] <- list(1) [18:01:56.037] x [18:01:56.037] })) [18:01:56.037] future::FutureResult(value = ...future.value$value, [18:01:56.037] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.037] ...future.rng), globalenv = if (FALSE) [18:01:56.037] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:56.037] ...future.globalenv.names)) [18:01:56.037] else NULL, started = ...future.startTime, version = "1.8") [18:01:56.037] }, condition = base::local({ [18:01:56.037] c <- base::c [18:01:56.037] inherits <- base::inherits [18:01:56.037] invokeRestart <- base::invokeRestart [18:01:56.037] length <- base::length [18:01:56.037] list <- base::list [18:01:56.037] seq.int <- base::seq.int [18:01:56.037] signalCondition <- base::signalCondition [18:01:56.037] sys.calls <- base::sys.calls [18:01:56.037] `[[` <- base::`[[` [18:01:56.037] `+` <- base::`+` [18:01:56.037] `<<-` <- base::`<<-` [18:01:56.037] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:56.037] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:56.037] 3L)] [18:01:56.037] } [18:01:56.037] function(cond) { [18:01:56.037] is_error <- inherits(cond, "error") [18:01:56.037] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:56.037] NULL) [18:01:56.037] if (is_error) { [18:01:56.037] sessionInformation <- function() { [18:01:56.037] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:56.037] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:56.037] search = base::search(), system = base::Sys.info()) [18:01:56.037] } [18:01:56.037] ...future.conditions[[length(...future.conditions) + [18:01:56.037] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:56.037] cond$call), session = sessionInformation(), [18:01:56.037] timestamp = base::Sys.time(), signaled = 0L) [18:01:56.037] signalCondition(cond) [18:01:56.037] } [18:01:56.037] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:56.037] "immediateCondition"))) { [18:01:56.037] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:56.037] ...future.conditions[[length(...future.conditions) + [18:01:56.037] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:56.037] if (TRUE && !signal) { [18:01:56.037] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.037] { [18:01:56.037] inherits <- base::inherits [18:01:56.037] invokeRestart <- base::invokeRestart [18:01:56.037] is.null <- base::is.null [18:01:56.037] muffled <- FALSE [18:01:56.037] if (inherits(cond, "message")) { [18:01:56.037] muffled <- grepl(pattern, "muffleMessage") [18:01:56.037] if (muffled) [18:01:56.037] invokeRestart("muffleMessage") [18:01:56.037] } [18:01:56.037] else if (inherits(cond, "warning")) { [18:01:56.037] muffled <- grepl(pattern, "muffleWarning") [18:01:56.037] if (muffled) [18:01:56.037] invokeRestart("muffleWarning") [18:01:56.037] } [18:01:56.037] else if (inherits(cond, "condition")) { [18:01:56.037] if (!is.null(pattern)) { [18:01:56.037] computeRestarts <- base::computeRestarts [18:01:56.037] grepl <- base::grepl [18:01:56.037] restarts <- computeRestarts(cond) [18:01:56.037] for (restart in restarts) { [18:01:56.037] name <- restart$name [18:01:56.037] if (is.null(name)) [18:01:56.037] next [18:01:56.037] if (!grepl(pattern, name)) [18:01:56.037] next [18:01:56.037] invokeRestart(restart) [18:01:56.037] muffled <- TRUE [18:01:56.037] break [18:01:56.037] } [18:01:56.037] } [18:01:56.037] } [18:01:56.037] invisible(muffled) [18:01:56.037] } [18:01:56.037] muffleCondition(cond, pattern = "^muffle") [18:01:56.037] } [18:01:56.037] } [18:01:56.037] else { [18:01:56.037] if (TRUE) { [18:01:56.037] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.037] { [18:01:56.037] inherits <- base::inherits [18:01:56.037] invokeRestart <- base::invokeRestart [18:01:56.037] is.null <- base::is.null [18:01:56.037] muffled <- FALSE [18:01:56.037] if (inherits(cond, "message")) { [18:01:56.037] muffled <- grepl(pattern, "muffleMessage") [18:01:56.037] if (muffled) [18:01:56.037] invokeRestart("muffleMessage") [18:01:56.037] } [18:01:56.037] else if (inherits(cond, "warning")) { [18:01:56.037] muffled <- grepl(pattern, "muffleWarning") [18:01:56.037] if (muffled) [18:01:56.037] invokeRestart("muffleWarning") [18:01:56.037] } [18:01:56.037] else if (inherits(cond, "condition")) { [18:01:56.037] if (!is.null(pattern)) { [18:01:56.037] computeRestarts <- base::computeRestarts [18:01:56.037] grepl <- base::grepl [18:01:56.037] restarts <- computeRestarts(cond) [18:01:56.037] for (restart in restarts) { [18:01:56.037] name <- restart$name [18:01:56.037] if (is.null(name)) [18:01:56.037] next [18:01:56.037] if (!grepl(pattern, name)) [18:01:56.037] next [18:01:56.037] invokeRestart(restart) [18:01:56.037] muffled <- TRUE [18:01:56.037] break [18:01:56.037] } [18:01:56.037] } [18:01:56.037] } [18:01:56.037] invisible(muffled) [18:01:56.037] } [18:01:56.037] muffleCondition(cond, pattern = "^muffle") [18:01:56.037] } [18:01:56.037] } [18:01:56.037] } [18:01:56.037] })) [18:01:56.037] }, error = function(ex) { [18:01:56.037] base::structure(base::list(value = NULL, visible = NULL, [18:01:56.037] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.037] ...future.rng), started = ...future.startTime, [18:01:56.037] finished = Sys.time(), session_uuid = NA_character_, [18:01:56.037] version = "1.8"), class = "FutureResult") [18:01:56.037] }, finally = { [18:01:56.037] if (!identical(...future.workdir, getwd())) [18:01:56.037] setwd(...future.workdir) [18:01:56.037] { [18:01:56.037] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:56.037] ...future.oldOptions$nwarnings <- NULL [18:01:56.037] } [18:01:56.037] base::options(...future.oldOptions) [18:01:56.037] if (.Platform$OS.type == "windows") { [18:01:56.037] old_names <- names(...future.oldEnvVars) [18:01:56.037] envs <- base::Sys.getenv() [18:01:56.037] names <- names(envs) [18:01:56.037] common <- intersect(names, old_names) [18:01:56.037] added <- setdiff(names, old_names) [18:01:56.037] removed <- setdiff(old_names, names) [18:01:56.037] changed <- common[...future.oldEnvVars[common] != [18:01:56.037] envs[common]] [18:01:56.037] NAMES <- toupper(changed) [18:01:56.037] args <- list() [18:01:56.037] for (kk in seq_along(NAMES)) { [18:01:56.037] name <- changed[[kk]] [18:01:56.037] NAME <- NAMES[[kk]] [18:01:56.037] if (name != NAME && is.element(NAME, old_names)) [18:01:56.037] next [18:01:56.037] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.037] } [18:01:56.037] NAMES <- toupper(added) [18:01:56.037] for (kk in seq_along(NAMES)) { [18:01:56.037] name <- added[[kk]] [18:01:56.037] NAME <- NAMES[[kk]] [18:01:56.037] if (name != NAME && is.element(NAME, old_names)) [18:01:56.037] next [18:01:56.037] args[[name]] <- "" [18:01:56.037] } [18:01:56.037] NAMES <- toupper(removed) [18:01:56.037] for (kk in seq_along(NAMES)) { [18:01:56.037] name <- removed[[kk]] [18:01:56.037] NAME <- NAMES[[kk]] [18:01:56.037] if (name != NAME && is.element(NAME, old_names)) [18:01:56.037] next [18:01:56.037] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.037] } [18:01:56.037] if (length(args) > 0) [18:01:56.037] base::do.call(base::Sys.setenv, args = args) [18:01:56.037] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:56.037] } [18:01:56.037] else { [18:01:56.037] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:56.037] } [18:01:56.037] { [18:01:56.037] if (base::length(...future.futureOptionsAdded) > [18:01:56.037] 0L) { [18:01:56.037] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:56.037] base::names(opts) <- ...future.futureOptionsAdded [18:01:56.037] base::options(opts) [18:01:56.037] } [18:01:56.037] { [18:01:56.037] { [18:01:56.037] NULL [18:01:56.037] RNGkind("Mersenne-Twister") [18:01:56.037] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:56.037] inherits = FALSE) [18:01:56.037] } [18:01:56.037] options(future.plan = NULL) [18:01:56.037] if (is.na(NA_character_)) [18:01:56.037] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.037] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:56.037] future::plan(list(function (..., envir = parent.frame()) [18:01:56.037] { [18:01:56.037] future <- SequentialFuture(..., envir = envir) [18:01:56.037] if (!future$lazy) [18:01:56.037] future <- run(future) [18:01:56.037] invisible(future) [18:01:56.037] }), .cleanup = FALSE, .init = FALSE) [18:01:56.037] } [18:01:56.037] } [18:01:56.037] } [18:01:56.037] }) [18:01:56.037] if (TRUE) { [18:01:56.037] base::sink(type = "output", split = FALSE) [18:01:56.037] if (TRUE) { [18:01:56.037] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:56.037] } [18:01:56.037] else { [18:01:56.037] ...future.result["stdout"] <- base::list(NULL) [18:01:56.037] } [18:01:56.037] base::close(...future.stdout) [18:01:56.037] ...future.stdout <- NULL [18:01:56.037] } [18:01:56.037] ...future.result$conditions <- ...future.conditions [18:01:56.037] ...future.result$finished <- base::Sys.time() [18:01:56.037] ...future.result [18:01:56.037] } [18:01:56.041] assign_globals() ... [18:01:56.041] List of 1 [18:01:56.041] $ x: list() [18:01:56.041] - attr(*, "where")=List of 1 [18:01:56.041] ..$ x: [18:01:56.041] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:56.041] - attr(*, "resolved")= logi TRUE [18:01:56.041] - attr(*, "total_size")= num 0 [18:01:56.041] - attr(*, "already-done")= logi TRUE [18:01:56.044] - copied 'x' to environment [18:01:56.044] assign_globals() ... done [18:01:56.045] plan(): Setting new future strategy stack: [18:01:56.045] List of future strategies: [18:01:56.045] 1. sequential: [18:01:56.045] - args: function (..., envir = parent.frame()) [18:01:56.045] - tweaked: FALSE [18:01:56.045] - call: NULL [18:01:56.045] plan(): nbrOfWorkers() = 1 [18:01:56.046] plan(): Setting new future strategy stack: [18:01:56.046] List of future strategies: [18:01:56.046] 1. sequential: [18:01:56.046] - args: function (..., envir = parent.frame()) [18:01:56.046] - tweaked: FALSE [18:01:56.046] - call: plan(strategy) [18:01:56.047] plan(): nbrOfWorkers() = 1 [18:01:56.047] SequentialFuture started (and completed) [18:01:56.047] - Launch lazy future ... done [18:01:56.048] run() for 'SequentialFuture' ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:56.048] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:56.049] Searching for globals... [18:01:56.052] - globals found: [7] '{', 'x', '<-', '[', 'name', '[<-', 'list' [18:01:56.052] Searching for globals ... DONE [18:01:56.052] Resolving globals: TRUE [18:01:56.053] Resolving any globals that are futures ... [18:01:56.053] - globals: [7] '{', 'x', '<-', '[', 'name', '[<-', 'list' [18:01:56.053] Resolving any globals that are futures ... DONE [18:01:56.053] Resolving futures part of globals (recursively) ... [18:01:56.054] resolve() on list ... [18:01:56.054] recursive: 99 [18:01:56.054] length: 2 [18:01:56.054] elements: 'x', 'name' [18:01:56.055] length: 1 (resolved future 1) [18:01:56.055] length: 0 (resolved future 2) [18:01:56.055] resolve() on list ... DONE [18:01:56.055] - globals: [2] 'x', 'name' [18:01:56.055] Resolving futures part of globals (recursively) ... DONE [18:01:56.056] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:56.056] The total size of the 2 globals exported for future expression ('{; x[name] <- list(1); x; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'name' (112 bytes of class 'character') and 'x' (0 bytes of class 'list') [18:01:56.056] - globals: [2] 'x', 'name' [18:01:56.057] [18:01:56.057] getGlobalsAndPackages() ... DONE [18:01:56.057] run() for 'Future' ... [18:01:56.057] - state: 'created' [18:01:56.057] - Future backend: 'FutureStrategy', 'sequential', 'uniprocess', 'future', 'function' [18:01:56.058] - Future class: 'SequentialFuture', 'UniprocessFuture', 'Future', 'environment' [18:01:56.058] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... [18:01:56.058] - Field: 'label' [18:01:56.058] - Field: 'local' [18:01:56.058] - Field: 'owner' [18:01:56.059] - Field: 'envir' [18:01:56.059] - Field: 'packages' [18:01:56.059] - Field: 'gc' [18:01:56.059] - Field: 'conditions' [18:01:56.059] - Field: 'expr' [18:01:56.059] - Field: 'uuid' [18:01:56.060] - Field: 'seed' [18:01:56.060] - Field: 'version' [18:01:56.060] - Field: 'result' [18:01:56.060] - Field: 'asynchronous' [18:01:56.060] - Field: 'calls' [18:01:56.061] - Field: 'globals' [18:01:56.061] - Field: 'stdout' [18:01:56.061] - Field: 'earlySignal' [18:01:56.061] - Field: 'lazy' [18:01:56.061] - Field: 'state' [18:01:56.061] - Copy elements of temporary 'SequentialFuture' to final 'Future' object ... done [18:01:56.062] - Launch lazy future ... [18:01:56.062] Packages needed by the future expression (n = 0): [18:01:56.062] Packages needed by future strategies (n = 0): [18:01:56.063] { [18:01:56.063] { [18:01:56.063] { [18:01:56.063] ...future.startTime <- base::Sys.time() [18:01:56.063] { [18:01:56.063] { [18:01:56.063] { [18:01:56.063] base::local({ [18:01:56.063] has_future <- base::requireNamespace("future", [18:01:56.063] quietly = TRUE) [18:01:56.063] if (has_future) { [18:01:56.063] ns <- base::getNamespace("future") [18:01:56.063] version <- ns[[".package"]][["version"]] [18:01:56.063] if (is.null(version)) [18:01:56.063] version <- utils::packageVersion("future") [18:01:56.063] } [18:01:56.063] else { [18:01:56.063] version <- NULL [18:01:56.063] } [18:01:56.063] if (!has_future || version < "1.8.0") { [18:01:56.063] info <- base::c(r_version = base::gsub("R version ", [18:01:56.063] "", base::R.version$version.string), [18:01:56.063] platform = base::sprintf("%s (%s-bit)", [18:01:56.063] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:56.063] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:56.063] "release", "version")], collapse = " "), [18:01:56.063] hostname = base::Sys.info()[["nodename"]]) [18:01:56.063] info <- base::sprintf("%s: %s", base::names(info), [18:01:56.063] info) [18:01:56.063] info <- base::paste(info, collapse = "; ") [18:01:56.063] if (!has_future) { [18:01:56.063] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:56.063] info) [18:01:56.063] } [18:01:56.063] else { [18:01:56.063] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:56.063] info, version) [18:01:56.063] } [18:01:56.063] base::stop(msg) [18:01:56.063] } [18:01:56.063] }) [18:01:56.063] } [18:01:56.063] options(future.plan = NULL) [18:01:56.063] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.063] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:56.063] } [18:01:56.063] ...future.workdir <- getwd() [18:01:56.063] } [18:01:56.063] ...future.oldOptions <- base::as.list(base::.Options) [18:01:56.063] ...future.oldEnvVars <- base::Sys.getenv() [18:01:56.063] } [18:01:56.063] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:56.063] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:56.063] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:56.063] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:56.063] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:56.063] future.stdout.windows.reencode = NULL, width = 80L) [18:01:56.063] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:56.063] base::names(...future.oldOptions)) [18:01:56.063] } [18:01:56.063] if (FALSE) { [18:01:56.063] } [18:01:56.063] else { [18:01:56.063] if (TRUE) { [18:01:56.063] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:56.063] open = "w") [18:01:56.063] } [18:01:56.063] else { [18:01:56.063] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:56.063] windows = "NUL", "/dev/null"), open = "w") [18:01:56.063] } [18:01:56.063] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:56.063] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:56.063] base::sink(type = "output", split = FALSE) [18:01:56.063] base::close(...future.stdout) [18:01:56.063] }, add = TRUE) [18:01:56.063] } [18:01:56.063] ...future.frame <- base::sys.nframe() [18:01:56.063] ...future.conditions <- base::list() [18:01:56.063] ...future.rng <- base::globalenv()$.Random.seed [18:01:56.063] if (FALSE) { [18:01:56.063] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:56.063] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:56.063] } [18:01:56.063] ...future.result <- base::tryCatch({ [18:01:56.063] base::withCallingHandlers({ [18:01:56.063] ...future.value <- base::withVisible(base::local({ [18:01:56.063] x[name] <- list(1) [18:01:56.063] x [18:01:56.063] })) [18:01:56.063] future::FutureResult(value = ...future.value$value, [18:01:56.063] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.063] ...future.rng), globalenv = if (FALSE) [18:01:56.063] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:56.063] ...future.globalenv.names)) [18:01:56.063] else NULL, started = ...future.startTime, version = "1.8") [18:01:56.063] }, condition = base::local({ [18:01:56.063] c <- base::c [18:01:56.063] inherits <- base::inherits [18:01:56.063] invokeRestart <- base::invokeRestart [18:01:56.063] length <- base::length [18:01:56.063] list <- base::list [18:01:56.063] seq.int <- base::seq.int [18:01:56.063] signalCondition <- base::signalCondition [18:01:56.063] sys.calls <- base::sys.calls [18:01:56.063] `[[` <- base::`[[` [18:01:56.063] `+` <- base::`+` [18:01:56.063] `<<-` <- base::`<<-` [18:01:56.063] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:56.063] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:56.063] 3L)] [18:01:56.063] } [18:01:56.063] function(cond) { [18:01:56.063] is_error <- inherits(cond, "error") [18:01:56.063] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:56.063] NULL) [18:01:56.063] if (is_error) { [18:01:56.063] sessionInformation <- function() { [18:01:56.063] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:56.063] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:56.063] search = base::search(), system = base::Sys.info()) [18:01:56.063] } [18:01:56.063] ...future.conditions[[length(...future.conditions) + [18:01:56.063] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:56.063] cond$call), session = sessionInformation(), [18:01:56.063] timestamp = base::Sys.time(), signaled = 0L) [18:01:56.063] signalCondition(cond) [18:01:56.063] } [18:01:56.063] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:56.063] "immediateCondition"))) { [18:01:56.063] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:56.063] ...future.conditions[[length(...future.conditions) + [18:01:56.063] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:56.063] if (TRUE && !signal) { [18:01:56.063] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.063] { [18:01:56.063] inherits <- base::inherits [18:01:56.063] invokeRestart <- base::invokeRestart [18:01:56.063] is.null <- base::is.null [18:01:56.063] muffled <- FALSE [18:01:56.063] if (inherits(cond, "message")) { [18:01:56.063] muffled <- grepl(pattern, "muffleMessage") [18:01:56.063] if (muffled) [18:01:56.063] invokeRestart("muffleMessage") [18:01:56.063] } [18:01:56.063] else if (inherits(cond, "warning")) { [18:01:56.063] muffled <- grepl(pattern, "muffleWarning") [18:01:56.063] if (muffled) [18:01:56.063] invokeRestart("muffleWarning") [18:01:56.063] } [18:01:56.063] else if (inherits(cond, "condition")) { [18:01:56.063] if (!is.null(pattern)) { [18:01:56.063] computeRestarts <- base::computeRestarts [18:01:56.063] grepl <- base::grepl [18:01:56.063] restarts <- computeRestarts(cond) [18:01:56.063] for (restart in restarts) { [18:01:56.063] name <- restart$name [18:01:56.063] if (is.null(name)) [18:01:56.063] next [18:01:56.063] if (!grepl(pattern, name)) [18:01:56.063] next [18:01:56.063] invokeRestart(restart) [18:01:56.063] muffled <- TRUE [18:01:56.063] break [18:01:56.063] } [18:01:56.063] } [18:01:56.063] } [18:01:56.063] invisible(muffled) [18:01:56.063] } [18:01:56.063] muffleCondition(cond, pattern = "^muffle") [18:01:56.063] } [18:01:56.063] } [18:01:56.063] else { [18:01:56.063] if (TRUE) { [18:01:56.063] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.063] { [18:01:56.063] inherits <- base::inherits [18:01:56.063] invokeRestart <- base::invokeRestart [18:01:56.063] is.null <- base::is.null [18:01:56.063] muffled <- FALSE [18:01:56.063] if (inherits(cond, "message")) { [18:01:56.063] muffled <- grepl(pattern, "muffleMessage") [18:01:56.063] if (muffled) [18:01:56.063] invokeRestart("muffleMessage") [18:01:56.063] } [18:01:56.063] else if (inherits(cond, "warning")) { [18:01:56.063] muffled <- grepl(pattern, "muffleWarning") [18:01:56.063] if (muffled) [18:01:56.063] invokeRestart("muffleWarning") [18:01:56.063] } [18:01:56.063] else if (inherits(cond, "condition")) { [18:01:56.063] if (!is.null(pattern)) { [18:01:56.063] computeRestarts <- base::computeRestarts [18:01:56.063] grepl <- base::grepl [18:01:56.063] restarts <- computeRestarts(cond) [18:01:56.063] for (restart in restarts) { [18:01:56.063] name <- restart$name [18:01:56.063] if (is.null(name)) [18:01:56.063] next [18:01:56.063] if (!grepl(pattern, name)) [18:01:56.063] next [18:01:56.063] invokeRestart(restart) [18:01:56.063] muffled <- TRUE [18:01:56.063] break [18:01:56.063] } [18:01:56.063] } [18:01:56.063] } [18:01:56.063] invisible(muffled) [18:01:56.063] } [18:01:56.063] muffleCondition(cond, pattern = "^muffle") [18:01:56.063] } [18:01:56.063] } [18:01:56.063] } [18:01:56.063] })) [18:01:56.063] }, error = function(ex) { [18:01:56.063] base::structure(base::list(value = NULL, visible = NULL, [18:01:56.063] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.063] ...future.rng), started = ...future.startTime, [18:01:56.063] finished = Sys.time(), session_uuid = NA_character_, [18:01:56.063] version = "1.8"), class = "FutureResult") [18:01:56.063] }, finally = { [18:01:56.063] if (!identical(...future.workdir, getwd())) [18:01:56.063] setwd(...future.workdir) [18:01:56.063] { [18:01:56.063] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:56.063] ...future.oldOptions$nwarnings <- NULL [18:01:56.063] } [18:01:56.063] base::options(...future.oldOptions) [18:01:56.063] if (.Platform$OS.type == "windows") { [18:01:56.063] old_names <- names(...future.oldEnvVars) [18:01:56.063] envs <- base::Sys.getenv() [18:01:56.063] names <- names(envs) [18:01:56.063] common <- intersect(names, old_names) [18:01:56.063] added <- setdiff(names, old_names) [18:01:56.063] removed <- setdiff(old_names, names) [18:01:56.063] changed <- common[...future.oldEnvVars[common] != [18:01:56.063] envs[common]] [18:01:56.063] NAMES <- toupper(changed) [18:01:56.063] args <- list() [18:01:56.063] for (kk in seq_along(NAMES)) { [18:01:56.063] name <- changed[[kk]] [18:01:56.063] NAME <- NAMES[[kk]] [18:01:56.063] if (name != NAME && is.element(NAME, old_names)) [18:01:56.063] next [18:01:56.063] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.063] } [18:01:56.063] NAMES <- toupper(added) [18:01:56.063] for (kk in seq_along(NAMES)) { [18:01:56.063] name <- added[[kk]] [18:01:56.063] NAME <- NAMES[[kk]] [18:01:56.063] if (name != NAME && is.element(NAME, old_names)) [18:01:56.063] next [18:01:56.063] args[[name]] <- "" [18:01:56.063] } [18:01:56.063] NAMES <- toupper(removed) [18:01:56.063] for (kk in seq_along(NAMES)) { [18:01:56.063] name <- removed[[kk]] [18:01:56.063] NAME <- NAMES[[kk]] [18:01:56.063] if (name != NAME && is.element(NAME, old_names)) [18:01:56.063] next [18:01:56.063] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.063] } [18:01:56.063] if (length(args) > 0) [18:01:56.063] base::do.call(base::Sys.setenv, args = args) [18:01:56.063] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:56.063] } [18:01:56.063] else { [18:01:56.063] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:56.063] } [18:01:56.063] { [18:01:56.063] if (base::length(...future.futureOptionsAdded) > [18:01:56.063] 0L) { [18:01:56.063] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:56.063] base::names(opts) <- ...future.futureOptionsAdded [18:01:56.063] base::options(opts) [18:01:56.063] } [18:01:56.063] { [18:01:56.063] { [18:01:56.063] NULL [18:01:56.063] RNGkind("Mersenne-Twister") [18:01:56.063] base::rm(list = ".Random.seed", envir = base::globalenv(), [18:01:56.063] inherits = FALSE) [18:01:56.063] } [18:01:56.063] options(future.plan = NULL) [18:01:56.063] if (is.na(NA_character_)) [18:01:56.063] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.063] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:56.063] future::plan(list(function (..., envir = parent.frame()) [18:01:56.063] { [18:01:56.063] future <- SequentialFuture(..., envir = envir) [18:01:56.063] if (!future$lazy) [18:01:56.063] future <- run(future) [18:01:56.063] invisible(future) [18:01:56.063] }), .cleanup = FALSE, .init = FALSE) [18:01:56.063] } [18:01:56.063] } [18:01:56.063] } [18:01:56.063] }) [18:01:56.063] if (TRUE) { [18:01:56.063] base::sink(type = "output", split = FALSE) [18:01:56.063] if (TRUE) { [18:01:56.063] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:56.063] } [18:01:56.063] else { [18:01:56.063] ...future.result["stdout"] <- base::list(NULL) [18:01:56.063] } [18:01:56.063] base::close(...future.stdout) [18:01:56.063] ...future.stdout <- NULL [18:01:56.063] } [18:01:56.063] ...future.result$conditions <- ...future.conditions [18:01:56.063] ...future.result$finished <- base::Sys.time() [18:01:56.063] ...future.result [18:01:56.063] } [18:01:56.066] assign_globals() ... [18:01:56.066] List of 2 [18:01:56.066] $ x : list() [18:01:56.066] $ name: chr "a" [18:01:56.066] - attr(*, "where")=List of 2 [18:01:56.066] ..$ x : [18:01:56.066] ..$ name: [18:01:56.066] - attr(*, "class")= chr [1:3] "FutureGlobals" "Globals" "list" [18:01:56.066] - attr(*, "resolved")= logi TRUE [18:01:56.066] - attr(*, "total_size")= num 112 [18:01:56.066] - attr(*, "already-done")= logi TRUE [18:01:56.070] - copied 'x' to environment [18:01:56.070] - copied 'name' to environment [18:01:56.070] assign_globals() ... done [18:01:56.071] plan(): Setting new future strategy stack: [18:01:56.071] List of future strategies: [18:01:56.071] 1. sequential: [18:01:56.071] - args: function (..., envir = parent.frame()) [18:01:56.071] - tweaked: FALSE [18:01:56.071] - call: NULL [18:01:56.072] plan(): nbrOfWorkers() = 1 [18:01:56.074] plan(): Setting new future strategy stack: [18:01:56.074] List of future strategies: [18:01:56.074] 1. sequential: [18:01:56.074] - args: function (..., envir = parent.frame()) [18:01:56.074] - tweaked: FALSE [18:01:56.074] - call: plan(strategy) [18:01:56.075] plan(): nbrOfWorkers() = 1 [18:01:56.075] SequentialFuture started (and completed) [18:01:56.075] - Launch lazy future ... done [18:01:56.076] run() for 'SequentialFuture' ... done $a [1] 1 Testing with 1 cores ... DONE Testing with 2 cores ... availableCores(): 2 - plan('multisession') ... [18:01:56.087] plan(): Setting new future strategy stack: [18:01:56.087] List of future strategies: [18:01:56.087] 1. multisession: [18:01:56.087] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:01:56.087] - tweaked: FALSE [18:01:56.087] - call: plan(strategy) [18:01:56.087] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... [18:01:56.088] multisession: [18:01:56.088] - args: function (..., workers = availableCores(), lazy = FALSE, rscript_libs = .libPaths(), envir = parent.frame()) [18:01:56.088] - tweaked: FALSE [18:01:56.088] - call: plan(strategy) Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:56.094] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:56.095] Not searching for globals [18:01:56.095] - globals: [0] [18:01:56.095] getGlobalsAndPackages() ... DONE [18:01:56.096] [local output] makeClusterPSOCK() ... [18:01:56.128] [local output] Workers: [n = 2] 'localhost', 'localhost' [18:01:56.136] [local output] Base port: 36156 [18:01:56.136] [local output] Getting setup options for 2 cluster nodes ... [18:01:56.136] [local output] - Node 1 of 2 ... [18:01:56.137] [local output] localMachine=TRUE => revtunnel=FALSE [18:01:56.138] Testing if worker's PID can be inferred: '"D:/RCompile/recent/R/bin/x64/Rscript" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpQpUjxy/worker.rank=1.parallelly.parent=47212.b86c4e572282.pid\")), silent = TRUE)" -e "file.exists(\"D:/temp/RtmpQpUjxy/worker.rank=1.parallelly.parent=47212.b86c4e572282.pid\")"' [18:01:56.476] - Possible to infer worker's PID: TRUE [18:01:56.477] [local output] Rscript port: 36156 [18:01:56.477] [local output] - Node 2 of 2 ... [18:01:56.478] [local output] localMachine=TRUE => revtunnel=FALSE [18:01:56.479] [local output] Rscript port: 36156 [18:01:56.480] [local output] Getting setup options for 2 cluster nodes ... done [18:01:56.480] [local output] - Parallel setup requested for some PSOCK nodes [18:01:56.481] [local output] Setting up PSOCK nodes in parallel [18:01:56.481] List of 36 [18:01:56.481] $ worker : chr "localhost" [18:01:56.481] ..- attr(*, "localhost")= logi TRUE [18:01:56.481] $ master : chr "localhost" [18:01:56.481] $ port : int 36156 [18:01:56.481] $ connectTimeout : num 120 [18:01:56.481] $ timeout : num 120 [18:01:56.481] $ rscript : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\"" [18:01:56.481] $ homogeneous : logi TRUE [18:01:56.481] $ rscript_args : chr "--default-packages=datasets,utils,grDevices,graphics,stats,methods -e \"#label=globals,subassignment.R:47212:CR"| __truncated__ [18:01:56.481] $ rscript_envs : NULL [18:01:56.481] $ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:01:56.481] $ rscript_startup : NULL [18:01:56.481] $ rscript_sh : chr "cmd" [18:01:56.481] $ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:01:56.481] $ methods : logi TRUE [18:01:56.481] $ socketOptions : chr "no-delay" [18:01:56.481] $ useXDR : logi FALSE [18:01:56.481] $ outfile : chr "/dev/null" [18:01:56.481] $ renice : int NA [18:01:56.481] $ rshcmd : NULL [18:01:56.481] $ user : chr(0) [18:01:56.481] $ revtunnel : logi FALSE [18:01:56.481] $ rshlogfile : NULL [18:01:56.481] $ rshopts : chr(0) [18:01:56.481] $ rank : int 1 [18:01:56.481] $ manual : logi FALSE [18:01:56.481] $ dryrun : logi FALSE [18:01:56.481] $ quiet : logi FALSE [18:01:56.481] $ setup_strategy : chr "parallel" [18:01:56.481] $ local_cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:01:56.481] $ pidfile : chr "D:/temp/RtmpQpUjxy/worker.rank=1.parallelly.parent=47212.b86c4e572282.pid" [18:01:56.481] $ rshcmd_label : NULL [18:01:56.481] $ rsh_call : NULL [18:01:56.481] $ cmd : chr "\"D:/RCompile/recent/R/bin/x64/Rscript\" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "| __truncated__ [18:01:56.481] $ localMachine : logi TRUE [18:01:56.481] $ make_fcn :function (worker = getOption2("parallelly.localhost.hostname", "localhost"), [18:01:56.481] master = NULL, port, connectTimeout = getOption2("parallelly.makeNodePSOCK.connectTimeout", [18:01:56.481] 2 * 60), timeout = getOption2("parallelly.makeNodePSOCK.timeout", [18:01:56.481] 30 * 24 * 60 * 60), rscript = NULL, homogeneous = NULL, rscript_args = NULL, [18:01:56.481] rscript_envs = NULL, rscript_libs = NULL, rscript_startup = NULL, rscript_sh = c("auto", [18:01:56.481] "cmd", "sh"), default_packages = c("datasets", "utils", "grDevices", [18:01:56.481] "graphics", "stats", if (methods) "methods"), methods = TRUE, socketOptions = getOption2("parallelly.makeNodePSOCK.socketOptions", [18:01:56.481] "no-delay"), useXDR = getOption2("parallelly.makeNodePSOCK.useXDR", [18:01:56.481] FALSE), outfile = "/dev/null", renice = NA_integer_, rshcmd = getOption2("parallelly.makeNodePSOCK.rshcmd", [18:01:56.481] NULL), user = NULL, revtunnel = NA, rshlogfile = NULL, rshopts = getOption2("parallelly.makeNodePSOCK.rshopts", [18:01:56.481] NULL), rank = 1L, manual = FALSE, dryrun = FALSE, quiet = FALSE, [18:01:56.481] setup_strategy = getOption2("parallelly.makeNodePSOCK.setup_strategy", [18:01:56.481] "parallel"), action = c("launch", "options"), verbose = FALSE) [18:01:56.481] $ arguments :List of 28 [18:01:56.481] ..$ worker : chr "localhost" [18:01:56.481] ..$ master : NULL [18:01:56.481] ..$ port : int 36156 [18:01:56.481] ..$ connectTimeout : num 120 [18:01:56.481] ..$ timeout : num 120 [18:01:56.481] ..$ rscript : NULL [18:01:56.481] ..$ homogeneous : NULL [18:01:56.481] ..$ rscript_args : NULL [18:01:56.481] ..$ rscript_envs : NULL [18:01:56.481] ..$ rscript_libs : chr [1:2] "D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c" "D:/RCompile/recent/R/library" [18:01:56.481] ..$ rscript_startup : NULL [18:01:56.481] ..$ rscript_sh : chr [1:3] "auto" "cmd" "sh" [18:01:56.481] ..$ default_packages: chr [1:6] "datasets" "utils" "grDevices" "graphics" ... [18:01:56.481] ..$ methods : logi TRUE [18:01:56.481] ..$ socketOptions : chr "no-delay" [18:01:56.481] ..$ useXDR : logi FALSE [18:01:56.481] ..$ outfile : chr "/dev/null" [18:01:56.481] ..$ renice : int NA [18:01:56.481] ..$ rshcmd : NULL [18:01:56.481] ..$ user : NULL [18:01:56.481] ..$ revtunnel : logi NA [18:01:56.481] ..$ rshlogfile : NULL [18:01:56.481] ..$ rshopts : NULL [18:01:56.481] ..$ rank : int 1 [18:01:56.481] ..$ manual : logi FALSE [18:01:56.481] ..$ dryrun : logi FALSE [18:01:56.481] ..$ quiet : logi FALSE [18:01:56.481] ..$ setup_strategy : chr "parallel" [18:01:56.481] - attr(*, "class")= chr [1:2] "makeNodePSOCKOptions" "makeNodeOptions" [18:01:56.503] [local output] System call to launch all workers: [18:01:56.504] [local output] "D:/RCompile/recent/R/bin/x64/Rscript" --default-packages=datasets,utils,grDevices,graphics,stats,methods -e "#label=globals,subassignment.R:47212:CRANWIN3:CRAN" -e "try(suppressWarnings(cat(Sys.getpid(),file=\"D:/temp/RtmpQpUjxy/worker.rank=1.parallelly.parent=47212.b86c4e572282.pid\")), silent = TRUE)" -e "options(socketOptions = \"no-delay\")" -e ".libPaths(c(\"D:/temp/Rtmp67Lu9b/RLIBS_19fe819742e2c\",\"D:/RCompile/recent/R/library\"))" -e "workRSOCK <- tryCatch(parallel:::.workRSOCK, error=function(e) parallel:::.slaveRSOCK); workRSOCK()" MASTER=localhost PORT=36156 OUT=/dev/null TIMEOUT=120 XDR=FALSE SETUPTIMEOUT=120 SETUPSTRATEGY=parallel [18:01:56.504] [local output] Starting PSOCK main server [18:01:56.512] [local output] Workers launched [18:01:56.513] [local output] Waiting for workers to connect back [18:01:56.513] - [local output] 0 workers out of 2 ready [18:01:56.681] - [local output] 0 workers out of 2 ready [18:01:56.682] - [local output] 1 workers out of 2 ready [18:01:56.686] - [local output] 1 workers out of 2 ready [18:01:56.687] - [local output] 2 workers out of 2 ready [18:01:56.687] [local output] Launching of workers completed [18:01:56.687] [local output] Collecting session information from workers [18:01:56.689] [local output] - Worker #1 of 2 [18:01:56.689] [local output] - Worker #2 of 2 [18:01:56.690] [local output] makeClusterPSOCK() ... done [18:01:56.703] Packages needed by the future expression (n = 0): [18:01:56.703] Packages needed by future strategies (n = 0): [18:01:56.704] { [18:01:56.704] { [18:01:56.704] { [18:01:56.704] ...future.startTime <- base::Sys.time() [18:01:56.704] { [18:01:56.704] { [18:01:56.704] { [18:01:56.704] { [18:01:56.704] base::local({ [18:01:56.704] has_future <- base::requireNamespace("future", [18:01:56.704] quietly = TRUE) [18:01:56.704] if (has_future) { [18:01:56.704] ns <- base::getNamespace("future") [18:01:56.704] version <- ns[[".package"]][["version"]] [18:01:56.704] if (is.null(version)) [18:01:56.704] version <- utils::packageVersion("future") [18:01:56.704] } [18:01:56.704] else { [18:01:56.704] version <- NULL [18:01:56.704] } [18:01:56.704] if (!has_future || version < "1.8.0") { [18:01:56.704] info <- base::c(r_version = base::gsub("R version ", [18:01:56.704] "", base::R.version$version.string), [18:01:56.704] platform = base::sprintf("%s (%s-bit)", [18:01:56.704] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:56.704] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:56.704] "release", "version")], collapse = " "), [18:01:56.704] hostname = base::Sys.info()[["nodename"]]) [18:01:56.704] info <- base::sprintf("%s: %s", base::names(info), [18:01:56.704] info) [18:01:56.704] info <- base::paste(info, collapse = "; ") [18:01:56.704] if (!has_future) { [18:01:56.704] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:56.704] info) [18:01:56.704] } [18:01:56.704] else { [18:01:56.704] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:56.704] info, version) [18:01:56.704] } [18:01:56.704] base::stop(msg) [18:01:56.704] } [18:01:56.704] }) [18:01:56.704] } [18:01:56.704] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:56.704] base::options(mc.cores = 1L) [18:01:56.704] } [18:01:56.704] options(future.plan = NULL) [18:01:56.704] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.704] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:56.704] } [18:01:56.704] ...future.workdir <- getwd() [18:01:56.704] } [18:01:56.704] ...future.oldOptions <- base::as.list(base::.Options) [18:01:56.704] ...future.oldEnvVars <- base::Sys.getenv() [18:01:56.704] } [18:01:56.704] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:56.704] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:56.704] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:56.704] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:56.704] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:56.704] future.stdout.windows.reencode = NULL, width = 80L) [18:01:56.704] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:56.704] base::names(...future.oldOptions)) [18:01:56.704] } [18:01:56.704] if (FALSE) { [18:01:56.704] } [18:01:56.704] else { [18:01:56.704] if (TRUE) { [18:01:56.704] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:56.704] open = "w") [18:01:56.704] } [18:01:56.704] else { [18:01:56.704] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:56.704] windows = "NUL", "/dev/null"), open = "w") [18:01:56.704] } [18:01:56.704] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:56.704] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:56.704] base::sink(type = "output", split = FALSE) [18:01:56.704] base::close(...future.stdout) [18:01:56.704] }, add = TRUE) [18:01:56.704] } [18:01:56.704] ...future.frame <- base::sys.nframe() [18:01:56.704] ...future.conditions <- base::list() [18:01:56.704] ...future.rng <- base::globalenv()$.Random.seed [18:01:56.704] if (FALSE) { [18:01:56.704] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:56.704] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:56.704] } [18:01:56.704] ...future.result <- base::tryCatch({ [18:01:56.704] base::withCallingHandlers({ [18:01:56.704] ...future.value <- base::withVisible(base::local({ [18:01:56.704] ...future.makeSendCondition <- local({ [18:01:56.704] sendCondition <- NULL [18:01:56.704] function(frame = 1L) { [18:01:56.704] if (is.function(sendCondition)) [18:01:56.704] return(sendCondition) [18:01:56.704] ns <- getNamespace("parallel") [18:01:56.704] if (exists("sendData", mode = "function", [18:01:56.704] envir = ns)) { [18:01:56.704] parallel_sendData <- get("sendData", mode = "function", [18:01:56.704] envir = ns) [18:01:56.704] envir <- sys.frame(frame) [18:01:56.704] master <- NULL [18:01:56.704] while (!identical(envir, .GlobalEnv) && [18:01:56.704] !identical(envir, emptyenv())) { [18:01:56.704] if (exists("master", mode = "list", envir = envir, [18:01:56.704] inherits = FALSE)) { [18:01:56.704] master <- get("master", mode = "list", [18:01:56.704] envir = envir, inherits = FALSE) [18:01:56.704] if (inherits(master, c("SOCKnode", [18:01:56.704] "SOCK0node"))) { [18:01:56.704] sendCondition <<- function(cond) { [18:01:56.704] data <- list(type = "VALUE", value = cond, [18:01:56.704] success = TRUE) [18:01:56.704] parallel_sendData(master, data) [18:01:56.704] } [18:01:56.704] return(sendCondition) [18:01:56.704] } [18:01:56.704] } [18:01:56.704] frame <- frame + 1L [18:01:56.704] envir <- sys.frame(frame) [18:01:56.704] } [18:01:56.704] } [18:01:56.704] sendCondition <<- function(cond) NULL [18:01:56.704] } [18:01:56.704] }) [18:01:56.704] withCallingHandlers({ [18:01:56.704] NA [18:01:56.704] }, immediateCondition = function(cond) { [18:01:56.704] sendCondition <- ...future.makeSendCondition() [18:01:56.704] sendCondition(cond) [18:01:56.704] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.704] { [18:01:56.704] inherits <- base::inherits [18:01:56.704] invokeRestart <- base::invokeRestart [18:01:56.704] is.null <- base::is.null [18:01:56.704] muffled <- FALSE [18:01:56.704] if (inherits(cond, "message")) { [18:01:56.704] muffled <- grepl(pattern, "muffleMessage") [18:01:56.704] if (muffled) [18:01:56.704] invokeRestart("muffleMessage") [18:01:56.704] } [18:01:56.704] else if (inherits(cond, "warning")) { [18:01:56.704] muffled <- grepl(pattern, "muffleWarning") [18:01:56.704] if (muffled) [18:01:56.704] invokeRestart("muffleWarning") [18:01:56.704] } [18:01:56.704] else if (inherits(cond, "condition")) { [18:01:56.704] if (!is.null(pattern)) { [18:01:56.704] computeRestarts <- base::computeRestarts [18:01:56.704] grepl <- base::grepl [18:01:56.704] restarts <- computeRestarts(cond) [18:01:56.704] for (restart in restarts) { [18:01:56.704] name <- restart$name [18:01:56.704] if (is.null(name)) [18:01:56.704] next [18:01:56.704] if (!grepl(pattern, name)) [18:01:56.704] next [18:01:56.704] invokeRestart(restart) [18:01:56.704] muffled <- TRUE [18:01:56.704] break [18:01:56.704] } [18:01:56.704] } [18:01:56.704] } [18:01:56.704] invisible(muffled) [18:01:56.704] } [18:01:56.704] muffleCondition(cond) [18:01:56.704] }) [18:01:56.704] })) [18:01:56.704] future::FutureResult(value = ...future.value$value, [18:01:56.704] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.704] ...future.rng), globalenv = if (FALSE) [18:01:56.704] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:56.704] ...future.globalenv.names)) [18:01:56.704] else NULL, started = ...future.startTime, version = "1.8") [18:01:56.704] }, condition = base::local({ [18:01:56.704] c <- base::c [18:01:56.704] inherits <- base::inherits [18:01:56.704] invokeRestart <- base::invokeRestart [18:01:56.704] length <- base::length [18:01:56.704] list <- base::list [18:01:56.704] seq.int <- base::seq.int [18:01:56.704] signalCondition <- base::signalCondition [18:01:56.704] sys.calls <- base::sys.calls [18:01:56.704] `[[` <- base::`[[` [18:01:56.704] `+` <- base::`+` [18:01:56.704] `<<-` <- base::`<<-` [18:01:56.704] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:56.704] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:56.704] 3L)] [18:01:56.704] } [18:01:56.704] function(cond) { [18:01:56.704] is_error <- inherits(cond, "error") [18:01:56.704] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:56.704] NULL) [18:01:56.704] if (is_error) { [18:01:56.704] sessionInformation <- function() { [18:01:56.704] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:56.704] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:56.704] search = base::search(), system = base::Sys.info()) [18:01:56.704] } [18:01:56.704] ...future.conditions[[length(...future.conditions) + [18:01:56.704] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:56.704] cond$call), session = sessionInformation(), [18:01:56.704] timestamp = base::Sys.time(), signaled = 0L) [18:01:56.704] signalCondition(cond) [18:01:56.704] } [18:01:56.704] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:56.704] "immediateCondition"))) { [18:01:56.704] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:56.704] ...future.conditions[[length(...future.conditions) + [18:01:56.704] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:56.704] if (TRUE && !signal) { [18:01:56.704] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.704] { [18:01:56.704] inherits <- base::inherits [18:01:56.704] invokeRestart <- base::invokeRestart [18:01:56.704] is.null <- base::is.null [18:01:56.704] muffled <- FALSE [18:01:56.704] if (inherits(cond, "message")) { [18:01:56.704] muffled <- grepl(pattern, "muffleMessage") [18:01:56.704] if (muffled) [18:01:56.704] invokeRestart("muffleMessage") [18:01:56.704] } [18:01:56.704] else if (inherits(cond, "warning")) { [18:01:56.704] muffled <- grepl(pattern, "muffleWarning") [18:01:56.704] if (muffled) [18:01:56.704] invokeRestart("muffleWarning") [18:01:56.704] } [18:01:56.704] else if (inherits(cond, "condition")) { [18:01:56.704] if (!is.null(pattern)) { [18:01:56.704] computeRestarts <- base::computeRestarts [18:01:56.704] grepl <- base::grepl [18:01:56.704] restarts <- computeRestarts(cond) [18:01:56.704] for (restart in restarts) { [18:01:56.704] name <- restart$name [18:01:56.704] if (is.null(name)) [18:01:56.704] next [18:01:56.704] if (!grepl(pattern, name)) [18:01:56.704] next [18:01:56.704] invokeRestart(restart) [18:01:56.704] muffled <- TRUE [18:01:56.704] break [18:01:56.704] } [18:01:56.704] } [18:01:56.704] } [18:01:56.704] invisible(muffled) [18:01:56.704] } [18:01:56.704] muffleCondition(cond, pattern = "^muffle") [18:01:56.704] } [18:01:56.704] } [18:01:56.704] else { [18:01:56.704] if (TRUE) { [18:01:56.704] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.704] { [18:01:56.704] inherits <- base::inherits [18:01:56.704] invokeRestart <- base::invokeRestart [18:01:56.704] is.null <- base::is.null [18:01:56.704] muffled <- FALSE [18:01:56.704] if (inherits(cond, "message")) { [18:01:56.704] muffled <- grepl(pattern, "muffleMessage") [18:01:56.704] if (muffled) [18:01:56.704] invokeRestart("muffleMessage") [18:01:56.704] } [18:01:56.704] else if (inherits(cond, "warning")) { [18:01:56.704] muffled <- grepl(pattern, "muffleWarning") [18:01:56.704] if (muffled) [18:01:56.704] invokeRestart("muffleWarning") [18:01:56.704] } [18:01:56.704] else if (inherits(cond, "condition")) { [18:01:56.704] if (!is.null(pattern)) { [18:01:56.704] computeRestarts <- base::computeRestarts [18:01:56.704] grepl <- base::grepl [18:01:56.704] restarts <- computeRestarts(cond) [18:01:56.704] for (restart in restarts) { [18:01:56.704] name <- restart$name [18:01:56.704] if (is.null(name)) [18:01:56.704] next [18:01:56.704] if (!grepl(pattern, name)) [18:01:56.704] next [18:01:56.704] invokeRestart(restart) [18:01:56.704] muffled <- TRUE [18:01:56.704] break [18:01:56.704] } [18:01:56.704] } [18:01:56.704] } [18:01:56.704] invisible(muffled) [18:01:56.704] } [18:01:56.704] muffleCondition(cond, pattern = "^muffle") [18:01:56.704] } [18:01:56.704] } [18:01:56.704] } [18:01:56.704] })) [18:01:56.704] }, error = function(ex) { [18:01:56.704] base::structure(base::list(value = NULL, visible = NULL, [18:01:56.704] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.704] ...future.rng), started = ...future.startTime, [18:01:56.704] finished = Sys.time(), session_uuid = NA_character_, [18:01:56.704] version = "1.8"), class = "FutureResult") [18:01:56.704] }, finally = { [18:01:56.704] if (!identical(...future.workdir, getwd())) [18:01:56.704] setwd(...future.workdir) [18:01:56.704] { [18:01:56.704] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:56.704] ...future.oldOptions$nwarnings <- NULL [18:01:56.704] } [18:01:56.704] base::options(...future.oldOptions) [18:01:56.704] if (.Platform$OS.type == "windows") { [18:01:56.704] old_names <- names(...future.oldEnvVars) [18:01:56.704] envs <- base::Sys.getenv() [18:01:56.704] names <- names(envs) [18:01:56.704] common <- intersect(names, old_names) [18:01:56.704] added <- setdiff(names, old_names) [18:01:56.704] removed <- setdiff(old_names, names) [18:01:56.704] changed <- common[...future.oldEnvVars[common] != [18:01:56.704] envs[common]] [18:01:56.704] NAMES <- toupper(changed) [18:01:56.704] args <- list() [18:01:56.704] for (kk in seq_along(NAMES)) { [18:01:56.704] name <- changed[[kk]] [18:01:56.704] NAME <- NAMES[[kk]] [18:01:56.704] if (name != NAME && is.element(NAME, old_names)) [18:01:56.704] next [18:01:56.704] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.704] } [18:01:56.704] NAMES <- toupper(added) [18:01:56.704] for (kk in seq_along(NAMES)) { [18:01:56.704] name <- added[[kk]] [18:01:56.704] NAME <- NAMES[[kk]] [18:01:56.704] if (name != NAME && is.element(NAME, old_names)) [18:01:56.704] next [18:01:56.704] args[[name]] <- "" [18:01:56.704] } [18:01:56.704] NAMES <- toupper(removed) [18:01:56.704] for (kk in seq_along(NAMES)) { [18:01:56.704] name <- removed[[kk]] [18:01:56.704] NAME <- NAMES[[kk]] [18:01:56.704] if (name != NAME && is.element(NAME, old_names)) [18:01:56.704] next [18:01:56.704] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.704] } [18:01:56.704] if (length(args) > 0) [18:01:56.704] base::do.call(base::Sys.setenv, args = args) [18:01:56.704] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:56.704] } [18:01:56.704] else { [18:01:56.704] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:56.704] } [18:01:56.704] { [18:01:56.704] if (base::length(...future.futureOptionsAdded) > [18:01:56.704] 0L) { [18:01:56.704] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:56.704] base::names(opts) <- ...future.futureOptionsAdded [18:01:56.704] base::options(opts) [18:01:56.704] } [18:01:56.704] { [18:01:56.704] { [18:01:56.704] base::options(mc.cores = ...future.mc.cores.old) [18:01:56.704] NULL [18:01:56.704] } [18:01:56.704] options(future.plan = NULL) [18:01:56.704] if (is.na(NA_character_)) [18:01:56.704] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.704] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:56.704] future::plan(list(function (..., workers = availableCores(), [18:01:56.704] lazy = FALSE, rscript_libs = .libPaths(), [18:01:56.704] envir = parent.frame()) [18:01:56.704] { [18:01:56.704] if (is.function(workers)) [18:01:56.704] workers <- workers() [18:01:56.704] workers <- structure(as.integer(workers), [18:01:56.704] class = class(workers)) [18:01:56.704] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:56.704] workers >= 1) [18:01:56.704] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:56.704] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:56.704] } [18:01:56.704] future <- MultisessionFuture(..., workers = workers, [18:01:56.704] lazy = lazy, rscript_libs = rscript_libs, [18:01:56.704] envir = envir) [18:01:56.704] if (!future$lazy) [18:01:56.704] future <- run(future) [18:01:56.704] invisible(future) [18:01:56.704] }), .cleanup = FALSE, .init = FALSE) [18:01:56.704] } [18:01:56.704] } [18:01:56.704] } [18:01:56.704] }) [18:01:56.704] if (TRUE) { [18:01:56.704] base::sink(type = "output", split = FALSE) [18:01:56.704] if (TRUE) { [18:01:56.704] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:56.704] } [18:01:56.704] else { [18:01:56.704] ...future.result["stdout"] <- base::list(NULL) [18:01:56.704] } [18:01:56.704] base::close(...future.stdout) [18:01:56.704] ...future.stdout <- NULL [18:01:56.704] } [18:01:56.704] ...future.result$conditions <- ...future.conditions [18:01:56.704] ...future.result$finished <- base::Sys.time() [18:01:56.704] ...future.result [18:01:56.704] } [18:01:56.786] MultisessionFuture started [18:01:56.786] result() for ClusterFuture ... [18:01:56.787] receiveMessageFromWorker() for ClusterFuture ... [18:01:56.787] - Validating connection of MultisessionFuture [18:01:56.843] - received message: FutureResult [18:01:56.844] - Received FutureResult [18:01:56.847] - Erased future from FutureRegistry [18:01:56.847] result() for ClusterFuture ... [18:01:56.848] - result already collected: FutureResult [18:01:56.848] result() for ClusterFuture ... done [18:01:56.848] receiveMessageFromWorker() for ClusterFuture ... done [18:01:56.848] result() for ClusterFuture ... done [18:01:56.848] result() for ClusterFuture ... [18:01:56.849] - result already collected: FutureResult [18:01:56.849] result() for ClusterFuture ... done [18:01:56.849] plan(): plan_init() of 'multisession', 'cluster', 'multiprocess', 'future', 'function' ... DONE [18:01:56.852] plan(): nbrOfWorkers() = 2 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:56.852] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:56.853] Searching for globals... [18:01:56.855] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:56.856] Searching for globals ... DONE [18:01:56.856] Resolving globals: TRUE [18:01:56.856] Resolving any globals that are futures ... [18:01:56.856] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:56.857] Resolving any globals that are futures ... DONE [18:01:56.857] Resolving futures part of globals (recursively) ... [18:01:56.858] resolve() on list ... [18:01:56.858] recursive: 99 [18:01:56.858] length: 1 [18:01:56.858] elements: 'x' [18:01:56.858] length: 0 (resolved future 1) [18:01:56.858] resolve() on list ... DONE [18:01:56.859] - globals: [1] 'x' [18:01:56.859] Resolving futures part of globals (recursively) ... DONE [18:01:56.859] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:56.860] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:56.860] - globals: [1] 'x' [18:01:56.860] [18:01:56.860] getGlobalsAndPackages() ... DONE [18:01:56.861] run() for 'Future' ... [18:01:56.861] - state: 'created' [18:01:56.861] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:56.875] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:56.875] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:56.876] - Field: 'node' [18:01:56.876] - Field: 'label' [18:01:56.876] - Field: 'local' [18:01:56.876] - Field: 'owner' [18:01:56.876] - Field: 'envir' [18:01:56.877] - Field: 'workers' [18:01:56.877] - Field: 'packages' [18:01:56.877] - Field: 'gc' [18:01:56.877] - Field: 'conditions' [18:01:56.877] - Field: 'persistent' [18:01:56.878] - Field: 'expr' [18:01:56.878] - Field: 'uuid' [18:01:56.878] - Field: 'seed' [18:01:56.878] - Field: 'version' [18:01:56.878] - Field: 'result' [18:01:56.879] - Field: 'asynchronous' [18:01:56.879] - Field: 'calls' [18:01:56.879] - Field: 'globals' [18:01:56.879] - Field: 'stdout' [18:01:56.879] - Field: 'earlySignal' [18:01:56.880] - Field: 'lazy' [18:01:56.880] - Field: 'state' [18:01:56.880] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:56.880] - Launch lazy future ... [18:01:56.880] Packages needed by the future expression (n = 0): [18:01:56.881] Packages needed by future strategies (n = 0): [18:01:56.881] { [18:01:56.881] { [18:01:56.881] { [18:01:56.881] ...future.startTime <- base::Sys.time() [18:01:56.881] { [18:01:56.881] { [18:01:56.881] { [18:01:56.881] { [18:01:56.881] base::local({ [18:01:56.881] has_future <- base::requireNamespace("future", [18:01:56.881] quietly = TRUE) [18:01:56.881] if (has_future) { [18:01:56.881] ns <- base::getNamespace("future") [18:01:56.881] version <- ns[[".package"]][["version"]] [18:01:56.881] if (is.null(version)) [18:01:56.881] version <- utils::packageVersion("future") [18:01:56.881] } [18:01:56.881] else { [18:01:56.881] version <- NULL [18:01:56.881] } [18:01:56.881] if (!has_future || version < "1.8.0") { [18:01:56.881] info <- base::c(r_version = base::gsub("R version ", [18:01:56.881] "", base::R.version$version.string), [18:01:56.881] platform = base::sprintf("%s (%s-bit)", [18:01:56.881] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:56.881] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:56.881] "release", "version")], collapse = " "), [18:01:56.881] hostname = base::Sys.info()[["nodename"]]) [18:01:56.881] info <- base::sprintf("%s: %s", base::names(info), [18:01:56.881] info) [18:01:56.881] info <- base::paste(info, collapse = "; ") [18:01:56.881] if (!has_future) { [18:01:56.881] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:56.881] info) [18:01:56.881] } [18:01:56.881] else { [18:01:56.881] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:56.881] info, version) [18:01:56.881] } [18:01:56.881] base::stop(msg) [18:01:56.881] } [18:01:56.881] }) [18:01:56.881] } [18:01:56.881] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:56.881] base::options(mc.cores = 1L) [18:01:56.881] } [18:01:56.881] options(future.plan = NULL) [18:01:56.881] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.881] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:56.881] } [18:01:56.881] ...future.workdir <- getwd() [18:01:56.881] } [18:01:56.881] ...future.oldOptions <- base::as.list(base::.Options) [18:01:56.881] ...future.oldEnvVars <- base::Sys.getenv() [18:01:56.881] } [18:01:56.881] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:56.881] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:56.881] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:56.881] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:56.881] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:56.881] future.stdout.windows.reencode = NULL, width = 80L) [18:01:56.881] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:56.881] base::names(...future.oldOptions)) [18:01:56.881] } [18:01:56.881] if (FALSE) { [18:01:56.881] } [18:01:56.881] else { [18:01:56.881] if (TRUE) { [18:01:56.881] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:56.881] open = "w") [18:01:56.881] } [18:01:56.881] else { [18:01:56.881] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:56.881] windows = "NUL", "/dev/null"), open = "w") [18:01:56.881] } [18:01:56.881] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:56.881] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:56.881] base::sink(type = "output", split = FALSE) [18:01:56.881] base::close(...future.stdout) [18:01:56.881] }, add = TRUE) [18:01:56.881] } [18:01:56.881] ...future.frame <- base::sys.nframe() [18:01:56.881] ...future.conditions <- base::list() [18:01:56.881] ...future.rng <- base::globalenv()$.Random.seed [18:01:56.881] if (FALSE) { [18:01:56.881] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:56.881] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:56.881] } [18:01:56.881] ...future.result <- base::tryCatch({ [18:01:56.881] base::withCallingHandlers({ [18:01:56.881] ...future.value <- base::withVisible(base::local({ [18:01:56.881] ...future.makeSendCondition <- local({ [18:01:56.881] sendCondition <- NULL [18:01:56.881] function(frame = 1L) { [18:01:56.881] if (is.function(sendCondition)) [18:01:56.881] return(sendCondition) [18:01:56.881] ns <- getNamespace("parallel") [18:01:56.881] if (exists("sendData", mode = "function", [18:01:56.881] envir = ns)) { [18:01:56.881] parallel_sendData <- get("sendData", mode = "function", [18:01:56.881] envir = ns) [18:01:56.881] envir <- sys.frame(frame) [18:01:56.881] master <- NULL [18:01:56.881] while (!identical(envir, .GlobalEnv) && [18:01:56.881] !identical(envir, emptyenv())) { [18:01:56.881] if (exists("master", mode = "list", envir = envir, [18:01:56.881] inherits = FALSE)) { [18:01:56.881] master <- get("master", mode = "list", [18:01:56.881] envir = envir, inherits = FALSE) [18:01:56.881] if (inherits(master, c("SOCKnode", [18:01:56.881] "SOCK0node"))) { [18:01:56.881] sendCondition <<- function(cond) { [18:01:56.881] data <- list(type = "VALUE", value = cond, [18:01:56.881] success = TRUE) [18:01:56.881] parallel_sendData(master, data) [18:01:56.881] } [18:01:56.881] return(sendCondition) [18:01:56.881] } [18:01:56.881] } [18:01:56.881] frame <- frame + 1L [18:01:56.881] envir <- sys.frame(frame) [18:01:56.881] } [18:01:56.881] } [18:01:56.881] sendCondition <<- function(cond) NULL [18:01:56.881] } [18:01:56.881] }) [18:01:56.881] withCallingHandlers({ [18:01:56.881] { [18:01:56.881] x$a <- 1 [18:01:56.881] x [18:01:56.881] } [18:01:56.881] }, immediateCondition = function(cond) { [18:01:56.881] sendCondition <- ...future.makeSendCondition() [18:01:56.881] sendCondition(cond) [18:01:56.881] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.881] { [18:01:56.881] inherits <- base::inherits [18:01:56.881] invokeRestart <- base::invokeRestart [18:01:56.881] is.null <- base::is.null [18:01:56.881] muffled <- FALSE [18:01:56.881] if (inherits(cond, "message")) { [18:01:56.881] muffled <- grepl(pattern, "muffleMessage") [18:01:56.881] if (muffled) [18:01:56.881] invokeRestart("muffleMessage") [18:01:56.881] } [18:01:56.881] else if (inherits(cond, "warning")) { [18:01:56.881] muffled <- grepl(pattern, "muffleWarning") [18:01:56.881] if (muffled) [18:01:56.881] invokeRestart("muffleWarning") [18:01:56.881] } [18:01:56.881] else if (inherits(cond, "condition")) { [18:01:56.881] if (!is.null(pattern)) { [18:01:56.881] computeRestarts <- base::computeRestarts [18:01:56.881] grepl <- base::grepl [18:01:56.881] restarts <- computeRestarts(cond) [18:01:56.881] for (restart in restarts) { [18:01:56.881] name <- restart$name [18:01:56.881] if (is.null(name)) [18:01:56.881] next [18:01:56.881] if (!grepl(pattern, name)) [18:01:56.881] next [18:01:56.881] invokeRestart(restart) [18:01:56.881] muffled <- TRUE [18:01:56.881] break [18:01:56.881] } [18:01:56.881] } [18:01:56.881] } [18:01:56.881] invisible(muffled) [18:01:56.881] } [18:01:56.881] muffleCondition(cond) [18:01:56.881] }) [18:01:56.881] })) [18:01:56.881] future::FutureResult(value = ...future.value$value, [18:01:56.881] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.881] ...future.rng), globalenv = if (FALSE) [18:01:56.881] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:56.881] ...future.globalenv.names)) [18:01:56.881] else NULL, started = ...future.startTime, version = "1.8") [18:01:56.881] }, condition = base::local({ [18:01:56.881] c <- base::c [18:01:56.881] inherits <- base::inherits [18:01:56.881] invokeRestart <- base::invokeRestart [18:01:56.881] length <- base::length [18:01:56.881] list <- base::list [18:01:56.881] seq.int <- base::seq.int [18:01:56.881] signalCondition <- base::signalCondition [18:01:56.881] sys.calls <- base::sys.calls [18:01:56.881] `[[` <- base::`[[` [18:01:56.881] `+` <- base::`+` [18:01:56.881] `<<-` <- base::`<<-` [18:01:56.881] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:56.881] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:56.881] 3L)] [18:01:56.881] } [18:01:56.881] function(cond) { [18:01:56.881] is_error <- inherits(cond, "error") [18:01:56.881] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:56.881] NULL) [18:01:56.881] if (is_error) { [18:01:56.881] sessionInformation <- function() { [18:01:56.881] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:56.881] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:56.881] search = base::search(), system = base::Sys.info()) [18:01:56.881] } [18:01:56.881] ...future.conditions[[length(...future.conditions) + [18:01:56.881] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:56.881] cond$call), session = sessionInformation(), [18:01:56.881] timestamp = base::Sys.time(), signaled = 0L) [18:01:56.881] signalCondition(cond) [18:01:56.881] } [18:01:56.881] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:56.881] "immediateCondition"))) { [18:01:56.881] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:56.881] ...future.conditions[[length(...future.conditions) + [18:01:56.881] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:56.881] if (TRUE && !signal) { [18:01:56.881] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.881] { [18:01:56.881] inherits <- base::inherits [18:01:56.881] invokeRestart <- base::invokeRestart [18:01:56.881] is.null <- base::is.null [18:01:56.881] muffled <- FALSE [18:01:56.881] if (inherits(cond, "message")) { [18:01:56.881] muffled <- grepl(pattern, "muffleMessage") [18:01:56.881] if (muffled) [18:01:56.881] invokeRestart("muffleMessage") [18:01:56.881] } [18:01:56.881] else if (inherits(cond, "warning")) { [18:01:56.881] muffled <- grepl(pattern, "muffleWarning") [18:01:56.881] if (muffled) [18:01:56.881] invokeRestart("muffleWarning") [18:01:56.881] } [18:01:56.881] else if (inherits(cond, "condition")) { [18:01:56.881] if (!is.null(pattern)) { [18:01:56.881] computeRestarts <- base::computeRestarts [18:01:56.881] grepl <- base::grepl [18:01:56.881] restarts <- computeRestarts(cond) [18:01:56.881] for (restart in restarts) { [18:01:56.881] name <- restart$name [18:01:56.881] if (is.null(name)) [18:01:56.881] next [18:01:56.881] if (!grepl(pattern, name)) [18:01:56.881] next [18:01:56.881] invokeRestart(restart) [18:01:56.881] muffled <- TRUE [18:01:56.881] break [18:01:56.881] } [18:01:56.881] } [18:01:56.881] } [18:01:56.881] invisible(muffled) [18:01:56.881] } [18:01:56.881] muffleCondition(cond, pattern = "^muffle") [18:01:56.881] } [18:01:56.881] } [18:01:56.881] else { [18:01:56.881] if (TRUE) { [18:01:56.881] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.881] { [18:01:56.881] inherits <- base::inherits [18:01:56.881] invokeRestart <- base::invokeRestart [18:01:56.881] is.null <- base::is.null [18:01:56.881] muffled <- FALSE [18:01:56.881] if (inherits(cond, "message")) { [18:01:56.881] muffled <- grepl(pattern, "muffleMessage") [18:01:56.881] if (muffled) [18:01:56.881] invokeRestart("muffleMessage") [18:01:56.881] } [18:01:56.881] else if (inherits(cond, "warning")) { [18:01:56.881] muffled <- grepl(pattern, "muffleWarning") [18:01:56.881] if (muffled) [18:01:56.881] invokeRestart("muffleWarning") [18:01:56.881] } [18:01:56.881] else if (inherits(cond, "condition")) { [18:01:56.881] if (!is.null(pattern)) { [18:01:56.881] computeRestarts <- base::computeRestarts [18:01:56.881] grepl <- base::grepl [18:01:56.881] restarts <- computeRestarts(cond) [18:01:56.881] for (restart in restarts) { [18:01:56.881] name <- restart$name [18:01:56.881] if (is.null(name)) [18:01:56.881] next [18:01:56.881] if (!grepl(pattern, name)) [18:01:56.881] next [18:01:56.881] invokeRestart(restart) [18:01:56.881] muffled <- TRUE [18:01:56.881] break [18:01:56.881] } [18:01:56.881] } [18:01:56.881] } [18:01:56.881] invisible(muffled) [18:01:56.881] } [18:01:56.881] muffleCondition(cond, pattern = "^muffle") [18:01:56.881] } [18:01:56.881] } [18:01:56.881] } [18:01:56.881] })) [18:01:56.881] }, error = function(ex) { [18:01:56.881] base::structure(base::list(value = NULL, visible = NULL, [18:01:56.881] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.881] ...future.rng), started = ...future.startTime, [18:01:56.881] finished = Sys.time(), session_uuid = NA_character_, [18:01:56.881] version = "1.8"), class = "FutureResult") [18:01:56.881] }, finally = { [18:01:56.881] if (!identical(...future.workdir, getwd())) [18:01:56.881] setwd(...future.workdir) [18:01:56.881] { [18:01:56.881] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:56.881] ...future.oldOptions$nwarnings <- NULL [18:01:56.881] } [18:01:56.881] base::options(...future.oldOptions) [18:01:56.881] if (.Platform$OS.type == "windows") { [18:01:56.881] old_names <- names(...future.oldEnvVars) [18:01:56.881] envs <- base::Sys.getenv() [18:01:56.881] names <- names(envs) [18:01:56.881] common <- intersect(names, old_names) [18:01:56.881] added <- setdiff(names, old_names) [18:01:56.881] removed <- setdiff(old_names, names) [18:01:56.881] changed <- common[...future.oldEnvVars[common] != [18:01:56.881] envs[common]] [18:01:56.881] NAMES <- toupper(changed) [18:01:56.881] args <- list() [18:01:56.881] for (kk in seq_along(NAMES)) { [18:01:56.881] name <- changed[[kk]] [18:01:56.881] NAME <- NAMES[[kk]] [18:01:56.881] if (name != NAME && is.element(NAME, old_names)) [18:01:56.881] next [18:01:56.881] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.881] } [18:01:56.881] NAMES <- toupper(added) [18:01:56.881] for (kk in seq_along(NAMES)) { [18:01:56.881] name <- added[[kk]] [18:01:56.881] NAME <- NAMES[[kk]] [18:01:56.881] if (name != NAME && is.element(NAME, old_names)) [18:01:56.881] next [18:01:56.881] args[[name]] <- "" [18:01:56.881] } [18:01:56.881] NAMES <- toupper(removed) [18:01:56.881] for (kk in seq_along(NAMES)) { [18:01:56.881] name <- removed[[kk]] [18:01:56.881] NAME <- NAMES[[kk]] [18:01:56.881] if (name != NAME && is.element(NAME, old_names)) [18:01:56.881] next [18:01:56.881] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.881] } [18:01:56.881] if (length(args) > 0) [18:01:56.881] base::do.call(base::Sys.setenv, args = args) [18:01:56.881] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:56.881] } [18:01:56.881] else { [18:01:56.881] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:56.881] } [18:01:56.881] { [18:01:56.881] if (base::length(...future.futureOptionsAdded) > [18:01:56.881] 0L) { [18:01:56.881] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:56.881] base::names(opts) <- ...future.futureOptionsAdded [18:01:56.881] base::options(opts) [18:01:56.881] } [18:01:56.881] { [18:01:56.881] { [18:01:56.881] base::options(mc.cores = ...future.mc.cores.old) [18:01:56.881] NULL [18:01:56.881] } [18:01:56.881] options(future.plan = NULL) [18:01:56.881] if (is.na(NA_character_)) [18:01:56.881] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.881] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:56.881] future::plan(list(function (..., workers = availableCores(), [18:01:56.881] lazy = FALSE, rscript_libs = .libPaths(), [18:01:56.881] envir = parent.frame()) [18:01:56.881] { [18:01:56.881] if (is.function(workers)) [18:01:56.881] workers <- workers() [18:01:56.881] workers <- structure(as.integer(workers), [18:01:56.881] class = class(workers)) [18:01:56.881] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:56.881] workers >= 1) [18:01:56.881] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:56.881] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:56.881] } [18:01:56.881] future <- MultisessionFuture(..., workers = workers, [18:01:56.881] lazy = lazy, rscript_libs = rscript_libs, [18:01:56.881] envir = envir) [18:01:56.881] if (!future$lazy) [18:01:56.881] future <- run(future) [18:01:56.881] invisible(future) [18:01:56.881] }), .cleanup = FALSE, .init = FALSE) [18:01:56.881] } [18:01:56.881] } [18:01:56.881] } [18:01:56.881] }) [18:01:56.881] if (TRUE) { [18:01:56.881] base::sink(type = "output", split = FALSE) [18:01:56.881] if (TRUE) { [18:01:56.881] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:56.881] } [18:01:56.881] else { [18:01:56.881] ...future.result["stdout"] <- base::list(NULL) [18:01:56.881] } [18:01:56.881] base::close(...future.stdout) [18:01:56.881] ...future.stdout <- NULL [18:01:56.881] } [18:01:56.881] ...future.result$conditions <- ...future.conditions [18:01:56.881] ...future.result$finished <- base::Sys.time() [18:01:56.881] ...future.result [18:01:56.881] } [18:01:56.887] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:56.887] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:56.888] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:56.888] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:56.889] MultisessionFuture started [18:01:56.889] - Launch lazy future ... done [18:01:56.889] run() for 'MultisessionFuture' ... done [18:01:56.889] result() for ClusterFuture ... [18:01:56.889] receiveMessageFromWorker() for ClusterFuture ... [18:01:56.890] - Validating connection of MultisessionFuture [18:01:56.906] - received message: FutureResult [18:01:56.906] - Received FutureResult [18:01:56.906] - Erased future from FutureRegistry [18:01:56.906] result() for ClusterFuture ... [18:01:56.906] - result already collected: FutureResult [18:01:56.907] result() for ClusterFuture ... done [18:01:56.907] receiveMessageFromWorker() for ClusterFuture ... done [18:01:56.907] result() for ClusterFuture ... done [18:01:56.907] result() for ClusterFuture ... [18:01:56.907] - result already collected: FutureResult [18:01:56.908] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:56.908] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:56.908] Searching for globals... [18:01:56.911] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:56.911] Searching for globals ... DONE [18:01:56.912] Resolving globals: TRUE [18:01:56.912] Resolving any globals that are futures ... [18:01:56.912] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:56.912] Resolving any globals that are futures ... DONE [18:01:56.913] Resolving futures part of globals (recursively) ... [18:01:56.913] resolve() on list ... [18:01:56.913] recursive: 99 [18:01:56.914] length: 1 [18:01:56.914] elements: 'x' [18:01:56.914] length: 0 (resolved future 1) [18:01:56.914] resolve() on list ... DONE [18:01:56.915] - globals: [1] 'x' [18:01:56.915] Resolving futures part of globals (recursively) ... DONE [18:01:56.915] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:56.916] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:56.916] - globals: [1] 'x' [18:01:56.917] [18:01:56.917] getGlobalsAndPackages() ... DONE [18:01:56.918] run() for 'Future' ... [18:01:56.918] - state: 'created' [18:01:56.918] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:56.934] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:56.935] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:56.935] - Field: 'node' [18:01:56.935] - Field: 'label' [18:01:56.936] - Field: 'local' [18:01:56.936] - Field: 'owner' [18:01:56.936] - Field: 'envir' [18:01:56.936] - Field: 'workers' [18:01:56.936] - Field: 'packages' [18:01:56.936] - Field: 'gc' [18:01:56.937] - Field: 'conditions' [18:01:56.937] - Field: 'persistent' [18:01:56.937] - Field: 'expr' [18:01:56.937] - Field: 'uuid' [18:01:56.938] - Field: 'seed' [18:01:56.938] - Field: 'version' [18:01:56.938] - Field: 'result' [18:01:56.938] - Field: 'asynchronous' [18:01:56.938] - Field: 'calls' [18:01:56.939] - Field: 'globals' [18:01:56.939] - Field: 'stdout' [18:01:56.939] - Field: 'earlySignal' [18:01:56.939] - Field: 'lazy' [18:01:56.939] - Field: 'state' [18:01:56.940] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:56.940] - Launch lazy future ... [18:01:56.940] Packages needed by the future expression (n = 0): [18:01:56.940] Packages needed by future strategies (n = 0): [18:01:56.941] { [18:01:56.941] { [18:01:56.941] { [18:01:56.941] ...future.startTime <- base::Sys.time() [18:01:56.941] { [18:01:56.941] { [18:01:56.941] { [18:01:56.941] { [18:01:56.941] base::local({ [18:01:56.941] has_future <- base::requireNamespace("future", [18:01:56.941] quietly = TRUE) [18:01:56.941] if (has_future) { [18:01:56.941] ns <- base::getNamespace("future") [18:01:56.941] version <- ns[[".package"]][["version"]] [18:01:56.941] if (is.null(version)) [18:01:56.941] version <- utils::packageVersion("future") [18:01:56.941] } [18:01:56.941] else { [18:01:56.941] version <- NULL [18:01:56.941] } [18:01:56.941] if (!has_future || version < "1.8.0") { [18:01:56.941] info <- base::c(r_version = base::gsub("R version ", [18:01:56.941] "", base::R.version$version.string), [18:01:56.941] platform = base::sprintf("%s (%s-bit)", [18:01:56.941] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:56.941] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:56.941] "release", "version")], collapse = " "), [18:01:56.941] hostname = base::Sys.info()[["nodename"]]) [18:01:56.941] info <- base::sprintf("%s: %s", base::names(info), [18:01:56.941] info) [18:01:56.941] info <- base::paste(info, collapse = "; ") [18:01:56.941] if (!has_future) { [18:01:56.941] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:56.941] info) [18:01:56.941] } [18:01:56.941] else { [18:01:56.941] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:56.941] info, version) [18:01:56.941] } [18:01:56.941] base::stop(msg) [18:01:56.941] } [18:01:56.941] }) [18:01:56.941] } [18:01:56.941] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:56.941] base::options(mc.cores = 1L) [18:01:56.941] } [18:01:56.941] options(future.plan = NULL) [18:01:56.941] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.941] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:56.941] } [18:01:56.941] ...future.workdir <- getwd() [18:01:56.941] } [18:01:56.941] ...future.oldOptions <- base::as.list(base::.Options) [18:01:56.941] ...future.oldEnvVars <- base::Sys.getenv() [18:01:56.941] } [18:01:56.941] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:56.941] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:56.941] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:56.941] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:56.941] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:56.941] future.stdout.windows.reencode = NULL, width = 80L) [18:01:56.941] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:56.941] base::names(...future.oldOptions)) [18:01:56.941] } [18:01:56.941] if (FALSE) { [18:01:56.941] } [18:01:56.941] else { [18:01:56.941] if (TRUE) { [18:01:56.941] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:56.941] open = "w") [18:01:56.941] } [18:01:56.941] else { [18:01:56.941] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:56.941] windows = "NUL", "/dev/null"), open = "w") [18:01:56.941] } [18:01:56.941] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:56.941] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:56.941] base::sink(type = "output", split = FALSE) [18:01:56.941] base::close(...future.stdout) [18:01:56.941] }, add = TRUE) [18:01:56.941] } [18:01:56.941] ...future.frame <- base::sys.nframe() [18:01:56.941] ...future.conditions <- base::list() [18:01:56.941] ...future.rng <- base::globalenv()$.Random.seed [18:01:56.941] if (FALSE) { [18:01:56.941] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:56.941] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:56.941] } [18:01:56.941] ...future.result <- base::tryCatch({ [18:01:56.941] base::withCallingHandlers({ [18:01:56.941] ...future.value <- base::withVisible(base::local({ [18:01:56.941] ...future.makeSendCondition <- local({ [18:01:56.941] sendCondition <- NULL [18:01:56.941] function(frame = 1L) { [18:01:56.941] if (is.function(sendCondition)) [18:01:56.941] return(sendCondition) [18:01:56.941] ns <- getNamespace("parallel") [18:01:56.941] if (exists("sendData", mode = "function", [18:01:56.941] envir = ns)) { [18:01:56.941] parallel_sendData <- get("sendData", mode = "function", [18:01:56.941] envir = ns) [18:01:56.941] envir <- sys.frame(frame) [18:01:56.941] master <- NULL [18:01:56.941] while (!identical(envir, .GlobalEnv) && [18:01:56.941] !identical(envir, emptyenv())) { [18:01:56.941] if (exists("master", mode = "list", envir = envir, [18:01:56.941] inherits = FALSE)) { [18:01:56.941] master <- get("master", mode = "list", [18:01:56.941] envir = envir, inherits = FALSE) [18:01:56.941] if (inherits(master, c("SOCKnode", [18:01:56.941] "SOCK0node"))) { [18:01:56.941] sendCondition <<- function(cond) { [18:01:56.941] data <- list(type = "VALUE", value = cond, [18:01:56.941] success = TRUE) [18:01:56.941] parallel_sendData(master, data) [18:01:56.941] } [18:01:56.941] return(sendCondition) [18:01:56.941] } [18:01:56.941] } [18:01:56.941] frame <- frame + 1L [18:01:56.941] envir <- sys.frame(frame) [18:01:56.941] } [18:01:56.941] } [18:01:56.941] sendCondition <<- function(cond) NULL [18:01:56.941] } [18:01:56.941] }) [18:01:56.941] withCallingHandlers({ [18:01:56.941] { [18:01:56.941] x$a <- 1 [18:01:56.941] x [18:01:56.941] } [18:01:56.941] }, immediateCondition = function(cond) { [18:01:56.941] sendCondition <- ...future.makeSendCondition() [18:01:56.941] sendCondition(cond) [18:01:56.941] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.941] { [18:01:56.941] inherits <- base::inherits [18:01:56.941] invokeRestart <- base::invokeRestart [18:01:56.941] is.null <- base::is.null [18:01:56.941] muffled <- FALSE [18:01:56.941] if (inherits(cond, "message")) { [18:01:56.941] muffled <- grepl(pattern, "muffleMessage") [18:01:56.941] if (muffled) [18:01:56.941] invokeRestart("muffleMessage") [18:01:56.941] } [18:01:56.941] else if (inherits(cond, "warning")) { [18:01:56.941] muffled <- grepl(pattern, "muffleWarning") [18:01:56.941] if (muffled) [18:01:56.941] invokeRestart("muffleWarning") [18:01:56.941] } [18:01:56.941] else if (inherits(cond, "condition")) { [18:01:56.941] if (!is.null(pattern)) { [18:01:56.941] computeRestarts <- base::computeRestarts [18:01:56.941] grepl <- base::grepl [18:01:56.941] restarts <- computeRestarts(cond) [18:01:56.941] for (restart in restarts) { [18:01:56.941] name <- restart$name [18:01:56.941] if (is.null(name)) [18:01:56.941] next [18:01:56.941] if (!grepl(pattern, name)) [18:01:56.941] next [18:01:56.941] invokeRestart(restart) [18:01:56.941] muffled <- TRUE [18:01:56.941] break [18:01:56.941] } [18:01:56.941] } [18:01:56.941] } [18:01:56.941] invisible(muffled) [18:01:56.941] } [18:01:56.941] muffleCondition(cond) [18:01:56.941] }) [18:01:56.941] })) [18:01:56.941] future::FutureResult(value = ...future.value$value, [18:01:56.941] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.941] ...future.rng), globalenv = if (FALSE) [18:01:56.941] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:56.941] ...future.globalenv.names)) [18:01:56.941] else NULL, started = ...future.startTime, version = "1.8") [18:01:56.941] }, condition = base::local({ [18:01:56.941] c <- base::c [18:01:56.941] inherits <- base::inherits [18:01:56.941] invokeRestart <- base::invokeRestart [18:01:56.941] length <- base::length [18:01:56.941] list <- base::list [18:01:56.941] seq.int <- base::seq.int [18:01:56.941] signalCondition <- base::signalCondition [18:01:56.941] sys.calls <- base::sys.calls [18:01:56.941] `[[` <- base::`[[` [18:01:56.941] `+` <- base::`+` [18:01:56.941] `<<-` <- base::`<<-` [18:01:56.941] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:56.941] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:56.941] 3L)] [18:01:56.941] } [18:01:56.941] function(cond) { [18:01:56.941] is_error <- inherits(cond, "error") [18:01:56.941] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:56.941] NULL) [18:01:56.941] if (is_error) { [18:01:56.941] sessionInformation <- function() { [18:01:56.941] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:56.941] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:56.941] search = base::search(), system = base::Sys.info()) [18:01:56.941] } [18:01:56.941] ...future.conditions[[length(...future.conditions) + [18:01:56.941] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:56.941] cond$call), session = sessionInformation(), [18:01:56.941] timestamp = base::Sys.time(), signaled = 0L) [18:01:56.941] signalCondition(cond) [18:01:56.941] } [18:01:56.941] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:56.941] "immediateCondition"))) { [18:01:56.941] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:56.941] ...future.conditions[[length(...future.conditions) + [18:01:56.941] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:56.941] if (TRUE && !signal) { [18:01:56.941] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.941] { [18:01:56.941] inherits <- base::inherits [18:01:56.941] invokeRestart <- base::invokeRestart [18:01:56.941] is.null <- base::is.null [18:01:56.941] muffled <- FALSE [18:01:56.941] if (inherits(cond, "message")) { [18:01:56.941] muffled <- grepl(pattern, "muffleMessage") [18:01:56.941] if (muffled) [18:01:56.941] invokeRestart("muffleMessage") [18:01:56.941] } [18:01:56.941] else if (inherits(cond, "warning")) { [18:01:56.941] muffled <- grepl(pattern, "muffleWarning") [18:01:56.941] if (muffled) [18:01:56.941] invokeRestart("muffleWarning") [18:01:56.941] } [18:01:56.941] else if (inherits(cond, "condition")) { [18:01:56.941] if (!is.null(pattern)) { [18:01:56.941] computeRestarts <- base::computeRestarts [18:01:56.941] grepl <- base::grepl [18:01:56.941] restarts <- computeRestarts(cond) [18:01:56.941] for (restart in restarts) { [18:01:56.941] name <- restart$name [18:01:56.941] if (is.null(name)) [18:01:56.941] next [18:01:56.941] if (!grepl(pattern, name)) [18:01:56.941] next [18:01:56.941] invokeRestart(restart) [18:01:56.941] muffled <- TRUE [18:01:56.941] break [18:01:56.941] } [18:01:56.941] } [18:01:56.941] } [18:01:56.941] invisible(muffled) [18:01:56.941] } [18:01:56.941] muffleCondition(cond, pattern = "^muffle") [18:01:56.941] } [18:01:56.941] } [18:01:56.941] else { [18:01:56.941] if (TRUE) { [18:01:56.941] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.941] { [18:01:56.941] inherits <- base::inherits [18:01:56.941] invokeRestart <- base::invokeRestart [18:01:56.941] is.null <- base::is.null [18:01:56.941] muffled <- FALSE [18:01:56.941] if (inherits(cond, "message")) { [18:01:56.941] muffled <- grepl(pattern, "muffleMessage") [18:01:56.941] if (muffled) [18:01:56.941] invokeRestart("muffleMessage") [18:01:56.941] } [18:01:56.941] else if (inherits(cond, "warning")) { [18:01:56.941] muffled <- grepl(pattern, "muffleWarning") [18:01:56.941] if (muffled) [18:01:56.941] invokeRestart("muffleWarning") [18:01:56.941] } [18:01:56.941] else if (inherits(cond, "condition")) { [18:01:56.941] if (!is.null(pattern)) { [18:01:56.941] computeRestarts <- base::computeRestarts [18:01:56.941] grepl <- base::grepl [18:01:56.941] restarts <- computeRestarts(cond) [18:01:56.941] for (restart in restarts) { [18:01:56.941] name <- restart$name [18:01:56.941] if (is.null(name)) [18:01:56.941] next [18:01:56.941] if (!grepl(pattern, name)) [18:01:56.941] next [18:01:56.941] invokeRestart(restart) [18:01:56.941] muffled <- TRUE [18:01:56.941] break [18:01:56.941] } [18:01:56.941] } [18:01:56.941] } [18:01:56.941] invisible(muffled) [18:01:56.941] } [18:01:56.941] muffleCondition(cond, pattern = "^muffle") [18:01:56.941] } [18:01:56.941] } [18:01:56.941] } [18:01:56.941] })) [18:01:56.941] }, error = function(ex) { [18:01:56.941] base::structure(base::list(value = NULL, visible = NULL, [18:01:56.941] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.941] ...future.rng), started = ...future.startTime, [18:01:56.941] finished = Sys.time(), session_uuid = NA_character_, [18:01:56.941] version = "1.8"), class = "FutureResult") [18:01:56.941] }, finally = { [18:01:56.941] if (!identical(...future.workdir, getwd())) [18:01:56.941] setwd(...future.workdir) [18:01:56.941] { [18:01:56.941] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:56.941] ...future.oldOptions$nwarnings <- NULL [18:01:56.941] } [18:01:56.941] base::options(...future.oldOptions) [18:01:56.941] if (.Platform$OS.type == "windows") { [18:01:56.941] old_names <- names(...future.oldEnvVars) [18:01:56.941] envs <- base::Sys.getenv() [18:01:56.941] names <- names(envs) [18:01:56.941] common <- intersect(names, old_names) [18:01:56.941] added <- setdiff(names, old_names) [18:01:56.941] removed <- setdiff(old_names, names) [18:01:56.941] changed <- common[...future.oldEnvVars[common] != [18:01:56.941] envs[common]] [18:01:56.941] NAMES <- toupper(changed) [18:01:56.941] args <- list() [18:01:56.941] for (kk in seq_along(NAMES)) { [18:01:56.941] name <- changed[[kk]] [18:01:56.941] NAME <- NAMES[[kk]] [18:01:56.941] if (name != NAME && is.element(NAME, old_names)) [18:01:56.941] next [18:01:56.941] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.941] } [18:01:56.941] NAMES <- toupper(added) [18:01:56.941] for (kk in seq_along(NAMES)) { [18:01:56.941] name <- added[[kk]] [18:01:56.941] NAME <- NAMES[[kk]] [18:01:56.941] if (name != NAME && is.element(NAME, old_names)) [18:01:56.941] next [18:01:56.941] args[[name]] <- "" [18:01:56.941] } [18:01:56.941] NAMES <- toupper(removed) [18:01:56.941] for (kk in seq_along(NAMES)) { [18:01:56.941] name <- removed[[kk]] [18:01:56.941] NAME <- NAMES[[kk]] [18:01:56.941] if (name != NAME && is.element(NAME, old_names)) [18:01:56.941] next [18:01:56.941] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.941] } [18:01:56.941] if (length(args) > 0) [18:01:56.941] base::do.call(base::Sys.setenv, args = args) [18:01:56.941] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:56.941] } [18:01:56.941] else { [18:01:56.941] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:56.941] } [18:01:56.941] { [18:01:56.941] if (base::length(...future.futureOptionsAdded) > [18:01:56.941] 0L) { [18:01:56.941] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:56.941] base::names(opts) <- ...future.futureOptionsAdded [18:01:56.941] base::options(opts) [18:01:56.941] } [18:01:56.941] { [18:01:56.941] { [18:01:56.941] base::options(mc.cores = ...future.mc.cores.old) [18:01:56.941] NULL [18:01:56.941] } [18:01:56.941] options(future.plan = NULL) [18:01:56.941] if (is.na(NA_character_)) [18:01:56.941] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.941] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:56.941] future::plan(list(function (..., workers = availableCores(), [18:01:56.941] lazy = FALSE, rscript_libs = .libPaths(), [18:01:56.941] envir = parent.frame()) [18:01:56.941] { [18:01:56.941] if (is.function(workers)) [18:01:56.941] workers <- workers() [18:01:56.941] workers <- structure(as.integer(workers), [18:01:56.941] class = class(workers)) [18:01:56.941] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:56.941] workers >= 1) [18:01:56.941] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:56.941] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:56.941] } [18:01:56.941] future <- MultisessionFuture(..., workers = workers, [18:01:56.941] lazy = lazy, rscript_libs = rscript_libs, [18:01:56.941] envir = envir) [18:01:56.941] if (!future$lazy) [18:01:56.941] future <- run(future) [18:01:56.941] invisible(future) [18:01:56.941] }), .cleanup = FALSE, .init = FALSE) [18:01:56.941] } [18:01:56.941] } [18:01:56.941] } [18:01:56.941] }) [18:01:56.941] if (TRUE) { [18:01:56.941] base::sink(type = "output", split = FALSE) [18:01:56.941] if (TRUE) { [18:01:56.941] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:56.941] } [18:01:56.941] else { [18:01:56.941] ...future.result["stdout"] <- base::list(NULL) [18:01:56.941] } [18:01:56.941] base::close(...future.stdout) [18:01:56.941] ...future.stdout <- NULL [18:01:56.941] } [18:01:56.941] ...future.result$conditions <- ...future.conditions [18:01:56.941] ...future.result$finished <- base::Sys.time() [18:01:56.941] ...future.result [18:01:56.941] } [18:01:56.947] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:56.947] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:56.947] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:56.948] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:56.948] MultisessionFuture started [18:01:56.949] - Launch lazy future ... done [18:01:56.949] run() for 'MultisessionFuture' ... done [18:01:56.949] result() for ClusterFuture ... [18:01:56.949] receiveMessageFromWorker() for ClusterFuture ... [18:01:56.949] - Validating connection of MultisessionFuture [18:01:56.965] - received message: FutureResult [18:01:56.965] - Received FutureResult [18:01:56.966] - Erased future from FutureRegistry [18:01:56.966] result() for ClusterFuture ... [18:01:56.966] - result already collected: FutureResult [18:01:56.966] result() for ClusterFuture ... done [18:01:56.966] receiveMessageFromWorker() for ClusterFuture ... done [18:01:56.966] result() for ClusterFuture ... done [18:01:56.967] result() for ClusterFuture ... [18:01:56.967] - result already collected: FutureResult [18:01:56.967] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:56.968] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:56.968] Searching for globals... [18:01:56.971] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:56.971] Searching for globals ... DONE [18:01:56.971] Resolving globals: TRUE [18:01:56.971] Resolving any globals that are futures ... [18:01:56.972] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:56.972] Resolving any globals that are futures ... DONE [18:01:56.974] Resolving futures part of globals (recursively) ... [18:01:56.975] resolve() on list ... [18:01:56.975] recursive: 99 [18:01:56.975] length: 1 [18:01:56.975] elements: 'x' [18:01:56.975] length: 0 (resolved future 1) [18:01:56.976] resolve() on list ... DONE [18:01:56.976] - globals: [1] 'x' [18:01:56.976] Resolving futures part of globals (recursively) ... DONE [18:01:56.976] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:56.977] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:56.977] - globals: [1] 'x' [18:01:56.977] [18:01:56.977] getGlobalsAndPackages() ... DONE [18:01:56.977] run() for 'Future' ... [18:01:56.978] - state: 'created' [18:01:56.978] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:56.991] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:56.992] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:56.992] - Field: 'node' [18:01:56.992] - Field: 'label' [18:01:56.992] - Field: 'local' [18:01:56.992] - Field: 'owner' [18:01:56.993] - Field: 'envir' [18:01:56.993] - Field: 'workers' [18:01:56.993] - Field: 'packages' [18:01:56.993] - Field: 'gc' [18:01:56.993] - Field: 'conditions' [18:01:56.994] - Field: 'persistent' [18:01:56.994] - Field: 'expr' [18:01:56.994] - Field: 'uuid' [18:01:56.994] - Field: 'seed' [18:01:56.994] - Field: 'version' [18:01:56.994] - Field: 'result' [18:01:56.995] - Field: 'asynchronous' [18:01:56.995] - Field: 'calls' [18:01:56.995] - Field: 'globals' [18:01:56.995] - Field: 'stdout' [18:01:56.995] - Field: 'earlySignal' [18:01:56.995] - Field: 'lazy' [18:01:56.996] - Field: 'state' [18:01:56.996] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:56.996] - Launch lazy future ... [18:01:56.996] Packages needed by the future expression (n = 0): [18:01:56.996] Packages needed by future strategies (n = 0): [18:01:56.997] { [18:01:56.997] { [18:01:56.997] { [18:01:56.997] ...future.startTime <- base::Sys.time() [18:01:56.997] { [18:01:56.997] { [18:01:56.997] { [18:01:56.997] { [18:01:56.997] base::local({ [18:01:56.997] has_future <- base::requireNamespace("future", [18:01:56.997] quietly = TRUE) [18:01:56.997] if (has_future) { [18:01:56.997] ns <- base::getNamespace("future") [18:01:56.997] version <- ns[[".package"]][["version"]] [18:01:56.997] if (is.null(version)) [18:01:56.997] version <- utils::packageVersion("future") [18:01:56.997] } [18:01:56.997] else { [18:01:56.997] version <- NULL [18:01:56.997] } [18:01:56.997] if (!has_future || version < "1.8.0") { [18:01:56.997] info <- base::c(r_version = base::gsub("R version ", [18:01:56.997] "", base::R.version$version.string), [18:01:56.997] platform = base::sprintf("%s (%s-bit)", [18:01:56.997] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:56.997] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:56.997] "release", "version")], collapse = " "), [18:01:56.997] hostname = base::Sys.info()[["nodename"]]) [18:01:56.997] info <- base::sprintf("%s: %s", base::names(info), [18:01:56.997] info) [18:01:56.997] info <- base::paste(info, collapse = "; ") [18:01:56.997] if (!has_future) { [18:01:56.997] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:56.997] info) [18:01:56.997] } [18:01:56.997] else { [18:01:56.997] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:56.997] info, version) [18:01:56.997] } [18:01:56.997] base::stop(msg) [18:01:56.997] } [18:01:56.997] }) [18:01:56.997] } [18:01:56.997] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:56.997] base::options(mc.cores = 1L) [18:01:56.997] } [18:01:56.997] options(future.plan = NULL) [18:01:56.997] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.997] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:56.997] } [18:01:56.997] ...future.workdir <- getwd() [18:01:56.997] } [18:01:56.997] ...future.oldOptions <- base::as.list(base::.Options) [18:01:56.997] ...future.oldEnvVars <- base::Sys.getenv() [18:01:56.997] } [18:01:56.997] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:56.997] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:56.997] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:56.997] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:56.997] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:56.997] future.stdout.windows.reencode = NULL, width = 80L) [18:01:56.997] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:56.997] base::names(...future.oldOptions)) [18:01:56.997] } [18:01:56.997] if (FALSE) { [18:01:56.997] } [18:01:56.997] else { [18:01:56.997] if (TRUE) { [18:01:56.997] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:56.997] open = "w") [18:01:56.997] } [18:01:56.997] else { [18:01:56.997] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:56.997] windows = "NUL", "/dev/null"), open = "w") [18:01:56.997] } [18:01:56.997] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:56.997] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:56.997] base::sink(type = "output", split = FALSE) [18:01:56.997] base::close(...future.stdout) [18:01:56.997] }, add = TRUE) [18:01:56.997] } [18:01:56.997] ...future.frame <- base::sys.nframe() [18:01:56.997] ...future.conditions <- base::list() [18:01:56.997] ...future.rng <- base::globalenv()$.Random.seed [18:01:56.997] if (FALSE) { [18:01:56.997] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:56.997] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:56.997] } [18:01:56.997] ...future.result <- base::tryCatch({ [18:01:56.997] base::withCallingHandlers({ [18:01:56.997] ...future.value <- base::withVisible(base::local({ [18:01:56.997] ...future.makeSendCondition <- local({ [18:01:56.997] sendCondition <- NULL [18:01:56.997] function(frame = 1L) { [18:01:56.997] if (is.function(sendCondition)) [18:01:56.997] return(sendCondition) [18:01:56.997] ns <- getNamespace("parallel") [18:01:56.997] if (exists("sendData", mode = "function", [18:01:56.997] envir = ns)) { [18:01:56.997] parallel_sendData <- get("sendData", mode = "function", [18:01:56.997] envir = ns) [18:01:56.997] envir <- sys.frame(frame) [18:01:56.997] master <- NULL [18:01:56.997] while (!identical(envir, .GlobalEnv) && [18:01:56.997] !identical(envir, emptyenv())) { [18:01:56.997] if (exists("master", mode = "list", envir = envir, [18:01:56.997] inherits = FALSE)) { [18:01:56.997] master <- get("master", mode = "list", [18:01:56.997] envir = envir, inherits = FALSE) [18:01:56.997] if (inherits(master, c("SOCKnode", [18:01:56.997] "SOCK0node"))) { [18:01:56.997] sendCondition <<- function(cond) { [18:01:56.997] data <- list(type = "VALUE", value = cond, [18:01:56.997] success = TRUE) [18:01:56.997] parallel_sendData(master, data) [18:01:56.997] } [18:01:56.997] return(sendCondition) [18:01:56.997] } [18:01:56.997] } [18:01:56.997] frame <- frame + 1L [18:01:56.997] envir <- sys.frame(frame) [18:01:56.997] } [18:01:56.997] } [18:01:56.997] sendCondition <<- function(cond) NULL [18:01:56.997] } [18:01:56.997] }) [18:01:56.997] withCallingHandlers({ [18:01:56.997] { [18:01:56.997] x$a <- 1 [18:01:56.997] x [18:01:56.997] } [18:01:56.997] }, immediateCondition = function(cond) { [18:01:56.997] sendCondition <- ...future.makeSendCondition() [18:01:56.997] sendCondition(cond) [18:01:56.997] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.997] { [18:01:56.997] inherits <- base::inherits [18:01:56.997] invokeRestart <- base::invokeRestart [18:01:56.997] is.null <- base::is.null [18:01:56.997] muffled <- FALSE [18:01:56.997] if (inherits(cond, "message")) { [18:01:56.997] muffled <- grepl(pattern, "muffleMessage") [18:01:56.997] if (muffled) [18:01:56.997] invokeRestart("muffleMessage") [18:01:56.997] } [18:01:56.997] else if (inherits(cond, "warning")) { [18:01:56.997] muffled <- grepl(pattern, "muffleWarning") [18:01:56.997] if (muffled) [18:01:56.997] invokeRestart("muffleWarning") [18:01:56.997] } [18:01:56.997] else if (inherits(cond, "condition")) { [18:01:56.997] if (!is.null(pattern)) { [18:01:56.997] computeRestarts <- base::computeRestarts [18:01:56.997] grepl <- base::grepl [18:01:56.997] restarts <- computeRestarts(cond) [18:01:56.997] for (restart in restarts) { [18:01:56.997] name <- restart$name [18:01:56.997] if (is.null(name)) [18:01:56.997] next [18:01:56.997] if (!grepl(pattern, name)) [18:01:56.997] next [18:01:56.997] invokeRestart(restart) [18:01:56.997] muffled <- TRUE [18:01:56.997] break [18:01:56.997] } [18:01:56.997] } [18:01:56.997] } [18:01:56.997] invisible(muffled) [18:01:56.997] } [18:01:56.997] muffleCondition(cond) [18:01:56.997] }) [18:01:56.997] })) [18:01:56.997] future::FutureResult(value = ...future.value$value, [18:01:56.997] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.997] ...future.rng), globalenv = if (FALSE) [18:01:56.997] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:56.997] ...future.globalenv.names)) [18:01:56.997] else NULL, started = ...future.startTime, version = "1.8") [18:01:56.997] }, condition = base::local({ [18:01:56.997] c <- base::c [18:01:56.997] inherits <- base::inherits [18:01:56.997] invokeRestart <- base::invokeRestart [18:01:56.997] length <- base::length [18:01:56.997] list <- base::list [18:01:56.997] seq.int <- base::seq.int [18:01:56.997] signalCondition <- base::signalCondition [18:01:56.997] sys.calls <- base::sys.calls [18:01:56.997] `[[` <- base::`[[` [18:01:56.997] `+` <- base::`+` [18:01:56.997] `<<-` <- base::`<<-` [18:01:56.997] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:56.997] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:56.997] 3L)] [18:01:56.997] } [18:01:56.997] function(cond) { [18:01:56.997] is_error <- inherits(cond, "error") [18:01:56.997] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:56.997] NULL) [18:01:56.997] if (is_error) { [18:01:56.997] sessionInformation <- function() { [18:01:56.997] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:56.997] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:56.997] search = base::search(), system = base::Sys.info()) [18:01:56.997] } [18:01:56.997] ...future.conditions[[length(...future.conditions) + [18:01:56.997] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:56.997] cond$call), session = sessionInformation(), [18:01:56.997] timestamp = base::Sys.time(), signaled = 0L) [18:01:56.997] signalCondition(cond) [18:01:56.997] } [18:01:56.997] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:56.997] "immediateCondition"))) { [18:01:56.997] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:56.997] ...future.conditions[[length(...future.conditions) + [18:01:56.997] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:56.997] if (TRUE && !signal) { [18:01:56.997] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.997] { [18:01:56.997] inherits <- base::inherits [18:01:56.997] invokeRestart <- base::invokeRestart [18:01:56.997] is.null <- base::is.null [18:01:56.997] muffled <- FALSE [18:01:56.997] if (inherits(cond, "message")) { [18:01:56.997] muffled <- grepl(pattern, "muffleMessage") [18:01:56.997] if (muffled) [18:01:56.997] invokeRestart("muffleMessage") [18:01:56.997] } [18:01:56.997] else if (inherits(cond, "warning")) { [18:01:56.997] muffled <- grepl(pattern, "muffleWarning") [18:01:56.997] if (muffled) [18:01:56.997] invokeRestart("muffleWarning") [18:01:56.997] } [18:01:56.997] else if (inherits(cond, "condition")) { [18:01:56.997] if (!is.null(pattern)) { [18:01:56.997] computeRestarts <- base::computeRestarts [18:01:56.997] grepl <- base::grepl [18:01:56.997] restarts <- computeRestarts(cond) [18:01:56.997] for (restart in restarts) { [18:01:56.997] name <- restart$name [18:01:56.997] if (is.null(name)) [18:01:56.997] next [18:01:56.997] if (!grepl(pattern, name)) [18:01:56.997] next [18:01:56.997] invokeRestart(restart) [18:01:56.997] muffled <- TRUE [18:01:56.997] break [18:01:56.997] } [18:01:56.997] } [18:01:56.997] } [18:01:56.997] invisible(muffled) [18:01:56.997] } [18:01:56.997] muffleCondition(cond, pattern = "^muffle") [18:01:56.997] } [18:01:56.997] } [18:01:56.997] else { [18:01:56.997] if (TRUE) { [18:01:56.997] muffleCondition <- function (cond, pattern = "^muffle") [18:01:56.997] { [18:01:56.997] inherits <- base::inherits [18:01:56.997] invokeRestart <- base::invokeRestart [18:01:56.997] is.null <- base::is.null [18:01:56.997] muffled <- FALSE [18:01:56.997] if (inherits(cond, "message")) { [18:01:56.997] muffled <- grepl(pattern, "muffleMessage") [18:01:56.997] if (muffled) [18:01:56.997] invokeRestart("muffleMessage") [18:01:56.997] } [18:01:56.997] else if (inherits(cond, "warning")) { [18:01:56.997] muffled <- grepl(pattern, "muffleWarning") [18:01:56.997] if (muffled) [18:01:56.997] invokeRestart("muffleWarning") [18:01:56.997] } [18:01:56.997] else if (inherits(cond, "condition")) { [18:01:56.997] if (!is.null(pattern)) { [18:01:56.997] computeRestarts <- base::computeRestarts [18:01:56.997] grepl <- base::grepl [18:01:56.997] restarts <- computeRestarts(cond) [18:01:56.997] for (restart in restarts) { [18:01:56.997] name <- restart$name [18:01:56.997] if (is.null(name)) [18:01:56.997] next [18:01:56.997] if (!grepl(pattern, name)) [18:01:56.997] next [18:01:56.997] invokeRestart(restart) [18:01:56.997] muffled <- TRUE [18:01:56.997] break [18:01:56.997] } [18:01:56.997] } [18:01:56.997] } [18:01:56.997] invisible(muffled) [18:01:56.997] } [18:01:56.997] muffleCondition(cond, pattern = "^muffle") [18:01:56.997] } [18:01:56.997] } [18:01:56.997] } [18:01:56.997] })) [18:01:56.997] }, error = function(ex) { [18:01:56.997] base::structure(base::list(value = NULL, visible = NULL, [18:01:56.997] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:56.997] ...future.rng), started = ...future.startTime, [18:01:56.997] finished = Sys.time(), session_uuid = NA_character_, [18:01:56.997] version = "1.8"), class = "FutureResult") [18:01:56.997] }, finally = { [18:01:56.997] if (!identical(...future.workdir, getwd())) [18:01:56.997] setwd(...future.workdir) [18:01:56.997] { [18:01:56.997] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:56.997] ...future.oldOptions$nwarnings <- NULL [18:01:56.997] } [18:01:56.997] base::options(...future.oldOptions) [18:01:56.997] if (.Platform$OS.type == "windows") { [18:01:56.997] old_names <- names(...future.oldEnvVars) [18:01:56.997] envs <- base::Sys.getenv() [18:01:56.997] names <- names(envs) [18:01:56.997] common <- intersect(names, old_names) [18:01:56.997] added <- setdiff(names, old_names) [18:01:56.997] removed <- setdiff(old_names, names) [18:01:56.997] changed <- common[...future.oldEnvVars[common] != [18:01:56.997] envs[common]] [18:01:56.997] NAMES <- toupper(changed) [18:01:56.997] args <- list() [18:01:56.997] for (kk in seq_along(NAMES)) { [18:01:56.997] name <- changed[[kk]] [18:01:56.997] NAME <- NAMES[[kk]] [18:01:56.997] if (name != NAME && is.element(NAME, old_names)) [18:01:56.997] next [18:01:56.997] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.997] } [18:01:56.997] NAMES <- toupper(added) [18:01:56.997] for (kk in seq_along(NAMES)) { [18:01:56.997] name <- added[[kk]] [18:01:56.997] NAME <- NAMES[[kk]] [18:01:56.997] if (name != NAME && is.element(NAME, old_names)) [18:01:56.997] next [18:01:56.997] args[[name]] <- "" [18:01:56.997] } [18:01:56.997] NAMES <- toupper(removed) [18:01:56.997] for (kk in seq_along(NAMES)) { [18:01:56.997] name <- removed[[kk]] [18:01:56.997] NAME <- NAMES[[kk]] [18:01:56.997] if (name != NAME && is.element(NAME, old_names)) [18:01:56.997] next [18:01:56.997] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:56.997] } [18:01:56.997] if (length(args) > 0) [18:01:56.997] base::do.call(base::Sys.setenv, args = args) [18:01:56.997] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:56.997] } [18:01:56.997] else { [18:01:56.997] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:56.997] } [18:01:56.997] { [18:01:56.997] if (base::length(...future.futureOptionsAdded) > [18:01:56.997] 0L) { [18:01:56.997] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:56.997] base::names(opts) <- ...future.futureOptionsAdded [18:01:56.997] base::options(opts) [18:01:56.997] } [18:01:56.997] { [18:01:56.997] { [18:01:56.997] base::options(mc.cores = ...future.mc.cores.old) [18:01:56.997] NULL [18:01:56.997] } [18:01:56.997] options(future.plan = NULL) [18:01:56.997] if (is.na(NA_character_)) [18:01:56.997] Sys.unsetenv("R_FUTURE_PLAN") [18:01:56.997] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:56.997] future::plan(list(function (..., workers = availableCores(), [18:01:56.997] lazy = FALSE, rscript_libs = .libPaths(), [18:01:56.997] envir = parent.frame()) [18:01:56.997] { [18:01:56.997] if (is.function(workers)) [18:01:56.997] workers <- workers() [18:01:56.997] workers <- structure(as.integer(workers), [18:01:56.997] class = class(workers)) [18:01:56.997] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:56.997] workers >= 1) [18:01:56.997] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:56.997] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:56.997] } [18:01:56.997] future <- MultisessionFuture(..., workers = workers, [18:01:56.997] lazy = lazy, rscript_libs = rscript_libs, [18:01:56.997] envir = envir) [18:01:56.997] if (!future$lazy) [18:01:56.997] future <- run(future) [18:01:56.997] invisible(future) [18:01:56.997] }), .cleanup = FALSE, .init = FALSE) [18:01:56.997] } [18:01:56.997] } [18:01:56.997] } [18:01:56.997] }) [18:01:56.997] if (TRUE) { [18:01:56.997] base::sink(type = "output", split = FALSE) [18:01:56.997] if (TRUE) { [18:01:56.997] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:56.997] } [18:01:56.997] else { [18:01:56.997] ...future.result["stdout"] <- base::list(NULL) [18:01:56.997] } [18:01:56.997] base::close(...future.stdout) [18:01:56.997] ...future.stdout <- NULL [18:01:56.997] } [18:01:56.997] ...future.result$conditions <- ...future.conditions [18:01:56.997] ...future.result$finished <- base::Sys.time() [18:01:56.997] ...future.result [18:01:56.997] } [18:01:57.002] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.002] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.003] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.003] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.004] MultisessionFuture started [18:01:57.004] - Launch lazy future ... done [18:01:57.004] run() for 'MultisessionFuture' ... done [18:01:57.004] result() for ClusterFuture ... [18:01:57.004] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.005] - Validating connection of MultisessionFuture [18:01:57.020] - received message: FutureResult [18:01:57.020] - Received FutureResult [18:01:57.021] - Erased future from FutureRegistry [18:01:57.021] result() for ClusterFuture ... [18:01:57.021] - result already collected: FutureResult [18:01:57.021] result() for ClusterFuture ... done [18:01:57.021] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.021] result() for ClusterFuture ... done [18:01:57.022] result() for ClusterFuture ... [18:01:57.022] - result already collected: FutureResult [18:01:57.022] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.022] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.023] Searching for globals... [18:01:57.026] - globals found: [5] '{', 'x', '<-', '$', '$<-' [18:01:57.026] Searching for globals ... DONE [18:01:57.026] Resolving globals: TRUE [18:01:57.026] Resolving any globals that are futures ... [18:01:57.026] - globals: [5] '{', 'x', '<-', '$', '$<-' [18:01:57.026] Resolving any globals that are futures ... DONE [18:01:57.027] Resolving futures part of globals (recursively) ... [18:01:57.027] resolve() on list ... [18:01:57.027] recursive: 99 [18:01:57.028] length: 1 [18:01:57.028] elements: 'x' [18:01:57.028] length: 0 (resolved future 1) [18:01:57.028] resolve() on list ... DONE [18:01:57.028] - globals: [1] 'x' [18:01:57.028] Resolving futures part of globals (recursively) ... DONE [18:01:57.029] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:57.029] The total size of the 1 globals exported for future expression ('{; x$a <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:57.029] - globals: [1] 'x' [18:01:57.029] [18:01:57.030] getGlobalsAndPackages() ... DONE [18:01:57.030] run() for 'Future' ... [18:01:57.030] - state: 'created' [18:01:57.030] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.044] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.044] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.045] - Field: 'node' [18:01:57.045] - Field: 'label' [18:01:57.045] - Field: 'local' [18:01:57.045] - Field: 'owner' [18:01:57.045] - Field: 'envir' [18:01:57.045] - Field: 'workers' [18:01:57.046] - Field: 'packages' [18:01:57.046] - Field: 'gc' [18:01:57.046] - Field: 'conditions' [18:01:57.046] - Field: 'persistent' [18:01:57.046] - Field: 'expr' [18:01:57.047] - Field: 'uuid' [18:01:57.047] - Field: 'seed' [18:01:57.047] - Field: 'version' [18:01:57.047] - Field: 'result' [18:01:57.047] - Field: 'asynchronous' [18:01:57.047] - Field: 'calls' [18:01:57.048] - Field: 'globals' [18:01:57.048] - Field: 'stdout' [18:01:57.048] - Field: 'earlySignal' [18:01:57.048] - Field: 'lazy' [18:01:57.048] - Field: 'state' [18:01:57.048] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.049] - Launch lazy future ... [18:01:57.049] Packages needed by the future expression (n = 0): [18:01:57.049] Packages needed by future strategies (n = 0): [18:01:57.050] { [18:01:57.050] { [18:01:57.050] { [18:01:57.050] ...future.startTime <- base::Sys.time() [18:01:57.050] { [18:01:57.050] { [18:01:57.050] { [18:01:57.050] { [18:01:57.050] base::local({ [18:01:57.050] has_future <- base::requireNamespace("future", [18:01:57.050] quietly = TRUE) [18:01:57.050] if (has_future) { [18:01:57.050] ns <- base::getNamespace("future") [18:01:57.050] version <- ns[[".package"]][["version"]] [18:01:57.050] if (is.null(version)) [18:01:57.050] version <- utils::packageVersion("future") [18:01:57.050] } [18:01:57.050] else { [18:01:57.050] version <- NULL [18:01:57.050] } [18:01:57.050] if (!has_future || version < "1.8.0") { [18:01:57.050] info <- base::c(r_version = base::gsub("R version ", [18:01:57.050] "", base::R.version$version.string), [18:01:57.050] platform = base::sprintf("%s (%s-bit)", [18:01:57.050] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.050] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.050] "release", "version")], collapse = " "), [18:01:57.050] hostname = base::Sys.info()[["nodename"]]) [18:01:57.050] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.050] info) [18:01:57.050] info <- base::paste(info, collapse = "; ") [18:01:57.050] if (!has_future) { [18:01:57.050] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.050] info) [18:01:57.050] } [18:01:57.050] else { [18:01:57.050] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.050] info, version) [18:01:57.050] } [18:01:57.050] base::stop(msg) [18:01:57.050] } [18:01:57.050] }) [18:01:57.050] } [18:01:57.050] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.050] base::options(mc.cores = 1L) [18:01:57.050] } [18:01:57.050] options(future.plan = NULL) [18:01:57.050] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.050] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.050] } [18:01:57.050] ...future.workdir <- getwd() [18:01:57.050] } [18:01:57.050] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.050] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.050] } [18:01:57.050] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.050] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.050] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.050] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.050] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.050] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.050] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.050] base::names(...future.oldOptions)) [18:01:57.050] } [18:01:57.050] if (FALSE) { [18:01:57.050] } [18:01:57.050] else { [18:01:57.050] if (TRUE) { [18:01:57.050] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.050] open = "w") [18:01:57.050] } [18:01:57.050] else { [18:01:57.050] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.050] windows = "NUL", "/dev/null"), open = "w") [18:01:57.050] } [18:01:57.050] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.050] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.050] base::sink(type = "output", split = FALSE) [18:01:57.050] base::close(...future.stdout) [18:01:57.050] }, add = TRUE) [18:01:57.050] } [18:01:57.050] ...future.frame <- base::sys.nframe() [18:01:57.050] ...future.conditions <- base::list() [18:01:57.050] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.050] if (FALSE) { [18:01:57.050] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.050] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.050] } [18:01:57.050] ...future.result <- base::tryCatch({ [18:01:57.050] base::withCallingHandlers({ [18:01:57.050] ...future.value <- base::withVisible(base::local({ [18:01:57.050] ...future.makeSendCondition <- local({ [18:01:57.050] sendCondition <- NULL [18:01:57.050] function(frame = 1L) { [18:01:57.050] if (is.function(sendCondition)) [18:01:57.050] return(sendCondition) [18:01:57.050] ns <- getNamespace("parallel") [18:01:57.050] if (exists("sendData", mode = "function", [18:01:57.050] envir = ns)) { [18:01:57.050] parallel_sendData <- get("sendData", mode = "function", [18:01:57.050] envir = ns) [18:01:57.050] envir <- sys.frame(frame) [18:01:57.050] master <- NULL [18:01:57.050] while (!identical(envir, .GlobalEnv) && [18:01:57.050] !identical(envir, emptyenv())) { [18:01:57.050] if (exists("master", mode = "list", envir = envir, [18:01:57.050] inherits = FALSE)) { [18:01:57.050] master <- get("master", mode = "list", [18:01:57.050] envir = envir, inherits = FALSE) [18:01:57.050] if (inherits(master, c("SOCKnode", [18:01:57.050] "SOCK0node"))) { [18:01:57.050] sendCondition <<- function(cond) { [18:01:57.050] data <- list(type = "VALUE", value = cond, [18:01:57.050] success = TRUE) [18:01:57.050] parallel_sendData(master, data) [18:01:57.050] } [18:01:57.050] return(sendCondition) [18:01:57.050] } [18:01:57.050] } [18:01:57.050] frame <- frame + 1L [18:01:57.050] envir <- sys.frame(frame) [18:01:57.050] } [18:01:57.050] } [18:01:57.050] sendCondition <<- function(cond) NULL [18:01:57.050] } [18:01:57.050] }) [18:01:57.050] withCallingHandlers({ [18:01:57.050] { [18:01:57.050] x$a <- 1 [18:01:57.050] x [18:01:57.050] } [18:01:57.050] }, immediateCondition = function(cond) { [18:01:57.050] sendCondition <- ...future.makeSendCondition() [18:01:57.050] sendCondition(cond) [18:01:57.050] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.050] { [18:01:57.050] inherits <- base::inherits [18:01:57.050] invokeRestart <- base::invokeRestart [18:01:57.050] is.null <- base::is.null [18:01:57.050] muffled <- FALSE [18:01:57.050] if (inherits(cond, "message")) { [18:01:57.050] muffled <- grepl(pattern, "muffleMessage") [18:01:57.050] if (muffled) [18:01:57.050] invokeRestart("muffleMessage") [18:01:57.050] } [18:01:57.050] else if (inherits(cond, "warning")) { [18:01:57.050] muffled <- grepl(pattern, "muffleWarning") [18:01:57.050] if (muffled) [18:01:57.050] invokeRestart("muffleWarning") [18:01:57.050] } [18:01:57.050] else if (inherits(cond, "condition")) { [18:01:57.050] if (!is.null(pattern)) { [18:01:57.050] computeRestarts <- base::computeRestarts [18:01:57.050] grepl <- base::grepl [18:01:57.050] restarts <- computeRestarts(cond) [18:01:57.050] for (restart in restarts) { [18:01:57.050] name <- restart$name [18:01:57.050] if (is.null(name)) [18:01:57.050] next [18:01:57.050] if (!grepl(pattern, name)) [18:01:57.050] next [18:01:57.050] invokeRestart(restart) [18:01:57.050] muffled <- TRUE [18:01:57.050] break [18:01:57.050] } [18:01:57.050] } [18:01:57.050] } [18:01:57.050] invisible(muffled) [18:01:57.050] } [18:01:57.050] muffleCondition(cond) [18:01:57.050] }) [18:01:57.050] })) [18:01:57.050] future::FutureResult(value = ...future.value$value, [18:01:57.050] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.050] ...future.rng), globalenv = if (FALSE) [18:01:57.050] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.050] ...future.globalenv.names)) [18:01:57.050] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.050] }, condition = base::local({ [18:01:57.050] c <- base::c [18:01:57.050] inherits <- base::inherits [18:01:57.050] invokeRestart <- base::invokeRestart [18:01:57.050] length <- base::length [18:01:57.050] list <- base::list [18:01:57.050] seq.int <- base::seq.int [18:01:57.050] signalCondition <- base::signalCondition [18:01:57.050] sys.calls <- base::sys.calls [18:01:57.050] `[[` <- base::`[[` [18:01:57.050] `+` <- base::`+` [18:01:57.050] `<<-` <- base::`<<-` [18:01:57.050] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.050] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.050] 3L)] [18:01:57.050] } [18:01:57.050] function(cond) { [18:01:57.050] is_error <- inherits(cond, "error") [18:01:57.050] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.050] NULL) [18:01:57.050] if (is_error) { [18:01:57.050] sessionInformation <- function() { [18:01:57.050] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.050] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.050] search = base::search(), system = base::Sys.info()) [18:01:57.050] } [18:01:57.050] ...future.conditions[[length(...future.conditions) + [18:01:57.050] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.050] cond$call), session = sessionInformation(), [18:01:57.050] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.050] signalCondition(cond) [18:01:57.050] } [18:01:57.050] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.050] "immediateCondition"))) { [18:01:57.050] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.050] ...future.conditions[[length(...future.conditions) + [18:01:57.050] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.050] if (TRUE && !signal) { [18:01:57.050] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.050] { [18:01:57.050] inherits <- base::inherits [18:01:57.050] invokeRestart <- base::invokeRestart [18:01:57.050] is.null <- base::is.null [18:01:57.050] muffled <- FALSE [18:01:57.050] if (inherits(cond, "message")) { [18:01:57.050] muffled <- grepl(pattern, "muffleMessage") [18:01:57.050] if (muffled) [18:01:57.050] invokeRestart("muffleMessage") [18:01:57.050] } [18:01:57.050] else if (inherits(cond, "warning")) { [18:01:57.050] muffled <- grepl(pattern, "muffleWarning") [18:01:57.050] if (muffled) [18:01:57.050] invokeRestart("muffleWarning") [18:01:57.050] } [18:01:57.050] else if (inherits(cond, "condition")) { [18:01:57.050] if (!is.null(pattern)) { [18:01:57.050] computeRestarts <- base::computeRestarts [18:01:57.050] grepl <- base::grepl [18:01:57.050] restarts <- computeRestarts(cond) [18:01:57.050] for (restart in restarts) { [18:01:57.050] name <- restart$name [18:01:57.050] if (is.null(name)) [18:01:57.050] next [18:01:57.050] if (!grepl(pattern, name)) [18:01:57.050] next [18:01:57.050] invokeRestart(restart) [18:01:57.050] muffled <- TRUE [18:01:57.050] break [18:01:57.050] } [18:01:57.050] } [18:01:57.050] } [18:01:57.050] invisible(muffled) [18:01:57.050] } [18:01:57.050] muffleCondition(cond, pattern = "^muffle") [18:01:57.050] } [18:01:57.050] } [18:01:57.050] else { [18:01:57.050] if (TRUE) { [18:01:57.050] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.050] { [18:01:57.050] inherits <- base::inherits [18:01:57.050] invokeRestart <- base::invokeRestart [18:01:57.050] is.null <- base::is.null [18:01:57.050] muffled <- FALSE [18:01:57.050] if (inherits(cond, "message")) { [18:01:57.050] muffled <- grepl(pattern, "muffleMessage") [18:01:57.050] if (muffled) [18:01:57.050] invokeRestart("muffleMessage") [18:01:57.050] } [18:01:57.050] else if (inherits(cond, "warning")) { [18:01:57.050] muffled <- grepl(pattern, "muffleWarning") [18:01:57.050] if (muffled) [18:01:57.050] invokeRestart("muffleWarning") [18:01:57.050] } [18:01:57.050] else if (inherits(cond, "condition")) { [18:01:57.050] if (!is.null(pattern)) { [18:01:57.050] computeRestarts <- base::computeRestarts [18:01:57.050] grepl <- base::grepl [18:01:57.050] restarts <- computeRestarts(cond) [18:01:57.050] for (restart in restarts) { [18:01:57.050] name <- restart$name [18:01:57.050] if (is.null(name)) [18:01:57.050] next [18:01:57.050] if (!grepl(pattern, name)) [18:01:57.050] next [18:01:57.050] invokeRestart(restart) [18:01:57.050] muffled <- TRUE [18:01:57.050] break [18:01:57.050] } [18:01:57.050] } [18:01:57.050] } [18:01:57.050] invisible(muffled) [18:01:57.050] } [18:01:57.050] muffleCondition(cond, pattern = "^muffle") [18:01:57.050] } [18:01:57.050] } [18:01:57.050] } [18:01:57.050] })) [18:01:57.050] }, error = function(ex) { [18:01:57.050] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.050] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.050] ...future.rng), started = ...future.startTime, [18:01:57.050] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.050] version = "1.8"), class = "FutureResult") [18:01:57.050] }, finally = { [18:01:57.050] if (!identical(...future.workdir, getwd())) [18:01:57.050] setwd(...future.workdir) [18:01:57.050] { [18:01:57.050] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.050] ...future.oldOptions$nwarnings <- NULL [18:01:57.050] } [18:01:57.050] base::options(...future.oldOptions) [18:01:57.050] if (.Platform$OS.type == "windows") { [18:01:57.050] old_names <- names(...future.oldEnvVars) [18:01:57.050] envs <- base::Sys.getenv() [18:01:57.050] names <- names(envs) [18:01:57.050] common <- intersect(names, old_names) [18:01:57.050] added <- setdiff(names, old_names) [18:01:57.050] removed <- setdiff(old_names, names) [18:01:57.050] changed <- common[...future.oldEnvVars[common] != [18:01:57.050] envs[common]] [18:01:57.050] NAMES <- toupper(changed) [18:01:57.050] args <- list() [18:01:57.050] for (kk in seq_along(NAMES)) { [18:01:57.050] name <- changed[[kk]] [18:01:57.050] NAME <- NAMES[[kk]] [18:01:57.050] if (name != NAME && is.element(NAME, old_names)) [18:01:57.050] next [18:01:57.050] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.050] } [18:01:57.050] NAMES <- toupper(added) [18:01:57.050] for (kk in seq_along(NAMES)) { [18:01:57.050] name <- added[[kk]] [18:01:57.050] NAME <- NAMES[[kk]] [18:01:57.050] if (name != NAME && is.element(NAME, old_names)) [18:01:57.050] next [18:01:57.050] args[[name]] <- "" [18:01:57.050] } [18:01:57.050] NAMES <- toupper(removed) [18:01:57.050] for (kk in seq_along(NAMES)) { [18:01:57.050] name <- removed[[kk]] [18:01:57.050] NAME <- NAMES[[kk]] [18:01:57.050] if (name != NAME && is.element(NAME, old_names)) [18:01:57.050] next [18:01:57.050] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.050] } [18:01:57.050] if (length(args) > 0) [18:01:57.050] base::do.call(base::Sys.setenv, args = args) [18:01:57.050] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.050] } [18:01:57.050] else { [18:01:57.050] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.050] } [18:01:57.050] { [18:01:57.050] if (base::length(...future.futureOptionsAdded) > [18:01:57.050] 0L) { [18:01:57.050] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.050] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.050] base::options(opts) [18:01:57.050] } [18:01:57.050] { [18:01:57.050] { [18:01:57.050] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.050] NULL [18:01:57.050] } [18:01:57.050] options(future.plan = NULL) [18:01:57.050] if (is.na(NA_character_)) [18:01:57.050] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.050] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.050] future::plan(list(function (..., workers = availableCores(), [18:01:57.050] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.050] envir = parent.frame()) [18:01:57.050] { [18:01:57.050] if (is.function(workers)) [18:01:57.050] workers <- workers() [18:01:57.050] workers <- structure(as.integer(workers), [18:01:57.050] class = class(workers)) [18:01:57.050] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.050] workers >= 1) [18:01:57.050] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.050] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.050] } [18:01:57.050] future <- MultisessionFuture(..., workers = workers, [18:01:57.050] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.050] envir = envir) [18:01:57.050] if (!future$lazy) [18:01:57.050] future <- run(future) [18:01:57.050] invisible(future) [18:01:57.050] }), .cleanup = FALSE, .init = FALSE) [18:01:57.050] } [18:01:57.050] } [18:01:57.050] } [18:01:57.050] }) [18:01:57.050] if (TRUE) { [18:01:57.050] base::sink(type = "output", split = FALSE) [18:01:57.050] if (TRUE) { [18:01:57.050] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.050] } [18:01:57.050] else { [18:01:57.050] ...future.result["stdout"] <- base::list(NULL) [18:01:57.050] } [18:01:57.050] base::close(...future.stdout) [18:01:57.050] ...future.stdout <- NULL [18:01:57.050] } [18:01:57.050] ...future.result$conditions <- ...future.conditions [18:01:57.050] ...future.result$finished <- base::Sys.time() [18:01:57.050] ...future.result [18:01:57.050] } [18:01:57.055] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.055] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.056] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.056] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.057] MultisessionFuture started [18:01:57.057] - Launch lazy future ... done [18:01:57.057] run() for 'MultisessionFuture' ... done [18:01:57.057] result() for ClusterFuture ... [18:01:57.057] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.058] - Validating connection of MultisessionFuture [18:01:57.072] - received message: FutureResult [18:01:57.072] - Received FutureResult [18:01:57.072] - Erased future from FutureRegistry [18:01:57.073] result() for ClusterFuture ... [18:01:57.073] - result already collected: FutureResult [18:01:57.073] result() for ClusterFuture ... done [18:01:57.073] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.073] result() for ClusterFuture ... done [18:01:57.073] result() for ClusterFuture ... [18:01:57.074] - result already collected: FutureResult [18:01:57.074] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.074] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.075] Searching for globals... [18:01:57.078] - globals found: [5] '{', '<-', 'list', '$', '$<-' [18:01:57.078] Searching for globals ... DONE [18:01:57.078] Resolving globals: TRUE [18:01:57.078] Resolving any globals that are futures ... [18:01:57.078] - globals: [5] '{', '<-', 'list', '$', '$<-' [18:01:57.078] Resolving any globals that are futures ... DONE [18:01:57.079] [18:01:57.079] [18:01:57.079] getGlobalsAndPackages() ... DONE [18:01:57.080] run() for 'Future' ... [18:01:57.080] - state: 'created' [18:01:57.080] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.093] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.094] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.094] - Field: 'node' [18:01:57.094] - Field: 'label' [18:01:57.094] - Field: 'local' [18:01:57.094] - Field: 'owner' [18:01:57.095] - Field: 'envir' [18:01:57.095] - Field: 'workers' [18:01:57.095] - Field: 'packages' [18:01:57.095] - Field: 'gc' [18:01:57.095] - Field: 'conditions' [18:01:57.095] - Field: 'persistent' [18:01:57.096] - Field: 'expr' [18:01:57.096] - Field: 'uuid' [18:01:57.096] - Field: 'seed' [18:01:57.096] - Field: 'version' [18:01:57.096] - Field: 'result' [18:01:57.096] - Field: 'asynchronous' [18:01:57.097] - Field: 'calls' [18:01:57.097] - Field: 'globals' [18:01:57.097] - Field: 'stdout' [18:01:57.097] - Field: 'earlySignal' [18:01:57.097] - Field: 'lazy' [18:01:57.098] - Field: 'state' [18:01:57.098] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.098] - Launch lazy future ... [18:01:57.098] Packages needed by the future expression (n = 0): [18:01:57.098] Packages needed by future strategies (n = 0): [18:01:57.099] { [18:01:57.099] { [18:01:57.099] { [18:01:57.099] ...future.startTime <- base::Sys.time() [18:01:57.099] { [18:01:57.099] { [18:01:57.099] { [18:01:57.099] { [18:01:57.099] base::local({ [18:01:57.099] has_future <- base::requireNamespace("future", [18:01:57.099] quietly = TRUE) [18:01:57.099] if (has_future) { [18:01:57.099] ns <- base::getNamespace("future") [18:01:57.099] version <- ns[[".package"]][["version"]] [18:01:57.099] if (is.null(version)) [18:01:57.099] version <- utils::packageVersion("future") [18:01:57.099] } [18:01:57.099] else { [18:01:57.099] version <- NULL [18:01:57.099] } [18:01:57.099] if (!has_future || version < "1.8.0") { [18:01:57.099] info <- base::c(r_version = base::gsub("R version ", [18:01:57.099] "", base::R.version$version.string), [18:01:57.099] platform = base::sprintf("%s (%s-bit)", [18:01:57.099] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.099] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.099] "release", "version")], collapse = " "), [18:01:57.099] hostname = base::Sys.info()[["nodename"]]) [18:01:57.099] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.099] info) [18:01:57.099] info <- base::paste(info, collapse = "; ") [18:01:57.099] if (!has_future) { [18:01:57.099] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.099] info) [18:01:57.099] } [18:01:57.099] else { [18:01:57.099] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.099] info, version) [18:01:57.099] } [18:01:57.099] base::stop(msg) [18:01:57.099] } [18:01:57.099] }) [18:01:57.099] } [18:01:57.099] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.099] base::options(mc.cores = 1L) [18:01:57.099] } [18:01:57.099] options(future.plan = NULL) [18:01:57.099] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.099] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.099] } [18:01:57.099] ...future.workdir <- getwd() [18:01:57.099] } [18:01:57.099] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.099] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.099] } [18:01:57.099] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.099] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.099] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.099] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.099] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.099] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.099] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.099] base::names(...future.oldOptions)) [18:01:57.099] } [18:01:57.099] if (FALSE) { [18:01:57.099] } [18:01:57.099] else { [18:01:57.099] if (TRUE) { [18:01:57.099] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.099] open = "w") [18:01:57.099] } [18:01:57.099] else { [18:01:57.099] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.099] windows = "NUL", "/dev/null"), open = "w") [18:01:57.099] } [18:01:57.099] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.099] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.099] base::sink(type = "output", split = FALSE) [18:01:57.099] base::close(...future.stdout) [18:01:57.099] }, add = TRUE) [18:01:57.099] } [18:01:57.099] ...future.frame <- base::sys.nframe() [18:01:57.099] ...future.conditions <- base::list() [18:01:57.099] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.099] if (FALSE) { [18:01:57.099] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.099] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.099] } [18:01:57.099] ...future.result <- base::tryCatch({ [18:01:57.099] base::withCallingHandlers({ [18:01:57.099] ...future.value <- base::withVisible(base::local({ [18:01:57.099] ...future.makeSendCondition <- local({ [18:01:57.099] sendCondition <- NULL [18:01:57.099] function(frame = 1L) { [18:01:57.099] if (is.function(sendCondition)) [18:01:57.099] return(sendCondition) [18:01:57.099] ns <- getNamespace("parallel") [18:01:57.099] if (exists("sendData", mode = "function", [18:01:57.099] envir = ns)) { [18:01:57.099] parallel_sendData <- get("sendData", mode = "function", [18:01:57.099] envir = ns) [18:01:57.099] envir <- sys.frame(frame) [18:01:57.099] master <- NULL [18:01:57.099] while (!identical(envir, .GlobalEnv) && [18:01:57.099] !identical(envir, emptyenv())) { [18:01:57.099] if (exists("master", mode = "list", envir = envir, [18:01:57.099] inherits = FALSE)) { [18:01:57.099] master <- get("master", mode = "list", [18:01:57.099] envir = envir, inherits = FALSE) [18:01:57.099] if (inherits(master, c("SOCKnode", [18:01:57.099] "SOCK0node"))) { [18:01:57.099] sendCondition <<- function(cond) { [18:01:57.099] data <- list(type = "VALUE", value = cond, [18:01:57.099] success = TRUE) [18:01:57.099] parallel_sendData(master, data) [18:01:57.099] } [18:01:57.099] return(sendCondition) [18:01:57.099] } [18:01:57.099] } [18:01:57.099] frame <- frame + 1L [18:01:57.099] envir <- sys.frame(frame) [18:01:57.099] } [18:01:57.099] } [18:01:57.099] sendCondition <<- function(cond) NULL [18:01:57.099] } [18:01:57.099] }) [18:01:57.099] withCallingHandlers({ [18:01:57.099] { [18:01:57.099] x <- list(b = 2) [18:01:57.099] x$a <- 1 [18:01:57.099] x [18:01:57.099] } [18:01:57.099] }, immediateCondition = function(cond) { [18:01:57.099] sendCondition <- ...future.makeSendCondition() [18:01:57.099] sendCondition(cond) [18:01:57.099] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.099] { [18:01:57.099] inherits <- base::inherits [18:01:57.099] invokeRestart <- base::invokeRestart [18:01:57.099] is.null <- base::is.null [18:01:57.099] muffled <- FALSE [18:01:57.099] if (inherits(cond, "message")) { [18:01:57.099] muffled <- grepl(pattern, "muffleMessage") [18:01:57.099] if (muffled) [18:01:57.099] invokeRestart("muffleMessage") [18:01:57.099] } [18:01:57.099] else if (inherits(cond, "warning")) { [18:01:57.099] muffled <- grepl(pattern, "muffleWarning") [18:01:57.099] if (muffled) [18:01:57.099] invokeRestart("muffleWarning") [18:01:57.099] } [18:01:57.099] else if (inherits(cond, "condition")) { [18:01:57.099] if (!is.null(pattern)) { [18:01:57.099] computeRestarts <- base::computeRestarts [18:01:57.099] grepl <- base::grepl [18:01:57.099] restarts <- computeRestarts(cond) [18:01:57.099] for (restart in restarts) { [18:01:57.099] name <- restart$name [18:01:57.099] if (is.null(name)) [18:01:57.099] next [18:01:57.099] if (!grepl(pattern, name)) [18:01:57.099] next [18:01:57.099] invokeRestart(restart) [18:01:57.099] muffled <- TRUE [18:01:57.099] break [18:01:57.099] } [18:01:57.099] } [18:01:57.099] } [18:01:57.099] invisible(muffled) [18:01:57.099] } [18:01:57.099] muffleCondition(cond) [18:01:57.099] }) [18:01:57.099] })) [18:01:57.099] future::FutureResult(value = ...future.value$value, [18:01:57.099] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.099] ...future.rng), globalenv = if (FALSE) [18:01:57.099] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.099] ...future.globalenv.names)) [18:01:57.099] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.099] }, condition = base::local({ [18:01:57.099] c <- base::c [18:01:57.099] inherits <- base::inherits [18:01:57.099] invokeRestart <- base::invokeRestart [18:01:57.099] length <- base::length [18:01:57.099] list <- base::list [18:01:57.099] seq.int <- base::seq.int [18:01:57.099] signalCondition <- base::signalCondition [18:01:57.099] sys.calls <- base::sys.calls [18:01:57.099] `[[` <- base::`[[` [18:01:57.099] `+` <- base::`+` [18:01:57.099] `<<-` <- base::`<<-` [18:01:57.099] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.099] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.099] 3L)] [18:01:57.099] } [18:01:57.099] function(cond) { [18:01:57.099] is_error <- inherits(cond, "error") [18:01:57.099] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.099] NULL) [18:01:57.099] if (is_error) { [18:01:57.099] sessionInformation <- function() { [18:01:57.099] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.099] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.099] search = base::search(), system = base::Sys.info()) [18:01:57.099] } [18:01:57.099] ...future.conditions[[length(...future.conditions) + [18:01:57.099] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.099] cond$call), session = sessionInformation(), [18:01:57.099] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.099] signalCondition(cond) [18:01:57.099] } [18:01:57.099] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.099] "immediateCondition"))) { [18:01:57.099] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.099] ...future.conditions[[length(...future.conditions) + [18:01:57.099] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.099] if (TRUE && !signal) { [18:01:57.099] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.099] { [18:01:57.099] inherits <- base::inherits [18:01:57.099] invokeRestart <- base::invokeRestart [18:01:57.099] is.null <- base::is.null [18:01:57.099] muffled <- FALSE [18:01:57.099] if (inherits(cond, "message")) { [18:01:57.099] muffled <- grepl(pattern, "muffleMessage") [18:01:57.099] if (muffled) [18:01:57.099] invokeRestart("muffleMessage") [18:01:57.099] } [18:01:57.099] else if (inherits(cond, "warning")) { [18:01:57.099] muffled <- grepl(pattern, "muffleWarning") [18:01:57.099] if (muffled) [18:01:57.099] invokeRestart("muffleWarning") [18:01:57.099] } [18:01:57.099] else if (inherits(cond, "condition")) { [18:01:57.099] if (!is.null(pattern)) { [18:01:57.099] computeRestarts <- base::computeRestarts [18:01:57.099] grepl <- base::grepl [18:01:57.099] restarts <- computeRestarts(cond) [18:01:57.099] for (restart in restarts) { [18:01:57.099] name <- restart$name [18:01:57.099] if (is.null(name)) [18:01:57.099] next [18:01:57.099] if (!grepl(pattern, name)) [18:01:57.099] next [18:01:57.099] invokeRestart(restart) [18:01:57.099] muffled <- TRUE [18:01:57.099] break [18:01:57.099] } [18:01:57.099] } [18:01:57.099] } [18:01:57.099] invisible(muffled) [18:01:57.099] } [18:01:57.099] muffleCondition(cond, pattern = "^muffle") [18:01:57.099] } [18:01:57.099] } [18:01:57.099] else { [18:01:57.099] if (TRUE) { [18:01:57.099] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.099] { [18:01:57.099] inherits <- base::inherits [18:01:57.099] invokeRestart <- base::invokeRestart [18:01:57.099] is.null <- base::is.null [18:01:57.099] muffled <- FALSE [18:01:57.099] if (inherits(cond, "message")) { [18:01:57.099] muffled <- grepl(pattern, "muffleMessage") [18:01:57.099] if (muffled) [18:01:57.099] invokeRestart("muffleMessage") [18:01:57.099] } [18:01:57.099] else if (inherits(cond, "warning")) { [18:01:57.099] muffled <- grepl(pattern, "muffleWarning") [18:01:57.099] if (muffled) [18:01:57.099] invokeRestart("muffleWarning") [18:01:57.099] } [18:01:57.099] else if (inherits(cond, "condition")) { [18:01:57.099] if (!is.null(pattern)) { [18:01:57.099] computeRestarts <- base::computeRestarts [18:01:57.099] grepl <- base::grepl [18:01:57.099] restarts <- computeRestarts(cond) [18:01:57.099] for (restart in restarts) { [18:01:57.099] name <- restart$name [18:01:57.099] if (is.null(name)) [18:01:57.099] next [18:01:57.099] if (!grepl(pattern, name)) [18:01:57.099] next [18:01:57.099] invokeRestart(restart) [18:01:57.099] muffled <- TRUE [18:01:57.099] break [18:01:57.099] } [18:01:57.099] } [18:01:57.099] } [18:01:57.099] invisible(muffled) [18:01:57.099] } [18:01:57.099] muffleCondition(cond, pattern = "^muffle") [18:01:57.099] } [18:01:57.099] } [18:01:57.099] } [18:01:57.099] })) [18:01:57.099] }, error = function(ex) { [18:01:57.099] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.099] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.099] ...future.rng), started = ...future.startTime, [18:01:57.099] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.099] version = "1.8"), class = "FutureResult") [18:01:57.099] }, finally = { [18:01:57.099] if (!identical(...future.workdir, getwd())) [18:01:57.099] setwd(...future.workdir) [18:01:57.099] { [18:01:57.099] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.099] ...future.oldOptions$nwarnings <- NULL [18:01:57.099] } [18:01:57.099] base::options(...future.oldOptions) [18:01:57.099] if (.Platform$OS.type == "windows") { [18:01:57.099] old_names <- names(...future.oldEnvVars) [18:01:57.099] envs <- base::Sys.getenv() [18:01:57.099] names <- names(envs) [18:01:57.099] common <- intersect(names, old_names) [18:01:57.099] added <- setdiff(names, old_names) [18:01:57.099] removed <- setdiff(old_names, names) [18:01:57.099] changed <- common[...future.oldEnvVars[common] != [18:01:57.099] envs[common]] [18:01:57.099] NAMES <- toupper(changed) [18:01:57.099] args <- list() [18:01:57.099] for (kk in seq_along(NAMES)) { [18:01:57.099] name <- changed[[kk]] [18:01:57.099] NAME <- NAMES[[kk]] [18:01:57.099] if (name != NAME && is.element(NAME, old_names)) [18:01:57.099] next [18:01:57.099] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.099] } [18:01:57.099] NAMES <- toupper(added) [18:01:57.099] for (kk in seq_along(NAMES)) { [18:01:57.099] name <- added[[kk]] [18:01:57.099] NAME <- NAMES[[kk]] [18:01:57.099] if (name != NAME && is.element(NAME, old_names)) [18:01:57.099] next [18:01:57.099] args[[name]] <- "" [18:01:57.099] } [18:01:57.099] NAMES <- toupper(removed) [18:01:57.099] for (kk in seq_along(NAMES)) { [18:01:57.099] name <- removed[[kk]] [18:01:57.099] NAME <- NAMES[[kk]] [18:01:57.099] if (name != NAME && is.element(NAME, old_names)) [18:01:57.099] next [18:01:57.099] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.099] } [18:01:57.099] if (length(args) > 0) [18:01:57.099] base::do.call(base::Sys.setenv, args = args) [18:01:57.099] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.099] } [18:01:57.099] else { [18:01:57.099] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.099] } [18:01:57.099] { [18:01:57.099] if (base::length(...future.futureOptionsAdded) > [18:01:57.099] 0L) { [18:01:57.099] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.099] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.099] base::options(opts) [18:01:57.099] } [18:01:57.099] { [18:01:57.099] { [18:01:57.099] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.099] NULL [18:01:57.099] } [18:01:57.099] options(future.plan = NULL) [18:01:57.099] if (is.na(NA_character_)) [18:01:57.099] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.099] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.099] future::plan(list(function (..., workers = availableCores(), [18:01:57.099] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.099] envir = parent.frame()) [18:01:57.099] { [18:01:57.099] if (is.function(workers)) [18:01:57.099] workers <- workers() [18:01:57.099] workers <- structure(as.integer(workers), [18:01:57.099] class = class(workers)) [18:01:57.099] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.099] workers >= 1) [18:01:57.099] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.099] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.099] } [18:01:57.099] future <- MultisessionFuture(..., workers = workers, [18:01:57.099] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.099] envir = envir) [18:01:57.099] if (!future$lazy) [18:01:57.099] future <- run(future) [18:01:57.099] invisible(future) [18:01:57.099] }), .cleanup = FALSE, .init = FALSE) [18:01:57.099] } [18:01:57.099] } [18:01:57.099] } [18:01:57.099] }) [18:01:57.099] if (TRUE) { [18:01:57.099] base::sink(type = "output", split = FALSE) [18:01:57.099] if (TRUE) { [18:01:57.099] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.099] } [18:01:57.099] else { [18:01:57.099] ...future.result["stdout"] <- base::list(NULL) [18:01:57.099] } [18:01:57.099] base::close(...future.stdout) [18:01:57.099] ...future.stdout <- NULL [18:01:57.099] } [18:01:57.099] ...future.result$conditions <- ...future.conditions [18:01:57.099] ...future.result$finished <- base::Sys.time() [18:01:57.099] ...future.result [18:01:57.099] } [18:01:57.105] MultisessionFuture started [18:01:57.105] - Launch lazy future ... done [18:01:57.105] run() for 'MultisessionFuture' ... done [18:01:57.105] result() for ClusterFuture ... [18:01:57.106] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.106] - Validating connection of MultisessionFuture [18:01:57.121] - received message: FutureResult [18:01:57.121] - Received FutureResult [18:01:57.121] - Erased future from FutureRegistry [18:01:57.122] result() for ClusterFuture ... [18:01:57.122] - result already collected: FutureResult [18:01:57.122] result() for ClusterFuture ... done [18:01:57.122] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.122] result() for ClusterFuture ... done [18:01:57.122] result() for ClusterFuture ... [18:01:57.123] - result already collected: FutureResult [18:01:57.123] result() for ClusterFuture ... done $b [1] 2 $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.123] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.123] Searching for globals... [18:01:57.126] - globals found: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:57.126] Searching for globals ... DONE [18:01:57.126] Resolving globals: TRUE [18:01:57.127] Resolving any globals that are futures ... [18:01:57.127] - globals: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:57.127] Resolving any globals that are futures ... DONE [18:01:57.127] Resolving futures part of globals (recursively) ... [18:01:57.128] resolve() on list ... [18:01:57.128] recursive: 99 [18:01:57.128] length: 1 [18:01:57.128] elements: 'x' [18:01:57.128] length: 0 (resolved future 1) [18:01:57.129] resolve() on list ... DONE [18:01:57.129] - globals: [1] 'x' [18:01:57.129] Resolving futures part of globals (recursively) ... DONE [18:01:57.129] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:57.130] The total size of the 1 globals exported for future expression ('{; x[["a"]] <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:57.130] - globals: [1] 'x' [18:01:57.130] [18:01:57.130] getGlobalsAndPackages() ... DONE [18:01:57.130] run() for 'Future' ... [18:01:57.131] - state: 'created' [18:01:57.131] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.145] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.145] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.145] - Field: 'node' [18:01:57.145] - Field: 'label' [18:01:57.145] - Field: 'local' [18:01:57.146] - Field: 'owner' [18:01:57.146] - Field: 'envir' [18:01:57.146] - Field: 'workers' [18:01:57.146] - Field: 'packages' [18:01:57.146] - Field: 'gc' [18:01:57.146] - Field: 'conditions' [18:01:57.147] - Field: 'persistent' [18:01:57.147] - Field: 'expr' [18:01:57.147] - Field: 'uuid' [18:01:57.147] - Field: 'seed' [18:01:57.147] - Field: 'version' [18:01:57.147] - Field: 'result' [18:01:57.148] - Field: 'asynchronous' [18:01:57.148] - Field: 'calls' [18:01:57.148] - Field: 'globals' [18:01:57.148] - Field: 'stdout' [18:01:57.148] - Field: 'earlySignal' [18:01:57.149] - Field: 'lazy' [18:01:57.149] - Field: 'state' [18:01:57.149] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.149] - Launch lazy future ... [18:01:57.149] Packages needed by the future expression (n = 0): [18:01:57.150] Packages needed by future strategies (n = 0): [18:01:57.150] { [18:01:57.150] { [18:01:57.150] { [18:01:57.150] ...future.startTime <- base::Sys.time() [18:01:57.150] { [18:01:57.150] { [18:01:57.150] { [18:01:57.150] { [18:01:57.150] base::local({ [18:01:57.150] has_future <- base::requireNamespace("future", [18:01:57.150] quietly = TRUE) [18:01:57.150] if (has_future) { [18:01:57.150] ns <- base::getNamespace("future") [18:01:57.150] version <- ns[[".package"]][["version"]] [18:01:57.150] if (is.null(version)) [18:01:57.150] version <- utils::packageVersion("future") [18:01:57.150] } [18:01:57.150] else { [18:01:57.150] version <- NULL [18:01:57.150] } [18:01:57.150] if (!has_future || version < "1.8.0") { [18:01:57.150] info <- base::c(r_version = base::gsub("R version ", [18:01:57.150] "", base::R.version$version.string), [18:01:57.150] platform = base::sprintf("%s (%s-bit)", [18:01:57.150] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.150] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.150] "release", "version")], collapse = " "), [18:01:57.150] hostname = base::Sys.info()[["nodename"]]) [18:01:57.150] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.150] info) [18:01:57.150] info <- base::paste(info, collapse = "; ") [18:01:57.150] if (!has_future) { [18:01:57.150] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.150] info) [18:01:57.150] } [18:01:57.150] else { [18:01:57.150] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.150] info, version) [18:01:57.150] } [18:01:57.150] base::stop(msg) [18:01:57.150] } [18:01:57.150] }) [18:01:57.150] } [18:01:57.150] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.150] base::options(mc.cores = 1L) [18:01:57.150] } [18:01:57.150] options(future.plan = NULL) [18:01:57.150] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.150] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.150] } [18:01:57.150] ...future.workdir <- getwd() [18:01:57.150] } [18:01:57.150] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.150] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.150] } [18:01:57.150] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.150] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.150] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.150] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.150] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.150] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.150] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.150] base::names(...future.oldOptions)) [18:01:57.150] } [18:01:57.150] if (FALSE) { [18:01:57.150] } [18:01:57.150] else { [18:01:57.150] if (TRUE) { [18:01:57.150] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.150] open = "w") [18:01:57.150] } [18:01:57.150] else { [18:01:57.150] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.150] windows = "NUL", "/dev/null"), open = "w") [18:01:57.150] } [18:01:57.150] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.150] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.150] base::sink(type = "output", split = FALSE) [18:01:57.150] base::close(...future.stdout) [18:01:57.150] }, add = TRUE) [18:01:57.150] } [18:01:57.150] ...future.frame <- base::sys.nframe() [18:01:57.150] ...future.conditions <- base::list() [18:01:57.150] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.150] if (FALSE) { [18:01:57.150] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.150] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.150] } [18:01:57.150] ...future.result <- base::tryCatch({ [18:01:57.150] base::withCallingHandlers({ [18:01:57.150] ...future.value <- base::withVisible(base::local({ [18:01:57.150] ...future.makeSendCondition <- local({ [18:01:57.150] sendCondition <- NULL [18:01:57.150] function(frame = 1L) { [18:01:57.150] if (is.function(sendCondition)) [18:01:57.150] return(sendCondition) [18:01:57.150] ns <- getNamespace("parallel") [18:01:57.150] if (exists("sendData", mode = "function", [18:01:57.150] envir = ns)) { [18:01:57.150] parallel_sendData <- get("sendData", mode = "function", [18:01:57.150] envir = ns) [18:01:57.150] envir <- sys.frame(frame) [18:01:57.150] master <- NULL [18:01:57.150] while (!identical(envir, .GlobalEnv) && [18:01:57.150] !identical(envir, emptyenv())) { [18:01:57.150] if (exists("master", mode = "list", envir = envir, [18:01:57.150] inherits = FALSE)) { [18:01:57.150] master <- get("master", mode = "list", [18:01:57.150] envir = envir, inherits = FALSE) [18:01:57.150] if (inherits(master, c("SOCKnode", [18:01:57.150] "SOCK0node"))) { [18:01:57.150] sendCondition <<- function(cond) { [18:01:57.150] data <- list(type = "VALUE", value = cond, [18:01:57.150] success = TRUE) [18:01:57.150] parallel_sendData(master, data) [18:01:57.150] } [18:01:57.150] return(sendCondition) [18:01:57.150] } [18:01:57.150] } [18:01:57.150] frame <- frame + 1L [18:01:57.150] envir <- sys.frame(frame) [18:01:57.150] } [18:01:57.150] } [18:01:57.150] sendCondition <<- function(cond) NULL [18:01:57.150] } [18:01:57.150] }) [18:01:57.150] withCallingHandlers({ [18:01:57.150] { [18:01:57.150] x[["a"]] <- 1 [18:01:57.150] x [18:01:57.150] } [18:01:57.150] }, immediateCondition = function(cond) { [18:01:57.150] sendCondition <- ...future.makeSendCondition() [18:01:57.150] sendCondition(cond) [18:01:57.150] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.150] { [18:01:57.150] inherits <- base::inherits [18:01:57.150] invokeRestart <- base::invokeRestart [18:01:57.150] is.null <- base::is.null [18:01:57.150] muffled <- FALSE [18:01:57.150] if (inherits(cond, "message")) { [18:01:57.150] muffled <- grepl(pattern, "muffleMessage") [18:01:57.150] if (muffled) [18:01:57.150] invokeRestart("muffleMessage") [18:01:57.150] } [18:01:57.150] else if (inherits(cond, "warning")) { [18:01:57.150] muffled <- grepl(pattern, "muffleWarning") [18:01:57.150] if (muffled) [18:01:57.150] invokeRestart("muffleWarning") [18:01:57.150] } [18:01:57.150] else if (inherits(cond, "condition")) { [18:01:57.150] if (!is.null(pattern)) { [18:01:57.150] computeRestarts <- base::computeRestarts [18:01:57.150] grepl <- base::grepl [18:01:57.150] restarts <- computeRestarts(cond) [18:01:57.150] for (restart in restarts) { [18:01:57.150] name <- restart$name [18:01:57.150] if (is.null(name)) [18:01:57.150] next [18:01:57.150] if (!grepl(pattern, name)) [18:01:57.150] next [18:01:57.150] invokeRestart(restart) [18:01:57.150] muffled <- TRUE [18:01:57.150] break [18:01:57.150] } [18:01:57.150] } [18:01:57.150] } [18:01:57.150] invisible(muffled) [18:01:57.150] } [18:01:57.150] muffleCondition(cond) [18:01:57.150] }) [18:01:57.150] })) [18:01:57.150] future::FutureResult(value = ...future.value$value, [18:01:57.150] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.150] ...future.rng), globalenv = if (FALSE) [18:01:57.150] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.150] ...future.globalenv.names)) [18:01:57.150] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.150] }, condition = base::local({ [18:01:57.150] c <- base::c [18:01:57.150] inherits <- base::inherits [18:01:57.150] invokeRestart <- base::invokeRestart [18:01:57.150] length <- base::length [18:01:57.150] list <- base::list [18:01:57.150] seq.int <- base::seq.int [18:01:57.150] signalCondition <- base::signalCondition [18:01:57.150] sys.calls <- base::sys.calls [18:01:57.150] `[[` <- base::`[[` [18:01:57.150] `+` <- base::`+` [18:01:57.150] `<<-` <- base::`<<-` [18:01:57.150] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.150] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.150] 3L)] [18:01:57.150] } [18:01:57.150] function(cond) { [18:01:57.150] is_error <- inherits(cond, "error") [18:01:57.150] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.150] NULL) [18:01:57.150] if (is_error) { [18:01:57.150] sessionInformation <- function() { [18:01:57.150] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.150] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.150] search = base::search(), system = base::Sys.info()) [18:01:57.150] } [18:01:57.150] ...future.conditions[[length(...future.conditions) + [18:01:57.150] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.150] cond$call), session = sessionInformation(), [18:01:57.150] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.150] signalCondition(cond) [18:01:57.150] } [18:01:57.150] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.150] "immediateCondition"))) { [18:01:57.150] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.150] ...future.conditions[[length(...future.conditions) + [18:01:57.150] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.150] if (TRUE && !signal) { [18:01:57.150] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.150] { [18:01:57.150] inherits <- base::inherits [18:01:57.150] invokeRestart <- base::invokeRestart [18:01:57.150] is.null <- base::is.null [18:01:57.150] muffled <- FALSE [18:01:57.150] if (inherits(cond, "message")) { [18:01:57.150] muffled <- grepl(pattern, "muffleMessage") [18:01:57.150] if (muffled) [18:01:57.150] invokeRestart("muffleMessage") [18:01:57.150] } [18:01:57.150] else if (inherits(cond, "warning")) { [18:01:57.150] muffled <- grepl(pattern, "muffleWarning") [18:01:57.150] if (muffled) [18:01:57.150] invokeRestart("muffleWarning") [18:01:57.150] } [18:01:57.150] else if (inherits(cond, "condition")) { [18:01:57.150] if (!is.null(pattern)) { [18:01:57.150] computeRestarts <- base::computeRestarts [18:01:57.150] grepl <- base::grepl [18:01:57.150] restarts <- computeRestarts(cond) [18:01:57.150] for (restart in restarts) { [18:01:57.150] name <- restart$name [18:01:57.150] if (is.null(name)) [18:01:57.150] next [18:01:57.150] if (!grepl(pattern, name)) [18:01:57.150] next [18:01:57.150] invokeRestart(restart) [18:01:57.150] muffled <- TRUE [18:01:57.150] break [18:01:57.150] } [18:01:57.150] } [18:01:57.150] } [18:01:57.150] invisible(muffled) [18:01:57.150] } [18:01:57.150] muffleCondition(cond, pattern = "^muffle") [18:01:57.150] } [18:01:57.150] } [18:01:57.150] else { [18:01:57.150] if (TRUE) { [18:01:57.150] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.150] { [18:01:57.150] inherits <- base::inherits [18:01:57.150] invokeRestart <- base::invokeRestart [18:01:57.150] is.null <- base::is.null [18:01:57.150] muffled <- FALSE [18:01:57.150] if (inherits(cond, "message")) { [18:01:57.150] muffled <- grepl(pattern, "muffleMessage") [18:01:57.150] if (muffled) [18:01:57.150] invokeRestart("muffleMessage") [18:01:57.150] } [18:01:57.150] else if (inherits(cond, "warning")) { [18:01:57.150] muffled <- grepl(pattern, "muffleWarning") [18:01:57.150] if (muffled) [18:01:57.150] invokeRestart("muffleWarning") [18:01:57.150] } [18:01:57.150] else if (inherits(cond, "condition")) { [18:01:57.150] if (!is.null(pattern)) { [18:01:57.150] computeRestarts <- base::computeRestarts [18:01:57.150] grepl <- base::grepl [18:01:57.150] restarts <- computeRestarts(cond) [18:01:57.150] for (restart in restarts) { [18:01:57.150] name <- restart$name [18:01:57.150] if (is.null(name)) [18:01:57.150] next [18:01:57.150] if (!grepl(pattern, name)) [18:01:57.150] next [18:01:57.150] invokeRestart(restart) [18:01:57.150] muffled <- TRUE [18:01:57.150] break [18:01:57.150] } [18:01:57.150] } [18:01:57.150] } [18:01:57.150] invisible(muffled) [18:01:57.150] } [18:01:57.150] muffleCondition(cond, pattern = "^muffle") [18:01:57.150] } [18:01:57.150] } [18:01:57.150] } [18:01:57.150] })) [18:01:57.150] }, error = function(ex) { [18:01:57.150] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.150] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.150] ...future.rng), started = ...future.startTime, [18:01:57.150] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.150] version = "1.8"), class = "FutureResult") [18:01:57.150] }, finally = { [18:01:57.150] if (!identical(...future.workdir, getwd())) [18:01:57.150] setwd(...future.workdir) [18:01:57.150] { [18:01:57.150] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.150] ...future.oldOptions$nwarnings <- NULL [18:01:57.150] } [18:01:57.150] base::options(...future.oldOptions) [18:01:57.150] if (.Platform$OS.type == "windows") { [18:01:57.150] old_names <- names(...future.oldEnvVars) [18:01:57.150] envs <- base::Sys.getenv() [18:01:57.150] names <- names(envs) [18:01:57.150] common <- intersect(names, old_names) [18:01:57.150] added <- setdiff(names, old_names) [18:01:57.150] removed <- setdiff(old_names, names) [18:01:57.150] changed <- common[...future.oldEnvVars[common] != [18:01:57.150] envs[common]] [18:01:57.150] NAMES <- toupper(changed) [18:01:57.150] args <- list() [18:01:57.150] for (kk in seq_along(NAMES)) { [18:01:57.150] name <- changed[[kk]] [18:01:57.150] NAME <- NAMES[[kk]] [18:01:57.150] if (name != NAME && is.element(NAME, old_names)) [18:01:57.150] next [18:01:57.150] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.150] } [18:01:57.150] NAMES <- toupper(added) [18:01:57.150] for (kk in seq_along(NAMES)) { [18:01:57.150] name <- added[[kk]] [18:01:57.150] NAME <- NAMES[[kk]] [18:01:57.150] if (name != NAME && is.element(NAME, old_names)) [18:01:57.150] next [18:01:57.150] args[[name]] <- "" [18:01:57.150] } [18:01:57.150] NAMES <- toupper(removed) [18:01:57.150] for (kk in seq_along(NAMES)) { [18:01:57.150] name <- removed[[kk]] [18:01:57.150] NAME <- NAMES[[kk]] [18:01:57.150] if (name != NAME && is.element(NAME, old_names)) [18:01:57.150] next [18:01:57.150] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.150] } [18:01:57.150] if (length(args) > 0) [18:01:57.150] base::do.call(base::Sys.setenv, args = args) [18:01:57.150] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.150] } [18:01:57.150] else { [18:01:57.150] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.150] } [18:01:57.150] { [18:01:57.150] if (base::length(...future.futureOptionsAdded) > [18:01:57.150] 0L) { [18:01:57.150] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.150] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.150] base::options(opts) [18:01:57.150] } [18:01:57.150] { [18:01:57.150] { [18:01:57.150] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.150] NULL [18:01:57.150] } [18:01:57.150] options(future.plan = NULL) [18:01:57.150] if (is.na(NA_character_)) [18:01:57.150] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.150] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.150] future::plan(list(function (..., workers = availableCores(), [18:01:57.150] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.150] envir = parent.frame()) [18:01:57.150] { [18:01:57.150] if (is.function(workers)) [18:01:57.150] workers <- workers() [18:01:57.150] workers <- structure(as.integer(workers), [18:01:57.150] class = class(workers)) [18:01:57.150] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.150] workers >= 1) [18:01:57.150] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.150] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.150] } [18:01:57.150] future <- MultisessionFuture(..., workers = workers, [18:01:57.150] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.150] envir = envir) [18:01:57.150] if (!future$lazy) [18:01:57.150] future <- run(future) [18:01:57.150] invisible(future) [18:01:57.150] }), .cleanup = FALSE, .init = FALSE) [18:01:57.150] } [18:01:57.150] } [18:01:57.150] } [18:01:57.150] }) [18:01:57.150] if (TRUE) { [18:01:57.150] base::sink(type = "output", split = FALSE) [18:01:57.150] if (TRUE) { [18:01:57.150] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.150] } [18:01:57.150] else { [18:01:57.150] ...future.result["stdout"] <- base::list(NULL) [18:01:57.150] } [18:01:57.150] base::close(...future.stdout) [18:01:57.150] ...future.stdout <- NULL [18:01:57.150] } [18:01:57.150] ...future.result$conditions <- ...future.conditions [18:01:57.150] ...future.result$finished <- base::Sys.time() [18:01:57.150] ...future.result [18:01:57.150] } [18:01:57.155] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.156] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.156] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.156] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.157] MultisessionFuture started [18:01:57.157] - Launch lazy future ... done [18:01:57.157] run() for 'MultisessionFuture' ... done [18:01:57.157] result() for ClusterFuture ... [18:01:57.158] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.158] - Validating connection of MultisessionFuture [18:01:57.173] - received message: FutureResult [18:01:57.173] - Received FutureResult [18:01:57.174] - Erased future from FutureRegistry [18:01:57.174] result() for ClusterFuture ... [18:01:57.174] - result already collected: FutureResult [18:01:57.174] result() for ClusterFuture ... done [18:01:57.174] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.174] result() for ClusterFuture ... done [18:01:57.174] result() for ClusterFuture ... [18:01:57.175] - result already collected: FutureResult [18:01:57.175] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.175] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.175] Searching for globals... [18:01:57.178] - globals found: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:57.178] Searching for globals ... DONE [18:01:57.178] Resolving globals: TRUE [18:01:57.178] Resolving any globals that are futures ... [18:01:57.179] - globals: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:57.179] Resolving any globals that are futures ... DONE [18:01:57.179] Resolving futures part of globals (recursively) ... [18:01:57.180] resolve() on list ... [18:01:57.180] recursive: 99 [18:01:57.180] length: 1 [18:01:57.180] elements: 'x' [18:01:57.180] length: 0 (resolved future 1) [18:01:57.180] resolve() on list ... DONE [18:01:57.181] - globals: [1] 'x' [18:01:57.181] Resolving futures part of globals (recursively) ... DONE [18:01:57.181] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:57.181] The total size of the 1 globals exported for future expression ('{; x[["a"]] <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:57.182] - globals: [1] 'x' [18:01:57.182] [18:01:57.182] getGlobalsAndPackages() ... DONE [18:01:57.182] run() for 'Future' ... [18:01:57.182] - state: 'created' [18:01:57.183] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.196] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.197] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.197] - Field: 'node' [18:01:57.197] - Field: 'label' [18:01:57.197] - Field: 'local' [18:01:57.197] - Field: 'owner' [18:01:57.197] - Field: 'envir' [18:01:57.198] - Field: 'workers' [18:01:57.198] - Field: 'packages' [18:01:57.198] - Field: 'gc' [18:01:57.198] - Field: 'conditions' [18:01:57.198] - Field: 'persistent' [18:01:57.199] - Field: 'expr' [18:01:57.199] - Field: 'uuid' [18:01:57.199] - Field: 'seed' [18:01:57.199] - Field: 'version' [18:01:57.199] - Field: 'result' [18:01:57.199] - Field: 'asynchronous' [18:01:57.200] - Field: 'calls' [18:01:57.200] - Field: 'globals' [18:01:57.200] - Field: 'stdout' [18:01:57.200] - Field: 'earlySignal' [18:01:57.200] - Field: 'lazy' [18:01:57.201] - Field: 'state' [18:01:57.201] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.201] - Launch lazy future ... [18:01:57.201] Packages needed by the future expression (n = 0): [18:01:57.201] Packages needed by future strategies (n = 0): [18:01:57.202] { [18:01:57.202] { [18:01:57.202] { [18:01:57.202] ...future.startTime <- base::Sys.time() [18:01:57.202] { [18:01:57.202] { [18:01:57.202] { [18:01:57.202] { [18:01:57.202] base::local({ [18:01:57.202] has_future <- base::requireNamespace("future", [18:01:57.202] quietly = TRUE) [18:01:57.202] if (has_future) { [18:01:57.202] ns <- base::getNamespace("future") [18:01:57.202] version <- ns[[".package"]][["version"]] [18:01:57.202] if (is.null(version)) [18:01:57.202] version <- utils::packageVersion("future") [18:01:57.202] } [18:01:57.202] else { [18:01:57.202] version <- NULL [18:01:57.202] } [18:01:57.202] if (!has_future || version < "1.8.0") { [18:01:57.202] info <- base::c(r_version = base::gsub("R version ", [18:01:57.202] "", base::R.version$version.string), [18:01:57.202] platform = base::sprintf("%s (%s-bit)", [18:01:57.202] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.202] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.202] "release", "version")], collapse = " "), [18:01:57.202] hostname = base::Sys.info()[["nodename"]]) [18:01:57.202] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.202] info) [18:01:57.202] info <- base::paste(info, collapse = "; ") [18:01:57.202] if (!has_future) { [18:01:57.202] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.202] info) [18:01:57.202] } [18:01:57.202] else { [18:01:57.202] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.202] info, version) [18:01:57.202] } [18:01:57.202] base::stop(msg) [18:01:57.202] } [18:01:57.202] }) [18:01:57.202] } [18:01:57.202] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.202] base::options(mc.cores = 1L) [18:01:57.202] } [18:01:57.202] options(future.plan = NULL) [18:01:57.202] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.202] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.202] } [18:01:57.202] ...future.workdir <- getwd() [18:01:57.202] } [18:01:57.202] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.202] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.202] } [18:01:57.202] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.202] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.202] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.202] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.202] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.202] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.202] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.202] base::names(...future.oldOptions)) [18:01:57.202] } [18:01:57.202] if (FALSE) { [18:01:57.202] } [18:01:57.202] else { [18:01:57.202] if (TRUE) { [18:01:57.202] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.202] open = "w") [18:01:57.202] } [18:01:57.202] else { [18:01:57.202] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.202] windows = "NUL", "/dev/null"), open = "w") [18:01:57.202] } [18:01:57.202] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.202] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.202] base::sink(type = "output", split = FALSE) [18:01:57.202] base::close(...future.stdout) [18:01:57.202] }, add = TRUE) [18:01:57.202] } [18:01:57.202] ...future.frame <- base::sys.nframe() [18:01:57.202] ...future.conditions <- base::list() [18:01:57.202] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.202] if (FALSE) { [18:01:57.202] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.202] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.202] } [18:01:57.202] ...future.result <- base::tryCatch({ [18:01:57.202] base::withCallingHandlers({ [18:01:57.202] ...future.value <- base::withVisible(base::local({ [18:01:57.202] ...future.makeSendCondition <- local({ [18:01:57.202] sendCondition <- NULL [18:01:57.202] function(frame = 1L) { [18:01:57.202] if (is.function(sendCondition)) [18:01:57.202] return(sendCondition) [18:01:57.202] ns <- getNamespace("parallel") [18:01:57.202] if (exists("sendData", mode = "function", [18:01:57.202] envir = ns)) { [18:01:57.202] parallel_sendData <- get("sendData", mode = "function", [18:01:57.202] envir = ns) [18:01:57.202] envir <- sys.frame(frame) [18:01:57.202] master <- NULL [18:01:57.202] while (!identical(envir, .GlobalEnv) && [18:01:57.202] !identical(envir, emptyenv())) { [18:01:57.202] if (exists("master", mode = "list", envir = envir, [18:01:57.202] inherits = FALSE)) { [18:01:57.202] master <- get("master", mode = "list", [18:01:57.202] envir = envir, inherits = FALSE) [18:01:57.202] if (inherits(master, c("SOCKnode", [18:01:57.202] "SOCK0node"))) { [18:01:57.202] sendCondition <<- function(cond) { [18:01:57.202] data <- list(type = "VALUE", value = cond, [18:01:57.202] success = TRUE) [18:01:57.202] parallel_sendData(master, data) [18:01:57.202] } [18:01:57.202] return(sendCondition) [18:01:57.202] } [18:01:57.202] } [18:01:57.202] frame <- frame + 1L [18:01:57.202] envir <- sys.frame(frame) [18:01:57.202] } [18:01:57.202] } [18:01:57.202] sendCondition <<- function(cond) NULL [18:01:57.202] } [18:01:57.202] }) [18:01:57.202] withCallingHandlers({ [18:01:57.202] { [18:01:57.202] x[["a"]] <- 1 [18:01:57.202] x [18:01:57.202] } [18:01:57.202] }, immediateCondition = function(cond) { [18:01:57.202] sendCondition <- ...future.makeSendCondition() [18:01:57.202] sendCondition(cond) [18:01:57.202] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.202] { [18:01:57.202] inherits <- base::inherits [18:01:57.202] invokeRestart <- base::invokeRestart [18:01:57.202] is.null <- base::is.null [18:01:57.202] muffled <- FALSE [18:01:57.202] if (inherits(cond, "message")) { [18:01:57.202] muffled <- grepl(pattern, "muffleMessage") [18:01:57.202] if (muffled) [18:01:57.202] invokeRestart("muffleMessage") [18:01:57.202] } [18:01:57.202] else if (inherits(cond, "warning")) { [18:01:57.202] muffled <- grepl(pattern, "muffleWarning") [18:01:57.202] if (muffled) [18:01:57.202] invokeRestart("muffleWarning") [18:01:57.202] } [18:01:57.202] else if (inherits(cond, "condition")) { [18:01:57.202] if (!is.null(pattern)) { [18:01:57.202] computeRestarts <- base::computeRestarts [18:01:57.202] grepl <- base::grepl [18:01:57.202] restarts <- computeRestarts(cond) [18:01:57.202] for (restart in restarts) { [18:01:57.202] name <- restart$name [18:01:57.202] if (is.null(name)) [18:01:57.202] next [18:01:57.202] if (!grepl(pattern, name)) [18:01:57.202] next [18:01:57.202] invokeRestart(restart) [18:01:57.202] muffled <- TRUE [18:01:57.202] break [18:01:57.202] } [18:01:57.202] } [18:01:57.202] } [18:01:57.202] invisible(muffled) [18:01:57.202] } [18:01:57.202] muffleCondition(cond) [18:01:57.202] }) [18:01:57.202] })) [18:01:57.202] future::FutureResult(value = ...future.value$value, [18:01:57.202] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.202] ...future.rng), globalenv = if (FALSE) [18:01:57.202] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.202] ...future.globalenv.names)) [18:01:57.202] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.202] }, condition = base::local({ [18:01:57.202] c <- base::c [18:01:57.202] inherits <- base::inherits [18:01:57.202] invokeRestart <- base::invokeRestart [18:01:57.202] length <- base::length [18:01:57.202] list <- base::list [18:01:57.202] seq.int <- base::seq.int [18:01:57.202] signalCondition <- base::signalCondition [18:01:57.202] sys.calls <- base::sys.calls [18:01:57.202] `[[` <- base::`[[` [18:01:57.202] `+` <- base::`+` [18:01:57.202] `<<-` <- base::`<<-` [18:01:57.202] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.202] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.202] 3L)] [18:01:57.202] } [18:01:57.202] function(cond) { [18:01:57.202] is_error <- inherits(cond, "error") [18:01:57.202] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.202] NULL) [18:01:57.202] if (is_error) { [18:01:57.202] sessionInformation <- function() { [18:01:57.202] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.202] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.202] search = base::search(), system = base::Sys.info()) [18:01:57.202] } [18:01:57.202] ...future.conditions[[length(...future.conditions) + [18:01:57.202] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.202] cond$call), session = sessionInformation(), [18:01:57.202] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.202] signalCondition(cond) [18:01:57.202] } [18:01:57.202] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.202] "immediateCondition"))) { [18:01:57.202] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.202] ...future.conditions[[length(...future.conditions) + [18:01:57.202] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.202] if (TRUE && !signal) { [18:01:57.202] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.202] { [18:01:57.202] inherits <- base::inherits [18:01:57.202] invokeRestart <- base::invokeRestart [18:01:57.202] is.null <- base::is.null [18:01:57.202] muffled <- FALSE [18:01:57.202] if (inherits(cond, "message")) { [18:01:57.202] muffled <- grepl(pattern, "muffleMessage") [18:01:57.202] if (muffled) [18:01:57.202] invokeRestart("muffleMessage") [18:01:57.202] } [18:01:57.202] else if (inherits(cond, "warning")) { [18:01:57.202] muffled <- grepl(pattern, "muffleWarning") [18:01:57.202] if (muffled) [18:01:57.202] invokeRestart("muffleWarning") [18:01:57.202] } [18:01:57.202] else if (inherits(cond, "condition")) { [18:01:57.202] if (!is.null(pattern)) { [18:01:57.202] computeRestarts <- base::computeRestarts [18:01:57.202] grepl <- base::grepl [18:01:57.202] restarts <- computeRestarts(cond) [18:01:57.202] for (restart in restarts) { [18:01:57.202] name <- restart$name [18:01:57.202] if (is.null(name)) [18:01:57.202] next [18:01:57.202] if (!grepl(pattern, name)) [18:01:57.202] next [18:01:57.202] invokeRestart(restart) [18:01:57.202] muffled <- TRUE [18:01:57.202] break [18:01:57.202] } [18:01:57.202] } [18:01:57.202] } [18:01:57.202] invisible(muffled) [18:01:57.202] } [18:01:57.202] muffleCondition(cond, pattern = "^muffle") [18:01:57.202] } [18:01:57.202] } [18:01:57.202] else { [18:01:57.202] if (TRUE) { [18:01:57.202] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.202] { [18:01:57.202] inherits <- base::inherits [18:01:57.202] invokeRestart <- base::invokeRestart [18:01:57.202] is.null <- base::is.null [18:01:57.202] muffled <- FALSE [18:01:57.202] if (inherits(cond, "message")) { [18:01:57.202] muffled <- grepl(pattern, "muffleMessage") [18:01:57.202] if (muffled) [18:01:57.202] invokeRestart("muffleMessage") [18:01:57.202] } [18:01:57.202] else if (inherits(cond, "warning")) { [18:01:57.202] muffled <- grepl(pattern, "muffleWarning") [18:01:57.202] if (muffled) [18:01:57.202] invokeRestart("muffleWarning") [18:01:57.202] } [18:01:57.202] else if (inherits(cond, "condition")) { [18:01:57.202] if (!is.null(pattern)) { [18:01:57.202] computeRestarts <- base::computeRestarts [18:01:57.202] grepl <- base::grepl [18:01:57.202] restarts <- computeRestarts(cond) [18:01:57.202] for (restart in restarts) { [18:01:57.202] name <- restart$name [18:01:57.202] if (is.null(name)) [18:01:57.202] next [18:01:57.202] if (!grepl(pattern, name)) [18:01:57.202] next [18:01:57.202] invokeRestart(restart) [18:01:57.202] muffled <- TRUE [18:01:57.202] break [18:01:57.202] } [18:01:57.202] } [18:01:57.202] } [18:01:57.202] invisible(muffled) [18:01:57.202] } [18:01:57.202] muffleCondition(cond, pattern = "^muffle") [18:01:57.202] } [18:01:57.202] } [18:01:57.202] } [18:01:57.202] })) [18:01:57.202] }, error = function(ex) { [18:01:57.202] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.202] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.202] ...future.rng), started = ...future.startTime, [18:01:57.202] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.202] version = "1.8"), class = "FutureResult") [18:01:57.202] }, finally = { [18:01:57.202] if (!identical(...future.workdir, getwd())) [18:01:57.202] setwd(...future.workdir) [18:01:57.202] { [18:01:57.202] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.202] ...future.oldOptions$nwarnings <- NULL [18:01:57.202] } [18:01:57.202] base::options(...future.oldOptions) [18:01:57.202] if (.Platform$OS.type == "windows") { [18:01:57.202] old_names <- names(...future.oldEnvVars) [18:01:57.202] envs <- base::Sys.getenv() [18:01:57.202] names <- names(envs) [18:01:57.202] common <- intersect(names, old_names) [18:01:57.202] added <- setdiff(names, old_names) [18:01:57.202] removed <- setdiff(old_names, names) [18:01:57.202] changed <- common[...future.oldEnvVars[common] != [18:01:57.202] envs[common]] [18:01:57.202] NAMES <- toupper(changed) [18:01:57.202] args <- list() [18:01:57.202] for (kk in seq_along(NAMES)) { [18:01:57.202] name <- changed[[kk]] [18:01:57.202] NAME <- NAMES[[kk]] [18:01:57.202] if (name != NAME && is.element(NAME, old_names)) [18:01:57.202] next [18:01:57.202] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.202] } [18:01:57.202] NAMES <- toupper(added) [18:01:57.202] for (kk in seq_along(NAMES)) { [18:01:57.202] name <- added[[kk]] [18:01:57.202] NAME <- NAMES[[kk]] [18:01:57.202] if (name != NAME && is.element(NAME, old_names)) [18:01:57.202] next [18:01:57.202] args[[name]] <- "" [18:01:57.202] } [18:01:57.202] NAMES <- toupper(removed) [18:01:57.202] for (kk in seq_along(NAMES)) { [18:01:57.202] name <- removed[[kk]] [18:01:57.202] NAME <- NAMES[[kk]] [18:01:57.202] if (name != NAME && is.element(NAME, old_names)) [18:01:57.202] next [18:01:57.202] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.202] } [18:01:57.202] if (length(args) > 0) [18:01:57.202] base::do.call(base::Sys.setenv, args = args) [18:01:57.202] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.202] } [18:01:57.202] else { [18:01:57.202] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.202] } [18:01:57.202] { [18:01:57.202] if (base::length(...future.futureOptionsAdded) > [18:01:57.202] 0L) { [18:01:57.202] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.202] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.202] base::options(opts) [18:01:57.202] } [18:01:57.202] { [18:01:57.202] { [18:01:57.202] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.202] NULL [18:01:57.202] } [18:01:57.202] options(future.plan = NULL) [18:01:57.202] if (is.na(NA_character_)) [18:01:57.202] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.202] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.202] future::plan(list(function (..., workers = availableCores(), [18:01:57.202] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.202] envir = parent.frame()) [18:01:57.202] { [18:01:57.202] if (is.function(workers)) [18:01:57.202] workers <- workers() [18:01:57.202] workers <- structure(as.integer(workers), [18:01:57.202] class = class(workers)) [18:01:57.202] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.202] workers >= 1) [18:01:57.202] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.202] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.202] } [18:01:57.202] future <- MultisessionFuture(..., workers = workers, [18:01:57.202] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.202] envir = envir) [18:01:57.202] if (!future$lazy) [18:01:57.202] future <- run(future) [18:01:57.202] invisible(future) [18:01:57.202] }), .cleanup = FALSE, .init = FALSE) [18:01:57.202] } [18:01:57.202] } [18:01:57.202] } [18:01:57.202] }) [18:01:57.202] if (TRUE) { [18:01:57.202] base::sink(type = "output", split = FALSE) [18:01:57.202] if (TRUE) { [18:01:57.202] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.202] } [18:01:57.202] else { [18:01:57.202] ...future.result["stdout"] <- base::list(NULL) [18:01:57.202] } [18:01:57.202] base::close(...future.stdout) [18:01:57.202] ...future.stdout <- NULL [18:01:57.202] } [18:01:57.202] ...future.result$conditions <- ...future.conditions [18:01:57.202] ...future.result$finished <- base::Sys.time() [18:01:57.202] ...future.result [18:01:57.202] } [18:01:57.207] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.208] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.208] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.208] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.209] MultisessionFuture started [18:01:57.209] - Launch lazy future ... done [18:01:57.209] run() for 'MultisessionFuture' ... done [18:01:57.209] result() for ClusterFuture ... [18:01:57.210] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.210] - Validating connection of MultisessionFuture [18:01:57.224] - received message: FutureResult [18:01:57.225] - Received FutureResult [18:01:57.225] - Erased future from FutureRegistry [18:01:57.225] result() for ClusterFuture ... [18:01:57.225] - result already collected: FutureResult [18:01:57.225] result() for ClusterFuture ... done [18:01:57.225] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.227] result() for ClusterFuture ... done [18:01:57.228] result() for ClusterFuture ... [18:01:57.228] - result already collected: FutureResult [18:01:57.228] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.229] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.229] Searching for globals... [18:01:57.231] - globals found: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:57.232] Searching for globals ... DONE [18:01:57.232] Resolving globals: TRUE [18:01:57.232] Resolving any globals that are futures ... [18:01:57.232] - globals: [5] '{', 'x', '<-', '[[', '[[<-' [18:01:57.232] Resolving any globals that are futures ... DONE [18:01:57.233] Resolving futures part of globals (recursively) ... [18:01:57.233] resolve() on list ... [18:01:57.233] recursive: 99 [18:01:57.233] length: 1 [18:01:57.234] elements: 'x' [18:01:57.234] length: 0 (resolved future 1) [18:01:57.234] resolve() on list ... DONE [18:01:57.234] - globals: [1] 'x' [18:01:57.234] Resolving futures part of globals (recursively) ... DONE [18:01:57.235] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:57.235] The total size of the 1 globals exported for future expression ('{; x[["a"]] <- 1; x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:57.235] - globals: [1] 'x' [18:01:57.235] [18:01:57.236] getGlobalsAndPackages() ... DONE [18:01:57.236] run() for 'Future' ... [18:01:57.236] - state: 'created' [18:01:57.236] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.250] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.250] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.250] - Field: 'node' [18:01:57.250] - Field: 'label' [18:01:57.250] - Field: 'local' [18:01:57.250] - Field: 'owner' [18:01:57.251] - Field: 'envir' [18:01:57.251] - Field: 'workers' [18:01:57.251] - Field: 'packages' [18:01:57.251] - Field: 'gc' [18:01:57.251] - Field: 'conditions' [18:01:57.252] - Field: 'persistent' [18:01:57.252] - Field: 'expr' [18:01:57.252] - Field: 'uuid' [18:01:57.252] - Field: 'seed' [18:01:57.252] - Field: 'version' [18:01:57.252] - Field: 'result' [18:01:57.253] - Field: 'asynchronous' [18:01:57.253] - Field: 'calls' [18:01:57.253] - Field: 'globals' [18:01:57.253] - Field: 'stdout' [18:01:57.253] - Field: 'earlySignal' [18:01:57.253] - Field: 'lazy' [18:01:57.254] - Field: 'state' [18:01:57.254] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.254] - Launch lazy future ... [18:01:57.254] Packages needed by the future expression (n = 0): [18:01:57.254] Packages needed by future strategies (n = 0): [18:01:57.255] { [18:01:57.255] { [18:01:57.255] { [18:01:57.255] ...future.startTime <- base::Sys.time() [18:01:57.255] { [18:01:57.255] { [18:01:57.255] { [18:01:57.255] { [18:01:57.255] base::local({ [18:01:57.255] has_future <- base::requireNamespace("future", [18:01:57.255] quietly = TRUE) [18:01:57.255] if (has_future) { [18:01:57.255] ns <- base::getNamespace("future") [18:01:57.255] version <- ns[[".package"]][["version"]] [18:01:57.255] if (is.null(version)) [18:01:57.255] version <- utils::packageVersion("future") [18:01:57.255] } [18:01:57.255] else { [18:01:57.255] version <- NULL [18:01:57.255] } [18:01:57.255] if (!has_future || version < "1.8.0") { [18:01:57.255] info <- base::c(r_version = base::gsub("R version ", [18:01:57.255] "", base::R.version$version.string), [18:01:57.255] platform = base::sprintf("%s (%s-bit)", [18:01:57.255] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.255] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.255] "release", "version")], collapse = " "), [18:01:57.255] hostname = base::Sys.info()[["nodename"]]) [18:01:57.255] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.255] info) [18:01:57.255] info <- base::paste(info, collapse = "; ") [18:01:57.255] if (!has_future) { [18:01:57.255] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.255] info) [18:01:57.255] } [18:01:57.255] else { [18:01:57.255] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.255] info, version) [18:01:57.255] } [18:01:57.255] base::stop(msg) [18:01:57.255] } [18:01:57.255] }) [18:01:57.255] } [18:01:57.255] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.255] base::options(mc.cores = 1L) [18:01:57.255] } [18:01:57.255] options(future.plan = NULL) [18:01:57.255] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.255] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.255] } [18:01:57.255] ...future.workdir <- getwd() [18:01:57.255] } [18:01:57.255] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.255] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.255] } [18:01:57.255] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.255] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.255] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.255] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.255] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.255] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.255] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.255] base::names(...future.oldOptions)) [18:01:57.255] } [18:01:57.255] if (FALSE) { [18:01:57.255] } [18:01:57.255] else { [18:01:57.255] if (TRUE) { [18:01:57.255] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.255] open = "w") [18:01:57.255] } [18:01:57.255] else { [18:01:57.255] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.255] windows = "NUL", "/dev/null"), open = "w") [18:01:57.255] } [18:01:57.255] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.255] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.255] base::sink(type = "output", split = FALSE) [18:01:57.255] base::close(...future.stdout) [18:01:57.255] }, add = TRUE) [18:01:57.255] } [18:01:57.255] ...future.frame <- base::sys.nframe() [18:01:57.255] ...future.conditions <- base::list() [18:01:57.255] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.255] if (FALSE) { [18:01:57.255] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.255] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.255] } [18:01:57.255] ...future.result <- base::tryCatch({ [18:01:57.255] base::withCallingHandlers({ [18:01:57.255] ...future.value <- base::withVisible(base::local({ [18:01:57.255] ...future.makeSendCondition <- local({ [18:01:57.255] sendCondition <- NULL [18:01:57.255] function(frame = 1L) { [18:01:57.255] if (is.function(sendCondition)) [18:01:57.255] return(sendCondition) [18:01:57.255] ns <- getNamespace("parallel") [18:01:57.255] if (exists("sendData", mode = "function", [18:01:57.255] envir = ns)) { [18:01:57.255] parallel_sendData <- get("sendData", mode = "function", [18:01:57.255] envir = ns) [18:01:57.255] envir <- sys.frame(frame) [18:01:57.255] master <- NULL [18:01:57.255] while (!identical(envir, .GlobalEnv) && [18:01:57.255] !identical(envir, emptyenv())) { [18:01:57.255] if (exists("master", mode = "list", envir = envir, [18:01:57.255] inherits = FALSE)) { [18:01:57.255] master <- get("master", mode = "list", [18:01:57.255] envir = envir, inherits = FALSE) [18:01:57.255] if (inherits(master, c("SOCKnode", [18:01:57.255] "SOCK0node"))) { [18:01:57.255] sendCondition <<- function(cond) { [18:01:57.255] data <- list(type = "VALUE", value = cond, [18:01:57.255] success = TRUE) [18:01:57.255] parallel_sendData(master, data) [18:01:57.255] } [18:01:57.255] return(sendCondition) [18:01:57.255] } [18:01:57.255] } [18:01:57.255] frame <- frame + 1L [18:01:57.255] envir <- sys.frame(frame) [18:01:57.255] } [18:01:57.255] } [18:01:57.255] sendCondition <<- function(cond) NULL [18:01:57.255] } [18:01:57.255] }) [18:01:57.255] withCallingHandlers({ [18:01:57.255] { [18:01:57.255] x[["a"]] <- 1 [18:01:57.255] x [18:01:57.255] } [18:01:57.255] }, immediateCondition = function(cond) { [18:01:57.255] sendCondition <- ...future.makeSendCondition() [18:01:57.255] sendCondition(cond) [18:01:57.255] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.255] { [18:01:57.255] inherits <- base::inherits [18:01:57.255] invokeRestart <- base::invokeRestart [18:01:57.255] is.null <- base::is.null [18:01:57.255] muffled <- FALSE [18:01:57.255] if (inherits(cond, "message")) { [18:01:57.255] muffled <- grepl(pattern, "muffleMessage") [18:01:57.255] if (muffled) [18:01:57.255] invokeRestart("muffleMessage") [18:01:57.255] } [18:01:57.255] else if (inherits(cond, "warning")) { [18:01:57.255] muffled <- grepl(pattern, "muffleWarning") [18:01:57.255] if (muffled) [18:01:57.255] invokeRestart("muffleWarning") [18:01:57.255] } [18:01:57.255] else if (inherits(cond, "condition")) { [18:01:57.255] if (!is.null(pattern)) { [18:01:57.255] computeRestarts <- base::computeRestarts [18:01:57.255] grepl <- base::grepl [18:01:57.255] restarts <- computeRestarts(cond) [18:01:57.255] for (restart in restarts) { [18:01:57.255] name <- restart$name [18:01:57.255] if (is.null(name)) [18:01:57.255] next [18:01:57.255] if (!grepl(pattern, name)) [18:01:57.255] next [18:01:57.255] invokeRestart(restart) [18:01:57.255] muffled <- TRUE [18:01:57.255] break [18:01:57.255] } [18:01:57.255] } [18:01:57.255] } [18:01:57.255] invisible(muffled) [18:01:57.255] } [18:01:57.255] muffleCondition(cond) [18:01:57.255] }) [18:01:57.255] })) [18:01:57.255] future::FutureResult(value = ...future.value$value, [18:01:57.255] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.255] ...future.rng), globalenv = if (FALSE) [18:01:57.255] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.255] ...future.globalenv.names)) [18:01:57.255] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.255] }, condition = base::local({ [18:01:57.255] c <- base::c [18:01:57.255] inherits <- base::inherits [18:01:57.255] invokeRestart <- base::invokeRestart [18:01:57.255] length <- base::length [18:01:57.255] list <- base::list [18:01:57.255] seq.int <- base::seq.int [18:01:57.255] signalCondition <- base::signalCondition [18:01:57.255] sys.calls <- base::sys.calls [18:01:57.255] `[[` <- base::`[[` [18:01:57.255] `+` <- base::`+` [18:01:57.255] `<<-` <- base::`<<-` [18:01:57.255] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.255] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.255] 3L)] [18:01:57.255] } [18:01:57.255] function(cond) { [18:01:57.255] is_error <- inherits(cond, "error") [18:01:57.255] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.255] NULL) [18:01:57.255] if (is_error) { [18:01:57.255] sessionInformation <- function() { [18:01:57.255] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.255] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.255] search = base::search(), system = base::Sys.info()) [18:01:57.255] } [18:01:57.255] ...future.conditions[[length(...future.conditions) + [18:01:57.255] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.255] cond$call), session = sessionInformation(), [18:01:57.255] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.255] signalCondition(cond) [18:01:57.255] } [18:01:57.255] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.255] "immediateCondition"))) { [18:01:57.255] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.255] ...future.conditions[[length(...future.conditions) + [18:01:57.255] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.255] if (TRUE && !signal) { [18:01:57.255] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.255] { [18:01:57.255] inherits <- base::inherits [18:01:57.255] invokeRestart <- base::invokeRestart [18:01:57.255] is.null <- base::is.null [18:01:57.255] muffled <- FALSE [18:01:57.255] if (inherits(cond, "message")) { [18:01:57.255] muffled <- grepl(pattern, "muffleMessage") [18:01:57.255] if (muffled) [18:01:57.255] invokeRestart("muffleMessage") [18:01:57.255] } [18:01:57.255] else if (inherits(cond, "warning")) { [18:01:57.255] muffled <- grepl(pattern, "muffleWarning") [18:01:57.255] if (muffled) [18:01:57.255] invokeRestart("muffleWarning") [18:01:57.255] } [18:01:57.255] else if (inherits(cond, "condition")) { [18:01:57.255] if (!is.null(pattern)) { [18:01:57.255] computeRestarts <- base::computeRestarts [18:01:57.255] grepl <- base::grepl [18:01:57.255] restarts <- computeRestarts(cond) [18:01:57.255] for (restart in restarts) { [18:01:57.255] name <- restart$name [18:01:57.255] if (is.null(name)) [18:01:57.255] next [18:01:57.255] if (!grepl(pattern, name)) [18:01:57.255] next [18:01:57.255] invokeRestart(restart) [18:01:57.255] muffled <- TRUE [18:01:57.255] break [18:01:57.255] } [18:01:57.255] } [18:01:57.255] } [18:01:57.255] invisible(muffled) [18:01:57.255] } [18:01:57.255] muffleCondition(cond, pattern = "^muffle") [18:01:57.255] } [18:01:57.255] } [18:01:57.255] else { [18:01:57.255] if (TRUE) { [18:01:57.255] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.255] { [18:01:57.255] inherits <- base::inherits [18:01:57.255] invokeRestart <- base::invokeRestart [18:01:57.255] is.null <- base::is.null [18:01:57.255] muffled <- FALSE [18:01:57.255] if (inherits(cond, "message")) { [18:01:57.255] muffled <- grepl(pattern, "muffleMessage") [18:01:57.255] if (muffled) [18:01:57.255] invokeRestart("muffleMessage") [18:01:57.255] } [18:01:57.255] else if (inherits(cond, "warning")) { [18:01:57.255] muffled <- grepl(pattern, "muffleWarning") [18:01:57.255] if (muffled) [18:01:57.255] invokeRestart("muffleWarning") [18:01:57.255] } [18:01:57.255] else if (inherits(cond, "condition")) { [18:01:57.255] if (!is.null(pattern)) { [18:01:57.255] computeRestarts <- base::computeRestarts [18:01:57.255] grepl <- base::grepl [18:01:57.255] restarts <- computeRestarts(cond) [18:01:57.255] for (restart in restarts) { [18:01:57.255] name <- restart$name [18:01:57.255] if (is.null(name)) [18:01:57.255] next [18:01:57.255] if (!grepl(pattern, name)) [18:01:57.255] next [18:01:57.255] invokeRestart(restart) [18:01:57.255] muffled <- TRUE [18:01:57.255] break [18:01:57.255] } [18:01:57.255] } [18:01:57.255] } [18:01:57.255] invisible(muffled) [18:01:57.255] } [18:01:57.255] muffleCondition(cond, pattern = "^muffle") [18:01:57.255] } [18:01:57.255] } [18:01:57.255] } [18:01:57.255] })) [18:01:57.255] }, error = function(ex) { [18:01:57.255] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.255] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.255] ...future.rng), started = ...future.startTime, [18:01:57.255] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.255] version = "1.8"), class = "FutureResult") [18:01:57.255] }, finally = { [18:01:57.255] if (!identical(...future.workdir, getwd())) [18:01:57.255] setwd(...future.workdir) [18:01:57.255] { [18:01:57.255] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.255] ...future.oldOptions$nwarnings <- NULL [18:01:57.255] } [18:01:57.255] base::options(...future.oldOptions) [18:01:57.255] if (.Platform$OS.type == "windows") { [18:01:57.255] old_names <- names(...future.oldEnvVars) [18:01:57.255] envs <- base::Sys.getenv() [18:01:57.255] names <- names(envs) [18:01:57.255] common <- intersect(names, old_names) [18:01:57.255] added <- setdiff(names, old_names) [18:01:57.255] removed <- setdiff(old_names, names) [18:01:57.255] changed <- common[...future.oldEnvVars[common] != [18:01:57.255] envs[common]] [18:01:57.255] NAMES <- toupper(changed) [18:01:57.255] args <- list() [18:01:57.255] for (kk in seq_along(NAMES)) { [18:01:57.255] name <- changed[[kk]] [18:01:57.255] NAME <- NAMES[[kk]] [18:01:57.255] if (name != NAME && is.element(NAME, old_names)) [18:01:57.255] next [18:01:57.255] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.255] } [18:01:57.255] NAMES <- toupper(added) [18:01:57.255] for (kk in seq_along(NAMES)) { [18:01:57.255] name <- added[[kk]] [18:01:57.255] NAME <- NAMES[[kk]] [18:01:57.255] if (name != NAME && is.element(NAME, old_names)) [18:01:57.255] next [18:01:57.255] args[[name]] <- "" [18:01:57.255] } [18:01:57.255] NAMES <- toupper(removed) [18:01:57.255] for (kk in seq_along(NAMES)) { [18:01:57.255] name <- removed[[kk]] [18:01:57.255] NAME <- NAMES[[kk]] [18:01:57.255] if (name != NAME && is.element(NAME, old_names)) [18:01:57.255] next [18:01:57.255] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.255] } [18:01:57.255] if (length(args) > 0) [18:01:57.255] base::do.call(base::Sys.setenv, args = args) [18:01:57.255] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.255] } [18:01:57.255] else { [18:01:57.255] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.255] } [18:01:57.255] { [18:01:57.255] if (base::length(...future.futureOptionsAdded) > [18:01:57.255] 0L) { [18:01:57.255] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.255] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.255] base::options(opts) [18:01:57.255] } [18:01:57.255] { [18:01:57.255] { [18:01:57.255] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.255] NULL [18:01:57.255] } [18:01:57.255] options(future.plan = NULL) [18:01:57.255] if (is.na(NA_character_)) [18:01:57.255] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.255] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.255] future::plan(list(function (..., workers = availableCores(), [18:01:57.255] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.255] envir = parent.frame()) [18:01:57.255] { [18:01:57.255] if (is.function(workers)) [18:01:57.255] workers <- workers() [18:01:57.255] workers <- structure(as.integer(workers), [18:01:57.255] class = class(workers)) [18:01:57.255] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.255] workers >= 1) [18:01:57.255] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.255] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.255] } [18:01:57.255] future <- MultisessionFuture(..., workers = workers, [18:01:57.255] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.255] envir = envir) [18:01:57.255] if (!future$lazy) [18:01:57.255] future <- run(future) [18:01:57.255] invisible(future) [18:01:57.255] }), .cleanup = FALSE, .init = FALSE) [18:01:57.255] } [18:01:57.255] } [18:01:57.255] } [18:01:57.255] }) [18:01:57.255] if (TRUE) { [18:01:57.255] base::sink(type = "output", split = FALSE) [18:01:57.255] if (TRUE) { [18:01:57.255] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.255] } [18:01:57.255] else { [18:01:57.255] ...future.result["stdout"] <- base::list(NULL) [18:01:57.255] } [18:01:57.255] base::close(...future.stdout) [18:01:57.255] ...future.stdout <- NULL [18:01:57.255] } [18:01:57.255] ...future.result$conditions <- ...future.conditions [18:01:57.255] ...future.result$finished <- base::Sys.time() [18:01:57.255] ...future.result [18:01:57.255] } [18:01:57.260] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.260] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.261] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.261] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.262] MultisessionFuture started [18:01:57.262] - Launch lazy future ... done [18:01:57.262] run() for 'MultisessionFuture' ... done [18:01:57.262] result() for ClusterFuture ... [18:01:57.263] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.263] - Validating connection of MultisessionFuture [18:01:57.278] - received message: FutureResult [18:01:57.279] - Received FutureResult [18:01:57.279] - Erased future from FutureRegistry [18:01:57.279] result() for ClusterFuture ... [18:01:57.279] - result already collected: FutureResult [18:01:57.279] result() for ClusterFuture ... done [18:01:57.279] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.280] result() for ClusterFuture ... done [18:01:57.280] result() for ClusterFuture ... [18:01:57.280] - result already collected: FutureResult [18:01:57.280] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.280] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.281] Searching for globals... [18:01:57.283] - globals found: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:57.284] Searching for globals ... DONE [18:01:57.284] Resolving globals: TRUE [18:01:57.284] Resolving any globals that are futures ... [18:01:57.284] - globals: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:57.284] Resolving any globals that are futures ... DONE [18:01:57.285] Resolving futures part of globals (recursively) ... [18:01:57.285] resolve() on list ... [18:01:57.285] recursive: 99 [18:01:57.285] length: 1 [18:01:57.286] elements: 'x' [18:01:57.286] length: 0 (resolved future 1) [18:01:57.286] resolve() on list ... DONE [18:01:57.286] - globals: [1] 'x' [18:01:57.286] Resolving futures part of globals (recursively) ... DONE [18:01:57.286] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:57.287] The total size of the 1 globals exported for future expression ('{; x["a"] <- list(1); x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:57.287] - globals: [1] 'x' [18:01:57.287] [18:01:57.287] getGlobalsAndPackages() ... DONE [18:01:57.288] run() for 'Future' ... [18:01:57.288] - state: 'created' [18:01:57.288] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.303] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.303] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.304] - Field: 'node' [18:01:57.304] - Field: 'label' [18:01:57.304] - Field: 'local' [18:01:57.304] - Field: 'owner' [18:01:57.304] - Field: 'envir' [18:01:57.305] - Field: 'workers' [18:01:57.305] - Field: 'packages' [18:01:57.305] - Field: 'gc' [18:01:57.305] - Field: 'conditions' [18:01:57.305] - Field: 'persistent' [18:01:57.305] - Field: 'expr' [18:01:57.306] - Field: 'uuid' [18:01:57.306] - Field: 'seed' [18:01:57.306] - Field: 'version' [18:01:57.306] - Field: 'result' [18:01:57.306] - Field: 'asynchronous' [18:01:57.307] - Field: 'calls' [18:01:57.307] - Field: 'globals' [18:01:57.307] - Field: 'stdout' [18:01:57.307] - Field: 'earlySignal' [18:01:57.307] - Field: 'lazy' [18:01:57.307] - Field: 'state' [18:01:57.308] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.308] - Launch lazy future ... [18:01:57.308] Packages needed by the future expression (n = 0): [18:01:57.308] Packages needed by future strategies (n = 0): [18:01:57.309] { [18:01:57.309] { [18:01:57.309] { [18:01:57.309] ...future.startTime <- base::Sys.time() [18:01:57.309] { [18:01:57.309] { [18:01:57.309] { [18:01:57.309] { [18:01:57.309] base::local({ [18:01:57.309] has_future <- base::requireNamespace("future", [18:01:57.309] quietly = TRUE) [18:01:57.309] if (has_future) { [18:01:57.309] ns <- base::getNamespace("future") [18:01:57.309] version <- ns[[".package"]][["version"]] [18:01:57.309] if (is.null(version)) [18:01:57.309] version <- utils::packageVersion("future") [18:01:57.309] } [18:01:57.309] else { [18:01:57.309] version <- NULL [18:01:57.309] } [18:01:57.309] if (!has_future || version < "1.8.0") { [18:01:57.309] info <- base::c(r_version = base::gsub("R version ", [18:01:57.309] "", base::R.version$version.string), [18:01:57.309] platform = base::sprintf("%s (%s-bit)", [18:01:57.309] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.309] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.309] "release", "version")], collapse = " "), [18:01:57.309] hostname = base::Sys.info()[["nodename"]]) [18:01:57.309] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.309] info) [18:01:57.309] info <- base::paste(info, collapse = "; ") [18:01:57.309] if (!has_future) { [18:01:57.309] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.309] info) [18:01:57.309] } [18:01:57.309] else { [18:01:57.309] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.309] info, version) [18:01:57.309] } [18:01:57.309] base::stop(msg) [18:01:57.309] } [18:01:57.309] }) [18:01:57.309] } [18:01:57.309] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.309] base::options(mc.cores = 1L) [18:01:57.309] } [18:01:57.309] options(future.plan = NULL) [18:01:57.309] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.309] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.309] } [18:01:57.309] ...future.workdir <- getwd() [18:01:57.309] } [18:01:57.309] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.309] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.309] } [18:01:57.309] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.309] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.309] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.309] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.309] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.309] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.309] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.309] base::names(...future.oldOptions)) [18:01:57.309] } [18:01:57.309] if (FALSE) { [18:01:57.309] } [18:01:57.309] else { [18:01:57.309] if (TRUE) { [18:01:57.309] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.309] open = "w") [18:01:57.309] } [18:01:57.309] else { [18:01:57.309] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.309] windows = "NUL", "/dev/null"), open = "w") [18:01:57.309] } [18:01:57.309] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.309] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.309] base::sink(type = "output", split = FALSE) [18:01:57.309] base::close(...future.stdout) [18:01:57.309] }, add = TRUE) [18:01:57.309] } [18:01:57.309] ...future.frame <- base::sys.nframe() [18:01:57.309] ...future.conditions <- base::list() [18:01:57.309] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.309] if (FALSE) { [18:01:57.309] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.309] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.309] } [18:01:57.309] ...future.result <- base::tryCatch({ [18:01:57.309] base::withCallingHandlers({ [18:01:57.309] ...future.value <- base::withVisible(base::local({ [18:01:57.309] ...future.makeSendCondition <- local({ [18:01:57.309] sendCondition <- NULL [18:01:57.309] function(frame = 1L) { [18:01:57.309] if (is.function(sendCondition)) [18:01:57.309] return(sendCondition) [18:01:57.309] ns <- getNamespace("parallel") [18:01:57.309] if (exists("sendData", mode = "function", [18:01:57.309] envir = ns)) { [18:01:57.309] parallel_sendData <- get("sendData", mode = "function", [18:01:57.309] envir = ns) [18:01:57.309] envir <- sys.frame(frame) [18:01:57.309] master <- NULL [18:01:57.309] while (!identical(envir, .GlobalEnv) && [18:01:57.309] !identical(envir, emptyenv())) { [18:01:57.309] if (exists("master", mode = "list", envir = envir, [18:01:57.309] inherits = FALSE)) { [18:01:57.309] master <- get("master", mode = "list", [18:01:57.309] envir = envir, inherits = FALSE) [18:01:57.309] if (inherits(master, c("SOCKnode", [18:01:57.309] "SOCK0node"))) { [18:01:57.309] sendCondition <<- function(cond) { [18:01:57.309] data <- list(type = "VALUE", value = cond, [18:01:57.309] success = TRUE) [18:01:57.309] parallel_sendData(master, data) [18:01:57.309] } [18:01:57.309] return(sendCondition) [18:01:57.309] } [18:01:57.309] } [18:01:57.309] frame <- frame + 1L [18:01:57.309] envir <- sys.frame(frame) [18:01:57.309] } [18:01:57.309] } [18:01:57.309] sendCondition <<- function(cond) NULL [18:01:57.309] } [18:01:57.309] }) [18:01:57.309] withCallingHandlers({ [18:01:57.309] { [18:01:57.309] x["a"] <- list(1) [18:01:57.309] x [18:01:57.309] } [18:01:57.309] }, immediateCondition = function(cond) { [18:01:57.309] sendCondition <- ...future.makeSendCondition() [18:01:57.309] sendCondition(cond) [18:01:57.309] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.309] { [18:01:57.309] inherits <- base::inherits [18:01:57.309] invokeRestart <- base::invokeRestart [18:01:57.309] is.null <- base::is.null [18:01:57.309] muffled <- FALSE [18:01:57.309] if (inherits(cond, "message")) { [18:01:57.309] muffled <- grepl(pattern, "muffleMessage") [18:01:57.309] if (muffled) [18:01:57.309] invokeRestart("muffleMessage") [18:01:57.309] } [18:01:57.309] else if (inherits(cond, "warning")) { [18:01:57.309] muffled <- grepl(pattern, "muffleWarning") [18:01:57.309] if (muffled) [18:01:57.309] invokeRestart("muffleWarning") [18:01:57.309] } [18:01:57.309] else if (inherits(cond, "condition")) { [18:01:57.309] if (!is.null(pattern)) { [18:01:57.309] computeRestarts <- base::computeRestarts [18:01:57.309] grepl <- base::grepl [18:01:57.309] restarts <- computeRestarts(cond) [18:01:57.309] for (restart in restarts) { [18:01:57.309] name <- restart$name [18:01:57.309] if (is.null(name)) [18:01:57.309] next [18:01:57.309] if (!grepl(pattern, name)) [18:01:57.309] next [18:01:57.309] invokeRestart(restart) [18:01:57.309] muffled <- TRUE [18:01:57.309] break [18:01:57.309] } [18:01:57.309] } [18:01:57.309] } [18:01:57.309] invisible(muffled) [18:01:57.309] } [18:01:57.309] muffleCondition(cond) [18:01:57.309] }) [18:01:57.309] })) [18:01:57.309] future::FutureResult(value = ...future.value$value, [18:01:57.309] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.309] ...future.rng), globalenv = if (FALSE) [18:01:57.309] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.309] ...future.globalenv.names)) [18:01:57.309] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.309] }, condition = base::local({ [18:01:57.309] c <- base::c [18:01:57.309] inherits <- base::inherits [18:01:57.309] invokeRestart <- base::invokeRestart [18:01:57.309] length <- base::length [18:01:57.309] list <- base::list [18:01:57.309] seq.int <- base::seq.int [18:01:57.309] signalCondition <- base::signalCondition [18:01:57.309] sys.calls <- base::sys.calls [18:01:57.309] `[[` <- base::`[[` [18:01:57.309] `+` <- base::`+` [18:01:57.309] `<<-` <- base::`<<-` [18:01:57.309] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.309] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.309] 3L)] [18:01:57.309] } [18:01:57.309] function(cond) { [18:01:57.309] is_error <- inherits(cond, "error") [18:01:57.309] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.309] NULL) [18:01:57.309] if (is_error) { [18:01:57.309] sessionInformation <- function() { [18:01:57.309] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.309] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.309] search = base::search(), system = base::Sys.info()) [18:01:57.309] } [18:01:57.309] ...future.conditions[[length(...future.conditions) + [18:01:57.309] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.309] cond$call), session = sessionInformation(), [18:01:57.309] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.309] signalCondition(cond) [18:01:57.309] } [18:01:57.309] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.309] "immediateCondition"))) { [18:01:57.309] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.309] ...future.conditions[[length(...future.conditions) + [18:01:57.309] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.309] if (TRUE && !signal) { [18:01:57.309] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.309] { [18:01:57.309] inherits <- base::inherits [18:01:57.309] invokeRestart <- base::invokeRestart [18:01:57.309] is.null <- base::is.null [18:01:57.309] muffled <- FALSE [18:01:57.309] if (inherits(cond, "message")) { [18:01:57.309] muffled <- grepl(pattern, "muffleMessage") [18:01:57.309] if (muffled) [18:01:57.309] invokeRestart("muffleMessage") [18:01:57.309] } [18:01:57.309] else if (inherits(cond, "warning")) { [18:01:57.309] muffled <- grepl(pattern, "muffleWarning") [18:01:57.309] if (muffled) [18:01:57.309] invokeRestart("muffleWarning") [18:01:57.309] } [18:01:57.309] else if (inherits(cond, "condition")) { [18:01:57.309] if (!is.null(pattern)) { [18:01:57.309] computeRestarts <- base::computeRestarts [18:01:57.309] grepl <- base::grepl [18:01:57.309] restarts <- computeRestarts(cond) [18:01:57.309] for (restart in restarts) { [18:01:57.309] name <- restart$name [18:01:57.309] if (is.null(name)) [18:01:57.309] next [18:01:57.309] if (!grepl(pattern, name)) [18:01:57.309] next [18:01:57.309] invokeRestart(restart) [18:01:57.309] muffled <- TRUE [18:01:57.309] break [18:01:57.309] } [18:01:57.309] } [18:01:57.309] } [18:01:57.309] invisible(muffled) [18:01:57.309] } [18:01:57.309] muffleCondition(cond, pattern = "^muffle") [18:01:57.309] } [18:01:57.309] } [18:01:57.309] else { [18:01:57.309] if (TRUE) { [18:01:57.309] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.309] { [18:01:57.309] inherits <- base::inherits [18:01:57.309] invokeRestart <- base::invokeRestart [18:01:57.309] is.null <- base::is.null [18:01:57.309] muffled <- FALSE [18:01:57.309] if (inherits(cond, "message")) { [18:01:57.309] muffled <- grepl(pattern, "muffleMessage") [18:01:57.309] if (muffled) [18:01:57.309] invokeRestart("muffleMessage") [18:01:57.309] } [18:01:57.309] else if (inherits(cond, "warning")) { [18:01:57.309] muffled <- grepl(pattern, "muffleWarning") [18:01:57.309] if (muffled) [18:01:57.309] invokeRestart("muffleWarning") [18:01:57.309] } [18:01:57.309] else if (inherits(cond, "condition")) { [18:01:57.309] if (!is.null(pattern)) { [18:01:57.309] computeRestarts <- base::computeRestarts [18:01:57.309] grepl <- base::grepl [18:01:57.309] restarts <- computeRestarts(cond) [18:01:57.309] for (restart in restarts) { [18:01:57.309] name <- restart$name [18:01:57.309] if (is.null(name)) [18:01:57.309] next [18:01:57.309] if (!grepl(pattern, name)) [18:01:57.309] next [18:01:57.309] invokeRestart(restart) [18:01:57.309] muffled <- TRUE [18:01:57.309] break [18:01:57.309] } [18:01:57.309] } [18:01:57.309] } [18:01:57.309] invisible(muffled) [18:01:57.309] } [18:01:57.309] muffleCondition(cond, pattern = "^muffle") [18:01:57.309] } [18:01:57.309] } [18:01:57.309] } [18:01:57.309] })) [18:01:57.309] }, error = function(ex) { [18:01:57.309] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.309] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.309] ...future.rng), started = ...future.startTime, [18:01:57.309] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.309] version = "1.8"), class = "FutureResult") [18:01:57.309] }, finally = { [18:01:57.309] if (!identical(...future.workdir, getwd())) [18:01:57.309] setwd(...future.workdir) [18:01:57.309] { [18:01:57.309] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.309] ...future.oldOptions$nwarnings <- NULL [18:01:57.309] } [18:01:57.309] base::options(...future.oldOptions) [18:01:57.309] if (.Platform$OS.type == "windows") { [18:01:57.309] old_names <- names(...future.oldEnvVars) [18:01:57.309] envs <- base::Sys.getenv() [18:01:57.309] names <- names(envs) [18:01:57.309] common <- intersect(names, old_names) [18:01:57.309] added <- setdiff(names, old_names) [18:01:57.309] removed <- setdiff(old_names, names) [18:01:57.309] changed <- common[...future.oldEnvVars[common] != [18:01:57.309] envs[common]] [18:01:57.309] NAMES <- toupper(changed) [18:01:57.309] args <- list() [18:01:57.309] for (kk in seq_along(NAMES)) { [18:01:57.309] name <- changed[[kk]] [18:01:57.309] NAME <- NAMES[[kk]] [18:01:57.309] if (name != NAME && is.element(NAME, old_names)) [18:01:57.309] next [18:01:57.309] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.309] } [18:01:57.309] NAMES <- toupper(added) [18:01:57.309] for (kk in seq_along(NAMES)) { [18:01:57.309] name <- added[[kk]] [18:01:57.309] NAME <- NAMES[[kk]] [18:01:57.309] if (name != NAME && is.element(NAME, old_names)) [18:01:57.309] next [18:01:57.309] args[[name]] <- "" [18:01:57.309] } [18:01:57.309] NAMES <- toupper(removed) [18:01:57.309] for (kk in seq_along(NAMES)) { [18:01:57.309] name <- removed[[kk]] [18:01:57.309] NAME <- NAMES[[kk]] [18:01:57.309] if (name != NAME && is.element(NAME, old_names)) [18:01:57.309] next [18:01:57.309] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.309] } [18:01:57.309] if (length(args) > 0) [18:01:57.309] base::do.call(base::Sys.setenv, args = args) [18:01:57.309] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.309] } [18:01:57.309] else { [18:01:57.309] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.309] } [18:01:57.309] { [18:01:57.309] if (base::length(...future.futureOptionsAdded) > [18:01:57.309] 0L) { [18:01:57.309] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.309] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.309] base::options(opts) [18:01:57.309] } [18:01:57.309] { [18:01:57.309] { [18:01:57.309] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.309] NULL [18:01:57.309] } [18:01:57.309] options(future.plan = NULL) [18:01:57.309] if (is.na(NA_character_)) [18:01:57.309] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.309] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.309] future::plan(list(function (..., workers = availableCores(), [18:01:57.309] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.309] envir = parent.frame()) [18:01:57.309] { [18:01:57.309] if (is.function(workers)) [18:01:57.309] workers <- workers() [18:01:57.309] workers <- structure(as.integer(workers), [18:01:57.309] class = class(workers)) [18:01:57.309] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.309] workers >= 1) [18:01:57.309] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.309] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.309] } [18:01:57.309] future <- MultisessionFuture(..., workers = workers, [18:01:57.309] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.309] envir = envir) [18:01:57.309] if (!future$lazy) [18:01:57.309] future <- run(future) [18:01:57.309] invisible(future) [18:01:57.309] }), .cleanup = FALSE, .init = FALSE) [18:01:57.309] } [18:01:57.309] } [18:01:57.309] } [18:01:57.309] }) [18:01:57.309] if (TRUE) { [18:01:57.309] base::sink(type = "output", split = FALSE) [18:01:57.309] if (TRUE) { [18:01:57.309] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.309] } [18:01:57.309] else { [18:01:57.309] ...future.result["stdout"] <- base::list(NULL) [18:01:57.309] } [18:01:57.309] base::close(...future.stdout) [18:01:57.309] ...future.stdout <- NULL [18:01:57.309] } [18:01:57.309] ...future.result$conditions <- ...future.conditions [18:01:57.309] ...future.result$finished <- base::Sys.time() [18:01:57.309] ...future.result [18:01:57.309] } [18:01:57.314] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.314] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.315] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.315] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.316] MultisessionFuture started [18:01:57.316] - Launch lazy future ... done [18:01:57.316] run() for 'MultisessionFuture' ... done [18:01:57.316] result() for ClusterFuture ... [18:01:57.316] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.317] - Validating connection of MultisessionFuture [18:01:57.331] - received message: FutureResult [18:01:57.331] - Received FutureResult [18:01:57.331] - Erased future from FutureRegistry [18:01:57.332] result() for ClusterFuture ... [18:01:57.332] - result already collected: FutureResult [18:01:57.332] result() for ClusterFuture ... done [18:01:57.332] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.332] result() for ClusterFuture ... done [18:01:57.332] result() for ClusterFuture ... [18:01:57.333] - result already collected: FutureResult [18:01:57.333] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.333] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.333] Searching for globals... [18:01:57.336] - globals found: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:57.336] Searching for globals ... DONE [18:01:57.336] Resolving globals: TRUE [18:01:57.337] Resolving any globals that are futures ... [18:01:57.337] - globals: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:57.337] Resolving any globals that are futures ... DONE [18:01:57.337] Resolving futures part of globals (recursively) ... [18:01:57.338] resolve() on list ... [18:01:57.338] recursive: 99 [18:01:57.338] length: 1 [18:01:57.338] elements: 'x' [18:01:57.338] length: 0 (resolved future 1) [18:01:57.339] resolve() on list ... DONE [18:01:57.339] - globals: [1] 'x' [18:01:57.339] Resolving futures part of globals (recursively) ... DONE [18:01:57.339] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:57.340] The total size of the 1 globals exported for future expression ('{; x["a"] <- list(1); x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:57.340] - globals: [1] 'x' [18:01:57.340] [18:01:57.340] getGlobalsAndPackages() ... DONE [18:01:57.340] run() for 'Future' ... [18:01:57.341] - state: 'created' [18:01:57.341] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.354] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.354] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.355] - Field: 'node' [18:01:57.355] - Field: 'label' [18:01:57.355] - Field: 'local' [18:01:57.355] - Field: 'owner' [18:01:57.355] - Field: 'envir' [18:01:57.356] - Field: 'workers' [18:01:57.356] - Field: 'packages' [18:01:57.356] - Field: 'gc' [18:01:57.356] - Field: 'conditions' [18:01:57.356] - Field: 'persistent' [18:01:57.356] - Field: 'expr' [18:01:57.357] - Field: 'uuid' [18:01:57.357] - Field: 'seed' [18:01:57.357] - Field: 'version' [18:01:57.357] - Field: 'result' [18:01:57.357] - Field: 'asynchronous' [18:01:57.358] - Field: 'calls' [18:01:57.358] - Field: 'globals' [18:01:57.358] - Field: 'stdout' [18:01:57.358] - Field: 'earlySignal' [18:01:57.358] - Field: 'lazy' [18:01:57.358] - Field: 'state' [18:01:57.359] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.359] - Launch lazy future ... [18:01:57.359] Packages needed by the future expression (n = 0): [18:01:57.359] Packages needed by future strategies (n = 0): [18:01:57.360] { [18:01:57.360] { [18:01:57.360] { [18:01:57.360] ...future.startTime <- base::Sys.time() [18:01:57.360] { [18:01:57.360] { [18:01:57.360] { [18:01:57.360] { [18:01:57.360] base::local({ [18:01:57.360] has_future <- base::requireNamespace("future", [18:01:57.360] quietly = TRUE) [18:01:57.360] if (has_future) { [18:01:57.360] ns <- base::getNamespace("future") [18:01:57.360] version <- ns[[".package"]][["version"]] [18:01:57.360] if (is.null(version)) [18:01:57.360] version <- utils::packageVersion("future") [18:01:57.360] } [18:01:57.360] else { [18:01:57.360] version <- NULL [18:01:57.360] } [18:01:57.360] if (!has_future || version < "1.8.0") { [18:01:57.360] info <- base::c(r_version = base::gsub("R version ", [18:01:57.360] "", base::R.version$version.string), [18:01:57.360] platform = base::sprintf("%s (%s-bit)", [18:01:57.360] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.360] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.360] "release", "version")], collapse = " "), [18:01:57.360] hostname = base::Sys.info()[["nodename"]]) [18:01:57.360] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.360] info) [18:01:57.360] info <- base::paste(info, collapse = "; ") [18:01:57.360] if (!has_future) { [18:01:57.360] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.360] info) [18:01:57.360] } [18:01:57.360] else { [18:01:57.360] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.360] info, version) [18:01:57.360] } [18:01:57.360] base::stop(msg) [18:01:57.360] } [18:01:57.360] }) [18:01:57.360] } [18:01:57.360] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.360] base::options(mc.cores = 1L) [18:01:57.360] } [18:01:57.360] options(future.plan = NULL) [18:01:57.360] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.360] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.360] } [18:01:57.360] ...future.workdir <- getwd() [18:01:57.360] } [18:01:57.360] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.360] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.360] } [18:01:57.360] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.360] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.360] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.360] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.360] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.360] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.360] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.360] base::names(...future.oldOptions)) [18:01:57.360] } [18:01:57.360] if (FALSE) { [18:01:57.360] } [18:01:57.360] else { [18:01:57.360] if (TRUE) { [18:01:57.360] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.360] open = "w") [18:01:57.360] } [18:01:57.360] else { [18:01:57.360] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.360] windows = "NUL", "/dev/null"), open = "w") [18:01:57.360] } [18:01:57.360] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.360] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.360] base::sink(type = "output", split = FALSE) [18:01:57.360] base::close(...future.stdout) [18:01:57.360] }, add = TRUE) [18:01:57.360] } [18:01:57.360] ...future.frame <- base::sys.nframe() [18:01:57.360] ...future.conditions <- base::list() [18:01:57.360] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.360] if (FALSE) { [18:01:57.360] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.360] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.360] } [18:01:57.360] ...future.result <- base::tryCatch({ [18:01:57.360] base::withCallingHandlers({ [18:01:57.360] ...future.value <- base::withVisible(base::local({ [18:01:57.360] ...future.makeSendCondition <- local({ [18:01:57.360] sendCondition <- NULL [18:01:57.360] function(frame = 1L) { [18:01:57.360] if (is.function(sendCondition)) [18:01:57.360] return(sendCondition) [18:01:57.360] ns <- getNamespace("parallel") [18:01:57.360] if (exists("sendData", mode = "function", [18:01:57.360] envir = ns)) { [18:01:57.360] parallel_sendData <- get("sendData", mode = "function", [18:01:57.360] envir = ns) [18:01:57.360] envir <- sys.frame(frame) [18:01:57.360] master <- NULL [18:01:57.360] while (!identical(envir, .GlobalEnv) && [18:01:57.360] !identical(envir, emptyenv())) { [18:01:57.360] if (exists("master", mode = "list", envir = envir, [18:01:57.360] inherits = FALSE)) { [18:01:57.360] master <- get("master", mode = "list", [18:01:57.360] envir = envir, inherits = FALSE) [18:01:57.360] if (inherits(master, c("SOCKnode", [18:01:57.360] "SOCK0node"))) { [18:01:57.360] sendCondition <<- function(cond) { [18:01:57.360] data <- list(type = "VALUE", value = cond, [18:01:57.360] success = TRUE) [18:01:57.360] parallel_sendData(master, data) [18:01:57.360] } [18:01:57.360] return(sendCondition) [18:01:57.360] } [18:01:57.360] } [18:01:57.360] frame <- frame + 1L [18:01:57.360] envir <- sys.frame(frame) [18:01:57.360] } [18:01:57.360] } [18:01:57.360] sendCondition <<- function(cond) NULL [18:01:57.360] } [18:01:57.360] }) [18:01:57.360] withCallingHandlers({ [18:01:57.360] { [18:01:57.360] x["a"] <- list(1) [18:01:57.360] x [18:01:57.360] } [18:01:57.360] }, immediateCondition = function(cond) { [18:01:57.360] sendCondition <- ...future.makeSendCondition() [18:01:57.360] sendCondition(cond) [18:01:57.360] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.360] { [18:01:57.360] inherits <- base::inherits [18:01:57.360] invokeRestart <- base::invokeRestart [18:01:57.360] is.null <- base::is.null [18:01:57.360] muffled <- FALSE [18:01:57.360] if (inherits(cond, "message")) { [18:01:57.360] muffled <- grepl(pattern, "muffleMessage") [18:01:57.360] if (muffled) [18:01:57.360] invokeRestart("muffleMessage") [18:01:57.360] } [18:01:57.360] else if (inherits(cond, "warning")) { [18:01:57.360] muffled <- grepl(pattern, "muffleWarning") [18:01:57.360] if (muffled) [18:01:57.360] invokeRestart("muffleWarning") [18:01:57.360] } [18:01:57.360] else if (inherits(cond, "condition")) { [18:01:57.360] if (!is.null(pattern)) { [18:01:57.360] computeRestarts <- base::computeRestarts [18:01:57.360] grepl <- base::grepl [18:01:57.360] restarts <- computeRestarts(cond) [18:01:57.360] for (restart in restarts) { [18:01:57.360] name <- restart$name [18:01:57.360] if (is.null(name)) [18:01:57.360] next [18:01:57.360] if (!grepl(pattern, name)) [18:01:57.360] next [18:01:57.360] invokeRestart(restart) [18:01:57.360] muffled <- TRUE [18:01:57.360] break [18:01:57.360] } [18:01:57.360] } [18:01:57.360] } [18:01:57.360] invisible(muffled) [18:01:57.360] } [18:01:57.360] muffleCondition(cond) [18:01:57.360] }) [18:01:57.360] })) [18:01:57.360] future::FutureResult(value = ...future.value$value, [18:01:57.360] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.360] ...future.rng), globalenv = if (FALSE) [18:01:57.360] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.360] ...future.globalenv.names)) [18:01:57.360] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.360] }, condition = base::local({ [18:01:57.360] c <- base::c [18:01:57.360] inherits <- base::inherits [18:01:57.360] invokeRestart <- base::invokeRestart [18:01:57.360] length <- base::length [18:01:57.360] list <- base::list [18:01:57.360] seq.int <- base::seq.int [18:01:57.360] signalCondition <- base::signalCondition [18:01:57.360] sys.calls <- base::sys.calls [18:01:57.360] `[[` <- base::`[[` [18:01:57.360] `+` <- base::`+` [18:01:57.360] `<<-` <- base::`<<-` [18:01:57.360] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.360] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.360] 3L)] [18:01:57.360] } [18:01:57.360] function(cond) { [18:01:57.360] is_error <- inherits(cond, "error") [18:01:57.360] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.360] NULL) [18:01:57.360] if (is_error) { [18:01:57.360] sessionInformation <- function() { [18:01:57.360] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.360] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.360] search = base::search(), system = base::Sys.info()) [18:01:57.360] } [18:01:57.360] ...future.conditions[[length(...future.conditions) + [18:01:57.360] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.360] cond$call), session = sessionInformation(), [18:01:57.360] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.360] signalCondition(cond) [18:01:57.360] } [18:01:57.360] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.360] "immediateCondition"))) { [18:01:57.360] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.360] ...future.conditions[[length(...future.conditions) + [18:01:57.360] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.360] if (TRUE && !signal) { [18:01:57.360] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.360] { [18:01:57.360] inherits <- base::inherits [18:01:57.360] invokeRestart <- base::invokeRestart [18:01:57.360] is.null <- base::is.null [18:01:57.360] muffled <- FALSE [18:01:57.360] if (inherits(cond, "message")) { [18:01:57.360] muffled <- grepl(pattern, "muffleMessage") [18:01:57.360] if (muffled) [18:01:57.360] invokeRestart("muffleMessage") [18:01:57.360] } [18:01:57.360] else if (inherits(cond, "warning")) { [18:01:57.360] muffled <- grepl(pattern, "muffleWarning") [18:01:57.360] if (muffled) [18:01:57.360] invokeRestart("muffleWarning") [18:01:57.360] } [18:01:57.360] else if (inherits(cond, "condition")) { [18:01:57.360] if (!is.null(pattern)) { [18:01:57.360] computeRestarts <- base::computeRestarts [18:01:57.360] grepl <- base::grepl [18:01:57.360] restarts <- computeRestarts(cond) [18:01:57.360] for (restart in restarts) { [18:01:57.360] name <- restart$name [18:01:57.360] if (is.null(name)) [18:01:57.360] next [18:01:57.360] if (!grepl(pattern, name)) [18:01:57.360] next [18:01:57.360] invokeRestart(restart) [18:01:57.360] muffled <- TRUE [18:01:57.360] break [18:01:57.360] } [18:01:57.360] } [18:01:57.360] } [18:01:57.360] invisible(muffled) [18:01:57.360] } [18:01:57.360] muffleCondition(cond, pattern = "^muffle") [18:01:57.360] } [18:01:57.360] } [18:01:57.360] else { [18:01:57.360] if (TRUE) { [18:01:57.360] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.360] { [18:01:57.360] inherits <- base::inherits [18:01:57.360] invokeRestart <- base::invokeRestart [18:01:57.360] is.null <- base::is.null [18:01:57.360] muffled <- FALSE [18:01:57.360] if (inherits(cond, "message")) { [18:01:57.360] muffled <- grepl(pattern, "muffleMessage") [18:01:57.360] if (muffled) [18:01:57.360] invokeRestart("muffleMessage") [18:01:57.360] } [18:01:57.360] else if (inherits(cond, "warning")) { [18:01:57.360] muffled <- grepl(pattern, "muffleWarning") [18:01:57.360] if (muffled) [18:01:57.360] invokeRestart("muffleWarning") [18:01:57.360] } [18:01:57.360] else if (inherits(cond, "condition")) { [18:01:57.360] if (!is.null(pattern)) { [18:01:57.360] computeRestarts <- base::computeRestarts [18:01:57.360] grepl <- base::grepl [18:01:57.360] restarts <- computeRestarts(cond) [18:01:57.360] for (restart in restarts) { [18:01:57.360] name <- restart$name [18:01:57.360] if (is.null(name)) [18:01:57.360] next [18:01:57.360] if (!grepl(pattern, name)) [18:01:57.360] next [18:01:57.360] invokeRestart(restart) [18:01:57.360] muffled <- TRUE [18:01:57.360] break [18:01:57.360] } [18:01:57.360] } [18:01:57.360] } [18:01:57.360] invisible(muffled) [18:01:57.360] } [18:01:57.360] muffleCondition(cond, pattern = "^muffle") [18:01:57.360] } [18:01:57.360] } [18:01:57.360] } [18:01:57.360] })) [18:01:57.360] }, error = function(ex) { [18:01:57.360] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.360] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.360] ...future.rng), started = ...future.startTime, [18:01:57.360] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.360] version = "1.8"), class = "FutureResult") [18:01:57.360] }, finally = { [18:01:57.360] if (!identical(...future.workdir, getwd())) [18:01:57.360] setwd(...future.workdir) [18:01:57.360] { [18:01:57.360] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.360] ...future.oldOptions$nwarnings <- NULL [18:01:57.360] } [18:01:57.360] base::options(...future.oldOptions) [18:01:57.360] if (.Platform$OS.type == "windows") { [18:01:57.360] old_names <- names(...future.oldEnvVars) [18:01:57.360] envs <- base::Sys.getenv() [18:01:57.360] names <- names(envs) [18:01:57.360] common <- intersect(names, old_names) [18:01:57.360] added <- setdiff(names, old_names) [18:01:57.360] removed <- setdiff(old_names, names) [18:01:57.360] changed <- common[...future.oldEnvVars[common] != [18:01:57.360] envs[common]] [18:01:57.360] NAMES <- toupper(changed) [18:01:57.360] args <- list() [18:01:57.360] for (kk in seq_along(NAMES)) { [18:01:57.360] name <- changed[[kk]] [18:01:57.360] NAME <- NAMES[[kk]] [18:01:57.360] if (name != NAME && is.element(NAME, old_names)) [18:01:57.360] next [18:01:57.360] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.360] } [18:01:57.360] NAMES <- toupper(added) [18:01:57.360] for (kk in seq_along(NAMES)) { [18:01:57.360] name <- added[[kk]] [18:01:57.360] NAME <- NAMES[[kk]] [18:01:57.360] if (name != NAME && is.element(NAME, old_names)) [18:01:57.360] next [18:01:57.360] args[[name]] <- "" [18:01:57.360] } [18:01:57.360] NAMES <- toupper(removed) [18:01:57.360] for (kk in seq_along(NAMES)) { [18:01:57.360] name <- removed[[kk]] [18:01:57.360] NAME <- NAMES[[kk]] [18:01:57.360] if (name != NAME && is.element(NAME, old_names)) [18:01:57.360] next [18:01:57.360] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.360] } [18:01:57.360] if (length(args) > 0) [18:01:57.360] base::do.call(base::Sys.setenv, args = args) [18:01:57.360] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.360] } [18:01:57.360] else { [18:01:57.360] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.360] } [18:01:57.360] { [18:01:57.360] if (base::length(...future.futureOptionsAdded) > [18:01:57.360] 0L) { [18:01:57.360] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.360] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.360] base::options(opts) [18:01:57.360] } [18:01:57.360] { [18:01:57.360] { [18:01:57.360] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.360] NULL [18:01:57.360] } [18:01:57.360] options(future.plan = NULL) [18:01:57.360] if (is.na(NA_character_)) [18:01:57.360] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.360] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.360] future::plan(list(function (..., workers = availableCores(), [18:01:57.360] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.360] envir = parent.frame()) [18:01:57.360] { [18:01:57.360] if (is.function(workers)) [18:01:57.360] workers <- workers() [18:01:57.360] workers <- structure(as.integer(workers), [18:01:57.360] class = class(workers)) [18:01:57.360] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.360] workers >= 1) [18:01:57.360] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.360] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.360] } [18:01:57.360] future <- MultisessionFuture(..., workers = workers, [18:01:57.360] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.360] envir = envir) [18:01:57.360] if (!future$lazy) [18:01:57.360] future <- run(future) [18:01:57.360] invisible(future) [18:01:57.360] }), .cleanup = FALSE, .init = FALSE) [18:01:57.360] } [18:01:57.360] } [18:01:57.360] } [18:01:57.360] }) [18:01:57.360] if (TRUE) { [18:01:57.360] base::sink(type = "output", split = FALSE) [18:01:57.360] if (TRUE) { [18:01:57.360] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.360] } [18:01:57.360] else { [18:01:57.360] ...future.result["stdout"] <- base::list(NULL) [18:01:57.360] } [18:01:57.360] base::close(...future.stdout) [18:01:57.360] ...future.stdout <- NULL [18:01:57.360] } [18:01:57.360] ...future.result$conditions <- ...future.conditions [18:01:57.360] ...future.result$finished <- base::Sys.time() [18:01:57.360] ...future.result [18:01:57.360] } [18:01:57.365] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.365] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.366] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.366] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.367] MultisessionFuture started [18:01:57.367] - Launch lazy future ... done [18:01:57.367] run() for 'MultisessionFuture' ... done [18:01:57.368] result() for ClusterFuture ... [18:01:57.368] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.368] - Validating connection of MultisessionFuture [18:01:57.383] - received message: FutureResult [18:01:57.383] - Received FutureResult [18:01:57.384] - Erased future from FutureRegistry [18:01:57.384] result() for ClusterFuture ... [18:01:57.384] - result already collected: FutureResult [18:01:57.384] result() for ClusterFuture ... done [18:01:57.384] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.384] result() for ClusterFuture ... done [18:01:57.385] result() for ClusterFuture ... [18:01:57.385] - result already collected: FutureResult [18:01:57.385] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.385] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.386] Searching for globals... [18:01:57.388] - globals found: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:57.389] Searching for globals ... DONE [18:01:57.389] Resolving globals: TRUE [18:01:57.389] Resolving any globals that are futures ... [18:01:57.389] - globals: [6] '{', 'x', '<-', '[', '[<-', 'list' [18:01:57.389] Resolving any globals that are futures ... DONE [18:01:57.390] Resolving futures part of globals (recursively) ... [18:01:57.390] resolve() on list ... [18:01:57.390] recursive: 99 [18:01:57.390] length: 1 [18:01:57.391] elements: 'x' [18:01:57.391] length: 0 (resolved future 1) [18:01:57.391] resolve() on list ... DONE [18:01:57.391] - globals: [1] 'x' [18:01:57.391] Resolving futures part of globals (recursively) ... DONE [18:01:57.391] The total size of the 1 globals is 0 bytes (0 bytes) [18:01:57.392] The total size of the 1 globals exported for future expression ('{; x["a"] <- list(1); x; }') is 0 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'x' (0 bytes of class 'list') [18:01:57.392] - globals: [1] 'x' [18:01:57.392] [18:01:57.392] getGlobalsAndPackages() ... DONE [18:01:57.393] run() for 'Future' ... [18:01:57.393] - state: 'created' [18:01:57.393] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.407] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.407] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.407] - Field: 'node' [18:01:57.407] - Field: 'label' [18:01:57.407] - Field: 'local' [18:01:57.408] - Field: 'owner' [18:01:57.408] - Field: 'envir' [18:01:57.408] - Field: 'workers' [18:01:57.408] - Field: 'packages' [18:01:57.408] - Field: 'gc' [18:01:57.408] - Field: 'conditions' [18:01:57.409] - Field: 'persistent' [18:01:57.409] - Field: 'expr' [18:01:57.409] - Field: 'uuid' [18:01:57.409] - Field: 'seed' [18:01:57.409] - Field: 'version' [18:01:57.410] - Field: 'result' [18:01:57.410] - Field: 'asynchronous' [18:01:57.410] - Field: 'calls' [18:01:57.410] - Field: 'globals' [18:01:57.410] - Field: 'stdout' [18:01:57.410] - Field: 'earlySignal' [18:01:57.411] - Field: 'lazy' [18:01:57.411] - Field: 'state' [18:01:57.411] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.411] - Launch lazy future ... [18:01:57.411] Packages needed by the future expression (n = 0): [18:01:57.412] Packages needed by future strategies (n = 0): [18:01:57.412] { [18:01:57.412] { [18:01:57.412] { [18:01:57.412] ...future.startTime <- base::Sys.time() [18:01:57.412] { [18:01:57.412] { [18:01:57.412] { [18:01:57.412] { [18:01:57.412] base::local({ [18:01:57.412] has_future <- base::requireNamespace("future", [18:01:57.412] quietly = TRUE) [18:01:57.412] if (has_future) { [18:01:57.412] ns <- base::getNamespace("future") [18:01:57.412] version <- ns[[".package"]][["version"]] [18:01:57.412] if (is.null(version)) [18:01:57.412] version <- utils::packageVersion("future") [18:01:57.412] } [18:01:57.412] else { [18:01:57.412] version <- NULL [18:01:57.412] } [18:01:57.412] if (!has_future || version < "1.8.0") { [18:01:57.412] info <- base::c(r_version = base::gsub("R version ", [18:01:57.412] "", base::R.version$version.string), [18:01:57.412] platform = base::sprintf("%s (%s-bit)", [18:01:57.412] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.412] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.412] "release", "version")], collapse = " "), [18:01:57.412] hostname = base::Sys.info()[["nodename"]]) [18:01:57.412] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.412] info) [18:01:57.412] info <- base::paste(info, collapse = "; ") [18:01:57.412] if (!has_future) { [18:01:57.412] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.412] info) [18:01:57.412] } [18:01:57.412] else { [18:01:57.412] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.412] info, version) [18:01:57.412] } [18:01:57.412] base::stop(msg) [18:01:57.412] } [18:01:57.412] }) [18:01:57.412] } [18:01:57.412] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.412] base::options(mc.cores = 1L) [18:01:57.412] } [18:01:57.412] options(future.plan = NULL) [18:01:57.412] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.412] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.412] } [18:01:57.412] ...future.workdir <- getwd() [18:01:57.412] } [18:01:57.412] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.412] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.412] } [18:01:57.412] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.412] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.412] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.412] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.412] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.412] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.412] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.412] base::names(...future.oldOptions)) [18:01:57.412] } [18:01:57.412] if (FALSE) { [18:01:57.412] } [18:01:57.412] else { [18:01:57.412] if (TRUE) { [18:01:57.412] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.412] open = "w") [18:01:57.412] } [18:01:57.412] else { [18:01:57.412] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.412] windows = "NUL", "/dev/null"), open = "w") [18:01:57.412] } [18:01:57.412] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.412] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.412] base::sink(type = "output", split = FALSE) [18:01:57.412] base::close(...future.stdout) [18:01:57.412] }, add = TRUE) [18:01:57.412] } [18:01:57.412] ...future.frame <- base::sys.nframe() [18:01:57.412] ...future.conditions <- base::list() [18:01:57.412] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.412] if (FALSE) { [18:01:57.412] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.412] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.412] } [18:01:57.412] ...future.result <- base::tryCatch({ [18:01:57.412] base::withCallingHandlers({ [18:01:57.412] ...future.value <- base::withVisible(base::local({ [18:01:57.412] ...future.makeSendCondition <- local({ [18:01:57.412] sendCondition <- NULL [18:01:57.412] function(frame = 1L) { [18:01:57.412] if (is.function(sendCondition)) [18:01:57.412] return(sendCondition) [18:01:57.412] ns <- getNamespace("parallel") [18:01:57.412] if (exists("sendData", mode = "function", [18:01:57.412] envir = ns)) { [18:01:57.412] parallel_sendData <- get("sendData", mode = "function", [18:01:57.412] envir = ns) [18:01:57.412] envir <- sys.frame(frame) [18:01:57.412] master <- NULL [18:01:57.412] while (!identical(envir, .GlobalEnv) && [18:01:57.412] !identical(envir, emptyenv())) { [18:01:57.412] if (exists("master", mode = "list", envir = envir, [18:01:57.412] inherits = FALSE)) { [18:01:57.412] master <- get("master", mode = "list", [18:01:57.412] envir = envir, inherits = FALSE) [18:01:57.412] if (inherits(master, c("SOCKnode", [18:01:57.412] "SOCK0node"))) { [18:01:57.412] sendCondition <<- function(cond) { [18:01:57.412] data <- list(type = "VALUE", value = cond, [18:01:57.412] success = TRUE) [18:01:57.412] parallel_sendData(master, data) [18:01:57.412] } [18:01:57.412] return(sendCondition) [18:01:57.412] } [18:01:57.412] } [18:01:57.412] frame <- frame + 1L [18:01:57.412] envir <- sys.frame(frame) [18:01:57.412] } [18:01:57.412] } [18:01:57.412] sendCondition <<- function(cond) NULL [18:01:57.412] } [18:01:57.412] }) [18:01:57.412] withCallingHandlers({ [18:01:57.412] { [18:01:57.412] x["a"] <- list(1) [18:01:57.412] x [18:01:57.412] } [18:01:57.412] }, immediateCondition = function(cond) { [18:01:57.412] sendCondition <- ...future.makeSendCondition() [18:01:57.412] sendCondition(cond) [18:01:57.412] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.412] { [18:01:57.412] inherits <- base::inherits [18:01:57.412] invokeRestart <- base::invokeRestart [18:01:57.412] is.null <- base::is.null [18:01:57.412] muffled <- FALSE [18:01:57.412] if (inherits(cond, "message")) { [18:01:57.412] muffled <- grepl(pattern, "muffleMessage") [18:01:57.412] if (muffled) [18:01:57.412] invokeRestart("muffleMessage") [18:01:57.412] } [18:01:57.412] else if (inherits(cond, "warning")) { [18:01:57.412] muffled <- grepl(pattern, "muffleWarning") [18:01:57.412] if (muffled) [18:01:57.412] invokeRestart("muffleWarning") [18:01:57.412] } [18:01:57.412] else if (inherits(cond, "condition")) { [18:01:57.412] if (!is.null(pattern)) { [18:01:57.412] computeRestarts <- base::computeRestarts [18:01:57.412] grepl <- base::grepl [18:01:57.412] restarts <- computeRestarts(cond) [18:01:57.412] for (restart in restarts) { [18:01:57.412] name <- restart$name [18:01:57.412] if (is.null(name)) [18:01:57.412] next [18:01:57.412] if (!grepl(pattern, name)) [18:01:57.412] next [18:01:57.412] invokeRestart(restart) [18:01:57.412] muffled <- TRUE [18:01:57.412] break [18:01:57.412] } [18:01:57.412] } [18:01:57.412] } [18:01:57.412] invisible(muffled) [18:01:57.412] } [18:01:57.412] muffleCondition(cond) [18:01:57.412] }) [18:01:57.412] })) [18:01:57.412] future::FutureResult(value = ...future.value$value, [18:01:57.412] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.412] ...future.rng), globalenv = if (FALSE) [18:01:57.412] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.412] ...future.globalenv.names)) [18:01:57.412] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.412] }, condition = base::local({ [18:01:57.412] c <- base::c [18:01:57.412] inherits <- base::inherits [18:01:57.412] invokeRestart <- base::invokeRestart [18:01:57.412] length <- base::length [18:01:57.412] list <- base::list [18:01:57.412] seq.int <- base::seq.int [18:01:57.412] signalCondition <- base::signalCondition [18:01:57.412] sys.calls <- base::sys.calls [18:01:57.412] `[[` <- base::`[[` [18:01:57.412] `+` <- base::`+` [18:01:57.412] `<<-` <- base::`<<-` [18:01:57.412] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.412] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.412] 3L)] [18:01:57.412] } [18:01:57.412] function(cond) { [18:01:57.412] is_error <- inherits(cond, "error") [18:01:57.412] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.412] NULL) [18:01:57.412] if (is_error) { [18:01:57.412] sessionInformation <- function() { [18:01:57.412] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.412] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.412] search = base::search(), system = base::Sys.info()) [18:01:57.412] } [18:01:57.412] ...future.conditions[[length(...future.conditions) + [18:01:57.412] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.412] cond$call), session = sessionInformation(), [18:01:57.412] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.412] signalCondition(cond) [18:01:57.412] } [18:01:57.412] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.412] "immediateCondition"))) { [18:01:57.412] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.412] ...future.conditions[[length(...future.conditions) + [18:01:57.412] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.412] if (TRUE && !signal) { [18:01:57.412] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.412] { [18:01:57.412] inherits <- base::inherits [18:01:57.412] invokeRestart <- base::invokeRestart [18:01:57.412] is.null <- base::is.null [18:01:57.412] muffled <- FALSE [18:01:57.412] if (inherits(cond, "message")) { [18:01:57.412] muffled <- grepl(pattern, "muffleMessage") [18:01:57.412] if (muffled) [18:01:57.412] invokeRestart("muffleMessage") [18:01:57.412] } [18:01:57.412] else if (inherits(cond, "warning")) { [18:01:57.412] muffled <- grepl(pattern, "muffleWarning") [18:01:57.412] if (muffled) [18:01:57.412] invokeRestart("muffleWarning") [18:01:57.412] } [18:01:57.412] else if (inherits(cond, "condition")) { [18:01:57.412] if (!is.null(pattern)) { [18:01:57.412] computeRestarts <- base::computeRestarts [18:01:57.412] grepl <- base::grepl [18:01:57.412] restarts <- computeRestarts(cond) [18:01:57.412] for (restart in restarts) { [18:01:57.412] name <- restart$name [18:01:57.412] if (is.null(name)) [18:01:57.412] next [18:01:57.412] if (!grepl(pattern, name)) [18:01:57.412] next [18:01:57.412] invokeRestart(restart) [18:01:57.412] muffled <- TRUE [18:01:57.412] break [18:01:57.412] } [18:01:57.412] } [18:01:57.412] } [18:01:57.412] invisible(muffled) [18:01:57.412] } [18:01:57.412] muffleCondition(cond, pattern = "^muffle") [18:01:57.412] } [18:01:57.412] } [18:01:57.412] else { [18:01:57.412] if (TRUE) { [18:01:57.412] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.412] { [18:01:57.412] inherits <- base::inherits [18:01:57.412] invokeRestart <- base::invokeRestart [18:01:57.412] is.null <- base::is.null [18:01:57.412] muffled <- FALSE [18:01:57.412] if (inherits(cond, "message")) { [18:01:57.412] muffled <- grepl(pattern, "muffleMessage") [18:01:57.412] if (muffled) [18:01:57.412] invokeRestart("muffleMessage") [18:01:57.412] } [18:01:57.412] else if (inherits(cond, "warning")) { [18:01:57.412] muffled <- grepl(pattern, "muffleWarning") [18:01:57.412] if (muffled) [18:01:57.412] invokeRestart("muffleWarning") [18:01:57.412] } [18:01:57.412] else if (inherits(cond, "condition")) { [18:01:57.412] if (!is.null(pattern)) { [18:01:57.412] computeRestarts <- base::computeRestarts [18:01:57.412] grepl <- base::grepl [18:01:57.412] restarts <- computeRestarts(cond) [18:01:57.412] for (restart in restarts) { [18:01:57.412] name <- restart$name [18:01:57.412] if (is.null(name)) [18:01:57.412] next [18:01:57.412] if (!grepl(pattern, name)) [18:01:57.412] next [18:01:57.412] invokeRestart(restart) [18:01:57.412] muffled <- TRUE [18:01:57.412] break [18:01:57.412] } [18:01:57.412] } [18:01:57.412] } [18:01:57.412] invisible(muffled) [18:01:57.412] } [18:01:57.412] muffleCondition(cond, pattern = "^muffle") [18:01:57.412] } [18:01:57.412] } [18:01:57.412] } [18:01:57.412] })) [18:01:57.412] }, error = function(ex) { [18:01:57.412] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.412] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.412] ...future.rng), started = ...future.startTime, [18:01:57.412] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.412] version = "1.8"), class = "FutureResult") [18:01:57.412] }, finally = { [18:01:57.412] if (!identical(...future.workdir, getwd())) [18:01:57.412] setwd(...future.workdir) [18:01:57.412] { [18:01:57.412] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.412] ...future.oldOptions$nwarnings <- NULL [18:01:57.412] } [18:01:57.412] base::options(...future.oldOptions) [18:01:57.412] if (.Platform$OS.type == "windows") { [18:01:57.412] old_names <- names(...future.oldEnvVars) [18:01:57.412] envs <- base::Sys.getenv() [18:01:57.412] names <- names(envs) [18:01:57.412] common <- intersect(names, old_names) [18:01:57.412] added <- setdiff(names, old_names) [18:01:57.412] removed <- setdiff(old_names, names) [18:01:57.412] changed <- common[...future.oldEnvVars[common] != [18:01:57.412] envs[common]] [18:01:57.412] NAMES <- toupper(changed) [18:01:57.412] args <- list() [18:01:57.412] for (kk in seq_along(NAMES)) { [18:01:57.412] name <- changed[[kk]] [18:01:57.412] NAME <- NAMES[[kk]] [18:01:57.412] if (name != NAME && is.element(NAME, old_names)) [18:01:57.412] next [18:01:57.412] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.412] } [18:01:57.412] NAMES <- toupper(added) [18:01:57.412] for (kk in seq_along(NAMES)) { [18:01:57.412] name <- added[[kk]] [18:01:57.412] NAME <- NAMES[[kk]] [18:01:57.412] if (name != NAME && is.element(NAME, old_names)) [18:01:57.412] next [18:01:57.412] args[[name]] <- "" [18:01:57.412] } [18:01:57.412] NAMES <- toupper(removed) [18:01:57.412] for (kk in seq_along(NAMES)) { [18:01:57.412] name <- removed[[kk]] [18:01:57.412] NAME <- NAMES[[kk]] [18:01:57.412] if (name != NAME && is.element(NAME, old_names)) [18:01:57.412] next [18:01:57.412] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.412] } [18:01:57.412] if (length(args) > 0) [18:01:57.412] base::do.call(base::Sys.setenv, args = args) [18:01:57.412] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.412] } [18:01:57.412] else { [18:01:57.412] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.412] } [18:01:57.412] { [18:01:57.412] if (base::length(...future.futureOptionsAdded) > [18:01:57.412] 0L) { [18:01:57.412] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.412] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.412] base::options(opts) [18:01:57.412] } [18:01:57.412] { [18:01:57.412] { [18:01:57.412] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.412] NULL [18:01:57.412] } [18:01:57.412] options(future.plan = NULL) [18:01:57.412] if (is.na(NA_character_)) [18:01:57.412] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.412] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.412] future::plan(list(function (..., workers = availableCores(), [18:01:57.412] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.412] envir = parent.frame()) [18:01:57.412] { [18:01:57.412] if (is.function(workers)) [18:01:57.412] workers <- workers() [18:01:57.412] workers <- structure(as.integer(workers), [18:01:57.412] class = class(workers)) [18:01:57.412] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.412] workers >= 1) [18:01:57.412] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.412] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.412] } [18:01:57.412] future <- MultisessionFuture(..., workers = workers, [18:01:57.412] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.412] envir = envir) [18:01:57.412] if (!future$lazy) [18:01:57.412] future <- run(future) [18:01:57.412] invisible(future) [18:01:57.412] }), .cleanup = FALSE, .init = FALSE) [18:01:57.412] } [18:01:57.412] } [18:01:57.412] } [18:01:57.412] }) [18:01:57.412] if (TRUE) { [18:01:57.412] base::sink(type = "output", split = FALSE) [18:01:57.412] if (TRUE) { [18:01:57.412] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.412] } [18:01:57.412] else { [18:01:57.412] ...future.result["stdout"] <- base::list(NULL) [18:01:57.412] } [18:01:57.412] base::close(...future.stdout) [18:01:57.412] ...future.stdout <- NULL [18:01:57.412] } [18:01:57.412] ...future.result$conditions <- ...future.conditions [18:01:57.412] ...future.result$finished <- base::Sys.time() [18:01:57.412] ...future.result [18:01:57.412] } [18:01:57.418] Exporting 1 global objects (0 bytes) to cluster node #1 ... [18:01:57.418] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.418] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.418] Exporting 1 global objects (0 bytes) to cluster node #1 ... DONE [18:01:57.419] MultisessionFuture started [18:01:57.419] - Launch lazy future ... done [18:01:57.419] run() for 'MultisessionFuture' ... done [18:01:57.420] result() for ClusterFuture ... [18:01:57.420] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.420] - Validating connection of MultisessionFuture [18:01:57.435] - received message: FutureResult [18:01:57.435] - Received FutureResult [18:01:57.436] - Erased future from FutureRegistry [18:01:57.436] result() for ClusterFuture ... [18:01:57.436] - result already collected: FutureResult [18:01:57.436] result() for ClusterFuture ... done [18:01:57.436] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.436] result() for ClusterFuture ... done [18:01:57.437] result() for ClusterFuture ... [18:01:57.437] - result already collected: FutureResult [18:01:57.437] result() for ClusterFuture ... done $a [1] 1 Warning: R option 'future.globals.resolve' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'TRUE' [18:01:57.437] getGlobalsAndPackages() ... Warning: R option 'future.globals.onMissing' may only be used for troubleshooting. It must not be used in production since it changes how futures are evaluated and there is a great risk that the results cannot be reproduced elsewhere: 'error' [18:01:57.438] Searching for globals... [18:01:57.441] - globals found: [7] '{', 'x', '<-', '[', 'name', '[<-', 'list' [18:01:57.441] Searching for globals ... DONE [18:01:57.441] Resolving globals: TRUE [18:01:57.441] Resolving any globals that are futures ... [18:01:57.441] - globals: [7] '{', 'x', '<-', '[', 'name', '[<-', 'list' [18:01:57.441] Resolving any globals that are futures ... DONE [18:01:57.442] Resolving futures part of globals (recursively) ... [18:01:57.442] resolve() on list ... [18:01:57.442] recursive: 99 [18:01:57.443] length: 2 [18:01:57.443] elements: 'x', 'name' [18:01:57.443] length: 1 (resolved future 1) [18:01:57.443] length: 0 (resolved future 2) [18:01:57.443] resolve() on list ... DONE [18:01:57.444] - globals: [2] 'x', 'name' [18:01:57.444] Resolving futures part of globals (recursively) ... DONE [18:01:57.444] The total size of the 2 globals is 112 bytes (112 bytes) [18:01:57.444] The total size of the 2 globals exported for future expression ('{; x[name] <- list(1); x; }') is 112 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There are two globals: 'name' (112 bytes of class 'character') and 'x' (0 bytes of class 'list') [18:01:57.445] - globals: [2] 'x', 'name' [18:01:57.445] [18:01:57.445] getGlobalsAndPackages() ... DONE [18:01:57.445] run() for 'Future' ... [18:01:57.446] - state: 'created' [18:01:57.446] - Future backend: 'FutureStrategy', 'multisession', 'cluster', 'multiprocess', 'future', 'function' [18:01:57.462] - Future class: 'MultisessionFuture', 'ClusterFuture', 'MultiprocessFuture', 'Future', 'environment' [18:01:57.463] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... [18:01:57.463] - Field: 'node' [18:01:57.463] - Field: 'label' [18:01:57.463] - Field: 'local' [18:01:57.463] - Field: 'owner' [18:01:57.464] - Field: 'envir' [18:01:57.464] - Field: 'workers' [18:01:57.464] - Field: 'packages' [18:01:57.464] - Field: 'gc' [18:01:57.464] - Field: 'conditions' [18:01:57.464] - Field: 'persistent' [18:01:57.465] - Field: 'expr' [18:01:57.465] - Field: 'uuid' [18:01:57.465] - Field: 'seed' [18:01:57.465] - Field: 'version' [18:01:57.465] - Field: 'result' [18:01:57.465] - Field: 'asynchronous' [18:01:57.466] - Field: 'calls' [18:01:57.466] - Field: 'globals' [18:01:57.466] - Field: 'stdout' [18:01:57.466] - Field: 'earlySignal' [18:01:57.466] - Field: 'lazy' [18:01:57.466] - Field: 'state' [18:01:57.467] - Copy elements of temporary 'MultisessionFuture' to final 'Future' object ... done [18:01:57.467] - Launch lazy future ... [18:01:57.467] Packages needed by the future expression (n = 0): [18:01:57.467] Packages needed by future strategies (n = 0): [18:01:57.468] { [18:01:57.468] { [18:01:57.468] { [18:01:57.468] ...future.startTime <- base::Sys.time() [18:01:57.468] { [18:01:57.468] { [18:01:57.468] { [18:01:57.468] { [18:01:57.468] base::local({ [18:01:57.468] has_future <- base::requireNamespace("future", [18:01:57.468] quietly = TRUE) [18:01:57.468] if (has_future) { [18:01:57.468] ns <- base::getNamespace("future") [18:01:57.468] version <- ns[[".package"]][["version"]] [18:01:57.468] if (is.null(version)) [18:01:57.468] version <- utils::packageVersion("future") [18:01:57.468] } [18:01:57.468] else { [18:01:57.468] version <- NULL [18:01:57.468] } [18:01:57.468] if (!has_future || version < "1.8.0") { [18:01:57.468] info <- base::c(r_version = base::gsub("R version ", [18:01:57.468] "", base::R.version$version.string), [18:01:57.468] platform = base::sprintf("%s (%s-bit)", [18:01:57.468] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [18:01:57.468] os = base::paste(base::Sys.info()[base::c("sysname", [18:01:57.468] "release", "version")], collapse = " "), [18:01:57.468] hostname = base::Sys.info()[["nodename"]]) [18:01:57.468] info <- base::sprintf("%s: %s", base::names(info), [18:01:57.468] info) [18:01:57.468] info <- base::paste(info, collapse = "; ") [18:01:57.468] if (!has_future) { [18:01:57.468] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [18:01:57.468] info) [18:01:57.468] } [18:01:57.468] else { [18:01:57.468] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [18:01:57.468] info, version) [18:01:57.468] } [18:01:57.468] base::stop(msg) [18:01:57.468] } [18:01:57.468] }) [18:01:57.468] } [18:01:57.468] ...future.mc.cores.old <- base::getOption("mc.cores") [18:01:57.468] base::options(mc.cores = 1L) [18:01:57.468] } [18:01:57.468] options(future.plan = NULL) [18:01:57.468] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.468] future::plan("default", .cleanup = FALSE, .init = FALSE) [18:01:57.468] } [18:01:57.468] ...future.workdir <- getwd() [18:01:57.468] } [18:01:57.468] ...future.oldOptions <- base::as.list(base::.Options) [18:01:57.468] ...future.oldEnvVars <- base::Sys.getenv() [18:01:57.468] } [18:01:57.468] base::options(future.startup.script = FALSE, future.globals.onMissing = "error", [18:01:57.468] future.globals.maxSize = NULL, future.globals.method = NULL, [18:01:57.468] future.globals.onMissing = "error", future.globals.onReference = NULL, [18:01:57.468] future.globals.resolve = TRUE, future.resolve.recursive = NULL, [18:01:57.468] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [18:01:57.468] future.stdout.windows.reencode = NULL, width = 80L) [18:01:57.468] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [18:01:57.468] base::names(...future.oldOptions)) [18:01:57.468] } [18:01:57.468] if (FALSE) { [18:01:57.468] } [18:01:57.468] else { [18:01:57.468] if (TRUE) { [18:01:57.468] ...future.stdout <- base::rawConnection(base::raw(0L), [18:01:57.468] open = "w") [18:01:57.468] } [18:01:57.468] else { [18:01:57.468] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [18:01:57.468] windows = "NUL", "/dev/null"), open = "w") [18:01:57.468] } [18:01:57.468] base::sink(...future.stdout, type = "output", split = FALSE) [18:01:57.468] base::on.exit(if (!base::is.null(...future.stdout)) { [18:01:57.468] base::sink(type = "output", split = FALSE) [18:01:57.468] base::close(...future.stdout) [18:01:57.468] }, add = TRUE) [18:01:57.468] } [18:01:57.468] ...future.frame <- base::sys.nframe() [18:01:57.468] ...future.conditions <- base::list() [18:01:57.468] ...future.rng <- base::globalenv()$.Random.seed [18:01:57.468] if (FALSE) { [18:01:57.468] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [18:01:57.468] "...future.value", "...future.globalenv.names", ".Random.seed") [18:01:57.468] } [18:01:57.468] ...future.result <- base::tryCatch({ [18:01:57.468] base::withCallingHandlers({ [18:01:57.468] ...future.value <- base::withVisible(base::local({ [18:01:57.468] ...future.makeSendCondition <- local({ [18:01:57.468] sendCondition <- NULL [18:01:57.468] function(frame = 1L) { [18:01:57.468] if (is.function(sendCondition)) [18:01:57.468] return(sendCondition) [18:01:57.468] ns <- getNamespace("parallel") [18:01:57.468] if (exists("sendData", mode = "function", [18:01:57.468] envir = ns)) { [18:01:57.468] parallel_sendData <- get("sendData", mode = "function", [18:01:57.468] envir = ns) [18:01:57.468] envir <- sys.frame(frame) [18:01:57.468] master <- NULL [18:01:57.468] while (!identical(envir, .GlobalEnv) && [18:01:57.468] !identical(envir, emptyenv())) { [18:01:57.468] if (exists("master", mode = "list", envir = envir, [18:01:57.468] inherits = FALSE)) { [18:01:57.468] master <- get("master", mode = "list", [18:01:57.468] envir = envir, inherits = FALSE) [18:01:57.468] if (inherits(master, c("SOCKnode", [18:01:57.468] "SOCK0node"))) { [18:01:57.468] sendCondition <<- function(cond) { [18:01:57.468] data <- list(type = "VALUE", value = cond, [18:01:57.468] success = TRUE) [18:01:57.468] parallel_sendData(master, data) [18:01:57.468] } [18:01:57.468] return(sendCondition) [18:01:57.468] } [18:01:57.468] } [18:01:57.468] frame <- frame + 1L [18:01:57.468] envir <- sys.frame(frame) [18:01:57.468] } [18:01:57.468] } [18:01:57.468] sendCondition <<- function(cond) NULL [18:01:57.468] } [18:01:57.468] }) [18:01:57.468] withCallingHandlers({ [18:01:57.468] { [18:01:57.468] x[name] <- list(1) [18:01:57.468] x [18:01:57.468] } [18:01:57.468] }, immediateCondition = function(cond) { [18:01:57.468] sendCondition <- ...future.makeSendCondition() [18:01:57.468] sendCondition(cond) [18:01:57.468] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.468] { [18:01:57.468] inherits <- base::inherits [18:01:57.468] invokeRestart <- base::invokeRestart [18:01:57.468] is.null <- base::is.null [18:01:57.468] muffled <- FALSE [18:01:57.468] if (inherits(cond, "message")) { [18:01:57.468] muffled <- grepl(pattern, "muffleMessage") [18:01:57.468] if (muffled) [18:01:57.468] invokeRestart("muffleMessage") [18:01:57.468] } [18:01:57.468] else if (inherits(cond, "warning")) { [18:01:57.468] muffled <- grepl(pattern, "muffleWarning") [18:01:57.468] if (muffled) [18:01:57.468] invokeRestart("muffleWarning") [18:01:57.468] } [18:01:57.468] else if (inherits(cond, "condition")) { [18:01:57.468] if (!is.null(pattern)) { [18:01:57.468] computeRestarts <- base::computeRestarts [18:01:57.468] grepl <- base::grepl [18:01:57.468] restarts <- computeRestarts(cond) [18:01:57.468] for (restart in restarts) { [18:01:57.468] name <- restart$name [18:01:57.468] if (is.null(name)) [18:01:57.468] next [18:01:57.468] if (!grepl(pattern, name)) [18:01:57.468] next [18:01:57.468] invokeRestart(restart) [18:01:57.468] muffled <- TRUE [18:01:57.468] break [18:01:57.468] } [18:01:57.468] } [18:01:57.468] } [18:01:57.468] invisible(muffled) [18:01:57.468] } [18:01:57.468] muffleCondition(cond) [18:01:57.468] }) [18:01:57.468] })) [18:01:57.468] future::FutureResult(value = ...future.value$value, [18:01:57.468] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.468] ...future.rng), globalenv = if (FALSE) [18:01:57.468] list(added = base::setdiff(base::names(base::.GlobalEnv), [18:01:57.468] ...future.globalenv.names)) [18:01:57.468] else NULL, started = ...future.startTime, version = "1.8") [18:01:57.468] }, condition = base::local({ [18:01:57.468] c <- base::c [18:01:57.468] inherits <- base::inherits [18:01:57.468] invokeRestart <- base::invokeRestart [18:01:57.468] length <- base::length [18:01:57.468] list <- base::list [18:01:57.468] seq.int <- base::seq.int [18:01:57.468] signalCondition <- base::signalCondition [18:01:57.468] sys.calls <- base::sys.calls [18:01:57.468] `[[` <- base::`[[` [18:01:57.468] `+` <- base::`+` [18:01:57.468] `<<-` <- base::`<<-` [18:01:57.468] sysCalls <- function(calls = sys.calls(), from = 1L) { [18:01:57.468] calls[seq.int(from = from + 12L, to = length(calls) - [18:01:57.468] 3L)] [18:01:57.468] } [18:01:57.468] function(cond) { [18:01:57.468] is_error <- inherits(cond, "error") [18:01:57.468] ignore <- !is_error && !is.null(NULL) && inherits(cond, [18:01:57.468] NULL) [18:01:57.468] if (is_error) { [18:01:57.468] sessionInformation <- function() { [18:01:57.468] list(r = base::R.Version(), locale = base::Sys.getlocale(), [18:01:57.468] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [18:01:57.468] search = base::search(), system = base::Sys.info()) [18:01:57.468] } [18:01:57.468] ...future.conditions[[length(...future.conditions) + [18:01:57.468] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [18:01:57.468] cond$call), session = sessionInformation(), [18:01:57.468] timestamp = base::Sys.time(), signaled = 0L) [18:01:57.468] signalCondition(cond) [18:01:57.468] } [18:01:57.468] else if (!ignore && TRUE && inherits(cond, c("condition", [18:01:57.468] "immediateCondition"))) { [18:01:57.468] signal <- TRUE && inherits(cond, "immediateCondition") [18:01:57.468] ...future.conditions[[length(...future.conditions) + [18:01:57.468] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [18:01:57.468] if (TRUE && !signal) { [18:01:57.468] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.468] { [18:01:57.468] inherits <- base::inherits [18:01:57.468] invokeRestart <- base::invokeRestart [18:01:57.468] is.null <- base::is.null [18:01:57.468] muffled <- FALSE [18:01:57.468] if (inherits(cond, "message")) { [18:01:57.468] muffled <- grepl(pattern, "muffleMessage") [18:01:57.468] if (muffled) [18:01:57.468] invokeRestart("muffleMessage") [18:01:57.468] } [18:01:57.468] else if (inherits(cond, "warning")) { [18:01:57.468] muffled <- grepl(pattern, "muffleWarning") [18:01:57.468] if (muffled) [18:01:57.468] invokeRestart("muffleWarning") [18:01:57.468] } [18:01:57.468] else if (inherits(cond, "condition")) { [18:01:57.468] if (!is.null(pattern)) { [18:01:57.468] computeRestarts <- base::computeRestarts [18:01:57.468] grepl <- base::grepl [18:01:57.468] restarts <- computeRestarts(cond) [18:01:57.468] for (restart in restarts) { [18:01:57.468] name <- restart$name [18:01:57.468] if (is.null(name)) [18:01:57.468] next [18:01:57.468] if (!grepl(pattern, name)) [18:01:57.468] next [18:01:57.468] invokeRestart(restart) [18:01:57.468] muffled <- TRUE [18:01:57.468] break [18:01:57.468] } [18:01:57.468] } [18:01:57.468] } [18:01:57.468] invisible(muffled) [18:01:57.468] } [18:01:57.468] muffleCondition(cond, pattern = "^muffle") [18:01:57.468] } [18:01:57.468] } [18:01:57.468] else { [18:01:57.468] if (TRUE) { [18:01:57.468] muffleCondition <- function (cond, pattern = "^muffle") [18:01:57.468] { [18:01:57.468] inherits <- base::inherits [18:01:57.468] invokeRestart <- base::invokeRestart [18:01:57.468] is.null <- base::is.null [18:01:57.468] muffled <- FALSE [18:01:57.468] if (inherits(cond, "message")) { [18:01:57.468] muffled <- grepl(pattern, "muffleMessage") [18:01:57.468] if (muffled) [18:01:57.468] invokeRestart("muffleMessage") [18:01:57.468] } [18:01:57.468] else if (inherits(cond, "warning")) { [18:01:57.468] muffled <- grepl(pattern, "muffleWarning") [18:01:57.468] if (muffled) [18:01:57.468] invokeRestart("muffleWarning") [18:01:57.468] } [18:01:57.468] else if (inherits(cond, "condition")) { [18:01:57.468] if (!is.null(pattern)) { [18:01:57.468] computeRestarts <- base::computeRestarts [18:01:57.468] grepl <- base::grepl [18:01:57.468] restarts <- computeRestarts(cond) [18:01:57.468] for (restart in restarts) { [18:01:57.468] name <- restart$name [18:01:57.468] if (is.null(name)) [18:01:57.468] next [18:01:57.468] if (!grepl(pattern, name)) [18:01:57.468] next [18:01:57.468] invokeRestart(restart) [18:01:57.468] muffled <- TRUE [18:01:57.468] break [18:01:57.468] } [18:01:57.468] } [18:01:57.468] } [18:01:57.468] invisible(muffled) [18:01:57.468] } [18:01:57.468] muffleCondition(cond, pattern = "^muffle") [18:01:57.468] } [18:01:57.468] } [18:01:57.468] } [18:01:57.468] })) [18:01:57.468] }, error = function(ex) { [18:01:57.468] base::structure(base::list(value = NULL, visible = NULL, [18:01:57.468] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [18:01:57.468] ...future.rng), started = ...future.startTime, [18:01:57.468] finished = Sys.time(), session_uuid = NA_character_, [18:01:57.468] version = "1.8"), class = "FutureResult") [18:01:57.468] }, finally = { [18:01:57.468] if (!identical(...future.workdir, getwd())) [18:01:57.468] setwd(...future.workdir) [18:01:57.468] { [18:01:57.468] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [18:01:57.468] ...future.oldOptions$nwarnings <- NULL [18:01:57.468] } [18:01:57.468] base::options(...future.oldOptions) [18:01:57.468] if (.Platform$OS.type == "windows") { [18:01:57.468] old_names <- names(...future.oldEnvVars) [18:01:57.468] envs <- base::Sys.getenv() [18:01:57.468] names <- names(envs) [18:01:57.468] common <- intersect(names, old_names) [18:01:57.468] added <- setdiff(names, old_names) [18:01:57.468] removed <- setdiff(old_names, names) [18:01:57.468] changed <- common[...future.oldEnvVars[common] != [18:01:57.468] envs[common]] [18:01:57.468] NAMES <- toupper(changed) [18:01:57.468] args <- list() [18:01:57.468] for (kk in seq_along(NAMES)) { [18:01:57.468] name <- changed[[kk]] [18:01:57.468] NAME <- NAMES[[kk]] [18:01:57.468] if (name != NAME && is.element(NAME, old_names)) [18:01:57.468] next [18:01:57.468] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.468] } [18:01:57.468] NAMES <- toupper(added) [18:01:57.468] for (kk in seq_along(NAMES)) { [18:01:57.468] name <- added[[kk]] [18:01:57.468] NAME <- NAMES[[kk]] [18:01:57.468] if (name != NAME && is.element(NAME, old_names)) [18:01:57.468] next [18:01:57.468] args[[name]] <- "" [18:01:57.468] } [18:01:57.468] NAMES <- toupper(removed) [18:01:57.468] for (kk in seq_along(NAMES)) { [18:01:57.468] name <- removed[[kk]] [18:01:57.468] NAME <- NAMES[[kk]] [18:01:57.468] if (name != NAME && is.element(NAME, old_names)) [18:01:57.468] next [18:01:57.468] args[[name]] <- ...future.oldEnvVars[[name]] [18:01:57.468] } [18:01:57.468] if (length(args) > 0) [18:01:57.468] base::do.call(base::Sys.setenv, args = args) [18:01:57.468] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [18:01:57.468] } [18:01:57.468] else { [18:01:57.468] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [18:01:57.468] } [18:01:57.468] { [18:01:57.468] if (base::length(...future.futureOptionsAdded) > [18:01:57.468] 0L) { [18:01:57.468] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [18:01:57.468] base::names(opts) <- ...future.futureOptionsAdded [18:01:57.468] base::options(opts) [18:01:57.468] } [18:01:57.468] { [18:01:57.468] { [18:01:57.468] base::options(mc.cores = ...future.mc.cores.old) [18:01:57.468] NULL [18:01:57.468] } [18:01:57.468] options(future.plan = NULL) [18:01:57.468] if (is.na(NA_character_)) [18:01:57.468] Sys.unsetenv("R_FUTURE_PLAN") [18:01:57.468] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [18:01:57.468] future::plan(list(function (..., workers = availableCores(), [18:01:57.468] lazy = FALSE, rscript_libs = .libPaths(), [18:01:57.468] envir = parent.frame()) [18:01:57.468] { [18:01:57.468] if (is.function(workers)) [18:01:57.468] workers <- workers() [18:01:57.468] workers <- structure(as.integer(workers), [18:01:57.468] class = class(workers)) [18:01:57.468] stop_if_not(length(workers) == 1, is.finite(workers), [18:01:57.468] workers >= 1) [18:01:57.468] if (workers == 1L && !inherits(workers, "AsIs")) { [18:01:57.468] return(sequential(..., lazy = TRUE, envir = envir)) [18:01:57.468] } [18:01:57.468] future <- MultisessionFuture(..., workers = workers, [18:01:57.468] lazy = lazy, rscript_libs = rscript_libs, [18:01:57.468] envir = envir) [18:01:57.468] if (!future$lazy) [18:01:57.468] future <- run(future) [18:01:57.468] invisible(future) [18:01:57.468] }), .cleanup = FALSE, .init = FALSE) [18:01:57.468] } [18:01:57.468] } [18:01:57.468] } [18:01:57.468] }) [18:01:57.468] if (TRUE) { [18:01:57.468] base::sink(type = "output", split = FALSE) [18:01:57.468] if (TRUE) { [18:01:57.468] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [18:01:57.468] } [18:01:57.468] else { [18:01:57.468] ...future.result["stdout"] <- base::list(NULL) [18:01:57.468] } [18:01:57.468] base::close(...future.stdout) [18:01:57.468] ...future.stdout <- NULL [18:01:57.468] } [18:01:57.468] ...future.result$conditions <- ...future.conditions [18:01:57.468] ...future.result$finished <- base::Sys.time() [18:01:57.468] ...future.result [18:01:57.468] } [18:01:57.473] Exporting 2 global objects (112 bytes) to cluster node #1 ... [18:01:57.473] Exporting 'x' (0 bytes) to cluster node #1 ... [18:01:57.474] Exporting 'x' (0 bytes) to cluster node #1 ... DONE [18:01:57.474] Exporting 'name' (112 bytes) to cluster node #1 ... [18:01:57.475] Exporting 'name' (112 bytes) to cluster node #1 ... DONE [18:01:57.475] Exporting 2 global objects (112 bytes) to cluster node #1 ... DONE [18:01:57.475] MultisessionFuture started [18:01:57.476] - Launch lazy future ... done [18:01:57.476] run() for 'MultisessionFuture' ... done [18:01:57.476] result() for ClusterFuture ... [18:01:57.476] receiveMessageFromWorker() for ClusterFuture ... [18:01:57.476] - Validating connection of MultisessionFuture [18:01:57.491] - received message: FutureResult [18:01:57.491] - Received FutureResult [18:01:57.491] - Erased future from FutureRegistry [18:01:57.491] result() for ClusterFuture ... [18:01:57.491] - result already collected: FutureResult [18:01:57.492] result() for ClusterFuture ... done [18:01:57.492] receiveMessageFromWorker() for ClusterFuture ... done [18:01:57.492] result() for ClusterFuture ... done [18:01:57.492] result() for ClusterFuture ... [18:01:57.492] - result already collected: FutureResult [18:01:57.492] result() for ClusterFuture ... done $a [1] 1 Testing with 2 cores ... DONE > > message("*** Globals - subassignments w/ x$a <- value ... DONE") *** Globals - subassignments w/ x$a <- value ... DONE > > message("*** Globals - subassignments ... DONE") *** Globals - subassignments ... DONE > > source("incl/end.R") [18:01:57.494] plan(): Setting new future strategy stack: [18:01:57.494] List of future strategies: [18:01:57.494] 1. FutureStrategy: [18:01:57.494] - args: function (..., envir = parent.frame()) [18:01:57.494] - tweaked: FALSE [18:01:57.494] - call: future::plan(oplan) [18:01:57.495] plan(): nbrOfWorkers() = 1 Failed to undo environment variables: - Expected environment variables: [n=201] '!ExitCode', 'ALLUSERSPROFILE', 'APPDATA', 'BIBINPUTS', 'BINDIR', 'BSTINPUTS', 'COMMONPROGRAMFILES', 'COMPUTERNAME', 'COMSPEC', 'CURL_CA_BUNDLE', 'CYGWIN', 'CommonProgramFiles(x86)', 'CommonProgramW6432', 'DriverData', 'HOME', 'HOMEDRIVE', 'HOMEPATH', 'JAGS_ROOT', 'JAVA_HOME', 'LANGUAGE', 'LC_COLLATE', 'LC_MONETARY', 'LC_TIME', 'LOCALAPPDATA', 'LOGONSERVER', 'LS_HOME', 'LS_LICENSE_PATH', 'MAKE', 'MAKEFLAGS', 'MAKELEVEL', 'MFLAGS', 'MSMPI_BENCHMARKS', 'MSMPI_BIN', 'MSYS2_ENV_CONV_EXCL', 'NUMBER_OF_PROCESSORS', 'OMP_THREAD_LIMIT', 'OS', 'PATH', 'PATHEXT', 'PROCESSOR_ARCHITECTURE', 'PROCESSOR_IDENTIFIER', 'PROCESSOR_LEVEL', 'PROCESSOR_REVISION', 'PROGRAMFILES', 'PROMPT', 'PSModulePath', 'PUBLIC', 'PWD', 'ProgramData', 'ProgramFiles(x86)', 'ProgramW6432', 'RETICULATE_AUTOCONFIGURE', 'RTOOLS43_HOME', 'R_ARCH', 'R_BROWSER', 'R_BZIPCMD', 'R_CMD', 'R_COMPILED_BY', 'R_CRAN_WEB', 'R_CUSTOM_TOOLS_PATH', 'R_CUSTOM_TOOLS_SOFT', 'R_DOC_DIR', 'R_ENVIRON_USER', 'R_GSCMD', 'R_GZIPCMD', 'R_HOME', 'R_INCLUDE_DIR', 'R_INSTALL_TAR', 'R_LIBS', 'R_LIBS_SITE', 'R_LIBS_USER', 'R_MAX_NUM_DLLS', 'R_OSTYPE', 'R_PAPERSIZE', 'R_PAPERSIZE_USER', 'R_PARALLELLY_MAKENODEPSOCK_AUTOKILL', 'R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT', 'R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL', 'R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS', 'R_PARALLELLY_MAKENODEPSOCK_TIMEOUT', 'R_PARALLELLY_RANDOM_PORTS', 'R_PARALLEL_PORT', 'R_RD4PDF', 'R_RTOOLS43_PATH', 'R_SCRIPT_LEGACY', 'R_SHARE_DIR', 'R_TESTS', 'R_UNZIPCMD', 'R_USER', 'R_VERSION', 'R_ZIPCMD', 'SED', 'SHLVL', 'SYSTEMDRIVE', 'SYSTEMROOT', 'TAR', 'TAR_OPTIONS', 'TEMP', 'TERM', 'TEXINPUTS', 'TMP', 'TMPDIR', 'USERDOMAIN', 'USERDOMAIN_ROAMINGPROFILE', 'USERNAME', 'USERPROFILE', 'WINDIR', '_', '_R_CHECK_AUTOCONF_', '_R_CHECK_BOGUS_RETURN_', '_R_CHECK_BROWSER_NONINTERACTIVE_', '_R_CHECK_BUILD_VIGNETTES_SEPARATELY_', '_R_CHECK_CODETOOLS_PROFILE_', '_R_CHECK_CODE_ASSIGN_TO_GLOBALENV_', '_R_CHECK_CODE_ATTACH_', '_R_CHECK_CODE_CLASS_IS_STRING_', '_R_CHECK_CODE_DATA_INTO_GLOBALENV_', '_R_CHECK_CODE_USAGE_VIA_NAMESPACES_', '_R_CHECK_CODE_USAGE_WITHOUT_LOADING_', '_R_CHECK_CODE_USAGE_WITH_ONLY_BASE_ATTACHED_', '_R_CHECK_CODOC_VARIABLES_IN_USAGES_', '_R_CHECK_COMPACT_DATA2_', '_R_CHECK_COMPILATION_FLAGS_', '_R_CHECK_CONNECTIONS_LEFT_OPEN_', '_R_CHECK_CRAN_INCOMING_', '_R_CHECK_CRAN_INCOMING_CHECK_FILE_URIS_', '_R_CHECK_CRAN_INCOMING_CHECK_URLS_IN_PARALLEL_', '_R_CHECK_CRAN_INCOMING_NOTE_GNU_MAKE_', '_R_CHECK_CRAN_INCOMING_REMOTE_', '_R_CHECK_CRAN_INCOMING_USE_ASPELL_', '_R_CHECK_DATALIST_', '_R_CHECK_DEPRECATED_DEFUNCT_', '_R_CHECK_DOC_SIZES2_', '_R_CHECK_DOT_FIRSTLIB_', '_R_CHECK_DOT_INTERNAL_', '_R_CHECK_EXAMPLE_TIMING_THRESHOLD_', '_R_CHECK_EXECUTABLES_', '_R_CHECK_EXECUTABLES_EXCLUSIONS_', '_R_CHECK_FF_CALLS_', '_R_CHECK_FF_DUP_', '_R_CHECK_FORCE_SUGGESTS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_', '_R_CHECK_FUTURE_FILE_TIMESTAMPS_LEEWAY_', '_R_CHECK_HAVE_MYSQL_', '_R_CHECK_HAVE_ODBC_', '_R_CHECK_HAVE_PERL_', '_R_CHECK_HAVE_POSTGRES_', '_R_CHECK_INSTALL_DEPENDS_', '_R_CHECK_INTERNALS2_', '_R_CHECK_LENGTH_1_CONDITION_', '_R_CHECK_LICENSE_', '_R_CHECK_LIMIT_CORES_', '_R_CHECK_MATRIX_DATA_', '_R_CHECK_NATIVE_ROUTINE_REGISTRATION_', '_R_CHECK_NEWS_IN_PLAIN_TEXT_', '_R_CHECK_NO_RECOMMENDED_', '_R_CHECK_NO_STOP_ON_TEST_ERROR_', '_R_CHECK_ORPHANED_', '_R_CHECK_OVERWRITE_REGISTERED_S3_METHODS_', '_R_CHECK_PACKAGES_USED_IGNORE_UNUSED_IMPORTS_', '_R_CHECK_PACKAGES_USED_IN_TESTS_USE_SUBDIRS_', '_R_CHECK_PACKAGE_DATASETS_SUPPRESS_NOTES_', '_R_CHECK_PACKAGE_NAME_', '_R_CHECK_PKG_SIZES_', '_R_CHECK_PKG_SIZES_THRESHOLD_', '_R_CHECK_PRAGMAS_', '_R_CHECK_RD_EXAMPLES_T_AND_F_', '_R_CHECK_RD_LINE_WIDTHS_', '_R_CHECK_RD_MATH_RENDERING_', '_R_CHECK_RD_VALIDATE_RD2HTML_', '_R_CHECK_REPLACING_IMPORTS_', '_R_CHECK_R_DEPENDS_', '_R_CHECK_S3_METHODS_SHOW_POSSIBLE_ISSUES_', '_R_CHECK_SCREEN_DEVICE_', '_R_CHECK_SERIALIZATION_', '_R_CHECK_SHLIB_OPENMP_FLAGS_', '_R_CHECK_SRC_MINUS_W_IMPLICIT_', '_R_CHECK_SUBDIRS_NOCASE_', '_R_CHECK_SUBDIRS_STRICT_', '_R_CHECK_SUGGESTS_ONLY_', '_R_CHECK_SYSTEM_CLOCK_', '_R_CHECK_TESTS_NLINES_', '_R_CHECK_TEST_TIMING_', '_R_CHECK_TIMINGS_', '_R_CHECK_TOPLEVEL_FILES_', '_R_CHECK_UNDOC_USE_ALL_NAMES_', '_R_CHECK_UNSAFE_CALLS_', '_R_CHECK_URLS_SHOW_301_STATUS_', '_R_CHECK_VC_DIRS_', '_R_CHECK_VIGNETTES_NLINES_', '_R_CHECK_VIGNETTES_SKIP_RUN_MAYBE_', '_R_CHECK_VIGNETTE_TIMING_', '_R_CHECK_VIGNETTE_TITLES_', '_R_CHECK_WINDOWS_DEVICE_', '_R_CHECK_XREFS_USE_ALIASES_FROM_CRAN_', '_R_CLASS_MATRIX_ARRAY_', '_R_INSTALL_TIME_PATCHES_', '_R_S3_METHOD_LOOKUP_BASEENV_AFTER_GLOBALENV_', '_R_SHLIB_BUILD_OBJECTS_SYMBOL_TABLES_', 'maj.version', 'nextArg--timingsnextArg--install' - Environment variables still there: [n=0] - Environment variables missing: [n=1] 'MAKEFLAGS' Differences environment variable by environment variable: List of 3 $ name : chr "MAKEFLAGS" $ expected: 'Dlist' chr "" $ actual : 'Dlist' chr NA > > proc.time() user system elapsed 1.15 0.15 2.11