R version 4.4.0 beta (2024-04-15 r86425 ucrt) -- "Puppy Cup" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > source("incl/start.R") Loading required package: future [13:30:32.497] plan(): Setting new future strategy stack: [13:30:32.498] List of future strategies: [13:30:32.498] 1. mirai_multisession: [13:30:32.498] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:30:32.498] - tweaked: FALSE [13:30:32.498] - call: future::plan(future.mirai::mirai_multisession) [13:30:32.510] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:32.511] < mirai | $data > [13:30:32.515] getGlobalsAndPackages() ... [13:30:32.516] Not searching for globals [13:30:32.516] - globals: [0] [13:30:32.516] getGlobalsAndPackages() ... DONE [13:30:32.517] getGlobalsAndPackages() ... [13:30:32.517] [13:30:32.517] - globals: [0] [13:30:32.517] getGlobalsAndPackages() ... DONE [13:30:32.800] Packages needed by the future expression (n = 0): [13:30:32.801] Packages needed by future strategies (n = 0): [13:30:32.802] { [13:30:32.802] { [13:30:32.802] { [13:30:32.802] ...future.startTime <- base::Sys.time() [13:30:32.802] { [13:30:32.802] { [13:30:32.802] { [13:30:32.802] base::local({ [13:30:32.802] has_future <- base::requireNamespace("future", [13:30:32.802] quietly = TRUE) [13:30:32.802] if (has_future) { [13:30:32.802] ns <- base::getNamespace("future") [13:30:32.802] version <- ns[[".package"]][["version"]] [13:30:32.802] if (is.null(version)) [13:30:32.802] version <- utils::packageVersion("future") [13:30:32.802] } [13:30:32.802] else { [13:30:32.802] version <- NULL [13:30:32.802] } [13:30:32.802] if (!has_future || version < "1.8.0") { [13:30:32.802] info <- base::c(r_version = base::gsub("R version ", [13:30:32.802] "", base::R.version$version.string), [13:30:32.802] platform = base::sprintf("%s (%s-bit)", [13:30:32.802] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:32.802] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:32.802] "release", "version")], collapse = " "), [13:30:32.802] hostname = base::Sys.info()[["nodename"]]) [13:30:32.802] info <- base::sprintf("%s: %s", base::names(info), [13:30:32.802] info) [13:30:32.802] info <- base::paste(info, collapse = "; ") [13:30:32.802] if (!has_future) { [13:30:32.802] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:32.802] info) [13:30:32.802] } [13:30:32.802] else { [13:30:32.802] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:32.802] info, version) [13:30:32.802] } [13:30:32.802] base::stop(msg) [13:30:32.802] } [13:30:32.802] }) [13:30:32.802] } [13:30:32.802] ...future.strategy.old <- future::plan("list") [13:30:32.802] options(future.plan = NULL) [13:30:32.802] Sys.unsetenv("R_FUTURE_PLAN") [13:30:32.802] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:32.802] } [13:30:32.802] ...future.workdir <- getwd() [13:30:32.802] } [13:30:32.802] ...future.oldOptions <- base::as.list(base::.Options) [13:30:32.802] ...future.oldEnvVars <- base::Sys.getenv() [13:30:32.802] } [13:30:32.802] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:32.802] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:32.802] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:32.802] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:32.802] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:32.802] future.stdout.windows.reencode = NULL, width = 80L) [13:30:32.802] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:32.802] base::names(...future.oldOptions)) [13:30:32.802] } [13:30:32.802] if (FALSE) { [13:30:32.802] } [13:30:32.802] else { [13:30:32.802] if (TRUE) { [13:30:32.802] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:32.802] open = "w") [13:30:32.802] } [13:30:32.802] else { [13:30:32.802] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:32.802] windows = "NUL", "/dev/null"), open = "w") [13:30:32.802] } [13:30:32.802] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:32.802] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:32.802] base::sink(type = "output", split = FALSE) [13:30:32.802] base::close(...future.stdout) [13:30:32.802] }, add = TRUE) [13:30:32.802] } [13:30:32.802] ...future.frame <- base::sys.nframe() [13:30:32.802] ...future.conditions <- base::list() [13:30:32.802] ...future.rng <- base::globalenv()$.Random.seed [13:30:32.802] if (FALSE) { [13:30:32.802] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:32.802] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:32.802] } [13:30:32.802] ...future.result <- base::tryCatch({ [13:30:32.802] base::withCallingHandlers({ [13:30:32.802] ...future.value <- base::withVisible(base::local(NA)) [13:30:32.802] future::FutureResult(value = ...future.value$value, [13:30:32.802] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:32.802] ...future.rng), globalenv = if (FALSE) [13:30:32.802] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:32.802] ...future.globalenv.names)) [13:30:32.802] else NULL, started = ...future.startTime, version = "1.8") [13:30:32.802] }, condition = base::local({ [13:30:32.802] c <- base::c [13:30:32.802] inherits <- base::inherits [13:30:32.802] invokeRestart <- base::invokeRestart [13:30:32.802] length <- base::length [13:30:32.802] list <- base::list [13:30:32.802] seq.int <- base::seq.int [13:30:32.802] signalCondition <- base::signalCondition [13:30:32.802] sys.calls <- base::sys.calls [13:30:32.802] `[[` <- base::`[[` [13:30:32.802] `+` <- base::`+` [13:30:32.802] `<<-` <- base::`<<-` [13:30:32.802] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:32.802] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:32.802] 3L)] [13:30:32.802] } [13:30:32.802] function(cond) { [13:30:32.802] is_error <- inherits(cond, "error") [13:30:32.802] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:32.802] NULL) [13:30:32.802] if (is_error) { [13:30:32.802] sessionInformation <- function() { [13:30:32.802] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:32.802] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:32.802] search = base::search(), system = base::Sys.info()) [13:30:32.802] } [13:30:32.802] ...future.conditions[[length(...future.conditions) + [13:30:32.802] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:32.802] cond$call), session = sessionInformation(), [13:30:32.802] timestamp = base::Sys.time(), signaled = 0L) [13:30:32.802] signalCondition(cond) [13:30:32.802] } [13:30:32.802] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:32.802] signal <- FALSE && inherits(cond, character(0)) [13:30:32.802] ...future.conditions[[length(...future.conditions) + [13:30:32.802] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:32.802] if (FALSE && !signal) { [13:30:32.802] muffleCondition <- function (cond, pattern = "^muffle") [13:30:32.802] { [13:30:32.802] inherits <- base::inherits [13:30:32.802] invokeRestart <- base::invokeRestart [13:30:32.802] is.null <- base::is.null [13:30:32.802] muffled <- FALSE [13:30:32.802] if (inherits(cond, "message")) { [13:30:32.802] muffled <- grepl(pattern, "muffleMessage") [13:30:32.802] if (muffled) [13:30:32.802] invokeRestart("muffleMessage") [13:30:32.802] } [13:30:32.802] else if (inherits(cond, "warning")) { [13:30:32.802] muffled <- grepl(pattern, "muffleWarning") [13:30:32.802] if (muffled) [13:30:32.802] invokeRestart("muffleWarning") [13:30:32.802] } [13:30:32.802] else if (inherits(cond, "condition")) { [13:30:32.802] if (!is.null(pattern)) { [13:30:32.802] computeRestarts <- base::computeRestarts [13:30:32.802] grepl <- base::grepl [13:30:32.802] restarts <- computeRestarts(cond) [13:30:32.802] for (restart in restarts) { [13:30:32.802] name <- restart$name [13:30:32.802] if (is.null(name)) [13:30:32.802] next [13:30:32.802] if (!grepl(pattern, name)) [13:30:32.802] next [13:30:32.802] invokeRestart(restart) [13:30:32.802] muffled <- TRUE [13:30:32.802] break [13:30:32.802] } [13:30:32.802] } [13:30:32.802] } [13:30:32.802] invisible(muffled) [13:30:32.802] } [13:30:32.802] muffleCondition(cond, pattern = "^muffle") [13:30:32.802] } [13:30:32.802] } [13:30:32.802] else { [13:30:32.802] if (TRUE) { [13:30:32.802] muffleCondition <- function (cond, pattern = "^muffle") [13:30:32.802] { [13:30:32.802] inherits <- base::inherits [13:30:32.802] invokeRestart <- base::invokeRestart [13:30:32.802] is.null <- base::is.null [13:30:32.802] muffled <- FALSE [13:30:32.802] if (inherits(cond, "message")) { [13:30:32.802] muffled <- grepl(pattern, "muffleMessage") [13:30:32.802] if (muffled) [13:30:32.802] invokeRestart("muffleMessage") [13:30:32.802] } [13:30:32.802] else if (inherits(cond, "warning")) { [13:30:32.802] muffled <- grepl(pattern, "muffleWarning") [13:30:32.802] if (muffled) [13:30:32.802] invokeRestart("muffleWarning") [13:30:32.802] } [13:30:32.802] else if (inherits(cond, "condition")) { [13:30:32.802] if (!is.null(pattern)) { [13:30:32.802] computeRestarts <- base::computeRestarts [13:30:32.802] grepl <- base::grepl [13:30:32.802] restarts <- computeRestarts(cond) [13:30:32.802] for (restart in restarts) { [13:30:32.802] name <- restart$name [13:30:32.802] if (is.null(name)) [13:30:32.802] next [13:30:32.802] if (!grepl(pattern, name)) [13:30:32.802] next [13:30:32.802] invokeRestart(restart) [13:30:32.802] muffled <- TRUE [13:30:32.802] break [13:30:32.802] } [13:30:32.802] } [13:30:32.802] } [13:30:32.802] invisible(muffled) [13:30:32.802] } [13:30:32.802] muffleCondition(cond, pattern = "^muffle") [13:30:32.802] } [13:30:32.802] } [13:30:32.802] } [13:30:32.802] })) [13:30:32.802] }, error = function(ex) { [13:30:32.802] base::structure(base::list(value = NULL, visible = NULL, [13:30:32.802] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:32.802] ...future.rng), started = ...future.startTime, [13:30:32.802] finished = Sys.time(), session_uuid = NA_character_, [13:30:32.802] version = "1.8"), class = "FutureResult") [13:30:32.802] }, finally = { [13:30:32.802] if (!identical(...future.workdir, getwd())) [13:30:32.802] setwd(...future.workdir) [13:30:32.802] { [13:30:32.802] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:32.802] ...future.oldOptions$nwarnings <- NULL [13:30:32.802] } [13:30:32.802] base::options(...future.oldOptions) [13:30:32.802] if (.Platform$OS.type == "windows") { [13:30:32.802] old_names <- names(...future.oldEnvVars) [13:30:32.802] envs <- base::Sys.getenv() [13:30:32.802] names <- names(envs) [13:30:32.802] common <- intersect(names, old_names) [13:30:32.802] added <- setdiff(names, old_names) [13:30:32.802] removed <- setdiff(old_names, names) [13:30:32.802] changed <- common[...future.oldEnvVars[common] != [13:30:32.802] envs[common]] [13:30:32.802] NAMES <- toupper(changed) [13:30:32.802] args <- list() [13:30:32.802] for (kk in seq_along(NAMES)) { [13:30:32.802] name <- changed[[kk]] [13:30:32.802] NAME <- NAMES[[kk]] [13:30:32.802] if (name != NAME && is.element(NAME, old_names)) [13:30:32.802] next [13:30:32.802] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:32.802] } [13:30:32.802] NAMES <- toupper(added) [13:30:32.802] for (kk in seq_along(NAMES)) { [13:30:32.802] name <- added[[kk]] [13:30:32.802] NAME <- NAMES[[kk]] [13:30:32.802] if (name != NAME && is.element(NAME, old_names)) [13:30:32.802] next [13:30:32.802] args[[name]] <- "" [13:30:32.802] } [13:30:32.802] NAMES <- toupper(removed) [13:30:32.802] for (kk in seq_along(NAMES)) { [13:30:32.802] name <- removed[[kk]] [13:30:32.802] NAME <- NAMES[[kk]] [13:30:32.802] if (name != NAME && is.element(NAME, old_names)) [13:30:32.802] next [13:30:32.802] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:32.802] } [13:30:32.802] if (length(args) > 0) [13:30:32.802] base::do.call(base::Sys.setenv, args = args) [13:30:32.802] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:32.802] } [13:30:32.802] else { [13:30:32.802] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:32.802] } [13:30:32.802] { [13:30:32.802] if (base::length(...future.futureOptionsAdded) > [13:30:32.802] 0L) { [13:30:32.802] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:32.802] base::names(opts) <- ...future.futureOptionsAdded [13:30:32.802] base::options(opts) [13:30:32.802] } [13:30:32.802] { [13:30:32.802] NULL [13:30:32.802] options(future.plan = NULL) [13:30:32.802] if (is.na(NA_character_)) [13:30:32.802] Sys.unsetenv("R_FUTURE_PLAN") [13:30:32.802] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:32.802] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:32.802] .init = FALSE) [13:30:32.802] } [13:30:32.802] } [13:30:32.802] } [13:30:32.802] }) [13:30:32.802] if (TRUE) { [13:30:32.802] base::sink(type = "output", split = FALSE) [13:30:32.802] if (TRUE) { [13:30:32.802] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:32.802] } [13:30:32.802] else { [13:30:32.802] ...future.result["stdout"] <- base::list(NULL) [13:30:32.802] } [13:30:32.802] base::close(...future.stdout) [13:30:32.802] ...future.stdout <- NULL [13:30:32.802] } [13:30:32.802] ...future.result$conditions <- ...future.conditions [13:30:32.802] ...future.result$finished <- base::Sys.time() [13:30:32.802] ...future.result [13:30:32.802] } [13:30:32.910] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:32.910] plan(): nbrOfWorkers() = 2 > > options(future.demo.mandelbrot.nrow = 2L) > options(future.demo.mandelbrot.resolution = 50L) > options(future.demo.mandelbrot.delay = FALSE) > > message("*** Demos ...") *** Demos ... > > message("*** Mandelbrot demo of the 'future' package ...") *** Mandelbrot demo of the 'future' package ... > > plan(mirai_multisession, workers = 2) [13:30:32.912] plan(): Setting new future strategy stack: [13:30:32.912] List of future strategies: [13:30:32.912] 1. mirai_multisession: [13:30:32.912] - args: function (..., workers = 2, envir = parent.frame()) [13:30:32.912] - tweaked: TRUE [13:30:32.912] - call: plan(mirai_multisession, workers = 2) [13:30:32.925] plan(): plan_init() of 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:30:32.925] < mirai | $data > [13:30:32.926] getGlobalsAndPackages() ... [13:30:32.926] Not searching for globals [13:30:32.926] - globals: [0] [13:30:32.926] getGlobalsAndPackages() ... DONE [13:30:32.926] getGlobalsAndPackages() ... [13:30:32.926] [13:30:32.927] - globals: [0] [13:30:32.927] getGlobalsAndPackages() ... DONE [13:30:32.927] Packages needed by the future expression (n = 0): [13:30:32.927] Packages needed by future strategies (n = 0): [13:30:32.928] { [13:30:32.928] { [13:30:32.928] { [13:30:32.928] ...future.startTime <- base::Sys.time() [13:30:32.928] { [13:30:32.928] { [13:30:32.928] { [13:30:32.928] base::local({ [13:30:32.928] has_future <- base::requireNamespace("future", [13:30:32.928] quietly = TRUE) [13:30:32.928] if (has_future) { [13:30:32.928] ns <- base::getNamespace("future") [13:30:32.928] version <- ns[[".package"]][["version"]] [13:30:32.928] if (is.null(version)) [13:30:32.928] version <- utils::packageVersion("future") [13:30:32.928] } [13:30:32.928] else { [13:30:32.928] version <- NULL [13:30:32.928] } [13:30:32.928] if (!has_future || version < "1.8.0") { [13:30:32.928] info <- base::c(r_version = base::gsub("R version ", [13:30:32.928] "", base::R.version$version.string), [13:30:32.928] platform = base::sprintf("%s (%s-bit)", [13:30:32.928] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:32.928] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:32.928] "release", "version")], collapse = " "), [13:30:32.928] hostname = base::Sys.info()[["nodename"]]) [13:30:32.928] info <- base::sprintf("%s: %s", base::names(info), [13:30:32.928] info) [13:30:32.928] info <- base::paste(info, collapse = "; ") [13:30:32.928] if (!has_future) { [13:30:32.928] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:32.928] info) [13:30:32.928] } [13:30:32.928] else { [13:30:32.928] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:32.928] info, version) [13:30:32.928] } [13:30:32.928] base::stop(msg) [13:30:32.928] } [13:30:32.928] }) [13:30:32.928] } [13:30:32.928] ...future.strategy.old <- future::plan("list") [13:30:32.928] options(future.plan = NULL) [13:30:32.928] Sys.unsetenv("R_FUTURE_PLAN") [13:30:32.928] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:32.928] } [13:30:32.928] ...future.workdir <- getwd() [13:30:32.928] } [13:30:32.928] ...future.oldOptions <- base::as.list(base::.Options) [13:30:32.928] ...future.oldEnvVars <- base::Sys.getenv() [13:30:32.928] } [13:30:32.928] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:32.928] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:32.928] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:32.928] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:32.928] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:32.928] future.stdout.windows.reencode = NULL, width = 80L) [13:30:32.928] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:32.928] base::names(...future.oldOptions)) [13:30:32.928] } [13:30:32.928] if (FALSE) { [13:30:32.928] } [13:30:32.928] else { [13:30:32.928] if (TRUE) { [13:30:32.928] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:32.928] open = "w") [13:30:32.928] } [13:30:32.928] else { [13:30:32.928] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:32.928] windows = "NUL", "/dev/null"), open = "w") [13:30:32.928] } [13:30:32.928] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:32.928] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:32.928] base::sink(type = "output", split = FALSE) [13:30:32.928] base::close(...future.stdout) [13:30:32.928] }, add = TRUE) [13:30:32.928] } [13:30:32.928] ...future.frame <- base::sys.nframe() [13:30:32.928] ...future.conditions <- base::list() [13:30:32.928] ...future.rng <- base::globalenv()$.Random.seed [13:30:32.928] if (FALSE) { [13:30:32.928] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:32.928] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:32.928] } [13:30:32.928] ...future.result <- base::tryCatch({ [13:30:32.928] base::withCallingHandlers({ [13:30:32.928] ...future.value <- base::withVisible(base::local(NA)) [13:30:32.928] future::FutureResult(value = ...future.value$value, [13:30:32.928] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:32.928] ...future.rng), globalenv = if (FALSE) [13:30:32.928] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:32.928] ...future.globalenv.names)) [13:30:32.928] else NULL, started = ...future.startTime, version = "1.8") [13:30:32.928] }, condition = base::local({ [13:30:32.928] c <- base::c [13:30:32.928] inherits <- base::inherits [13:30:32.928] invokeRestart <- base::invokeRestart [13:30:32.928] length <- base::length [13:30:32.928] list <- base::list [13:30:32.928] seq.int <- base::seq.int [13:30:32.928] signalCondition <- base::signalCondition [13:30:32.928] sys.calls <- base::sys.calls [13:30:32.928] `[[` <- base::`[[` [13:30:32.928] `+` <- base::`+` [13:30:32.928] `<<-` <- base::`<<-` [13:30:32.928] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:32.928] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:32.928] 3L)] [13:30:32.928] } [13:30:32.928] function(cond) { [13:30:32.928] is_error <- inherits(cond, "error") [13:30:32.928] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:32.928] NULL) [13:30:32.928] if (is_error) { [13:30:32.928] sessionInformation <- function() { [13:30:32.928] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:32.928] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:32.928] search = base::search(), system = base::Sys.info()) [13:30:32.928] } [13:30:32.928] ...future.conditions[[length(...future.conditions) + [13:30:32.928] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:32.928] cond$call), session = sessionInformation(), [13:30:32.928] timestamp = base::Sys.time(), signaled = 0L) [13:30:32.928] signalCondition(cond) [13:30:32.928] } [13:30:32.928] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:32.928] signal <- FALSE && inherits(cond, character(0)) [13:30:32.928] ...future.conditions[[length(...future.conditions) + [13:30:32.928] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:32.928] if (FALSE && !signal) { [13:30:32.928] muffleCondition <- function (cond, pattern = "^muffle") [13:30:32.928] { [13:30:32.928] inherits <- base::inherits [13:30:32.928] invokeRestart <- base::invokeRestart [13:30:32.928] is.null <- base::is.null [13:30:32.928] muffled <- FALSE [13:30:32.928] if (inherits(cond, "message")) { [13:30:32.928] muffled <- grepl(pattern, "muffleMessage") [13:30:32.928] if (muffled) [13:30:32.928] invokeRestart("muffleMessage") [13:30:32.928] } [13:30:32.928] else if (inherits(cond, "warning")) { [13:30:32.928] muffled <- grepl(pattern, "muffleWarning") [13:30:32.928] if (muffled) [13:30:32.928] invokeRestart("muffleWarning") [13:30:32.928] } [13:30:32.928] else if (inherits(cond, "condition")) { [13:30:32.928] if (!is.null(pattern)) { [13:30:32.928] computeRestarts <- base::computeRestarts [13:30:32.928] grepl <- base::grepl [13:30:32.928] restarts <- computeRestarts(cond) [13:30:32.928] for (restart in restarts) { [13:30:32.928] name <- restart$name [13:30:32.928] if (is.null(name)) [13:30:32.928] next [13:30:32.928] if (!grepl(pattern, name)) [13:30:32.928] next [13:30:32.928] invokeRestart(restart) [13:30:32.928] muffled <- TRUE [13:30:32.928] break [13:30:32.928] } [13:30:32.928] } [13:30:32.928] } [13:30:32.928] invisible(muffled) [13:30:32.928] } [13:30:32.928] muffleCondition(cond, pattern = "^muffle") [13:30:32.928] } [13:30:32.928] } [13:30:32.928] else { [13:30:32.928] if (TRUE) { [13:30:32.928] muffleCondition <- function (cond, pattern = "^muffle") [13:30:32.928] { [13:30:32.928] inherits <- base::inherits [13:30:32.928] invokeRestart <- base::invokeRestart [13:30:32.928] is.null <- base::is.null [13:30:32.928] muffled <- FALSE [13:30:32.928] if (inherits(cond, "message")) { [13:30:32.928] muffled <- grepl(pattern, "muffleMessage") [13:30:32.928] if (muffled) [13:30:32.928] invokeRestart("muffleMessage") [13:30:32.928] } [13:30:32.928] else if (inherits(cond, "warning")) { [13:30:32.928] muffled <- grepl(pattern, "muffleWarning") [13:30:32.928] if (muffled) [13:30:32.928] invokeRestart("muffleWarning") [13:30:32.928] } [13:30:32.928] else if (inherits(cond, "condition")) { [13:30:32.928] if (!is.null(pattern)) { [13:30:32.928] computeRestarts <- base::computeRestarts [13:30:32.928] grepl <- base::grepl [13:30:32.928] restarts <- computeRestarts(cond) [13:30:32.928] for (restart in restarts) { [13:30:32.928] name <- restart$name [13:30:32.928] if (is.null(name)) [13:30:32.928] next [13:30:32.928] if (!grepl(pattern, name)) [13:30:32.928] next [13:30:32.928] invokeRestart(restart) [13:30:32.928] muffled <- TRUE [13:30:32.928] break [13:30:32.928] } [13:30:32.928] } [13:30:32.928] } [13:30:32.928] invisible(muffled) [13:30:32.928] } [13:30:32.928] muffleCondition(cond, pattern = "^muffle") [13:30:32.928] } [13:30:32.928] } [13:30:32.928] } [13:30:32.928] })) [13:30:32.928] }, error = function(ex) { [13:30:32.928] base::structure(base::list(value = NULL, visible = NULL, [13:30:32.928] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:32.928] ...future.rng), started = ...future.startTime, [13:30:32.928] finished = Sys.time(), session_uuid = NA_character_, [13:30:32.928] version = "1.8"), class = "FutureResult") [13:30:32.928] }, finally = { [13:30:32.928] if (!identical(...future.workdir, getwd())) [13:30:32.928] setwd(...future.workdir) [13:30:32.928] { [13:30:32.928] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:32.928] ...future.oldOptions$nwarnings <- NULL [13:30:32.928] } [13:30:32.928] base::options(...future.oldOptions) [13:30:32.928] if (.Platform$OS.type == "windows") { [13:30:32.928] old_names <- names(...future.oldEnvVars) [13:30:32.928] envs <- base::Sys.getenv() [13:30:32.928] names <- names(envs) [13:30:32.928] common <- intersect(names, old_names) [13:30:32.928] added <- setdiff(names, old_names) [13:30:32.928] removed <- setdiff(old_names, names) [13:30:32.928] changed <- common[...future.oldEnvVars[common] != [13:30:32.928] envs[common]] [13:30:32.928] NAMES <- toupper(changed) [13:30:32.928] args <- list() [13:30:32.928] for (kk in seq_along(NAMES)) { [13:30:32.928] name <- changed[[kk]] [13:30:32.928] NAME <- NAMES[[kk]] [13:30:32.928] if (name != NAME && is.element(NAME, old_names)) [13:30:32.928] next [13:30:32.928] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:32.928] } [13:30:32.928] NAMES <- toupper(added) [13:30:32.928] for (kk in seq_along(NAMES)) { [13:30:32.928] name <- added[[kk]] [13:30:32.928] NAME <- NAMES[[kk]] [13:30:32.928] if (name != NAME && is.element(NAME, old_names)) [13:30:32.928] next [13:30:32.928] args[[name]] <- "" [13:30:32.928] } [13:30:32.928] NAMES <- toupper(removed) [13:30:32.928] for (kk in seq_along(NAMES)) { [13:30:32.928] name <- removed[[kk]] [13:30:32.928] NAME <- NAMES[[kk]] [13:30:32.928] if (name != NAME && is.element(NAME, old_names)) [13:30:32.928] next [13:30:32.928] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:32.928] } [13:30:32.928] if (length(args) > 0) [13:30:32.928] base::do.call(base::Sys.setenv, args = args) [13:30:32.928] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:32.928] } [13:30:32.928] else { [13:30:32.928] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:32.928] } [13:30:32.928] { [13:30:32.928] if (base::length(...future.futureOptionsAdded) > [13:30:32.928] 0L) { [13:30:32.928] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:32.928] base::names(opts) <- ...future.futureOptionsAdded [13:30:32.928] base::options(opts) [13:30:32.928] } [13:30:32.928] { [13:30:32.928] NULL [13:30:32.928] options(future.plan = NULL) [13:30:32.928] if (is.na(NA_character_)) [13:30:32.928] Sys.unsetenv("R_FUTURE_PLAN") [13:30:32.928] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:32.928] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:32.928] .init = FALSE) [13:30:32.928] } [13:30:32.928] } [13:30:32.928] } [13:30:32.928] }) [13:30:32.928] if (TRUE) { [13:30:32.928] base::sink(type = "output", split = FALSE) [13:30:32.928] if (TRUE) { [13:30:32.928] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:32.928] } [13:30:32.928] else { [13:30:32.928] ...future.result["stdout"] <- base::list(NULL) [13:30:32.928] } [13:30:32.928] base::close(...future.stdout) [13:30:32.928] ...future.stdout <- NULL [13:30:32.928] } [13:30:32.928] ...future.result$conditions <- ...future.conditions [13:30:32.928] ...future.result$finished <- base::Sys.time() [13:30:32.928] ...future.result [13:30:32.928] } [13:30:33.030] plan(): plan_init() of 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:30:33.030] plan(): nbrOfWorkers() = 2 > demo("mandelbrot", package = "future", ask = FALSE) demo(mandelbrot) ---- ~~~~~~~~~~ > library("future") > library("graphics") > plot_what_is_done <- function(counts) { + for (kk in seq_along(counts)) { + f <- counts[[kk]] + + ## Already plotted? + if (!inherits(f, "Future")) next + + ## Not resolved? + if (!resolved(f)) next + + message(sprintf("Plotting tile #%d of %d ...", kk, n)) + counts[[kk]] <- value(f) + screen(kk) + plot(counts[[kk]]) + } + + counts + } > ## Options > region <- getOption("future.demo.mandelbrot.region", 1L) > if (!is.list(region)) { + if (region == 1L) { + region <- list(xmid = -0.75, ymid = 0.0, side = 3.0) + } else if (region == 2L) { + region <- list(xmid = 0.283, ymid = -0.0095, side = 0.00026) + } else if (region == 3L) { + region <- list(xmid = 0.282989, ymid = -0.01, side = 3e-8) + } + } > nrow <- getOption("future.demo.mandelbrot.nrow", 3L) > resolution <- getOption("future.demo.mandelbrot.resolution", 400L) > delay <- getOption("future.demo.mandelbrot.delay", interactive()) > if (isTRUE(delay)) { + delay <- function(counts) Sys.sleep(1.0) + } else if (!is.function(delay)) { + delay <- function(counts) {} + } > ## Generate Mandelbrot tiles to be computed > Cs <- mandelbrot_tiles(xmid = region$xmid, ymid = region$ymid, + side = region$side, nrow = nrow, + resolution = resolution) > if (interactive()) { + dev.new() + plot.new() + split.screen(dim(Cs)) + for (ii in seq_along(Cs)) { + screen(ii) + par(mar = c(0, 0, 0, 0)) + text(x = 1 / 2, y = 1 / 2, sprintf("Future #%d\nunresolved", ii), cex = 2) + } + } else { + split.screen(dim(Cs)) + } [1] 1 2 3 4 > ## Create all Mandelbrot tiles via lazy futures > n <- length(Cs) > message(sprintf("Creating %d Mandelbrot tiles:", n), appendLF = FALSE) Creating 4 Mandelbrot tiles: > counts <- lapply(seq_along(Cs), FUN=function(ii) { + message(" ", ii, appendLF = FALSE) + C <- Cs[[ii]] + future({ + message(sprintf("Calculating tile #%d of %d ...", ii, n), appendLF = FALSE) + fit <- mandelbrot(C) + + ## Emulate slowness + delay(fit) + + message(" done") + fit + }, lazy = TRUE) + }) 1[13:30:33.085] getGlobalsAndPackages() ... [13:30:33.085] Searching for globals... [13:30:33.096] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [13:30:33.096] Searching for globals ... DONE [13:30:33.096] Resolving globals: FALSE [13:30:33.098] The total size of the 4 globals is 14.24 KiB (14584 bytes) [13:30:33.098] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [13:30:33.099] - globals: [4] 'ii', 'n', 'C', 'delay' [13:30:33.099] - packages: [1] 'future' [13:30:33.099] getGlobalsAndPackages() ... DONE 2[13:30:33.104] getGlobalsAndPackages() ... [13:30:33.104] Searching for globals... [13:30:33.110] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [13:30:33.110] Searching for globals ... DONE [13:30:33.110] Resolving globals: FALSE [13:30:33.111] The total size of the 4 globals is 14.24 KiB (14584 bytes) [13:30:33.111] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [13:30:33.112] - globals: [4] 'ii', 'n', 'C', 'delay' [13:30:33.112] - packages: [1] 'future' [13:30:33.112] getGlobalsAndPackages() ... DONE 3[13:30:33.112] getGlobalsAndPackages() ... [13:30:33.113] Searching for globals... [13:30:33.117] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [13:30:33.117] Searching for globals ... DONE [13:30:33.117] Resolving globals: FALSE [13:30:33.118] The total size of the 4 globals is 14.24 KiB (14584 bytes) [13:30:33.118] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [13:30:33.119] - globals: [4] 'ii', 'n', 'C', 'delay' [13:30:33.119] - packages: [1] 'future' [13:30:33.119] getGlobalsAndPackages() ... DONE 4[13:30:33.119] getGlobalsAndPackages() ... [13:30:33.120] Searching for globals... [13:30:33.124] - globals found: [9] '{', 'message', 'sprintf', 'ii', 'n', '<-', 'mandelbrot', 'C', 'delay' [13:30:33.124] Searching for globals ... DONE [13:30:33.124] Resolving globals: FALSE [13:30:33.125] The total size of the 4 globals is 14.24 KiB (14584 bytes) [13:30:33.125] The total size of the 4 globals exported for future expression ('{; message(sprintf("Calculating tile #%d of %d ...", ii, n),; appendLF = FALSE); fit <- mandelbrot(C); delay(fit); message(" done"); fit; }') is 14.24 KiB.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). The three largest globals are 'C' (10.72 KiB of class 'complex'), 'delay' (3.41 KiB of class 'function') and 'ii' (56 bytes of class 'numeric') [13:30:33.126] - globals: [4] 'ii', 'n', 'C', 'delay' [13:30:33.126] - packages: [1] 'future' [13:30:33.126] getGlobalsAndPackages() ... DONE > message(".") . > ## Calculate and plot tiles > repeat { + counts <- plot_what_is_done(counts) + if (!any(sapply(counts, FUN = inherits, "Future"))) break + } [13:30:33.138] resolved() for 'Future' ... [13:30:33.138] - state: 'created' [13:30:33.138] - run: TRUE [13:30:33.138] - run() ... [13:30:33.139] run() for 'Future' ... [13:30:33.139] - state: 'created' [13:30:33.139] - Future backend: 'FutureStrategy', 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:33.139] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:33.140] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:33.140] - Field: 'label' [13:30:33.140] - Field: 'local' [13:30:33.140] - Field: 'owner' [13:30:33.140] - Field: 'envir' [13:30:33.141] - Field: 'packages' [13:30:33.141] - Field: 'gc' [13:30:33.141] - Field: 'conditions' [13:30:33.141] - Field: 'expr' [13:30:33.141] - Field: 'uuid' [13:30:33.141] - Field: 'seed' [13:30:33.142] - Field: 'version' [13:30:33.142] - Field: 'result' [13:30:33.142] - Field: 'asynchronous' [13:30:33.142] - Field: 'calls' [13:30:33.142] - Field: 'globals' [13:30:33.142] - Field: 'stdout' [13:30:33.143] - Field: 'earlySignal' [13:30:33.143] - Field: 'lazy' [13:30:33.143] - Field: 'state' [13:30:33.143] - Field: '.cluster' [13:30:33.143] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:33.143] - Launch lazy future ... [13:30:33.144] Packages needed by the future expression (n = 1): 'future' [13:30:33.144] Packages needed by future strategies (n = 0): [13:30:33.145] { [13:30:33.145] { [13:30:33.145] { [13:30:33.145] ...future.startTime <- base::Sys.time() [13:30:33.145] { [13:30:33.145] { [13:30:33.145] { [13:30:33.145] { [13:30:33.145] base::local({ [13:30:33.145] has_future <- base::requireNamespace("future", [13:30:33.145] quietly = TRUE) [13:30:33.145] if (has_future) { [13:30:33.145] ns <- base::getNamespace("future") [13:30:33.145] version <- ns[[".package"]][["version"]] [13:30:33.145] if (is.null(version)) [13:30:33.145] version <- utils::packageVersion("future") [13:30:33.145] } [13:30:33.145] else { [13:30:33.145] version <- NULL [13:30:33.145] } [13:30:33.145] if (!has_future || version < "1.8.0") { [13:30:33.145] info <- base::c(r_version = base::gsub("R version ", [13:30:33.145] "", base::R.version$version.string), [13:30:33.145] platform = base::sprintf("%s (%s-bit)", [13:30:33.145] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:33.145] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:33.145] "release", "version")], collapse = " "), [13:30:33.145] hostname = base::Sys.info()[["nodename"]]) [13:30:33.145] info <- base::sprintf("%s: %s", base::names(info), [13:30:33.145] info) [13:30:33.145] info <- base::paste(info, collapse = "; ") [13:30:33.145] if (!has_future) { [13:30:33.145] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:33.145] info) [13:30:33.145] } [13:30:33.145] else { [13:30:33.145] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:33.145] info, version) [13:30:33.145] } [13:30:33.145] base::stop(msg) [13:30:33.145] } [13:30:33.145] }) [13:30:33.145] } [13:30:33.145] base::local({ [13:30:33.145] for (pkg in "future") { [13:30:33.145] base::loadNamespace(pkg) [13:30:33.145] base::library(pkg, character.only = TRUE) [13:30:33.145] } [13:30:33.145] }) [13:30:33.145] } [13:30:33.145] ...future.strategy.old <- future::plan("list") [13:30:33.145] options(future.plan = NULL) [13:30:33.145] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.145] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:33.145] } [13:30:33.145] ...future.workdir <- getwd() [13:30:33.145] } [13:30:33.145] ...future.oldOptions <- base::as.list(base::.Options) [13:30:33.145] ...future.oldEnvVars <- base::Sys.getenv() [13:30:33.145] } [13:30:33.145] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:33.145] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:33.145] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:33.145] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:33.145] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:33.145] future.stdout.windows.reencode = NULL, width = 80L) [13:30:33.145] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:33.145] base::names(...future.oldOptions)) [13:30:33.145] } [13:30:33.145] if (FALSE) { [13:30:33.145] } [13:30:33.145] else { [13:30:33.145] if (TRUE) { [13:30:33.145] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:33.145] open = "w") [13:30:33.145] } [13:30:33.145] else { [13:30:33.145] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:33.145] windows = "NUL", "/dev/null"), open = "w") [13:30:33.145] } [13:30:33.145] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:33.145] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:33.145] base::sink(type = "output", split = FALSE) [13:30:33.145] base::close(...future.stdout) [13:30:33.145] }, add = TRUE) [13:30:33.145] } [13:30:33.145] ...future.frame <- base::sys.nframe() [13:30:33.145] ...future.conditions <- base::list() [13:30:33.145] ...future.rng <- base::globalenv()$.Random.seed [13:30:33.145] if (FALSE) { [13:30:33.145] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:33.145] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:33.145] } [13:30:33.145] ...future.result <- base::tryCatch({ [13:30:33.145] base::withCallingHandlers({ [13:30:33.145] ...future.value <- base::withVisible(base::local({ [13:30:33.145] message(sprintf("Calculating tile #%d of %d ...", [13:30:33.145] ii, n), appendLF = FALSE) [13:30:33.145] fit <- mandelbrot(C) [13:30:33.145] delay(fit) [13:30:33.145] message(" done") [13:30:33.145] fit [13:30:33.145] })) [13:30:33.145] future::FutureResult(value = ...future.value$value, [13:30:33.145] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.145] ...future.rng), globalenv = if (FALSE) [13:30:33.145] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:33.145] ...future.globalenv.names)) [13:30:33.145] else NULL, started = ...future.startTime, version = "1.8") [13:30:33.145] }, condition = base::local({ [13:30:33.145] c <- base::c [13:30:33.145] inherits <- base::inherits [13:30:33.145] invokeRestart <- base::invokeRestart [13:30:33.145] length <- base::length [13:30:33.145] list <- base::list [13:30:33.145] seq.int <- base::seq.int [13:30:33.145] signalCondition <- base::signalCondition [13:30:33.145] sys.calls <- base::sys.calls [13:30:33.145] `[[` <- base::`[[` [13:30:33.145] `+` <- base::`+` [13:30:33.145] `<<-` <- base::`<<-` [13:30:33.145] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:33.145] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:33.145] 3L)] [13:30:33.145] } [13:30:33.145] function(cond) { [13:30:33.145] is_error <- inherits(cond, "error") [13:30:33.145] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:33.145] NULL) [13:30:33.145] if (is_error) { [13:30:33.145] sessionInformation <- function() { [13:30:33.145] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:33.145] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:33.145] search = base::search(), system = base::Sys.info()) [13:30:33.145] } [13:30:33.145] ...future.conditions[[length(...future.conditions) + [13:30:33.145] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:33.145] cond$call), session = sessionInformation(), [13:30:33.145] timestamp = base::Sys.time(), signaled = 0L) [13:30:33.145] signalCondition(cond) [13:30:33.145] } [13:30:33.145] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:33.145] signal <- FALSE && inherits(cond, character(0)) [13:30:33.145] ...future.conditions[[length(...future.conditions) + [13:30:33.145] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:33.145] if (FALSE && !signal) { [13:30:33.145] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.145] { [13:30:33.145] inherits <- base::inherits [13:30:33.145] invokeRestart <- base::invokeRestart [13:30:33.145] is.null <- base::is.null [13:30:33.145] muffled <- FALSE [13:30:33.145] if (inherits(cond, "message")) { [13:30:33.145] muffled <- grepl(pattern, "muffleMessage") [13:30:33.145] if (muffled) [13:30:33.145] invokeRestart("muffleMessage") [13:30:33.145] } [13:30:33.145] else if (inherits(cond, "warning")) { [13:30:33.145] muffled <- grepl(pattern, "muffleWarning") [13:30:33.145] if (muffled) [13:30:33.145] invokeRestart("muffleWarning") [13:30:33.145] } [13:30:33.145] else if (inherits(cond, "condition")) { [13:30:33.145] if (!is.null(pattern)) { [13:30:33.145] computeRestarts <- base::computeRestarts [13:30:33.145] grepl <- base::grepl [13:30:33.145] restarts <- computeRestarts(cond) [13:30:33.145] for (restart in restarts) { [13:30:33.145] name <- restart$name [13:30:33.145] if (is.null(name)) [13:30:33.145] next [13:30:33.145] if (!grepl(pattern, name)) [13:30:33.145] next [13:30:33.145] invokeRestart(restart) [13:30:33.145] muffled <- TRUE [13:30:33.145] break [13:30:33.145] } [13:30:33.145] } [13:30:33.145] } [13:30:33.145] invisible(muffled) [13:30:33.145] } [13:30:33.145] muffleCondition(cond, pattern = "^muffle") [13:30:33.145] } [13:30:33.145] } [13:30:33.145] else { [13:30:33.145] if (TRUE) { [13:30:33.145] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.145] { [13:30:33.145] inherits <- base::inherits [13:30:33.145] invokeRestart <- base::invokeRestart [13:30:33.145] is.null <- base::is.null [13:30:33.145] muffled <- FALSE [13:30:33.145] if (inherits(cond, "message")) { [13:30:33.145] muffled <- grepl(pattern, "muffleMessage") [13:30:33.145] if (muffled) [13:30:33.145] invokeRestart("muffleMessage") [13:30:33.145] } [13:30:33.145] else if (inherits(cond, "warning")) { [13:30:33.145] muffled <- grepl(pattern, "muffleWarning") [13:30:33.145] if (muffled) [13:30:33.145] invokeRestart("muffleWarning") [13:30:33.145] } [13:30:33.145] else if (inherits(cond, "condition")) { [13:30:33.145] if (!is.null(pattern)) { [13:30:33.145] computeRestarts <- base::computeRestarts [13:30:33.145] grepl <- base::grepl [13:30:33.145] restarts <- computeRestarts(cond) [13:30:33.145] for (restart in restarts) { [13:30:33.145] name <- restart$name [13:30:33.145] if (is.null(name)) [13:30:33.145] next [13:30:33.145] if (!grepl(pattern, name)) [13:30:33.145] next [13:30:33.145] invokeRestart(restart) [13:30:33.145] muffled <- TRUE [13:30:33.145] break [13:30:33.145] } [13:30:33.145] } [13:30:33.145] } [13:30:33.145] invisible(muffled) [13:30:33.145] } [13:30:33.145] muffleCondition(cond, pattern = "^muffle") [13:30:33.145] } [13:30:33.145] } [13:30:33.145] } [13:30:33.145] })) [13:30:33.145] }, error = function(ex) { [13:30:33.145] base::structure(base::list(value = NULL, visible = NULL, [13:30:33.145] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.145] ...future.rng), started = ...future.startTime, [13:30:33.145] finished = Sys.time(), session_uuid = NA_character_, [13:30:33.145] version = "1.8"), class = "FutureResult") [13:30:33.145] }, finally = { [13:30:33.145] if (!identical(...future.workdir, getwd())) [13:30:33.145] setwd(...future.workdir) [13:30:33.145] { [13:30:33.145] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:33.145] ...future.oldOptions$nwarnings <- NULL [13:30:33.145] } [13:30:33.145] base::options(...future.oldOptions) [13:30:33.145] if (.Platform$OS.type == "windows") { [13:30:33.145] old_names <- names(...future.oldEnvVars) [13:30:33.145] envs <- base::Sys.getenv() [13:30:33.145] names <- names(envs) [13:30:33.145] common <- intersect(names, old_names) [13:30:33.145] added <- setdiff(names, old_names) [13:30:33.145] removed <- setdiff(old_names, names) [13:30:33.145] changed <- common[...future.oldEnvVars[common] != [13:30:33.145] envs[common]] [13:30:33.145] NAMES <- toupper(changed) [13:30:33.145] args <- list() [13:30:33.145] for (kk in seq_along(NAMES)) { [13:30:33.145] name <- changed[[kk]] [13:30:33.145] NAME <- NAMES[[kk]] [13:30:33.145] if (name != NAME && is.element(NAME, old_names)) [13:30:33.145] next [13:30:33.145] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.145] } [13:30:33.145] NAMES <- toupper(added) [13:30:33.145] for (kk in seq_along(NAMES)) { [13:30:33.145] name <- added[[kk]] [13:30:33.145] NAME <- NAMES[[kk]] [13:30:33.145] if (name != NAME && is.element(NAME, old_names)) [13:30:33.145] next [13:30:33.145] args[[name]] <- "" [13:30:33.145] } [13:30:33.145] NAMES <- toupper(removed) [13:30:33.145] for (kk in seq_along(NAMES)) { [13:30:33.145] name <- removed[[kk]] [13:30:33.145] NAME <- NAMES[[kk]] [13:30:33.145] if (name != NAME && is.element(NAME, old_names)) [13:30:33.145] next [13:30:33.145] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.145] } [13:30:33.145] if (length(args) > 0) [13:30:33.145] base::do.call(base::Sys.setenv, args = args) [13:30:33.145] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:33.145] } [13:30:33.145] else { [13:30:33.145] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:33.145] } [13:30:33.145] { [13:30:33.145] if (base::length(...future.futureOptionsAdded) > [13:30:33.145] 0L) { [13:30:33.145] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:33.145] base::names(opts) <- ...future.futureOptionsAdded [13:30:33.145] base::options(opts) [13:30:33.145] } [13:30:33.145] { [13:30:33.145] NULL [13:30:33.145] options(future.plan = NULL) [13:30:33.145] if (is.na(NA_character_)) [13:30:33.145] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.145] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:33.145] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:33.145] .init = FALSE) [13:30:33.145] } [13:30:33.145] } [13:30:33.145] } [13:30:33.145] }) [13:30:33.145] if (TRUE) { [13:30:33.145] base::sink(type = "output", split = FALSE) [13:30:33.145] if (TRUE) { [13:30:33.145] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:33.145] } [13:30:33.145] else { [13:30:33.145] ...future.result["stdout"] <- base::list(NULL) [13:30:33.145] } [13:30:33.145] base::close(...future.stdout) [13:30:33.145] ...future.stdout <- NULL [13:30:33.145] } [13:30:33.145] ...future.result$conditions <- ...future.conditions [13:30:33.145] ...future.result$finished <- base::Sys.time() [13:30:33.145] ...future.result [13:30:33.145] } [13:30:33.149] - Launch lazy future ... done [13:30:33.149] run() for 'MiraiFuture' ... done [13:30:33.149] - run() ... done [13:30:33.149] - resolved() ... [13:30:33.150] resolved() for 'MiraiFuture' ... [13:30:33.150] - state: 'running' [13:30:33.150] - run: TRUE [13:30:33.150] - result: 'NULL' [13:30:33.150] - resolved: FALSE [13:30:33.151] resolved() for 'MiraiFuture' ... done [13:30:33.151] - resolved: FALSE [13:30:33.151] - resolved() ... done [13:30:33.151] resolved() for 'MiraiFuture' ... done [13:30:33.151] resolved() for 'Future' ... [13:30:33.152] - state: 'created' [13:30:33.152] - run: TRUE [13:30:33.152] - run() ... [13:30:33.152] run() for 'Future' ... [13:30:33.152] - state: 'created' [13:30:33.152] - Future backend: 'FutureStrategy', 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:33.153] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:33.153] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:33.153] - Field: 'label' [13:30:33.153] - Field: 'local' [13:30:33.154] - Field: 'owner' [13:30:33.154] - Field: 'envir' [13:30:33.154] - Field: 'packages' [13:30:33.154] - Field: 'gc' [13:30:33.154] - Field: 'conditions' [13:30:33.154] - Field: 'expr' [13:30:33.155] - Field: 'uuid' [13:30:33.155] - Field: 'seed' [13:30:33.155] - Field: 'version' [13:30:33.155] - Field: 'result' [13:30:33.155] - Field: 'asynchronous' [13:30:33.155] - Field: 'calls' [13:30:33.156] - Field: 'globals' [13:30:33.156] - Field: 'stdout' [13:30:33.156] - Field: 'earlySignal' [13:30:33.156] - Field: 'lazy' [13:30:33.156] - Field: 'state' [13:30:33.157] - Field: '.cluster' [13:30:33.157] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:33.157] - Launch lazy future ... [13:30:33.157] Packages needed by the future expression (n = 1): 'future' [13:30:33.157] Packages needed by future strategies (n = 0): [13:30:33.158] { [13:30:33.158] { [13:30:33.158] { [13:30:33.158] ...future.startTime <- base::Sys.time() [13:30:33.158] { [13:30:33.158] { [13:30:33.158] { [13:30:33.158] { [13:30:33.158] base::local({ [13:30:33.158] has_future <- base::requireNamespace("future", [13:30:33.158] quietly = TRUE) [13:30:33.158] if (has_future) { [13:30:33.158] ns <- base::getNamespace("future") [13:30:33.158] version <- ns[[".package"]][["version"]] [13:30:33.158] if (is.null(version)) [13:30:33.158] version <- utils::packageVersion("future") [13:30:33.158] } [13:30:33.158] else { [13:30:33.158] version <- NULL [13:30:33.158] } [13:30:33.158] if (!has_future || version < "1.8.0") { [13:30:33.158] info <- base::c(r_version = base::gsub("R version ", [13:30:33.158] "", base::R.version$version.string), [13:30:33.158] platform = base::sprintf("%s (%s-bit)", [13:30:33.158] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:33.158] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:33.158] "release", "version")], collapse = " "), [13:30:33.158] hostname = base::Sys.info()[["nodename"]]) [13:30:33.158] info <- base::sprintf("%s: %s", base::names(info), [13:30:33.158] info) [13:30:33.158] info <- base::paste(info, collapse = "; ") [13:30:33.158] if (!has_future) { [13:30:33.158] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:33.158] info) [13:30:33.158] } [13:30:33.158] else { [13:30:33.158] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:33.158] info, version) [13:30:33.158] } [13:30:33.158] base::stop(msg) [13:30:33.158] } [13:30:33.158] }) [13:30:33.158] } [13:30:33.158] base::local({ [13:30:33.158] for (pkg in "future") { [13:30:33.158] base::loadNamespace(pkg) [13:30:33.158] base::library(pkg, character.only = TRUE) [13:30:33.158] } [13:30:33.158] }) [13:30:33.158] } [13:30:33.158] ...future.strategy.old <- future::plan("list") [13:30:33.158] options(future.plan = NULL) [13:30:33.158] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.158] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:33.158] } [13:30:33.158] ...future.workdir <- getwd() [13:30:33.158] } [13:30:33.158] ...future.oldOptions <- base::as.list(base::.Options) [13:30:33.158] ...future.oldEnvVars <- base::Sys.getenv() [13:30:33.158] } [13:30:33.158] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:33.158] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:33.158] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:33.158] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:33.158] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:33.158] future.stdout.windows.reencode = NULL, width = 80L) [13:30:33.158] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:33.158] base::names(...future.oldOptions)) [13:30:33.158] } [13:30:33.158] if (FALSE) { [13:30:33.158] } [13:30:33.158] else { [13:30:33.158] if (TRUE) { [13:30:33.158] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:33.158] open = "w") [13:30:33.158] } [13:30:33.158] else { [13:30:33.158] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:33.158] windows = "NUL", "/dev/null"), open = "w") [13:30:33.158] } [13:30:33.158] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:33.158] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:33.158] base::sink(type = "output", split = FALSE) [13:30:33.158] base::close(...future.stdout) [13:30:33.158] }, add = TRUE) [13:30:33.158] } [13:30:33.158] ...future.frame <- base::sys.nframe() [13:30:33.158] ...future.conditions <- base::list() [13:30:33.158] ...future.rng <- base::globalenv()$.Random.seed [13:30:33.158] if (FALSE) { [13:30:33.158] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:33.158] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:33.158] } [13:30:33.158] ...future.result <- base::tryCatch({ [13:30:33.158] base::withCallingHandlers({ [13:30:33.158] ...future.value <- base::withVisible(base::local({ [13:30:33.158] message(sprintf("Calculating tile #%d of %d ...", [13:30:33.158] ii, n), appendLF = FALSE) [13:30:33.158] fit <- mandelbrot(C) [13:30:33.158] delay(fit) [13:30:33.158] message(" done") [13:30:33.158] fit [13:30:33.158] })) [13:30:33.158] future::FutureResult(value = ...future.value$value, [13:30:33.158] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.158] ...future.rng), globalenv = if (FALSE) [13:30:33.158] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:33.158] ...future.globalenv.names)) [13:30:33.158] else NULL, started = ...future.startTime, version = "1.8") [13:30:33.158] }, condition = base::local({ [13:30:33.158] c <- base::c [13:30:33.158] inherits <- base::inherits [13:30:33.158] invokeRestart <- base::invokeRestart [13:30:33.158] length <- base::length [13:30:33.158] list <- base::list [13:30:33.158] seq.int <- base::seq.int [13:30:33.158] signalCondition <- base::signalCondition [13:30:33.158] sys.calls <- base::sys.calls [13:30:33.158] `[[` <- base::`[[` [13:30:33.158] `+` <- base::`+` [13:30:33.158] `<<-` <- base::`<<-` [13:30:33.158] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:33.158] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:33.158] 3L)] [13:30:33.158] } [13:30:33.158] function(cond) { [13:30:33.158] is_error <- inherits(cond, "error") [13:30:33.158] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:33.158] NULL) [13:30:33.158] if (is_error) { [13:30:33.158] sessionInformation <- function() { [13:30:33.158] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:33.158] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:33.158] search = base::search(), system = base::Sys.info()) [13:30:33.158] } [13:30:33.158] ...future.conditions[[length(...future.conditions) + [13:30:33.158] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:33.158] cond$call), session = sessionInformation(), [13:30:33.158] timestamp = base::Sys.time(), signaled = 0L) [13:30:33.158] signalCondition(cond) [13:30:33.158] } [13:30:33.158] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:33.158] signal <- FALSE && inherits(cond, character(0)) [13:30:33.158] ...future.conditions[[length(...future.conditions) + [13:30:33.158] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:33.158] if (FALSE && !signal) { [13:30:33.158] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.158] { [13:30:33.158] inherits <- base::inherits [13:30:33.158] invokeRestart <- base::invokeRestart [13:30:33.158] is.null <- base::is.null [13:30:33.158] muffled <- FALSE [13:30:33.158] if (inherits(cond, "message")) { [13:30:33.158] muffled <- grepl(pattern, "muffleMessage") [13:30:33.158] if (muffled) [13:30:33.158] invokeRestart("muffleMessage") [13:30:33.158] } [13:30:33.158] else if (inherits(cond, "warning")) { [13:30:33.158] muffled <- grepl(pattern, "muffleWarning") [13:30:33.158] if (muffled) [13:30:33.158] invokeRestart("muffleWarning") [13:30:33.158] } [13:30:33.158] else if (inherits(cond, "condition")) { [13:30:33.158] if (!is.null(pattern)) { [13:30:33.158] computeRestarts <- base::computeRestarts [13:30:33.158] grepl <- base::grepl [13:30:33.158] restarts <- computeRestarts(cond) [13:30:33.158] for (restart in restarts) { [13:30:33.158] name <- restart$name [13:30:33.158] if (is.null(name)) [13:30:33.158] next [13:30:33.158] if (!grepl(pattern, name)) [13:30:33.158] next [13:30:33.158] invokeRestart(restart) [13:30:33.158] muffled <- TRUE [13:30:33.158] break [13:30:33.158] } [13:30:33.158] } [13:30:33.158] } [13:30:33.158] invisible(muffled) [13:30:33.158] } [13:30:33.158] muffleCondition(cond, pattern = "^muffle") [13:30:33.158] } [13:30:33.158] } [13:30:33.158] else { [13:30:33.158] if (TRUE) { [13:30:33.158] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.158] { [13:30:33.158] inherits <- base::inherits [13:30:33.158] invokeRestart <- base::invokeRestart [13:30:33.158] is.null <- base::is.null [13:30:33.158] muffled <- FALSE [13:30:33.158] if (inherits(cond, "message")) { [13:30:33.158] muffled <- grepl(pattern, "muffleMessage") [13:30:33.158] if (muffled) [13:30:33.158] invokeRestart("muffleMessage") [13:30:33.158] } [13:30:33.158] else if (inherits(cond, "warning")) { [13:30:33.158] muffled <- grepl(pattern, "muffleWarning") [13:30:33.158] if (muffled) [13:30:33.158] invokeRestart("muffleWarning") [13:30:33.158] } [13:30:33.158] else if (inherits(cond, "condition")) { [13:30:33.158] if (!is.null(pattern)) { [13:30:33.158] computeRestarts <- base::computeRestarts [13:30:33.158] grepl <- base::grepl [13:30:33.158] restarts <- computeRestarts(cond) [13:30:33.158] for (restart in restarts) { [13:30:33.158] name <- restart$name [13:30:33.158] if (is.null(name)) [13:30:33.158] next [13:30:33.158] if (!grepl(pattern, name)) [13:30:33.158] next [13:30:33.158] invokeRestart(restart) [13:30:33.158] muffled <- TRUE [13:30:33.158] break [13:30:33.158] } [13:30:33.158] } [13:30:33.158] } [13:30:33.158] invisible(muffled) [13:30:33.158] } [13:30:33.158] muffleCondition(cond, pattern = "^muffle") [13:30:33.158] } [13:30:33.158] } [13:30:33.158] } [13:30:33.158] })) [13:30:33.158] }, error = function(ex) { [13:30:33.158] base::structure(base::list(value = NULL, visible = NULL, [13:30:33.158] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.158] ...future.rng), started = ...future.startTime, [13:30:33.158] finished = Sys.time(), session_uuid = NA_character_, [13:30:33.158] version = "1.8"), class = "FutureResult") [13:30:33.158] }, finally = { [13:30:33.158] if (!identical(...future.workdir, getwd())) [13:30:33.158] setwd(...future.workdir) [13:30:33.158] { [13:30:33.158] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:33.158] ...future.oldOptions$nwarnings <- NULL [13:30:33.158] } [13:30:33.158] base::options(...future.oldOptions) [13:30:33.158] if (.Platform$OS.type == "windows") { [13:30:33.158] old_names <- names(...future.oldEnvVars) [13:30:33.158] envs <- base::Sys.getenv() [13:30:33.158] names <- names(envs) [13:30:33.158] common <- intersect(names, old_names) [13:30:33.158] added <- setdiff(names, old_names) [13:30:33.158] removed <- setdiff(old_names, names) [13:30:33.158] changed <- common[...future.oldEnvVars[common] != [13:30:33.158] envs[common]] [13:30:33.158] NAMES <- toupper(changed) [13:30:33.158] args <- list() [13:30:33.158] for (kk in seq_along(NAMES)) { [13:30:33.158] name <- changed[[kk]] [13:30:33.158] NAME <- NAMES[[kk]] [13:30:33.158] if (name != NAME && is.element(NAME, old_names)) [13:30:33.158] next [13:30:33.158] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.158] } [13:30:33.158] NAMES <- toupper(added) [13:30:33.158] for (kk in seq_along(NAMES)) { [13:30:33.158] name <- added[[kk]] [13:30:33.158] NAME <- NAMES[[kk]] [13:30:33.158] if (name != NAME && is.element(NAME, old_names)) [13:30:33.158] next [13:30:33.158] args[[name]] <- "" [13:30:33.158] } [13:30:33.158] NAMES <- toupper(removed) [13:30:33.158] for (kk in seq_along(NAMES)) { [13:30:33.158] name <- removed[[kk]] [13:30:33.158] NAME <- NAMES[[kk]] [13:30:33.158] if (name != NAME && is.element(NAME, old_names)) [13:30:33.158] next [13:30:33.158] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.158] } [13:30:33.158] if (length(args) > 0) [13:30:33.158] base::do.call(base::Sys.setenv, args = args) [13:30:33.158] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:33.158] } [13:30:33.158] else { [13:30:33.158] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:33.158] } [13:30:33.158] { [13:30:33.158] if (base::length(...future.futureOptionsAdded) > [13:30:33.158] 0L) { [13:30:33.158] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:33.158] base::names(opts) <- ...future.futureOptionsAdded [13:30:33.158] base::options(opts) [13:30:33.158] } [13:30:33.158] { [13:30:33.158] NULL [13:30:33.158] options(future.plan = NULL) [13:30:33.158] if (is.na(NA_character_)) [13:30:33.158] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.158] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:33.158] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:33.158] .init = FALSE) [13:30:33.158] } [13:30:33.158] } [13:30:33.158] } [13:30:33.158] }) [13:30:33.158] if (TRUE) { [13:30:33.158] base::sink(type = "output", split = FALSE) [13:30:33.158] if (TRUE) { [13:30:33.158] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:33.158] } [13:30:33.158] else { [13:30:33.158] ...future.result["stdout"] <- base::list(NULL) [13:30:33.158] } [13:30:33.158] base::close(...future.stdout) [13:30:33.158] ...future.stdout <- NULL [13:30:33.158] } [13:30:33.158] ...future.result$conditions <- ...future.conditions [13:30:33.158] ...future.result$finished <- base::Sys.time() [13:30:33.158] ...future.result [13:30:33.158] } [13:30:33.162] - Launch lazy future ... done [13:30:33.162] run() for 'MiraiFuture' ... done [13:30:33.162] - run() ... done [13:30:33.162] - resolved() ... [13:30:33.163] resolved() for 'MiraiFuture' ... [13:30:33.163] - state: 'running' [13:30:33.163] - run: TRUE [13:30:33.163] - result: 'NULL' [13:30:33.163] - resolved: FALSE [13:30:33.164] resolved() for 'MiraiFuture' ... done [13:30:33.164] - resolved: FALSE [13:30:33.164] - resolved() ... done [13:30:33.164] resolved() for 'MiraiFuture' ... done [13:30:33.164] resolved() for 'Future' ... [13:30:33.164] - state: 'created' [13:30:33.166] - run: TRUE [13:30:33.166] - run() ... [13:30:33.166] run() for 'Future' ... [13:30:33.166] - state: 'created' [13:30:33.167] - Future backend: 'FutureStrategy', 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:33.167] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:33.167] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:33.167] - Field: 'label' [13:30:33.168] - Field: 'local' [13:30:33.168] - Field: 'owner' [13:30:33.168] - Field: 'envir' [13:30:33.168] - Field: 'packages' [13:30:33.168] - Field: 'gc' [13:30:33.168] - Field: 'conditions' [13:30:33.169] - Field: 'expr' [13:30:33.169] - Field: 'uuid' [13:30:33.169] - Field: 'seed' [13:30:33.169] - Field: 'version' [13:30:33.169] - Field: 'result' [13:30:33.169] - Field: 'asynchronous' [13:30:33.170] - Field: 'calls' [13:30:33.170] - Field: 'globals' [13:30:33.170] - Field: 'stdout' [13:30:33.170] - Field: 'earlySignal' [13:30:33.170] - Field: 'lazy' [13:30:33.170] - Field: 'state' [13:30:33.171] - Field: '.cluster' [13:30:33.171] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:33.171] - Launch lazy future ... [13:30:33.171] Packages needed by the future expression (n = 1): 'future' [13:30:33.171] Packages needed by future strategies (n = 0): [13:30:33.172] { [13:30:33.172] { [13:30:33.172] { [13:30:33.172] ...future.startTime <- base::Sys.time() [13:30:33.172] { [13:30:33.172] { [13:30:33.172] { [13:30:33.172] { [13:30:33.172] base::local({ [13:30:33.172] has_future <- base::requireNamespace("future", [13:30:33.172] quietly = TRUE) [13:30:33.172] if (has_future) { [13:30:33.172] ns <- base::getNamespace("future") [13:30:33.172] version <- ns[[".package"]][["version"]] [13:30:33.172] if (is.null(version)) [13:30:33.172] version <- utils::packageVersion("future") [13:30:33.172] } [13:30:33.172] else { [13:30:33.172] version <- NULL [13:30:33.172] } [13:30:33.172] if (!has_future || version < "1.8.0") { [13:30:33.172] info <- base::c(r_version = base::gsub("R version ", [13:30:33.172] "", base::R.version$version.string), [13:30:33.172] platform = base::sprintf("%s (%s-bit)", [13:30:33.172] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:33.172] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:33.172] "release", "version")], collapse = " "), [13:30:33.172] hostname = base::Sys.info()[["nodename"]]) [13:30:33.172] info <- base::sprintf("%s: %s", base::names(info), [13:30:33.172] info) [13:30:33.172] info <- base::paste(info, collapse = "; ") [13:30:33.172] if (!has_future) { [13:30:33.172] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:33.172] info) [13:30:33.172] } [13:30:33.172] else { [13:30:33.172] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:33.172] info, version) [13:30:33.172] } [13:30:33.172] base::stop(msg) [13:30:33.172] } [13:30:33.172] }) [13:30:33.172] } [13:30:33.172] base::local({ [13:30:33.172] for (pkg in "future") { [13:30:33.172] base::loadNamespace(pkg) [13:30:33.172] base::library(pkg, character.only = TRUE) [13:30:33.172] } [13:30:33.172] }) [13:30:33.172] } [13:30:33.172] ...future.strategy.old <- future::plan("list") [13:30:33.172] options(future.plan = NULL) [13:30:33.172] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.172] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:33.172] } [13:30:33.172] ...future.workdir <- getwd() [13:30:33.172] } [13:30:33.172] ...future.oldOptions <- base::as.list(base::.Options) [13:30:33.172] ...future.oldEnvVars <- base::Sys.getenv() [13:30:33.172] } [13:30:33.172] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:33.172] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:33.172] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:33.172] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:33.172] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:33.172] future.stdout.windows.reencode = NULL, width = 80L) [13:30:33.172] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:33.172] base::names(...future.oldOptions)) [13:30:33.172] } [13:30:33.172] if (FALSE) { [13:30:33.172] } [13:30:33.172] else { [13:30:33.172] if (TRUE) { [13:30:33.172] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:33.172] open = "w") [13:30:33.172] } [13:30:33.172] else { [13:30:33.172] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:33.172] windows = "NUL", "/dev/null"), open = "w") [13:30:33.172] } [13:30:33.172] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:33.172] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:33.172] base::sink(type = "output", split = FALSE) [13:30:33.172] base::close(...future.stdout) [13:30:33.172] }, add = TRUE) [13:30:33.172] } [13:30:33.172] ...future.frame <- base::sys.nframe() [13:30:33.172] ...future.conditions <- base::list() [13:30:33.172] ...future.rng <- base::globalenv()$.Random.seed [13:30:33.172] if (FALSE) { [13:30:33.172] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:33.172] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:33.172] } [13:30:33.172] ...future.result <- base::tryCatch({ [13:30:33.172] base::withCallingHandlers({ [13:30:33.172] ...future.value <- base::withVisible(base::local({ [13:30:33.172] message(sprintf("Calculating tile #%d of %d ...", [13:30:33.172] ii, n), appendLF = FALSE) [13:30:33.172] fit <- mandelbrot(C) [13:30:33.172] delay(fit) [13:30:33.172] message(" done") [13:30:33.172] fit [13:30:33.172] })) [13:30:33.172] future::FutureResult(value = ...future.value$value, [13:30:33.172] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.172] ...future.rng), globalenv = if (FALSE) [13:30:33.172] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:33.172] ...future.globalenv.names)) [13:30:33.172] else NULL, started = ...future.startTime, version = "1.8") [13:30:33.172] }, condition = base::local({ [13:30:33.172] c <- base::c [13:30:33.172] inherits <- base::inherits [13:30:33.172] invokeRestart <- base::invokeRestart [13:30:33.172] length <- base::length [13:30:33.172] list <- base::list [13:30:33.172] seq.int <- base::seq.int [13:30:33.172] signalCondition <- base::signalCondition [13:30:33.172] sys.calls <- base::sys.calls [13:30:33.172] `[[` <- base::`[[` [13:30:33.172] `+` <- base::`+` [13:30:33.172] `<<-` <- base::`<<-` [13:30:33.172] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:33.172] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:33.172] 3L)] [13:30:33.172] } [13:30:33.172] function(cond) { [13:30:33.172] is_error <- inherits(cond, "error") [13:30:33.172] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:33.172] NULL) [13:30:33.172] if (is_error) { [13:30:33.172] sessionInformation <- function() { [13:30:33.172] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:33.172] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:33.172] search = base::search(), system = base::Sys.info()) [13:30:33.172] } [13:30:33.172] ...future.conditions[[length(...future.conditions) + [13:30:33.172] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:33.172] cond$call), session = sessionInformation(), [13:30:33.172] timestamp = base::Sys.time(), signaled = 0L) [13:30:33.172] signalCondition(cond) [13:30:33.172] } [13:30:33.172] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:33.172] signal <- FALSE && inherits(cond, character(0)) [13:30:33.172] ...future.conditions[[length(...future.conditions) + [13:30:33.172] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:33.172] if (FALSE && !signal) { [13:30:33.172] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.172] { [13:30:33.172] inherits <- base::inherits [13:30:33.172] invokeRestart <- base::invokeRestart [13:30:33.172] is.null <- base::is.null [13:30:33.172] muffled <- FALSE [13:30:33.172] if (inherits(cond, "message")) { [13:30:33.172] muffled <- grepl(pattern, "muffleMessage") [13:30:33.172] if (muffled) [13:30:33.172] invokeRestart("muffleMessage") [13:30:33.172] } [13:30:33.172] else if (inherits(cond, "warning")) { [13:30:33.172] muffled <- grepl(pattern, "muffleWarning") [13:30:33.172] if (muffled) [13:30:33.172] invokeRestart("muffleWarning") [13:30:33.172] } [13:30:33.172] else if (inherits(cond, "condition")) { [13:30:33.172] if (!is.null(pattern)) { [13:30:33.172] computeRestarts <- base::computeRestarts [13:30:33.172] grepl <- base::grepl [13:30:33.172] restarts <- computeRestarts(cond) [13:30:33.172] for (restart in restarts) { [13:30:33.172] name <- restart$name [13:30:33.172] if (is.null(name)) [13:30:33.172] next [13:30:33.172] if (!grepl(pattern, name)) [13:30:33.172] next [13:30:33.172] invokeRestart(restart) [13:30:33.172] muffled <- TRUE [13:30:33.172] break [13:30:33.172] } [13:30:33.172] } [13:30:33.172] } [13:30:33.172] invisible(muffled) [13:30:33.172] } [13:30:33.172] muffleCondition(cond, pattern = "^muffle") [13:30:33.172] } [13:30:33.172] } [13:30:33.172] else { [13:30:33.172] if (TRUE) { [13:30:33.172] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.172] { [13:30:33.172] inherits <- base::inherits [13:30:33.172] invokeRestart <- base::invokeRestart [13:30:33.172] is.null <- base::is.null [13:30:33.172] muffled <- FALSE [13:30:33.172] if (inherits(cond, "message")) { [13:30:33.172] muffled <- grepl(pattern, "muffleMessage") [13:30:33.172] if (muffled) [13:30:33.172] invokeRestart("muffleMessage") [13:30:33.172] } [13:30:33.172] else if (inherits(cond, "warning")) { [13:30:33.172] muffled <- grepl(pattern, "muffleWarning") [13:30:33.172] if (muffled) [13:30:33.172] invokeRestart("muffleWarning") [13:30:33.172] } [13:30:33.172] else if (inherits(cond, "condition")) { [13:30:33.172] if (!is.null(pattern)) { [13:30:33.172] computeRestarts <- base::computeRestarts [13:30:33.172] grepl <- base::grepl [13:30:33.172] restarts <- computeRestarts(cond) [13:30:33.172] for (restart in restarts) { [13:30:33.172] name <- restart$name [13:30:33.172] if (is.null(name)) [13:30:33.172] next [13:30:33.172] if (!grepl(pattern, name)) [13:30:33.172] next [13:30:33.172] invokeRestart(restart) [13:30:33.172] muffled <- TRUE [13:30:33.172] break [13:30:33.172] } [13:30:33.172] } [13:30:33.172] } [13:30:33.172] invisible(muffled) [13:30:33.172] } [13:30:33.172] muffleCondition(cond, pattern = "^muffle") [13:30:33.172] } [13:30:33.172] } [13:30:33.172] } [13:30:33.172] })) [13:30:33.172] }, error = function(ex) { [13:30:33.172] base::structure(base::list(value = NULL, visible = NULL, [13:30:33.172] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.172] ...future.rng), started = ...future.startTime, [13:30:33.172] finished = Sys.time(), session_uuid = NA_character_, [13:30:33.172] version = "1.8"), class = "FutureResult") [13:30:33.172] }, finally = { [13:30:33.172] if (!identical(...future.workdir, getwd())) [13:30:33.172] setwd(...future.workdir) [13:30:33.172] { [13:30:33.172] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:33.172] ...future.oldOptions$nwarnings <- NULL [13:30:33.172] } [13:30:33.172] base::options(...future.oldOptions) [13:30:33.172] if (.Platform$OS.type == "windows") { [13:30:33.172] old_names <- names(...future.oldEnvVars) [13:30:33.172] envs <- base::Sys.getenv() [13:30:33.172] names <- names(envs) [13:30:33.172] common <- intersect(names, old_names) [13:30:33.172] added <- setdiff(names, old_names) [13:30:33.172] removed <- setdiff(old_names, names) [13:30:33.172] changed <- common[...future.oldEnvVars[common] != [13:30:33.172] envs[common]] [13:30:33.172] NAMES <- toupper(changed) [13:30:33.172] args <- list() [13:30:33.172] for (kk in seq_along(NAMES)) { [13:30:33.172] name <- changed[[kk]] [13:30:33.172] NAME <- NAMES[[kk]] [13:30:33.172] if (name != NAME && is.element(NAME, old_names)) [13:30:33.172] next [13:30:33.172] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.172] } [13:30:33.172] NAMES <- toupper(added) [13:30:33.172] for (kk in seq_along(NAMES)) { [13:30:33.172] name <- added[[kk]] [13:30:33.172] NAME <- NAMES[[kk]] [13:30:33.172] if (name != NAME && is.element(NAME, old_names)) [13:30:33.172] next [13:30:33.172] args[[name]] <- "" [13:30:33.172] } [13:30:33.172] NAMES <- toupper(removed) [13:30:33.172] for (kk in seq_along(NAMES)) { [13:30:33.172] name <- removed[[kk]] [13:30:33.172] NAME <- NAMES[[kk]] [13:30:33.172] if (name != NAME && is.element(NAME, old_names)) [13:30:33.172] next [13:30:33.172] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.172] } [13:30:33.172] if (length(args) > 0) [13:30:33.172] base::do.call(base::Sys.setenv, args = args) [13:30:33.172] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:33.172] } [13:30:33.172] else { [13:30:33.172] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:33.172] } [13:30:33.172] { [13:30:33.172] if (base::length(...future.futureOptionsAdded) > [13:30:33.172] 0L) { [13:30:33.172] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:33.172] base::names(opts) <- ...future.futureOptionsAdded [13:30:33.172] base::options(opts) [13:30:33.172] } [13:30:33.172] { [13:30:33.172] NULL [13:30:33.172] options(future.plan = NULL) [13:30:33.172] if (is.na(NA_character_)) [13:30:33.172] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.172] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:33.172] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:33.172] .init = FALSE) [13:30:33.172] } [13:30:33.172] } [13:30:33.172] } [13:30:33.172] }) [13:30:33.172] if (TRUE) { [13:30:33.172] base::sink(type = "output", split = FALSE) [13:30:33.172] if (TRUE) { [13:30:33.172] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:33.172] } [13:30:33.172] else { [13:30:33.172] ...future.result["stdout"] <- base::list(NULL) [13:30:33.172] } [13:30:33.172] base::close(...future.stdout) [13:30:33.172] ...future.stdout <- NULL [13:30:33.172] } [13:30:33.172] ...future.result$conditions <- ...future.conditions [13:30:33.172] ...future.result$finished <- base::Sys.time() [13:30:33.172] ...future.result [13:30:33.172] } [13:30:33.176] - Launch lazy future ... done [13:30:33.176] run() for 'MiraiFuture' ... done [13:30:33.176] - run() ... done [13:30:33.177] - resolved() ... [13:30:33.177] resolved() for 'MiraiFuture' ... [13:30:33.177] - state: 'running' [13:30:33.177] - run: TRUE [13:30:33.177] - result: 'NULL' [13:30:33.177] - resolved: FALSE [13:30:33.178] resolved() for 'MiraiFuture' ... done [13:30:33.178] - resolved: FALSE [13:30:33.178] - resolved() ... done [13:30:33.178] resolved() for 'MiraiFuture' ... done [13:30:33.178] resolved() for 'Future' ... [13:30:33.178] - state: 'created' [13:30:33.179] - run: TRUE [13:30:33.179] - run() ... [13:30:33.179] run() for 'Future' ... [13:30:33.179] - state: 'created' [13:30:33.179] - Future backend: 'FutureStrategy', 'tweaked', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:30:33.180] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:30:33.180] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:30:33.180] - Field: 'label' [13:30:33.180] - Field: 'local' [13:30:33.181] - Field: 'owner' [13:30:33.181] - Field: 'envir' [13:30:33.181] - Field: 'packages' [13:30:33.181] - Field: 'gc' [13:30:33.181] - Field: 'conditions' [13:30:33.181] - Field: 'expr' [13:30:33.182] - Field: 'uuid' [13:30:33.182] - Field: 'seed' [13:30:33.182] - Field: 'version' [13:30:33.182] - Field: 'result' [13:30:33.182] - Field: 'asynchronous' [13:30:33.182] - Field: 'calls' [13:30:33.183] - Field: 'globals' [13:30:33.183] - Field: 'stdout' [13:30:33.183] - Field: 'earlySignal' [13:30:33.183] - Field: 'lazy' [13:30:33.183] - Field: 'state' [13:30:33.183] - Field: '.cluster' [13:30:33.184] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:30:33.184] - Launch lazy future ... [13:30:33.184] Packages needed by the future expression (n = 1): 'future' [13:30:33.184] Packages needed by future strategies (n = 0): [13:30:33.185] { [13:30:33.185] { [13:30:33.185] { [13:30:33.185] ...future.startTime <- base::Sys.time() [13:30:33.185] { [13:30:33.185] { [13:30:33.185] { [13:30:33.185] { [13:30:33.185] base::local({ [13:30:33.185] has_future <- base::requireNamespace("future", [13:30:33.185] quietly = TRUE) [13:30:33.185] if (has_future) { [13:30:33.185] ns <- base::getNamespace("future") [13:30:33.185] version <- ns[[".package"]][["version"]] [13:30:33.185] if (is.null(version)) [13:30:33.185] version <- utils::packageVersion("future") [13:30:33.185] } [13:30:33.185] else { [13:30:33.185] version <- NULL [13:30:33.185] } [13:30:33.185] if (!has_future || version < "1.8.0") { [13:30:33.185] info <- base::c(r_version = base::gsub("R version ", [13:30:33.185] "", base::R.version$version.string), [13:30:33.185] platform = base::sprintf("%s (%s-bit)", [13:30:33.185] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:30:33.185] os = base::paste(base::Sys.info()[base::c("sysname", [13:30:33.185] "release", "version")], collapse = " "), [13:30:33.185] hostname = base::Sys.info()[["nodename"]]) [13:30:33.185] info <- base::sprintf("%s: %s", base::names(info), [13:30:33.185] info) [13:30:33.185] info <- base::paste(info, collapse = "; ") [13:30:33.185] if (!has_future) { [13:30:33.185] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:30:33.185] info) [13:30:33.185] } [13:30:33.185] else { [13:30:33.185] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:30:33.185] info, version) [13:30:33.185] } [13:30:33.185] base::stop(msg) [13:30:33.185] } [13:30:33.185] }) [13:30:33.185] } [13:30:33.185] base::local({ [13:30:33.185] for (pkg in "future") { [13:30:33.185] base::loadNamespace(pkg) [13:30:33.185] base::library(pkg, character.only = TRUE) [13:30:33.185] } [13:30:33.185] }) [13:30:33.185] } [13:30:33.185] ...future.strategy.old <- future::plan("list") [13:30:33.185] options(future.plan = NULL) [13:30:33.185] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.185] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:30:33.185] } [13:30:33.185] ...future.workdir <- getwd() [13:30:33.185] } [13:30:33.185] ...future.oldOptions <- base::as.list(base::.Options) [13:30:33.185] ...future.oldEnvVars <- base::Sys.getenv() [13:30:33.185] } [13:30:33.185] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:30:33.185] future.globals.maxSize = NULL, future.globals.method = NULL, [13:30:33.185] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:30:33.185] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:30:33.185] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:30:33.185] future.stdout.windows.reencode = NULL, width = 80L) [13:30:33.185] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:30:33.185] base::names(...future.oldOptions)) [13:30:33.185] } [13:30:33.185] if (FALSE) { [13:30:33.185] } [13:30:33.185] else { [13:30:33.185] if (TRUE) { [13:30:33.185] ...future.stdout <- base::rawConnection(base::raw(0L), [13:30:33.185] open = "w") [13:30:33.185] } [13:30:33.185] else { [13:30:33.185] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:30:33.185] windows = "NUL", "/dev/null"), open = "w") [13:30:33.185] } [13:30:33.185] base::sink(...future.stdout, type = "output", split = FALSE) [13:30:33.185] base::on.exit(if (!base::is.null(...future.stdout)) { [13:30:33.185] base::sink(type = "output", split = FALSE) [13:30:33.185] base::close(...future.stdout) [13:30:33.185] }, add = TRUE) [13:30:33.185] } [13:30:33.185] ...future.frame <- base::sys.nframe() [13:30:33.185] ...future.conditions <- base::list() [13:30:33.185] ...future.rng <- base::globalenv()$.Random.seed [13:30:33.185] if (FALSE) { [13:30:33.185] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:30:33.185] "...future.value", "...future.globalenv.names", ".Random.seed") [13:30:33.185] } [13:30:33.185] ...future.result <- base::tryCatch({ [13:30:33.185] base::withCallingHandlers({ [13:30:33.185] ...future.value <- base::withVisible(base::local({ [13:30:33.185] message(sprintf("Calculating tile #%d of %d ...", [13:30:33.185] ii, n), appendLF = FALSE) [13:30:33.185] fit <- mandelbrot(C) [13:30:33.185] delay(fit) [13:30:33.185] message(" done") [13:30:33.185] fit [13:30:33.185] })) [13:30:33.185] future::FutureResult(value = ...future.value$value, [13:30:33.185] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.185] ...future.rng), globalenv = if (FALSE) [13:30:33.185] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:30:33.185] ...future.globalenv.names)) [13:30:33.185] else NULL, started = ...future.startTime, version = "1.8") [13:30:33.185] }, condition = base::local({ [13:30:33.185] c <- base::c [13:30:33.185] inherits <- base::inherits [13:30:33.185] invokeRestart <- base::invokeRestart [13:30:33.185] length <- base::length [13:30:33.185] list <- base::list [13:30:33.185] seq.int <- base::seq.int [13:30:33.185] signalCondition <- base::signalCondition [13:30:33.185] sys.calls <- base::sys.calls [13:30:33.185] `[[` <- base::`[[` [13:30:33.185] `+` <- base::`+` [13:30:33.185] `<<-` <- base::`<<-` [13:30:33.185] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:30:33.185] calls[seq.int(from = from + 12L, to = length(calls) - [13:30:33.185] 3L)] [13:30:33.185] } [13:30:33.185] function(cond) { [13:30:33.185] is_error <- inherits(cond, "error") [13:30:33.185] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:30:33.185] NULL) [13:30:33.185] if (is_error) { [13:30:33.185] sessionInformation <- function() { [13:30:33.185] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:30:33.185] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:30:33.185] search = base::search(), system = base::Sys.info()) [13:30:33.185] } [13:30:33.185] ...future.conditions[[length(...future.conditions) + [13:30:33.185] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:30:33.185] cond$call), session = sessionInformation(), [13:30:33.185] timestamp = base::Sys.time(), signaled = 0L) [13:30:33.185] signalCondition(cond) [13:30:33.185] } [13:30:33.185] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:30:33.185] signal <- FALSE && inherits(cond, character(0)) [13:30:33.185] ...future.conditions[[length(...future.conditions) + [13:30:33.185] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:30:33.185] if (FALSE && !signal) { [13:30:33.185] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.185] { [13:30:33.185] inherits <- base::inherits [13:30:33.185] invokeRestart <- base::invokeRestart [13:30:33.185] is.null <- base::is.null [13:30:33.185] muffled <- FALSE [13:30:33.185] if (inherits(cond, "message")) { [13:30:33.185] muffled <- grepl(pattern, "muffleMessage") [13:30:33.185] if (muffled) [13:30:33.185] invokeRestart("muffleMessage") [13:30:33.185] } [13:30:33.185] else if (inherits(cond, "warning")) { [13:30:33.185] muffled <- grepl(pattern, "muffleWarning") [13:30:33.185] if (muffled) [13:30:33.185] invokeRestart("muffleWarning") [13:30:33.185] } [13:30:33.185] else if (inherits(cond, "condition")) { [13:30:33.185] if (!is.null(pattern)) { [13:30:33.185] computeRestarts <- base::computeRestarts [13:30:33.185] grepl <- base::grepl [13:30:33.185] restarts <- computeRestarts(cond) [13:30:33.185] for (restart in restarts) { [13:30:33.185] name <- restart$name [13:30:33.185] if (is.null(name)) [13:30:33.185] next [13:30:33.185] if (!grepl(pattern, name)) [13:30:33.185] next [13:30:33.185] invokeRestart(restart) [13:30:33.185] muffled <- TRUE [13:30:33.185] break [13:30:33.185] } [13:30:33.185] } [13:30:33.185] } [13:30:33.185] invisible(muffled) [13:30:33.185] } [13:30:33.185] muffleCondition(cond, pattern = "^muffle") [13:30:33.185] } [13:30:33.185] } [13:30:33.185] else { [13:30:33.185] if (TRUE) { [13:30:33.185] muffleCondition <- function (cond, pattern = "^muffle") [13:30:33.185] { [13:30:33.185] inherits <- base::inherits [13:30:33.185] invokeRestart <- base::invokeRestart [13:30:33.185] is.null <- base::is.null [13:30:33.185] muffled <- FALSE [13:30:33.185] if (inherits(cond, "message")) { [13:30:33.185] muffled <- grepl(pattern, "muffleMessage") [13:30:33.185] if (muffled) [13:30:33.185] invokeRestart("muffleMessage") [13:30:33.185] } [13:30:33.185] else if (inherits(cond, "warning")) { [13:30:33.185] muffled <- grepl(pattern, "muffleWarning") [13:30:33.185] if (muffled) [13:30:33.185] invokeRestart("muffleWarning") [13:30:33.185] } [13:30:33.185] else if (inherits(cond, "condition")) { [13:30:33.185] if (!is.null(pattern)) { [13:30:33.185] computeRestarts <- base::computeRestarts [13:30:33.185] grepl <- base::grepl [13:30:33.185] restarts <- computeRestarts(cond) [13:30:33.185] for (restart in restarts) { [13:30:33.185] name <- restart$name [13:30:33.185] if (is.null(name)) [13:30:33.185] next [13:30:33.185] if (!grepl(pattern, name)) [13:30:33.185] next [13:30:33.185] invokeRestart(restart) [13:30:33.185] muffled <- TRUE [13:30:33.185] break [13:30:33.185] } [13:30:33.185] } [13:30:33.185] } [13:30:33.185] invisible(muffled) [13:30:33.185] } [13:30:33.185] muffleCondition(cond, pattern = "^muffle") [13:30:33.185] } [13:30:33.185] } [13:30:33.185] } [13:30:33.185] })) [13:30:33.185] }, error = function(ex) { [13:30:33.185] base::structure(base::list(value = NULL, visible = NULL, [13:30:33.185] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:30:33.185] ...future.rng), started = ...future.startTime, [13:30:33.185] finished = Sys.time(), session_uuid = NA_character_, [13:30:33.185] version = "1.8"), class = "FutureResult") [13:30:33.185] }, finally = { [13:30:33.185] if (!identical(...future.workdir, getwd())) [13:30:33.185] setwd(...future.workdir) [13:30:33.185] { [13:30:33.185] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:30:33.185] ...future.oldOptions$nwarnings <- NULL [13:30:33.185] } [13:30:33.185] base::options(...future.oldOptions) [13:30:33.185] if (.Platform$OS.type == "windows") { [13:30:33.185] old_names <- names(...future.oldEnvVars) [13:30:33.185] envs <- base::Sys.getenv() [13:30:33.185] names <- names(envs) [13:30:33.185] common <- intersect(names, old_names) [13:30:33.185] added <- setdiff(names, old_names) [13:30:33.185] removed <- setdiff(old_names, names) [13:30:33.185] changed <- common[...future.oldEnvVars[common] != [13:30:33.185] envs[common]] [13:30:33.185] NAMES <- toupper(changed) [13:30:33.185] args <- list() [13:30:33.185] for (kk in seq_along(NAMES)) { [13:30:33.185] name <- changed[[kk]] [13:30:33.185] NAME <- NAMES[[kk]] [13:30:33.185] if (name != NAME && is.element(NAME, old_names)) [13:30:33.185] next [13:30:33.185] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.185] } [13:30:33.185] NAMES <- toupper(added) [13:30:33.185] for (kk in seq_along(NAMES)) { [13:30:33.185] name <- added[[kk]] [13:30:33.185] NAME <- NAMES[[kk]] [13:30:33.185] if (name != NAME && is.element(NAME, old_names)) [13:30:33.185] next [13:30:33.185] args[[name]] <- "" [13:30:33.185] } [13:30:33.185] NAMES <- toupper(removed) [13:30:33.185] for (kk in seq_along(NAMES)) { [13:30:33.185] name <- removed[[kk]] [13:30:33.185] NAME <- NAMES[[kk]] [13:30:33.185] if (name != NAME && is.element(NAME, old_names)) [13:30:33.185] next [13:30:33.185] args[[name]] <- ...future.oldEnvVars[[name]] [13:30:33.185] } [13:30:33.185] if (length(args) > 0) [13:30:33.185] base::do.call(base::Sys.setenv, args = args) [13:30:33.185] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:30:33.185] } [13:30:33.185] else { [13:30:33.185] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:30:33.185] } [13:30:33.185] { [13:30:33.185] if (base::length(...future.futureOptionsAdded) > [13:30:33.185] 0L) { [13:30:33.185] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:30:33.185] base::names(opts) <- ...future.futureOptionsAdded [13:30:33.185] base::options(opts) [13:30:33.185] } [13:30:33.185] { [13:30:33.185] NULL [13:30:33.185] options(future.plan = NULL) [13:30:33.185] if (is.na(NA_character_)) [13:30:33.185] Sys.unsetenv("R_FUTURE_PLAN") [13:30:33.185] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:30:33.185] future::plan(...future.strategy.old, .cleanup = FALSE, [13:30:33.185] .init = FALSE) [13:30:33.185] } [13:30:33.185] } [13:30:33.185] } [13:30:33.185] }) [13:30:33.185] if (TRUE) { [13:30:33.185] base::sink(type = "output", split = FALSE) [13:30:33.185] if (TRUE) { [13:30:33.185] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:30:33.185] } [13:30:33.185] else { [13:30:33.185] ...future.result["stdout"] <- base::list(NULL) [13:30:33.185] } [13:30:33.185] base::close(...future.stdout) [13:30:33.185] ...future.stdout <- NULL [13:30:33.185] } [13:30:33.185] ...future.result$conditions <- ...future.conditions [13:30:33.185] ...future.result$finished <- base::Sys.time() [13:30:33.185] ...future.result [13:30:33.185] } [13:30:33.189] - Launch lazy future ... done [13:30:33.189] run() for 'MiraiFuture' ... done [13:30:33.189] - run() ... done [13:30:33.189] - resolved() ... [13:30:33.190] resolved() for 'MiraiFuture' ... [13:30:33.190] - state: 'running' [13:30:33.190] - run: TRUE [13:30:33.190] - result: 'NULL' [13:30:33.190] - resolved: FALSE [13:30:33.190] resolved() for 'MiraiFuture' ... done [13:30:33.191] - resolved: FALSE [13:30:33.191] - resolved() ... done [13:30:33.191] resolved() for 'MiraiFuture' ... done [13:30:33.191] resolved() for 'MiraiFuture' ... [13:30:33.191] - state: 'running' [13:30:33.192] - run: TRUE [13:30:33.192] - result: 'NULL' [13:30:33.192] - resolved: FALSE [13:30:33.192] resolved() for 'MiraiFuture' ... done Plotting tile #1 of 4 ... [13:30:33.193] signalConditions() ... [13:30:33.193] - include = 'immediateCondition' [13:30:33.193] - exclude = [13:30:33.193] - resignal = FALSE [13:30:33.193] - Number of conditions: 2 [13:30:33.194] signalConditions() ... done [13:30:33.194] Future state: 'finished' [13:30:33.194] signalConditions() ... [13:30:33.194] - include = 'condition' [13:30:33.194] - exclude = 'immediateCondition' [13:30:33.194] - resignal = TRUE [13:30:33.195] - Number of conditions: 2 [13:30:33.195] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #1 of 4 ...[13:30:33.195] - Condition #2: 'simpleMessage', 'message', 'condition' done [13:30:33.195] signalConditions() ... done [13:30:33.197] resolved() for 'MiraiFuture' ... [13:30:33.197] - state: 'running' [13:30:33.197] - run: TRUE [13:30:33.198] - result: 'NULL' [13:30:33.198] - resolved: FALSE [13:30:33.198] resolved() for 'MiraiFuture' ... done Plotting tile #2 of 4 ... [13:30:33.198] signalConditions() ... [13:30:33.199] - include = 'immediateCondition' [13:30:33.199] - exclude = [13:30:33.199] - resignal = FALSE [13:30:33.199] - Number of conditions: 2 [13:30:33.199] signalConditions() ... done [13:30:33.200] Future state: 'finished' [13:30:33.200] signalConditions() ... [13:30:33.200] - include = 'condition' [13:30:33.200] - exclude = 'immediateCondition' [13:30:33.200] - resignal = TRUE [13:30:33.200] - Number of conditions: 2 [13:30:33.201] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #2 of 4 ...[13:30:33.201] - Condition #2: 'simpleMessage', 'message', 'condition' done [13:30:33.201] signalConditions() ... done [13:30:33.202] resolved() for 'MiraiFuture' ... [13:30:33.202] - state: 'running' [13:30:33.202] - run: TRUE [13:30:33.202] - result: 'NULL' [13:30:33.202] - resolved: FALSE [13:30:33.203] resolved() for 'MiraiFuture' ... done [13:30:33.203] resolved() for 'MiraiFuture' ... [13:30:33.203] - state: 'running' [13:30:33.203] - run: TRUE [13:30:33.203] - result: 'NULL' [13:30:33.204] - resolved: FALSE [13:30:33.204] resolved() for 'MiraiFuture' ... done [13:30:33.204] resolved() for 'MiraiFuture' ... [13:30:33.204] - state: 'running' [13:30:33.206] - run: TRUE [13:30:33.206] - result: 'NULL' [13:30:33.206] - resolved: FALSE [13:30:33.207] resolved() for 'MiraiFuture' ... done [13:30:33.207] resolved() for 'MiraiFuture' ... [13:30:33.207] - state: 'running' [13:30:33.207] - run: TRUE [13:30:33.208] - result: 'NULL' [13:30:33.208] - resolved: FALSE [13:30:33.208] resolved() for 'MiraiFuture' ... done [13:30:33.208] resolved() for 'MiraiFuture' ... [13:30:33.208] - state: 'running' [13:30:33.208] - run: TRUE [13:30:33.209] - result: 'NULL' [13:30:33.209] - resolved: FALSE [13:30:33.209] resolved() for 'MiraiFuture' ... done [13:30:33.209] resolved() for 'MiraiFuture' ... [13:30:33.209] - state: 'running' [13:30:33.210] - run: TRUE [13:30:33.210] - result: 'NULL' [13:30:33.210] - resolved: FALSE [13:30:33.210] resolved() for 'MiraiFuture' ... done [13:30:33.210] resolved() for 'MiraiFuture' ... [13:30:33.210] - state: 'running' [13:30:33.211] - run: TRUE [13:30:33.211] - result: 'NULL' [13:30:33.211] - resolved: FALSE [13:30:33.211] resolved() for 'MiraiFuture' ... done [13:30:33.211] resolved() for 'MiraiFuture' ... [13:30:33.212] - state: 'running' [13:30:33.212] - run: TRUE [13:30:33.212] - result: 'NULL' [13:30:33.212] - resolved: FALSE [13:30:33.212] resolved() for 'MiraiFuture' ... done [13:30:33.212] resolved() for 'MiraiFuture' ... [13:30:33.213] - state: 'running' [13:30:33.213] - run: TRUE [13:30:33.213] - result: 'NULL' [13:30:33.213] - resolved: FALSE [13:30:33.213] resolved() for 'MiraiFuture' ... done [13:30:33.214] resolved() for 'MiraiFuture' ... [13:30:33.214] - state: 'running' [13:30:33.214] - run: TRUE [13:30:33.214] - result: 'NULL' [13:30:33.214] - resolved: FALSE [13:30:33.214] resolved() for 'MiraiFuture' ... done [13:30:33.215] resolved() for 'MiraiFuture' ... [13:30:33.215] - state: 'running' [13:30:33.215] - run: TRUE [13:30:33.215] - result: 'NULL' [13:30:33.215] - resolved: FALSE [13:30:33.216] resolved() for 'MiraiFuture' ... done [13:30:33.216] resolved() for 'MiraiFuture' ... [13:30:33.216] - state: 'running' [13:30:33.216] - run: TRUE [13:30:33.216] - result: 'NULL' [13:30:33.216] - resolved: FALSE [13:30:33.217] resolved() for 'MiraiFuture' ... done [13:30:33.217] resolved() for 'MiraiFuture' ... [13:30:33.217] - state: 'running' [13:30:33.217] - run: TRUE [13:30:33.217] - result: 'NULL' [13:30:33.218] - resolved: FALSE [13:30:33.218] resolved() for 'MiraiFuture' ... done Plotting tile #3 of 4 ... [13:30:33.218] signalConditions() ... [13:30:33.218] - include = 'immediateCondition' [13:30:33.219] - exclude = [13:30:33.219] - resignal = FALSE [13:30:33.219] - Number of conditions: 2 [13:30:33.219] signalConditions() ... done [13:30:33.219] Future state: 'finished' [13:30:33.219] signalConditions() ... [13:30:33.220] - include = 'condition' [13:30:33.220] - exclude = 'immediateCondition' [13:30:33.220] - resignal = TRUE [13:30:33.220] - Number of conditions: 2 [13:30:33.220] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #3 of 4 ...[13:30:33.220] - Condition #2: 'simpleMessage', 'message', 'condition' done [13:30:33.221] signalConditions() ... done [13:30:33.221] resolved() for 'MiraiFuture' ... [13:30:33.222] - state: 'running' [13:30:33.222] - run: TRUE [13:30:33.222] - result: 'NULL' [13:30:33.222] - resolved: FALSE [13:30:33.222] resolved() for 'MiraiFuture' ... done [13:30:33.222] resolved() for 'MiraiFuture' ... [13:30:33.223] - state: 'running' [13:30:33.223] - run: TRUE [13:30:33.223] - result: 'NULL' [13:30:33.223] - resolved: FALSE [13:30:33.223] resolved() for 'MiraiFuture' ... done [13:30:33.224] resolved() for 'MiraiFuture' ... [13:30:33.224] - state: 'running' [13:30:33.224] - run: TRUE [13:30:33.224] - result: 'NULL' [13:30:33.224] - resolved: FALSE [13:30:33.224] resolved() for 'MiraiFuture' ... done [13:30:33.225] resolved() for 'MiraiFuture' ... [13:30:33.225] - state: 'running' [13:30:33.225] - run: TRUE [13:30:33.225] - result: 'NULL' [13:30:33.225] - resolved: FALSE [13:30:33.226] resolved() for 'MiraiFuture' ... done [13:30:33.226] resolved() for 'MiraiFuture' ... [13:30:33.226] - state: 'running' [13:30:33.226] - run: TRUE [13:30:33.226] - result: 'NULL' [13:30:33.227] - resolved: FALSE [13:30:33.227] resolved() for 'MiraiFuture' ... done [13:30:33.227] resolved() for 'MiraiFuture' ... [13:30:33.227] - state: 'running' [13:30:33.227] - run: TRUE [13:30:33.227] - result: 'NULL' [13:30:33.228] - resolved: FALSE [13:30:33.228] resolved() for 'MiraiFuture' ... done [13:30:33.228] resolved() for 'MiraiFuture' ... [13:30:33.228] - state: 'running' [13:30:33.228] - run: TRUE [13:30:33.229] - result: 'NULL' [13:30:33.229] - resolved: FALSE [13:30:33.229] resolved() for 'MiraiFuture' ... done [13:30:33.229] resolved() for 'MiraiFuture' ... [13:30:33.229] - state: 'running' [13:30:33.229] - run: TRUE [13:30:33.230] - result: 'NULL' [13:30:33.230] - resolved: FALSE [13:30:33.230] resolved() for 'MiraiFuture' ... done [13:30:33.230] resolved() for 'MiraiFuture' ... [13:30:33.230] - state: 'running' [13:30:33.231] - run: TRUE [13:30:33.231] - result: 'NULL' [13:30:33.231] - resolved: FALSE [13:30:33.231] resolved() for 'MiraiFuture' ... done [13:30:33.231] resolved() for 'MiraiFuture' ... [13:30:33.232] - state: 'running' [13:30:33.232] - run: TRUE [13:30:33.232] - result: 'NULL' [13:30:33.232] - resolved: FALSE [13:30:33.232] resolved() for 'MiraiFuture' ... done [13:30:33.232] resolved() for 'MiraiFuture' ... [13:30:33.233] - state: 'running' [13:30:33.233] - run: TRUE [13:30:33.233] - result: 'NULL' [13:30:33.233] - resolved: FALSE [13:30:33.233] resolved() for 'MiraiFuture' ... done [13:30:33.234] resolved() for 'MiraiFuture' ... [13:30:33.234] - state: 'running' [13:30:33.234] - run: TRUE [13:30:33.234] - result: 'NULL' [13:30:33.234] - resolved: FALSE [13:30:33.234] resolved() for 'MiraiFuture' ... done Plotting tile #4 of 4 ... [13:30:33.235] signalConditions() ... [13:30:33.235] - include = 'immediateCondition' [13:30:33.235] - exclude = [13:30:33.235] - resignal = FALSE [13:30:33.236] - Number of conditions: 2 [13:30:33.236] signalConditions() ... done [13:30:33.236] Future state: 'finished' [13:30:33.236] signalConditions() ... [13:30:33.236] - include = 'condition' [13:30:33.236] - exclude = 'immediateCondition' [13:30:33.237] - resignal = TRUE [13:30:33.237] - Number of conditions: 2 [13:30:33.237] - Condition #1: 'simpleMessage', 'message', 'condition' Calculating tile #4 of 4 ...[13:30:33.237] - Condition #2: 'simpleMessage', 'message', 'condition' done [13:30:33.239] signalConditions() ... done > close.screen() [1] 1 2 3 4 > message("SUGGESTION: Try to rerun this demo after changing strategy for how futures are resolved, e.g. plan(multisession).\n") SUGGESTION: Try to rerun this demo after changing strategy for how futures are resolved, e.g. plan(multisession). > > message("*** Demos ... DONE") *** Demos ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.53 0.14 1.03