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,load-only.R") [13:31:12.736] Detected 'R CMD check': - adjusting defaults to be a good citizen [13:31:12.738] Set package option 'parallelly.availableCores.methods' [13:31:12.739] Environment variable 'R_PARALLELLY_AVAILABLECORES_METHODS' not set [13:31:12.739] Set package option 'parallelly.availableCores.fallback' [13:31:12.740] Environment variable 'R_PARALLELLY_AVAILABLECORES_FALLBACK' not set [13:31:12.740] Set package option 'parallelly.availableCores.min' [13:31:12.740] Environment variable 'R_PARALLELLY_AVAILABLECORES_MIN' not set [13:31:12.741] Set package option 'parallelly.availableCores.system' [13:31:12.741] Environment variable 'R_PARALLELLY_AVAILABLECORES_SYSTEM' not set [13:31:12.741] Set package option 'parallelly.availableCores.logical' [13:31:12.742] Environment variable 'R_PARALLELLY_AVAILABLECORES_LOGICAL' not set [13:31:12.742] Set package option 'parallelly.availableCores.omit' [13:31:12.743] Environment variable 'R_PARALLELLY_AVAILABLECORES_OMIT' not set [13:31:12.743] Set package option 'parallelly.availableWorkers.methods' [13:31:12.743] Environment variable 'R_PARALLELLY_AVAILABLEWORKERS_METHODS' not set [13:31:12.744] Set package option 'parallelly.maxWorkers.localhost' [13:31:12.744] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST' not set [13:31:12.744] Set package option 'parallelly.maxWorkers.localhost.ignore' [13:31:12.745] Environment variable 'R_PARALLELLY_MAXWORKERS_LOCALHOST_IGNORE' not set [13:31:12.745] Set package option 'parallelly.fork.enable' [13:31:12.745] Environment variable 'R_PARALLELLY_FORK_ENABLE' not set [13:31:12.746] Set package option 'parallelly.supportsMulticore.disableOn' [13:31:12.746] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_DISABLEON' not set [13:31:12.746] Set package option 'parallelly.supportsMulticore.unstable' [13:31:12.747] Environment variable 'R_PARALLELLY_SUPPORTSMULTICORE_UNSTABLE' not set [13:31:12.747] Set package option 'parallelly.makeNodePSOCK.setup_strategy' [13:31:12.747] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SETUP_STRATEGY' not set [13:31:12.748] Set package option 'parallelly.makeNodePSOCK.validate' [13:31:12.748] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_VALIDATE' not set [13:31:12.748] Set package option 'parallelly.makeNodePSOCK.connectTimeout' [13:31:12.749] R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT='120' [13:31:12.749] Coercing from character to numeric: '120' [13:31:12.750] => options("parallelly.makeNodePSOCK.connectTimeout" = '120') [n=1, mode=double] [13:31:12.750] Set package option 'parallelly.makeNodePSOCK.timeout' [13:31:12.750] R_PARALLELLY_MAKENODEPSOCK_TIMEOUT='120' [13:31:12.751] Coercing from character to numeric: '120' [13:31:12.751] => options("parallelly.makeNodePSOCK.timeout" = '120') [n=1, mode=double] [13:31:12.751] Set package option 'parallelly.makeNodePSOCK.useXDR' [13:31:12.752] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_USEXDR' not set [13:31:12.752] Set package option 'parallelly.makeNodePSOCK.socketOptions' [13:31:12.752] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_SOCKETOPTIONS' not set [13:31:12.753] Set package option 'parallelly.makeNodePSOCK.rshcmd' [13:31:12.753] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHCMD' not set [13:31:12.753] Set package option 'parallelly.makeNodePSOCK.rshopts' [13:31:12.754] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_RSHOPTS' not set [13:31:12.754] Set package option 'parallelly.makeNodePSOCK.tries' [13:31:12.755] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES' not set [13:31:12.755] Set package option 'parallelly.makeNodePSOCK.tries.delay' [13:31:12.755] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_TRIES_DELAY' not set [13:31:12.756] Set package option 'parallelly.makeNodePSOCK.rscript_label' [13:31:12.756] R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL='TRUE' [13:31:12.756] => options("parallelly.makeNodePSOCK.rscript_label" = 'TRUE') [n=1, mode=character] [13:31:12.756] Set package option 'parallelly.makeNodePSOCK.sessionInfo.pkgs' [13:31:12.757] R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS='TRUE' [13:31:12.757] => options("parallelly.makeNodePSOCK.sessionInfo.pkgs" = 'TRUE') [n=1, mode=character] [13:31:12.757] Set package option 'parallelly.makeNodePSOCK.autoKill' [13:31:12.758] R_PARALLELLY_MAKENODEPSOCK_AUTOKILL='TRUE' [13:31:12.758] Coercing from character to logical: 'TRUE' [13:31:12.758] => options("parallelly.makeNodePSOCK.autoKill" = 'TRUE') [n=1, mode=logical] [13:31:12.758] Set package option 'parallelly.makeNodePSOCK.master.localhost.hostname' [13:31:12.759] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_MASTER_LOCALHOST_HOSTNAME' not set [13:31:12.759] Set package option 'parallelly.makeNodePSOCK.port.increment' [13:31:12.760] Environment variable 'R_PARALLELLY_MAKENODEPSOCK_PORT_INCREMENT' not set [13:31:12.761] parallelly-specific environment variables: - R_PARALLELLY_MAKENODEPSOCK_AUTOKILL='TRUE' - R_PARALLELLY_MAKENODEPSOCK_CONNECTTIMEOUT='120' - R_PARALLELLY_MAKENODEPSOCK_RSCRIPT_LABEL='TRUE' - R_PARALLELLY_MAKENODEPSOCK_SESSIONINFO_PKGS='TRUE' - R_PARALLELLY_MAKENODEPSOCK_TIMEOUT='120' - R_PARALLELLY_RANDOM_PORTS='20000:39999' [13:31:12.772] Future-specific environment variables: [13:31:12.772] Environment variable 'R_FUTURE_DEMO_MANDELBROT_REGION' not set [13:31:12.772] Environment variable 'R_FUTURE_DEMO_MANDELBROT_NROW' not set [13:31:12.773] Environment variable 'R_FUTURE_DEPRECATED_IGNORE' not set [13:31:12.773] Environment variable 'R_FUTURE_DEPRECATED_DEFUNCT' not set [13:31:12.773] Environment variable 'R_FUTURE_FORK_MULTITHREADING_ENABLE' not set [13:31:12.773] Environment variable 'R_FUTURE_GLOBALS_MAXSIZE' not set [13:31:12.773] Environment variable 'R_FUTURE_GLOBALS_ONMISSING' not set [13:31:12.774] Environment variable 'R_FUTURE_GLOBALS_ONREFERENCE' not set [13:31:12.774] Environment variable 'R_FUTURE_GLOBALS_METHOD' not set [13:31:12.774] Environment variable 'R_FUTURE_GLOBALS_RESOLVE' not set [13:31:12.774] Environment variable 'R_FUTURE_LAZY_ASSERTOWNER' not set [13:31:12.775] Environment variable 'R_FUTURE_PLAN' not set [13:31:12.775] Environment variable 'R_FUTURE_PLAN_DISALLOW' not set [13:31:12.775] Environment variable 'R_FUTURE_PSOCK_RELAY_IMMEDIATE' not set [13:31:12.775] Environment variable 'R_FUTURE_RELAY_IMMEDIATE' not set [13:31:12.776] Environment variable 'R_FUTURE_RESOLVE_RECURSIVE' not set [13:31:12.776] Environment variable 'R_FUTURE_ALIVE_TIMEOUT' not set [13:31:12.776] Environment variable 'R_FUTURE_RESOLVED_TIMEOUT' not set [13:31:12.776] Environment variable 'R_FUTURE_CLUSTER_RESOLVED_TIMEOUT' not set [13:31:12.776] Environment variable 'R_FUTURE_MULTICORE_RESOLVED_TIMEOUT' not set [13:31:12.776] Environment variable 'R_FUTURE_ONFUTURECONDITION_KEEPFUTURE' not set [13:31:12.777] Environment variable 'R_FUTURE_RNG_ONMISUSE' not set [13:31:12.777] Environment variable 'R_FUTURE_GLOBALENV_ONMISUSE' not set [13:31:12.777] Environment variable 'R_FUTURE_WAIT_TIMEOUT' not set [13:31:12.777] Environment variable 'R_FUTURE_WAIT_INTERVAL' not set [13:31:12.777] Environment variable 'R_FUTURE_WAIT_ALPHA' not set [13:31:12.778] Environment variable 'R_FUTURE_ASSIGN_GLOBALS_EXCLUDE' not set [13:31:12.778] Environment variable 'R_FUTURE_OUTPUT_WINDOWS_REENCODE' not set [13:31:12.778] Environment variable 'R_FUTURE_GLOBALS_GLOBALSOF_LOCALS' not set [13:31:12.778] Environment variable 'R_FUTURE_STATE_ONINVALID' not set [13:31:12.778] Environment variable 'R_FUTURE_JOURNAL' not set [13:31:12.779] Environment variable 'R_FUTURE_GLOBALS_KEEPWHERE' not set [13:31:12.780] R process uuid: dc3c7ad9-0e6a-ee6e-3a12-0f31eaf1f681 [13:31:12.780] Setting plan('default') [13:31:12.781] plan(): Setting new future strategy stack: [13:31:12.781] List of future strategies: [13:31:12.781] 1. sequential: [13:31:12.781] - args: function (..., envir = parent.frame(), workers = "") [13:31:12.781] - tweaked: FALSE [13:31:12.781] - call: NULL [13:31:12.783] plan(): nbrOfWorkers() = 1 [13:31:12.845] plan(): Setting new future strategy stack: [13:31:12.845] List of future strategies: [13:31:12.845] 1. mirai_multisession: [13:31:12.845] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:12.845] - tweaked: FALSE [13:31:12.845] - call: future::plan(future.mirai::mirai_multisession) [13:31:12.858] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:12.858] < mirai | $data > [13:31:12.868] getGlobalsAndPackages() ... [13:31:12.868] Not searching for globals [13:31:12.868] - globals: [0] [13:31:12.868] getGlobalsAndPackages() ... DONE [13:31:12.869] getGlobalsAndPackages() ... [13:31:12.869] [13:31:12.869] - globals: [0] [13:31:12.869] getGlobalsAndPackages() ... DONE [13:31:13.148] Packages needed by the future expression (n = 0): [13:31:13.148] Packages needed by future strategies (n = 0): [13:31:13.150] { [13:31:13.150] { [13:31:13.150] { [13:31:13.150] ...future.startTime <- base::Sys.time() [13:31:13.150] { [13:31:13.150] { [13:31:13.150] { [13:31:13.150] base::local({ [13:31:13.150] has_future <- base::requireNamespace("future", [13:31:13.150] quietly = TRUE) [13:31:13.150] if (has_future) { [13:31:13.150] ns <- base::getNamespace("future") [13:31:13.150] version <- ns[[".package"]][["version"]] [13:31:13.150] if (is.null(version)) [13:31:13.150] version <- utils::packageVersion("future") [13:31:13.150] } [13:31:13.150] else { [13:31:13.150] version <- NULL [13:31:13.150] } [13:31:13.150] if (!has_future || version < "1.8.0") { [13:31:13.150] info <- base::c(r_version = base::gsub("R version ", [13:31:13.150] "", base::R.version$version.string), [13:31:13.150] platform = base::sprintf("%s (%s-bit)", [13:31:13.150] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:13.150] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:13.150] "release", "version")], collapse = " "), [13:31:13.150] hostname = base::Sys.info()[["nodename"]]) [13:31:13.150] info <- base::sprintf("%s: %s", base::names(info), [13:31:13.150] info) [13:31:13.150] info <- base::paste(info, collapse = "; ") [13:31:13.150] if (!has_future) { [13:31:13.150] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:13.150] info) [13:31:13.150] } [13:31:13.150] else { [13:31:13.150] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:13.150] info, version) [13:31:13.150] } [13:31:13.150] base::stop(msg) [13:31:13.150] } [13:31:13.150] }) [13:31:13.150] } [13:31:13.150] ...future.strategy.old <- future::plan("list") [13:31:13.150] options(future.plan = NULL) [13:31:13.150] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.150] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:13.150] } [13:31:13.150] ...future.workdir <- getwd() [13:31:13.150] } [13:31:13.150] ...future.oldOptions <- base::as.list(base::.Options) [13:31:13.150] ...future.oldEnvVars <- base::Sys.getenv() [13:31:13.150] } [13:31:13.150] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:13.150] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:13.150] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:13.150] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:13.150] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:13.150] future.stdout.windows.reencode = NULL, width = 80L) [13:31:13.150] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:13.150] base::names(...future.oldOptions)) [13:31:13.150] } [13:31:13.150] if (FALSE) { [13:31:13.150] } [13:31:13.150] else { [13:31:13.150] if (TRUE) { [13:31:13.150] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:13.150] open = "w") [13:31:13.150] } [13:31:13.150] else { [13:31:13.150] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:13.150] windows = "NUL", "/dev/null"), open = "w") [13:31:13.150] } [13:31:13.150] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:13.150] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:13.150] base::sink(type = "output", split = FALSE) [13:31:13.150] base::close(...future.stdout) [13:31:13.150] }, add = TRUE) [13:31:13.150] } [13:31:13.150] ...future.frame <- base::sys.nframe() [13:31:13.150] ...future.conditions <- base::list() [13:31:13.150] ...future.rng <- base::globalenv()$.Random.seed [13:31:13.150] if (FALSE) { [13:31:13.150] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:13.150] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:13.150] } [13:31:13.150] ...future.result <- base::tryCatch({ [13:31:13.150] base::withCallingHandlers({ [13:31:13.150] ...future.value <- base::withVisible(base::local(NA)) [13:31:13.150] future::FutureResult(value = ...future.value$value, [13:31:13.150] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.150] ...future.rng), globalenv = if (FALSE) [13:31:13.150] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:13.150] ...future.globalenv.names)) [13:31:13.150] else NULL, started = ...future.startTime, version = "1.8") [13:31:13.150] }, condition = base::local({ [13:31:13.150] c <- base::c [13:31:13.150] inherits <- base::inherits [13:31:13.150] invokeRestart <- base::invokeRestart [13:31:13.150] length <- base::length [13:31:13.150] list <- base::list [13:31:13.150] seq.int <- base::seq.int [13:31:13.150] signalCondition <- base::signalCondition [13:31:13.150] sys.calls <- base::sys.calls [13:31:13.150] `[[` <- base::`[[` [13:31:13.150] `+` <- base::`+` [13:31:13.150] `<<-` <- base::`<<-` [13:31:13.150] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:13.150] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:13.150] 3L)] [13:31:13.150] } [13:31:13.150] function(cond) { [13:31:13.150] is_error <- inherits(cond, "error") [13:31:13.150] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:13.150] NULL) [13:31:13.150] if (is_error) { [13:31:13.150] sessionInformation <- function() { [13:31:13.150] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:13.150] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:13.150] search = base::search(), system = base::Sys.info()) [13:31:13.150] } [13:31:13.150] ...future.conditions[[length(...future.conditions) + [13:31:13.150] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:13.150] cond$call), session = sessionInformation(), [13:31:13.150] timestamp = base::Sys.time(), signaled = 0L) [13:31:13.150] signalCondition(cond) [13:31:13.150] } [13:31:13.150] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:13.150] signal <- FALSE && inherits(cond, character(0)) [13:31:13.150] ...future.conditions[[length(...future.conditions) + [13:31:13.150] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:13.150] if (FALSE && !signal) { [13:31:13.150] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.150] { [13:31:13.150] inherits <- base::inherits [13:31:13.150] invokeRestart <- base::invokeRestart [13:31:13.150] is.null <- base::is.null [13:31:13.150] muffled <- FALSE [13:31:13.150] if (inherits(cond, "message")) { [13:31:13.150] muffled <- grepl(pattern, "muffleMessage") [13:31:13.150] if (muffled) [13:31:13.150] invokeRestart("muffleMessage") [13:31:13.150] } [13:31:13.150] else if (inherits(cond, "warning")) { [13:31:13.150] muffled <- grepl(pattern, "muffleWarning") [13:31:13.150] if (muffled) [13:31:13.150] invokeRestart("muffleWarning") [13:31:13.150] } [13:31:13.150] else if (inherits(cond, "condition")) { [13:31:13.150] if (!is.null(pattern)) { [13:31:13.150] computeRestarts <- base::computeRestarts [13:31:13.150] grepl <- base::grepl [13:31:13.150] restarts <- computeRestarts(cond) [13:31:13.150] for (restart in restarts) { [13:31:13.150] name <- restart$name [13:31:13.150] if (is.null(name)) [13:31:13.150] next [13:31:13.150] if (!grepl(pattern, name)) [13:31:13.150] next [13:31:13.150] invokeRestart(restart) [13:31:13.150] muffled <- TRUE [13:31:13.150] break [13:31:13.150] } [13:31:13.150] } [13:31:13.150] } [13:31:13.150] invisible(muffled) [13:31:13.150] } [13:31:13.150] muffleCondition(cond, pattern = "^muffle") [13:31:13.150] } [13:31:13.150] } [13:31:13.150] else { [13:31:13.150] if (TRUE) { [13:31:13.150] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.150] { [13:31:13.150] inherits <- base::inherits [13:31:13.150] invokeRestart <- base::invokeRestart [13:31:13.150] is.null <- base::is.null [13:31:13.150] muffled <- FALSE [13:31:13.150] if (inherits(cond, "message")) { [13:31:13.150] muffled <- grepl(pattern, "muffleMessage") [13:31:13.150] if (muffled) [13:31:13.150] invokeRestart("muffleMessage") [13:31:13.150] } [13:31:13.150] else if (inherits(cond, "warning")) { [13:31:13.150] muffled <- grepl(pattern, "muffleWarning") [13:31:13.150] if (muffled) [13:31:13.150] invokeRestart("muffleWarning") [13:31:13.150] } [13:31:13.150] else if (inherits(cond, "condition")) { [13:31:13.150] if (!is.null(pattern)) { [13:31:13.150] computeRestarts <- base::computeRestarts [13:31:13.150] grepl <- base::grepl [13:31:13.150] restarts <- computeRestarts(cond) [13:31:13.150] for (restart in restarts) { [13:31:13.150] name <- restart$name [13:31:13.150] if (is.null(name)) [13:31:13.150] next [13:31:13.150] if (!grepl(pattern, name)) [13:31:13.150] next [13:31:13.150] invokeRestart(restart) [13:31:13.150] muffled <- TRUE [13:31:13.150] break [13:31:13.150] } [13:31:13.150] } [13:31:13.150] } [13:31:13.150] invisible(muffled) [13:31:13.150] } [13:31:13.150] muffleCondition(cond, pattern = "^muffle") [13:31:13.150] } [13:31:13.150] } [13:31:13.150] } [13:31:13.150] })) [13:31:13.150] }, error = function(ex) { [13:31:13.150] base::structure(base::list(value = NULL, visible = NULL, [13:31:13.150] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.150] ...future.rng), started = ...future.startTime, [13:31:13.150] finished = Sys.time(), session_uuid = NA_character_, [13:31:13.150] version = "1.8"), class = "FutureResult") [13:31:13.150] }, finally = { [13:31:13.150] if (!identical(...future.workdir, getwd())) [13:31:13.150] setwd(...future.workdir) [13:31:13.150] { [13:31:13.150] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:13.150] ...future.oldOptions$nwarnings <- NULL [13:31:13.150] } [13:31:13.150] base::options(...future.oldOptions) [13:31:13.150] if (.Platform$OS.type == "windows") { [13:31:13.150] old_names <- names(...future.oldEnvVars) [13:31:13.150] envs <- base::Sys.getenv() [13:31:13.150] names <- names(envs) [13:31:13.150] common <- intersect(names, old_names) [13:31:13.150] added <- setdiff(names, old_names) [13:31:13.150] removed <- setdiff(old_names, names) [13:31:13.150] changed <- common[...future.oldEnvVars[common] != [13:31:13.150] envs[common]] [13:31:13.150] NAMES <- toupper(changed) [13:31:13.150] args <- list() [13:31:13.150] for (kk in seq_along(NAMES)) { [13:31:13.150] name <- changed[[kk]] [13:31:13.150] NAME <- NAMES[[kk]] [13:31:13.150] if (name != NAME && is.element(NAME, old_names)) [13:31:13.150] next [13:31:13.150] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.150] } [13:31:13.150] NAMES <- toupper(added) [13:31:13.150] for (kk in seq_along(NAMES)) { [13:31:13.150] name <- added[[kk]] [13:31:13.150] NAME <- NAMES[[kk]] [13:31:13.150] if (name != NAME && is.element(NAME, old_names)) [13:31:13.150] next [13:31:13.150] args[[name]] <- "" [13:31:13.150] } [13:31:13.150] NAMES <- toupper(removed) [13:31:13.150] for (kk in seq_along(NAMES)) { [13:31:13.150] name <- removed[[kk]] [13:31:13.150] NAME <- NAMES[[kk]] [13:31:13.150] if (name != NAME && is.element(NAME, old_names)) [13:31:13.150] next [13:31:13.150] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.150] } [13:31:13.150] if (length(args) > 0) [13:31:13.150] base::do.call(base::Sys.setenv, args = args) [13:31:13.150] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:13.150] } [13:31:13.150] else { [13:31:13.150] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:13.150] } [13:31:13.150] { [13:31:13.150] if (base::length(...future.futureOptionsAdded) > [13:31:13.150] 0L) { [13:31:13.150] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:13.150] base::names(opts) <- ...future.futureOptionsAdded [13:31:13.150] base::options(opts) [13:31:13.150] } [13:31:13.150] { [13:31:13.150] NULL [13:31:13.150] options(future.plan = NULL) [13:31:13.150] if (is.na(NA_character_)) [13:31:13.150] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.150] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:13.150] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:13.150] .init = FALSE) [13:31:13.150] } [13:31:13.150] } [13:31:13.150] } [13:31:13.150] }) [13:31:13.150] if (TRUE) { [13:31:13.150] base::sink(type = "output", split = FALSE) [13:31:13.150] if (TRUE) { [13:31:13.150] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:13.150] } [13:31:13.150] else { [13:31:13.150] ...future.result["stdout"] <- base::list(NULL) [13:31:13.150] } [13:31:13.150] base::close(...future.stdout) [13:31:13.150] ...future.stdout <- NULL [13:31:13.150] } [13:31:13.150] ...future.result$conditions <- ...future.conditions [13:31:13.150] ...future.result$finished <- base::Sys.time() [13:31:13.150] ...future.result [13:31:13.150] } [13:31:13.252] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:13.253] plan(): nbrOfWorkers() = 2 > > message("*** plan() ...") *** plan() ... > > message("*** future::plan(future.mirai::mirai_multisession)") *** future::plan(future.mirai::mirai_multisession) > oplan <- future::plan(future.mirai::mirai_multisession) [13:31:13.254] plan(): Setting new future strategy stack: [13:31:13.254] List of future strategies: [13:31:13.254] 1. mirai_multisession: [13:31:13.254] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:13.254] - tweaked: FALSE [13:31:13.254] - call: future::plan(future.mirai::mirai_multisession) [13:31:13.270] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:13.270] < mirai | $data > [13:31:13.273] getGlobalsAndPackages() ... [13:31:13.273] Not searching for globals [13:31:13.274] - globals: [0] [13:31:13.274] getGlobalsAndPackages() ... DONE [13:31:13.274] getGlobalsAndPackages() ... [13:31:13.274] [13:31:13.274] - globals: [0] [13:31:13.274] getGlobalsAndPackages() ... DONE [13:31:13.275] Packages needed by the future expression (n = 0): [13:31:13.275] Packages needed by future strategies (n = 0): [13:31:13.276] { [13:31:13.276] { [13:31:13.276] { [13:31:13.276] ...future.startTime <- base::Sys.time() [13:31:13.276] { [13:31:13.276] { [13:31:13.276] { [13:31:13.276] base::local({ [13:31:13.276] has_future <- base::requireNamespace("future", [13:31:13.276] quietly = TRUE) [13:31:13.276] if (has_future) { [13:31:13.276] ns <- base::getNamespace("future") [13:31:13.276] version <- ns[[".package"]][["version"]] [13:31:13.276] if (is.null(version)) [13:31:13.276] version <- utils::packageVersion("future") [13:31:13.276] } [13:31:13.276] else { [13:31:13.276] version <- NULL [13:31:13.276] } [13:31:13.276] if (!has_future || version < "1.8.0") { [13:31:13.276] info <- base::c(r_version = base::gsub("R version ", [13:31:13.276] "", base::R.version$version.string), [13:31:13.276] platform = base::sprintf("%s (%s-bit)", [13:31:13.276] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:13.276] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:13.276] "release", "version")], collapse = " "), [13:31:13.276] hostname = base::Sys.info()[["nodename"]]) [13:31:13.276] info <- base::sprintf("%s: %s", base::names(info), [13:31:13.276] info) [13:31:13.276] info <- base::paste(info, collapse = "; ") [13:31:13.276] if (!has_future) { [13:31:13.276] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:13.276] info) [13:31:13.276] } [13:31:13.276] else { [13:31:13.276] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:13.276] info, version) [13:31:13.276] } [13:31:13.276] base::stop(msg) [13:31:13.276] } [13:31:13.276] }) [13:31:13.276] } [13:31:13.276] ...future.strategy.old <- future::plan("list") [13:31:13.276] options(future.plan = NULL) [13:31:13.276] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.276] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:13.276] } [13:31:13.276] ...future.workdir <- getwd() [13:31:13.276] } [13:31:13.276] ...future.oldOptions <- base::as.list(base::.Options) [13:31:13.276] ...future.oldEnvVars <- base::Sys.getenv() [13:31:13.276] } [13:31:13.276] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:13.276] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:13.276] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:13.276] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:13.276] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:13.276] future.stdout.windows.reencode = NULL, width = 80L) [13:31:13.276] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:13.276] base::names(...future.oldOptions)) [13:31:13.276] } [13:31:13.276] if (FALSE) { [13:31:13.276] } [13:31:13.276] else { [13:31:13.276] if (TRUE) { [13:31:13.276] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:13.276] open = "w") [13:31:13.276] } [13:31:13.276] else { [13:31:13.276] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:13.276] windows = "NUL", "/dev/null"), open = "w") [13:31:13.276] } [13:31:13.276] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:13.276] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:13.276] base::sink(type = "output", split = FALSE) [13:31:13.276] base::close(...future.stdout) [13:31:13.276] }, add = TRUE) [13:31:13.276] } [13:31:13.276] ...future.frame <- base::sys.nframe() [13:31:13.276] ...future.conditions <- base::list() [13:31:13.276] ...future.rng <- base::globalenv()$.Random.seed [13:31:13.276] if (FALSE) { [13:31:13.276] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:13.276] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:13.276] } [13:31:13.276] ...future.result <- base::tryCatch({ [13:31:13.276] base::withCallingHandlers({ [13:31:13.276] ...future.value <- base::withVisible(base::local(NA)) [13:31:13.276] future::FutureResult(value = ...future.value$value, [13:31:13.276] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.276] ...future.rng), globalenv = if (FALSE) [13:31:13.276] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:13.276] ...future.globalenv.names)) [13:31:13.276] else NULL, started = ...future.startTime, version = "1.8") [13:31:13.276] }, condition = base::local({ [13:31:13.276] c <- base::c [13:31:13.276] inherits <- base::inherits [13:31:13.276] invokeRestart <- base::invokeRestart [13:31:13.276] length <- base::length [13:31:13.276] list <- base::list [13:31:13.276] seq.int <- base::seq.int [13:31:13.276] signalCondition <- base::signalCondition [13:31:13.276] sys.calls <- base::sys.calls [13:31:13.276] `[[` <- base::`[[` [13:31:13.276] `+` <- base::`+` [13:31:13.276] `<<-` <- base::`<<-` [13:31:13.276] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:13.276] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:13.276] 3L)] [13:31:13.276] } [13:31:13.276] function(cond) { [13:31:13.276] is_error <- inherits(cond, "error") [13:31:13.276] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:13.276] NULL) [13:31:13.276] if (is_error) { [13:31:13.276] sessionInformation <- function() { [13:31:13.276] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:13.276] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:13.276] search = base::search(), system = base::Sys.info()) [13:31:13.276] } [13:31:13.276] ...future.conditions[[length(...future.conditions) + [13:31:13.276] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:13.276] cond$call), session = sessionInformation(), [13:31:13.276] timestamp = base::Sys.time(), signaled = 0L) [13:31:13.276] signalCondition(cond) [13:31:13.276] } [13:31:13.276] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:13.276] signal <- FALSE && inherits(cond, character(0)) [13:31:13.276] ...future.conditions[[length(...future.conditions) + [13:31:13.276] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:13.276] if (FALSE && !signal) { [13:31:13.276] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.276] { [13:31:13.276] inherits <- base::inherits [13:31:13.276] invokeRestart <- base::invokeRestart [13:31:13.276] is.null <- base::is.null [13:31:13.276] muffled <- FALSE [13:31:13.276] if (inherits(cond, "message")) { [13:31:13.276] muffled <- grepl(pattern, "muffleMessage") [13:31:13.276] if (muffled) [13:31:13.276] invokeRestart("muffleMessage") [13:31:13.276] } [13:31:13.276] else if (inherits(cond, "warning")) { [13:31:13.276] muffled <- grepl(pattern, "muffleWarning") [13:31:13.276] if (muffled) [13:31:13.276] invokeRestart("muffleWarning") [13:31:13.276] } [13:31:13.276] else if (inherits(cond, "condition")) { [13:31:13.276] if (!is.null(pattern)) { [13:31:13.276] computeRestarts <- base::computeRestarts [13:31:13.276] grepl <- base::grepl [13:31:13.276] restarts <- computeRestarts(cond) [13:31:13.276] for (restart in restarts) { [13:31:13.276] name <- restart$name [13:31:13.276] if (is.null(name)) [13:31:13.276] next [13:31:13.276] if (!grepl(pattern, name)) [13:31:13.276] next [13:31:13.276] invokeRestart(restart) [13:31:13.276] muffled <- TRUE [13:31:13.276] break [13:31:13.276] } [13:31:13.276] } [13:31:13.276] } [13:31:13.276] invisible(muffled) [13:31:13.276] } [13:31:13.276] muffleCondition(cond, pattern = "^muffle") [13:31:13.276] } [13:31:13.276] } [13:31:13.276] else { [13:31:13.276] if (TRUE) { [13:31:13.276] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.276] { [13:31:13.276] inherits <- base::inherits [13:31:13.276] invokeRestart <- base::invokeRestart [13:31:13.276] is.null <- base::is.null [13:31:13.276] muffled <- FALSE [13:31:13.276] if (inherits(cond, "message")) { [13:31:13.276] muffled <- grepl(pattern, "muffleMessage") [13:31:13.276] if (muffled) [13:31:13.276] invokeRestart("muffleMessage") [13:31:13.276] } [13:31:13.276] else if (inherits(cond, "warning")) { [13:31:13.276] muffled <- grepl(pattern, "muffleWarning") [13:31:13.276] if (muffled) [13:31:13.276] invokeRestart("muffleWarning") [13:31:13.276] } [13:31:13.276] else if (inherits(cond, "condition")) { [13:31:13.276] if (!is.null(pattern)) { [13:31:13.276] computeRestarts <- base::computeRestarts [13:31:13.276] grepl <- base::grepl [13:31:13.276] restarts <- computeRestarts(cond) [13:31:13.276] for (restart in restarts) { [13:31:13.276] name <- restart$name [13:31:13.276] if (is.null(name)) [13:31:13.276] next [13:31:13.276] if (!grepl(pattern, name)) [13:31:13.276] next [13:31:13.276] invokeRestart(restart) [13:31:13.276] muffled <- TRUE [13:31:13.276] break [13:31:13.276] } [13:31:13.276] } [13:31:13.276] } [13:31:13.276] invisible(muffled) [13:31:13.276] } [13:31:13.276] muffleCondition(cond, pattern = "^muffle") [13:31:13.276] } [13:31:13.276] } [13:31:13.276] } [13:31:13.276] })) [13:31:13.276] }, error = function(ex) { [13:31:13.276] base::structure(base::list(value = NULL, visible = NULL, [13:31:13.276] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.276] ...future.rng), started = ...future.startTime, [13:31:13.276] finished = Sys.time(), session_uuid = NA_character_, [13:31:13.276] version = "1.8"), class = "FutureResult") [13:31:13.276] }, finally = { [13:31:13.276] if (!identical(...future.workdir, getwd())) [13:31:13.276] setwd(...future.workdir) [13:31:13.276] { [13:31:13.276] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:13.276] ...future.oldOptions$nwarnings <- NULL [13:31:13.276] } [13:31:13.276] base::options(...future.oldOptions) [13:31:13.276] if (.Platform$OS.type == "windows") { [13:31:13.276] old_names <- names(...future.oldEnvVars) [13:31:13.276] envs <- base::Sys.getenv() [13:31:13.276] names <- names(envs) [13:31:13.276] common <- intersect(names, old_names) [13:31:13.276] added <- setdiff(names, old_names) [13:31:13.276] removed <- setdiff(old_names, names) [13:31:13.276] changed <- common[...future.oldEnvVars[common] != [13:31:13.276] envs[common]] [13:31:13.276] NAMES <- toupper(changed) [13:31:13.276] args <- list() [13:31:13.276] for (kk in seq_along(NAMES)) { [13:31:13.276] name <- changed[[kk]] [13:31:13.276] NAME <- NAMES[[kk]] [13:31:13.276] if (name != NAME && is.element(NAME, old_names)) [13:31:13.276] next [13:31:13.276] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.276] } [13:31:13.276] NAMES <- toupper(added) [13:31:13.276] for (kk in seq_along(NAMES)) { [13:31:13.276] name <- added[[kk]] [13:31:13.276] NAME <- NAMES[[kk]] [13:31:13.276] if (name != NAME && is.element(NAME, old_names)) [13:31:13.276] next [13:31:13.276] args[[name]] <- "" [13:31:13.276] } [13:31:13.276] NAMES <- toupper(removed) [13:31:13.276] for (kk in seq_along(NAMES)) { [13:31:13.276] name <- removed[[kk]] [13:31:13.276] NAME <- NAMES[[kk]] [13:31:13.276] if (name != NAME && is.element(NAME, old_names)) [13:31:13.276] next [13:31:13.276] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.276] } [13:31:13.276] if (length(args) > 0) [13:31:13.276] base::do.call(base::Sys.setenv, args = args) [13:31:13.276] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:13.276] } [13:31:13.276] else { [13:31:13.276] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:13.276] } [13:31:13.276] { [13:31:13.276] if (base::length(...future.futureOptionsAdded) > [13:31:13.276] 0L) { [13:31:13.276] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:13.276] base::names(opts) <- ...future.futureOptionsAdded [13:31:13.276] base::options(opts) [13:31:13.276] } [13:31:13.276] { [13:31:13.276] NULL [13:31:13.276] options(future.plan = NULL) [13:31:13.276] if (is.na(NA_character_)) [13:31:13.276] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.276] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:13.276] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:13.276] .init = FALSE) [13:31:13.276] } [13:31:13.276] } [13:31:13.276] } [13:31:13.276] }) [13:31:13.276] if (TRUE) { [13:31:13.276] base::sink(type = "output", split = FALSE) [13:31:13.276] if (TRUE) { [13:31:13.276] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:13.276] } [13:31:13.276] else { [13:31:13.276] ...future.result["stdout"] <- base::list(NULL) [13:31:13.276] } [13:31:13.276] base::close(...future.stdout) [13:31:13.276] ...future.stdout <- NULL [13:31:13.276] } [13:31:13.276] ...future.result$conditions <- ...future.conditions [13:31:13.276] ...future.result$finished <- base::Sys.time() [13:31:13.276] ...future.result [13:31:13.276] } [13:31:13.376] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:13.377] plan(): nbrOfWorkers() = 2 > print(future::plan()) mirai_multisession: - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) - tweaked: FALSE - call: future::plan(future.mirai::mirai_multisession) > future::plan(oplan) [13:31:13.377] plan(): Setting new future strategy stack: [13:31:13.378] List of future strategies: [13:31:13.378] 1. mirai_multisession: [13:31:13.378] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:13.378] - tweaked: FALSE [13:31:13.378] - call: future::plan(future.mirai::mirai_multisession) [13:31:13.378] plan(): nbrOfWorkers() = 2 > print(future::plan()) mirai_multisession: - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) - tweaked: FALSE - call: future::plan(future.mirai::mirai_multisession) > > > library("future.mirai") Loading required package: future [13:31:13.392] Option 'future.startup.script': TRUE [13:31:13.392] Future startup scripts considered: '.future.R', '~/.future.R' [13:31:13.393] Future startup scripts found: > plan(mirai_multisession) [13:31:13.396] plan(): Setting new future strategy stack: [13:31:13.396] List of future strategies: [13:31:13.396] 1. mirai_multisession: [13:31:13.396] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:13.396] - tweaked: FALSE [13:31:13.396] - call: plan(mirai_multisession) [13:31:13.396] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:13.397] < mirai | $data > [13:31:13.399] getGlobalsAndPackages() ... [13:31:13.399] Not searching for globals [13:31:13.400] - globals: [0] [13:31:13.400] getGlobalsAndPackages() ... DONE [13:31:13.400] getGlobalsAndPackages() ... [13:31:13.400] [13:31:13.400] - globals: [0] [13:31:13.401] getGlobalsAndPackages() ... DONE [13:31:13.401] Packages needed by the future expression (n = 0): [13:31:13.401] Packages needed by future strategies (n = 0): [13:31:13.402] { [13:31:13.402] { [13:31:13.402] { [13:31:13.402] ...future.startTime <- base::Sys.time() [13:31:13.402] { [13:31:13.402] { [13:31:13.402] { [13:31:13.402] base::local({ [13:31:13.402] has_future <- base::requireNamespace("future", [13:31:13.402] quietly = TRUE) [13:31:13.402] if (has_future) { [13:31:13.402] ns <- base::getNamespace("future") [13:31:13.402] version <- ns[[".package"]][["version"]] [13:31:13.402] if (is.null(version)) [13:31:13.402] version <- utils::packageVersion("future") [13:31:13.402] } [13:31:13.402] else { [13:31:13.402] version <- NULL [13:31:13.402] } [13:31:13.402] if (!has_future || version < "1.8.0") { [13:31:13.402] info <- base::c(r_version = base::gsub("R version ", [13:31:13.402] "", base::R.version$version.string), [13:31:13.402] platform = base::sprintf("%s (%s-bit)", [13:31:13.402] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:13.402] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:13.402] "release", "version")], collapse = " "), [13:31:13.402] hostname = base::Sys.info()[["nodename"]]) [13:31:13.402] info <- base::sprintf("%s: %s", base::names(info), [13:31:13.402] info) [13:31:13.402] info <- base::paste(info, collapse = "; ") [13:31:13.402] if (!has_future) { [13:31:13.402] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:13.402] info) [13:31:13.402] } [13:31:13.402] else { [13:31:13.402] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:13.402] info, version) [13:31:13.402] } [13:31:13.402] base::stop(msg) [13:31:13.402] } [13:31:13.402] }) [13:31:13.402] } [13:31:13.402] ...future.strategy.old <- future::plan("list") [13:31:13.402] options(future.plan = NULL) [13:31:13.402] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.402] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:13.402] } [13:31:13.402] ...future.workdir <- getwd() [13:31:13.402] } [13:31:13.402] ...future.oldOptions <- base::as.list(base::.Options) [13:31:13.402] ...future.oldEnvVars <- base::Sys.getenv() [13:31:13.402] } [13:31:13.402] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:13.402] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:13.402] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:13.402] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:13.402] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:13.402] future.stdout.windows.reencode = NULL, width = 80L) [13:31:13.402] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:13.402] base::names(...future.oldOptions)) [13:31:13.402] } [13:31:13.402] if (FALSE) { [13:31:13.402] } [13:31:13.402] else { [13:31:13.402] if (TRUE) { [13:31:13.402] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:13.402] open = "w") [13:31:13.402] } [13:31:13.402] else { [13:31:13.402] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:13.402] windows = "NUL", "/dev/null"), open = "w") [13:31:13.402] } [13:31:13.402] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:13.402] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:13.402] base::sink(type = "output", split = FALSE) [13:31:13.402] base::close(...future.stdout) [13:31:13.402] }, add = TRUE) [13:31:13.402] } [13:31:13.402] ...future.frame <- base::sys.nframe() [13:31:13.402] ...future.conditions <- base::list() [13:31:13.402] ...future.rng <- base::globalenv()$.Random.seed [13:31:13.402] if (FALSE) { [13:31:13.402] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:13.402] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:13.402] } [13:31:13.402] ...future.result <- base::tryCatch({ [13:31:13.402] base::withCallingHandlers({ [13:31:13.402] ...future.value <- base::withVisible(base::local(NA)) [13:31:13.402] future::FutureResult(value = ...future.value$value, [13:31:13.402] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.402] ...future.rng), globalenv = if (FALSE) [13:31:13.402] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:13.402] ...future.globalenv.names)) [13:31:13.402] else NULL, started = ...future.startTime, version = "1.8") [13:31:13.402] }, condition = base::local({ [13:31:13.402] c <- base::c [13:31:13.402] inherits <- base::inherits [13:31:13.402] invokeRestart <- base::invokeRestart [13:31:13.402] length <- base::length [13:31:13.402] list <- base::list [13:31:13.402] seq.int <- base::seq.int [13:31:13.402] signalCondition <- base::signalCondition [13:31:13.402] sys.calls <- base::sys.calls [13:31:13.402] `[[` <- base::`[[` [13:31:13.402] `+` <- base::`+` [13:31:13.402] `<<-` <- base::`<<-` [13:31:13.402] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:13.402] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:13.402] 3L)] [13:31:13.402] } [13:31:13.402] function(cond) { [13:31:13.402] is_error <- inherits(cond, "error") [13:31:13.402] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:13.402] NULL) [13:31:13.402] if (is_error) { [13:31:13.402] sessionInformation <- function() { [13:31:13.402] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:13.402] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:13.402] search = base::search(), system = base::Sys.info()) [13:31:13.402] } [13:31:13.402] ...future.conditions[[length(...future.conditions) + [13:31:13.402] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:13.402] cond$call), session = sessionInformation(), [13:31:13.402] timestamp = base::Sys.time(), signaled = 0L) [13:31:13.402] signalCondition(cond) [13:31:13.402] } [13:31:13.402] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:13.402] signal <- FALSE && inherits(cond, character(0)) [13:31:13.402] ...future.conditions[[length(...future.conditions) + [13:31:13.402] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:13.402] if (FALSE && !signal) { [13:31:13.402] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.402] { [13:31:13.402] inherits <- base::inherits [13:31:13.402] invokeRestart <- base::invokeRestart [13:31:13.402] is.null <- base::is.null [13:31:13.402] muffled <- FALSE [13:31:13.402] if (inherits(cond, "message")) { [13:31:13.402] muffled <- grepl(pattern, "muffleMessage") [13:31:13.402] if (muffled) [13:31:13.402] invokeRestart("muffleMessage") [13:31:13.402] } [13:31:13.402] else if (inherits(cond, "warning")) { [13:31:13.402] muffled <- grepl(pattern, "muffleWarning") [13:31:13.402] if (muffled) [13:31:13.402] invokeRestart("muffleWarning") [13:31:13.402] } [13:31:13.402] else if (inherits(cond, "condition")) { [13:31:13.402] if (!is.null(pattern)) { [13:31:13.402] computeRestarts <- base::computeRestarts [13:31:13.402] grepl <- base::grepl [13:31:13.402] restarts <- computeRestarts(cond) [13:31:13.402] for (restart in restarts) { [13:31:13.402] name <- restart$name [13:31:13.402] if (is.null(name)) [13:31:13.402] next [13:31:13.402] if (!grepl(pattern, name)) [13:31:13.402] next [13:31:13.402] invokeRestart(restart) [13:31:13.402] muffled <- TRUE [13:31:13.402] break [13:31:13.402] } [13:31:13.402] } [13:31:13.402] } [13:31:13.402] invisible(muffled) [13:31:13.402] } [13:31:13.402] muffleCondition(cond, pattern = "^muffle") [13:31:13.402] } [13:31:13.402] } [13:31:13.402] else { [13:31:13.402] if (TRUE) { [13:31:13.402] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.402] { [13:31:13.402] inherits <- base::inherits [13:31:13.402] invokeRestart <- base::invokeRestart [13:31:13.402] is.null <- base::is.null [13:31:13.402] muffled <- FALSE [13:31:13.402] if (inherits(cond, "message")) { [13:31:13.402] muffled <- grepl(pattern, "muffleMessage") [13:31:13.402] if (muffled) [13:31:13.402] invokeRestart("muffleMessage") [13:31:13.402] } [13:31:13.402] else if (inherits(cond, "warning")) { [13:31:13.402] muffled <- grepl(pattern, "muffleWarning") [13:31:13.402] if (muffled) [13:31:13.402] invokeRestart("muffleWarning") [13:31:13.402] } [13:31:13.402] else if (inherits(cond, "condition")) { [13:31:13.402] if (!is.null(pattern)) { [13:31:13.402] computeRestarts <- base::computeRestarts [13:31:13.402] grepl <- base::grepl [13:31:13.402] restarts <- computeRestarts(cond) [13:31:13.402] for (restart in restarts) { [13:31:13.402] name <- restart$name [13:31:13.402] if (is.null(name)) [13:31:13.402] next [13:31:13.402] if (!grepl(pattern, name)) [13:31:13.402] next [13:31:13.402] invokeRestart(restart) [13:31:13.402] muffled <- TRUE [13:31:13.402] break [13:31:13.402] } [13:31:13.402] } [13:31:13.402] } [13:31:13.402] invisible(muffled) [13:31:13.402] } [13:31:13.402] muffleCondition(cond, pattern = "^muffle") [13:31:13.402] } [13:31:13.402] } [13:31:13.402] } [13:31:13.402] })) [13:31:13.402] }, error = function(ex) { [13:31:13.402] base::structure(base::list(value = NULL, visible = NULL, [13:31:13.402] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.402] ...future.rng), started = ...future.startTime, [13:31:13.402] finished = Sys.time(), session_uuid = NA_character_, [13:31:13.402] version = "1.8"), class = "FutureResult") [13:31:13.402] }, finally = { [13:31:13.402] if (!identical(...future.workdir, getwd())) [13:31:13.402] setwd(...future.workdir) [13:31:13.402] { [13:31:13.402] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:13.402] ...future.oldOptions$nwarnings <- NULL [13:31:13.402] } [13:31:13.402] base::options(...future.oldOptions) [13:31:13.402] if (.Platform$OS.type == "windows") { [13:31:13.402] old_names <- names(...future.oldEnvVars) [13:31:13.402] envs <- base::Sys.getenv() [13:31:13.402] names <- names(envs) [13:31:13.402] common <- intersect(names, old_names) [13:31:13.402] added <- setdiff(names, old_names) [13:31:13.402] removed <- setdiff(old_names, names) [13:31:13.402] changed <- common[...future.oldEnvVars[common] != [13:31:13.402] envs[common]] [13:31:13.402] NAMES <- toupper(changed) [13:31:13.402] args <- list() [13:31:13.402] for (kk in seq_along(NAMES)) { [13:31:13.402] name <- changed[[kk]] [13:31:13.402] NAME <- NAMES[[kk]] [13:31:13.402] if (name != NAME && is.element(NAME, old_names)) [13:31:13.402] next [13:31:13.402] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.402] } [13:31:13.402] NAMES <- toupper(added) [13:31:13.402] for (kk in seq_along(NAMES)) { [13:31:13.402] name <- added[[kk]] [13:31:13.402] NAME <- NAMES[[kk]] [13:31:13.402] if (name != NAME && is.element(NAME, old_names)) [13:31:13.402] next [13:31:13.402] args[[name]] <- "" [13:31:13.402] } [13:31:13.402] NAMES <- toupper(removed) [13:31:13.402] for (kk in seq_along(NAMES)) { [13:31:13.402] name <- removed[[kk]] [13:31:13.402] NAME <- NAMES[[kk]] [13:31:13.402] if (name != NAME && is.element(NAME, old_names)) [13:31:13.402] next [13:31:13.402] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.402] } [13:31:13.402] if (length(args) > 0) [13:31:13.402] base::do.call(base::Sys.setenv, args = args) [13:31:13.402] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:13.402] } [13:31:13.402] else { [13:31:13.402] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:13.402] } [13:31:13.402] { [13:31:13.402] if (base::length(...future.futureOptionsAdded) > [13:31:13.402] 0L) { [13:31:13.402] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:13.402] base::names(opts) <- ...future.futureOptionsAdded [13:31:13.402] base::options(opts) [13:31:13.402] } [13:31:13.402] { [13:31:13.402] NULL [13:31:13.402] options(future.plan = NULL) [13:31:13.402] if (is.na(NA_character_)) [13:31:13.402] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.402] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:13.402] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:13.402] .init = FALSE) [13:31:13.402] } [13:31:13.402] } [13:31:13.402] } [13:31:13.402] }) [13:31:13.402] if (TRUE) { [13:31:13.402] base::sink(type = "output", split = FALSE) [13:31:13.402] if (TRUE) { [13:31:13.402] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:13.402] } [13:31:13.402] else { [13:31:13.402] ...future.result["stdout"] <- base::list(NULL) [13:31:13.402] } [13:31:13.402] base::close(...future.stdout) [13:31:13.402] ...future.stdout <- NULL [13:31:13.402] } [13:31:13.402] ...future.result$conditions <- ...future.conditions [13:31:13.402] ...future.result$finished <- base::Sys.time() [13:31:13.402] ...future.result [13:31:13.402] } [13:31:13.408] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:13.409] plan(): nbrOfWorkers() = 2 > > for (type in c("mirai_multisession")) { + mprintf("*** plan('%s') ...", type) + + plan(type) + stopifnot(inherits(plan("next"), "mirai_multisession")) + + a <- 0 + f <- future({ + b <- 3 + c <- 2 + a * b * c + }) + a <- 7 ## Make sure globals are frozen + v <- value(f) + print(v) + stopifnot(v == 0) + + mprintf("*** plan('%s') ... DONE", type) + } # for (type ...) [13:31:13.417] *** plan('mirai_multisession') ...[13:31:13.417] plan(): Setting new future strategy stack: [13:31:13.418] List of future strategies: [13:31:13.418] 1. mirai_multisession: [13:31:13.418] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:13.418] - tweaked: FALSE [13:31:13.418] - call: plan(type) [13:31:13.418] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:13.418] < mirai | $data > [13:31:13.420] getGlobalsAndPackages() ... [13:31:13.421] Not searching for globals [13:31:13.421] - globals: [0] [13:31:13.421] getGlobalsAndPackages() ... DONE [13:31:13.421] getGlobalsAndPackages() ... [13:31:13.421] [13:31:13.422] - globals: [0] [13:31:13.422] getGlobalsAndPackages() ... DONE [13:31:13.422] Packages needed by the future expression (n = 0): [13:31:13.422] Packages needed by future strategies (n = 0): [13:31:13.423] { [13:31:13.423] { [13:31:13.423] { [13:31:13.423] ...future.startTime <- base::Sys.time() [13:31:13.423] { [13:31:13.423] { [13:31:13.423] { [13:31:13.423] base::local({ [13:31:13.423] has_future <- base::requireNamespace("future", [13:31:13.423] quietly = TRUE) [13:31:13.423] if (has_future) { [13:31:13.423] ns <- base::getNamespace("future") [13:31:13.423] version <- ns[[".package"]][["version"]] [13:31:13.423] if (is.null(version)) [13:31:13.423] version <- utils::packageVersion("future") [13:31:13.423] } [13:31:13.423] else { [13:31:13.423] version <- NULL [13:31:13.423] } [13:31:13.423] if (!has_future || version < "1.8.0") { [13:31:13.423] info <- base::c(r_version = base::gsub("R version ", [13:31:13.423] "", base::R.version$version.string), [13:31:13.423] platform = base::sprintf("%s (%s-bit)", [13:31:13.423] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:13.423] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:13.423] "release", "version")], collapse = " "), [13:31:13.423] hostname = base::Sys.info()[["nodename"]]) [13:31:13.423] info <- base::sprintf("%s: %s", base::names(info), [13:31:13.423] info) [13:31:13.423] info <- base::paste(info, collapse = "; ") [13:31:13.423] if (!has_future) { [13:31:13.423] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:13.423] info) [13:31:13.423] } [13:31:13.423] else { [13:31:13.423] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:13.423] info, version) [13:31:13.423] } [13:31:13.423] base::stop(msg) [13:31:13.423] } [13:31:13.423] }) [13:31:13.423] } [13:31:13.423] ...future.strategy.old <- future::plan("list") [13:31:13.423] options(future.plan = NULL) [13:31:13.423] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.423] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:13.423] } [13:31:13.423] ...future.workdir <- getwd() [13:31:13.423] } [13:31:13.423] ...future.oldOptions <- base::as.list(base::.Options) [13:31:13.423] ...future.oldEnvVars <- base::Sys.getenv() [13:31:13.423] } [13:31:13.423] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:13.423] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:13.423] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:13.423] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:13.423] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:13.423] future.stdout.windows.reencode = NULL, width = 80L) [13:31:13.423] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:13.423] base::names(...future.oldOptions)) [13:31:13.423] } [13:31:13.423] if (FALSE) { [13:31:13.423] } [13:31:13.423] else { [13:31:13.423] if (TRUE) { [13:31:13.423] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:13.423] open = "w") [13:31:13.423] } [13:31:13.423] else { [13:31:13.423] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:13.423] windows = "NUL", "/dev/null"), open = "w") [13:31:13.423] } [13:31:13.423] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:13.423] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:13.423] base::sink(type = "output", split = FALSE) [13:31:13.423] base::close(...future.stdout) [13:31:13.423] }, add = TRUE) [13:31:13.423] } [13:31:13.423] ...future.frame <- base::sys.nframe() [13:31:13.423] ...future.conditions <- base::list() [13:31:13.423] ...future.rng <- base::globalenv()$.Random.seed [13:31:13.423] if (FALSE) { [13:31:13.423] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:13.423] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:13.423] } [13:31:13.423] ...future.result <- base::tryCatch({ [13:31:13.423] base::withCallingHandlers({ [13:31:13.423] ...future.value <- base::withVisible(base::local(NA)) [13:31:13.423] future::FutureResult(value = ...future.value$value, [13:31:13.423] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.423] ...future.rng), globalenv = if (FALSE) [13:31:13.423] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:13.423] ...future.globalenv.names)) [13:31:13.423] else NULL, started = ...future.startTime, version = "1.8") [13:31:13.423] }, condition = base::local({ [13:31:13.423] c <- base::c [13:31:13.423] inherits <- base::inherits [13:31:13.423] invokeRestart <- base::invokeRestart [13:31:13.423] length <- base::length [13:31:13.423] list <- base::list [13:31:13.423] seq.int <- base::seq.int [13:31:13.423] signalCondition <- base::signalCondition [13:31:13.423] sys.calls <- base::sys.calls [13:31:13.423] `[[` <- base::`[[` [13:31:13.423] `+` <- base::`+` [13:31:13.423] `<<-` <- base::`<<-` [13:31:13.423] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:13.423] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:13.423] 3L)] [13:31:13.423] } [13:31:13.423] function(cond) { [13:31:13.423] is_error <- inherits(cond, "error") [13:31:13.423] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:13.423] NULL) [13:31:13.423] if (is_error) { [13:31:13.423] sessionInformation <- function() { [13:31:13.423] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:13.423] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:13.423] search = base::search(), system = base::Sys.info()) [13:31:13.423] } [13:31:13.423] ...future.conditions[[length(...future.conditions) + [13:31:13.423] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:13.423] cond$call), session = sessionInformation(), [13:31:13.423] timestamp = base::Sys.time(), signaled = 0L) [13:31:13.423] signalCondition(cond) [13:31:13.423] } [13:31:13.423] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:13.423] signal <- FALSE && inherits(cond, character(0)) [13:31:13.423] ...future.conditions[[length(...future.conditions) + [13:31:13.423] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:13.423] if (FALSE && !signal) { [13:31:13.423] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.423] { [13:31:13.423] inherits <- base::inherits [13:31:13.423] invokeRestart <- base::invokeRestart [13:31:13.423] is.null <- base::is.null [13:31:13.423] muffled <- FALSE [13:31:13.423] if (inherits(cond, "message")) { [13:31:13.423] muffled <- grepl(pattern, "muffleMessage") [13:31:13.423] if (muffled) [13:31:13.423] invokeRestart("muffleMessage") [13:31:13.423] } [13:31:13.423] else if (inherits(cond, "warning")) { [13:31:13.423] muffled <- grepl(pattern, "muffleWarning") [13:31:13.423] if (muffled) [13:31:13.423] invokeRestart("muffleWarning") [13:31:13.423] } [13:31:13.423] else if (inherits(cond, "condition")) { [13:31:13.423] if (!is.null(pattern)) { [13:31:13.423] computeRestarts <- base::computeRestarts [13:31:13.423] grepl <- base::grepl [13:31:13.423] restarts <- computeRestarts(cond) [13:31:13.423] for (restart in restarts) { [13:31:13.423] name <- restart$name [13:31:13.423] if (is.null(name)) [13:31:13.423] next [13:31:13.423] if (!grepl(pattern, name)) [13:31:13.423] next [13:31:13.423] invokeRestart(restart) [13:31:13.423] muffled <- TRUE [13:31:13.423] break [13:31:13.423] } [13:31:13.423] } [13:31:13.423] } [13:31:13.423] invisible(muffled) [13:31:13.423] } [13:31:13.423] muffleCondition(cond, pattern = "^muffle") [13:31:13.423] } [13:31:13.423] } [13:31:13.423] else { [13:31:13.423] if (TRUE) { [13:31:13.423] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.423] { [13:31:13.423] inherits <- base::inherits [13:31:13.423] invokeRestart <- base::invokeRestart [13:31:13.423] is.null <- base::is.null [13:31:13.423] muffled <- FALSE [13:31:13.423] if (inherits(cond, "message")) { [13:31:13.423] muffled <- grepl(pattern, "muffleMessage") [13:31:13.423] if (muffled) [13:31:13.423] invokeRestart("muffleMessage") [13:31:13.423] } [13:31:13.423] else if (inherits(cond, "warning")) { [13:31:13.423] muffled <- grepl(pattern, "muffleWarning") [13:31:13.423] if (muffled) [13:31:13.423] invokeRestart("muffleWarning") [13:31:13.423] } [13:31:13.423] else if (inherits(cond, "condition")) { [13:31:13.423] if (!is.null(pattern)) { [13:31:13.423] computeRestarts <- base::computeRestarts [13:31:13.423] grepl <- base::grepl [13:31:13.423] restarts <- computeRestarts(cond) [13:31:13.423] for (restart in restarts) { [13:31:13.423] name <- restart$name [13:31:13.423] if (is.null(name)) [13:31:13.423] next [13:31:13.423] if (!grepl(pattern, name)) [13:31:13.423] next [13:31:13.423] invokeRestart(restart) [13:31:13.423] muffled <- TRUE [13:31:13.423] break [13:31:13.423] } [13:31:13.423] } [13:31:13.423] } [13:31:13.423] invisible(muffled) [13:31:13.423] } [13:31:13.423] muffleCondition(cond, pattern = "^muffle") [13:31:13.423] } [13:31:13.423] } [13:31:13.423] } [13:31:13.423] })) [13:31:13.423] }, error = function(ex) { [13:31:13.423] base::structure(base::list(value = NULL, visible = NULL, [13:31:13.423] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.423] ...future.rng), started = ...future.startTime, [13:31:13.423] finished = Sys.time(), session_uuid = NA_character_, [13:31:13.423] version = "1.8"), class = "FutureResult") [13:31:13.423] }, finally = { [13:31:13.423] if (!identical(...future.workdir, getwd())) [13:31:13.423] setwd(...future.workdir) [13:31:13.423] { [13:31:13.423] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:13.423] ...future.oldOptions$nwarnings <- NULL [13:31:13.423] } [13:31:13.423] base::options(...future.oldOptions) [13:31:13.423] if (.Platform$OS.type == "windows") { [13:31:13.423] old_names <- names(...future.oldEnvVars) [13:31:13.423] envs <- base::Sys.getenv() [13:31:13.423] names <- names(envs) [13:31:13.423] common <- intersect(names, old_names) [13:31:13.423] added <- setdiff(names, old_names) [13:31:13.423] removed <- setdiff(old_names, names) [13:31:13.423] changed <- common[...future.oldEnvVars[common] != [13:31:13.423] envs[common]] [13:31:13.423] NAMES <- toupper(changed) [13:31:13.423] args <- list() [13:31:13.423] for (kk in seq_along(NAMES)) { [13:31:13.423] name <- changed[[kk]] [13:31:13.423] NAME <- NAMES[[kk]] [13:31:13.423] if (name != NAME && is.element(NAME, old_names)) [13:31:13.423] next [13:31:13.423] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.423] } [13:31:13.423] NAMES <- toupper(added) [13:31:13.423] for (kk in seq_along(NAMES)) { [13:31:13.423] name <- added[[kk]] [13:31:13.423] NAME <- NAMES[[kk]] [13:31:13.423] if (name != NAME && is.element(NAME, old_names)) [13:31:13.423] next [13:31:13.423] args[[name]] <- "" [13:31:13.423] } [13:31:13.423] NAMES <- toupper(removed) [13:31:13.423] for (kk in seq_along(NAMES)) { [13:31:13.423] name <- removed[[kk]] [13:31:13.423] NAME <- NAMES[[kk]] [13:31:13.423] if (name != NAME && is.element(NAME, old_names)) [13:31:13.423] next [13:31:13.423] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.423] } [13:31:13.423] if (length(args) > 0) [13:31:13.423] base::do.call(base::Sys.setenv, args = args) [13:31:13.423] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:13.423] } [13:31:13.423] else { [13:31:13.423] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:13.423] } [13:31:13.423] { [13:31:13.423] if (base::length(...future.futureOptionsAdded) > [13:31:13.423] 0L) { [13:31:13.423] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:13.423] base::names(opts) <- ...future.futureOptionsAdded [13:31:13.423] base::options(opts) [13:31:13.423] } [13:31:13.423] { [13:31:13.423] NULL [13:31:13.423] options(future.plan = NULL) [13:31:13.423] if (is.na(NA_character_)) [13:31:13.423] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.423] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:13.423] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:13.423] .init = FALSE) [13:31:13.423] } [13:31:13.423] } [13:31:13.423] } [13:31:13.423] }) [13:31:13.423] if (TRUE) { [13:31:13.423] base::sink(type = "output", split = FALSE) [13:31:13.423] if (TRUE) { [13:31:13.423] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:13.423] } [13:31:13.423] else { [13:31:13.423] ...future.result["stdout"] <- base::list(NULL) [13:31:13.423] } [13:31:13.423] base::close(...future.stdout) [13:31:13.423] ...future.stdout <- NULL [13:31:13.423] } [13:31:13.423] ...future.result$conditions <- ...future.conditions [13:31:13.423] ...future.result$finished <- base::Sys.time() [13:31:13.423] ...future.result [13:31:13.423] } [13:31:13.429] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:13.429] plan(): nbrOfWorkers() = 2 [13:31:13.429] getGlobalsAndPackages() ... [13:31:13.429] Searching for globals... [13:31:13.440] - globals found: [4] '{', '<-', '*', 'a' [13:31:13.441] Searching for globals ... DONE [13:31:13.441] Resolving globals: FALSE [13:31:13.442] The total size of the 1 globals is 56 bytes (56 bytes) [13:31:13.443] The total size of the 1 globals exported for future expression ('{; b <- 3; c <- 2; a * b * c; }') is 56 bytes.. This exceeds the maximum allowed size of 500.00 MiB (option 'future.globals.maxSize'). There is one global: 'a' (56 bytes of class 'numeric') [13:31:13.443] - globals: [1] 'a' [13:31:13.443] [13:31:13.444] getGlobalsAndPackages() ... DONE [13:31:13.444] run() for 'Future' ... [13:31:13.444] - state: 'created' [13:31:13.445] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:13.447] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:13.447] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:13.447] - Field: 'label' [13:31:13.448] - Field: 'local' [13:31:13.448] - Field: 'owner' [13:31:13.448] - Field: 'envir' [13:31:13.448] - Field: 'packages' [13:31:13.448] - Field: 'gc' [13:31:13.449] - Field: 'conditions' [13:31:13.449] - Field: 'expr' [13:31:13.449] - Field: 'uuid' [13:31:13.449] - Field: 'seed' [13:31:13.449] - Field: 'version' [13:31:13.449] - Field: 'result' [13:31:13.450] - Field: 'asynchronous' [13:31:13.450] - Field: 'calls' [13:31:13.450] - Field: 'globals' [13:31:13.450] - Field: 'stdout' [13:31:13.450] - Field: 'earlySignal' [13:31:13.451] - Field: 'lazy' [13:31:13.451] - Field: 'state' [13:31:13.451] - Field: '.cluster' [13:31:13.451] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:13.451] - Launch lazy future ... [13:31:13.451] Packages needed by the future expression (n = 0): [13:31:13.452] Packages needed by future strategies (n = 0): [13:31:13.452] { [13:31:13.452] { [13:31:13.452] { [13:31:13.452] ...future.startTime <- base::Sys.time() [13:31:13.452] { [13:31:13.452] { [13:31:13.452] { [13:31:13.452] base::local({ [13:31:13.452] has_future <- base::requireNamespace("future", [13:31:13.452] quietly = TRUE) [13:31:13.452] if (has_future) { [13:31:13.452] ns <- base::getNamespace("future") [13:31:13.452] version <- ns[[".package"]][["version"]] [13:31:13.452] if (is.null(version)) [13:31:13.452] version <- utils::packageVersion("future") [13:31:13.452] } [13:31:13.452] else { [13:31:13.452] version <- NULL [13:31:13.452] } [13:31:13.452] if (!has_future || version < "1.8.0") { [13:31:13.452] info <- base::c(r_version = base::gsub("R version ", [13:31:13.452] "", base::R.version$version.string), [13:31:13.452] platform = base::sprintf("%s (%s-bit)", [13:31:13.452] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:13.452] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:13.452] "release", "version")], collapse = " "), [13:31:13.452] hostname = base::Sys.info()[["nodename"]]) [13:31:13.452] info <- base::sprintf("%s: %s", base::names(info), [13:31:13.452] info) [13:31:13.452] info <- base::paste(info, collapse = "; ") [13:31:13.452] if (!has_future) { [13:31:13.452] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:13.452] info) [13:31:13.452] } [13:31:13.452] else { [13:31:13.452] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:13.452] info, version) [13:31:13.452] } [13:31:13.452] base::stop(msg) [13:31:13.452] } [13:31:13.452] }) [13:31:13.452] } [13:31:13.452] ...future.strategy.old <- future::plan("list") [13:31:13.452] options(future.plan = NULL) [13:31:13.452] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.452] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:13.452] } [13:31:13.452] ...future.workdir <- getwd() [13:31:13.452] } [13:31:13.452] ...future.oldOptions <- base::as.list(base::.Options) [13:31:13.452] ...future.oldEnvVars <- base::Sys.getenv() [13:31:13.452] } [13:31:13.452] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:13.452] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:13.452] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:13.452] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:13.452] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:13.452] future.stdout.windows.reencode = NULL, width = 80L) [13:31:13.452] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:13.452] base::names(...future.oldOptions)) [13:31:13.452] } [13:31:13.452] if (FALSE) { [13:31:13.452] } [13:31:13.452] else { [13:31:13.452] if (TRUE) { [13:31:13.452] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:13.452] open = "w") [13:31:13.452] } [13:31:13.452] else { [13:31:13.452] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:13.452] windows = "NUL", "/dev/null"), open = "w") [13:31:13.452] } [13:31:13.452] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:13.452] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:13.452] base::sink(type = "output", split = FALSE) [13:31:13.452] base::close(...future.stdout) [13:31:13.452] }, add = TRUE) [13:31:13.452] } [13:31:13.452] ...future.frame <- base::sys.nframe() [13:31:13.452] ...future.conditions <- base::list() [13:31:13.452] ...future.rng <- base::globalenv()$.Random.seed [13:31:13.452] if (FALSE) { [13:31:13.452] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:13.452] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:13.452] } [13:31:13.452] ...future.result <- base::tryCatch({ [13:31:13.452] base::withCallingHandlers({ [13:31:13.452] ...future.value <- base::withVisible(base::local({ [13:31:13.452] b <- 3 [13:31:13.452] c <- 2 [13:31:13.452] a * b * c [13:31:13.452] })) [13:31:13.452] future::FutureResult(value = ...future.value$value, [13:31:13.452] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.452] ...future.rng), globalenv = if (FALSE) [13:31:13.452] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:13.452] ...future.globalenv.names)) [13:31:13.452] else NULL, started = ...future.startTime, version = "1.8") [13:31:13.452] }, condition = base::local({ [13:31:13.452] c <- base::c [13:31:13.452] inherits <- base::inherits [13:31:13.452] invokeRestart <- base::invokeRestart [13:31:13.452] length <- base::length [13:31:13.452] list <- base::list [13:31:13.452] seq.int <- base::seq.int [13:31:13.452] signalCondition <- base::signalCondition [13:31:13.452] sys.calls <- base::sys.calls [13:31:13.452] `[[` <- base::`[[` [13:31:13.452] `+` <- base::`+` [13:31:13.452] `<<-` <- base::`<<-` [13:31:13.452] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:13.452] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:13.452] 3L)] [13:31:13.452] } [13:31:13.452] function(cond) { [13:31:13.452] is_error <- inherits(cond, "error") [13:31:13.452] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:13.452] NULL) [13:31:13.452] if (is_error) { [13:31:13.452] sessionInformation <- function() { [13:31:13.452] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:13.452] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:13.452] search = base::search(), system = base::Sys.info()) [13:31:13.452] } [13:31:13.452] ...future.conditions[[length(...future.conditions) + [13:31:13.452] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:13.452] cond$call), session = sessionInformation(), [13:31:13.452] timestamp = base::Sys.time(), signaled = 0L) [13:31:13.452] signalCondition(cond) [13:31:13.452] } [13:31:13.452] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:13.452] signal <- FALSE && inherits(cond, character(0)) [13:31:13.452] ...future.conditions[[length(...future.conditions) + [13:31:13.452] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:13.452] if (FALSE && !signal) { [13:31:13.452] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.452] { [13:31:13.452] inherits <- base::inherits [13:31:13.452] invokeRestart <- base::invokeRestart [13:31:13.452] is.null <- base::is.null [13:31:13.452] muffled <- FALSE [13:31:13.452] if (inherits(cond, "message")) { [13:31:13.452] muffled <- grepl(pattern, "muffleMessage") [13:31:13.452] if (muffled) [13:31:13.452] invokeRestart("muffleMessage") [13:31:13.452] } [13:31:13.452] else if (inherits(cond, "warning")) { [13:31:13.452] muffled <- grepl(pattern, "muffleWarning") [13:31:13.452] if (muffled) [13:31:13.452] invokeRestart("muffleWarning") [13:31:13.452] } [13:31:13.452] else if (inherits(cond, "condition")) { [13:31:13.452] if (!is.null(pattern)) { [13:31:13.452] computeRestarts <- base::computeRestarts [13:31:13.452] grepl <- base::grepl [13:31:13.452] restarts <- computeRestarts(cond) [13:31:13.452] for (restart in restarts) { [13:31:13.452] name <- restart$name [13:31:13.452] if (is.null(name)) [13:31:13.452] next [13:31:13.452] if (!grepl(pattern, name)) [13:31:13.452] next [13:31:13.452] invokeRestart(restart) [13:31:13.452] muffled <- TRUE [13:31:13.452] break [13:31:13.452] } [13:31:13.452] } [13:31:13.452] } [13:31:13.452] invisible(muffled) [13:31:13.452] } [13:31:13.452] muffleCondition(cond, pattern = "^muffle") [13:31:13.452] } [13:31:13.452] } [13:31:13.452] else { [13:31:13.452] if (TRUE) { [13:31:13.452] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.452] { [13:31:13.452] inherits <- base::inherits [13:31:13.452] invokeRestart <- base::invokeRestart [13:31:13.452] is.null <- base::is.null [13:31:13.452] muffled <- FALSE [13:31:13.452] if (inherits(cond, "message")) { [13:31:13.452] muffled <- grepl(pattern, "muffleMessage") [13:31:13.452] if (muffled) [13:31:13.452] invokeRestart("muffleMessage") [13:31:13.452] } [13:31:13.452] else if (inherits(cond, "warning")) { [13:31:13.452] muffled <- grepl(pattern, "muffleWarning") [13:31:13.452] if (muffled) [13:31:13.452] invokeRestart("muffleWarning") [13:31:13.452] } [13:31:13.452] else if (inherits(cond, "condition")) { [13:31:13.452] if (!is.null(pattern)) { [13:31:13.452] computeRestarts <- base::computeRestarts [13:31:13.452] grepl <- base::grepl [13:31:13.452] restarts <- computeRestarts(cond) [13:31:13.452] for (restart in restarts) { [13:31:13.452] name <- restart$name [13:31:13.452] if (is.null(name)) [13:31:13.452] next [13:31:13.452] if (!grepl(pattern, name)) [13:31:13.452] next [13:31:13.452] invokeRestart(restart) [13:31:13.452] muffled <- TRUE [13:31:13.452] break [13:31:13.452] } [13:31:13.452] } [13:31:13.452] } [13:31:13.452] invisible(muffled) [13:31:13.452] } [13:31:13.452] muffleCondition(cond, pattern = "^muffle") [13:31:13.452] } [13:31:13.452] } [13:31:13.452] } [13:31:13.452] })) [13:31:13.452] }, error = function(ex) { [13:31:13.452] base::structure(base::list(value = NULL, visible = NULL, [13:31:13.452] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.452] ...future.rng), started = ...future.startTime, [13:31:13.452] finished = Sys.time(), session_uuid = NA_character_, [13:31:13.452] version = "1.8"), class = "FutureResult") [13:31:13.452] }, finally = { [13:31:13.452] if (!identical(...future.workdir, getwd())) [13:31:13.452] setwd(...future.workdir) [13:31:13.452] { [13:31:13.452] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:13.452] ...future.oldOptions$nwarnings <- NULL [13:31:13.452] } [13:31:13.452] base::options(...future.oldOptions) [13:31:13.452] if (.Platform$OS.type == "windows") { [13:31:13.452] old_names <- names(...future.oldEnvVars) [13:31:13.452] envs <- base::Sys.getenv() [13:31:13.452] names <- names(envs) [13:31:13.452] common <- intersect(names, old_names) [13:31:13.452] added <- setdiff(names, old_names) [13:31:13.452] removed <- setdiff(old_names, names) [13:31:13.452] changed <- common[...future.oldEnvVars[common] != [13:31:13.452] envs[common]] [13:31:13.452] NAMES <- toupper(changed) [13:31:13.452] args <- list() [13:31:13.452] for (kk in seq_along(NAMES)) { [13:31:13.452] name <- changed[[kk]] [13:31:13.452] NAME <- NAMES[[kk]] [13:31:13.452] if (name != NAME && is.element(NAME, old_names)) [13:31:13.452] next [13:31:13.452] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.452] } [13:31:13.452] NAMES <- toupper(added) [13:31:13.452] for (kk in seq_along(NAMES)) { [13:31:13.452] name <- added[[kk]] [13:31:13.452] NAME <- NAMES[[kk]] [13:31:13.452] if (name != NAME && is.element(NAME, old_names)) [13:31:13.452] next [13:31:13.452] args[[name]] <- "" [13:31:13.452] } [13:31:13.452] NAMES <- toupper(removed) [13:31:13.452] for (kk in seq_along(NAMES)) { [13:31:13.452] name <- removed[[kk]] [13:31:13.452] NAME <- NAMES[[kk]] [13:31:13.452] if (name != NAME && is.element(NAME, old_names)) [13:31:13.452] next [13:31:13.452] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.452] } [13:31:13.452] if (length(args) > 0) [13:31:13.452] base::do.call(base::Sys.setenv, args = args) [13:31:13.452] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:13.452] } [13:31:13.452] else { [13:31:13.452] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:13.452] } [13:31:13.452] { [13:31:13.452] if (base::length(...future.futureOptionsAdded) > [13:31:13.452] 0L) { [13:31:13.452] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:13.452] base::names(opts) <- ...future.futureOptionsAdded [13:31:13.452] base::options(opts) [13:31:13.452] } [13:31:13.452] { [13:31:13.452] NULL [13:31:13.452] options(future.plan = NULL) [13:31:13.452] if (is.na(NA_character_)) [13:31:13.452] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.452] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:13.452] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:13.452] .init = FALSE) [13:31:13.452] } [13:31:13.452] } [13:31:13.452] } [13:31:13.452] }) [13:31:13.452] if (TRUE) { [13:31:13.452] base::sink(type = "output", split = FALSE) [13:31:13.452] if (TRUE) { [13:31:13.452] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:13.452] } [13:31:13.452] else { [13:31:13.452] ...future.result["stdout"] <- base::list(NULL) [13:31:13.452] } [13:31:13.452] base::close(...future.stdout) [13:31:13.452] ...future.stdout <- NULL [13:31:13.452] } [13:31:13.452] ...future.result$conditions <- ...future.conditions [13:31:13.452] ...future.result$finished <- base::Sys.time() [13:31:13.452] ...future.result [13:31:13.452] } [13:31:13.456] - Launch lazy future ... done [13:31:13.456] run() for 'MiraiFuture' ... done [1] 0 [13:31:13.458] *** plan('mirai_multisession') ... DONE> > > message("*** Assert that default backend can be overridden ...") *** Assert that default backend can be overridden ... > > mpid <- Sys.getpid() > print(mpid) [1] 54212 > > plan(mirai_multisession) [13:31:13.459] plan(): Setting new future strategy stack: [13:31:13.459] List of future strategies: [13:31:13.459] 1. mirai_multisession: [13:31:13.459] - args: function (expr, substitute = TRUE, envir = parent.frame(), ..., workers = availableCores()) [13:31:13.459] - tweaked: FALSE [13:31:13.459] - call: plan(mirai_multisession) [13:31:13.459] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... [13:31:13.460] < mirai | $data > [13:31:13.462] getGlobalsAndPackages() ... [13:31:13.462] Not searching for globals [13:31:13.462] - globals: [0] [13:31:13.462] getGlobalsAndPackages() ... DONE [13:31:13.462] getGlobalsAndPackages() ... [13:31:13.462] [13:31:13.463] - globals: [0] [13:31:13.463] getGlobalsAndPackages() ... DONE [13:31:13.463] Packages needed by the future expression (n = 0): [13:31:13.463] Packages needed by future strategies (n = 0): [13:31:13.464] { [13:31:13.464] { [13:31:13.464] { [13:31:13.464] ...future.startTime <- base::Sys.time() [13:31:13.464] { [13:31:13.464] { [13:31:13.464] { [13:31:13.464] base::local({ [13:31:13.464] has_future <- base::requireNamespace("future", [13:31:13.464] quietly = TRUE) [13:31:13.464] if (has_future) { [13:31:13.464] ns <- base::getNamespace("future") [13:31:13.464] version <- ns[[".package"]][["version"]] [13:31:13.464] if (is.null(version)) [13:31:13.464] version <- utils::packageVersion("future") [13:31:13.464] } [13:31:13.464] else { [13:31:13.464] version <- NULL [13:31:13.464] } [13:31:13.464] if (!has_future || version < "1.8.0") { [13:31:13.464] info <- base::c(r_version = base::gsub("R version ", [13:31:13.464] "", base::R.version$version.string), [13:31:13.464] platform = base::sprintf("%s (%s-bit)", [13:31:13.464] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:13.464] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:13.464] "release", "version")], collapse = " "), [13:31:13.464] hostname = base::Sys.info()[["nodename"]]) [13:31:13.464] info <- base::sprintf("%s: %s", base::names(info), [13:31:13.464] info) [13:31:13.464] info <- base::paste(info, collapse = "; ") [13:31:13.464] if (!has_future) { [13:31:13.464] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:13.464] info) [13:31:13.464] } [13:31:13.464] else { [13:31:13.464] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:13.464] info, version) [13:31:13.464] } [13:31:13.464] base::stop(msg) [13:31:13.464] } [13:31:13.464] }) [13:31:13.464] } [13:31:13.464] ...future.strategy.old <- future::plan("list") [13:31:13.464] options(future.plan = NULL) [13:31:13.464] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.464] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:13.464] } [13:31:13.464] ...future.workdir <- getwd() [13:31:13.464] } [13:31:13.464] ...future.oldOptions <- base::as.list(base::.Options) [13:31:13.464] ...future.oldEnvVars <- base::Sys.getenv() [13:31:13.464] } [13:31:13.464] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:13.464] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:13.464] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:13.464] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:13.464] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:13.464] future.stdout.windows.reencode = NULL, width = 80L) [13:31:13.464] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:13.464] base::names(...future.oldOptions)) [13:31:13.464] } [13:31:13.464] if (FALSE) { [13:31:13.464] } [13:31:13.464] else { [13:31:13.464] if (TRUE) { [13:31:13.464] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:13.464] open = "w") [13:31:13.464] } [13:31:13.464] else { [13:31:13.464] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:13.464] windows = "NUL", "/dev/null"), open = "w") [13:31:13.464] } [13:31:13.464] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:13.464] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:13.464] base::sink(type = "output", split = FALSE) [13:31:13.464] base::close(...future.stdout) [13:31:13.464] }, add = TRUE) [13:31:13.464] } [13:31:13.464] ...future.frame <- base::sys.nframe() [13:31:13.464] ...future.conditions <- base::list() [13:31:13.464] ...future.rng <- base::globalenv()$.Random.seed [13:31:13.464] if (FALSE) { [13:31:13.464] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:13.464] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:13.464] } [13:31:13.464] ...future.result <- base::tryCatch({ [13:31:13.464] base::withCallingHandlers({ [13:31:13.464] ...future.value <- base::withVisible(base::local(NA)) [13:31:13.464] future::FutureResult(value = ...future.value$value, [13:31:13.464] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.464] ...future.rng), globalenv = if (FALSE) [13:31:13.464] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:13.464] ...future.globalenv.names)) [13:31:13.464] else NULL, started = ...future.startTime, version = "1.8") [13:31:13.464] }, condition = base::local({ [13:31:13.464] c <- base::c [13:31:13.464] inherits <- base::inherits [13:31:13.464] invokeRestart <- base::invokeRestart [13:31:13.464] length <- base::length [13:31:13.464] list <- base::list [13:31:13.464] seq.int <- base::seq.int [13:31:13.464] signalCondition <- base::signalCondition [13:31:13.464] sys.calls <- base::sys.calls [13:31:13.464] `[[` <- base::`[[` [13:31:13.464] `+` <- base::`+` [13:31:13.464] `<<-` <- base::`<<-` [13:31:13.464] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:13.464] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:13.464] 3L)] [13:31:13.464] } [13:31:13.464] function(cond) { [13:31:13.464] is_error <- inherits(cond, "error") [13:31:13.464] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:13.464] NULL) [13:31:13.464] if (is_error) { [13:31:13.464] sessionInformation <- function() { [13:31:13.464] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:13.464] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:13.464] search = base::search(), system = base::Sys.info()) [13:31:13.464] } [13:31:13.464] ...future.conditions[[length(...future.conditions) + [13:31:13.464] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:13.464] cond$call), session = sessionInformation(), [13:31:13.464] timestamp = base::Sys.time(), signaled = 0L) [13:31:13.464] signalCondition(cond) [13:31:13.464] } [13:31:13.464] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:13.464] signal <- FALSE && inherits(cond, character(0)) [13:31:13.464] ...future.conditions[[length(...future.conditions) + [13:31:13.464] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:13.464] if (FALSE && !signal) { [13:31:13.464] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.464] { [13:31:13.464] inherits <- base::inherits [13:31:13.464] invokeRestart <- base::invokeRestart [13:31:13.464] is.null <- base::is.null [13:31:13.464] muffled <- FALSE [13:31:13.464] if (inherits(cond, "message")) { [13:31:13.464] muffled <- grepl(pattern, "muffleMessage") [13:31:13.464] if (muffled) [13:31:13.464] invokeRestart("muffleMessage") [13:31:13.464] } [13:31:13.464] else if (inherits(cond, "warning")) { [13:31:13.464] muffled <- grepl(pattern, "muffleWarning") [13:31:13.464] if (muffled) [13:31:13.464] invokeRestart("muffleWarning") [13:31:13.464] } [13:31:13.464] else if (inherits(cond, "condition")) { [13:31:13.464] if (!is.null(pattern)) { [13:31:13.464] computeRestarts <- base::computeRestarts [13:31:13.464] grepl <- base::grepl [13:31:13.464] restarts <- computeRestarts(cond) [13:31:13.464] for (restart in restarts) { [13:31:13.464] name <- restart$name [13:31:13.464] if (is.null(name)) [13:31:13.464] next [13:31:13.464] if (!grepl(pattern, name)) [13:31:13.464] next [13:31:13.464] invokeRestart(restart) [13:31:13.464] muffled <- TRUE [13:31:13.464] break [13:31:13.464] } [13:31:13.464] } [13:31:13.464] } [13:31:13.464] invisible(muffled) [13:31:13.464] } [13:31:13.464] muffleCondition(cond, pattern = "^muffle") [13:31:13.464] } [13:31:13.464] } [13:31:13.464] else { [13:31:13.464] if (TRUE) { [13:31:13.464] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.464] { [13:31:13.464] inherits <- base::inherits [13:31:13.464] invokeRestart <- base::invokeRestart [13:31:13.464] is.null <- base::is.null [13:31:13.464] muffled <- FALSE [13:31:13.464] if (inherits(cond, "message")) { [13:31:13.464] muffled <- grepl(pattern, "muffleMessage") [13:31:13.464] if (muffled) [13:31:13.464] invokeRestart("muffleMessage") [13:31:13.464] } [13:31:13.464] else if (inherits(cond, "warning")) { [13:31:13.464] muffled <- grepl(pattern, "muffleWarning") [13:31:13.464] if (muffled) [13:31:13.464] invokeRestart("muffleWarning") [13:31:13.464] } [13:31:13.464] else if (inherits(cond, "condition")) { [13:31:13.464] if (!is.null(pattern)) { [13:31:13.464] computeRestarts <- base::computeRestarts [13:31:13.464] grepl <- base::grepl [13:31:13.464] restarts <- computeRestarts(cond) [13:31:13.464] for (restart in restarts) { [13:31:13.464] name <- restart$name [13:31:13.464] if (is.null(name)) [13:31:13.464] next [13:31:13.464] if (!grepl(pattern, name)) [13:31:13.464] next [13:31:13.464] invokeRestart(restart) [13:31:13.464] muffled <- TRUE [13:31:13.464] break [13:31:13.464] } [13:31:13.464] } [13:31:13.464] } [13:31:13.464] invisible(muffled) [13:31:13.464] } [13:31:13.464] muffleCondition(cond, pattern = "^muffle") [13:31:13.464] } [13:31:13.464] } [13:31:13.464] } [13:31:13.464] })) [13:31:13.464] }, error = function(ex) { [13:31:13.464] base::structure(base::list(value = NULL, visible = NULL, [13:31:13.464] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.464] ...future.rng), started = ...future.startTime, [13:31:13.464] finished = Sys.time(), session_uuid = NA_character_, [13:31:13.464] version = "1.8"), class = "FutureResult") [13:31:13.464] }, finally = { [13:31:13.464] if (!identical(...future.workdir, getwd())) [13:31:13.464] setwd(...future.workdir) [13:31:13.464] { [13:31:13.464] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:13.464] ...future.oldOptions$nwarnings <- NULL [13:31:13.464] } [13:31:13.464] base::options(...future.oldOptions) [13:31:13.464] if (.Platform$OS.type == "windows") { [13:31:13.464] old_names <- names(...future.oldEnvVars) [13:31:13.464] envs <- base::Sys.getenv() [13:31:13.464] names <- names(envs) [13:31:13.464] common <- intersect(names, old_names) [13:31:13.464] added <- setdiff(names, old_names) [13:31:13.464] removed <- setdiff(old_names, names) [13:31:13.464] changed <- common[...future.oldEnvVars[common] != [13:31:13.464] envs[common]] [13:31:13.464] NAMES <- toupper(changed) [13:31:13.464] args <- list() [13:31:13.464] for (kk in seq_along(NAMES)) { [13:31:13.464] name <- changed[[kk]] [13:31:13.464] NAME <- NAMES[[kk]] [13:31:13.464] if (name != NAME && is.element(NAME, old_names)) [13:31:13.464] next [13:31:13.464] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.464] } [13:31:13.464] NAMES <- toupper(added) [13:31:13.464] for (kk in seq_along(NAMES)) { [13:31:13.464] name <- added[[kk]] [13:31:13.464] NAME <- NAMES[[kk]] [13:31:13.464] if (name != NAME && is.element(NAME, old_names)) [13:31:13.464] next [13:31:13.464] args[[name]] <- "" [13:31:13.464] } [13:31:13.464] NAMES <- toupper(removed) [13:31:13.464] for (kk in seq_along(NAMES)) { [13:31:13.464] name <- removed[[kk]] [13:31:13.464] NAME <- NAMES[[kk]] [13:31:13.464] if (name != NAME && is.element(NAME, old_names)) [13:31:13.464] next [13:31:13.464] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.464] } [13:31:13.464] if (length(args) > 0) [13:31:13.464] base::do.call(base::Sys.setenv, args = args) [13:31:13.464] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:13.464] } [13:31:13.464] else { [13:31:13.464] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:13.464] } [13:31:13.464] { [13:31:13.464] if (base::length(...future.futureOptionsAdded) > [13:31:13.464] 0L) { [13:31:13.464] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:13.464] base::names(opts) <- ...future.futureOptionsAdded [13:31:13.464] base::options(opts) [13:31:13.464] } [13:31:13.464] { [13:31:13.464] NULL [13:31:13.464] options(future.plan = NULL) [13:31:13.464] if (is.na(NA_character_)) [13:31:13.464] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.464] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:13.464] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:13.464] .init = FALSE) [13:31:13.464] } [13:31:13.464] } [13:31:13.464] } [13:31:13.464] }) [13:31:13.464] if (TRUE) { [13:31:13.464] base::sink(type = "output", split = FALSE) [13:31:13.464] if (TRUE) { [13:31:13.464] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:13.464] } [13:31:13.464] else { [13:31:13.464] ...future.result["stdout"] <- base::list(NULL) [13:31:13.464] } [13:31:13.464] base::close(...future.stdout) [13:31:13.464] ...future.stdout <- NULL [13:31:13.464] } [13:31:13.464] ...future.result$conditions <- ...future.conditions [13:31:13.464] ...future.result$finished <- base::Sys.time() [13:31:13.464] ...future.result [13:31:13.464] } [13:31:13.470] plan(): plan_init() of 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' ... DONE [13:31:13.470] plan(): nbrOfWorkers() = 2 > pid %<-% { Sys.getpid() } [13:31:13.471] getGlobalsAndPackages() ... [13:31:13.471] Searching for globals... [13:31:13.472] - globals found: [2] '{', 'Sys.getpid' [13:31:13.472] Searching for globals ... DONE [13:31:13.472] Resolving globals: FALSE [13:31:13.473] [13:31:13.473] [13:31:13.473] getGlobalsAndPackages() ... DONE [13:31:13.473] run() for 'Future' ... [13:31:13.474] - state: 'created' [13:31:13.474] - Future backend: 'FutureStrategy', 'mirai_multisession', 'mirai_cluster', 'mirai', 'multiprocess', 'future', 'function' [13:31:13.476] - Future class: 'MiraiFuture', 'MultiprocessFuture', 'Future', 'environment' [13:31:13.476] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... [13:31:13.477] - Field: 'label' [13:31:13.477] - Field: 'local' [13:31:13.477] - Field: 'owner' [13:31:13.477] - Field: 'envir' [13:31:13.477] - Field: 'packages' [13:31:13.478] - Field: 'gc' [13:31:13.478] - Field: 'conditions' [13:31:13.478] - Field: 'expr' [13:31:13.478] - Field: 'uuid' [13:31:13.478] - Field: 'seed' [13:31:13.478] - Field: 'version' [13:31:13.479] - Field: 'result' [13:31:13.479] - Field: 'asynchronous' [13:31:13.479] - Field: 'calls' [13:31:13.479] - Field: 'globals' [13:31:13.479] - Field: 'stdout' [13:31:13.479] - Field: 'earlySignal' [13:31:13.480] - Field: 'lazy' [13:31:13.480] - Field: 'state' [13:31:13.480] - Field: '.cluster' [13:31:13.480] - Copy elements of temporary 'MiraiFuture' to final 'Future' object ... done [13:31:13.480] - Launch lazy future ... [13:31:13.481] Packages needed by the future expression (n = 0): [13:31:13.481] Packages needed by future strategies (n = 0): [13:31:13.481] { [13:31:13.481] { [13:31:13.481] { [13:31:13.481] ...future.startTime <- base::Sys.time() [13:31:13.481] { [13:31:13.481] { [13:31:13.481] { [13:31:13.481] base::local({ [13:31:13.481] has_future <- base::requireNamespace("future", [13:31:13.481] quietly = TRUE) [13:31:13.481] if (has_future) { [13:31:13.481] ns <- base::getNamespace("future") [13:31:13.481] version <- ns[[".package"]][["version"]] [13:31:13.481] if (is.null(version)) [13:31:13.481] version <- utils::packageVersion("future") [13:31:13.481] } [13:31:13.481] else { [13:31:13.481] version <- NULL [13:31:13.481] } [13:31:13.481] if (!has_future || version < "1.8.0") { [13:31:13.481] info <- base::c(r_version = base::gsub("R version ", [13:31:13.481] "", base::R.version$version.string), [13:31:13.481] platform = base::sprintf("%s (%s-bit)", [13:31:13.481] base::R.version$platform, 8 * base::.Machine$sizeof.pointer), [13:31:13.481] os = base::paste(base::Sys.info()[base::c("sysname", [13:31:13.481] "release", "version")], collapse = " "), [13:31:13.481] hostname = base::Sys.info()[["nodename"]]) [13:31:13.481] info <- base::sprintf("%s: %s", base::names(info), [13:31:13.481] info) [13:31:13.481] info <- base::paste(info, collapse = "; ") [13:31:13.481] if (!has_future) { [13:31:13.481] msg <- base::sprintf("Package 'future' is not installed on worker (%s)", [13:31:13.481] info) [13:31:13.481] } [13:31:13.481] else { [13:31:13.481] msg <- base::sprintf("Package 'future' on worker (%s) must be of version >= 1.8.0: %s", [13:31:13.481] info, version) [13:31:13.481] } [13:31:13.481] base::stop(msg) [13:31:13.481] } [13:31:13.481] }) [13:31:13.481] } [13:31:13.481] ...future.strategy.old <- future::plan("list") [13:31:13.481] options(future.plan = NULL) [13:31:13.481] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.481] future::plan("default", .cleanup = FALSE, .init = FALSE) [13:31:13.481] } [13:31:13.481] ...future.workdir <- getwd() [13:31:13.481] } [13:31:13.481] ...future.oldOptions <- base::as.list(base::.Options) [13:31:13.481] ...future.oldEnvVars <- base::Sys.getenv() [13:31:13.481] } [13:31:13.481] base::options(future.startup.script = FALSE, future.globals.onMissing = NULL, [13:31:13.481] future.globals.maxSize = NULL, future.globals.method = NULL, [13:31:13.481] future.globals.onMissing = NULL, future.globals.onReference = NULL, [13:31:13.481] future.globals.resolve = NULL, future.resolve.recursive = NULL, [13:31:13.481] future.rng.onMisuse = NULL, future.rng.onMisuse.keepFuture = NULL, [13:31:13.481] future.stdout.windows.reencode = NULL, width = 80L) [13:31:13.481] ...future.futureOptionsAdded <- base::setdiff(base::names(base::.Options), [13:31:13.481] base::names(...future.oldOptions)) [13:31:13.481] } [13:31:13.481] if (FALSE) { [13:31:13.481] } [13:31:13.481] else { [13:31:13.481] if (TRUE) { [13:31:13.481] ...future.stdout <- base::rawConnection(base::raw(0L), [13:31:13.481] open = "w") [13:31:13.481] } [13:31:13.481] else { [13:31:13.481] ...future.stdout <- base::file(base::switch(.Platform$OS.type, [13:31:13.481] windows = "NUL", "/dev/null"), open = "w") [13:31:13.481] } [13:31:13.481] base::sink(...future.stdout, type = "output", split = FALSE) [13:31:13.481] base::on.exit(if (!base::is.null(...future.stdout)) { [13:31:13.481] base::sink(type = "output", split = FALSE) [13:31:13.481] base::close(...future.stdout) [13:31:13.481] }, add = TRUE) [13:31:13.481] } [13:31:13.481] ...future.frame <- base::sys.nframe() [13:31:13.481] ...future.conditions <- base::list() [13:31:13.481] ...future.rng <- base::globalenv()$.Random.seed [13:31:13.481] if (FALSE) { [13:31:13.481] ...future.globalenv.names <- c(base::names(base::.GlobalEnv), [13:31:13.481] "...future.value", "...future.globalenv.names", ".Random.seed") [13:31:13.481] } [13:31:13.481] ...future.result <- base::tryCatch({ [13:31:13.481] base::withCallingHandlers({ [13:31:13.481] ...future.value <- base::withVisible(base::local({ [13:31:13.481] Sys.getpid() [13:31:13.481] })) [13:31:13.481] future::FutureResult(value = ...future.value$value, [13:31:13.481] visible = ...future.value$visible, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.481] ...future.rng), globalenv = if (FALSE) [13:31:13.481] list(added = base::setdiff(base::names(base::.GlobalEnv), [13:31:13.481] ...future.globalenv.names)) [13:31:13.481] else NULL, started = ...future.startTime, version = "1.8") [13:31:13.481] }, condition = base::local({ [13:31:13.481] c <- base::c [13:31:13.481] inherits <- base::inherits [13:31:13.481] invokeRestart <- base::invokeRestart [13:31:13.481] length <- base::length [13:31:13.481] list <- base::list [13:31:13.481] seq.int <- base::seq.int [13:31:13.481] signalCondition <- base::signalCondition [13:31:13.481] sys.calls <- base::sys.calls [13:31:13.481] `[[` <- base::`[[` [13:31:13.481] `+` <- base::`+` [13:31:13.481] `<<-` <- base::`<<-` [13:31:13.481] sysCalls <- function(calls = sys.calls(), from = 1L) { [13:31:13.481] calls[seq.int(from = from + 12L, to = length(calls) - [13:31:13.481] 3L)] [13:31:13.481] } [13:31:13.481] function(cond) { [13:31:13.481] is_error <- inherits(cond, "error") [13:31:13.481] ignore <- !is_error && !is.null(NULL) && inherits(cond, [13:31:13.481] NULL) [13:31:13.481] if (is_error) { [13:31:13.481] sessionInformation <- function() { [13:31:13.481] list(r = base::R.Version(), locale = base::Sys.getlocale(), [13:31:13.481] rngkind = base::RNGkind(), namespaces = base::loadedNamespaces(), [13:31:13.481] search = base::search(), system = base::Sys.info()) [13:31:13.481] } [13:31:13.481] ...future.conditions[[length(...future.conditions) + [13:31:13.481] 1L]] <<- list(condition = cond, calls = c(sysCalls(from = ...future.frame), [13:31:13.481] cond$call), session = sessionInformation(), [13:31:13.481] timestamp = base::Sys.time(), signaled = 0L) [13:31:13.481] signalCondition(cond) [13:31:13.481] } [13:31:13.481] else if (!ignore && TRUE && inherits(cond, "condition")) { [13:31:13.481] signal <- FALSE && inherits(cond, character(0)) [13:31:13.481] ...future.conditions[[length(...future.conditions) + [13:31:13.481] 1L]] <<- list(condition = cond, signaled = base::as.integer(signal)) [13:31:13.481] if (FALSE && !signal) { [13:31:13.481] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.481] { [13:31:13.481] inherits <- base::inherits [13:31:13.481] invokeRestart <- base::invokeRestart [13:31:13.481] is.null <- base::is.null [13:31:13.481] muffled <- FALSE [13:31:13.481] if (inherits(cond, "message")) { [13:31:13.481] muffled <- grepl(pattern, "muffleMessage") [13:31:13.481] if (muffled) [13:31:13.481] invokeRestart("muffleMessage") [13:31:13.481] } [13:31:13.481] else if (inherits(cond, "warning")) { [13:31:13.481] muffled <- grepl(pattern, "muffleWarning") [13:31:13.481] if (muffled) [13:31:13.481] invokeRestart("muffleWarning") [13:31:13.481] } [13:31:13.481] else if (inherits(cond, "condition")) { [13:31:13.481] if (!is.null(pattern)) { [13:31:13.481] computeRestarts <- base::computeRestarts [13:31:13.481] grepl <- base::grepl [13:31:13.481] restarts <- computeRestarts(cond) [13:31:13.481] for (restart in restarts) { [13:31:13.481] name <- restart$name [13:31:13.481] if (is.null(name)) [13:31:13.481] next [13:31:13.481] if (!grepl(pattern, name)) [13:31:13.481] next [13:31:13.481] invokeRestart(restart) [13:31:13.481] muffled <- TRUE [13:31:13.481] break [13:31:13.481] } [13:31:13.481] } [13:31:13.481] } [13:31:13.481] invisible(muffled) [13:31:13.481] } [13:31:13.481] muffleCondition(cond, pattern = "^muffle") [13:31:13.481] } [13:31:13.481] } [13:31:13.481] else { [13:31:13.481] if (TRUE) { [13:31:13.481] muffleCondition <- function (cond, pattern = "^muffle") [13:31:13.481] { [13:31:13.481] inherits <- base::inherits [13:31:13.481] invokeRestart <- base::invokeRestart [13:31:13.481] is.null <- base::is.null [13:31:13.481] muffled <- FALSE [13:31:13.481] if (inherits(cond, "message")) { [13:31:13.481] muffled <- grepl(pattern, "muffleMessage") [13:31:13.481] if (muffled) [13:31:13.481] invokeRestart("muffleMessage") [13:31:13.481] } [13:31:13.481] else if (inherits(cond, "warning")) { [13:31:13.481] muffled <- grepl(pattern, "muffleWarning") [13:31:13.481] if (muffled) [13:31:13.481] invokeRestart("muffleWarning") [13:31:13.481] } [13:31:13.481] else if (inherits(cond, "condition")) { [13:31:13.481] if (!is.null(pattern)) { [13:31:13.481] computeRestarts <- base::computeRestarts [13:31:13.481] grepl <- base::grepl [13:31:13.481] restarts <- computeRestarts(cond) [13:31:13.481] for (restart in restarts) { [13:31:13.481] name <- restart$name [13:31:13.481] if (is.null(name)) [13:31:13.481] next [13:31:13.481] if (!grepl(pattern, name)) [13:31:13.481] next [13:31:13.481] invokeRestart(restart) [13:31:13.481] muffled <- TRUE [13:31:13.481] break [13:31:13.481] } [13:31:13.481] } [13:31:13.481] } [13:31:13.481] invisible(muffled) [13:31:13.481] } [13:31:13.481] muffleCondition(cond, pattern = "^muffle") [13:31:13.481] } [13:31:13.481] } [13:31:13.481] } [13:31:13.481] })) [13:31:13.481] }, error = function(ex) { [13:31:13.481] base::structure(base::list(value = NULL, visible = NULL, [13:31:13.481] conditions = ...future.conditions, rng = !identical(base::globalenv()$.Random.seed, [13:31:13.481] ...future.rng), started = ...future.startTime, [13:31:13.481] finished = Sys.time(), session_uuid = NA_character_, [13:31:13.481] version = "1.8"), class = "FutureResult") [13:31:13.481] }, finally = { [13:31:13.481] if (!identical(...future.workdir, getwd())) [13:31:13.481] setwd(...future.workdir) [13:31:13.481] { [13:31:13.481] if (identical(getOption("nwarnings"), ...future.oldOptions$nwarnings)) { [13:31:13.481] ...future.oldOptions$nwarnings <- NULL [13:31:13.481] } [13:31:13.481] base::options(...future.oldOptions) [13:31:13.481] if (.Platform$OS.type == "windows") { [13:31:13.481] old_names <- names(...future.oldEnvVars) [13:31:13.481] envs <- base::Sys.getenv() [13:31:13.481] names <- names(envs) [13:31:13.481] common <- intersect(names, old_names) [13:31:13.481] added <- setdiff(names, old_names) [13:31:13.481] removed <- setdiff(old_names, names) [13:31:13.481] changed <- common[...future.oldEnvVars[common] != [13:31:13.481] envs[common]] [13:31:13.481] NAMES <- toupper(changed) [13:31:13.481] args <- list() [13:31:13.481] for (kk in seq_along(NAMES)) { [13:31:13.481] name <- changed[[kk]] [13:31:13.481] NAME <- NAMES[[kk]] [13:31:13.481] if (name != NAME && is.element(NAME, old_names)) [13:31:13.481] next [13:31:13.481] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.481] } [13:31:13.481] NAMES <- toupper(added) [13:31:13.481] for (kk in seq_along(NAMES)) { [13:31:13.481] name <- added[[kk]] [13:31:13.481] NAME <- NAMES[[kk]] [13:31:13.481] if (name != NAME && is.element(NAME, old_names)) [13:31:13.481] next [13:31:13.481] args[[name]] <- "" [13:31:13.481] } [13:31:13.481] NAMES <- toupper(removed) [13:31:13.481] for (kk in seq_along(NAMES)) { [13:31:13.481] name <- removed[[kk]] [13:31:13.481] NAME <- NAMES[[kk]] [13:31:13.481] if (name != NAME && is.element(NAME, old_names)) [13:31:13.481] next [13:31:13.481] args[[name]] <- ...future.oldEnvVars[[name]] [13:31:13.481] } [13:31:13.481] if (length(args) > 0) [13:31:13.481] base::do.call(base::Sys.setenv, args = args) [13:31:13.481] args <- names <- old_names <- NAMES <- envs <- common <- added <- removed <- NULL [13:31:13.481] } [13:31:13.481] else { [13:31:13.481] base::do.call(base::Sys.setenv, args = base::as.list(...future.oldEnvVars)) [13:31:13.481] } [13:31:13.481] { [13:31:13.481] if (base::length(...future.futureOptionsAdded) > [13:31:13.481] 0L) { [13:31:13.481] opts <- base::vector("list", length = base::length(...future.futureOptionsAdded)) [13:31:13.481] base::names(opts) <- ...future.futureOptionsAdded [13:31:13.481] base::options(opts) [13:31:13.481] } [13:31:13.481] { [13:31:13.481] NULL [13:31:13.481] options(future.plan = NULL) [13:31:13.481] if (is.na(NA_character_)) [13:31:13.481] Sys.unsetenv("R_FUTURE_PLAN") [13:31:13.481] else Sys.setenv(R_FUTURE_PLAN = NA_character_) [13:31:13.481] future::plan(...future.strategy.old, .cleanup = FALSE, [13:31:13.481] .init = FALSE) [13:31:13.481] } [13:31:13.481] } [13:31:13.481] } [13:31:13.481] }) [13:31:13.481] if (TRUE) { [13:31:13.481] base::sink(type = "output", split = FALSE) [13:31:13.481] if (TRUE) { [13:31:13.481] ...future.result$stdout <- base::rawToChar(base::rawConnectionValue(...future.stdout)) [13:31:13.481] } [13:31:13.481] else { [13:31:13.481] ...future.result["stdout"] <- base::list(NULL) [13:31:13.481] } [13:31:13.481] base::close(...future.stdout) [13:31:13.481] ...future.stdout <- NULL [13:31:13.481] } [13:31:13.481] ...future.result$conditions <- ...future.conditions [13:31:13.481] ...future.result$finished <- base::Sys.time() [13:31:13.481] ...future.result [13:31:13.481] } [13:31:13.485] - Launch lazy future ... done [13:31:13.485] run() for 'MiraiFuture' ... done > print(pid) [1] 199172 > stopifnot(pid != mpid) > > > message("*** plan() ... DONE") *** plan() ... DONE > > source("incl/end.R") > > proc.time() user system elapsed 0.45 0.10 1.00